From 15136e25625f725fb9e33f71cef765088cfac216 Mon Sep 17 00:00:00 2001 From: Vito0912 <86927734+Vito0912@users.noreply.github.com> Date: Sat, 27 Jul 2024 19:45:52 +0200 Subject: [PATCH 01/15] First draft for user / login and logout --- docs/controllers/AuthController.yaml | 73 +++++++++++++++++++++++ docs/objects/Bookmarks.yaml | 18 ++++++ docs/objects/Media.yaml | 42 ++++++++++++++ docs/objects/Permissions.yaml | 55 ++++++++++++++++++ docs/objects/entities/User.yaml | 86 ++++++++++++++++++++++++++++ 5 files changed, 274 insertions(+) create mode 100644 docs/controllers/AuthController.yaml create mode 100644 docs/objects/Bookmarks.yaml create mode 100644 docs/objects/Media.yaml create mode 100644 docs/objects/Permissions.yaml create mode 100644 docs/objects/entities/User.yaml diff --git a/docs/controllers/AuthController.yaml b/docs/controllers/AuthController.yaml new file mode 100644 index 0000000000..04b9a05a7e --- /dev/null +++ b/docs/controllers/AuthController.yaml @@ -0,0 +1,73 @@ +paths: + /login: + post: + summary: Login to the server + description: Logs in a client to the server, returning information about the user and server. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + username: + $ref: '../objects/entities/User.yaml#/components/schemas/username' + password: + $ref: '../objects/entities/User.yaml#/components/schemas/password' + required: + - username + - password + responses: + '200': + description: Success + content: + application/json: + schema: + type: object + properties: + user: + type: object + properties: + $ref: '../objects/entities/User.yaml#/components/schemas/user' + '401': + description: Unauthorized - Invalid username or password. + content: + application/json: + schema: + type: object + properties: + message: + type: string + /logout: + post: + summary: Logout from the server + description: Logs out a client from the server. If the socketId parameter is provided, the server removes the socket from the client list. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + socketId: + $ref: '../objects/entities/User.yaml#/components/schemas/socketId' + responses: + '200': + description: Success + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Successfully logged out. + '401': + description: Unauthorized + content: + application/json: + schema: + type: object + properties: + message: + type: string diff --git a/docs/objects/Bookmarks.yaml b/docs/objects/Bookmarks.yaml new file mode 100644 index 0000000000..0099b42cc3 --- /dev/null +++ b/docs/objects/Bookmarks.yaml @@ -0,0 +1,18 @@ +components: + schemas: + time: + type: integer + description: The time (in ms since POSIX epoch) when the bookmark was created. + example: 1616239000 + bookmark: + properties: + libraryItemId: + $ref: 'LibraryItem.yaml#/components/schemas/libraryItemId' + title: + type: string + description: The title of the bookmark. + example: Chapter 1 + time: + $ref: '#/components/schemas/time' + createdAt: + $ref: '../schemas.yaml#/components/schemas/createdAt' \ No newline at end of file diff --git a/docs/objects/Media.yaml b/docs/objects/Media.yaml new file mode 100644 index 0000000000..0809ef97ed --- /dev/null +++ b/docs/objects/Media.yaml @@ -0,0 +1,42 @@ +components: + schemas: + mediaProgressId: + type: string + description: The ID of the media progress. + example: e4bb1afb-4a4f-4dd6-8be0-e615d233185b + format: uuid + mediaProgress: + type: object + properties: + id: + $ref: '#/components/schemas/mediaProgressId' + libraryItemId: + $ref: 'LibraryItem.yaml#/components/schemas/libraryItemId' + episodeId: + $ref: 'mediaTypes/Podcast.yaml#/components/schemas/podcastId' + duration: + $ref: '../schemas.yaml#/components/schemas/durationSec' + progress: + type: number + description: The user's progress in the media item. + example: 0.5 + currentTime: + type: number + description: The user's current time in the media item. + example: 0.5 + isFinished: + type: boolean + description: Whether the user has finished the media item. + example: false + hideFromContinueListening: + type: boolean + description: Whether the media item should be hidden from the continue listening section. + example: false + lastUpdate: + $ref: '../schemas.yaml#/components/schemas/updatedAt' + startedAt: + $ref: '../schemas.yaml#/components/schemas/createdAt' + finishedAt: + type: integer + description: The time (in ms since POSIX epoch) when the media was finished. Will be null if the media has is not finished. + example: 1616239000 \ No newline at end of file diff --git a/docs/objects/Permissions.yaml b/docs/objects/Permissions.yaml new file mode 100644 index 0000000000..cfda324fbc --- /dev/null +++ b/docs/objects/Permissions.yaml @@ -0,0 +1,55 @@ +components: + schemas: + downloads: + type: boolean + description: Whether the user has permission to download media. + example: true + update: + type: boolean + description: Whether the user has permission to update media. + example: true + delete: + type: boolean + description: Whether the user has permission to delete media. + example: true + upload: + type: boolean + description: Whether the user has permission to upload media. + example: true + accessAllLibraries: + type: boolean + description: Whether the user has permission to access all libraries. + example: true + accessAllTags: + type: boolean + description: Whether the user has permission to access all tags. + example: true + accessExplicitContent: + type: boolean + description: Whether the user has permission to access explicit content. + example: true + permissions: + type: object + properties: + downloads: + $ref: '#/components/schemas/downloads' + update: + $ref: '#/components/schemas/update' + delete: + $ref: '#/components/schemas/delete' + upload: + $ref: '#/components/schemas/upload' + accessAllLibraries: + $ref: '#/components/schemas/accessAllLibraries' + accessAllTags: + $ref: '#/components/schemas/accessAllTags' + accessExplicitContent: + $ref: '#/components/schemas/accessExplicitContent' + required: + - downloads + - update + - delete + - upload + - accessAllLibraries + - accessAllTags + - accessExplicitContent \ No newline at end of file diff --git a/docs/objects/entities/User.yaml b/docs/objects/entities/User.yaml new file mode 100644 index 0000000000..15d1b5479b --- /dev/null +++ b/docs/objects/entities/User.yaml @@ -0,0 +1,86 @@ +components: + schemas: + username: + type: string + description: The username to log in with. + example: testuser + password: + type: string + description: The password of the user. + example: password + userId: + type: string + description: The ID of the user. + example: e4bb1afb-4a4f-4dd6-8be0-e615d233185b + format: uuid + userType: + type: string + description: The type of the user. + example: root + token: + type: string + description: The token of the user. + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InRlc3R1c2VyIiwiaWF0IjoxNTE2MjM5MDIyfQ.4k1jJ9 + socketId: + type: string + description: The socket ID of the user. + example: AFcTcb7xBLsSPnIzAAAV + isActive: + type: boolean + description: Whether the user is active. + example: true + isLocked: + type: boolean + description: Whether the user is locked. + example: false + lastSeen: + type: integer + description: The time (in ms since POSIX epoch) when the user was last seen. + example: 1616239000 + user: + type: object + description: A user object which includes the user's ID, username, type, token, and media progress. + properties: + id: + $ref: '#/components/schemas/userId' + username: + $ref: '#/components/schemas/username' + type: + $ref: '#/components/schemas/userType' + token: + $ref: '#/components/schemas/token' + mediaProgress: + description: The user's progress of media. + type: array + items: + $ref: '../Media.yaml#/components/schemas/mediaProgress' + seriesHideFromContinueListening: + description: The IDs of series to hide from the user's "Continue Series" shelf. + type: array + items: + $ref: '../LibraryItem.yaml#/components/schemas/libraryItemId' + bookmarks: + description: The user's bookmarks. + type: array + items: + $ref: '../Bookmarks.yaml#/components/schemas/bookmark' + lastSeen: + $ref: '#/components/schemas/lastSeen' + isActive: + $ref: '#/components/schemas/isActive' + isLocked: + $ref: '#/components/schemas/isLocked' + createdAt: + $ref: '../../schemas.yaml#/components/schemas/createdAt' + permissions: + $ref: '../Permissions.yaml#/components/schemas/permissions' + librariesAccessible: + description: The IDs of libraries the user has access to. + type: array + items: + $ref: '../Library.yaml#/components/schemas/libraryId' + itemTags: + $ref: '../../schemas.yaml#/components/schemas/tags' + + + \ No newline at end of file From 9efd3537a4fa93e83590c0a077d8216a57264431 Mon Sep 17 00:00:00 2001 From: Vito0912 <86927734+Vito0912@users.noreply.github.com> Date: Sat, 27 Jul 2024 21:20:15 +0200 Subject: [PATCH 02/15] Fixed wrong formation and added endpoints to root --- docs/controllers/AuthController.yaml | 22 ++++++++-------------- docs/openapi.json | Bin 126211 -> 283378 bytes docs/root.yaml | 4 ++++ 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/docs/controllers/AuthController.yaml b/docs/controllers/AuthController.yaml index 04b9a05a7e..76b9085aa4 100644 --- a/docs/controllers/AuthController.yaml +++ b/docs/controllers/AuthController.yaml @@ -26,18 +26,14 @@ paths: type: object properties: user: - type: object - properties: - $ref: '../objects/entities/User.yaml#/components/schemas/user' + $ref: '../objects/entities/User.yaml#/components/schemas/user' '401': description: Unauthorized - Invalid username or password. content: - application/json: + text/html: schema: - type: object - properties: - message: - type: string + type: string + example: Unauthorized /logout: post: summary: Logout from the server @@ -61,13 +57,11 @@ paths: properties: message: type: string - example: Successfully logged out. + example: Success '401': description: Unauthorized content: - application/json: + text/html: schema: - type: object - properties: - message: - type: string + type: string + example: Unauthorized diff --git a/docs/openapi.json b/docs/openapi.json index 9767f57960a24a91867848532a0e261c50fda9f0..5a2f61347df7d83e10437b8a4fa73b4bb31ebc3a 100644 GIT binary patch literal 283378 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 literal 126211 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 Ie*d@s59Kt+#Q*>R diff --git a/docs/root.yaml b/docs/root.yaml index 4d6c055db7..3959236416 100644 --- a/docs/root.yaml +++ b/docs/root.yaml @@ -77,6 +77,10 @@ paths: $ref: './controllers/PodcastController.yaml#/paths/~1api~1podcasts~1{id}~1episode~1{episodeId}' /api/series/{id}: $ref: './controllers/SeriesController.yaml#/paths/~1api~1series~1{id}' + /login: + $ref: './controllers/AuthController.yaml#/paths/~1login' + /logout: + $ref: './controllers/AuthController.yaml#/paths/~1logout' tags: - name: Authors description: Author endpoints From 1811e0a06c2c299c54fe8f3b1f8f72f8f7a0f7d8 Mon Sep 17 00:00:00 2001 From: Vito0912 <86927734+Vito0912@users.noreply.github.com> Date: Sat, 27 Jul 2024 21:56:46 +0200 Subject: [PATCH 03/15] Added media to items endpoint --- docs/objects/LibraryItem.yaml | 4 ++++ docs/objects/mediaTypes/Book.yaml | 8 ++++++++ docs/objects/metadata/BookMetadata.yaml | 14 ++++++++++++++ docs/openapi.json | Bin 283378 -> 283900 bytes 4 files changed, 26 insertions(+) diff --git a/docs/objects/LibraryItem.yaml b/docs/objects/LibraryItem.yaml index 107ba9f3f9..0e9ade14d5 100644 --- a/docs/objects/LibraryItem.yaml +++ b/docs/objects/LibraryItem.yaml @@ -55,6 +55,10 @@ components: type: boolean mediaType: $ref: './mediaTypes/media.yaml#/components/schemas/mediaType' + media: + oneOf: + - $ref: './mediaTypes/Book.yaml#/components/schemas/bookMinified' + - $ref: './mediaTypes/Podcast.yaml#/components/schemas/Podcast' libraryItemMinified: type: object description: A single item on the server, like a book or podcast. Minified media format. diff --git a/docs/objects/mediaTypes/Book.yaml b/docs/objects/mediaTypes/Book.yaml index ebe2b63d9d..a4191d5a74 100644 --- a/docs/objects/mediaTypes/Book.yaml +++ b/docs/objects/mediaTypes/Book.yaml @@ -68,3 +68,11 @@ components: description: The format of ebook of the book. Will be null if the book is an audiobook. type: string nullable: true + book: + allOf: + - $ref: '#/components/schemas/bookBase' + - type: object + properties: + metadata: + $ref: '../metadata/BookMetadata.yaml#/components/schemas/bookMetadata' + diff --git a/docs/objects/metadata/BookMetadata.yaml b/docs/objects/metadata/BookMetadata.yaml index faa054ac3c..6f4769d173 100644 --- a/docs/objects/metadata/BookMetadata.yaml +++ b/docs/objects/metadata/BookMetadata.yaml @@ -124,3 +124,17 @@ components: description: The title of the chapter. type: string example: Wizards First Rule 01 Chapter 1 + bookMetadata: + allOf: + - $ref: '#/components/schemas/bookMetadataBase' + - type: object + properties: + authors: + type: array + items: + $ref: '../entities/Author.yaml#/components/schemas/author' + series: + type: array + items: + $ref: '../entities/Series.yaml#/components/schemas/series' + diff --git a/docs/openapi.json b/docs/openapi.json index 5a2f61347df7d83e10437b8a4fa73b4bb31ebc3a..c161925af368f536c64355421b17ef0814b0d209 100644 GIT binary patch delta 179 zcmV;k08Ib#r4jt85rBjNv;saLw-7P{mOPhGZUGLrP)-B>X_w4F11^_fWdb;tKs*C* zm%z&chLa#g1h-PS1Fk)nK*s|XmpXC+3b$S$0(KFX@Y4b&mmYHhB$K{hG?PFcCX?`t zJeQ7R0tlDzZvrZk8VHjR9wd`M9wwKdqX9~n;BEmTlkgfImoRVw5|^+T0Y;ZlDFh0) hux<i6T$kX30S=e`7y}%Wkk}x%kjw(IfwuMo@?1iwLxlhU delta 115 zcmV-(0F3|qsS)y}5rBjNv;saLm*AZP7MI|k0}8he1_O2xmmoa?RF@7v0t&ZaAOdte zm!KB|3b)i513Fx{;Kl-60hi!|0S>nub_4E#mr!m24wt~Q0S1>2*a8}tpcVpZw`^Sk VbZL_yMFh7%$O5iCw+i?J@?3S<Dlh;5 From 3e944974e20eb17674d56940f2ef9562a1b91c9a Mon Sep 17 00:00:00 2001 From: Vito0912 <86927734+Vito0912@users.noreply.github.com> Date: Sat, 27 Jul 2024 22:10:33 +0200 Subject: [PATCH 04/15] fix: some typos --- docs/objects/Permissions.yaml | 10 +++++----- docs/objects/entities/User.yaml | 7 +++---- docs/openapi.json | Bin 283900 -> 283908 bytes 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/docs/objects/Permissions.yaml b/docs/objects/Permissions.yaml index cfda324fbc..8a1b91543f 100644 --- a/docs/objects/Permissions.yaml +++ b/docs/objects/Permissions.yaml @@ -1,6 +1,6 @@ components: schemas: - downloads: + download: type: boolean description: Whether the user has permission to download media. example: true @@ -31,8 +31,8 @@ components: permissions: type: object properties: - downloads: - $ref: '#/components/schemas/downloads' + download: + $ref: '#/components/schemas/download' update: $ref: '#/components/schemas/update' delete: @@ -46,10 +46,10 @@ components: accessExplicitContent: $ref: '#/components/schemas/accessExplicitContent' required: - - downloads + - download - update - delete - upload - accessAllLibraries - accessAllTags - - accessExplicitContent \ No newline at end of file + - accessExplicitContent diff --git a/docs/objects/entities/User.yaml b/docs/objects/entities/User.yaml index 15d1b5479b..6d0ca074d4 100644 --- a/docs/objects/entities/User.yaml +++ b/docs/objects/entities/User.yaml @@ -79,8 +79,7 @@ components: type: array items: $ref: '../Library.yaml#/components/schemas/libraryId' - itemTags: + itemTagsSelected: $ref: '../../schemas.yaml#/components/schemas/tags' - - - \ No newline at end of file + + diff --git a/docs/openapi.json b/docs/openapi.json index c161925af368f536c64355421b17ef0814b0d209..c75e29d62fd62a21bf8db452a3da1adf15fa57d7 100644 GIT binary patch delta 115 zcmeyfQm|!}U_%RI3sVd878WP5=@LpTGSdx2SgNKw$g-$x|0l-6#0e5inEquBqrmhf zI~Xmde~@Hh*}g%6<p<03o_<D|=@W#R`IcW%Wf9~IW=Lho0pjH86OEXar*Cj#beUcj S#H2EP!y0D0?bFOz(qsX0nI!fA delta 118 zcmZo!CHQBhU_%RI3sVd878WP5=^y4ZvP|cg%P2NIVJ@@S_5v}MK2C(-WCJa}$qvz0 z)8iCa1R%m{9gJqv52&*6P5;xxoV8s}k)?$NBqKH5AefnBI-e*L*YY!}EP~T_9AQe> KZez}JLKXmY2q(V) From 7ae904ccbba7c8a667368bf2f9385170861b003e Mon Sep 17 00:00:00 2001 From: Vito0912 <86927734+Vito0912@users.noreply.github.com> Date: Sun, 28 Jul 2024 18:24:12 +0200 Subject: [PATCH 05/15] Added some smaller fixes and the getaitem endpoint --- docs/controllers/AuthController.yaml | 2 + docs/controllers/LibraryController.yaml | 1 + docs/controllers/LibraryItemController.yaml | 41 ++++++++++++++++++++ docs/objects/LibraryItem.yaml | 4 +- docs/objects/mediaTypes/Book.yaml | 2 + docs/openapi.json | Bin 283908 -> 288218 bytes docs/root.yaml | 2 + 7 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 docs/controllers/LibraryItemController.yaml diff --git a/docs/controllers/AuthController.yaml b/docs/controllers/AuthController.yaml index 76b9085aa4..62c71b1c16 100644 --- a/docs/controllers/AuthController.yaml +++ b/docs/controllers/AuthController.yaml @@ -3,6 +3,7 @@ paths: post: summary: Login to the server description: Logs in a client to the server, returning information about the user and server. + operationId: login requestBody: required: true content: @@ -38,6 +39,7 @@ paths: post: summary: Logout from the server description: Logs out a client from the server. If the socketId parameter is provided, the server removes the socket from the client list. + operationId: logout requestBody: required: true content: diff --git a/docs/controllers/LibraryController.yaml b/docs/controllers/LibraryController.yaml index b985c05ecd..f1a8a36301 100644 --- a/docs/controllers/LibraryController.yaml +++ b/docs/controllers/LibraryController.yaml @@ -167,6 +167,7 @@ paths: parameters: - in: query name: include + description: A comma separated list of what to include with the library item. The only current option is filterdata. schema: type: string - $ref: '../schemas.yaml#/components/parameters/minified' diff --git a/docs/controllers/LibraryItemController.yaml b/docs/controllers/LibraryItemController.yaml new file mode 100644 index 0000000000..0bfa622801 --- /dev/null +++ b/docs/controllers/LibraryItemController.yaml @@ -0,0 +1,41 @@ +paths: + /api/items/{id}: + parameters: + - name: id + in: path + description: The ID of the library item. + required: true + schema: + $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemId' + get: + operationId: getLibraryItem + summary: Get a single library item by ID on server. + description: Get a single library item by ID on server. + tags: + - LibraryItem + parameters: + - in: query + name: include + description: A comma separated list of what to include with the library item. The options are progress, rssfeed, authors (for books), and downloads (for podcasts). expanded must be 1 for include to have an effect. + schema: + type: string + - in: query + name: expanded + description: Whether to return Library Item Expanded instead. 0 for false, 1 for true. + schema: + type: integer + example: 1 + - in: query + name: episode + description: If requesting progress for a podcast, the episode ID to get progress for. + schema: + $ref: '../objects/mediaTypes/Podcast.yaml#/components/schemas/podcastId' + responses: + '200': + description: OK + content: + application/json: + schema: + oneOf: + - $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemMinified' + - $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemBase' diff --git a/docs/objects/LibraryItem.yaml b/docs/objects/LibraryItem.yaml index 0e9ade14d5..f6dbd4b569 100644 --- a/docs/objects/LibraryItem.yaml +++ b/docs/objects/LibraryItem.yaml @@ -56,9 +56,7 @@ components: mediaType: $ref: './mediaTypes/media.yaml#/components/schemas/mediaType' media: - oneOf: - - $ref: './mediaTypes/Book.yaml#/components/schemas/bookMinified' - - $ref: './mediaTypes/Podcast.yaml#/components/schemas/Podcast' + $ref: './mediaTypes/Book.yaml#/components/schemas/bookMinified' libraryItemMinified: type: object description: A single item on the server, like a book or podcast. Minified media format. diff --git a/docs/objects/mediaTypes/Book.yaml b/docs/objects/mediaTypes/Book.yaml index a4191d5a74..2793393c08 100644 --- a/docs/objects/mediaTypes/Book.yaml +++ b/docs/objects/mediaTypes/Book.yaml @@ -9,6 +9,8 @@ components: type: object description: Base book schema properties: + id: + description: TODO libraryItemId: $ref: '../LibraryItem.yaml#/components/schemas/libraryItemId' coverPath: diff --git a/docs/openapi.json b/docs/openapi.json index c75e29d62fd62a21bf8db452a3da1adf15fa57d7..a911f58ef093f4f4454db5c40ff8c33615f31249 100644 GIT binary patch delta 978 zcmZWoUr19?7(eHpo10U|R<?BNyqe`EOQw{Fxgn*95j4}FV3{kYj;1c1At5pUyaX2N zseSbz>Ptn2m<#TM8q$LmLHH06J=A?EC_;R)KbZ90D}p7Ld+z1?e&6r+eZO<g;3M;g z*XEhEI}rUu2O*Tg(s;wyGIKKtk`RfI0O=%6#7`nnn<i#~shAqLvarM}4i<1}-ZHQr zlh<R^<>M1MHeHBxkQNez$)hw2D)MM4_qxkumqIHkNco~3Y(J<0ybdv!D?=w?+94Le zaxL{hw4Uj~rzSnWn0543y?kPgDv2s-;wEVa=?3!+;eT3Lp~5X4_eQL`pw?|${LgSU z9W@$YD4E%~a<-f=PW8eB6_eq*j#;^hkHX3r%8eR?OjtcmQz811>bZ4eH-B@_1k1Th z&--te^Hpl&74nWmCww1chInyOly189EIALJ&M}kQNhCC@3!i4REr7PE5kKk1##+%C zH75}}X4QX*T*Pk&xr|W<al)w)nz2g*Ku$MHuXd0^!~{qW2_r{4vZ;&`X+yp)WK`<| zxEA5N#TZ1~CET`d4J{$6gBPV_!v<$oZR_I7f{`X|BZWQ#&4)%eJq*`s(W2R2mRhau zdK=PK?GRT5RPg||)TA}&+9uzO(GcbX+Tca7$3t(zOr2nh6$)1HoWUiUg08y03_|G( zYJ~NNG!3GMM0<J-&Y-#%AXl*afF`1fwZM}(wl`yIKtF=QXj&7F>DNF`Fu$W2<{DCo zDV!JA7OanGbqwqH<hdNwPXOtd7zX75b#6AXYPImj{deK_XZnpVUU(dvViw4Au|oAk zmh<p@E_i#W1%}62CwKLya@TA@tQrr{@PSs|c)A2u>qUdylPLJ=KpDeYWt<sgV*-0_ zh8eF=3GHdj&P~l8nAnGjx9P0RCo4;WkAgBljdJEyw$caQcC=wJP7}cRUa-chg%U6w t5uJQvL@$TV3y~m~szkZsr7-RO_XcfZ7mb1)!Xn<R<vJ9(|C2TN{sN*EC0GCe delta 297 zcmcb0TCio6;D&Egr*B|p44Hm_gYn+v55^*s6O^kqUs#&JIBh>8%j7pse$8dGwwKLf zJQ6vriP2(mfUVW0xh{;;A8@efOipN$nEqi3qs{aSmMk38d#qTLCSNcWn0`T?Q4geh zy2BnOmg(=fSh%+9d}s9If*G*gfQji6$K*Xs9NXteGsOi@PH1MC{^1t0*5m~~W|JRm zHJLu4lv!x|nMCHK%;{@FnDwSFIL%}+UBREZVETf4Ol^}DTv@goon~HVJAHx%lh}5F ze5NyklMlojO?Hq|gE&YanTcz<LL-yL<O`R$CNJnxf=PKzJI|;z`Gb_)^bJoLr6voc n*-igY&&0KTLL-w^%=835M!xCyw3%hL2i#}6)VLk!%U>}7WwCXB diff --git a/docs/root.yaml b/docs/root.yaml index 3959236416..cc6cf7e111 100644 --- a/docs/root.yaml +++ b/docs/root.yaml @@ -81,6 +81,8 @@ paths: $ref: './controllers/AuthController.yaml#/paths/~1login' /logout: $ref: './controllers/AuthController.yaml#/paths/~1logout' + /api/items/{id}: + $ref: './controllers/LibraryItemController.yaml#/paths/~1api~1items~1{id}' tags: - name: Authors description: Author endpoints From 11826c37a3f7309b1a1a2d1c2e10957a3be8daac Mon Sep 17 00:00:00 2001 From: Vito0912 <86927734+Vito0912@users.noreply.github.com> Date: Sun, 28 Jul 2024 18:57:56 +0200 Subject: [PATCH 06/15] Reverted change that has contradictory outputs --- docs/controllers/LibraryItemController.yaml | 2 +- docs/openapi.json | Bin 288218 -> 288130 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/controllers/LibraryItemController.yaml b/docs/controllers/LibraryItemController.yaml index 0bfa622801..932bb558b5 100644 --- a/docs/controllers/LibraryItemController.yaml +++ b/docs/controllers/LibraryItemController.yaml @@ -36,6 +36,6 @@ paths: content: application/json: schema: + description: TODO - Add minified library item object oneOf: - - $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemMinified' - $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemBase' diff --git a/docs/openapi.json b/docs/openapi.json index a911f58ef093f4f4454db5c40ff8c33615f31249..8e90ee61c07ea7389b48750a69873ebd1ae3dbbf 100644 GIT binary patch delta 109 zcmV-z0FwXO%MpUh5rBjNv;xQ&lkn#t5l;X_08aoQ04)F@06_p`0A!cpfdUnmly3qW zm!eSuESFIJ0S=SEU#yql5(E~P5N`qslWfQ=lMu5im$2mlCYNBi0dkYT(;$<)0tknk P8v=)%8w0nT8w5T|Rt+aQ delta 44 zcmZoVEqLp+U_%Sz7N!#tlMlqNnV!(c<TAOTPiS(&S-tiJl1xC%ynTTr%Oh_9x_%O% From e6d4e89bd1d290c691674367f69f6e11f1cc7dd9 Mon Sep 17 00:00:00 2001 From: Vito0912 <86927734+Vito0912@users.noreply.github.com> Date: Mon, 29 Jul 2024 21:44:43 +0200 Subject: [PATCH 07/15] Updated LibraryItemController Paths (See description) Added missing abridged Fixed wrong type on start of bookChapter Added missing libraryFile for LibraryItem Added missing type to id in media --- docs/controllers/LibraryItemController.yaml | 5 +++-- docs/objects/LibraryItem.yaml | 13 ++++++++++++- docs/objects/files/AudioFile.yaml | 17 +++++++++++++++++ docs/objects/mediaTypes/Book.yaml | 4 ++++ docs/objects/metadata/BookMetadata.yaml | 16 +++++++++++++--- docs/openapi.json | Bin 288130 -> 298894 bytes 6 files changed, 49 insertions(+), 6 deletions(-) diff --git a/docs/controllers/LibraryItemController.yaml b/docs/controllers/LibraryItemController.yaml index 932bb558b5..94d4951892 100644 --- a/docs/controllers/LibraryItemController.yaml +++ b/docs/controllers/LibraryItemController.yaml @@ -36,6 +36,7 @@ paths: content: application/json: schema: - description: TODO - Add minified library item object + type: object + description: TODO oneOf: - - $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemBase' + - $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItem' diff --git a/docs/objects/LibraryItem.yaml b/docs/objects/LibraryItem.yaml index f6dbd4b569..ecf70127c0 100644 --- a/docs/objects/LibraryItem.yaml +++ b/docs/objects/LibraryItem.yaml @@ -56,7 +56,7 @@ components: mediaType: $ref: './mediaTypes/media.yaml#/components/schemas/mediaType' media: - $ref: './mediaTypes/Book.yaml#/components/schemas/bookMinified' + $ref: './mediaTypes/Book.yaml#/components/schemas/book' libraryItemMinified: type: object description: A single item on the server, like a book or podcast. Minified media format. @@ -66,6 +66,17 @@ components: properties: media: $ref: './mediaTypes/media.yaml#/components/schemas/mediaMinified' + libraryItem: + type: object + description: A single item on the server, like a book or podcast. + allOf: + - $ref: '#/components/schemas/libraryItemBase' + - type: object + properties: + libraryFiles: + type: array + items: + $ref: './files/AudioFile.yaml#/components/schemas/libraryFile' libraryItemSequence: type: object description: A single item on the server, like a book or podcast. Includes series sequence information. diff --git a/docs/objects/files/AudioFile.yaml b/docs/objects/files/AudioFile.yaml index 20994438fa..6092af2622 100644 --- a/docs/objects/files/AudioFile.yaml +++ b/docs/objects/files/AudioFile.yaml @@ -92,3 +92,20 @@ components: description: The MIME type of the audio file. type: string example: audio/mpeg + libraryFile: + type: object + description: A library file. Includes the path and metadata of the file. + properties: + ino: + $ref: '../../schemas.yaml#/components/schemas/inode' + addedAt: + $ref: '../../schemas.yaml#/components/schemas/addedAt' + updatedAt: + $ref: '../../schemas.yaml#/components/schemas/updatedAt' + fileType: + description: The type of file. + type: string + example: audio + metadata: + $ref: '../metadata/FileMetadata.yaml#/components/schemas/fileMetadata' + diff --git a/docs/objects/mediaTypes/Book.yaml b/docs/objects/mediaTypes/Book.yaml index 2793393c08..c4f891fbad 100644 --- a/docs/objects/mediaTypes/Book.yaml +++ b/docs/objects/mediaTypes/Book.yaml @@ -11,6 +11,9 @@ components: properties: id: description: TODO + type: string + format: uuid + example: e4bb1afb-4a4f-4dd6-8be0-e615d233185b libraryItemId: $ref: '../LibraryItem.yaml#/components/schemas/libraryItemId' coverPath: @@ -23,6 +26,7 @@ components: $ref: '../files/AudioFile.yaml#/components/schemas/audioFile' chapters: type: array + nullable: true items: $ref: '../metadata/BookMetadata.yaml#/components/schemas/bookChapter' missingParts: diff --git a/docs/objects/metadata/BookMetadata.yaml b/docs/objects/metadata/BookMetadata.yaml index 6f4769d173..1420125538 100644 --- a/docs/objects/metadata/BookMetadata.yaml +++ b/docs/objects/metadata/BookMetadata.yaml @@ -78,6 +78,10 @@ components: description: Whether the book has been marked as explicit. type: boolean example: false + abridged: + description: Whether the book is abridged. + type: boolean + example: false bookMetadataMinified: type: object description: The minified metadata for a book in the database. @@ -107,6 +111,7 @@ components: bookChapter: type: object description: A book chapter. Includes the title and timestamps. + nullable: true properties: id: description: The ID of the book chapter. @@ -114,7 +119,7 @@ components: example: 0 start: description: When in the book (in seconds) the chapter starts. - type: integer + type: number example: 0 end: description: When in the book (in seconds) the chapter ends. @@ -132,9 +137,14 @@ components: authors: type: array items: - $ref: '../entities/Author.yaml#/components/schemas/author' + $ref: '../entities/Author.yaml#/components/schemas/authorMinified' + narrators: + type: array + items: + type: string + example: Sam Tsoutsouvas series: type: array items: - $ref: '../entities/Series.yaml#/components/schemas/series' + $ref: '../entities/Series.yaml#/components/schemas/seriesSequence' diff --git a/docs/openapi.json b/docs/openapi.json index 8e90ee61c07ea7389b48750a69873ebd1ae3dbbf..9e2e04872117b71a0216be6e3a46df4111b1e161 100644 GIT binary patch delta 1509 zcmZuxZEO@(6rH(mO1DGVPHVdqSjx1Nx<IWXX=+0VZkmcf2yH1=L4?_D7x`G}P>@tH zq?QjWfl_(4#~8)N_=8A8ih>hkW45Frh=w$pC^m?MMBoRSjbFdOcxQ@GKQhT=^5))m z?>YCJ+xbOq_q%x=`_$8Pz7XlN>T;RBVfK!QBJ@0}hGc5P0PJoGVMPvw<lu!uX?!#f zgFmWeaCAC~Z3#_xm&~AxA@}AQifTA1v{IO1ZC>AI(y>z0bX?v*m)+4_A`(P+NEmo~ zNCe#IdRnOB>KYE}IwyiK_KTlkJwsLKIY>6F@70AcDk<Rh9}w@UNEc`o(#*+6|2`3h zvrH7ZsV)(!!PO*XtDDi#D~e&xq`bblVjZH}={SrWO~alOV#te$XC;)l(#p?PsGo{i zc;joz$CtZBdqzTWlo!xoQGs-Jlp&a*8t(D|QLDn5tuFFf4B)erU{riPI_jtvJsVX` z>`)SDh|x5}Tj`~HtU2XsA<QANkb0OZr8QkgdL}u&gIWYeo_0anA<Ydp(<a9B6@y=K zTm%r=LJ^rhwGhrVa$w&Q<>=AKM0!}1V01)S{!gQys-$xx8&0uE!s+C`4xAG$us;_X zj%}i+vF8&J$aIvL(x&W0ohu&1?F^yMh$}BDrm~YyV@k8KmA^MD+mse1p|s=m!_*5q zpNpM*Os)2roqU%lWr^YwJ0EtVx@gLTQzeO9QfJ*K$jx6sV_|8$9G)Cwp4+%Ui}D<D zr)u+&IwPv^=VI=5;Ca%s?*DyctC-t2O6^E>(^AybQ739*OmRzsMY8q?6;5mAHj{qy z%{;kn3?b&XzC#X|Op~MeI+CR#AeJe$7_Qb_IFhpEvDK#62&|vfa%tI1QQpWrho^|? za0<jyx$^cTbUj3e-1V<gHX(I@SSDE_g8DNQ!MO}E=AC6{HZnikSsBHbXwHP$ckE}j z%~G)%wRs{BWy369zA56eZu``G*I8V85u$TA_>U}6CXJ1Y$ECzf8MyMT2+R6b4MV>( zY96JIi}iF9W+MYQeX7E*cl5&ro**jGQO}z5uz4iq$?%(n()=|j2cIpGsV7Rny3mkp zqTqiseKlUqqE&eRDT;ccDmuDX_p)U4j)pX-0^>1tTIGad+;=v<c|cU4zL~A=<$15l zzV%Fz?+ESAzYqj)b{}2w3}<-_uS3%%W}MTT#*;dEiS!4Aj`Jx#|EHJSs#faB#RtDI zy3sq9w2MO%$Qq5aC{pXRu<O)OyY8lJx;DkLx9(QILR}d?YwoVs==N^6f0D2qX+EyG zV;4kx51d<6I&nRW``4dg_y;mFH?p3RY~*(`#Z=gnMIgts&rW3%n<VC$1V=7W0e)*| zR7RYt$5+eWJHl4Mdo6&GHO!Q?mUTX|TXZ0Lo#$C|LR`LU5D)sQCppAl9)9uYcPyKO zd#MRM2~l`o3jVHTn#N$SRD&?L{QrPt`r}{*+fzx(hC_4vuB#4{oR7gawMY)M&4V$U P)v$O~z<q0(c5}vGxeoKq delta 388 zcmXAjPe>GD0LABf-{-PywvEH~hsk6Rk&q3<gGmP&gLR7_R*+6oi-<>C6g(s@gNjIp z81|E1hlQ1nAtJQ!K@g14A^eAzE>WS;O$v`HvNY=D!Q;Kh@4cxxb6YLJf~e!`Ef!M3 zqpy*;;#v1B&l<4CtT7H9;5zHy;PU-8vh*FKb@XDDduQm=M}rw{f9x`Wi}0q&R`I=+ zD_=0o;4d6boS>D_r`SeYGG(3}z)cyu2fkvl44eC9B+YIP4}>Z7qF=DPsFJ31h~HNk zROAh=l~jt&^D#TzMlVa_qQh+NB5Yyx6uyo+GhCmJd-jM-nvoMMHPPQdvwnJ(Ft0x2 z9k}mGo4?XAz0ttGne$k2b5`DEREedSm5M(WrOyu$-d;l6m!!kz8<;k)XJqB24tEk} z`99jy7x!rA(TK+gSokSi9@UU!H4n!eKSC%N+)>@yyO!a^WAxGgBa}%zLFS?Ma>{sz Ua<t6#NztZPC%a5Ir5d;Y0~79#f&c&j From 7ef2eed2ad324c06ec249689a784836ada968c07 Mon Sep 17 00:00:00 2001 From: Vito0912 <86927734+Vito0912@users.noreply.github.com> Date: Tue, 30 Jul 2024 17:24:12 +0200 Subject: [PATCH 08/15] Added /api/items/{id}/play endpoint --- docs/controllers/LibraryItemController.yaml | 59 +++++++++++++++ docs/objects/entities/Device.yaml | 42 +++++++++++ docs/objects/entities/PlaybackSession.yaml | 82 +++++++++++++++++++++ docs/schemas.yaml | 3 + 4 files changed, 186 insertions(+) create mode 100644 docs/objects/entities/Device.yaml create mode 100644 docs/objects/entities/PlaybackSession.yaml diff --git a/docs/controllers/LibraryItemController.yaml b/docs/controllers/LibraryItemController.yaml index 94d4951892..60a7699a1b 100644 --- a/docs/controllers/LibraryItemController.yaml +++ b/docs/controllers/LibraryItemController.yaml @@ -40,3 +40,62 @@ paths: description: TODO oneOf: - $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItem' + /api/items/{id}/play: + parameters: + - name: id + in: path + description: The ID of the library item. + required: true + schema: + $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemId' + post: + operationId: playLibraryItem + summary: Play a library item. + description: Play a library item. + tags: + - LibraryItem + parameters: + - in: query + name: deviceInfo + description: The device information to send to the server. + schema: + $ref: '../objects/entities/Device.yaml#/components/schemas/deviceInfo' + - in: query + name: forceDirectPlay + description: Whether to force direct play of the library item. + schema: + type: boolean + example: false + - in: query + name: forceTranscode + description: Whether to force transcoding of the library item. + schema: + type: boolean + example: false + - in: query + name: supportedMimeTypes + description: The supported mime types for the device. + schema: + type: array + items: + type: string + - in: query + name: mediaPlayer + description: The media player to use. + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSessionExpanded' + '404': + description: Not Found + content: + text/html: + schema: + type: string + description: The library item does not have any audio tracks to play. + example: Not Found diff --git a/docs/objects/entities/Device.yaml b/docs/objects/entities/Device.yaml new file mode 100644 index 0000000000..17e99b277e --- /dev/null +++ b/docs/objects/entities/Device.yaml @@ -0,0 +1,42 @@ +components: + schemas: + deviceId: + description: The client device identifier. + type: string + example: 1 + clientVersion: + description: The client version. + type: string + example: 1.0.0 + clientName: + description: The client name. + type: string + example: "Audible" + manufacturer: + description: The manufacturer of the device. + type: string + example: "Apple" + model: + description: The model of the device. + type: string + example: "iPhone 12" + sdkVersion: + description: For an Android client, the Android SDK version of the client. + type: integer + example: 49 + deviceInfo: + description: The device information to send to the server. + type: object + properties: + deviceId: + $ref: '#/components/schemas/deviceId' + clientVersion: + $ref: '#/components/schemas/clientVersion' + clientName: + $ref: '#/components/schemas/clientName' + manufacturer: + $ref: '#/components/schemas/manufacturer' + model: + $ref: '#/components/schemas/model' + sdkVersion: + $ref: '#/components/schemas/sdkVersion' diff --git a/docs/objects/entities/PlaybackSession.yaml b/docs/objects/entities/PlaybackSession.yaml new file mode 100644 index 0000000000..0867e6d4ef --- /dev/null +++ b/docs/objects/entities/PlaybackSession.yaml @@ -0,0 +1,82 @@ +components: + schemas: + playbackSessionId: + description: The playback session identifier. + type: string + format: uuid + playbackSession: + id: + $ref: '#/components/schemas/playbackSessionId' + userId: + $ref: './User.yaml#/components/schemas/userId' + libraryId: + $ref: '../Library.yaml#/components/schemas/libraryId' + libraryItemId: + $ref: '../LibraryItem.yaml#/components/schemas/libraryItemId' + episodeId: + $ref: '../mediaTypes/Podcast.yaml#/components/schemas/episodeId' + nullable: true + mediaType: + $ref: '../../controllers/LibraryItemController.yaml#/components/schemas/libraryMediaType' + mediaMetadata: + description: The metadata of the media. + oneOf: + - $ref: '../mediaTypes/Book.yaml#/components/schemas/bookMinified' + - $ref: '../mediaTypes/Podcast.yaml#/components/schemas/podcastMinified' + chapters: + description: The chapters of the media. + type: array + items: + $ref: '../metadata/BookMetadata.yaml#/components/schemas/bookChapter' + displayTitle: + description: The display title of the media. + type: string + displayAuthor: + description: The display author of the media. + type: string + coverPath: + $ref: '../Book.yaml#/components/schemas/bookCoverPath' + duration: + $ref: '../schemas.yaml#/components/schemas/durationSec' + playMethod: + type: integer + description: The method used to play the media. 0 = Direct play, 1 = Direct Stream, 2 = Transcode, 3 = Local + mediaPlayer: + type: string + description: The media player used to play the media. + deviceInfo: + $ref: './Device.yaml#/components/schemas/deviceInfo' + serverVersion: + $ref: '../schemas.yaml#/components/schemas/serverVersion' + date: + description: TODO + type: String + dayOfWeek: + description: TODO + type: String + timeListening: + $ref: '../schemas.yaml#/components/schemas/durationSec' + startTime: + $ref: '../schemas.yaml#/components/schemas/durationSec' + currentTime: + $ref: '../schemas.yaml#/components/schemas/durationSec' + createdAt: + $ref: '../schemas.yaml#/components/schemas/createdAt' + updatedAt: + $ref: '../schemas.yaml#/components/schemas/updatedAt' + playbackSessionExpanded: + description: Expanded playback session schema. + allOf: + - $ref: '#/components/schemas/playbackSession' + - properties: + audioTracks: + description: The audio tracks of the media. + type: array + items: + $ref: '../files/AudioTrack.yaml#/components/schemas/AudioTrack' + videoTrack: + description: The video track of the media. TODO + type: object + nullable: true + libraryItem: + $ref: '../LibraryItem.yaml#/components/schemas/libraryItem' diff --git a/docs/schemas.yaml b/docs/schemas.yaml index e4e05e8090..ee97e31245 100644 --- a/docs/schemas.yaml +++ b/docs/schemas.yaml @@ -59,6 +59,9 @@ components: type: boolean example: true default: false + serverVersion: + type: string + description: The server version region: description: The region used to search. type: string From 9b3cb4ed33e05062e2aef445a9a28a77cba67522 Mon Sep 17 00:00:00 2001 From: Vito0912 <86927734+Vito0912@users.noreply.github.com> Date: Tue, 30 Jul 2024 17:34:04 +0200 Subject: [PATCH 09/15] Fixed some minor bugs and added to root --- docs/controllers/LibraryItemController.yaml | 8 +- docs/controllers/MeController.yaml | 2 + docs/objects/entities/PlaybackSession.yaml | 120 ++++++++++---------- docs/openapi.json | Bin 298894 -> 316108 bytes docs/root.yaml | 2 + 5 files changed, 72 insertions(+), 60 deletions(-) create mode 100644 docs/controllers/MeController.yaml diff --git a/docs/controllers/LibraryItemController.yaml b/docs/controllers/LibraryItemController.yaml index 60a7699a1b..6a3a346706 100644 --- a/docs/controllers/LibraryItemController.yaml +++ b/docs/controllers/LibraryItemController.yaml @@ -40,7 +40,7 @@ paths: description: TODO oneOf: - $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItem' - /api/items/{id}/play: + /api/items/{id}/play/{episodeId}: parameters: - name: id in: path @@ -48,6 +48,12 @@ paths: required: true schema: $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemId' + - name: episodeId + in: path + description: The ID of the episode to play. + required: false + schema: + $ref: '../objects/mediaTypes/Podcast.yaml#/components/schemas/podcastId' post: operationId: playLibraryItem summary: Play a library item. diff --git a/docs/controllers/MeController.yaml b/docs/controllers/MeController.yaml new file mode 100644 index 0000000000..cf62b84605 --- /dev/null +++ b/docs/controllers/MeController.yaml @@ -0,0 +1,2 @@ +paths: + diff --git a/docs/objects/entities/PlaybackSession.yaml b/docs/objects/entities/PlaybackSession.yaml index 0867e6d4ef..17004fb9fa 100644 --- a/docs/objects/entities/PlaybackSession.yaml +++ b/docs/objects/entities/PlaybackSession.yaml @@ -5,65 +5,67 @@ components: type: string format: uuid playbackSession: - id: - $ref: '#/components/schemas/playbackSessionId' - userId: - $ref: './User.yaml#/components/schemas/userId' - libraryId: - $ref: '../Library.yaml#/components/schemas/libraryId' - libraryItemId: - $ref: '../LibraryItem.yaml#/components/schemas/libraryItemId' - episodeId: - $ref: '../mediaTypes/Podcast.yaml#/components/schemas/episodeId' - nullable: true - mediaType: - $ref: '../../controllers/LibraryItemController.yaml#/components/schemas/libraryMediaType' - mediaMetadata: - description: The metadata of the media. - oneOf: - - $ref: '../mediaTypes/Book.yaml#/components/schemas/bookMinified' - - $ref: '../mediaTypes/Podcast.yaml#/components/schemas/podcastMinified' - chapters: - description: The chapters of the media. - type: array - items: - $ref: '../metadata/BookMetadata.yaml#/components/schemas/bookChapter' - displayTitle: - description: The display title of the media. - type: string - displayAuthor: - description: The display author of the media. - type: string - coverPath: - $ref: '../Book.yaml#/components/schemas/bookCoverPath' - duration: - $ref: '../schemas.yaml#/components/schemas/durationSec' - playMethod: - type: integer - description: The method used to play the media. 0 = Direct play, 1 = Direct Stream, 2 = Transcode, 3 = Local - mediaPlayer: - type: string - description: The media player used to play the media. - deviceInfo: - $ref: './Device.yaml#/components/schemas/deviceInfo' - serverVersion: - $ref: '../schemas.yaml#/components/schemas/serverVersion' - date: - description: TODO - type: String - dayOfWeek: - description: TODO - type: String - timeListening: - $ref: '../schemas.yaml#/components/schemas/durationSec' - startTime: - $ref: '../schemas.yaml#/components/schemas/durationSec' - currentTime: - $ref: '../schemas.yaml#/components/schemas/durationSec' - createdAt: - $ref: '../schemas.yaml#/components/schemas/createdAt' - updatedAt: - $ref: '../schemas.yaml#/components/schemas/updatedAt' + type: object + description: A playback session object. + properties: + id: + $ref: '#/components/schemas/playbackSessionId' + userId: + $ref: './User.yaml#/components/schemas/userId' + libraryId: + $ref: '../Library.yaml#/components/schemas/libraryId' + libraryItemId: + $ref: '../LibraryItem.yaml#/components/schemas/libraryItemId' + episodeId: + $ref: '../mediaTypes/Podcast.yaml#/components/schemas/podcastId' + mediaType: + $ref: '../mediaTypes/media.yaml#/components/schemas/mediaType' + mediaMetadata: + description: The metadata of the media. + oneOf: + - $ref: '../mediaTypes/Book.yaml#/components/schemas/bookMinified' + - $ref: '../mediaTypes/Podcast.yaml#/components/schemas/Podcast' + chapters: + description: The chapters of the media. + type: array + items: + $ref: '../metadata/BookMetadata.yaml#/components/schemas/bookChapter' + displayTitle: + description: The display title of the media. + type: string + displayAuthor: + description: The display author of the media. + type: string + coverPath: + $ref: '../mediaTypes/Book.yaml#/components/schemas/bookCoverPath' + duration: + $ref: '../../schemas.yaml#/components/schemas/durationSec' + playMethod: + type: integer + description: The method used to play the media. 0 = Direct play, 1 = Direct Stream, 2 = Transcode, 3 = Local + mediaPlayer: + type: string + description: The media player used to play the media. + deviceInfo: + $ref: './Device.yaml#/components/schemas/deviceInfo' + serverVersion: + $ref: '../../schemas.yaml#/components/schemas/serverVersion' + date: + description: TODO + type: string + dayOfWeek: + description: TODO + type: string + timeListening: + $ref: '../../schemas.yaml#/components/schemas/durationSec' + startTime: + $ref: '../../schemas.yaml#/components/schemas/durationSec' + currentTime: + $ref: '../../schemas.yaml#/components/schemas/durationSec' + createdAt: + $ref: '../../schemas.yaml#/components/schemas/createdAt' + updatedAt: + $ref: '../../schemas.yaml#/components/schemas/updatedAt' playbackSessionExpanded: description: Expanded playback session schema. allOf: diff --git a/docs/openapi.json b/docs/openapi.json index 9e2e04872117b71a0216be6e3a46df4111b1e161..9c2d854dd463ed36109bfdceab048129adb66f7d 100644 GIT binary patch delta 3045 zcmb7Ge@xtG8GnC#3)h48;P_df@TEmcDdX;FSNr3jhcav{rC@1m>yJ`7y28qVaNR)3 zcElNtiI;=7^2uD<vPEZ|MA@<wH47d|mvpW_F#h417)NV1&E_1$#F*-g&-*>@c2G1f z<Qwk$eLwH>KF{ZQKF{-pFFSAiFe~&le?{ynR4u^*6s3vmwJz4j&au;MX!=jDan8rC zR*tQ=PdB9tCm(a<V(Rz23XRu!XzXec!aw1;Yb?0>>f~+&qPz^DEBsB>{*8vzB{S-| z={($P;O^9xm|ewxo<k-<CJU7Nin;3djLlWb{BgSa=`;Zy;zpLAb+X4<7we$^2Uvie zVZB(qC=aA1EvWkAh3kT>mzivUU;*aG<-hTbi2PQRDf8M+wEtarGat0$c}5%^PvzZt zy{z9lpn(qRCkq`c$jECfJ}e)>RK3hCrDK;cCi5qu%s6ZK;DX$$V=IPxi0@GoO-_W~ zmeu3?WdYm`auZq%QLHB3@xn~y2eabl+Q{r_a(RGtVD{I%1W}Kyc<{{NM=<h4dk|oc ze!MgHmkhA;<Zho8N|3_zvqNO4hkmuOA=Zb{F}?*Yc3zIT%fcvK4mAlF1DnJS!C5En z*2x@P+9ch?a^u*`)tH~=yC`%MQ5!GP5pP1qvtlQad{zzr*&a_h7E6r7rP_fm3O>Oh zInqyWu}q$41MuwQJ!<N`MzjQEE+$6#IR20)-bLScxwp_NR`wM#(7_&KM`-f^{dG}v z0d@1`Pr|f`VdWlfPHm)5=UD)Ed-#_y{~^DQsgS6^!4onA?Uf=$h2G3|oFzMtlMU0# z#t`b?mm3@d32)-XUaF=}I+f|jUE54ngS6g=kr()8Ec}C4S^=xMaE)>YP4%j<ealxU z=#kUDLc{iX6?JB-1#YOxK^ugNxLFv{esGb#Hc`#EXfrk-R3bh%-YLDA9i*Kuaw|Y* z9n<{4(<ncI=ol5relFIp(LVQM@oQo;@lKWAD)Li3teUx5waR=kXM9lROEQ7OhxxXo zZ2=0i2c^Bzh51LNcl4YM?Wbfud@ds&(I-So+8K-3ATigEyB+dCR*%KZc~YQeJhrgU zPX%zlOqM4OUsJD345v@YJj>V`U9Fw!rG*kqydf*sS+5k7N%Wn;2W8Te*qYfzqC2be zXXU}eYA`z^wh=dvCB?2=2Yj#bltZypnXH~R_^EPwi77uBPUfu2%HUbc;7Z&P*1$eX z>oE!)d&LG#X*w?aP8Pw}E1TpFwi|anVoN-0{J>~!A*P(t{eQF{6?wK8=26)l-;I0w z41e-QoUWC%tEbqdd|%j;l^ltceXWV#$WqKhnDMl3R||vQv?M5I!?GSTPYBzxB(|Ou z+tl1GZ>DZH%hT9;N7SbF5P_5`jNFzT@fS7n`bLCKNppD;TxkC*_fjZJiCJ<>Wt{Ql ztSU?VY*KC=|B<NJxO_R*uoJq)Wt)*_6+ae+g%iFRN=JK@Q4ZfMm86xZ<WkTTZ%HA# zPNt}^HwD9$A_If9+^Hga@*T?$JA#KAsYgd{h@DmuMLr{plBH>t=p!pUQg2+@hK$?d z`*|yYOAQCVx+y=6TNQ>4?|hS2=v-jtgwcTZX1-H}{@IQ8G+Bel1#uPTcH>n<KNNNq zzEx!*FTEw&@O;2<Vy;J&#d@!~iy|NHHrAuM*05vpi$<A>o~lv4;&N+G(>-CwrTf%5 zB3pP>;`4kjcdLbhVobfw3v_|B#oEiBgT&$U+GgC`EfhT?&Z(k_^}G$E$At^Neo+Ot zU)u4?A4Nd|xPy9c`S?X%Y+>tBct?7Yu-6P~pwT-refb8fI1%0_ZD{$P_$At(6f>D| z_70H}gIeTxu0rlcXrplq6mZH@TK8JK)b<IYf5pZ?e4~Dk$ym>;*x;xpl$)MfdKyUl z@zMR!K+*E|tco~7_B5W_AR|;2t67324dj?0^fKGNwAw`9I@D9Im%taM2JU`Kq$GwK z39KuTLZg25;r21&L+LfSH{Lv~)-%4tXnyb>qe@@cy{bSgnflfx$!1BYI;Y%^krUz} z?J)IIB^ve2&etmrKd~~z4pXN;P7HNo_Ndsp0*6Qobs)MA;N~u4ufAY?CoM?Z`ia&y z8aJ(B*@?L)MKj)g*zoH0Z)4)RoKWr;ix9QT3Ai`&y8ku9k=HF<6n$~+BW#dnitbu^ zO6t;x7e##duMjOE=sIPUOAlHP8YO7@mw5WWDp+?^>tZ%{L)5`^7}@y2IeARcEW}^F zE~t#(CuJ;?&?e<Bu&afaKBaFwb-GvMg2Sk`ZUJiHJyS2Q)z?<-aW8&xlte}sJ9kdv z8~GT!)6wMxi!P&3QZ>W1L3nh7s)O&#!e<E_EmwtsjQcVhX0K7C?;q&9En4*TI9DHd X67wFBjj4Xp>12Q9bY#Hzcj12ksvuY< delta 46 zcmX@JRJd=xP(usj7A6bn$$OYM+PRFFfS7qZmk|p`#PkhCjB=CL6lrZgw~ghWGyrW{ B5EuXe diff --git a/docs/root.yaml b/docs/root.yaml index cc6cf7e111..b920e09a1c 100644 --- a/docs/root.yaml +++ b/docs/root.yaml @@ -83,6 +83,8 @@ paths: $ref: './controllers/AuthController.yaml#/paths/~1logout' /api/items/{id}: $ref: './controllers/LibraryItemController.yaml#/paths/~1api~1items~1{id}' + /api/items/{id}/play/{episodeId}: + $ref: './controllers/LibraryItemController.yaml#/paths/~1api~1items~1{id}~1play~1{episodeId}' tags: - name: Authors description: Author endpoints From b0d85a8dd92173dadae2f1d818c466711c356e82 Mon Sep 17 00:00:00 2001 From: Vito0912 <86927734+Vito0912@users.noreply.github.com> Date: Tue, 30 Jul 2024 17:37:22 +0200 Subject: [PATCH 10/15] Added /api/me endpoint --- docs/controllers/MeController.yaml | 15 ++++++++++++++- docs/openapi.json | Bin 316108 -> 317168 bytes docs/root.yaml | 2 ++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/controllers/MeController.yaml b/docs/controllers/MeController.yaml index cf62b84605..166312f782 100644 --- a/docs/controllers/MeController.yaml +++ b/docs/controllers/MeController.yaml @@ -1,2 +1,15 @@ paths: - + /api/me: + get: + operationId: getMe + summary: Get the current user. + description: Get the current user. + tags: + - Me + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '../objects/entities/User.yaml#/components/schemas/user' diff --git a/docs/openapi.json b/docs/openapi.json index 9c2d854dd463ed36109bfdceab048129adb66f7d..25cdf1964c9d8090aa18d3d6a9e777a0c87cb78e 100644 GIT binary patch delta 159 zcmX@JRQSVM;f5B*Elf;ClLJbmCMSu@Om?{M#ppZTa5kgt<Od~UlQ;b15G`TIU`S<9 zU`S>tWher|RE9i;lIe+#Eb5aDcBtWzo_;})QH#-ca$t|-<OJmz(+>zSewpkLZ8hDd nkcDIVyWfmz(+l*NVkRd9nN8lq#L>=W#0135+qsNb4lMux_~tTM delta 32 ncmeycR`|?P;f5B*Elf;C)9+kk;c7Q9V*+C4?FMEn2NnPT)&2|H diff --git a/docs/root.yaml b/docs/root.yaml index b920e09a1c..a706e40410 100644 --- a/docs/root.yaml +++ b/docs/root.yaml @@ -85,6 +85,8 @@ paths: $ref: './controllers/LibraryItemController.yaml#/paths/~1api~1items~1{id}' /api/items/{id}/play/{episodeId}: $ref: './controllers/LibraryItemController.yaml#/paths/~1api~1items~1{id}~1play~1{episodeId}' + /api/me: + $ref: './controllers/MeController.yaml#/paths/~1api~1me' tags: - name: Authors description: Author endpoints From 5e63efd8108f5085d8d3809b489328bb214facb5 Mon Sep 17 00:00:00 2001 From: Vito0912 <86927734+Vito0912@users.noreply.github.com> Date: Tue, 30 Jul 2024 17:44:26 +0200 Subject: [PATCH 11/15] Added two endpoints --- docs/controllers/MeController.yaml | 62 +++++++++++++++++++++++++++++ docs/openapi.json | Bin 317168 -> 322500 bytes docs/root.yaml | 4 ++ 3 files changed, 66 insertions(+) diff --git a/docs/controllers/MeController.yaml b/docs/controllers/MeController.yaml index 166312f782..e8165b3221 100644 --- a/docs/controllers/MeController.yaml +++ b/docs/controllers/MeController.yaml @@ -13,3 +13,65 @@ paths: application/json: schema: $ref: '../objects/entities/User.yaml#/components/schemas/user' + /api/me/progress/{libraryItemId}/{episodeId}: + parameters: + - name: libraryItemId + in: path + description: The ID of the library item. + required: true + schema: + $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemId' + - name: episodeId + in: path + description: The ID of the episode to get progress for. + required: false + schema: + $ref: '../objects/mediaTypes/Podcast.yaml#/components/schemas/podcastId' + get: + operationId: getProgress + summary: Get the user's progress for a library item. + description: Get the user's progress for a library item. + tags: + - Me + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../objects/Media.yaml#/components/schemas/mediaProgress' + '404': + description: Not Found + content: + html/text: + schema: + type: string + example: Not Found + /api/me/progress/{mediaId}: + parameters: + - name: mediaId + in: path + description: The ID of the media progress. + required: true + schema: + $ref: '../objects/Media.yaml#/components/schemas/mediaProgressId' + get: + operationId: getProgressById + summary: Get the user's progress for a media item. + description: Get the user's progress for a media item. + tags: + - Me + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../objects/Media.yaml#/components/schemas/mediaProgress' + '404': + description: Not Found + content: + html/text: + schema: + type: string + example: Not Found diff --git a/docs/openapi.json b/docs/openapi.json index 25cdf1964c9d8090aa18d3d6a9e777a0c87cb78e..d72acb3e6c09550a6ce5feff97d145f55ca83ea1 100644 GIT binary patch delta 549 zcmeycR`|$u;f5B*Elg@=lLJbmBy$;38T1(n7>XG38Pb7dDnl_4>N8YN7vyD<W~`l_ zFU{0HU2Or2%;dI-(<bq8ZTI0}5@MXJpy@RIhb+^k=|*Bqc9S0juuVTOfe~nAo6+Qk zc{bAzY+=lr9Kh)@y{LjkXu5|9lh|a1bqdoJjF~v5|4CutnBEY`!ZzI?04VuEl!<3D z#|}QA+0*AJFj-ADc)&qW;U5Jix9M%hK>P2BGrgL8;hf9#Z$2yn)8A}mR+_$G8KczX z2U0wfFT`3+7O2Ua?qJBoGyPdEV+3~wLkUAJLk`e`CDUum7>y@SxV2!qg(1@md8~l| zRGZ3>!jQ?3IK5GtsdjSB3ob^_$&C|xr+@HbF`Ing1>58RTdT<vuI5ZvkYwfpxxrw1 z!Cpoikl*<OP(yX{!pV*}JvLn^m_={We+~Q!rXMh6)S;%oPffpbjfJb-z>EoqnYSC5 Iu^d<c0HheWF#rGn delta 32 ncmX?dUHHRV;f5B*Elg@=(>J_k;c92`W&&d7?JV9b2NnPT*=-Ba diff --git a/docs/root.yaml b/docs/root.yaml index a706e40410..ff2c6f21fc 100644 --- a/docs/root.yaml +++ b/docs/root.yaml @@ -87,6 +87,10 @@ paths: $ref: './controllers/LibraryItemController.yaml#/paths/~1api~1items~1{id}~1play~1{episodeId}' /api/me: $ref: './controllers/MeController.yaml#/paths/~1api~1me' + /api/me/progress/{libraryItemId}/{episodeId}: + $ref: './controllers/MeController.yaml#/paths/~1api~1me~1progress~1{libraryItemId}~1{episodeId}' + /api/me/progress/{mediaId}: + $ref: './controllers/MeController.yaml#/paths/~1api~1me~1progress~1{mediaId}' tags: - name: Authors description: Author endpoints From 811893f0fe7594fe883cb181001bc809a9846bb7 Mon Sep 17 00:00:00 2001 From: Vito0912 <86927734+Vito0912@users.noreply.github.com> Date: Tue, 30 Jul 2024 17:56:05 +0200 Subject: [PATCH 12/15] ABOVE NOT TESTED - Added sync endpoint --- docs/controllers/SessionController.yaml | 55 ++++++++++++++++++++++++ docs/openapi.json | Bin 322500 -> 327344 bytes docs/root.yaml | 2 + 3 files changed, 57 insertions(+) create mode 100644 docs/controllers/SessionController.yaml diff --git a/docs/controllers/SessionController.yaml b/docs/controllers/SessionController.yaml new file mode 100644 index 0000000000..70cab2843d --- /dev/null +++ b/docs/controllers/SessionController.yaml @@ -0,0 +1,55 @@ +paths: + /api/session/{id}/sync: + post: + operationId: syncOpenSession + summary: Sync an open session. + description: Sync an open session. + tags: + - Session + parameters: + - name: id + in: path + description: The ID of the session. + required: true + schema: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSessionId' + - name: currentTime + in: query + description: The current time of the session. + required: true + schema: + $ref: '../schemas.yaml#/components/schemas/durationSec' + - name: timeListened + in: query + description: The time listened to the session. + required: true + schema: + $ref: '../schemas.yaml#/components/schemas/durationSec' + - name: duration + in: query + description: The duration of the session. + required: true + schema: + $ref: '../schemas.yaml#/components/schemas/durationSec' + responses: + '200': + description: OK + content: + html/text: + schema: + type: string + example: OK + '404': + description: No listening session with the provided ID is open, or the session belongs to another user. + content: + html/text: + schema: + type: string + example: Not Found + '500': + description: There was an error syncing the session. + content: + html/text: + schema: + type: string + example: Internal Server Error diff --git a/docs/openapi.json b/docs/openapi.json index d72acb3e6c09550a6ce5feff97d145f55ca83ea1..c5edd27062000ca9547876cbe9f45d5a7972a069 100644 GIT binary patch delta 834 zcma)4O=uHA6n-;#CK_r8jnYz@bedKxQreXs3~D6@1)B(s^dN$u(ZnWFn{{_lL<A3l zw-PeeC!VT!5Ir;nwFf~Wi06V(J*f2JMLpDu2ch8G-OyP4L6(_$`+mOp-n{SC+gN=q zcKwEUB7bCb&gr7udx3EqY$!torePSavQ>a<Y}s&yJ!f_Pah%MO=+|?-iH@cd#=(Rl zhbMUFa=MrmdwVAQ3Q&;ekYYqXNpT9N(Y*(_gH%DNxQG0&yaAma+C}DPfx@O^^Vp-K zv(vg7GG?nHsOwL?lZ+4IAjcWEPd8Fwof}QLaawtYCUp<V1TD>DkY?5bowWK!?9<V& zO6M?2wb$55B@_wW2t}x|EHbpTAj7nKL`LZRISkYCa~avRPWun=kpdbUKw}O+-34y+ zD4#Ys?)%W5m>eJ#5~<tArLlFY6@elxBxT26+5ZMl&I@eU=}*5<R`;3mErp5yBC7Q2 z$Tm7XD8Ex%T7IORE12Y0+pMcIC$;hD2pJ@jbhnIMTh;|ZFZTzw>&$`n6Jv0Q=jArm zn(LrvTf93^;&z*J<{V#53eK>1%2U>)SLv|rtE1Aav1t6E9M<Xn)FQL81T*QTJ0vo- zXTed+1HH_0a<BD8RRoK_3NQCMUr1$^+a&*QpwW^AgL^Iaj&Ytl7mLq46H}gkEx6?Q g6da~+B>HsyR2!LLS)=+F4By18<P})NEH>tT0&>0dI{*Lx delta 32 ncmdn+SNO<v;f5B*Elj_>rqB7u!qxsEmI;WNw||IbIj{f#2$c`Q diff --git a/docs/root.yaml b/docs/root.yaml index ff2c6f21fc..63462a22ce 100644 --- a/docs/root.yaml +++ b/docs/root.yaml @@ -91,6 +91,8 @@ paths: $ref: './controllers/MeController.yaml#/paths/~1api~1me~1progress~1{libraryItemId}~1{episodeId}' /api/me/progress/{mediaId}: $ref: './controllers/MeController.yaml#/paths/~1api~1me~1progress~1{mediaId}' + /api/session/{id}/sync: + $ref: './controllers/SessionController.yaml#/paths/~1api~1session~1{id}~1sync' tags: - name: Authors description: Author endpoints From 7274b87aca6b359d626638a92a0931e5b9dca104 Mon Sep 17 00:00:00 2001 From: Vito0912 <86927734+Vito0912@users.noreply.github.com> Date: Thu, 1 Aug 2024 19:42:24 +0200 Subject: [PATCH 13/15] Added some new endpoints --- docs/controllers/MeController.yaml | 130 ++++++++++++++++++ docs/controllers/SessionController.yaml | 170 ++++++++++++++++++++++++ docs/openapi.json | Bin 327344 -> 353792 bytes docs/root.yaml | 18 +++ 4 files changed, 318 insertions(+) diff --git a/docs/controllers/MeController.yaml b/docs/controllers/MeController.yaml index e8165b3221..b461ea8862 100644 --- a/docs/controllers/MeController.yaml +++ b/docs/controllers/MeController.yaml @@ -1,3 +1,9 @@ +components: + schemas: + totalTime: + description: The total time listened in seconds. + type: integer + example: 123456 paths: /api/me: get: @@ -75,3 +81,127 @@ paths: schema: type: string example: Not Found + /api/me/listening-sessions: + get: + operationId: getListeningSessions + summary: Get all listening sessions for the current user. + description: Get all listening sessions for the current user. + tags: + - Me + parameters: + - name: itemsPerPage + in: query + description: The number of items per page. + required: true + schema: + $ref: '../schemas.yaml#/components/schemas/limit' + - name: page + in: query + description: The page number (zero indexed) to return. + required: true + schema: + $ref: '../schemas.yaml#/components/schemas/page' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + total: + $ref: '../schemas.yaml#/components/schemas/total' + numPages: + description: The number of pages. + type: integer + itemsPerPage: + $ref: '../schemas.yaml#/components/schemas/limit' + sessions: + type: array + items: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSession' + /api/me/items-in-progress: + get: + operationId: getItemsInProgress + summary: Get all items in progress for the current user. + description: Get all items in progress for the current user. + tags: + - Me + parameters: + - name: limit + in: query + description: The number of items to return. + required: false + schema: + $ref: '../schemas.yaml#/components/schemas/limit' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + total: + $ref: '../schemas.yaml#/components/schemas/total' + numPages: + description: The number of pages. + type: integer + itemsPerPage: + $ref: '../schemas.yaml#/components/schemas/limit' + items: + type: array + items: + $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemMinified' + /api/me/listening-stats: + get: + operationId: getListeningStats + summary: Get listening stats for the current user. + description: Get listening stats for the current user. + tags: + - Me + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + totalTime: + $ref: '#/components/schemas/totalTime' + items: + type: object + description: A list of library items the user has listened to, keyed by their item IDs. + additionalProperties: + type: object + properties: + id: + type: string + description: The ID of the library item. + timeListening: + type: integer + description: The time (in seconds) the user listened to this library item. + mediaMetadata: + oneOf: + - $ref: '../objects/metadata/BookMetadata.yaml#/components/schemas/bookMetadata' + - $ref: '../objects/metadata/PodcastMetadata.yaml#/components/schemas/PodcastMetadata' + days: + type: object + description: A mapping of days to total listening times. + additionalProperties: + type: integer + description: The total time (in seconds) listened to on that day. + dayOfWeek: + type: object + description: A mapping of days of the week to total listening times. + additionalProperties: + type: integer + description: The total time (in seconds) listened to on that day of the week. + today: + type: integer + description: The time (in seconds) the user has listened to library items today. + recentSessions: + type: array + items: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSession' diff --git a/docs/controllers/SessionController.yaml b/docs/controllers/SessionController.yaml index 70cab2843d..3a1f17057f 100644 --- a/docs/controllers/SessionController.yaml +++ b/docs/controllers/SessionController.yaml @@ -53,3 +53,173 @@ paths: schema: type: string example: Internal Server Error + /api/sessions/{id}: + delete: + operationId: deleteSession + summary: Delets a listening session. + description: Deletes a listening session. + tags: + - Session + parameters: + - name: id + in: path + description: The ID of the session. + required: true + schema: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSessionId' + responses: + '200': + description: OK + content: + html/text: + schema: + type: string + example: OK + '403': + description: A user with delete permissions is required to delete sessions. + content: + html/text: + schema: + type: string + example: Forbidden + '404': + description: No listening session with the provided ID was found. + content: + html/text: + schema: + type: string + example: Not Found + /api/session/{id}/close: + post: + operationId: closeSession + summary: Close a listening session. + description: Close a listening session. + tags: + - Session + parameters: + - name: id + in: path + description: The ID of the session. + required: true + schema: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSessionId' + - name: currentTime + in: query + description: The current time of the session. + required: false + schema: + $ref: '../schemas.yaml#/components/schemas/durationSec' + - name: timeListened + in: query + description: The time listened to the session. + required: false + schema: + $ref: '../schemas.yaml#/components/schemas/durationSec' + - name: duration + in: query + description: The duration of the session. + required: false + schema: + $ref: '../schemas.yaml#/components/schemas/durationSec' + responses: + '200': + description: OK + content: + html/text: + schema: + type: string + example: OK + '404': + description: No listening session with the provided ID is open, or the session belongs to another user. + content: + html/text: + schema: + type: string + example: Not Found + /api/session/{id}: + get: + operationId: getSession + summary: Get a listening session. + description: Get a listening session. + tags: + - Session + parameters: + - name: id + in: path + description: The ID of the session. + required: true + schema: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSessionId' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSessionExpanded' + '404': + description: No listening session with the provided ID was found. + content: + html/text: + schema: + type: string + example: Not Found + /api/sessions: + get: + operationId: getSessions + summary: Get all listening sessions. + description: Get all listening sessions. + tags: + - Session + parameters: + - name: user + in: query + description: The ID of the user to filter listening sessions by. + required: false + schema: + $ref: '../objects/entities/User.yaml#/components/schemas/userId' + - name: itemsPerPage + in: query + description: The number of items to return. + required: false + schema: + $ref: '../schemas.yaml#/components/schemas/limit' + - name: page + in: query + description: The page number (zero indexed) to return. + required: false + schema: + $ref: '../schemas.yaml#/components/schemas/page' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + results: + type: array + items: + $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemBase' + total: + $ref: '../schemas.yaml#/components/schemas/total' + itemsPerPage: + $ref: '../schemas.yaml#/components/schemas/limit' + numPages: + description: The number of pages. + type: integer + example: 10 + userFilter: + description: If provided, the `user` parameter. + sessions: + type: array + items: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSession' + '404': + description: No listening sessions were found. + content: + html/text: + schema: + type: string + example: Not Found diff --git a/docs/openapi.json b/docs/openapi.json index c5edd27062000ca9547876cbe9f45d5a7972a069..97ce3d814827371d8afee1ed3080965b5fba1ec1 100644 GIT binary patch delta 2994 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 delta 64 zcmZoTBf8<Q@P<olllL%*HDBUrzr?|~{SpV$zp&|VQdzm$MUF55G4pnjBP>-dlON>C UO+FK(HT}R*Ccf<gUaTLa0hFg3DF6Tf diff --git a/docs/root.yaml b/docs/root.yaml index 63462a22ce..b93d88a689 100644 --- a/docs/root.yaml +++ b/docs/root.yaml @@ -93,6 +93,18 @@ paths: $ref: './controllers/MeController.yaml#/paths/~1api~1me~1progress~1{mediaId}' /api/session/{id}/sync: $ref: './controllers/SessionController.yaml#/paths/~1api~1session~1{id}~1sync' + /api/sessions/{id}: + $ref: './controllers/SessionController.yaml#/paths/~1api~1sessions~1{id}' + /api/session/{id}/close: + $ref: './controllers/SessionController.yaml#/paths/~1api~1session~1{id}~1close' + /api/session/{id}: + $ref: './controllers/SessionController.yaml#/paths/~1api~1session~1{id}' + /api/sessions: + $ref: './controllers/SessionController.yaml#/paths/~1api~1sessions' + /api/me/listening-sessions: + $ref: './controllers/MeController.yaml#/paths/~1api~1me~1listening-sessions' + /api/me/listening-stats: + $ref: './controllers/MeController.yaml#/paths/~1api~1me~1listening-stats' tags: - name: Authors description: Author endpoints @@ -106,3 +118,9 @@ tags: description: Notifications endpoints - name: Podcasts description: Podcast endpoints + - name: Auth + description: Authentication endpoints + - name: Me + description: User endpoints + - name: Session + description: Session endpoints From 3a91092fbfad18693cf87ba254a2c819cea2e574 Mon Sep 17 00:00:00 2001 From: Nicholas W <nicholaslwallace@gmail.com> Date: Sun, 4 Aug 2024 00:00:32 -0700 Subject: [PATCH 14/15] Schema updates from August 3 (#1) * Update: formatting * Fix: libraryItemController `play` endpoint + Endpoints cannot have optional path parameters + Moved schemas to `components` section * Fix: MeController optional path parameters * Fix: Books do not have `episodeId` in `mediaProgress` * Fix: `PlaybackSession` oneOf between book and podcast * Update: bundled spec * Fix: `allowReserved` in LibraryItem include query * Add: tags to AuthController endpoints * Fix: summary of play endpoints * Update: bundled spec --- docs/controllers/AuthController.yaml | 7 +- docs/controllers/LibraryItemController.yaml | 192 +++++++++----- docs/controllers/MeController.yaml | 238 +++++++++--------- docs/controllers/SessionController.yaml | 266 ++++++++++---------- docs/objects/Bookmarks.yaml | 4 +- docs/objects/LibraryItem.yaml | 20 +- docs/objects/Media.yaml | 68 +++-- docs/objects/entities/Device.yaml | 40 +-- docs/objects/entities/PlaybackSession.yaml | 79 ++++-- docs/objects/files/AudioFile.yaml | 31 ++- docs/objects/metadata/BookMetadata.yaml | 35 +-- docs/openapi.json | Bin 353792 -> 177228 bytes docs/root.yaml | 6 +- 13 files changed, 553 insertions(+), 433 deletions(-) diff --git a/docs/controllers/AuthController.yaml b/docs/controllers/AuthController.yaml index 62c71b1c16..0b148feea8 100644 --- a/docs/controllers/AuthController.yaml +++ b/docs/controllers/AuthController.yaml @@ -4,6 +4,8 @@ paths: summary: Login to the server description: Logs in a client to the server, returning information about the user and server. operationId: login + tags: + - Auth requestBody: required: true content: @@ -15,9 +17,6 @@ paths: $ref: '../objects/entities/User.yaml#/components/schemas/username' password: $ref: '../objects/entities/User.yaml#/components/schemas/password' - required: - - username - - password responses: '200': description: Success @@ -40,6 +39,8 @@ paths: summary: Logout from the server description: Logs out a client from the server. If the socketId parameter is provided, the server removes the socket from the client list. operationId: logout + tags: + - Auth requestBody: required: true content: diff --git a/docs/controllers/LibraryItemController.yaml b/docs/controllers/LibraryItemController.yaml index 6a3a346706..013b94a6fb 100644 --- a/docs/controllers/LibraryItemController.yaml +++ b/docs/controllers/LibraryItemController.yaml @@ -1,3 +1,69 @@ +components: + schemas: + parameters: + include: + in: query + name: include + description: A comma separated list of what to include with the library item. The options are progress, rssfeed, authors (for books), and downloads (for podcasts). expanded must be 1 for include to have an effect. + allowReserved: true + schema: + type: string + expanded: + in: query + name: expanded + description: Whether to return Library Item Expanded instead. 0 for false, 1 for true. + schema: + type: integer + example: 1 + episode: + in: query + name: episode + description: If requesting progress for a podcast, the episode ID to get progress for. + schema: + $ref: '../objects/mediaTypes/Podcast.yaml#/components/schemas/podcastId' + deviceInfo: + in: query + name: deviceInfo + description: The device information to send to the server. + schema: + $ref: '../objects/entities/Device.yaml#/components/schemas/deviceInfo' + forceDirectPlay: + in: query + name: forceDirectPlay + description: Whether to force direct play of the library item. + schema: + type: boolean + example: false + forceTranscode: + in: query + name: forceTranscode + description: Whether to force transcoding of the library item. + schema: + type: boolean + example: false + supportedMimeTypes: + in: query + name: supportedMimeTypes + description: The supported mime types for the device. + schema: + type: array + items: + type: string + mediaPlayer: + in: query + name: mediaPlayer + description: The media player to use. + schema: + type: string + responses: + libraryItem404: + description: Not Found + content: + text/html: + schema: + type: string + description: The library item does not exist. + example: Not Found paths: /api/items/{id}: parameters: @@ -14,32 +80,50 @@ paths: tags: - LibraryItem parameters: - - in: query - name: include - description: A comma separated list of what to include with the library item. The options are progress, rssfeed, authors (for books), and downloads (for podcasts). expanded must be 1 for include to have an effect. - schema: - type: string - - in: query - name: expanded - description: Whether to return Library Item Expanded instead. 0 for false, 1 for true. - schema: - type: integer - example: 1 - - in: query - name: episode - description: If requesting progress for a podcast, the episode ID to get progress for. - schema: - $ref: '../objects/mediaTypes/Podcast.yaml#/components/schemas/podcastId' + - $ref: '#/components/schemas/parameters/include' + - $ref: '#/components/schemas/parameters/expanded' + - $ref: '#/components/schemas/parameters/episode' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: TODO + oneOf: + - $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItem' + '404': + $ref: '#/components/responses/libraryItem404' + /api/items/{id}/play: + parameters: + - name: id + in: path + description: The ID of the library item. + required: true + schema: + $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemId' + post: + operationId: playLibraryItem + summary: Play a library item + description: Play a library item by ID. + tags: + - LibraryItem + parameters: + - $ref: '#/components/schemas/parameters/deviceInfo' + - $ref: '#/components/schemas/parameters/forceDirectPlay' + - $ref: '#/components/schemas/parameters/forceTranscode' + - $ref: '#/components/schemas/parameters/supportedMimeTypes' + - $ref: '#/components/schemas/parameters/mediaPlayer' responses: '200': - description: OK - content: - application/json: - schema: - type: object - description: TODO - oneOf: - - $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItem' + description: OK + content: + application/json: + schema: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSessionExpanded' + '404': + $ref: '#/components/responses/libraryItem404' /api/items/{id}/play/{episodeId}: parameters: - name: id @@ -51,57 +135,27 @@ paths: - name: episodeId in: path description: The ID of the episode to play. - required: false + required: true schema: $ref: '../objects/mediaTypes/Podcast.yaml#/components/schemas/podcastId' post: - operationId: playLibraryItem - summary: Play a library item. - description: Play a library item. + operationId: playLibraryItemPodcastEpisode + summary: Play a podcast episode + description: Play a podcast by library item ID and episode ID. tags: - LibraryItem parameters: - - in: query - name: deviceInfo - description: The device information to send to the server. - schema: - $ref: '../objects/entities/Device.yaml#/components/schemas/deviceInfo' - - in: query - name: forceDirectPlay - description: Whether to force direct play of the library item. - schema: - type: boolean - example: false - - in: query - name: forceTranscode - description: Whether to force transcoding of the library item. - schema: - type: boolean - example: false - - in: query - name: supportedMimeTypes - description: The supported mime types for the device. - schema: - type: array - items: - type: string - - in: query - name: mediaPlayer - description: The media player to use. - schema: - type: string + - $ref: '#/components/schemas/parameters/deviceInfo' + - $ref: '#/components/schemas/parameters/forceDirectPlay' + - $ref: '#/components/schemas/parameters/forceTranscode' + - $ref: '#/components/schemas/parameters/supportedMimeTypes' + - $ref: '#/components/schemas/parameters/mediaPlayer' responses: '200': - description: OK - content: - application/json: - schema: - $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSessionExpanded' + description: OK + content: + application/json: + schema: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSessionExpanded' '404': - description: Not Found - content: - text/html: - schema: - type: string - description: The library item does not have any audio tracks to play. - example: Not Found + $ref: '#/components/responses/libraryItem404' diff --git a/docs/controllers/MeController.yaml b/docs/controllers/MeController.yaml index b461ea8862..6cf1c5a72e 100644 --- a/docs/controllers/MeController.yaml +++ b/docs/controllers/MeController.yaml @@ -4,6 +4,14 @@ components: description: The total time listened in seconds. type: integer example: 123456 + responses: + me404: + description: Not Found + content: + html/text: + schema: + type: string + example: Not Found paths: /api/me: get: @@ -14,12 +22,12 @@ paths: - Me responses: '200': - description: Success - content: - application/json: - schema: - $ref: '../objects/entities/User.yaml#/components/schemas/user' - /api/me/progress/{libraryItemId}/{episodeId}: + description: Success + content: + application/json: + schema: + $ref: '../objects/entities/User.yaml#/components/schemas/user' + /api/me/progress/{libraryItemId}: parameters: - name: libraryItemId in: path @@ -27,60 +35,50 @@ paths: required: true schema: $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemId' - - name: episodeId - in: path - description: The ID of the episode to get progress for. - required: false - schema: - $ref: '../objects/mediaTypes/Podcast.yaml#/components/schemas/podcastId' get: - operationId: getProgress + operationId: getProgressLibraryItem summary: Get the user's progress for a library item. description: Get the user's progress for a library item. tags: - Me responses: '200': - description: OK - content: - application/json: - schema: - $ref: '../objects/Media.yaml#/components/schemas/mediaProgress' + description: OK + content: + application/json: + schema: + $ref: '../objects/Media.yaml#/components/schemas/mediaProgress' '404': - description: Not Found - content: - html/text: - schema: - type: string - example: Not Found - /api/me/progress/{mediaId}: + $ref: '#/components/responses/me404' + /api/me/progress/{libraryItemId}/{episodeId}: parameters: - - name: mediaId + - name: libraryItemId in: path - description: The ID of the media progress. + description: The ID of the library item. required: true schema: - $ref: '../objects/Media.yaml#/components/schemas/mediaProgressId' + $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemId' + - name: episodeId + in: path + description: The ID of the episode to get progress for. + required: true + schema: + $ref: '../objects/mediaTypes/Podcast.yaml#/components/schemas/podcastId' get: - operationId: getProgressById - summary: Get the user's progress for a media item. - description: Get the user's progress for a media item. + operationId: getProgressPodcastEpisode + summary: Get the user's progress for a podcast episode. + description: Get the user's progress for a podcast episode. tags: - Me responses: '200': - description: OK - content: - application/json: - schema: - $ref: '../objects/Media.yaml#/components/schemas/mediaProgress' + description: OK + content: + application/json: + schema: + $ref: '../objects/Media.yaml#/components/schemas/mediaProgressPodcastEpisode' '404': - description: Not Found - content: - html/text: - schema: - type: string - example: Not Found + $ref: '#/components/responses/me404' /api/me/listening-sessions: get: operationId: getListeningSessions @@ -94,32 +92,32 @@ paths: description: The number of items per page. required: true schema: - $ref: '../schemas.yaml#/components/schemas/limit' + $ref: '../schemas.yaml#/components/schemas/limit' - name: page in: query description: The page number (zero indexed) to return. required: true schema: - $ref: '../schemas.yaml#/components/schemas/page' + $ref: '../schemas.yaml#/components/schemas/page' responses: '200': - description: OK - content: - application/json: - schema: - type: object - properties: - total: - $ref: '../schemas.yaml#/components/schemas/total' - numPages: - description: The number of pages. - type: integer - itemsPerPage: - $ref: '../schemas.yaml#/components/schemas/limit' - sessions: - type: array - items: - $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSession' + description: OK + content: + application/json: + schema: + type: object + properties: + total: + $ref: '../schemas.yaml#/components/schemas/total' + numPages: + description: The number of pages. + type: integer + itemsPerPage: + $ref: '../schemas.yaml#/components/schemas/limit' + sessions: + type: array + items: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSession' /api/me/items-in-progress: get: operationId: getItemsInProgress @@ -133,26 +131,26 @@ paths: description: The number of items to return. required: false schema: - $ref: '../schemas.yaml#/components/schemas/limit' + $ref: '../schemas.yaml#/components/schemas/limit' responses: '200': - description: OK - content: - application/json: - schema: - type: object - properties: - total: - $ref: '../schemas.yaml#/components/schemas/total' - numPages: - description: The number of pages. - type: integer - itemsPerPage: - $ref: '../schemas.yaml#/components/schemas/limit' - items: - type: array - items: - $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemMinified' + description: OK + content: + application/json: + schema: + type: object + properties: + total: + $ref: '../schemas.yaml#/components/schemas/total' + numPages: + description: The number of pages. + type: integer + itemsPerPage: + $ref: '../schemas.yaml#/components/schemas/limit' + items: + type: array + items: + $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemMinified' /api/me/listening-stats: get: operationId: getListeningStats @@ -162,46 +160,46 @@ paths: - Me responses: '200': - description: OK - content: - application/json: - schema: + description: OK + content: + application/json: + schema: + type: object + properties: + totalTime: + $ref: '#/components/schemas/totalTime' + items: + type: object + description: A list of library items the user has listened to, keyed by their item IDs. + additionalProperties: type: object properties: - totalTime: - $ref: '#/components/schemas/totalTime' - items: - type: object - description: A list of library items the user has listened to, keyed by their item IDs. - additionalProperties: - type: object - properties: - id: - type: string - description: The ID of the library item. - timeListening: - type: integer - description: The time (in seconds) the user listened to this library item. - mediaMetadata: - oneOf: - - $ref: '../objects/metadata/BookMetadata.yaml#/components/schemas/bookMetadata' - - $ref: '../objects/metadata/PodcastMetadata.yaml#/components/schemas/PodcastMetadata' - days: - type: object - description: A mapping of days to total listening times. - additionalProperties: - type: integer - description: The total time (in seconds) listened to on that day. - dayOfWeek: - type: object - description: A mapping of days of the week to total listening times. - additionalProperties: - type: integer - description: The total time (in seconds) listened to on that day of the week. - today: - type: integer - description: The time (in seconds) the user has listened to library items today. - recentSessions: - type: array - items: - $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSession' + id: + type: string + description: The ID of the library item. + timeListening: + type: integer + description: The time (in seconds) the user listened to this library item. + mediaMetadata: + oneOf: + - $ref: '../objects/metadata/BookMetadata.yaml#/components/schemas/bookMetadata' + - $ref: '../objects/metadata/PodcastMetadata.yaml#/components/schemas/PodcastMetadata' + days: + type: object + description: A mapping of days to total listening times. + additionalProperties: + type: integer + description: The total time (in seconds) listened to on that day. + dayOfWeek: + type: object + description: A mapping of days of the week to total listening times. + additionalProperties: + type: integer + description: The total time (in seconds) listened to on that day of the week. + today: + type: integer + description: The time (in seconds) the user has listened to library items today. + recentSessions: + type: array + items: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSession' diff --git a/docs/controllers/SessionController.yaml b/docs/controllers/SessionController.yaml index 3a1f17057f..20c97e4034 100644 --- a/docs/controllers/SessionController.yaml +++ b/docs/controllers/SessionController.yaml @@ -18,41 +18,41 @@ paths: description: The current time of the session. required: true schema: - $ref: '../schemas.yaml#/components/schemas/durationSec' + $ref: '../schemas.yaml#/components/schemas/durationSec' - name: timeListened in: query description: The time listened to the session. required: true schema: - $ref: '../schemas.yaml#/components/schemas/durationSec' + $ref: '../schemas.yaml#/components/schemas/durationSec' - name: duration in: query description: The duration of the session. required: true schema: - $ref: '../schemas.yaml#/components/schemas/durationSec' + $ref: '../schemas.yaml#/components/schemas/durationSec' responses: '200': - description: OK - content: - html/text: - schema: - type: string - example: OK + description: OK + content: + html/text: + schema: + type: string + example: OK '404': - description: No listening session with the provided ID is open, or the session belongs to another user. - content: - html/text: - schema: - type: string - example: Not Found + description: No listening session with the provided ID is open, or the session belongs to another user. + content: + html/text: + schema: + type: string + example: Not Found '500': - description: There was an error syncing the session. - content: - html/text: - schema: - type: string - example: Internal Server Error + description: There was an error syncing the session. + content: + html/text: + schema: + type: string + example: Internal Server Error /api/sessions/{id}: delete: operationId: deleteSession @@ -69,26 +69,26 @@ paths: $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSessionId' responses: '200': - description: OK - content: - html/text: - schema: - type: string - example: OK + description: OK + content: + html/text: + schema: + type: string + example: OK '403': - description: A user with delete permissions is required to delete sessions. - content: - html/text: - schema: - type: string - example: Forbidden + description: A user with delete permissions is required to delete sessions. + content: + html/text: + schema: + type: string + example: Forbidden '404': - description: No listening session with the provided ID was found. - content: - html/text: - schema: - type: string - example: Not Found + description: No listening session with the provided ID was found. + content: + html/text: + schema: + type: string + example: Not Found /api/session/{id}/close: post: operationId: closeSession @@ -123,103 +123,103 @@ paths: $ref: '../schemas.yaml#/components/schemas/durationSec' responses: '200': - description: OK - content: - html/text: - schema: - type: string - example: OK + description: OK + content: + html/text: + schema: + type: string + example: OK '404': - description: No listening session with the provided ID is open, or the session belongs to another user. - content: - html/text: - schema: - type: string - example: Not Found + description: No listening session with the provided ID is open, or the session belongs to another user. + content: + html/text: + schema: + type: string + example: Not Found /api/session/{id}: get: - operationId: getSession - summary: Get a listening session. - description: Get a listening session. - tags: - - Session - parameters: - - name: id - in: path - description: The ID of the session. - required: true + operationId: getSession + summary: Get a listening session. + description: Get a listening session. + tags: + - Session + parameters: + - name: id + in: path + description: The ID of the session. + required: true + schema: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSessionId' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSessionExpanded' + '404': + description: No listening session with the provided ID was found. + content: + html/text: schema: - $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSessionId' - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSessionExpanded' - '404': - description: No listening session with the provided ID was found. - content: - html/text: - schema: - type: string - example: Not Found + type: string + example: Not Found /api/sessions: get: - operationId: getSessions - summary: Get all listening sessions. - description: Get all listening sessions. - tags: - - Session - parameters: - - name: user - in: query - description: The ID of the user to filter listening sessions by. - required: false - schema: - $ref: '../objects/entities/User.yaml#/components/schemas/userId' - - name: itemsPerPage - in: query - description: The number of items to return. - required: false - schema: - $ref: '../schemas.yaml#/components/schemas/limit' - - name: page - in: query - description: The page number (zero indexed) to return. - required: false - schema: - $ref: '../schemas.yaml#/components/schemas/page' - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - results: - type: array - items: - $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemBase' - total: - $ref: '../schemas.yaml#/components/schemas/total' - itemsPerPage: - $ref: '../schemas.yaml#/components/schemas/limit' - numPages: - description: The number of pages. - type: integer - example: 10 - userFilter: - description: If provided, the `user` parameter. - sessions: - type: array - items: - $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSession' - '404': - description: No listening sessions were found. - content: - html/text: - schema: - type: string - example: Not Found + operationId: getSessions + summary: Get all listening sessions. + description: Get all listening sessions. + tags: + - Session + parameters: + - name: user + in: query + description: The ID of the user to filter listening sessions by. + required: false + schema: + $ref: '../objects/entities/User.yaml#/components/schemas/userId' + - name: itemsPerPage + in: query + description: The number of items to return. + required: false + schema: + $ref: '../schemas.yaml#/components/schemas/limit' + - name: page + in: query + description: The page number (zero indexed) to return. + required: false + schema: + $ref: '../schemas.yaml#/components/schemas/page' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + results: + type: array + items: + $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemBase' + total: + $ref: '../schemas.yaml#/components/schemas/total' + itemsPerPage: + $ref: '../schemas.yaml#/components/schemas/limit' + numPages: + description: The number of pages. + type: integer + example: 10 + userFilter: + description: If provided, the `user` parameter. + sessions: + type: array + items: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSession' + '404': + description: No listening sessions were found. + content: + html/text: + schema: + type: string + example: Not Found diff --git a/docs/objects/Bookmarks.yaml b/docs/objects/Bookmarks.yaml index 0099b42cc3..07fd3256ba 100644 --- a/docs/objects/Bookmarks.yaml +++ b/docs/objects/Bookmarks.yaml @@ -7,7 +7,7 @@ components: bookmark: properties: libraryItemId: - $ref: 'LibraryItem.yaml#/components/schemas/libraryItemId' + $ref: './LibraryItem.yaml#/components/schemas/libraryItemId' title: type: string description: The title of the bookmark. @@ -15,4 +15,4 @@ components: time: $ref: '#/components/schemas/time' createdAt: - $ref: '../schemas.yaml#/components/schemas/createdAt' \ No newline at end of file + $ref: '../schemas.yaml#/components/schemas/createdAt' diff --git a/docs/objects/LibraryItem.yaml b/docs/objects/LibraryItem.yaml index ecf70127c0..51eb25623b 100644 --- a/docs/objects/LibraryItem.yaml +++ b/docs/objects/LibraryItem.yaml @@ -67,16 +67,16 @@ components: media: $ref: './mediaTypes/media.yaml#/components/schemas/mediaMinified' libraryItem: - type: object - description: A single item on the server, like a book or podcast. - allOf: - - $ref: '#/components/schemas/libraryItemBase' - - type: object - properties: - libraryFiles: - type: array - items: - $ref: './files/AudioFile.yaml#/components/schemas/libraryFile' + type: object + description: A single item on the server, like a book or podcast. + allOf: + - $ref: '#/components/schemas/libraryItemBase' + - type: object + properties: + libraryFiles: + type: array + items: + $ref: './files/AudioFile.yaml#/components/schemas/libraryFile' libraryItemSequence: type: object description: A single item on the server, like a book or podcast. Includes series sequence information. diff --git a/docs/objects/Media.yaml b/docs/objects/Media.yaml index 0809ef97ed..f1414b5939 100644 --- a/docs/objects/Media.yaml +++ b/docs/objects/Media.yaml @@ -5,38 +5,72 @@ components: description: The ID of the media progress. example: e4bb1afb-4a4f-4dd6-8be0-e615d233185b format: uuid + progress: + type: number + description: The user's progress in the media item. + example: 0.5 + currentTime: + type: number + description: The user's current time in the media item. + example: 0.5 + isFinished: + type: boolean + description: Whether the user has finished the media item. + example: false + hideFromContinueListening: + type: boolean + description: Whether the media item should be hidden from the continue listening section. + example: false + finishedAt: + type: integer + nullable: true + description: The time (in ms since POSIX epoch) when the media was finished. Will be null if the media has is not finished. + example: 1616239000 mediaProgress: type: object properties: id: $ref: '#/components/schemas/mediaProgressId' libraryItemId: - $ref: 'LibraryItem.yaml#/components/schemas/libraryItemId' + $ref: './LibraryItem.yaml#/components/schemas/libraryItemId' + duration: + $ref: '../schemas.yaml#/components/schemas/durationSec' + progress: + $ref: '#/components/schemas/progress' + currentTime: + $ref: '#/components/schemas/currentTime' + isFinished: + $ref: '#/components/schemas/isFinished' + hideFromContinueListening: + $ref: '#/components/schemas/hideFromContinueListening' + lastUpdate: + $ref: '../schemas.yaml#/components/schemas/updatedAt' + startedAt: + $ref: '../schemas.yaml#/components/schemas/createdAt' + finishedAt: + $ref: '#/components/schemas/finishedAt' + mediaProgressPodcastEpisode: + type: object + properties: + id: + $ref: '#/components/schemas/mediaProgressId' + libraryItemId: + $ref: './LibraryItem.yaml#/components/schemas/libraryItemId' episodeId: - $ref: 'mediaTypes/Podcast.yaml#/components/schemas/podcastId' + $ref: './mediaTypes/Podcast.yaml#/components/schemas/podcastId' duration: $ref: '../schemas.yaml#/components/schemas/durationSec' progress: - type: number - description: The user's progress in the media item. - example: 0.5 + $ref: '#/components/schemas/progress' currentTime: - type: number - description: The user's current time in the media item. - example: 0.5 + $ref: '#/components/schemas/currentTime' isFinished: - type: boolean - description: Whether the user has finished the media item. - example: false + $ref: '#/components/schemas/isFinished' hideFromContinueListening: - type: boolean - description: Whether the media item should be hidden from the continue listening section. - example: false + $ref: '#/components/schemas/hideFromContinueListening' lastUpdate: $ref: '../schemas.yaml#/components/schemas/updatedAt' startedAt: $ref: '../schemas.yaml#/components/schemas/createdAt' finishedAt: - type: integer - description: The time (in ms since POSIX epoch) when the media was finished. Will be null if the media has is not finished. - example: 1616239000 \ No newline at end of file + $ref: '#/components/schemas/finishedAt' diff --git a/docs/objects/entities/Device.yaml b/docs/objects/entities/Device.yaml index 17e99b277e..89bdfcf2ae 100644 --- a/docs/objects/entities/Device.yaml +++ b/docs/objects/entities/Device.yaml @@ -11,32 +11,32 @@ components: clientName: description: The client name. type: string - example: "Audible" + example: 'Audible' manufacturer: description: The manufacturer of the device. type: string - example: "Apple" + example: 'Apple' model: - description: The model of the device. - type: string - example: "iPhone 12" + description: The model of the device. + type: string + example: 'iPhone 12' sdkVersion: description: For an Android client, the Android SDK version of the client. type: integer example: 49 deviceInfo: - description: The device information to send to the server. - type: object - properties: - deviceId: - $ref: '#/components/schemas/deviceId' - clientVersion: - $ref: '#/components/schemas/clientVersion' - clientName: - $ref: '#/components/schemas/clientName' - manufacturer: - $ref: '#/components/schemas/manufacturer' - model: - $ref: '#/components/schemas/model' - sdkVersion: - $ref: '#/components/schemas/sdkVersion' + description: The device information to send to the server. + type: object + properties: + deviceId: + $ref: '#/components/schemas/deviceId' + clientVersion: + $ref: '#/components/schemas/clientVersion' + clientName: + $ref: '#/components/schemas/clientName' + manufacturer: + $ref: '#/components/schemas/manufacturer' + model: + $ref: '#/components/schemas/model' + sdkVersion: + $ref: '#/components/schemas/sdkVersion' diff --git a/docs/objects/entities/PlaybackSession.yaml b/docs/objects/entities/PlaybackSession.yaml index 17004fb9fa..a43d38b5b2 100644 --- a/docs/objects/entities/PlaybackSession.yaml +++ b/docs/objects/entities/PlaybackSession.yaml @@ -7,6 +7,17 @@ components: playbackSession: type: object description: A playback session object. + oneOf: + - $ref: '#/components/schemas/playbackSessionBook' + - $ref: '#/components/schemas/playbackSessionPodcast' + discriminator: + propertyName: mediaType + mapping: + book: '#/components/schemas/playbackSessionBook' + podcast: '#/components/schemas/playbackSessionPodcast' + playbackSessionBase: + type: object + description: Base playback session object. properties: id: $ref: '#/components/schemas/playbackSessionId' @@ -16,20 +27,8 @@ components: $ref: '../Library.yaml#/components/schemas/libraryId' libraryItemId: $ref: '../LibraryItem.yaml#/components/schemas/libraryItemId' - episodeId: - $ref: '../mediaTypes/Podcast.yaml#/components/schemas/podcastId' mediaType: $ref: '../mediaTypes/media.yaml#/components/schemas/mediaType' - mediaMetadata: - description: The metadata of the media. - oneOf: - - $ref: '../mediaTypes/Book.yaml#/components/schemas/bookMinified' - - $ref: '../mediaTypes/Podcast.yaml#/components/schemas/Podcast' - chapters: - description: The chapters of the media. - type: array - items: - $ref: '../metadata/BookMetadata.yaml#/components/schemas/bookChapter' displayTitle: description: The display title of the media. type: string @@ -66,19 +65,67 @@ components: $ref: '../../schemas.yaml#/components/schemas/createdAt' updatedAt: $ref: '../../schemas.yaml#/components/schemas/updatedAt' + playbackSessionBook: + description: Book playback session schema. + allOf: + - $ref: '#/components/schemas/playbackSessionBase' + - properties: + mediaMetadata: + $ref: '../metadata/BookMetadata.yaml#/components/schemas/bookMetadata' + chapters: + description: The chapters of the media. + type: array + items: + $ref: '../metadata/BookMetadata.yaml#/components/schemas/bookChapter' + playbackSessionPodcast: + description: Podcast playback session schema. + allOf: + - $ref: '#/components/schemas/playbackSessionBase' + - properties: + mediaMetadata: + $ref: '../metadata/PodcastMetadata.yaml#/components/schemas/PodcastMetadata' + episodeId: + $ref: '../mediaTypes/Podcast.yaml#/components/schemas/podcastId' playbackSessionExpanded: - description: Expanded playback session schema. + type: object + description: A playback session object. + oneOf: + - $ref: '#/components/schemas/playbackSessionBookExpanded' + - $ref: '#/components/schemas/playbackSessionPodcastExpanded' + discriminator: + propertyName: mediaType + mapping: + book: '#/components/schemas/playbackSessionBookExpanded' + podcast: '#/components/schemas/playbackSessionPodcastExpanded' + playbackSessionBookExpanded: + description: Expanded book playback session schema. + allOf: + - $ref: '#/components/schemas/playbackSessionBook' + - properties: + audioTracks: + description: The audio tracks of the media. + type: array + items: + $ref: '../files/AudioTrack.yaml#/components/schemas/AudioTrack' + videoTrack: + description: The video track of the media. TODO + type: object + nullable: true + libraryItem: + $ref: '../LibraryItem.yaml#/components/schemas/libraryItem' + playbackSessionPodcastExpanded: + description: Expanded podcast playback session schema. allOf: - - $ref: '#/components/schemas/playbackSession' + - $ref: '#/components/schemas/playbackSessionPodcast' - properties: audioTracks: description: The audio tracks of the media. type: array items: - $ref: '../files/AudioTrack.yaml#/components/schemas/AudioTrack' + $ref: '../files/AudioTrack.yaml#/components/schemas/AudioTrack' videoTrack: description: The video track of the media. TODO type: object nullable: true libraryItem: - $ref: '../LibraryItem.yaml#/components/schemas/libraryItem' + $ref: '../LibraryItem.yaml#/components/schemas/libraryItem' diff --git a/docs/objects/files/AudioFile.yaml b/docs/objects/files/AudioFile.yaml index 6092af2622..6ffa3affc0 100644 --- a/docs/objects/files/AudioFile.yaml +++ b/docs/objects/files/AudioFile.yaml @@ -93,19 +93,18 @@ components: type: string example: audio/mpeg libraryFile: - type: object - description: A library file. Includes the path and metadata of the file. - properties: - ino: - $ref: '../../schemas.yaml#/components/schemas/inode' - addedAt: - $ref: '../../schemas.yaml#/components/schemas/addedAt' - updatedAt: - $ref: '../../schemas.yaml#/components/schemas/updatedAt' - fileType: - description: The type of file. - type: string - example: audio - metadata: - $ref: '../metadata/FileMetadata.yaml#/components/schemas/fileMetadata' - + type: object + description: A library file. Includes the path and metadata of the file. + properties: + ino: + $ref: '../../schemas.yaml#/components/schemas/inode' + addedAt: + $ref: '../../schemas.yaml#/components/schemas/addedAt' + updatedAt: + $ref: '../../schemas.yaml#/components/schemas/updatedAt' + fileType: + description: The type of file. + type: string + example: audio + metadata: + $ref: '../metadata/FileMetadata.yaml#/components/schemas/fileMetadata' diff --git a/docs/objects/metadata/BookMetadata.yaml b/docs/objects/metadata/BookMetadata.yaml index 1420125538..0fed0a9191 100644 --- a/docs/objects/metadata/BookMetadata.yaml +++ b/docs/objects/metadata/BookMetadata.yaml @@ -24,7 +24,7 @@ components: type: array items: type: string - example: ["Fantasy", "Sci-Fi", "Nonfiction: History"] + example: ['Fantasy', 'Sci-Fi', 'Nonfiction: History'] publishedYear: description: The year the book was published. Will be null if unknown. type: string @@ -44,23 +44,9 @@ components: type: string nullable: true example: >- - The masterpiece that started Terry Goodkind's New York Times bestselling - epic Sword of Truth In the aftermath of the brutal murder of his father, - a mysterious woman, Kahlan Amnell, appears in Richard Cypher's forest - sanctuary seeking help...and more. His world, his very beliefs, are - shattered when ancient debts come due with thundering violence. In a - dark age it takes courage to live, and more than mere courage to - challenge those who hold dominion, Richard and Kahlan must take up that - challenge or become the next victims. Beyond awaits a bewitching land - where even the best of their hearts could betray them. Yet, Richard - fears nothing so much as what secrets his sword might reveal about his - own soul. Falling in love would destroy them - for reasons Richard can't - imagine and Kahlan dare not say. In their darkest hour, hunted - relentlessly, tormented by treachery and loss, Kahlan calls upon Richard - to reach beyond his sword - to invoke within himself something more - noble. Neither knows that the rules of battle have just changed...or - that their time has run out. Wizard's First Rule is the beginning. One - book. One Rule. Witness the birth of a legend. + The masterpiece that started Terry Goodkind's New York Times bestselling epic Sword of Truth In the aftermath of the brutal murder of his father, a mysterious woman, Kahlan Amnell, appears in Richard Cypher's forest sanctuary seeking help...and more. His world, his very beliefs, are shattered when ancient debts come due with thundering violence. In a dark age it takes courage to live, and more than mere courage to challenge those who hold dominion, Richard and Kahlan must take up that challenge or become the next victims. Beyond awaits a bewitching land where even the best of their hearts could betray them. Yet, Richard fears nothing so much as what secrets his sword might reveal about his own soul. Falling in love would destroy them - for reasons Richard can't imagine and Kahlan dare not say. In their darkest hour, hunted relentlessly, tormented by treachery and loss, Kahlan calls upon Richard to reach beyond his sword - to invoke within himself something more noble. Neither knows that the rules of battle have just changed...or that their time has run out. Wizard's First Rule is the beginning. One book. One Rule. Witness the birth of a legend. + + isbn: description: The ISBN of the book. Will be null if unknown. type: string @@ -79,14 +65,14 @@ components: type: boolean example: false abridged: - description: Whether the book is abridged. - type: boolean - example: false + description: Whether the book is abridged. + type: boolean + example: false bookMetadataMinified: type: object description: The minified metadata for a book in the database. allOf: - - $ref : '#/components/schemas/bookMetadataBase' + - $ref: '#/components/schemas/bookMetadataBase' - type: object properties: titleIgnorePrefix: @@ -141,10 +127,9 @@ components: narrators: type: array items: - type: string - example: Sam Tsoutsouvas + type: string + example: Sam Tsoutsouvas series: type: array items: $ref: '../entities/Series.yaml#/components/schemas/seriesSequence' - diff --git a/docs/openapi.json b/docs/openapi.json index 97ce3d814827371d8afee1ed3080965b5fba1ec1..13ea22f6805c71dd33d7270b62ca285c9afbc901 100644 GIT binary patch literal 177228 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 Du{2OP literal 353792 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 UdXBL@`}F30j(+Sf)kpgOe>kN64gdfE diff --git a/docs/root.yaml b/docs/root.yaml index b93d88a689..5dc49e604d 100644 --- a/docs/root.yaml +++ b/docs/root.yaml @@ -83,14 +83,16 @@ paths: $ref: './controllers/AuthController.yaml#/paths/~1logout' /api/items/{id}: $ref: './controllers/LibraryItemController.yaml#/paths/~1api~1items~1{id}' + /api/items/{id}/play: + $ref: './controllers/LibraryItemController.yaml#/paths/~1api~1items~1{id}~1play' /api/items/{id}/play/{episodeId}: $ref: './controllers/LibraryItemController.yaml#/paths/~1api~1items~1{id}~1play~1{episodeId}' /api/me: $ref: './controllers/MeController.yaml#/paths/~1api~1me' + /api/me/progress/{libraryItemId}: + $ref: './controllers/MeController.yaml#/paths/~1api~1me~1progress~1{libraryItemId}' /api/me/progress/{libraryItemId}/{episodeId}: $ref: './controllers/MeController.yaml#/paths/~1api~1me~1progress~1{libraryItemId}~1{episodeId}' - /api/me/progress/{mediaId}: - $ref: './controllers/MeController.yaml#/paths/~1api~1me~1progress~1{mediaId}' /api/session/{id}/sync: $ref: './controllers/SessionController.yaml#/paths/~1api~1session~1{id}~1sync' /api/sessions/{id}: From 4f6c2b3ca36175f8d68bcabce808c66e93043686 Mon Sep 17 00:00:00 2001 From: Vito0912 <86927734+Vito0912@users.noreply.github.com> Date: Fri, 9 Aug 2024 17:36:48 +0200 Subject: [PATCH 15/15] fixed endpoints using parameters instead of body --- docs/bundled.yaml | Bin 0 -> 269898 bytes docs/controllers/LibraryItemController.yaml | 92 ++++++++++---------- docs/controllers/MeController.yaml | 12 +-- docs/controllers/SessionController.yaml | 89 +++++++++++++++---- docs/objects/entities/Device.yaml | 2 +- docs/openapi.json | Bin 177228 -> 370896 bytes docs/root.yaml | 4 + unicode.dll | Bin 0 -> 144590 bytes 8 files changed, 129 insertions(+), 70 deletions(-) create mode 100644 docs/bundled.yaml create mode 100644 unicode.dll diff --git a/docs/bundled.yaml b/docs/bundled.yaml new file mode 100644 index 0000000000000000000000000000000000000000..97778b05a0ca5363f456268761fe8e74f6cc2607 GIT binary patch literal 269898 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 ax$J;1^iFT=TJulSWo>>tUqR}Z`u_nHTVWLd literal 0 HcmV?d00001 diff --git a/docs/controllers/LibraryItemController.yaml b/docs/controllers/LibraryItemController.yaml index 013b94a6fb..587bc1ec68 100644 --- a/docs/controllers/LibraryItemController.yaml +++ b/docs/controllers/LibraryItemController.yaml @@ -21,40 +21,22 @@ components: description: If requesting progress for a podcast, the episode ID to get progress for. schema: $ref: '../objects/mediaTypes/Podcast.yaml#/components/schemas/podcastId' - deviceInfo: - in: query - name: deviceInfo - description: The device information to send to the server. - schema: - $ref: '../objects/entities/Device.yaml#/components/schemas/deviceInfo' - forceDirectPlay: - in: query - name: forceDirectPlay - description: Whether to force direct play of the library item. - schema: - type: boolean - example: false - forceTranscode: - in: query - name: forceTranscode - description: Whether to force transcoding of the library item. - schema: - type: boolean - example: false - supportedMimeTypes: - in: query - name: supportedMimeTypes - description: The supported mime types for the device. - schema: - type: array - items: - type: string - mediaPlayer: - in: query - name: mediaPlayer - description: The media player to use. - schema: + forceDirectPlay: + description: Whether to force direct play of the library item. + type: boolean + example: false + forceTranscode: + description: Whether to force transcoding of the library item. + type: boolean + example: false + supportedMimeTypes: + description: The supported mime types for the device. + type: array + items: type: string + mediaPlayer: + description: The media player to use. + type: string responses: libraryItem404: description: Not Found @@ -109,12 +91,22 @@ paths: description: Play a library item by ID. tags: - LibraryItem - parameters: - - $ref: '#/components/schemas/parameters/deviceInfo' - - $ref: '#/components/schemas/parameters/forceDirectPlay' - - $ref: '#/components/schemas/parameters/forceTranscode' - - $ref: '#/components/schemas/parameters/supportedMimeTypes' - - $ref: '#/components/schemas/parameters/mediaPlayer' + requestBody: + required: true + content: + application/json: + schema: + properties: + deviceInfo: + $ref: '../objects/entities/Device.yaml#/components/schemas/deviceInfo' + forceDirectPlay: + $ref: '#/components/schemas/forceDirectPlay' + forceTranscode: + $ref: '#/components/schemas/forceTranscode' + supportedMimeTypes: + $ref: '#/components/schemas/supportedMimeTypes' + mediaPlayer: + $ref: '#/components/schemas/mediaPlayer' responses: '200': description: OK @@ -144,12 +136,22 @@ paths: description: Play a podcast by library item ID and episode ID. tags: - LibraryItem - parameters: - - $ref: '#/components/schemas/parameters/deviceInfo' - - $ref: '#/components/schemas/parameters/forceDirectPlay' - - $ref: '#/components/schemas/parameters/forceTranscode' - - $ref: '#/components/schemas/parameters/supportedMimeTypes' - - $ref: '#/components/schemas/parameters/mediaPlayer' + requestBody: + required: true + content: + application/json: + schema: + properties: + deviceInfo: + $ref: '../objects/entities/Device.yaml#/components/schemas/deviceInfo' + forceDirectPlay: + $ref: '#/components/schemas/forceDirectPlay' + forceTranscode: + $ref: '#/components/schemas/forceTranscode' + supportedMimeTypes: + $ref: '#/components/schemas/supportedMimeTypes' + mediaPlayer: + $ref: '#/components/schemas/mediaPlayer' responses: '200': description: OK diff --git a/docs/controllers/MeController.yaml b/docs/controllers/MeController.yaml index 6cf1c5a72e..edf7efcae6 100644 --- a/docs/controllers/MeController.yaml +++ b/docs/controllers/MeController.yaml @@ -2,7 +2,7 @@ components: schemas: totalTime: description: The total time listened in seconds. - type: integer + type: number example: 123456 responses: me404: @@ -178,26 +178,26 @@ paths: type: string description: The ID of the library item. timeListening: - type: integer + type: number description: The time (in seconds) the user listened to this library item. mediaMetadata: oneOf: - $ref: '../objects/metadata/BookMetadata.yaml#/components/schemas/bookMetadata' - - $ref: '../objects/metadata/PodcastMetadata.yaml#/components/schemas/PodcastMetadata' + days: type: object description: A mapping of days to total listening times. additionalProperties: - type: integer + type: number description: The total time (in seconds) listened to on that day. dayOfWeek: type: object description: A mapping of days of the week to total listening times. additionalProperties: - type: integer + type: number description: The total time (in seconds) listened to on that day of the week. today: - type: integer + type: number description: The time (in seconds) the user has listened to library items today. recentSessions: type: array diff --git a/docs/controllers/SessionController.yaml b/docs/controllers/SessionController.yaml index 20c97e4034..9e43dfb629 100644 --- a/docs/controllers/SessionController.yaml +++ b/docs/controllers/SessionController.yaml @@ -13,24 +13,20 @@ paths: required: true schema: $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSessionId' - - name: currentTime - in: query - description: The current time of the session. - required: true - schema: - $ref: '../schemas.yaml#/components/schemas/durationSec' - - name: timeListened - in: query - description: The time listened to the session. - required: true - schema: - $ref: '../schemas.yaml#/components/schemas/durationSec' - - name: duration - in: query - description: The duration of the session. - required: true - schema: - $ref: '../schemas.yaml#/components/schemas/durationSec' + requestBody: + required: true + content: + application/json: + schema: + properties: + id: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSessionId' + currentTime: + $ref: '../schemas.yaml#/components/schemas/durationSec' + timeListened: + $ref: '../schemas.yaml#/components/schemas/durationSec' + duration: + $ref: '../schemas.yaml#/components/schemas/durationSec' responses: '200': description: OK @@ -223,3 +219,60 @@ paths: schema: type: string example: Not Found + /api/session/local: + post: + operationId: createLocalSession + summary: Create a local session. + description: Create a local session. + tags: + - Session + requestBody: + required: true + content: + application/json: + schema: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSession' + responses: + '200': + description: OK + content: + html/text: + schema: + type: string + example: OK + '500': + description: There was an error creating the session. + content: + html/text: + schema: + type: string + example: Internal Server Error + /api/local/session/local-all: + post: + operationId: createLocalSessionAll + summary: Create a local session for all users. + description: Create a local session for all users. + tags: + - Session + requestBody: + required: true + content: + application/json: + schema: + items: + $ref: '../objects/entities/PlaybackSession.yaml#/components/schemas/playbackSession' + responses: + '200': + description: OK + content: + html/text: + schema: + type: string + example: OK + '500': + description: There was an error creating the session. + content: + html/text: + schema: + type: string + example: Internal Server Error diff --git a/docs/objects/entities/Device.yaml b/docs/objects/entities/Device.yaml index 89bdfcf2ae..f32af63323 100644 --- a/docs/objects/entities/Device.yaml +++ b/docs/objects/entities/Device.yaml @@ -22,7 +22,7 @@ components: example: 'iPhone 12' sdkVersion: description: For an Android client, the Android SDK version of the client. - type: integer + type: string example: 49 deviceInfo: description: The device information to send to the server. diff --git a/docs/openapi.json b/docs/openapi.json index 13ea22f6805c71dd33d7270b62ca285c9afbc901..69b538137e2d0dfb034cd190b797121c0d4b23ad 100644 GIT binary patch literal 370896 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 COJu45 literal 177228 zcmeHwd2<}ck?;TeDf-R6h?O=-93(|cj(9HuBuFpTq(~Exz5BEbvoX^ETAa&skc1Ta z?(dgbSJu_X%mAb;&|zVwr>iO}EAPt6`sH7WVlbOm({f%9{#Xni?j7tM4DQj>dU`R# zqhIhD-&XZ%T+tgx>rp*BpUvJcud4AyarF9xU&kvSs>QONP3fhBy+hp%o{y^Ka8b`! z`nR});$ywKD$4b0c3DlUMY*a*#Vf#szKhXpH~<8{GDyp6L4#m~9~mkI8-`df#x(5J zYBm4k{{DD2EXP-~<?4?Q4-V99cn$#|$JK{wJeyCd>8emY(?}Q#|9z{+8?G1i>N+0q zNmVYY#nF0oMZdib+O5jV1d!8mqA|F-nqd|+1pSK<M86l+bTpsU)74T#rCzsFHod*5 z&llyQuJZk<H?F&Ocv>~~rhe|)*|SMmkFzu7U%Pho{cKfV)WeeLD2F@w(z0vMuV<rS zxdftfz3Lab_QzzA>x+H_#p#K3?eb-n1?~sXZr5&3t0l8&4mkaL)ScysdAYhG($-R8 zA7W!4j7#*q|4Tjk)&2yso|g+y{7Nz`k-MQ_CVfN2^~lbTpVur#Xf*$Mz`}$~u*%7? z|JI`V$GTorBS5oStSd8H?s+-9swSm?lb!<F|GlU#@O1F6`@`8}KAU2Vmiy}ErJmx+ zNU@@7L1M!H#6p7}4KAydHv)-R$Tdhn^npR}y8`{mH6A$l2FvwiQZ7i~4E|KDigHR~ zk*0Wl?awk48i}{}inFUqxBs_g!7>{?j!4)+UKB(0eqI&zbU0p*Aad(z0n#iM)e_TR zR(ldIPok+=Llf}2JDk}0=NI2!e!Qm^`XB2GlXiGuBwE@~0ERz@q)=epCM70EbVn*= zTrXF}?4tO1Rj!KF%uG~i8=9#?twPg`_0zI|STEkyt7@`*$GCc@ko9h_FrUzVJT7L_ z@pW-ken2nNqPn=KhO45!uubcw8E&*!JSS=XshrHm)jdY>hjP3&!`#yYsBZOQV6mVP z$1K{f3kFB5oLm{kR5>2cKEA2Y(}yI{1J4<<$1khvIjg1RYEe%w-D*<Ltaj;x`Zv(C zAo66OH1M*KV+%<RhNztE&^<nYf;QsB4ihY`$1TOHKZlesoK06?*Qg&%uAI-uTGa0U zv}EH%${!6x7CH2L7s((Ip!#%ZNPU;TdN>|DI(QV#BMpH?sg_RE(uyQy#rQ+pfgqVz zLo!?(DnbFZo{zvotupEdevMe5qnJuJ2qYCTK9jqk10$^zU|_1VEAW`HkreYxs>Nkh ztUk^(G~mGt=C^6}(E!MOPiX#-faMfy2JNYV=ijsx#PrMaa$6}#il|zyp3Fuh(jB@% zRbp=VY2ZY4F+2Z>qzNRJnyk<6gB-PYq4m5N07UZzX{i;Nl0K}8jPQn*$Z{U$w{Cp$ zJ(<9QNKI=?n&tuh4N$cCsK>$q={$HnDKD$nWPqfR(QU#fwwKNWmrK@(n@{(MI!Fx{ zJ(FUHFz$bs-`r=hR0Au50vrvxNOeWrPQ={4V26?Sifq0gBg7Cg(hJaS*;D9`v?&cj z|F#)O$y3iRRh`m*#ZtM4+l}{<L~L%j1RCE)&m1KwnEdbZn+N{wD8^AWhQs1fbEp~B zD~@c1F(R$^WA3SkW=uEGdX7!bMKzhh-gK60aj}?93K)ONwwHQh(A!|&ikCyA^yB4K z^=Y*~AD0=q*QB(-j)DE^I}wV;q}{4ku22w<_F_(zBuLHu@ABL25h!z!9&Qjh-TSPo z1l9hITyMABQj8i)Ww4sPucm@UK`%LvGcY#>6n#uI&-e-<849`QNJbD$8d?{EBFgIw zs@4Jp{9JY|{Ry{0j2L5eSuG?d2$1ze-Wo)Ak8QB+(>cJwG)!R*ZH#*{op5dZXh+;s zITY$S%TB~O7S(FKn94W@+va$1F<ZbRV2@*2|Lg}omX!+uTO5$oks)4MEId=9MaOID ziEPl|3W#vkMLAyj@v6L^pr!{m0sgU+{ea{%`UoHE(Z)72&**R5f#4s)B>fZIqaM(I z2Uk^nd6n}0)jMh5S+T@Y3C{meJ#-#Xk&6(w4jP82F_OqrL_i1xCmGIkk)GqC{J70< zZ_qq7yXcu?dj*gGU4C<)1;pF=12)QYLOv78jeb@HV|M>zbv{qxY6n(?UHHLyJ*6mZ zI|7Z=H0wK1Q2sQpF28&z|NRRB(L=SPzCbG6j+ZdU)}n`+&_^goBc%&0DGQA(y@aFD zNVo`08x;2;6Q6^*3)wEv1g&jTN^ms$I33SQ3iq?~KqDdU^P#3EKfHONl;CQH%@c&U z1t3zv+?4W*_G*F|ix`<j6;Mq^13;G$-lPg_7w<n{H`=4uMkm6)xid)`liwzi^p5*U zXd6*u7pG_NyiEcq(>)Rb9qr%_ty59}zCP?+?D(nhIGb$u3S~*%E3jLoEn-C2jc}0M zwNw7@z~gJ)WsnfuB!9Pu!S77mb{TkQ;zD?YZmS~Xz%;m%%|X(IjYRg}*i=!yM%zq= zD%*tfaTvr^W=BWi+@W<QysL(>2AVPj*)$`2ZC6{9D$OI@?CZ35lSCpBvNdLI(=g{j zwSrDWM|rnb(8TX3I;xlBt#LyKt*#3rOG&7P(A`VgK$kla<t3u`NVlQn&hv3qtg#1q zSs)8*_`Xp1Hz34Pv43ZK#a~>{dY61Dz(KZ?Fe{jG6ia;ti)V^VAc`<x<782lBjiPX zLZVPL`dTFhQQ9j-XOOF<_gB=E_KIi7Qbn@BJKCUqM^@6if4nOuYs?zaMPn!3Q@!Yy zR^@xb!+cTCD36p3F3#+sEF;rG+BG}1tVCF`hiB!o4|v@Qv$DwXK+aP=wSX@q;5TWI znGGHVned2hP^H~u`-k9v(@gzs4iJ`{<93Q{-{Doi<b|8t#&?|LW`fY$rOL0C8w=w1 zMvF~17Q)-KH13c2?i?cX#D7D6bDypA1TwMOJy?-WdWT8UNvD3M(=Kws{^?T&5;X8O zdgfMEQGx$meiJK?wZF;aHU`o&0+8lgkCDS$tyU1i($0zZu!6i>Zi*0`Zs|BKwCHIg z%72-BXSAG-NbpzpRn{$Hdewc>Hb{n+VlxaJA_o49pgv8EoZ4~Xmz~jN^?YwWONs}} zs{1@eO6n1$;Fj5ZvWuOHkq8XysD+O=A=g8!D7R^Mh{@*UHEGNn+fqxS-fU3$lNQ(~ z#xr=2nb7@W*W@#iM3yaA$cq#zAYqvbia7;871Tm8TLY~S=bhn2Mx1=_M%hPLo0!w! zbUhs6q{YR0Y_sWGI46syN=c3Tqv}JAK09N~@R*i5u!mK9A<BX?37X5^u$02tC>~C{ z-W!2m7MtzDiqwl?kdsXeHDi^FMHwDzP|ON$<OF)Lp5_Phx7jd#rszU}@`^KtC5f3% zLLs4^JMm!N3!nJk<u~{F=0uB{Tc~dwEwU-mes17oifovARLsk3+Vhh55wp-jRXx#j zQc(m}P-H+%NB1jI<o8!I&4^;%I!G>VOdETO3#C{Jn2^SL_5?$n&D7G$ckeiGppV3y z;D8RFq}s&W@%spLDlvp0Y{MU*IJI`{1ZEk(QI~7!k#!>@NF0$WF#PZGoBJ$a-_F%) z(_tHPqfUhKxH0JLp<pjH_0aCd_QH8R8X>n&U`@=OB}C#RO`xc8Tom^DdfHz$C?fLD zO2lqOz}+zKUqr`s0jjWc$f2N&UfVxy!?)%FG_>;Ejg$m&5Lr~db?dPm5y=VPzO!!B za5iuR)VGF?@Qz)Jh%AM8FoQMeeDu|(_3=uh5K*usQjbz1!hq+*gL#s&3&OYj@A8}b zY(81mOK8J@35L+_t4dLwG>#+}Jmq(avY?Y&ddi&`p}FDqypXkN1HnS6Di&^go=Z(# zLV@MJF~`zSWS0EF+xDFFkCyoziKr}UCkw<c7qc<NGNklXzY5V|UT^0yldipmHqUC+ zM({UN<a%MB=Wvj<AnGMfIb6S50CibW(uw_#WlxEfv+QWrfc_3@klJ?Ro=^{+$D356 zx;#_Ii?>+Xm$sYEBkR4DEwTJsCB}J~@dlx34BLp|R)l4vf2sLK&x{DRka=&&U)^T` zeNP3SR8B5Xs9B@MbxRm#-TG}m<II!S(^FoY0tuGd=O|D?df?=ksu0l5y~a+U0E85d z_UUqGH<IWwK|?*vPRmuiP_+me_Jr96Eok2t`@b3lRkos&=I+v5A}+aAs-PsR+%myi zrvP#r|KX9y?717r(5WusqYE_%_nbv+U<MrZFG^uBM~0%x-Q!XdIEAvHLPe@hMS;w` zi+YUODwGT&(ZWz<s0QF0n;=>2!Qw1XV7}~5D=1g&Wq(pnQK-j1CF(?vTn{TZ0<DzZ z3ry0y?P6ae?(>NrLujepkH7|2u~tQ`*9|<SqqwMQvMF12>_L*yCY+_6`c$EVCh-=q zOWJBy$dV9#UaPs)Wi&#<=NqG+)BF?2?mKhVpo{(rbHzQrGiL=ZlCm+NsXKEvP%{uC zNxXfDIz?q%dJ_n@$<-_EO2y=*Zmv{1_P~jE>ewxtzY0JcEaHHO6zH3&oIVMxU;09~ z`7Nf(o}hr7IV;tUQALAVmYD<Lt5fi;1@`{g{1=rwCXd<6u%ij1tE@jN;f4^Twkw6D zA8tl8H48nU+ok%zzPdE~57!zGzulO;ULwH`P8+IE*4Me=h`fU2*{3;5EBa24gvdES zZBOGj!zccC`OPzwHcGeC)V_V7Wk1~MxD!{}zwW+Gcuo7<O~Q(C+(%5s4R$S{Tp$3v z`J)IaNVSx+yj)|r^OM>uk>JsG&(7w^_je(oz@Z5G%GHMf%qIA=oGn&D9}q`}I)M}? zf*@n0t<4I0pYUu?^k{ckDg*9B)YqJ@CzJ;wSD#<$9NRJB2x>+D0O3Ws9#hhtnuu5% zU_^Y|2GgW*c8F;e<m!ZLiiUCWZ8p*h90&yS?!+Dn6qg)BQw7d_q~&WySmm-!Agu$X zbqh0EV#6UASLZgY=gZ}QGr`1n3#2Pn)#zPBk{xQx3Z&|8!UgM0w1NtEN0Z5bq+IF# z5@0wRkIVV8I`xaCTTb&T-v8~Y0!=PxZA?2#=|Gqoq8krwcyEaMZnES9vu!)>OaUi3 zrGVoP@`$y+ymjq+ZVF}1Ox9n&T_Y2L00>N(bgLHF{nyHY8#XevSw{GLf~vGq!a87l zj&aXDdF~#gINGYDdlP)}7cV58W)oFXtu6JqW`TNjKOm8Ybo!<PMiznVIX6Sr`<spz z8V&8kk)D4NR{C|#pnn=Ms+;#hDYZE!oxABQZ3n%EReE`gx!MkT4cnek(1v5zL%)H| zp4O&lPU#>=89Dkj>O!lTO$QIU={0j>fowXqkzBfne|qf1Q)!SYM1@cM@A8|6&d==z zFPA6*F4*(V57w&<hoob*-4`nP;6$NPm?<K0R>!23gUc5R)%?2W9ZTyr^w>;L8_BoL zoscJ|shV>;yfRs;E<Ib>s$Q=;m#%uW{@>A)Q(MM?qvWF*j6qbR*L7(N7E`pvU-{<+ zZ##ikEs=-+&u7kQU(2n(6QI(uQ)Hqs`ME3nYC_pTJWY8FcY?%*D&87G=n+th{IxLr zZx~x++YG_s6VIumpuc*_moUY1&dZ_GzkJsY>@)hTFWccW=oN@kbi4siyEqx>;YXo8 zeN#SdZo0;ILAIR-*(${Cf;CZ6O2ypVvK!eo$OQW6cjciSuhrF2f@W-El=`biM`19M z+m3Oi8AT9LClcEdiGj@vDn-aU0z(~G_OgTB1rYB7h*SjTx`?w8e}4f)D|H2<>?&@i z)YRv*w6aG=Ad_0t-|)_t6F5^UTJ5CR6*Ce|{gs}h`^EDi-Q&BUS=y*DQNg>QSw8$} zV_uuaQfvoFO3qQN4Lxl-tnHxJuy=tYCpDaiF`v|5y=19_DkwWZJ4E}xsJ|z-ezz)Z zDt>WCSDYCuJsr0(&p7k0RE0L$DA!G)T{>#4*X)7G-5k|1iz_#D42ihy9BX0p_H-N0 z7O(@Wjuj{<$dA?TuW%Q_Fc~Minbc9&(B{cS`6R(jjX1e7s^*Id7dfK>HMz*|_(CJq z6`#?1S1hk)Yotz~uHt%0b*fQX5@l)RVgM}D3EVAzF*eC2bxv{My-7L)1td3cT;n^B z`p%=Cy}$FQRYuBhFD0jqy;G);XLkkS;x5If$C*QGURr&pTuHu;TyCL}VU<23n9W2v zWy^rn;q80XNun|ilhS*CLv3N4&$)!-ygZtY-khFFi$EEY&MruOm%n-xdE5J+*u}!} zPpEg)qm_%+#dbkG9?{krdtsDbj)5qAr!t*XRp)4qQq0SWcG~PXMfCv(Yw0rRk^kKE zt1EiqZgsEZanj0=6L2fIGkVrVnS^=9tdJ`q0xsD_(OYw9c-yED<ypeI@<pVgWu8Wd zarnIs5h#97Eo{Sx-l)wPT>L8U;<ogcvk?uyOA2{Ll;_BV#_<11rtbDjx`ihYTt@># z;tg|3TfC{+G?lGzzKk0^^(+M6|1Q6IQ`$(zNg>d_KWl_hhtu6)$BX)My{P0`TkM#Q zKqw-8L7&rJA|(QMze~`%$T!^@S*COo);*Nm|5RL{jxc#xE94B$SIc`W;P68|Sx>wH zC_@3)U+Nu7R5)6r8C5aX($aIgQk#`>nvR-%p_eV3l#^XuBv(E^8^~>yChd`If`RnK z(Y&TRy>g<fnMM3Qtc~ONz@udIcz~69&MSDN7jVPj<9_;pAeZ(pL>Zey5qFgWBzh)! zo{-~zm*3oHfzh5jGD%a-od=eDx${C3vhzOjsO>gFRdr0FU)T>)2I=By5{@pyM>m7O zSo1|)g&fLu@H>_wI;ggF!P3$9Yn(d3^(s!t8gT)>aC*f(9Iy$*#UwTpUXm8rTIpAq zV!aqk7r+5VpPI!cH;tr0Zk~L4=M0K&jIiQ{GRp6x^U&wB(e;)idtG!MxSA3zj5eID zY2A4^txwa|d-GaKDmtTjaH&C~X9<diG`9ixAEO2!DM#-~c3`4P{^Bow@|EUQdK-Y_ zv=Py|{N_H38TQmuL7d~a?HAs8Av#>ruJxJ7G})+KL&;l#gWWgc!UF!7oODP3(mtTA zA32<goNywuY!T2VZx}VkUbqK)bQ1xwyGV;F=<k++WQh9L?zI>(nAg0*J8F)4Y+bJS zdl6`3@=A$*nwS%cdY=3z^)!AKKJmZHZ$jV#2gGinS(H{}X%Apqc3tj=m!Mo${_(i5 z#1CB$aIB7T(<LVoyOIM%T;UWgipy$REy}UFK}B+~Y!t99H!R~OJFw&3b}7&=)wpk4 zbSc9~K@KqqBARf+TAaS6gR)bKOCuJHB*qe(%Uqa9qJ&QAQm=c(yMuQulrGBgvbtBi zJ5*n3uUR62$5ipKh?)eWnM1msnc&f;{pGFW`<`aOZ^wOYR%Bm5tyW1B{&Gtr)K5IX za%Tu3EmlkvRgTrYYHR1?Q{M|AESN>Ac60d2)9>=#KsxC6Dc~r9*U2BWl_KhXd2bkF zPvZ1$D}}Y4`cEeXZ?Kq<IHs#+l9M!HL(^6QnLg;Rlu_n+{49Lpf0y5GTL&9q+97bS z;#U$ik_CiT)$w-RPmp1)fL+Y{Q=~GD>JRm34Q(vPQH&!;`+Wu4cNQW`*_R&084?zu zg3t!EuO!uJN@(AO#tfGk+|l2G7ctok%U%}=`IK4PfA-K=fC(vIeTnUU5t!;}RR+TB zF4$yqNB+4rXBQhia$z&hopkMNy7o?rl1ddUjY`NL5iS0lhI$vTzK=Vf@XDp-5V9*p z0CW@hwq&wj)<`_@Y!_vJNc7!`O`cS+>0rxe-foR~VLlrTal}?e*%Fsu38PW(ld4Ot zbZfb8!5sl=+xE2@MZTA^4E1Z7doOgk!6(?M3LJ(;7P+z1jO4N#yUNV?3s7;mz?b4g zd>I+>P`qet=H&1M3ABs!yG^j=8vz8RGX%nK!Y}~Dk8sO(XsU%FwI?O{_ngur?d`Cm zhpiob_G=vViZ1u5_@Mx|nUiTtL$@rrp|gI&h%IElCg|rhf_U+_&&IpRutLE|ModU@ zM5Of3rg1eCf5BUU&ZFZ8$f4%Np^P|l0h3|iK(^38K7XX1_;1K>?z3Qlofz3l0wI=$ zvw$CvmY1PA0yle+Ab#3~7;0T@jME`A7o5d<Q!pDrFaI@1t~5JI!Q&dcm1uevzU6<H z-^6-idcRZIIGaz#`>^X#cha$GyM!dkh-<1Avq|yl^~)F7O8O)Vm4rO|ng(!ha=NMx zBA2McPgkiE8*{Hxjs|8E1TG1b<#UWn!=44B?o{mNG=CR{%WV}9;aaJeO}TGpHE5#A zm}l=6%`t^HN~(yldR6j5`icLB{N_FjF500~WQxRb9z$D#Vkm)`h(OQ@PdK+;Uzmtg zu;-RdkjM7B_Z_6VTK9H>Q|}RU^$IzPdGK|IX6QWinH~lGm`CpKfUwn+o^4*WOx0n) zgn^*CaYSvpZF-)1JAM{E@xRM&9wPdxqkDo?5Hu;Etg#aTqf|^b9H55@e~->;FX(1M z>bxA`sHE4k9mPyY{naC?WF~DJEcaRED91|>QnSu^vL3(J&YH24r1~K;AzM%ih0t0* zM;FRX*H(s7BM_v|6_I(3e?O|ESs+=)Y7$4SsYJGyCiXP6Bbm>mS@VOwv>oR?1^t*G z)!$|_)9pxE!gbBlL#j)$Hy+V8?>r!`o|zrbK2FE8a`bFoFK2LrHk@v<s}vy7vv5iL z@A8}bEbzBOgTMr8j1*C}r{jA8x&QzQtEXLm54*S@%5iOjAO-DGdBV>5`P}^u#c0rT zB7-gPh1E6XER-*1>!~m9ElSMVsJ|LLfl&UX9{svMysC!pr`1P6XSY$&Sj%Hnr15OJ z#`xt%xj345x~Jhp(R~^6C1kN(I?`-f0Ch!Wc-1XtsEHWO-&Y?kTZ>ow>z&M|Omy+F zx!^{X+IK^e<ZDXD3rOyzIc2z>oWmr5*Jfr+*>wgL-a?{(v0I~3?ksWg@R`*_Lt{wZ zN{U@DRlOOiBgM4buretB$;=X8GfU31`i*!bX8i=$6ZrC<U4|wrfXE2vQS(}gdTdtA zS`ui+kWyDdW8|59mJ0Hvo`r4w@A6xyMtaD333%8|yHH2&5OPyPX)YOd@J)w6KB{6M z*S@G0i`l{h$g-Z9t@_)f7sge&xX-7D1(DpT2I&UNjLWBlFC!PNv?vq;-9kosftqRB zH>RIDm@C@!R}gm3RjeJeB5k|MDe%Ka8At#^=o$H^XJiQq4Cf#PuRl82lxb|2ooUp- zB*o7ih05iX6iT~XTJGD`^!(pA@){7P_x9%`O1FX1G$E$#--tp^k+QGrgkkhM*2tTx z(*D9_3As1Cx~~aL2+cbQlanydkqvD{3~p6Xfn%p0LgjaX_qB)-&O<U&Nn44TgqXhm zPzV@HiiX;5fr31vfVkO%HWCP)kRlm6WF)4;eG6YG%v=Lsx4S~A7@AR&G=Tg3R-k)# zRsh?kW@)7w;Mx5~WUO8(X)O@=^531)lRQKj(Epd`tr+!b#I;=G-?zM;N9ANhJnPs* zv2>Iy#o?jQHmKHuTMB~>B=?t=%4lLwITNcf++n3hN?eneabj8t9sj%h<~|GeYKO7) z<*Hmz!Dgeq%&K}(1E)&Zv1|7nZ#a>#zY#YnSI&mJ6ABuE&HJu@S=R`1Gv>^`t05DQ z*#mbGg<OX3UlP7|BN_VIbadD90{h>g>DAq=d!>6Qs!#QjZ}}SGHt~9lYn?Bs?iB^Q z55w+-Ww%+BJ0&X|_e+^^Go~Fcw37sKiAhNPR?-l0?UtcCbviS@Q7k;^<Q9XH%@XtG zN$QzgD|*lWF24y$&hqr3a4OXZVGdn7pSr&o)KY%`7yaS(Z=cZq+vnf!b2=?~gvlbv z<MXapPG}1J{Ik>~VkHJ_U<hW9-ehRdoM#T@y+A@}2Clg_pq{XNZ<DwnA3gYDj<XmW zP$z3zc2hhmIojuT_lw~49olRP<<@2sNGHf{T2SBiv6bCL`V7m*^|OR4MA7lGSk9{< zod)f}2*?-M5f>~sFO2VPTSw9HFOX6U$^z!{8H&i-F;)0YFd3`U8z7ieNftpfZ>kBb zPIr*Zn8^a)q1aTHNSoOk$|Q@Vyd?ibmQNb&Ht2a(F64nFLT8U0kpDnybDK4tIjvOA z%RjYgtQPA|;8KY#(B|Mvi2JGgHTYgBVb0t}jE@eXxeL@39P)%U*hx5pVVFM`<Zn)n zQKM{;ycRg=P*%th!98?RM5RQJe#?qyYe{03LIRT3R4~d8gK)7{tvqhxV0yO@VB}nf zzS2=KoJ}TB;T1&=D7H0*7f-u1AE_KZe0P0=Vet`{v+%ij1$nTBxy_6(;tWvRC5&MN z(kU1c_vYUXq0V#<5~)6wsNGD5M(CUgUxRZGM?)!hR}hM8KuvNtZL7CzKbiK#eT@U) zg^r-OuI`x@GA!z#erwsoJ@f4qdLBOUzsqm#v#@Qpb0A**Il$LvbrTfBeQB2?DX7}3 ze;Q^=In#lhRj%6UE=8^O(G{>_QA1|d?~x!RLBFxUjTBfQ)kz)dAs}1Tgl|iff-UFO zVnupP<{~&QG$m<dj7R+1=*y}}^(&0;<7V?wkE`WyQP0`nx)UyL#nh)Rwo)vqom5r5 z_}}F>A$6exk~`r^%CUJC`jX#vQNnAhha2pVXP3N7Vd$oLf93_fP4*1AVIWrQS~Q3Q zyp8<}9Jnrq;~Ld+{f75+T~FK_i<gkNg53ZZ`$c&^TjNy>z=r@S0bY$HIXv`j)ijKh z1O`)v<<WX|<<>}=mEG*XNGyHP_8MVNAHpz;>l1Y|N!#WrS>O=ux`b+4E<euT=%?i( z79~l+rdW?{o*FQECV7Wo@W0D%?z7;r?JS$$cG)^w+3Xs%tr9nmRwG^kMHdeD>U+3O z;dlAISS^-_hY`$?`7y=O!>ie%{uv(F{o+KQtTU8c;94O=WKxz8XicUm6`R<<T20co zcIBLFHQ_E!k@Q%85L0lXY6IliB{C>gf2G`qm=!2(75pTXxdKOb*-uTZ@DJMV6(<); zjm&V+X@$#F?XEi={DzsuC(7>$RRe`VK~K754%&yCIf%51A;()TZbDJeyqy5M(-Z@R z%8d^j+vb+$484ZzP0tNIns@x~@|*iCM8WS_a8GcfZ+Y2N4x@{>A;e3OW0YB9_2Si{ z#%^8c8~qEP_}}F>v634Ib-}hY?C(x!m-Bj`&pdwq7__cwP!Kp$-eOgD9*H*f6EM_H z!_hD5^F_J1K0&{NvcecMq8V^ekaRDntU?<F+?9lH;(O!+9fR)KNy>qd09$r_D|DGv zq2Yd>?*XI@ao2d?#Cq)@;Bhxhbk;j**Ng6|Pjk3&4dr2af~PkCrGeyxjKqiaj)kGa zlB3I6#9NPF2FV{1;RH1O3r*g$SI4ge?W&jf#o4rab%AOBDAv&Z>?7PgPg90*(F7w( z+`Hy(72LD85dh&^{&)G!Bf5>EA_C;Tp%Gu&?&Cg4S@QPwxBaC2`65MbobMlmrU`{o zhB*qCLiaV^g4-acD@Z)#fW+I0xbtU~rlaaZJ*-X;<C0wC(YDWzX)Y83716R`bzCoS z!8gr+r`?_{%IR{5`aiqsb-A9;XO!{(vYu3DxU*B7q}xufOsY{`5&{s=5K_iTkl(H@ zNUBsLhv%5`c{zN43Woq8(`O0ws^qW3MC!Zz)uYBQK+=B3eBm=h7hJN16hmKv)O9jb z$_%sVG|;9I>}2;M%m#H50hzd0{`0_8^`~y~tPt-fio5CA>w{q3P5i$4M(4CWQ|V&@ z5ee<1fibye^5p<$B!5I69?l+1k|9c>EewOplVgd-WbjF9NGsK(By)-&u<s;AV9}E@ z#5LZ((@S@H$r6|`*jwV+Nt*g+)=Lu^Z;R8o0}B^PZZG9AFezCm4nUFX;d-&4-B8+> z@Pt7iSX$pt8MPSQE~%6mTY17JL?~4X<V$Y*6F=>uN_-=!rT3wvMMDJbf0y6fXY)z@ z)pn37S2(HmO%~SvFIuWov}lVnOkOWSt8A*HrLK|0g#Larak$qyO;0L5M`|e+qSgO5 z-X!AuKE7Mm_ZTHELYL7nR?l8;joofN@YKj@%E{78<b;dS7lwV(-{r5{yBL#dlNe3| z7w^K$_-E&6$BELsylIC6ij?+%EqhCTz6sgZ+xY;1UQjvQXvXhGu66P|nuSu}j!10u zlWt8N-3hqmGFU5XOQpqIqlMuZ2L!uGM&D-QZmEJoyhXUbyq*pPnI@7v0t1#ByqZ^2 z9a<6=iqylWcnfZAfyT50#!;vynrwYPMS2DVy9Uypb#8344{XX1*M2}GZ*Jk2zz+9= zB8k}&Z8TY1_*HpGVkHbcrJeMQL*<7?eB$%8tCZ9j-5^1G9%qQdiiKtHyO*jUbQl+A zg`P|?vRg&WXpM6=2z{PbL*FFH8XOsv&<tK6XQ-M+$3uFYP$Zl%E-3wox^k(m5pUca zwd@QjrlakM#Psq76G&3DY~?EVvfU}E5VzjqE~`|^Y+h(E37OquUBpFd8!KGISttNz zXKQ|!%tFun@A8``UDC=dkec7m_z+w*rTlI!8{F|Xn0B1rN8wRq`;i{GNBNl)A2BbV zSL4|f8RQ5*m(v-3SwtZd0=g*-ahnLH6ROX{I@$zah}ZCY9?xCsZbS4es^Vk0Bz?@) zw+qtYgmr;TshkO-F9m5Q(-mc@kBd`PKKxl&KAeCJ5f*;;5NL_qJXL=+0js!<rm$s{ zMwL2r9~emLl~ZN&2mvY0qvL8^t*{_52gr2@?F?>(?AEqscec{M?&G{IDpnwhy4>Hy zR<cAQP0BmDA2VAh_uK169jRkGe9&3(N`doolbY=y90ywRb-zemU>ixlVHi@f2Lbb? zh^b^TtQcGL#E6~v*ASOoiiX4zB&|b9{&S(+FBOBk(T<jH4VLr5UHQMm@vQBt(Lla) zi)Qiulsat{(}6wIt<jxq-&(dyLpbB~eQrNEDkuR-w_$|9I9dM$j_{X=6@y-3=#gOW z85%IX^zejl9T`@%-kC(S!bZW+XaCzxs_{ElSmE2pxmk-AWiNs#UGg-Vbv$jyv^ipd zhVRnkPQP!h-#@dUy7A1G&y(C6&~o?a-JRzFVdaOFHWNf%U9_OiSvelZp5RjYdSNh$ zg;9H}8<$6%rzK7D-o}$l#iqU}8hlZY5j9L81P4DPPDqQ$eYqXlR0PVlyK#Jy^L4d& zO=o(yLJ`WB>B~{MPr?xjv91@>Tf&CA<JAggUwgxPl9S80Wb>_&Ks^*16JPyYEvV?; zsQOfmzP@#Q@MQAnu)lmBQ+pR0%xpgCI@NN4Y4zzJmAq@Nl*Qb+T#r||Qd-=N87g-z z3J<pZU9cjJ>q&{2kzFL!zxl7RMa_5h*Q0Rv(_l4QmFcn}>ZRu0f7Ln(NNzw+rld9% zyNsJ)XEUeVxZpbyV~q<Lm>Af&GVF>%nZz=lLNg<3fDILxTN6?gN3V*?28Rc|P)8#D zIcpZ7zkMjseJ}~sFfm)1s#3{2>gJuRWwMthq#PbiAiN0#gNhqwh`<g_&%<|(9kx<z z5<d%{_}}F>4__PaKQD`qv{`x=DBq{E&B%*Y=_=SOzMmkxE>5&cok0iMo9=JKa_%<m zRGXY4VjyX^ge;f0Y}>m^nY+0Y6TLIca4=wbBjy~mD9cBQ6_#}k8U7Ge8%C59(m%_I zU#u|~mg?Ia9e1`IY1J;a+^risw{CRwvL`;5DVC7rPA{uZwoKIT%7n11XT+KMt4#}g z;!EhnRq44V{S+cMc4n%~4<Z$2hbeF$B9etr(xLb1z}|iI(SNs>4)Y~Bq%6cZL3&f~ z$@O3fPV%2;$+{mJFZZO^EYCK$-27hPp&T)#(axhhDyV8GlBrc(A$3F%5~t+cE8bVv z_(XSTUsd&jD|{hMv&lItN28juvCHx6cAvk`WV&e{>Je`u#XrAh`W@ptH6+cdH@U|E zmE^IyXrx4E#>-P(WmeokWE0R~MR%V-n;)!uPt1Vx)W1Sm=4FKgyrU(;W0)6{f*=Dt z#Af7<=Ez3~U*bZ`QMoGH=h$4jO3jS^>sz1hx%<={Upb%6-dm`W%<6h-Tts?pTVV9T zqt5U&!uz)2SEK#h+{~xkFX`tQj0{HQbz>OFuwZXFHi4d?v}TAh8iS&`ENiv&qMwMi zZ$?nH^IPbrlC)6p#T+LY4K)N;bW058locbrSK!sf->T|;1FLPWPQqota*zP|i1Gdj zm&By((DZh+JgXU&y35kE(Oi<^=tNdpx(ABh6Yj)Kc>>I_I_i%h1>1&x^4ix@+nvLq zBBqQ{WH*~Ec1sQeXyx^yUR|FKuPO*L`vVM|Csnzq7JQ3=M0H38>a~Jup<{LGAs>_z z8;o`_u2!qLe9i$QzBuWeM=~K_C4Dpz=&+Ipm@2!D{ZJ1qBj_VrD+HJ%rL(J4XEN3` zP?tlX_rZD%D^EC8;($~2==}V!yg0xAsC;yB|Iujl`2M%&)xrJh@!>b42M-?}e*4Y2 zossEcphi1FiB})^gyD3w9@Xcl1B;8kf!2!}w)0m<rzhWkZDfRoy!cy<jrVif-N0Ym z-@Tr`pUyr`_X<jaCRuqjDSw98cO7}N&Et(aECB*Q^#fdD*JJSH;Nals_5XYIm!sTl z`F<I1sS>lLGo!)8B;xZxiX}P2d8F&&PqW$RJ@#UA;2evKXIi1EKH?@wdr{3s0CvKn z4>}!ND0A?iOt5$Lno6s+L0_IPXXEv%LNpiGz!{HUkxfxkH+#hy+1(#C1<_?IpqF<O zZ9DJ3D@I)PakjYLi|7omVs``0r`Y@E-ny+=Cxl?TK-us63f?9C{rk@k$5lPKygncQ zVSVxN`cZkl_tX3`fvFM7{~r109IYIR^;}9qSSxC>q>9YLs(AhC^yI%#S#37F`WiRw z;V3#BQF->3?x*os%hBfH<A)EwdGO%7#}B_b_)c5PR?Q96l~T6=@VLZ1fqJx!AQjuz zJCMK9-vh;8P@2tyy@z`T9&9%#j%VZ13s;ppoRQ#sQU*?M_;A~*+y&O33S?pq_}@b= z#CKi+{K}h8UY6xK!{K0D|NY1E{?7;ZzkB=3;kUm^mUHAbz+1CFe7i1Z)%xlW-(Ee& zhx#JslX^;pSKH(Wzhz_}#hK}rB@z_KjKcZZYn(y%in3cyi&e3k$B#6Ff6svb_|bQd zA3b{T=v(m2gTrqgJU)nFH>9{5GeGy|EtCUx=XSsaD34RRJly9gBTI_B4BXjmfzHvD zGt|}f>82O#^fD0?_jS+eABvFhwK=oV5R%H9QR33f0lhCMh{AWOrJ<IhcpC{@YV;KM zx*!p*w+?0J*<3|tIATbhF)uXhNPf?oQyyn|Ng$XUDsfcLXg<q*-+<UZrJJz`z_SJH z^8LTnKjTvCW%0aTKmoj2k1HH$C2f_|o;qyrLQIi<#0}mBhtZY#<GrWk%t8k&8Fvol zg^eaz4T+U?^ZwEPj>l)S;z?D!sY+?5<N2Se>7x20OyDW*xc4s^j7egNE1Z04PVk!w zuF$LO@Sb0<Dg-liID(}jwp2(WCJ~V^I^2vNJpT6E2ag^+_%<R|>d(gLlCmO-YekC% zL2ZmFHUdkA@*afva0~*{C-=!lya!9?=jt9SuJyG3qyk(kTyTq;2`cUqO)yWX*-hL5 zb)t*JI3lC4U<!8gat;D+m*ph>)nR%Nb3$=&xHp+UbRr|jAO+?5hGY|<1zxVEYy@Nw z)(_lf$Y{+xy3K*+djd%*7A|Z*IJXi-zU;zPYNxNxiYM<64)Jk=^;%TpNVMk=Ll~5V zMYlwb5yALC!Bn<!NW7x<BVFdEbPK*H?JfDdAGS7_R3xH!#KuaB+(gJqAx*()6LN4~ z%D4*km}bE)zL2#C>4XOR8I#$F!WK|NQ@D{!#4}A8M2}>cHkOSHh~rv#Pp|_KQaO0= z2O}ft6@Nw$^EWdi+A&|lOUA^8SLO6_H&c4_&3AwJ_QB)BgM-8DBAwTZ)zwW+i|4bb z_yT#eMApeakddT~7fz<cx=jW1$u8f(oLHq}#h#YS>R~95OR%mNdhV)=Ro1?klrSzH zKK%BZM|<BLd=sf+wi~a?Ih<4<MnlG}n)s-oK8S{>6WmD13Rqt-xT;rhrl@v1tv5&x zN>_5sU=u})=%qv_vsD76E*k0qC@{n=%|u)I)mwJS^aIRm(XLJZM!^;BV=_eEGLxjy zIHY8j#md8z2Whm@{Hqfzc|a=!5Zh4K9ZdALIgpPJ4j%12e*6bRk~9a)I%>K^JFVcJ z0dI=RG@}?o%&l|ez6aP#8&kzoMc>7tXHr=i7jr+mF=XYQ!LRV95!!<%#}Az?OKwUr zM~oWs*xvTZeW}0%WLk|4kHu=Qcr_hgBTPBHPfS#BLlg5<CzsF#=uO|t>@AgbPGa`X z8@L$ZXnek&c#}~}r5tB4!h#YoBy&LbW_disys?lx6wA)&s)r-o8^26&o8jXvVerki zMo8EjyD?<YP6@lg#q)ByDwp{SiU=!bX=d3GQj(@!BW_NsMeS|8(OQERdI4m)D-sPQ za^-1&*Ga*<vq5l;(=bi|=r;*Tzd(Q!(}RP<{RcJ#NZ1MFUwL_4FMZQt$2eS{v*_HC zhMSg&1;&@dvd6FsZ*aCxX)hZ2fLjicCz&47>Gk>?88X<-+7g(i)x~@#*vGxW5suwH z<qeMVY)W^v-6W>e2%{%)&PqRN(zF^U%X5DNez(%%1)Rh+wpVX(9Vipv2D^WS;P7aH zFvv@~^X_H2cz>g7{%TQQ*2w4mZzO`;;H=)DP$mxBK1JEo)#4`UOAmAw?vm`5%=9Ry z9G<vAw4I#3d3uB0zg#ct;gdyKPk&}BBG`uAEzZPXtZ;92Fs0pZZAdo%cRHGtsTn8k zIRg70rC5<2drv_e;t1&!WXCJt4O_3MheW==2$QJa?Oq1QO33Wg=em8jE$^Ihodyp| zCb0k>@|O8c6CQTZ$*_z^ovne9e54P1>@i4<;a#<NZ&xI=i4B^1_Db6T<cf3Ze718= zd<pVv7!!>Un^xIw(|IuM9lLhfu2)1T->)an7qbb?FGfpZ{kf5-8bFaJM+ODr!D0A; z(1#5IgZy|y*d*tLp1*O#G9=VBFpwuOMBs;g=TB{Jclw<|5}g*AL{aBG#`c9CRS4Nm zYPxH|#+vkE(<oo&LifT!>tgR51=}t5q@1o%sOtK!2yf6fQ!7U!Tnh$P#~uY2Q=a;H zg@Ci^kkYu+#uW~wmFY_W47)-@!K9q#13dNgLpiQD1`gSkT+14p^p@=4HB;(FPJ*<8 zRDGg-e_v0hG+;Zv;1z%!psKk`+V$Q7DlWy}7IHtDUh7*2xZ<}jkYgsK_0}n>Q!g*W zQ`_6oq0JKOkjgMyOmOr@hu<9yX0eurOa#VWzJ9R(u=wib>t}z`nu)I`FYxs1JW-nM zwwPra^|xsj6#w;Oap(2wO)_+p(64y6z{NT`p{8E#yM&q!$jPWmhn>fdkei-W7UQgw zo`BT6y!F}ziaZM)MOhL7%>-!t=GJgItPL8IVQ6!b3s$vp>KX4gA*ufy9``Q6JKR5f zba?mxOPeQf>}*Y^)!5%mO365aQf(3vh^84QemDxGGs{^PZKc8o`88Hhz9_F}>qKNQ zvDRR2yc%N@CZ~Zt3uvn>K^pI(nl&Po_O08IiYisUV5UO?sBgo7<JuU;Ecte-h7};^ zeqBm2-SmraKpyE~S|KkjXCX!+4I2rKLXF^fs<-vUO2M5H-+U2Qq5L6b{&N;7eEMk2 zaNCl3L8rW$#)V27C9LS3ZbxvjBE#Ng1ucv1ygX9U3*1%Ukjruw?!Pi#8_~x=lS9RA zvnZQDY^0-M2`Ybi^72_h7FJB?n^QLfx<8p$_P7X5&MmU}WS4qS5owSK?X7P^M58I> z@LTfk)x_CW@utqykXSE%pX@+k+~{Y(-sVeI&DZt_9WR#L?HQP8LZpbA=~bT$%2KL} zCG_jqwUb@j&oOxsbw!%Afw}_3Q&W{sqzi93<mAgIrHWQW!s^xWtDJ9<7BSWW4$n(6 z!3fKu&zZ@1!OejWz7ahp%*JK++uBtLgJvv~)5)Wa-Ln$0X9}|2Bl{qsJsW%GCfN>I zsF8?DbZcDH9qLLuoHP=o5RLGuReQWzjnD-;%TYEH)UD}x?Rit?L;}A7KayukHcrA} zC+gq=Hyo_ypmJ6y_FFB3MPq~tLTOr-v}R-EHWH(2Ck8T-%?;>OD9xOV1BxbZA?wI~ zVmE>@X@aYT+Ed^F1R`@Bvbl#WFQ}ohI>W%p_;f^5iAb*DQBM&QfZs{s6uAlwLNk;3 z5fA_yd7Q+l{d)p7w&dCZz-bZN%n?Gw#`#B*SMAF1S}(InEs3d_myJ!9o*nFd6L2X^ z3yEbO*HCSzsY*(df&kUgaKfjZFKJoSs~+Sz4YwKp>6r*v14-zmGsy!?j1ZHyCg;aL zoDS>z&+7nI^yQ8<{jvBDI0ZPLEtlCHd!t_bMTbqr$u6VxUVCEYudyj_k3w)3yzS%G z$s2C}w{oVLxuuhr5_5xKLQ*V=7n0GG5r5Nj6Eu<rK9K;C0NjAN@Tl6R?~}aflEL4J z1%0xVd3jG3s2ot2bUOZsHgEGw<4>VERC?sqT%h=}S)rKTs>ys6-@?#K!sMq%vSWgS zsMTU#qxKBIK=hVV&Y@GzylNAOz<iHl5&u0~yf4lufggJcaMmlJ2eJEVUJncZOeV7b zd0Kqx9gdSdhIEb-o4BENvR)w1idL5@G+f|?Y5}cQOz61vqMp%#lo_@x?iGJ7uMnO@ zl@CO`Nb$|*U|3vzIW6AQh^^op=+o;tS_4Gj5>OROtk`N@qFBZfb%qGQt7<&o+uNfp z^$DF<C#iz|7vs@A9v>SH*O<|`t}d1s0y2IHTmTRt;v<(rz#YKIZ^O!+!vsR5nW`AA zQKqTJ#8y{pT#Z2a&c%ls`z0V3+SSKoMo26wkSK+!f5^&y53CJmxN02_aQbSD^dqIm z2_!;3_Gn1Gh<7kQ<bUHx4t}Ov5<gzeiYpw4E=Dsl31&c#K?2Q9qiV7S5@<ZsLZE(E z6g|`ZfZEPcsSfZH(M@4O0BAZ|wA{l<(`%HlE6R^$&G+q|SD4@MiYA5?U`znK>H{{D zm|_Xn${0Xl!z-)`qh<~8&MRy=a>>KVUh&`6%7J;oi$@nwQ@6_*2w`|dTg@Mt_^Kfi z)|b2{OFrW}sV}b(MaQ5Zn(~~&gG4YW0E5Qs@g8!b6%B$O#&A)vsssS|akZE!2yo1f zm<&gOmb2;7B5YVr{|&(@RQABOC!b8w=)<Z3Gbk>zL=7=b$Cw~3Ce8Q?O9-k#junUl z$LT;8a8Q=xYlQn?oZ%~;Q@uwFh^j*%EW#ZwxddhD5r%+yiN!$*zga#I1iuf|@gmS9 z6$b7Tv0$HVhV>+R!$hyJT-Epj7=W?Jh-4C)&QQ%}4~&Ypz*|%%hbmKI{b{)tI2O(4 zT+cz-IE!;t0$V>3sen4@)E5|pWs!OxGp1lT7qncgrv)%i;)xDggVWqeYYKiUY5*ST zdU86BpcIb!M8~nI<!TBnsaNUP7f}wb1gl`YjJ#4{zS^jhsf@n3Ri!IVpL~A{$|9@Z z%CP7WTQ~_oDYfwy0L_bilr(zq*Mq<O`O(w7J~JCav1gl@k$L$RW|c*M^=Uq?hjn|f zT5kKYRU|gZdBYd7$aI!9?a`3;#j{A}%aO9cmgkFl1deOPZUiit%{1O2a28PG>{=ew z6}?_+|I-7wdoa&5$JPk+7_|QRPt|Y*kq-rq<Fh!tWVS?DKIpf&W){iLlVds822VDX zh|uWqtC5gHXfY7_6X_hA4xN6Fv>C5kJ4B3Rq&(mVOOVQF(Hj}DQAiWg-JNk%op~6` zMlhwZ+b4SI=tGUhla&GG6o|Z@I(U!(GHcXIAblg#;8%k4k2M)!KA|RL7EWhyk!7<x zr2tauiF~En+lXpdiy(BNS6M<tYkOLy;4)Kg&mM&(OWpXKqbgkBDd}IvE^*6J4`rlr z0@V#WISHB6NbIWj9dnTCG~ysBZBf}Vfl=1EE%54QmK|MS&wX;sM=HXE_<W**4fpB- zk7T$baQqq}kv((pP(mc98g!Z^8lHT1Y57+r@8YNu|7bc+#fbQYTx6PmY@Dka*Qf!* zw$x7jGa}J`m-DBGgDF7;`}#&;H#3hUt%1jjZw*e%NpS}6V}<{JD3_Z|M^U&(P-ZME zYi?j2)UZ|<35rvrN9*9dA%AtB-|BaKp7EwO*affL7LS<tyEg;7IE`d3SvsT&hcN0( zesiB=REmwgEjAdasaK#_?-+>4>n^P-0d$jMXsk|1NNUb(iJA*qwY13H?ELV7nP6XK z>DpysO;*lpM}}>d?YMI>C0R2_1FUYXK(vAk4aktD{9G+Vvv43{lHP$%8EFU$#wCjk zP-@QijGbd1la`X!FC#CI@LA~UWt0)a?E~PXUna+;U`R>zR4)-=xxmJ?F)tT0#FMn` zYZ|naSu#Fm7S@|6ab#d4B=Ua2W~Gj@FyBNGBM)YTuQx4blm+^x$`pBk@2*@?b{@Zp zlp<;Q4eI5~dP(dQDdW(=%yJ~*b%|In9c>}^2-Td&GlV-StG_Ydu$BMn<;e!8AEHH1 z14mIQE+5Kb#B)YHfz}FTx}IsfMse-3^u({kE7NKsNz=#~KjxFw-CY0F_+Hj`@S+Sx zthYMQXHZ-d9mKN7*LYh%9m6zonld@gVJ%4ovJ>mo%;UDKSWfCVxkS21^?FfV)Sset zO6fI16Sp+FiY!{S%T-bW5ch;Fv=3k=T|kh-_mXL;U)XMDX<~bTezuEDU+A9>G)93W z^(%f4G%!Ib14;xa_9c{~`PK4kxq!Bh0Hy@gBGts-0F^XL{WVSC#q-X{ZkmF^J1by% z4cnVk-gf(mnHvP|sXgBInHk@E<Hg~`I=w=svz@F_izgm0l87uxL1HPS8<nYEwqJ>K zG}8cM1fu#bzq!wEwQ#mGRYG$|;d<tNm0Y%09M3?4v@JTS=3sg%d-;xDAc^*lHkC`< zdPW|?f{qA7RIFClYIheZmy$=v<y@ky!Q;%j;LRQ(L1W~s)fZXq^;=7Z#W|ic%CL+h zU`g4y#wiY!J;RM`WSfPgDMWyscI*PnRUu-tvfJcc`hrr#<MZdS0WGJ@WU_Ztd}bkL zaiQ!U3-)%0lp5iDn$6;Egc7^v?pzOZ%2wy78bQ=naJN)lR^l^CvT;Yh%qd%y!V4x< z8DU#NoIiVrakXi@F%9U0#ro7Ixzaj!fDDow0^1w_jkI^O*fGr-&yDW9z_ChJ?tY3z z?E#Wqr_QeEU<46voOWgjgyI?EL|ax;BqQfxy+<jE?PsIQoCagJ!pd){rc;7WSoJ97 zWb9VyWl5k1soOAv4VG5_#lmJMAp^RxO4h)fAf{rQdebs?X{#G^WMWGkpYZ~6_YmMk zhLCn=u*t6LdG8fwOyf^7&3H)JHassTcw7EW+V^Db)wq5>aft<_riK>jv;WQg5-+dv zIZk<l))O68kG8I>YRvHoVm-aFi>xtqdk@E7N&X=<i`kL0C@4hm5xM@T$nULYb_+0h zJgN~}%Ft~J;*)3MO`0&*EH723>`Vy!TmI(`h`zfSI{c<_-&NOp#WQ5ydB}s+!z<5! z)qxGTS4bk}EV#0Gr&_)%kQ=wC&vC05QZtKpr)t;TY?!^nT`runqI2Gm*Q(MZ^|)d` zg=b;-I<=FRyegy}d4kmpU;7T6qf|-3=BdT9_P4#I3&raZN&Yxt$EF=1!POOIWa8y} z()d0$x_Zsub0SSb*$JG-P%f9VVU6r`WR<EMS}HxnV^Q|yY_2ZAMrM%V1&_oHVq?bI zA@M7CnutH0^Vi5xs#CrpF-!a#@RaJdnWw~JdCT5TbgK7bx7d>8EJ-QGO<v#Eb%+z& zI*Xj&UJzTbY#))9XOS;X%t-$bi8;jKF@^c$$2q&L!r&HWs%ZOE0WGLbN>BMYCrN*p z(_tHbM>rIya+5-h%X@74Y&A<lN^r-?3naQ|tDGV(yi-BvT|^@s6`-7Lfgx*dz@`tf zQ!|#hWnGiz$$ffD*KrC88YRn1%I-((K>^z`4L$c=&4U%t-|A6taZor5(oMP=K5HPn zPo9HPUr4Z@*Pl>cB?(j<6G7(}<$6r1$Ee8TctONT@LZFYLpcxj9~GT%XvDY=>lHUh z0b8Ih$vetMgp~sP<3I)<oq(x=9VWU&00H|6%8pR!5gfRfQwA<ls!)=WHas|<N6iAX zbj3lC1}U)MutV>NA6%>*S3soE^E~!%o0k&oGY1DLXEzCZ<f)3~8~jA|Gm;<<K33;* zqxOPDd{cgGT){WhYQ0d&6N~brrZO^nh}mgz=qL=hn{FXa!kl1ehgF$s9su^kV%!KA zk=74yUKpoYkw3@;I@WCOKtv;SD{*3MuNaXc&3GYCbqYop&@I`^Kko1ISj+p<at}vm z?(1(Q-{ic9<4OAW{geG~4!@uM<!tis;j0&WfB*Zz;ondH3)PYS{`Aeky@PxBMF0Q$ z-_tk!8QESghF5GGd0uxyA(7=}u%Trw&_Qu+%ni0Hbwo#8y5YkS_#nNR<d$nuUE(xX z>td<b2q0b{1yFxz)=N17M@j?y5HTX+`6Z6G#rVq;LJMZA`>IR04>)@Ul8?rGrd~Ma z-(T@*0UtMJ?AQSa#)c0Q3`b`TF6zrQo$bToE^zXZ?n8U_`iCcwn~T}{@(N8LDaRgS z^Ns}(jR#%3wJUL|Cr^zmJ#Y^d!4P+BrXKMhHwvat9M1g^PvdYToUnxF6=29NNDNc? z0Wg*4^|)SLzhWnC2LQ@Wwd=?HM(W6rh!e^RHwZCfWSM)-&&$!Ip1xZAFc$<)KOiOn zrdgzaxm@F1U-~Cflc>Bf`~i(EZ>SDUAc(&C3r8a*3}CZx$!I{ZZZD9ULW0PQ&t*EX zc;oTxqoUh#I5g+!GB`@dP{j6*rXWFp($JNk#ry_jAmG+?vUDZ-k)aJXkjpes1nfPM zORee04sQ@@2OB&i4mia|B4n<QP;2Y93IN9eOWlzb0A&13Eu|?<r>~5+F%F_ZoJk$w zSZ7`0&?Y3tl6F6<`xH4>F%1gIAv^t=7A#;T--gV~klJ?~h^FimJ2N`&G{xbDqGn)G zGZy!?@_|kx0t^E7il^(vg3hhd0a+M`6y+a(EU%ZvJ6^N<=FNBBf&wO?()>4#43D`1 z2bX;VceBZzzC3%4v$tRiEy<*G<}L#h)Y4VRo^)qcUTVemJ$LSG8@%xFL5P=teTnF3 z7_$Rs)`2IX2`%ixq4v?^{9S0vY6#7h2R}9y8T<gglj*1)!d=DEt73-GiBmWP#1BiD zr8q$iAy%B8zSuu|aT;OTfl4N87SW4}j`{sCRhAU4-fbZA4d7mjjt!{Au)?(f5ZF99 zJ(Y9vY6ukHUuMK~oC=BbJkq;!D7s-AlL&%|fp9~z1pov25vDuSG}QVI;G3fxK6bxr z_&{o_BV~c?08HvFFl(?ts#Y^eXY!}qJDv>gB`K(g((a(vc6RYU1M2sG2Ehyn<!}fu zX9PV9*UbUf_NB6)8wjJ1DI(0~CMCxR&YB*LvGJ7EFNBLUNaSa0FF-%#j1%Zr&kkW7 z;62fT)q578(ZUj2Dmum+J4u1yCB?u3KySb6c9QS&dS7bam)EK!4O<~b`C3d2)Y$@$ z)oj15Cew2qt%32tEQMH+hEX7}A$2Qd$TTjxg0yLu<pN=&UPneKHI3{xrD&}Yq|aLv zU%i1t%XemeE#|~@YfSXCKzF)gu&;O5J)gj$pZhXl|Af+OM2Kr==`FNiU;$O5o!n1i zhls=48jiI2ogiytGg^G>4wAGT(_r2<=0v?C4p^e}I;t?qC=R1KfJTPdH4xIOS^fjH zfph{C_l;0H?oC=Dhp{*)z9KoyF}1JhR`f&lfb5(or`U2-#%6T%l27i!wG<_)w)~BD zl2ax|ZfY~SbDUZ-r7P0LW&-!pv;rQPXN)cfw~Q@POP|7*@9X(Xy#@Y~E>c60mn+`d z?7TworqBuE(t0DE#TlkVi4J250$uAJdK7>{-4sbnH$Ic}EqeI{={%DYl&ZO@nZTZ$ zo#MF5)5UE1>=UwZaeO8SEHdJPX^>tTq6w8g(QTNDK2q^3iU^}yEE3FATuH*`X_)Q| zcPaV<A7KxIqx`OcI($Pmjk%Io6Rx*+<t=7f`Ua-3RMfs>dH^myDE^)PXA~oK@6)bL zNng_C$=isOnh#m%tU8sbNQn+y)`a6V-cP_K#LRL%pN}i56@@BgH$@6p2n3u0@#E?V zLKUaowq>pCM4>UXH~AWzq`_07O6|m@Hw85fa(XrU_yQi>f&j-UtEVWKUr*On|2Z(o za05Rw%v?1N=QDK<$^}MXGQPr28Mzet2UA+&rlx4p+h0@c8Nr&MTuF{U!I=7W3N)Ec zs0`Wyp}@W3w5ke|{$9LZ%sycKP$-Y|847LbfFkOiENfC5(6{P^>@1VcLDsSlOebqt zM6BmAtBfG>yp<$5g}y}zKLk2_Hb+}#T$(1Aj*fnwUd$-vJZ`u8v{Jd~QIpyHBHg4s zUmAQ$LDE=$bT%5IqT(s<6upTzb#iN~H+CQ$V09zO3{uzbHt`A?do#OQX`$&<x!Bv` zC9w+>TYiXlQYu4WU^ZAgsXbXP9`_a8hY2>I5l*d&*RM`b{tLAtXTz(n)fB~<S2-`? z=NvwM`0$$t559Z+@SB70G{{zv548I6q<09*k?~(LwR3c_JY{%*RZ@tyQ}1K8_V$GI zY?@plj<H9^RTp=HJyW~pp*Ga|+e2iIRQ0>cNJGs`9Hup!#d-#EEx8vX8~RC<#%U=i ze6}={%=9hUd;pVUj>~0UQO(iTNgk`0K?%A<l<%vXTvH=a)ufT~<h+Rg`+thVEE2YG z7HY&`TEQn%4%Hz!+*weI$Q@u!@j|B-pWuzGlAz{s6v`}TtH^Oi77DOl$i=ce%=E#j zxo64SgcEiu4X-pHCH&j^mYVo%DLHqlfsd)ZBX91V=I(cUJBb32(8$lqXxP>jgB@^z zoG%10tx`8_(`#q6(k`@or$vOpke{b<{Ns5xa<E=68(+u@r?fg^!f719waa!*hig^h zUQgh4+8R`(?Av}elE{*|QB}`5wB|=-LybiYY=o>YdZ?f(xnH~~&BbjC6C9J`#;U7O z-X?R-o0IiJIh&oCmYT7MO-)bBW3VIz8pBDNU`!}R?Yv?UI>5GnJ>i^yLnryAA)(hM zS`m_e-r}d=Wic9pN%r<;Qq)c)Vm<+}vUJ%lk<v4o07qUT;hCC6XTfO}ASF13W!-HW zQb<O?8#kqK1#VkDcAFO|Hz60@)YNt-f-eXI1Y4fA=h%=;C_2><0w`D54pO<b6xLn^ zXFHYY3QL=Q)Kb+G2iqR+QgC>Z&hc1L1jpxy%CMY+Xo@Vcq1fiMMVrVFhjWLlo+sq; zd*ndv=wFJY-3eEPg;aKvMq?g9s(TDzK#%2%eZ@IcGNwyE8_B3%mEYXww~-X$#q_3| znr67<-k~SN>rhENs9BPqiV!h}iM-o!JqfBPrvP$zSD?Ug#esihxpD~bfbOZ$ht??6 zu72`&-y4waLFgzAaF{&nI9+&-s`{;Hq?b%e##cXA3#zL=sy<btugQZE6QCkNga^uu z(J5FJt_lEyAvc^lac9TyYISh|YujVFZs_kgw<R)3p7=3Ji@jKbBm@a^fsoOGDN;{V zo8Dfwth2p6*d2)v*f8HSR_UI)DJY_0>h&0hgBtNK0*ed<*pVRByY*}ccu*J&g0I8F z3=Tk%e&XaWVz3lC+zG-|UrCe|XZ}rcf@(YBjck_aYVVNSbn>`)S94X*Y;hlBNwSk$ zJr0+{*%)OzmZ`|ACBeiB1vF^Z-t=Yytz4U{vNwb_6Jv6%wYoc*#&>>)h-9;x7=e@c zbb_C8=B*6nV~ZR$MxGVr$eDyxNP>5Z<?^DcM(>h@8grt<`aridI@BT9OaSLy%_&o# zjSL?|>NK3+MrXq{;vnTzOx%RNffvM$X~)M;O4_;>mYDBt9Thio^6+XEdZP<zn_AB< z*6zOMZ_@P&$FYH9IjPGUt94Run$yUN`c;7p&Mu)1C}j|7t49s((QVce`wblv-(4bv zlZj-8B9*zZc3Q}LBwHBq+DFvf#Jgra3a42@(6U5Oos}3wfDwSF(7+LSZwTa~;`(lq zR(MP!h}vM&?*(2#s1fMwz0Ntte&{=eFi)`d8kC8>69%*Zk|h-o0pLS%<UggjrhsTQ zMfGic02O$|?%j;iXsM}<7kfO%KT)q_OV+rs34c~7<Ai9RFIv6%hLIcoF}wHHD8q!r zJvBA+1z`o^%i{xfJC1Q<6{&$v*u~MUb6lr{3z&4Pg0_H=TZfCKmPn|<5mqdG3dtg_ z;9){}8b)!_Pfo;|PnJ3K;bSsJ7j=9*CFF?oO>A0LMwiWDjp55+`RKNC$sQrwIvj@Q zZpAOcI3Vfamx7~F>^?Qgl#j4PaK3<UNvFHkE=o}B@*0qQz&TY@1%%90|Dc&Y$rED8 zTTBc8PW6xAcoX6KC)Gk?rXF6IjvIMXAw-g^;7q$_+|LcEIv2?9x2@>fNr>&|9A_fl zcS-q09-g|>A8`sc$my;>m@nKD%M@+CdQ6$OZ-hiV8Tp_vs{Qp;w~HO~)oCQ=eFfsl zdO1G#WOU}uh;x6ZSPDjbcA^IMf<NQu@H>}RL1=QjnJaBbv7QUv`4@`|D)HWN{>E>m zWml|9g1L2uP;VTvu-qV*CdV0+J88J%XgYdxdb%Nxkg?MBt{}-oZjy58wl0{afbsOV zB+bA~Gz=4IA|}r)OPgO~*+Re2zvf*o1*Ad01eV%*yu_Wsoqvu%fVV>Q1N{q)43b$` z&4MBab~{%MC=sn1qq#vr6i={kNYmlTaRjX(J4tx*^IQFnof)oN*2kt`={>^@pT0X` zfr{3p;V1w(L=lE;Ps!<}a3}pL7~AS_7og;eNO316;g{agXEEu7EaydkD91S0%a^$# zaLh(2vWiXpflIL4`kYG*l%o&x@%3Wg&sNw!AJ5MB)%CdhST0mS*k7;e@p4}RvE2Kq z;Rt{}jk0{9axL=6FcL#@ModXk97!M)CJ;`gy1dX+IF4$y6qk-c5~#HViHhv9(-)&0 z())<~Mk7h4){GjEV&?d<vHpzWBtheWF95gTD(f4sx#BkgHdz$oNUmp!Gq^#fu;2%O z;=Z2GNTSYkDta?B_GU@<=3<i|3(bdeQ4`@N3=)I?erAMe6+7$!1;ms_JZ0g@&qir| zWSdh?vpFslEiXcwNWOxX+%S2)wbL;7Nb>MfH){m7UlAI%?Ig`_i1h^HvK44f@Tn5{ zW?n4R<x=BnU%In`J%9OJODstOG?GV@JoNc&<nLb4Q~K8|J^76Wu&G;|i&U$zHPnKT zrD_T0GoW*rxUas<3%~TrCg$<J!U=U9VKd#@tWF9j@i7ucyGhQoM6C3L)(Pe$0+A}+ z_@HR_qsqEf$48M^Mj7F9`9f_yfJ?@ANS0$*4h_57jf^PJXiP(gPD>gC2?*?dNz-|v zNQq{5QK;-v&P{G)$#-m307JkII$X-WsF&5zypBo^1(SCgt|2y(SbNHI;#x&mC3qRM zaz|>=;^_4W?QK%xG_3RSjLv?$E2SNf#t9mIkG@FK?gWdv*F6FU_s8?*62-XGb9#Wi zI#rj;L$calA<42{BUQK)UWDPd*=?<IIoZnlKD5#L5tFpdSii+Gk9iF@SHK?dj<*jg zMD{TK9|Z%z*?6rI=%3B&<!n?P<DU2N4CRL;f*=NG(=%|Vp+lFD?-qN#82ie^PApWS z>7=-TY%P#>gtXE$G>NKOObJAkbO0k%iXJJ5WhL_z)v*r0d$4!-_}jgMy@!AN_Tb<^ z*__w=lk59KIG6Y3IvOlk$Of#Q&a|B0g2+8p5zau}6O)_A_tnSZmtS<Y?OBcc=70UQ z(2M%NVu(pI-8jHBNDkg#enDK7D9*r2#g)%1q<e7OjpWNOzi3t`p22Jk<Hxh9rX*c5 zLOM3}A*D@T3va>;Q4k2itOEeKrw6q*mLmsAEN5YowPlOQ&P_5XZ3_!o1twUoxe$^6 z@MF1{!UFOiUZ9u{9qF;W^j6F?u-U~g4m*Qj^ptv&lSPz}*f@cb?}Z<kW{}7zX>fEQ zzNJ29GpsS}D}nTbcy`se6HQ`)zHjf}wzHbf;yg6ZSZYUFpnV8A1*b`}!$jh^eFScj z?JzIn+I#lfW{1cMrS=iLrr7~fa-zL&(<<AoR$YNV+nFF)L}WXsjQQtO{wp{g#&GMA z!KbSVH|%-r4^ffjac&&Qx-(dKUCxk2dWn*X_|hygI!5jk2#s#a9ZBk?+eFCDr|Y$Z z-AFJ6+=!_kq1ygrzIqN(76^C`0kM!zO;L(-hS&oOJIyo{_WEcnE5u^BU`IWr{Ldl6 zQy(e?nugOifjkg1Ym`_8m+OgLTr&)>4dg3U$%C4ZX&`n&T+iO9Ig`GboXc5_SRRvD zELB?wtPyx3rX0X(<u`!WoiXXB0bD!DY4)@61T6s$CgrDwm9<(tUR7~2Le?gBTJ;+@ z?UX{rz;v*}q|K81&4?`hb*D8aiwVXqk|-()f8dY@+d-Cez1e&(RPbNc)jH#iB_@<u z<rqjwlzi+vqEwX1L$N#!F{?opELP|F9m6@OCCK*Jl3aJY3}1xxpq+A-=MqX!3`Az1 zW>uL$!Lcu5Jqo@U4~Ng)nLrA~{@?+xSRPDfRM-IbGSgY5a$a*XgQ^=kcE(uD`x@Rv z5P@N8RA7Ev%SWLI_oyN-UP2d<$KNdbM$(M4e51*yy-A#`^SG=jg4!$~+A$cn&teg; z%4x;i+iA48i|l}M*^Vn5<jpT#EH4<Cgv=1e#n%u6NU?#pCr2vgYwVH-IJYpyB3gU9 zfwgXBLd0n)X{(}hx+k@xrN2<(4>_oK$aO0o>^($yK$uvl`9%r4Kur`;5&?$I;zqAk zRK}b;_0Vr87z@1s>!vwJL`rkg-kU=<p09!$-oU)D#v+KYn_qSWBTN)o<5q&e?E*{H zE_x_W^vS60rK>)pq=Vbrg5~2qa0Gf|O!T%Zye)7(9hVMZU%*%U9hTHlIo-E$pSV~s zL2lLcfE4ZD+2UVTQ=~HGNiwNL1Tu+J$;(mww4pYueuDKBv<hk!->e<OIHGKXFjn6I z`w8&H1p-D?QRf@;6yF7KQ=lOv#Qkp$-D*9pmalOJ>?T1xqe1wj*_MC?%4o9{t`#_L z=V)8`R5KEfa13<0+9iY~_gL%>P*g)3*TdjEq=&@*p1xrcopp}LtsaCcS2X7cjLYfe zIy~v<!P8j}ny%X9PFGc^#n86OhPok;43@sC_AdACY2&9J-s9x9avaxUY=F}WK_d>W zC>)?1!)s;R1a#QJI76O|$_pxx8$?z1iU)i6-$TCVPWhFRd##-mEm1x&CTuz&<nKS0 z_kTXP|J~bP4!`|XC_TAhORvrT@a?*sRqLxie0%j6A8K2A#ZCMOr`KnEpR}jIERe0n z+?xvZ$WUx~MOG@x{n3@uE4pf09aN`{_t~1$boI`-hl{+O$0u?<m^}K<*!RKeyO0Jq zPG~J2#?ZciUP8%jo$X9xSW*ft!6hpBtzKPRz-7w=ug@|B&^e3d0(+e+v9Jt4@2N2; zm>R*7m?0f`)CV#)ovb<B@wsPe;JBGt@-{(!iV+)cwpu(&Vgj444XG7y<p$PCZ$cx> z&!uAsCNi4L%f|?)-tpDo-9Dm3`)uIu|L<Su@5$)beH^{6@Rhrz`h0u!boT2z8AGws zj4?lfCvX;SZ}KmJg&Y9Vd)hBgUOwZE#htF&sPfOx-vs1C#1Dol*$G02gLPun8Ypg1 zmcs_jqZ%WnQN_H{7_*}VHX#A8b1P(HeXW(X&Lr>#?5?`(NogHYp>^yVjxbxSOspOp zyl{;Z_uJaphAIWBoN7r1hDm$(u3fh4y6=v4hdyCS>1F8+v1f(lfu>p=F{%xBXDov@ z-EU}s&g$yJJbJPbKLnB@3n(ggE>q_v4Wwz!kpNV6B)47=F3<pP44rPDM`UO44C?d- zp}?R5d|MDVk>&|3655Hy4Y=B+po~J4bXm~$>Y|rFAr;8Y#3ePT8zXSJKHtcCNnp=( zWt82vp!q{=>n@7kb_F2nF^^}<#!HqW=ZJ-}fCbFOp*`D|NmJHNKW&e?>|slpq(s}+ zToNC4ja)BY4zehgLa_Ok(j_IFZXdJ0!~q#(x?UFz_l~JOi?%ssCFy*9e!M}9II$Aw z36UH=$nFJ!w<YJ{RXInsp&f*QO;7AUYfY4ct~D5}DO4b~DHv>R?3gMV4H?%?4CK=q z<DCwhrt*avJ5Q%bNb)D*-=JgDDhsna+Z-`TBgC#<wrj>%9Cm3p>W*BzCfm7jhkLG~ zX?6+^B-{5A*SGcTmz&5A?dRC8$NtyMBzr&88=c;8*1C@au3@Ooq*ZC=L3|1+DKvn) zz+z<c$`i>cua(`M9zGKN;pj&;bSY&01lNPtxbeYAdatJPE;CCz*y+Ca(T~FYwst*3 z1!D@vc_?hBagF$-Pw4SI-`bPD5~{b2O<pK=T5th8a=a-?NTU!tMLf)w`$c?9L4;%j zW!Ei2>Lqz|uLd?!u&oM08~I`hn-qj$rFcR6&cyU&thL?~Xq3R3g0uvY(yVEAt-`0B zbdy~O<oZfczI}@7uA_Bu7>NfosO{{JQK4AsO66A=foEh+VT9fiHHfC_wjULGj;N=r zqf1Gv8rM&+s^R-Qd31NqIlFLGPUeO}I5Sq0O@SE>arI0Vvq(+S04>jEf3B+eE<i%3 zK?<Y>hmZKY$0*GZ;V_H?%4oTp0c?tMHxf9r=IXwUv=Ss|q?%&`3ube}L}(qJqTbNr zlrJ~g1^nr?R$><+gvIb`E7BCuB1dh}kTuqs#gH_*fWu=h8zp_g^tlt5(>9h713g%X z3q(_I#6xr#(UJrh|NI&!TN~Edn1ef6V1~r>n1aUcL}ghT(IqyR8(ggJsByXMyjQs_ zzA~u!nuMaz{|y-8!|X=zy(Y&pT}@|$m7~;ZDf}jM;Wgd+#FuqjXUZ(752Qt5Y+r+7 z`Ql-3QLRlKk$-5^Qks(Kg6yR6?2^z$5kJYHawD3KPg4^ktE~ncm`jGYfW>rSbOa5Q z1H`-=146BWSam;?xI~jC06L{yI{Q}a`SZzOy{Zm>G}c+T(bW%dqRcM1Tg+zml&u3` zHG5zA<p6t*PVKu4UtRy_)%l->^{e_nPk#9M<na6Y1h>Jx`DXa^<nhV-`G5WO>3@E= zhnEhA5B_?6K6$?Sf2a6i`er<Q_=caI)E{vx<@1A+pJt!FKYRAz<xelad3k(teesvQ zNAC}R`p@rTqTrGxh^28Up&e0&DuaTY2ktaSsJo^UGhUj{qFjU=&%+TiJsA<H=0iS4 zW-bSN<_3F5HM*Yi86|8=hse@SABaqGX0jl*f+|xD%mURt+(5d6Sd-6_nHpj0Km^^5 z$^}O==t|e#ru!G4<EHSZ`u4*Y$d;@4SZxx0{UCKqXs*UZ2^Wlrf~KxIJVh|*-bI{s z)<aX~NK_NrZRMvYVvrGp04<JV_1%yWm5A*!5wu)2N2{aeOy>g)MCsFk>ODHihI7?8 z5#U}Ixj91D9X>vM{NUktIHw=UYVOKNlQh}K5hbu&x|&G;%FN#QkY?6I2tzi0WJeNM zyYuU}%?@GAKo1S=y_;r@;YlN*diHIbWr5B~t#-I&%WU@<@zdVBXqfH1n*eDaE8kCc zXmW~vm{YcW&lTwqL+AXq4dVVCHWZ9p2qaZIibO++6Z<)~$Vq5<xM>oHTL?X<h4+(k zfwWA>GmV0b8fuVZrWYULyrA+$!i|WNU2SlC33z6n5<|TDPR9+Nsx80bFfUD`#cih` zZer;r6wi)!`{B~HlU>`-F<BDh;$pLmd7seKTaYGOOZK?_5~E7AcT=$S@(2dWhYTzA zvxyiUsQi+9%)lac)}3uzFJH{4q`S`^#{b_83KX(Jj~OV^hL(x;?F<aEfnbVEYQ9CD zJbyEUGNv-nC2^!A`wfDo2Ivpi2#3)EJ!NI_21}Q~84u7Ou=Sj3U)?CiXn_8Jm0a@Y zXgq$wg-yfD+;)pSH5i96l~%!Uedx{tdxlN48$_mnleX*ngNPdg`LGfBdx-blJgD)( zBN2si3NOjcPAX(@+Q+RiLdBbMyUMi9tUe3XW<ut)cdHv^J59)o_D*%9Y^MocZ|_t$ z%64i=Kh3A@10*_VA1vat9^-J^mLZz>r0Y;&A96_h+3I)X+3DiLB#nQxFHqG6ok=1h z19+-Q$gvZ>snm@3OfR7KEP?a%?~JR&PuaP>)qvZ14anm0n9hpsn0*67???r^)O)Fm zsHktm4o{Bn*{uVl+amCc|55<>9-os_u@>WpdqOksU8K?%8}kAPmZs<j{Z6$kJzTWY zl5Hj^!XlTOYZEX?b8Ut7jKcf*PNVpHJE$sVpY76%6UA5v*4}If$<Q!%8o3j>gc1dV zWUfm#Po)t>KD1&|O<5jTVptCU(J83PfF~w>qOJi^U6DCVp%E7^)g=Ev0~4|>PI=J( z86e17jW2EkH@@fH5jV!|^>uj;3woNi(QQo23?{jvX|<DnY&)CSW&&|OM<*T5_Kt0{ zhK>_HWS5S0vuwvM2C$3Rfv0eCR$x2WvSk)>YwsVi!@<{WM{~%tscp`?FhsSyH=`6R zxc4^b*07@&dT%0Jl8B_)Phl<$QOG(L#*LzJMNW=HsQnzrdX^Mn2+x;U3!qa{fa*e2 zTp%n<yoxB!;OP1AY<T{MPfuPfPhU?@em*)n`m2G}GMTxKf{uK8bGLwXFikYpv2lZQ zqlLZXls17l)sybWG)byvBbwh8W?WNR?sVpX)=us?yE<yn=q4pSBJReuHm&Rur`@0a zsrSl!rFPk_30rKXL?9>lk*pv>bBJQbn>LXK5xw!R&J7)K?tC61vz|RyhG0r&9NVeK zjANJ@tm=){heYXy2&8HfyVH#=M4Dh7q}ScUZtHs_tn)321&-+^Qe=ON*YIkjJqNyH zGsB~Vl%>co<g7*hv5{58;F5x<p)ZW%?`HY^Ut(WsRDGz2RhTi7;D#Zt3BbM5>iq%+ zBsSS`4Y)5hvs@tr>Y*l4Cp%Twe^up3eA3JVqN|s9QoGCWgF_UcJ22=Bfrx5Kr}9fQ zD#-QfKRg|Yp<5gxEKJJj`T{|GoZ$<++XNEi%SIKbrP%-?Tmg}S2eN<Mx*8LDYg-8F z*H?5&=;4DHE6dUQE`;$M5(foca0T6BR*wp`LU7q3pUkt<<3HPyH<0S|lX@+QvBaK{ z6Y7t?i&jtb5fz%3x+O(EhK1Z+<>Zs0D9woeI+2=$D>ftY0S66JUt`QRv$`bI(0PU> zanpQho!_=)h=?7#_RkHoolEZVmaDycuW5dOh<7^l%x$t=W*DKpU(rx@Za*7M;Y1<s zy}CX}O{7y?d5Qv29h8G<0V-B|ZoTz`D<_mrA5~UHQWWH+enN1nevBZ9<&Bw%p8FHj zd-N!zyRk$~3)7uNjN)I9wet+zJ7Q>tb1P?;Ipkq-d4iQ~rzPDe+o>@z`-&XbuC;4e zp1r{~-K)0QAvi#HMnOy|!rQUp+GV>&RdHIIGrChI?ma=Lx`Dc{#^~4PP^ET7+F&?Z zudZgkg~3y700Jj)&}27I@R^hJDab}!m_liMG=|&eCz-wXy|MRh>3Uc}I9*q>1bG`F z6x$6s<ihhqPqfRxdY{OHmA_i#;-L6H#W5=U4_7Qi?iGjb!RcyIm6LnL13bbhlj)L5 zB;6|>;w!>x<=BWd8rq6=hJ!nQjiCY?lYcaGNc*%2`rzIeJOrsS6UoDpF_{>Y=EYJz z3)xy(I>_sb_Wu30*&)(-f+3n-9lsLcnG~KI2DpB8@wci<oKW21D3rpLPSS42R42CK z%*V4Zad1bS%Y4;-Qo9rEHyDL>;i`UcyLOUr?B`Z<?g<2`r-DKsg<gma7doap@#?&6 z9nJ}?6}GkPJOarT>_uj6CMGMEOEx?fqPLy$NY~ir0wQYZ$y4siltA&2O25#*5V>dM zcIxUYjS7_;8;N`au_e~03J@tp8ECHpH$5>#760mfd8-j+5i|(b7g)tEKcd*d{y>N$ z^OA}snqI64eG8OGEF#w3PKoB<ixOSsluYz66yzWeZlkKw+KXeAQ4lB+g2wtIH$Wm3 zs?ybV1u|&VkRnoS@c}+yqE@eJo@NYgqU-VM5RIC6aTcpl>d4MM3X9lb@>K!o6>nwf zf!WA838UonBmHZRZU|395)d_XoDzO>zqIm@E*0U4nvi|;JHKxcu947Pit7{A3Ez^I zt9jM+UI*F+eBxGi`!zRGv2pFqOJ@7!a}a@{QGpAO&F%zfNDTa4rYO*Z!JPmlG`N2| zVJ5>MJ{K7~D^eq&Y(<?cIL{OuwdP17qKD0lR~H!JN5KLC)i*l0W(*UAl!lY&vWctu z^sgD#qDBs3KfiVKIY4k~xTq)fv|L4zB$I$}tz-8C*5GFpRdYRnx+l2&44cW`I?!4V z$S}pz!N2YgXOlTliDLcx%H~_{H(^G0kAAdJ?%Gu+Bp4F3m{+rVt<T7tK2#|<Z)$l< z#ULy^kANxEi9l21!ZNN6G`>2rATyGMos!Ua&DzdyYY8MUrUrS1+T6Wfw<hR~>+WHg z=hcWE)9mg{u4JjZGr7Ib&AO;imioof+A#jmO#Y&w?A(5iMNl9UJ*H?7JAvo<*)*H9 znLQ!3g~rr^*z4M2@Qc-Co`T$1gQX`Olg)~%Tt#8o(BPqX6~C#jwN@oHuw#KbO121= zQ@obk;%yL_0rcSEqi-JT^-zH6g~x%FB~(6kkp&eag^sqL9vwUq4}qSLfYl}ySH767 zr~VmKstE!^!s`HCtg26|{j1f)&vRi-qAZS}0smr*#pE^#I(2y>1GU$ts&OcoEEQ5$ zW>Ngl=BZ_d0Rpe}_`$(}2TeHt(>13Xqd+`LZz(Jm_lsxLR1nr6g9%t;rqcBOPsw`# z@(5{Ex(tB5cX+euW4CKmEjC1eYJ9^eFf<W45VW+!%DLhw`u9pfdCWUolK9o{`Ykg` zF4l*EnvxCibMsP3AYPsSguO>8ObjT7KFxQZj_IlYhWzF}n@^6)wO!e^%rE%#?lsDV zc4YD!BW(?^k0UcL9}nhfG}|_*W@h_EiM0e!8!@)Lx3~=vN4TzS1ea4C;6uFwbGDI^ zjb%sbCO1l>yF`VBDP{S8QOG;x!&MTdt#Q}JGT)0^>kH%=&S%ii#ZoB@FBd7J9d24r zzWVcKOoW|!xXo>(6JuOhET3t{F-#j#ffhluThWFE5JB;rWM&6dcq8i_*lT22YVg&0 zg3%1O#}cbnpHR3>lBLo#(y(%q*$8cuYM0m|19G2G=GkWi^dN6E8C~ANirj3nj2L5A z&&vg})q^WP1`wx|!|z9#1~rw@8F0;DNh*}?PCwX2f{B8qeN!QeeOj0|d3jNm4oTOG zwG0EM(bM2W0Hf6DWKAbn4jce@?yPQez`)rdQtM8FdvV*QJ4T#S-fkJ1-9*N&J};YJ zl*YYa6zmmeS5Q@?jBH_JeBv`SbKHo_HP7kS*_`SVmgC|bJ$_d(_9Y9*`H6{dg27RB zQQ~F?!k}fI*ghdR@QQQ7+YrSK+>)g5#8cMD`s(LuF@qb4+tI4g*AitX7mxxF4Zu5< zGF;B9AyX-*^H2GHY3O*=hrTL50Qa+^y10O;n!(nsAdBd~7qYlP9$A`!6g9!-SyXh~ z1#b6j0Y}Ji(&wCUjr*q7I2_oALQI?dypM2u#bi<<v_Jw2=SaDRC*{d}yed~jB)Si0 z<Vh7m>}GgLU7!NLi>ue(D;CQoUGR?j4IC#x4Q;wik~SNbU#p@HrYMH~Nynj=U+>Xf z*POLdOx7rDjgq5>%(w;?fW@SU11JenL?!dt$2Yii7{}yD(vl1m7)WXeD+0B4Xy8)= zTd$R{jRYWp3^(`DSXovWtDlUG!fX~{K~QA19PJ@tl@Q7$z9?ChzR*-XB5j^*95m`I z*Y##YKP2dFnmi65iO9=9O>nwxz|ay;&ECAJ4jJk3$=LwHE^&pie7ge<8Xfb*mPjnH zGwHN#Vp}xJBZAmUy@>TzM>Xi?a7?x3*iw4I8z(COY9M<6F|1U6^lR+M_FDL`ZGPT@ z3Aj-)av9ksd(RU<(qKx@-PnDQJmadIiUuCB%TjqMLx#bzx!?V#@0#|QJ#HW1Tyx?E zouBo2X1`p|=d%U$!%L(UpJ8v=51F;me4=?C3q<?20c={7?xr<FIcAb@mN7c;xLNu* ze3uE^Wz~SA2=~buxoQ_UPV#R<i)`174}OzVAz+O_3Ly8t$NaNOO}Q-i@2~&z>%aVe Du{2OP diff --git a/docs/root.yaml b/docs/root.yaml index 5dc49e604d..384a6242c6 100644 --- a/docs/root.yaml +++ b/docs/root.yaml @@ -107,6 +107,10 @@ paths: $ref: './controllers/MeController.yaml#/paths/~1api~1me~1listening-sessions' /api/me/listening-stats: $ref: './controllers/MeController.yaml#/paths/~1api~1me~1listening-stats' + /api/session/local: + $ref: './controllers/SessionController.yaml#/paths/~1api~1session~1local' + /api/local/session/local-all: + $ref: './controllers/SessionController.yaml#/paths/~1api~1local~1session~1local-all' tags: - name: Authors description: Author endpoints diff --git a/unicode.dll b/unicode.dll new file mode 100644 index 0000000000000000000000000000000000000000..7ad46dd553a0b598f72cfbeeb928ff8922d38d77 GIT binary patch literal 144590 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�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�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 literal 0 HcmV?d00001