You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ObjectService/README.md
+3-45Lines changed: 3 additions & 45 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,50 +26,8 @@ You can technically manually call the `uploaddat` route but this is intended pri
26
26
-`sudo journalctl -u objectservice.service`
27
27
28
28
## API
29
-
30
-
### GET
31
-
-`/objects/list`
32
-
- Description: Returns a list of all objects indexed/available to view/download from the repository. Primary purpose is for all consumers to do object discovery.
- Description: Returns a specific object keyed off its object name and checksum. Primary purpose is for the Object Editor to retrieve objects and metadata.
36
-
- Parameters:
37
-
-`objectName`: the name of the object as per it's S5Header::Name property.
38
-
-`checksum`: the checksum of the file as per its S5Header::Checksum property.
39
-
-`returnObjBytes`: an optional parameter. `true` is you want the original byte[] for the object to be included, `false` if not.
- Description: Returns a specific object keyed off its unique ID in the repository. Primary purpose is for the Object Editor to retrieve objects and metadata.
43
-
- Parameters:
44
-
-`uniqueObjectId`: the unique ID of an object in the repository.
45
-
-`returnObjBytes`: an optional parameter. `true` is you want the original byte[] for the object to be included, `false` if not.
- Uploads a given dat file to the object repository.
62
-
- Content type: `application/json`
63
-
- Parameters:
64
-
-`datBytesAsBase64`: a string that is the base64 encoding of the raw bytes of the dat file
65
-
-`creationDate`: a `DateTimeOffset` representing the creation date of the dat file. If using the Object Editor, it will use [`File.GetLastWriteTimeUtc()`](https://learn.microsoft.com/en-us/dotnet/api/system.io.file.getlastwritetimeutc?view=net-8.0), which on Windows is the "Modified" time for a file. For historical dat files, this is the only way to get a creation date and it may be incorrect or inaccurate.
- To check status of the service, query https://openloco.leftofzen.dev/health/
73
31
74
32
## Technical Details
75
33
@@ -81,4 +39,4 @@ You can technically manually call the `uploaddat` route but this is intended pri
81
39
### Web Server
82
40
- The API is rate-limited to a burst limit of [20 requests per second](https://github.com/OpenLoco/ObjectEditor/blob/master/ObjectService/ObjectServiceRateLimitOptions.cs) with 10 tokens replenished every second. This is a global limit, regardless of client. This will be [changed in the future](https://github.com/OpenLoco/ObjectEditor/issues/76).
83
41
- The server runs on a spare PC I have converted into a Linux (Ubuntu) server. It runs the Object Service as a daemon under systemctl and has an auto-restart configured in case it crashes.
84
-
- The domain is registered with Cloudflare. I have a `cloudflared` daemon running on the server that connects Cloudflare's servers and DNS lookup/routing to the server. This tunnel/daemon/Cloudflare hosting setup also acts as a reverse-proxy meaning I don't need to worry about load-balancing or exposing my public IP address to anyone.
42
+
- The domain is registered with Cloudflare. I have a `cloudflared` daemon running on the server that connects Cloudflare's servers and DNS lookup/routing to the server. This tunnel/daemon/Cloudflare hosting setup also acts as a reverse-proxy meaning I don't need to worry about load-balancing or exposing my public IP address to anyone.
0 commit comments