2.4 KiB
2.4 KiB
LocationsApi document shapes
This service expects JSON request bodies for location creation and updates and stores location documents in MongoDB.
Inbound JSON documents
- CreateLocationRequest (
POST /api/locations){ "name": "string", "coord": { "x": 0, "y": 0 } } - UpdateLocationRequest (
PUT /api/locations/{id}){ "name": "string" }coordcannot be updated. - ResetWorldRequest (
POST /api/locations/reset-world)Both fields are required for the request to be accepted.{ "confirmDeleteAllNonOriginLocations": true, "confirmationPhrase": "RESET WORLD TO ORIGIN" } - GatherResourceRequest (
POST /api/locations/{id}/gather){ "characterId": "string (Character ObjectId)", "resourceKey": "wood" }
Stored documents (MongoDB)
- Location
{ "id": "string (ObjectId)", "name": "string", "coord": { "x": 0, "y": 0 }, "biomeKey": "plains", "resources": [ { "itemKey": "wood", "remainingQuantity": 100, "gatherQuantity": 3 } ], "createdUtc": "string (ISO-8601 datetime)" }
Outbound JSON documents
- GatherResourceResponse (
POST /api/locations/{id}/gather){ "locationId": "string (ObjectId)", "characterId": "string (ObjectId)", "resourceKey": "wood", "quantityGranted": 3, "remainingQuantity": 97, "inventoryResponseJson": "string (raw InventoryApi response JSON)" } - ResetWorldResponse (
POST /api/locations/reset-world){ "deletedLocationCount": 42, "remainingLocationCount": 2, "movedCharacterCount": 5, "reassignedInventoryItemCount": 19, "origin": { "id": "string (ObjectId)", "name": "Origin", "coord": { "x": 0, "y": 0 }, "biomeKey": "plains", "elevation": 0, "resources": [], "locationObject": null, "locationObjectResolved": true, "createdUtc": "string (ISO-8601 datetime)" }, "limbo": { "id": "string (ObjectId)", "name": "World Limbo", "coord": { "x": -2000000000, "y": -2000000000 }, "biomeKey": "plains", "elevation": 0, "resources": [], "locationObject": null, "locationObjectResolved": true, "createdUtc": "string (ISO-8601 datetime)" } }