Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API 規格 #94

Open
snowmancc opened this issue Aug 1, 2023 · 0 comments
Open

API 規格 #94

snowmancc opened this issue Aug 1, 2023 · 0 comments

Comments

@snowmancc
Copy link
Collaborator

snowmancc commented Aug 1, 2023

  • Get Rooms

  • 【GET】 domain/api/citadels/rooms
  • Response
level type name requirement
1 object searchTime yyyy-MM-dd'T'HH:mm:ss. SSSZ
1 object totalRooms Number
1 object status ok or fail
1 object msg
1 array rooms
2 object roomId
2 object roomName
2 object createTime yyyy-MM-dd'T'HH:mm:ss. SSSZ
2 object status OPEN 、PLAYING
2 object holderName
2 object holderId
2 object totalUsers Number
2 array users holder 也包括在這 users
3 object userId
3 object userName
3 object userImage
{
    "searchTime": "2023-07-04T20:29:54.001Z",
    "totalRooms": 2  ,
    "status": "OK",
    "msg": "",
    "rooms": [
        {
            "roomId": "sxsxs111",
            "roomName": "一起玩富饒之城",
            "createTime": "2023-07-04T19:29:54.001Z",
            "status": "OPEN",
            "holderName": "陳XX",
            "holderId": "player1",
            "totalUsers": 3,
            "users": [
               {"userId":"player1","userName":"陳XX","userImage":"imageName1"},
               {"userId":"player2","userName":"黃XX","userImage":"imageName2"},
               {"userId":"player3","userName":"陳XX","userImage":"imageName3"}
            ]
        },
        {
            "roomId": "sxsxs222",
            "roomName": "一起玩玩玩玩富饒之城",
            "createTime": "2023-07-04T19:29:54.001Z",
            "status": "OPEN",
            "holderName": "王XX",
            "holderId": "player1",
            "totalUsers": 5,
            "users": [
               {"userId":"player1","userName":"王XX","userImage":"imageName1"},
               {"userId":"player2","userName":"黃XX","userImage":"imageName2"},
               {"userId":"player3","userName":"陳XX","userImage":"imageName3"},
               {"userId":"player4","userName":"葉XX","userImage":"imageName4"},
               {"userId":"player5","userName":"林XX","userImage":"imageName5"}
            ]
        }
    ]
}
  • Get Specific Room

  • 【GET】 /event/citadels/rooms/{roomId}
  • Response
level type name requirement
1 object searchTime yyyy-MM-dd'T'HH:mm:ss. SSSZ
1 object status ok or fail
1 object msg
1 array rooms
2 object roomId
2 object roomName
2 object createTime yyyy-MM-dd'T'HH:mm:ss. SSSZ
2 object status OPEN 、PLAYING
2 object holderName
2 object holderId
2 object totalUsers Number
2 array users holder 也包括在這 users
3 object userId
3 object userName
3 object userImage
{
    "searchTime": "2023-07-04T20:29:54.001Z",
    "status": "OK",
    "msg": "",
    "rooms": {
        "roomId": "sxsxs111",
        "roomName": "一起玩富饒之城",
        "createTime": "2023-07-04T19:29:54.001Z",
        "status": "OPEN",
        "holderName": "陳XX",
        "holderId": "player1",
        "totalUsers": 3,
        "users": [
           {"userId":"player1","userName":"陳XX","userImage":"imageName1"},
           {"userId":"player2","userName":"黃XX","userImage":"imageName2"},
           {"userId":"player3","userName":"陳XX","userImage":"imageName3"}
        ]
    }
}
  • Create Room

  • 【POST】 domain/api/citadels/room
  • Request
level type name requirement
1 object roomName
1 object userName
1 object userImage
{
    "roomName ": "一起玩富饒之城",
    "userName ": "陳XX",
    "userImage":"imageName1"
}
  • Response
{
    "createTime": "2023-07-04T19:29:54.001Z",
    "status": "OK",
    "msg": "",
    "room": {
        "roomId": "sxsxs111",
        "roomName": "一起玩富饒之城",
        "holderId": "player1",
        "holderName": "陳XX",
        "users": [
            {
                "userId": "player1",
                "userImage": "imageName1",
                "userName": "陳XX"
            }
        ],
        "status": "OPEN",
        "totalUsers": 1
    }
}
  • Join Room

  • 【POST】 domain/api/citadels/rooms/{roomId}:join
  • Request
{
    "userName": "王XX",
    "userImage":"imageName1"
}
  • Response
{
    "joinTime": "2023-07-04T19:29:54.001Z",
    "status": "OK",
    "msg": "",
    "joinedUserId":"player3",
    "room": {
        "createTime": "2023-07-04T19:29:54.001Z",
        "gameId": "sxsxs111",
        "gameName": "一起玩富饒之城",
        "holderId": "player1",
        "holderName": "陳XX",
        "users": [
            {
                "userId": "player1",
                "userImage": "imageName1",
                "userName": "陳XX"
            },
            {
                "userId": "player2",
                "userImage": "imageName2",
                "userName": "黃XX"
            },
            {
                "userId": "player3",
                "userImage": "imageName3",
                "userName": "王XX"
            }
        ],
        "status": "OPEN",
        "totalUsers": 3
    }
}
  • Leave Room

  • 【POST】 domain/api/citadels/rooms/{roomId}:leave
  • Request
{
    "userId": "user123"
}
  • Get Game

  • 【GET】 /event/citadels/games/{gameId}
  • Response
{
  "id": "879792a5-ce07-4feb-a169-78f1ca833181",
  "roomId": "1",
  "name": "roomA",
  "status": "PLAYING",
  "createTime": "2023-11-09T23:03:13.632",
  "crownOwnerId": "3",
  "playersInfo": [
    {
      "id": "3",
      "name": "p3",
      "image": "3",
      "coins": 2,
      "buildingCardHands": 3,
      "buildingCards": [
      "name1","name2"
      ]
    },
    {
      "id": "1",
      "name": "p1",
      "image": "1",
      "coins": 2,
     "buildingCardHands": 3,
      "buildingCards": [
      "name1","name2"
      ]
    },
    {
      "id": "2",
      "name": "p2",
      "image": "2",
      "coins": 2,
     "buildingCardHands": 3,
      "buildingCards": [
      "name1","name2"
      ]
    },
    {
      "id": "4",
      "name": "p4",
      "image": "4",
      "coins": 2,
      "buildingCardHands": 3,
      "buildingCards": [
      "name1","name2"
      ]
    },
    {
      "id": "5",
      "name": "p5",
      "image": "5",
      "coins": 2,
      "buildingCardHands": 3,
      "buildingCards": [
      "name1","name2"
      ]
    }
  ]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant