Commit 268b7ae
authored
feat(server): Implement the new Web API (#230)
Implements the new web API that allows us to have separate routes for
each of our endpoints. Old endpoints still exist and will be removed
once all clients have been updated. The new endpoints follow this
design:
```
# Single-object operations (kind = object; separator = `key`, NO trailing slash)
GET /v1/objects/attachments/organization=42;project=4711/dead/beef
HEAD /v1/objects/attachments/organization=42;project=4711/dead/beef
PUT /v1/objects/attachments/organization=42;project=4711/dead/beef
PATCH /v1/objects/attachments/organization=42;project=4711/dead/beef
DELETE /v1/objects/attachments/organization=42;project=4711/dead/beef
# Collection-level operations (kind = objects; WITH trailing slash)
GET /v1/objects/attachments/organization=42;project=4711/?prefix=dead/
POST /v1/objects/attachments/organization=42;project=4711/
# Batch endpoint (kind = batch; collection-level)
POST /v1/batch/attachments/organization=42;project=4711/
```
All clients have been updated to use the new URLs. We should only
release the clients once the service is rolled out.
Along with this, there's a number of internal changes:
- Routes are now split into submodules. All deprecated routes are in
their own module and will be removed together.
- The format for scopes in the URL and in storage (backends) is now
decoupled.
- `ObjectPath` has become `ObjectId`, and has structured scopes with an
addressable name and value. All backends now work with the new ID type.
- Deserialization of scopes in the URL is implemented with the endpoints
now. There are specific `CollectionParams` and `ObjectParams` types for
this that convert into an `ObjectId`.1 parent f4f01ab commit 268b7ae
File tree
21 files changed
+890
-451
lines changed- clients
- python
- src/objectstore_client
- tests
- rust/src
- objectstore-server/src
- auth
- endpoints
- objectstore-service
- src
- backend
21 files changed
+890
-451
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
168 | 168 | | |
169 | 169 | | |
170 | 170 | | |
171 | | - | |
| 171 | + | |
172 | 172 | | |
173 | | - | |
| 173 | + | |
174 | 174 | | |
175 | 175 | | |
176 | 176 | | |
| |||
214 | 214 | | |
215 | 215 | | |
216 | 216 | | |
217 | | - | |
| 217 | + | |
218 | 218 | | |
219 | 219 | | |
220 | 220 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
| 27 | + | |
28 | 28 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
226 | 226 | | |
227 | 227 | | |
228 | 228 | | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
229 | 237 | | |
230 | 238 | | |
231 | 239 | | |
| |||
254 | 262 | | |
255 | 263 | | |
256 | 264 | | |
257 | | - | |
| 265 | + | |
258 | 266 | | |
259 | 267 | | |
260 | 268 | | |
261 | 269 | | |
262 | | - | |
| 270 | + | |
263 | 271 | | |
264 | 272 | | |
265 | 273 | | |
| |||
275 | 283 | | |
276 | 284 | | |
277 | 285 | | |
278 | | - | |
| 286 | + | |
279 | 287 | | |
280 | 288 | | |
281 | | - | |
| 289 | + | |
282 | 290 | | |
283 | 291 | | |
284 | 292 | | |
| |||
429 | 437 | | |
430 | 438 | | |
431 | 439 | | |
432 | | - | |
433 | | - | |
434 | | - | |
435 | | - | |
436 | | - | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
437 | 444 | | |
438 | 445 | | |
439 | 446 | | |
| |||
475 | 482 | | |
476 | 483 | | |
477 | 484 | | |
478 | | - | |
| 485 | + | |
479 | 486 | | |
480 | 487 | | |
481 | 488 | | |
| |||
488 | 495 | | |
489 | 496 | | |
490 | 497 | | |
491 | | - | |
| 498 | + | |
492 | 499 | | |
493 | 500 | | |
494 | 501 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | | - | |
| 38 | + | |
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| |||
168 | 168 | | |
169 | 169 | | |
170 | 170 | | |
171 | | - | |
172 | | - | |
| 171 | + | |
| 172 | + | |
173 | 173 | | |
174 | 174 | | |
175 | 175 | | |
| |||
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
184 | | - | |
185 | | - | |
186 | | - | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
187 | 187 | | |
188 | 188 | | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
197 | 192 | | |
198 | 193 | | |
199 | 194 | | |
200 | 195 | | |
201 | | - | |
| 196 | + | |
202 | 197 | | |
203 | 198 | | |
204 | 199 | | |
| |||
210 | 205 | | |
211 | 206 | | |
212 | 207 | | |
| 208 | + | |
213 | 209 | | |
214 | 210 | | |
215 | 211 | | |
| |||
397 | 393 | | |
398 | 394 | | |
399 | 395 | | |
400 | | - | |
401 | | - | |
| 396 | + | |
| 397 | + | |
402 | 398 | | |
403 | | - | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
404 | 403 | | |
405 | 404 | | |
406 | 405 | | |
| |||
411 | 410 | | |
412 | 411 | | |
413 | 412 | | |
414 | | - | |
| 413 | + | |
415 | 414 | | |
416 | 415 | | |
417 | 416 | | |
| |||
424 | 423 | | |
425 | 424 | | |
426 | 425 | | |
427 | | - | |
| 426 | + | |
428 | 427 | | |
429 | 428 | | |
430 | 429 | | |
| |||
437 | 436 | | |
438 | 437 | | |
439 | 438 | | |
440 | | - | |
441 | | - | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
442 | 444 | | |
443 | 445 | | |
444 | 446 | | |
| |||
454 | 456 | | |
455 | 457 | | |
456 | 458 | | |
457 | | - | |
| 459 | + | |
458 | 460 | | |
459 | 461 | | |
460 | 462 | | |
461 | 463 | | |
462 | 464 | | |
463 | | - | |
| 465 | + | |
464 | 466 | | |
465 | 467 | | |
466 | 468 | | |
| |||
472 | 474 | | |
473 | 475 | | |
474 | 476 | | |
475 | | - | |
| 477 | + | |
476 | 478 | | |
477 | 479 | | |
478 | 480 | | |
| |||
484 | 486 | | |
485 | 487 | | |
486 | 488 | | |
487 | | - | |
| 489 | + | |
488 | 490 | | |
489 | 491 | | |
490 | 492 | | |
| |||
498 | 500 | | |
499 | 501 | | |
500 | 502 | | |
501 | | - | |
| 503 | + | |
502 | 504 | | |
503 | 505 | | |
504 | 506 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
| 3 | + | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
32 | 30 | | |
33 | 31 | | |
34 | 32 | | |
| |||
41 | 39 | | |
42 | 40 | | |
43 | 41 | | |
44 | | - | |
| 42 | + | |
45 | 43 | | |
46 | 44 | | |
47 | 45 | | |
48 | 46 | | |
49 | 47 | | |
50 | | - | |
| 48 | + | |
51 | 49 | | |
52 | 50 | | |
53 | 51 | | |
| |||
56 | 54 | | |
57 | 55 | | |
58 | 56 | | |
59 | | - | |
| 57 | + | |
60 | 58 | | |
61 | 59 | | |
62 | | - | |
63 | | - | |
64 | | - | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
65 | 63 | | |
66 | 64 | | |
67 | 65 | | |
68 | 66 | | |
69 | 67 | | |
70 | | - | |
| 68 | + | |
71 | 69 | | |
72 | | - | |
73 | | - | |
| 70 | + | |
| 71 | + | |
74 | 72 | | |
75 | 73 | | |
76 | 74 | | |
77 | | - | |
78 | | - | |
79 | | - | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
80 | 78 | | |
81 | 79 | | |
82 | 80 | | |
| |||
0 commit comments