Compare commits

...

22 Commits

Author SHA1 Message Date
speakeasybot
b562d2a68e ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.147.0 2024-01-19 17:28:20 +00:00
speakeasybot
09060624f9 ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.147.0 2024-01-18 23:38:07 +00:00
speakeasybot
a6620dfce9 ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.142.1 2024-01-17 00:28:54 +00:00
speakeasybot
100d1e093b ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.141.1 2024-01-16 00:28:40 +00:00
speakeasybot
ff9f3dc489 ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.134.1 2024-01-10 00:28:53 +00:00
speakeasybot
b9629abe33 ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.134.0 2024-01-09 00:29:03 +00:00
speakeasybot
f306faa1ff ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.133.1 2024-01-05 19:51:55 +00:00
speakeasy-bot
e5abca0f3c 🐝 Add license. 2024-01-05 19:37:02 +00:00
speakeasy-bot
78acc1880a 🐝 Update gen.yaml 2024-01-05 19:37:01 +00:00
speakeasy-bot
a31aae3cd8 🐝 Update workflow file 2024-01-05 19:37:00 +00:00
speakeasybot
bc64130459 ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.130.1 2024-01-05 00:28:28 +00:00
Luke Hagar
b553c6204c Update README.md 2024-01-01 09:24:42 -06:00
speakeasybot
9b02d27d5e ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.129.1 2024-01-01 15:12:41 +00:00
Luke Hagar
f200bc563f Delete README.md 2024-01-01 09:10:23 -06:00
speakeasy-bot
5c4b98300b 🐝 Add license. 2024-01-01 15:09:39 +00:00
speakeasy-bot
1e46343716 🐝 Update gen.yaml 2024-01-01 15:09:39 +00:00
speakeasy-bot
c34f35ba3d 🐝 Update workflow file 2024-01-01 15:09:38 +00:00
speakeasybot
b77c4d818f ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.129.1 2024-01-01 15:06:15 +00:00
Luke Hagar
ea6e427d7b Delete README.md 2024-01-01 09:01:36 -06:00
speakeasy-bot
4ed36cd1a2 🐝 Add license. 2024-01-01 14:36:24 +00:00
speakeasy-bot
1b0b5c218c 🐝 Update gen.yaml 2024-01-01 14:36:24 +00:00
speakeasy-bot
e92eb2ba92 🐝 Update workflow file 2024-01-01 14:36:23 +00:00
117 changed files with 2128 additions and 798 deletions

488
.speakeasy/gen.lock Executable file
View File

@@ -0,0 +1,488 @@
lockVersion: 2.0.0
id: 16f22cbf-f23f-4419-8924-3a4b06381947
management:
docChecksum: a14d0ae27d4f5bd83b80747112f74352
docVersion: 0.0.3
speakeasyVersion: internal
generationVersion: 2.237.2
releaseVersion: 0.4.2
configChecksum: 6e80d271f4991201f5c573665ed48a76
repoURL: https://github.com/LukeHagar/plexjs.git
repoSubDirectory: .
installationURL: https://github.com/LukeHagar/plexjs
published: true
features:
typescript:
constsAndDefaults: 0.1.1
core: 3.4.7
flattening: 2.81.1
globalSecurity: 2.82.2
globalServerURLs: 2.82.1
nameOverrides: 2.81.1
generatedFiles:
- src/sdk/server.ts
- src/sdk/media.ts
- src/sdk/activities.ts
- src/sdk/butler.ts
- src/sdk/hubs.ts
- src/sdk/search.ts
- src/sdk/library.ts
- src/sdk/log.ts
- src/sdk/playlists.ts
- src/sdk/security.ts
- src/sdk/sessions.ts
- src/sdk/updater.ts
- src/sdk/video.ts
- src/sdk/sdk.ts
- .eslintrc.js
- .npmignore
- RUNTIMES.md
- package-lock.json
- package.json
- src/index.ts
- src/lib/base64.ts
- src/lib/config.ts
- src/lib/encodings.ts
- src/lib/event-streams.ts
- src/lib/http.ts
- src/lib/retries.ts
- src/lib/sdks.ts
- src/lib/security.ts
- src/lib/url.ts
- src/sdk/index.ts
- src/models/errors/sdkerror.ts
- src/types/blobs.ts
- src/types/decimal.ts
- src/types/index.ts
- src/types/operations.ts
- src/types/rfcdate.ts
- tsconfig.json
- src/models/operations/getservercapabilities.ts
- src/models/operations/getserverpreferences.ts
- src/models/operations/getavailableclients.ts
- src/models/operations/getdevices.ts
- src/models/operations/getserveridentity.ts
- src/models/operations/getmyplexaccount.ts
- src/models/operations/getresizedphoto.ts
- src/models/operations/getserverlist.ts
- src/models/operations/markplayed.ts
- src/models/operations/markunplayed.ts
- src/models/operations/updateplayprogress.ts
- src/models/operations/getserveractivities.ts
- src/models/operations/cancelserveractivities.ts
- src/models/operations/getbutlertasks.ts
- src/models/operations/startalltasks.ts
- src/models/operations/stopalltasks.ts
- src/models/operations/starttask.ts
- src/models/operations/stoptask.ts
- src/models/operations/getglobalhubs.ts
- src/models/operations/getlibraryhubs.ts
- src/models/operations/performsearch.ts
- src/models/operations/performvoicesearch.ts
- src/models/operations/getsearchresults.ts
- src/models/operations/getfilehash.ts
- src/models/operations/getrecentlyadded.ts
- src/models/operations/getlibraries.ts
- src/models/operations/getlibrary.ts
- src/models/operations/deletelibrary.ts
- src/models/operations/getlibraryitems.ts
- src/models/operations/refreshlibrary.ts
- src/models/operations/getlatestlibraryitems.ts
- src/models/operations/getcommonlibraryitems.ts
- src/models/operations/getmetadata.ts
- src/models/operations/getmetadatachildren.ts
- src/models/operations/getondeck.ts
- src/models/operations/logline.ts
- src/models/operations/logmultiline.ts
- src/models/operations/enablepapertrail.ts
- src/models/operations/createplaylist.ts
- src/models/operations/getplaylists.ts
- src/models/operations/getplaylist.ts
- src/models/operations/deleteplaylist.ts
- src/models/operations/updateplaylist.ts
- src/models/operations/getplaylistcontents.ts
- src/models/operations/clearplaylistcontents.ts
- src/models/operations/addplaylistcontents.ts
- src/models/operations/uploadplaylist.ts
- src/models/operations/gettransienttoken.ts
- src/models/operations/getsourceconnectioninformation.ts
- src/models/operations/getsessions.ts
- src/models/operations/getsessionhistory.ts
- src/models/operations/gettranscodesessions.ts
- src/models/operations/stoptranscodesession.ts
- src/models/operations/getupdatestatus.ts
- src/models/operations/checkforupdates.ts
- src/models/operations/applyupdates.ts
- src/models/operations/startuniversaltranscode.ts
- src/models/operations/gettimeline.ts
- src/models/errors/getservercapabilities.ts
- src/models/errors/getserverpreferences.ts
- src/models/errors/getavailableclients.ts
- src/models/errors/getdevices.ts
- src/models/errors/getserveridentity.ts
- src/models/errors/getmyplexaccount.ts
- src/models/errors/getresizedphoto.ts
- src/models/errors/getserverlist.ts
- src/models/errors/markplayed.ts
- src/models/errors/markunplayed.ts
- src/models/errors/updateplayprogress.ts
- src/models/errors/getserveractivities.ts
- src/models/errors/cancelserveractivities.ts
- src/models/errors/getbutlertasks.ts
- src/models/errors/startalltasks.ts
- src/models/errors/stopalltasks.ts
- src/models/errors/starttask.ts
- src/models/errors/stoptask.ts
- src/models/errors/getglobalhubs.ts
- src/models/errors/getlibraryhubs.ts
- src/models/errors/performsearch.ts
- src/models/errors/performvoicesearch.ts
- src/models/errors/getsearchresults.ts
- src/models/errors/getfilehash.ts
- src/models/errors/getrecentlyadded.ts
- src/models/errors/getlibraries.ts
- src/models/errors/getlibrary.ts
- src/models/errors/deletelibrary.ts
- src/models/errors/getlibraryitems.ts
- src/models/errors/refreshlibrary.ts
- src/models/errors/getlatestlibraryitems.ts
- src/models/errors/getcommonlibraryitems.ts
- src/models/errors/getmetadata.ts
- src/models/errors/getmetadatachildren.ts
- src/models/errors/getondeck.ts
- src/models/errors/logline.ts
- src/models/errors/logmultiline.ts
- src/models/errors/enablepapertrail.ts
- src/models/errors/createplaylist.ts
- src/models/errors/getplaylists.ts
- src/models/errors/getplaylist.ts
- src/models/errors/deleteplaylist.ts
- src/models/errors/updateplaylist.ts
- src/models/errors/getplaylistcontents.ts
- src/models/errors/clearplaylistcontents.ts
- src/models/errors/addplaylistcontents.ts
- src/models/errors/uploadplaylist.ts
- src/models/errors/gettransienttoken.ts
- src/models/errors/getsourceconnectioninformation.ts
- src/models/errors/getsessions.ts
- src/models/errors/getsessionhistory.ts
- src/models/errors/gettranscodesessions.ts
- src/models/errors/stoptranscodesession.ts
- src/models/errors/getupdatestatus.ts
- src/models/errors/checkforupdates.ts
- src/models/errors/applyupdates.ts
- src/models/errors/startuniversaltranscode.ts
- src/models/errors/gettimeline.ts
- src/models/components/security.ts
- src/models/errors/index.ts
- src/models/operations/index.ts
- src/models/components/index.ts
- docs/models/operations/directory.md
- docs/models/operations/mediacontainer.md
- docs/models/operations/getservercapabilitiesresponsebody.md
- docs/models/operations/getservercapabilitiesresponse.md
- docs/models/operations/getserverpreferencesresponse.md
- docs/models/operations/server.md
- docs/models/operations/getavailableclientsmediacontainer.md
- docs/models/operations/responsebody.md
- docs/models/operations/getavailableclientsresponse.md
- docs/models/operations/device.md
- docs/models/operations/getdevicesmediacontainer.md
- docs/models/operations/getdevicesresponsebody.md
- docs/models/operations/getdevicesresponse.md
- docs/models/operations/getserveridentitymediacontainer.md
- docs/models/operations/getserveridentityresponsebody.md
- docs/models/operations/getserveridentityresponse.md
- docs/models/operations/myplex.md
- docs/models/operations/getmyplexaccountresponsebody.md
- docs/models/operations/getmyplexaccountresponse.md
- docs/models/operations/minsize.md
- docs/models/operations/upscale.md
- docs/models/operations/getresizedphotorequest.md
- docs/models/operations/getresizedphotoresponse.md
- docs/models/operations/getserverlistserver.md
- docs/models/operations/getserverlistmediacontainer.md
- docs/models/operations/getserverlistresponsebody.md
- docs/models/operations/getserverlistresponse.md
- docs/models/operations/markplayedrequest.md
- docs/models/operations/markplayedresponse.md
- docs/models/operations/markunplayedrequest.md
- docs/models/operations/markunplayedresponse.md
- docs/models/operations/updateplayprogressrequest.md
- docs/models/operations/updateplayprogressresponse.md
- docs/models/operations/context.md
- docs/models/operations/activity.md
- docs/models/operations/getserveractivitiesmediacontainer.md
- docs/models/operations/getserveractivitiesresponsebody.md
- docs/models/operations/getserveractivitiesresponse.md
- docs/models/operations/cancelserveractivitiesrequest.md
- docs/models/operations/cancelserveractivitiesresponse.md
- docs/models/operations/butlertask.md
- docs/models/operations/butlertasks.md
- docs/models/operations/getbutlertasksresponsebody.md
- docs/models/operations/getbutlertasksresponse.md
- docs/models/operations/startalltasksresponse.md
- docs/models/operations/stopalltasksresponse.md
- docs/models/operations/taskname.md
- docs/models/operations/starttaskrequest.md
- docs/models/operations/starttaskresponse.md
- docs/models/operations/pathparamtaskname.md
- docs/models/operations/stoptaskrequest.md
- docs/models/operations/stoptaskresponse.md
- docs/models/operations/onlytransient.md
- docs/models/operations/getglobalhubsrequest.md
- docs/models/operations/getglobalhubsresponse.md
- docs/models/operations/queryparamonlytransient.md
- docs/models/operations/getlibraryhubsrequest.md
- docs/models/operations/getlibraryhubsresponse.md
- docs/models/operations/performsearchrequest.md
- docs/models/operations/performsearchresponse.md
- docs/models/operations/performvoicesearchrequest.md
- docs/models/operations/performvoicesearchresponse.md
- docs/models/operations/getsearchresultsrequest.md
- docs/models/operations/getsearchresultspart.md
- docs/models/operations/getsearchresultsmedia.md
- docs/models/operations/getsearchresultsgenre.md
- docs/models/operations/getsearchresultsdirector.md
- docs/models/operations/getsearchresultswriter.md
- docs/models/operations/getsearchresultscountry.md
- docs/models/operations/getsearchresultsrole.md
- docs/models/operations/getsearchresultsmetadata.md
- docs/models/operations/provider.md
- docs/models/operations/getsearchresultsmediacontainer.md
- docs/models/operations/getsearchresultsresponsebody.md
- docs/models/operations/getsearchresultsresponse.md
- docs/models/operations/getfilehashrequest.md
- docs/models/operations/getfilehashresponse.md
- docs/models/operations/part.md
- docs/models/operations/media.md
- docs/models/operations/genre.md
- docs/models/operations/director.md
- docs/models/operations/writer.md
- docs/models/operations/country.md
- docs/models/operations/role.md
- docs/models/operations/metadata.md
- docs/models/operations/getrecentlyaddedmediacontainer.md
- docs/models/operations/getrecentlyaddedresponsebody.md
- docs/models/operations/getrecentlyaddedresponse.md
- docs/models/operations/location.md
- docs/models/operations/getlibrariesdirectory.md
- docs/models/operations/getlibrariesmediacontainer.md
- docs/models/operations/getlibrariesresponsebody.md
- docs/models/operations/getlibrariesresponse.md
- docs/models/operations/includedetails.md
- docs/models/operations/getlibraryrequest.md
- docs/models/operations/getlibrarydirectory.md
- docs/models/operations/getlibrarymediacontainer.md
- docs/models/operations/getlibraryresponsebody.md
- docs/models/operations/getlibraryresponse.md
- docs/models/operations/deletelibraryrequest.md
- docs/models/operations/deletelibraryresponse.md
- docs/models/operations/getlibraryitemsrequest.md
- docs/models/operations/getlibraryitemsresponse.md
- docs/models/operations/refreshlibraryrequest.md
- docs/models/operations/refreshlibraryresponse.md
- docs/models/operations/getlatestlibraryitemsrequest.md
- docs/models/operations/getlatestlibraryitemsresponse.md
- docs/models/operations/getcommonlibraryitemsrequest.md
- docs/models/operations/getcommonlibraryitemsresponse.md
- docs/models/operations/getmetadatarequest.md
- docs/models/operations/getmetadataresponse.md
- docs/models/operations/getmetadatachildrenrequest.md
- docs/models/operations/getmetadatachildrenresponse.md
- docs/models/operations/stream.md
- docs/models/operations/getondeckpart.md
- docs/models/operations/getondeckmedia.md
- docs/models/operations/guids.md
- docs/models/operations/getondeckmetadata.md
- docs/models/operations/getondeckmediacontainer.md
- docs/models/operations/getondeckresponsebody.md
- docs/models/operations/getondeckresponse.md
- docs/models/operations/level.md
- docs/models/operations/loglinerequest.md
- docs/models/operations/loglineresponse.md
- docs/models/operations/logmultilineresponse.md
- docs/models/operations/enablepapertrailresponse.md
- docs/models/operations/typet.md
- docs/models/operations/smart.md
- docs/models/operations/createplaylistrequest.md
- docs/models/operations/createplaylistresponse.md
- docs/models/operations/playlisttype.md
- docs/models/operations/queryparamsmart.md
- docs/models/operations/getplaylistsrequest.md
- docs/models/operations/getplaylistsresponse.md
- docs/models/operations/getplaylistrequest.md
- docs/models/operations/getplaylistresponse.md
- docs/models/operations/deleteplaylistrequest.md
- docs/models/operations/deleteplaylistresponse.md
- docs/models/operations/updateplaylistrequest.md
- docs/models/operations/updateplaylistresponse.md
- docs/models/operations/getplaylistcontentsrequest.md
- docs/models/operations/getplaylistcontentsresponse.md
- docs/models/operations/clearplaylistcontentsrequest.md
- docs/models/operations/clearplaylistcontentsresponse.md
- docs/models/operations/addplaylistcontentsrequest.md
- docs/models/operations/addplaylistcontentsresponse.md
- docs/models/operations/force.md
- docs/models/operations/uploadplaylistrequest.md
- docs/models/operations/uploadplaylistresponse.md
- docs/models/operations/queryparamtype.md
- docs/models/operations/scope.md
- docs/models/operations/gettransienttokenrequest.md
- docs/models/operations/gettransienttokenresponse.md
- docs/models/operations/getsourceconnectioninformationrequest.md
- docs/models/operations/getsourceconnectioninformationresponse.md
- docs/models/operations/getsessionsresponse.md
- docs/models/operations/getsessionhistoryresponse.md
- docs/models/operations/transcodesession.md
- docs/models/operations/gettranscodesessionsmediacontainer.md
- docs/models/operations/gettranscodesessionsresponsebody.md
- docs/models/operations/gettranscodesessionsresponse.md
- docs/models/operations/stoptranscodesessionrequest.md
- docs/models/operations/stoptranscodesessionresponse.md
- docs/models/operations/getupdatestatusresponse.md
- docs/models/operations/download.md
- docs/models/operations/checkforupdatesrequest.md
- docs/models/operations/checkforupdatesresponse.md
- docs/models/operations/tonight.md
- docs/models/operations/skip.md
- docs/models/operations/applyupdatesrequest.md
- docs/models/operations/applyupdatesresponse.md
- docs/models/operations/startuniversaltranscoderequest.md
- docs/models/operations/startuniversaltranscoderesponse.md
- docs/models/operations/state.md
- docs/models/operations/gettimelinerequest.md
- docs/models/operations/gettimelineresponse.md
- docs/models/errors/errors.md
- docs/models/errors/getservercapabilitiesresponsebody.md
- docs/models/errors/getserverpreferenceserrors.md
- docs/models/errors/getserverpreferencesresponsebody.md
- docs/models/errors/getavailableclientserrors.md
- docs/models/errors/getavailableclientsresponsebody.md
- docs/models/errors/getdeviceserrors.md
- docs/models/errors/getdevicesresponsebody.md
- docs/models/errors/getserveridentityerrors.md
- docs/models/errors/getserveridentityresponsebody.md
- docs/models/errors/getmyplexaccounterrors.md
- docs/models/errors/getmyplexaccountresponsebody.md
- docs/models/errors/getresizedphotoerrors.md
- docs/models/errors/getresizedphotoresponsebody.md
- docs/models/errors/getserverlisterrors.md
- docs/models/errors/getserverlistresponsebody.md
- docs/models/errors/markplayederrors.md
- docs/models/errors/markplayedresponsebody.md
- docs/models/errors/markunplayederrors.md
- docs/models/errors/markunplayedresponsebody.md
- docs/models/errors/updateplayprogresserrors.md
- docs/models/errors/updateplayprogressresponsebody.md
- docs/models/errors/getserveractivitieserrors.md
- docs/models/errors/getserveractivitiesresponsebody.md
- docs/models/errors/cancelserveractivitieserrors.md
- docs/models/errors/cancelserveractivitiesresponsebody.md
- docs/models/errors/getbutlertaskserrors.md
- docs/models/errors/getbutlertasksresponsebody.md
- docs/models/errors/startalltaskserrors.md
- docs/models/errors/startalltasksresponsebody.md
- docs/models/errors/stopalltaskserrors.md
- docs/models/errors/stopalltasksresponsebody.md
- docs/models/errors/starttaskerrors.md
- docs/models/errors/starttaskresponsebody.md
- docs/models/errors/stoptaskerrors.md
- docs/models/errors/stoptaskresponsebody.md
- docs/models/errors/getglobalhubserrors.md
- docs/models/errors/getglobalhubsresponsebody.md
- docs/models/errors/getlibraryhubserrors.md
- docs/models/errors/getlibraryhubsresponsebody.md
- docs/models/errors/performsearcherrors.md
- docs/models/errors/performsearchresponsebody.md
- docs/models/errors/performvoicesearcherrors.md
- docs/models/errors/performvoicesearchresponsebody.md
- docs/models/errors/getsearchresultserrors.md
- docs/models/errors/getsearchresultsresponsebody.md
- docs/models/errors/getfilehasherrors.md
- docs/models/errors/getfilehashresponsebody.md
- docs/models/errors/getrecentlyaddederrors.md
- docs/models/errors/getrecentlyaddedresponsebody.md
- docs/models/errors/getlibrarieserrors.md
- docs/models/errors/getlibrariesresponsebody.md
- docs/models/errors/getlibraryerrors.md
- docs/models/errors/getlibraryresponsebody.md
- docs/models/errors/deletelibraryerrors.md
- docs/models/errors/deletelibraryresponsebody.md
- docs/models/errors/getlibraryitemserrors.md
- docs/models/errors/getlibraryitemsresponsebody.md
- docs/models/errors/refreshlibraryerrors.md
- docs/models/errors/refreshlibraryresponsebody.md
- docs/models/errors/getlatestlibraryitemserrors.md
- docs/models/errors/getlatestlibraryitemsresponsebody.md
- docs/models/errors/getcommonlibraryitemserrors.md
- docs/models/errors/getcommonlibraryitemsresponsebody.md
- docs/models/errors/getmetadataerrors.md
- docs/models/errors/getmetadataresponsebody.md
- docs/models/errors/getmetadatachildrenerrors.md
- docs/models/errors/getmetadatachildrenresponsebody.md
- docs/models/errors/getondeckerrors.md
- docs/models/errors/getondeckresponsebody.md
- docs/models/errors/loglineerrors.md
- docs/models/errors/loglineresponsebody.md
- docs/models/errors/logmultilineerrors.md
- docs/models/errors/logmultilineresponsebody.md
- docs/models/errors/enablepapertrailerrors.md
- docs/models/errors/enablepapertrailresponsebody.md
- docs/models/errors/createplaylisterrors.md
- docs/models/errors/createplaylistresponsebody.md
- docs/models/errors/getplaylistserrors.md
- docs/models/errors/getplaylistsresponsebody.md
- docs/models/errors/getplaylisterrors.md
- docs/models/errors/getplaylistresponsebody.md
- docs/models/errors/deleteplaylisterrors.md
- docs/models/errors/deleteplaylistresponsebody.md
- docs/models/errors/updateplaylisterrors.md
- docs/models/errors/updateplaylistresponsebody.md
- docs/models/errors/getplaylistcontentserrors.md
- docs/models/errors/getplaylistcontentsresponsebody.md
- docs/models/errors/clearplaylistcontentserrors.md
- docs/models/errors/clearplaylistcontentsresponsebody.md
- docs/models/errors/addplaylistcontentserrors.md
- docs/models/errors/addplaylistcontentsresponsebody.md
- docs/models/errors/uploadplaylisterrors.md
- docs/models/errors/uploadplaylistresponsebody.md
- docs/models/errors/gettransienttokenerrors.md
- docs/models/errors/gettransienttokenresponsebody.md
- docs/models/errors/getsourceconnectioninformationerrors.md
- docs/models/errors/getsourceconnectioninformationresponsebody.md
- docs/models/errors/getsessionserrors.md
- docs/models/errors/getsessionsresponsebody.md
- docs/models/errors/getsessionhistoryerrors.md
- docs/models/errors/getsessionhistoryresponsebody.md
- docs/models/errors/gettranscodesessionserrors.md
- docs/models/errors/gettranscodesessionsresponsebody.md
- docs/models/errors/stoptranscodesessionerrors.md
- docs/models/errors/stoptranscodesessionresponsebody.md
- docs/models/errors/getupdatestatuserrors.md
- docs/models/errors/getupdatestatusresponsebody.md
- docs/models/errors/checkforupdateserrors.md
- docs/models/errors/checkforupdatesresponsebody.md
- docs/models/errors/applyupdateserrors.md
- docs/models/errors/applyupdatesresponsebody.md
- docs/models/errors/startuniversaltranscodeerrors.md
- docs/models/errors/startuniversaltranscoderesponsebody.md
- docs/models/errors/gettimelineerrors.md
- docs/models/errors/gettimelineresponsebody.md
- docs/models/components/security.md
- docs/sdks/plexapi/README.md
- docs/sdks/server/README.md
- docs/sdks/media/README.md
- docs/sdks/activities/README.md
- docs/sdks/butler/README.md
- docs/sdks/hubs/README.md
- docs/sdks/search/README.md
- docs/sdks/library/README.md
- docs/sdks/log/README.md
- docs/sdks/playlists/README.md
- docs/sdks/security/README.md
- docs/sdks/sessions/README.md
- docs/sdks/updater/README.md
- docs/sdks/video/README.md
- USAGE.md
- .gitattributes

127
README.md
View File

@@ -1,4 +1,4 @@
# openapi
# @lukehagar/plexjs
<div align="left">
<a href="https://speakeasyapi.dev/"><img src="https://custom-icon-badges.demolab.com/badge/-Built%20By%20Speakeasy-212015?style=for-the-badge&logoColor=FBE331&logo=speakeasy&labelColor=545454" /></a>
@@ -7,28 +7,19 @@
</a>
</div>
## 🏗 **Welcome to your new SDK!** 🏗
It has been generated successfully based on your OpenAPI spec. However, it is not yet ready for production use. Here are some next steps:
- [ ] 🛠 Make your SDK feel handcrafted by [customizing it](https://www.speakeasyapi.dev/docs/customize-sdks)
- [ ] ♻️ Refine your SDK quickly by iterating locally with the [Speakeasy CLI](https://github.com/speakeasy-api/speakeasy)
- [ ] 🎁 Publish your SDK to package managers by [configuring automatic publishing](https://www.speakeasyapi.dev/docs/productionize-sdks/publish-sdks)
- [ ] ✨ When ready to productionize, delete this section from the README
<!-- Start SDK Installation [installation] -->
## SDK Installation
### NPM
```bash
npm add openapi
npm add @lukehagar/plexjs
```
### Yarn
```bash
yarn add openapi
yarn add @lukehagar/plexjs
```
<!-- End SDK Installation [installation] -->
@@ -38,20 +29,17 @@ yarn add openapi
### Example
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.server.getServerCapabilities();
const result = await sdk.server.getServerCapabilities();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result);
}
run();
@@ -173,28 +161,31 @@ All SDK methods return a response object or throw an error. If Error objects are
Example
```typescript
import { SDK } from "openapi";
import * as errors from "openapi/models/errors";
import { PlexAPI } from "@lukehagar/plexjs";
import * as errors from "@lukehagar/plexjs/models/errors";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.server.getServerCapabilities().catch((err) => {
if (err instanceof errors.GetServerCapabilitiesResponseBody) {
console.error(err); // handle exception
return null;
} else {
throw err;
let result;
try {
result = await sdk.server.getServerCapabilities();
} catch (err) {
switch (true) {
case err instanceof errors.GetServerCapabilitiesResponseBody: {
console.error(err); // handle exception
return;
}
default: {
throw err;
}
}
});
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result);
}
run();
@@ -207,14 +198,30 @@ run();
### Select Server by Index
You can override the default server globally by passing a server index to the `serverIdx: number` optional parameter when initializing the SDK client instance. The selected server will then be used as the default on the operations that use it. This table lists the indexes associated with the available servers:
You can override the default server globally by passing a server index to the `serverIdx` optional parameter when initializing the SDK client instance. The selected server will then be used as the default on the operations that use it. This table lists the indexes associated with the available servers:
| # | Server | Variables |
| - | ------ | --------- |
| 0 | `http://10.10.10.47:32400` | None |
| 1 | `{protocol}://{ip}:{port}` | `protocol` (default is `http`), `ip` (default is `10.10.10.47`), `port` (default is `32400`) |
| 0 | `{protocol}://{ip}:{port}` | `protocol` (default is `http`), `ip` (default is `10.10.10.47`), `port` (default is `32400`) |
```typescript
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new PlexAPI({
serverIdx: 0,
accessToken: "<YOUR_API_KEY_HERE>",
});
const result = await sdk.server.getServerCapabilities();
// Handle the result
console.log(result);
}
run();
```
#### Variables
@@ -225,7 +232,26 @@ Some of the server options above contain variables. If you want to set the value
### Override Server URL Per-Client
The default server can also be overridden globally by passing a URL to the `serverURL: str` optional parameter when initializing the SDK client instance. For example:
The default server can also be overridden globally by passing a URL to the `serverURL` optional parameter when initializing the SDK client instance. For example:
```typescript
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new PlexAPI({
serverURL: "{protocol}://{ip}:{port}",
accessToken: "<YOUR_API_KEY_HERE>",
});
const result = await sdk.server.getServerCapabilities();
// Handle the result
console.log(result);
}
run();
```
<!-- End Server Selection [server] -->
<!-- Start Custom HTTP Client [http-client] -->
@@ -246,8 +272,8 @@ custom header and a timeout to requests and how to use the `"requestError"` hook
to log errors:
```typescript
import { SDK } from "openapi";
import { HTTPClient } from "openapi/lib/http";
import { PlexAPI } from "@lukehagar/plexjs";
import { HTTPClient } from "@lukehagar/plexjs/lib/http";
const httpClient = new HTTPClient({
// fetcher takes a function that has the same signature as native `fetch`.
@@ -273,7 +299,7 @@ httpClient.addHook("requestError", (error, request) => {
console.groupEnd();
});
const sdk = new SDK({ httpClient });
const sdk = new PlexAPI({ httpClient });
```
<!-- End Custom HTTP Client [http-client] -->
@@ -290,20 +316,17 @@ This SDK supports the following security scheme globally:
To authenticate with the API the `accessToken` parameter must be set when initializing the SDK client instance. For example:
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.server.getServerCapabilities();
const result = await sdk.server.getServerCapabilities();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result);
}
run();
@@ -311,6 +334,12 @@ run();
```
<!-- End Authentication [security] -->
<!-- Start Requirements [requirements] -->
## Requirements
For supported JavaScript runtimes, please consult [RUNTIMES.md](RUNTIMES.md).
<!-- End Requirements [requirements] -->
<!-- Placeholder for Future Speakeasy SDK Sections -->
# Development

View File

@@ -8,4 +8,104 @@ Based on:
### Generated
- [typescript v0.1.0] .
### Releases
- [NPM v0.1.0] https://www.npmjs.com/package/openapi/v/0.1.0 - .
- [NPM v0.1.0] https://www.npmjs.com/package/openapi/v/0.1.0 - .
## 2024-01-01 15:05:18
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.129.1 (2.223.3) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.2.0] .
### Releases
- [NPM v0.2.0] https://www.npmjs.com/package/plexjs/v/0.2.0 - .
## 2024-01-01 15:11:44
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.129.1 (2.223.3) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.3.0] .
### Releases
- [NPM v0.3.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.3.0 - .
## 2024-01-05 00:27:32
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.130.1 (2.225.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.3.0] .
### Releases
- [NPM v0.3.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.3.0 - .
## 2024-01-05 19:51:02
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.133.1 (2.228.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.3.1] .
### Releases
- [NPM v0.3.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.3.1 - .
## 2024-01-09 00:28:08
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.134.0 (2.230.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.3.2] .
### Releases
- [NPM v0.3.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.3.2 - .
## 2024-01-10 00:27:58
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.134.1 (2.230.3) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.3.3] .
### Releases
- [NPM v0.3.3] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.3.3 - .
## 2024-01-16 00:27:43
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.141.1 (2.233.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.4.0] .
### Releases
- [NPM v0.4.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.4.0 - .
## 2024-01-17 00:27:57
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.142.1 (2.234.3) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.4.0] .
### Releases
- [NPM v0.4.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.4.0 - .
## 2024-01-18 23:37:12
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.147.0 (2.237.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.4.1] .
### Releases
- [NPM v0.4.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.4.1 - .
## 2024-01-19 17:27:25
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.147.0 (2.237.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.4.2] .
### Releases
- [NPM v0.4.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.4.2 - .

22
RUNTIMES.md Normal file
View File

@@ -0,0 +1,22 @@
# Supported JavaScript runtimes
This SDK is intended to be used in JavaScript runtimes that support the following features:
* [Web Fetch API][web-fetch]
* [Web Streams API](web-streams) and in particular `ReadableStream`
* [Async iterables][async-iter] using `Symbol.asyncIterator`
[web-fetch]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
[web-streams]: https://developer.mozilla.org/en-US/docs/Web/API/Streams_API
[async-iter]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#the_async_iterator_and_async_iterable_protocols
Runtime environments that are explicitly supported are:
- Evergreen browsers which include: Chrome, Safari, Edge, Firefox
- Node.js active and maintenance LTS releases
- Currently, this is v18 and v20
- Bun v1 and above
- Deno v1.39
- Note that Deno does not currently have native support for streaming file uploads backed by the filesystem ([issue link][deno-file-streaming])
[deno-file-streaming]: https://github.com/denoland/deno/issues/11018

View File

@@ -1,19 +1,16 @@
<!-- Start SDK Example Usage [usage] -->
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.server.getServerCapabilities();
const result = await sdk.server.getServerCapabilities();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result);
}
run();

View File

@@ -0,0 +1,28 @@
# GetLibrariesDirectory
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| `allowSync` | *boolean* | :heavy_minus_sign: | N/A | true |
| `art` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg |
| `composite` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/composite/1705615584 |
| `filters` | *boolean* | :heavy_minus_sign: | N/A | true |
| `refreshing` | *boolean* | :heavy_minus_sign: | N/A | false |
| `thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie.png |
| `key` | *string* | :heavy_minus_sign: | N/A | 1 |
| `type` | *string* | :heavy_minus_sign: | N/A | movie |
| `title` | *string* | :heavy_minus_sign: | N/A | Movies |
| `agent` | *string* | :heavy_minus_sign: | N/A | tv.plex.agents.movie |
| `scanner` | *string* | :heavy_minus_sign: | N/A | Plex Movie |
| `language` | *string* | :heavy_minus_sign: | N/A | en-US |
| `uuid` | *string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 |
| `updatedAt` | *number* | :heavy_minus_sign: | N/A | 1705615634 |
| `createdAt` | *number* | :heavy_minus_sign: | N/A | 1654131312 |
| `scannedAt` | *number* | :heavy_minus_sign: | N/A | 1705615584 |
| `content` | *boolean* | :heavy_minus_sign: | N/A | true |
| `directory` | *boolean* | :heavy_minus_sign: | N/A | true |
| `contentChangedAt` | *number* | :heavy_minus_sign: | N/A | 3192854 |
| `hidden` | *number* | :heavy_minus_sign: | N/A | 0 |
| `location` | [operations.Location](../../models/operations/location.md)[] | :heavy_minus_sign: | N/A | [{"id":1,"path":"/movies"}] |

View File

@@ -0,0 +1,11 @@
# GetLibrariesMediaContainer
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `size` | *number* | :heavy_minus_sign: | N/A | 5 |
| `allowSync` | *boolean* | :heavy_minus_sign: | N/A | false |
| `title1` | *string* | :heavy_minus_sign: | N/A | Plex Library |
| `directory` | [operations.GetLibrariesDirectory](../../models/operations/getlibrariesdirectory.md)[] | :heavy_minus_sign: | N/A | [{"Location":[{"id":1,"path":"/movies"}],"agent":"tv.plex.agents.movie","allowSync":true,"art":"/:/resources/movie-fanart.jpg","composite":"/library/sections/1/composite/1705615584","content":true,"contentChangedAt":3192854,"createdAt":1654131312,"directory":true,"filters":true,"hidden":0,"key":"1","language":"en-US","refreshing":false,"scannedAt":1705615584,"scanner":"Plex Movie","thumb":"/:/resources/movie.png","title":"Movies","type":"movie","updatedAt":1705615634,"uuid":"322a231a-b7f7-49f5-920f-14c61199cd30"}] |

View File

@@ -3,8 +3,9 @@
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `object` | [operations.GetLibrariesResponseBody](../../models/operations/getlibrariesresponsebody.md) | :heavy_minus_sign: | The libraries available on the Server |

View File

@@ -0,0 +1,10 @@
# GetLibrariesResponseBody
The libraries available on the Server
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `mediaContainer` | [operations.GetLibrariesMediaContainer](../../models/operations/getlibrariesmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,12 @@
# GetLibraryDirectory
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `secondary` | *boolean* | :heavy_minus_sign: | N/A | true |
| `prompt` | *string* | :heavy_minus_sign: | N/A | Search Movies |
| `search` | *boolean* | :heavy_minus_sign: | N/A | true |
| `key` | *string* | :heavy_minus_sign: | N/A | search?type=1 |
| `title` | *string* | :heavy_minus_sign: | N/A | Search... |

View File

@@ -0,0 +1,20 @@
# GetLibraryMediaContainer
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `size` | *number* | :heavy_minus_sign: | N/A | 20 |
| `allowSync` | *boolean* | :heavy_minus_sign: | N/A | false |
| `art` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg |
| `content` | *string* | :heavy_minus_sign: | N/A | secondary |
| `identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |
| `librarySectionID` | *number* | :heavy_minus_sign: | N/A | 1 |
| `mediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ |
| `mediaTagVersion` | *number* | :heavy_minus_sign: | N/A | 1698860922 |
| `thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie.png |
| `title1` | *string* | :heavy_minus_sign: | N/A | Movies |
| `viewGroup` | *string* | :heavy_minus_sign: | N/A | secondary |
| `viewMode` | *number* | :heavy_minus_sign: | N/A | 65592 |
| `directory` | [operations.GetLibraryDirectory](../../models/operations/getlibrarydirectory.md)[] | :heavy_minus_sign: | N/A | [{"key":"search?type=1","prompt":"Search Movies","search":true,"secondary":true,"title":"Search..."}] |

View File

@@ -3,8 +3,9 @@
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `object` | [operations.GetLibraryResponseBody](../../models/operations/getlibraryresponsebody.md) | :heavy_minus_sign: | The details of the library |

View File

@@ -0,0 +1,10 @@
# GetLibraryResponseBody
The details of the library
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `mediaContainer` | [operations.GetLibraryMediaContainer](../../models/operations/getlibrarymediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,9 @@
# Location
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `id` | *number* | :heavy_minus_sign: | N/A | 1 |
| `path` | *string* | :heavy_minus_sign: | N/A | /movies |

View File

@@ -24,20 +24,17 @@ Get Server Activities
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.activities.getServerActivities();
const result = await sdk.activities.getServerActivities();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -68,22 +65,19 @@ Cancel Server Activities
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const activityUUID = "string";
const res = await sdk.activities.cancelServerActivities(activityUUID);
const result = await sdk.activities.cancelServerActivities(activityUUID);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();

View File

@@ -21,20 +21,17 @@ Returns a list of butler tasks
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.butler.getButlerTasks();
const result = await sdk.butler.getButlerTasks();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -70,20 +67,17 @@ This endpoint will attempt to start all Butler tasks that are enabled in the set
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.butler.startAllTasks();
const result = await sdk.butler.startAllTasks();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -115,20 +109,17 @@ This endpoint will stop all currently running tasks and remove any scheduled tas
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.butler.stopAllTasks();
const result = await sdk.butler.stopAllTasks();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -164,23 +155,20 @@ This endpoint will attempt to start a single Butler task that is enabled in the
### Example Usage
```typescript
import { SDK } from "openapi";
import { TaskName } from "openapi/models/operations";
import { PlexAPI } from "@lukehagar/plexjs";
import { TaskName } from "@lukehagar/plexjs/models/operations";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const taskName = TaskName.CleanOldBundles;
const res = await sdk.butler.startTask(taskName);
const result = await sdk.butler.startTask(taskName);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -213,23 +201,20 @@ This endpoint will stop a currently running task by name, or remove it from the
### Example Usage
```typescript
import { SDK } from "openapi";
import { PathParamTaskName } from "openapi/models/operations";
import { PlexAPI } from "@lukehagar/plexjs";
import { PathParamTaskName } from "@lukehagar/plexjs/models/operations";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const taskName = PathParamTaskName.BackupDatabase;
const res = await sdk.butler.stopTask(taskName);
const result = await sdk.butler.stopTask(taskName);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();

View File

@@ -18,24 +18,21 @@ Get Global Hubs filtered by the parameters provided.
### Example Usage
```typescript
import { SDK } from "openapi";
import { OnlyTransient } from "openapi/models/operations";
import { PlexAPI } from "@lukehagar/plexjs";
import { OnlyTransient } from "@lukehagar/plexjs/models/operations";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const count = 1262.49;
const onlyTransient = OnlyTransient.One;
const res = await sdk.hubs.getGlobalHubs(count, onlyTransient);
const result = await sdk.hubs.getGlobalHubs(count, onlyTransient);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -69,11 +66,11 @@ This endpoint will return a list of library specific hubs
### Example Usage
```typescript
import { SDK } from "openapi";
import { QueryParamOnlyTransient } from "openapi/models/operations";
import { PlexAPI } from "@lukehagar/plexjs";
import { QueryParamOnlyTransient } from "@lukehagar/plexjs/models/operations";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
@@ -81,13 +78,10 @@ async function run() {
const count = 9010.22;
const onlyTransient = QueryParamOnlyTransient.Zero;
const res = await sdk.hubs.getLibraryHubs(sectionId, count, onlyTransient);
const result = await sdk.hubs.getLibraryHubs(sectionId, count, onlyTransient);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();

View File

@@ -28,23 +28,20 @@ This resource returns hash values for local files
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const url = "file://C:\Image.png&type=13";
const type = 4462.17;
const res = await sdk.library.getFileHash(url, type);
const result = await sdk.library.getFileHash(url, type);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -78,20 +75,17 @@ This endpoint will return the recently added content.
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.library.getRecentlyAdded();
const result = await sdk.library.getRecentlyAdded();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -128,20 +122,17 @@ This allows a client to provide a rich interface around the media (e.g. allow so
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.library.getLibraries();
const result = await sdk.library.getLibraries();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -191,24 +182,21 @@ Returns details for the library. This can be thought of as an interstitial endpo
### Example Usage
```typescript
import { SDK } from "openapi";
import { IncludeDetails } from "openapi/models/operations";
import { PlexAPI } from "@lukehagar/plexjs";
import { IncludeDetails } from "@lukehagar/plexjs/models/operations";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const sectionId = 1000;
const includeDetails = IncludeDetails.Zero;
const res = await sdk.library.getLibrary(sectionId, includeDetails);
const result = await sdk.library.getLibrary(sectionId, includeDetails);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -241,22 +229,19 @@ Delate a library using a specific section
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const sectionId = 1000;
const res = await sdk.library.deleteLibrary(sectionId);
const result = await sdk.library.deleteLibrary(sectionId);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -289,10 +274,10 @@ This endpoint will return a list of library items filtered by the filter and typ
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
@@ -300,13 +285,10 @@ async function run() {
const type = 760.66;
const filter = "string";
const res = await sdk.library.getLibraryItems(sectionId, type, filter);
const result = await sdk.library.getLibraryItems(sectionId, type, filter);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -341,22 +323,19 @@ This endpoint Refreshes the library.
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const sectionId = 934.16;
const res = await sdk.library.refreshLibrary(sectionId);
const result = await sdk.library.refreshLibrary(sectionId);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -389,10 +368,10 @@ This endpoint will return a list of the latest library items filtered by the fil
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
@@ -400,13 +379,10 @@ async function run() {
const type = 8015.12;
const filter = "string";
const res = await sdk.library.getLatestLibraryItems(sectionId, type, filter);
const result = await sdk.library.getLatestLibraryItems(sectionId, type, filter);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -441,10 +417,10 @@ Represents a "Common" item. It contains only the common attributes of the items
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
@@ -452,13 +428,10 @@ async function run() {
const type = 2760.31;
const filter = "string";
const res = await sdk.library.getCommonLibraryItems(sectionId, type, filter);
const result = await sdk.library.getCommonLibraryItems(sectionId, type, filter);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -493,22 +466,19 @@ This endpoint will return the metadata of a library item specified with the rati
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const ratingKey = 8382.31;
const res = await sdk.library.getMetadata(ratingKey);
const result = await sdk.library.getMetadata(ratingKey);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -541,22 +511,19 @@ This endpoint will return the children of of a library item specified with the r
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const ratingKey = 1539.14;
const res = await sdk.library.getMetadataChildren(ratingKey);
const result = await sdk.library.getMetadataChildren(ratingKey);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -589,20 +556,17 @@ This endpoint will return the on deck content.
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.library.getOnDeck();
const result = await sdk.library.getOnDeck();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();

View File

@@ -20,11 +20,11 @@ This endpoint will write a single-line log message, including a level and source
### Example Usage
```typescript
import { SDK } from "openapi";
import { Level } from "openapi/models/operations";
import { PlexAPI } from "@lukehagar/plexjs";
import { Level } from "@lukehagar/plexjs/models/operations";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
@@ -32,13 +32,10 @@ async function run() {
const message = "string";
const source = "string";
const res = await sdk.log.logLine(level, message, source);
const result = await sdk.log.logLine(level, message, source);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -73,20 +70,17 @@ This endpoint will write multiple lines to the main Plex Media Server log in a s
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.log.logMultiLine();
const result = await sdk.log.logMultiLine();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -118,20 +112,17 @@ This endpoint will enable all Plex Media Serverlogs to be sent to the Papertrail
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.log.enablePaperTrail();
const result = await sdk.log.enablePaperTrail();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();

View File

@@ -19,22 +19,19 @@ This will mark the provided media key as Played.
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const key = 59398;
const res = await sdk.media.markPlayed(key);
const result = await sdk.media.markPlayed(key);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -66,22 +63,19 @@ This will mark the provided media key as Unplayed.
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const key = 59398;
const res = await sdk.media.markUnplayed(key);
const result = await sdk.media.markUnplayed(key);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -114,10 +108,10 @@ This API command can be used to update the play progress of a media item.
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
@@ -125,13 +119,10 @@ async function run() {
const time = 6900.91;
const state = "string";
const res = await sdk.media.updatePlayProgress(key, time, state);
const result = await sdk.media.updatePlayProgress(key, time, state);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();

View File

@@ -31,25 +31,22 @@ Create a new playlist. By default the playlist is blank. To create a playlist al
### Example Usage
```typescript
import { SDK } from "openapi";
import { Smart, TypeT } from "openapi/models/operations";
import { PlexAPI } from "@lukehagar/plexjs";
import { Smart, TypeT } from "@lukehagar/plexjs/models/operations";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.playlists.createPlaylist({
const result = await sdk.playlists.createPlaylist({
title: "string",
type: TypeT.Photo,
smart: Smart.One,
});
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -81,24 +78,21 @@ Get All Playlists given the specified filters.
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlaylistType, QueryParamSmart } from "openapi/models/operations";
import { PlexAPI } from "@lukehagar/plexjs";
import { PlaylistType, QueryParamSmart } from "@lukehagar/plexjs/models/operations";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const playlistType = PlaylistType.Audio;
const smart = QueryParamSmart.Zero;
const res = await sdk.playlists.getPlaylists(playlistType, smart);
const result = await sdk.playlists.getPlaylists(playlistType, smart);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -133,22 +127,19 @@ Smart playlist details contain the `content` attribute. This is the content URI
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const playlistID = 4109.48;
const res = await sdk.playlists.getPlaylist(playlistID);
const result = await sdk.playlists.getPlaylist(playlistID);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -181,22 +172,19 @@ This endpoint will delete a playlist
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const playlistID = 216.22;
const res = await sdk.playlists.deletePlaylist(playlistID);
const result = await sdk.playlists.deletePlaylist(playlistID);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -229,22 +217,19 @@ From PMS version 1.9.1 clients can also edit playlist metadata using this endpoi
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const playlistID = 3915;
const res = await sdk.playlists.updatePlaylist(playlistID);
const result = await sdk.playlists.updatePlaylist(playlistID);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -280,23 +265,20 @@ Note that for dumb playlists, items have a `playlistItemID` attribute which is u
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const playlistID = 5004.46;
const type = 9403.59;
const res = await sdk.playlists.getPlaylistContents(playlistID, type);
const result = await sdk.playlists.getPlaylistContents(playlistID, type);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -330,22 +312,19 @@ Clears a playlist, only works with dumb playlists. Returns the playlist.
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const playlistID = 1893.18;
const res = await sdk.playlists.clearPlaylistContents(playlistID);
const result = await sdk.playlists.clearPlaylistContents(playlistID);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -379,10 +358,10 @@ With a smart playlist, passing a new `uri` parameter replaces the rules for the
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
@@ -390,13 +369,10 @@ async function run() {
const uri = "library://..";
const playQueueID = 123;
const res = await sdk.playlists.addPlaylistContents(playlistID, uri, playQueueID);
const result = await sdk.playlists.addPlaylistContents(playlistID, uri, playQueueID);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -431,24 +407,21 @@ Imports m3u playlists by passing a path on the server to scan for m3u-formatted
### Example Usage
```typescript
import { SDK } from "openapi";
import { Force } from "openapi/models/operations";
import { PlexAPI } from "@lukehagar/plexjs";
import { Force } from "@lukehagar/plexjs/models/operations";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const path = "/home/barkley/playlist.m3u";
const force = Force.Zero;
const res = await sdk.playlists.uploadPlaylist(path, force);
const result = await sdk.playlists.uploadPlaylist(path, force);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();

View File

@@ -1,4 +1,4 @@
# SDK
# PlexAPI SDK
## Overview

View File

@@ -31,10 +31,10 @@ This request is intended to be very fast, and called as the user types.
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
@@ -42,13 +42,10 @@ async function run() {
const sectionId = 1516.53;
const limit = 5;
const res = await sdk.search.performSearch(query, sectionId, limit);
const result = await sdk.search.performSearch(query, sectionId, limit);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -86,10 +83,10 @@ Results, as well as their containing per-type hubs, contain a `distance` attribu
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
@@ -97,13 +94,10 @@ async function run() {
const sectionId = 4094.8;
const limit = 5;
const res = await sdk.search.performVoiceSearch(query, sectionId, limit);
const result = await sdk.search.performVoiceSearch(query, sectionId, limit);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -137,22 +131,19 @@ This will search the database for the string provided.
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const query = "110";
const res = await sdk.search.getSearchResults(query);
const result = await sdk.search.getSearchResults(query);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();

View File

@@ -19,24 +19,21 @@ This endpoint provides the caller with a temporary token with the same access le
### Example Usage
```typescript
import { SDK } from "openapi";
import { QueryParamType, Scope } from "openapi/models/operations";
import { PlexAPI } from "@lukehagar/plexjs";
import { QueryParamType, Scope } from "@lukehagar/plexjs/models/operations";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const type = QueryParamType.Delegation;
const scope = Scope.All;
const res = await sdk.security.getTransientToken(type, scope);
const result = await sdk.security.getTransientToken(type, scope);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -71,22 +68,19 @@ Note: requires Plex Media Server >= 1.15.4.
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const source = "server://client-identifier";
const res = await sdk.security.getSourceConnectionInformation(source);
const result = await sdk.security.getSourceConnectionInformation(source);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();

View File

@@ -24,20 +24,17 @@ Server Capabilities
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.server.getServerCapabilities();
const result = await sdk.server.getServerCapabilities();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -68,20 +65,17 @@ Get Server Preferences
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.server.getServerPreferences();
const result = await sdk.server.getServerPreferences();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -112,20 +106,17 @@ Get Available Clients
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.server.getAvailableClients();
const result = await sdk.server.getAvailableClients();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -156,20 +147,17 @@ Get Devices
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.server.getDevices();
const result = await sdk.server.getDevices();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -200,20 +188,17 @@ Get Server Identity
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.server.getServerIdentity();
const result = await sdk.server.getServerIdentity();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -244,20 +229,17 @@ Returns MyPlex Account Information
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.server.getMyPlexAccount();
const result = await sdk.server.getMyPlexAccount();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -289,15 +271,15 @@ Plex's Photo transcoder is used throughout the service to serve images at specif
### Example Usage
```typescript
import { SDK } from "openapi";
import { MinSize, Upscale } from "openapi/models/operations";
import { PlexAPI } from "@lukehagar/plexjs";
import { MinSize, Upscale } from "@lukehagar/plexjs/models/operations";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.server.getResizedPhoto({
const result = await sdk.server.getResizedPhoto({
width: 110,
height: 165,
opacity: 643869,
@@ -307,11 +289,8 @@ async function run() {
url: "/library/metadata/49564/thumb/1654258204",
});
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -343,20 +322,17 @@ Get Server List
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.server.getServerList();
const result = await sdk.server.getServerList();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();

View File

@@ -20,20 +20,17 @@ This will retrieve the "Now Playing" Information of the PMS.
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.sessions.getSessions();
const result = await sdk.sessions.getSessions();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -64,20 +61,17 @@ This will Retrieve a listing of all history views.
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.sessions.getSessionHistory();
const result = await sdk.sessions.getSessionHistory();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -108,20 +102,17 @@ Get Transcode Sessions
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.sessions.getTranscodeSessions();
const result = await sdk.sessions.getTranscodeSessions();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -152,22 +143,19 @@ Stop a Transcode Session
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const sessionKey = "zz7llzqlx8w9vnrsbnwhbmep";
const res = await sdk.sessions.stopTranscodeSession(sessionKey);
const result = await sdk.sessions.stopTranscodeSession(sessionKey);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();

View File

@@ -20,20 +20,17 @@ Querying status of updates
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.updater.getUpdateStatus();
const result = await sdk.updater.getUpdateStatus();
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -64,23 +61,20 @@ Checking for updates
### Example Usage
```typescript
import { SDK } from "openapi";
import { Download } from "openapi/models/operations";
import { PlexAPI } from "@lukehagar/plexjs";
import { Download } from "@lukehagar/plexjs/models/operations";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const download = Download.One;
const res = await sdk.updater.checkForUpdates(download);
const result = await sdk.updater.checkForUpdates(download);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -113,24 +107,21 @@ Note that these two parameters are effectively mutually exclusive. The `tonight`
### Example Usage
```typescript
import { SDK } from "openapi";
import { Skip, Tonight } from "openapi/models/operations";
import { PlexAPI } from "@lukehagar/plexjs";
import { Skip, Tonight } from "@lukehagar/plexjs/models/operations";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const tonight = Tonight.One;
const skip = Skip.Zero;
const res = await sdk.updater.applyUpdates(tonight, skip);
const result = await sdk.updater.applyUpdates(tonight, skip);
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();

View File

@@ -18,14 +18,14 @@ Begin a Universal Transcode Session
### Example Usage
```typescript
import { SDK } from "openapi";
import { PlexAPI } from "@lukehagar/plexjs";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.video.startUniversalTranscode({
const result = await sdk.video.startUniversalTranscode({
hasMDE: 8924.99,
path: "/etc/mail",
mediaIndex: 9962.95,
@@ -33,11 +33,8 @@ async function run() {
protocol: "string",
});
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();
@@ -69,15 +66,15 @@ Get the timeline for a media item
### Example Usage
```typescript
import { SDK } from "openapi";
import { State } from "openapi/models/operations";
import { PlexAPI } from "@lukehagar/plexjs";
import { State } from "@lukehagar/plexjs/models/operations";
async function run() {
const sdk = new SDK({
const sdk = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
const res = await sdk.video.getTimeline({
const result = await sdk.video.getTimeline({
ratingKey: 716.56,
key: "<key>",
state: State.Paused,
@@ -90,11 +87,8 @@ async function run() {
row: 3536.42,
});
if (res?.statusCode !== 200) {
throw new Error("Unexpected status code: " + res?.statusCode || "-");
}
// handle response
// Handle the result
console.log(result)
}
run();

View File

@@ -439,7 +439,7 @@ docs/models/errors/startuniversaltranscoderesponsebody.md
docs/models/errors/gettimelineerrors.md
docs/models/errors/gettimelineresponsebody.md
docs/models/components/security.md
docs/sdks/sdk/README.md
docs/sdks/plexapi/README.md
docs/sdks/server/README.md
docs/sdks/media/README.md
docs/sdks/activities/README.md

View File

@@ -1,29 +1,15 @@
configVersion: 1.0.0
management:
docChecksum: 550154cf1b4d0c237436fb18c418b5db
docVersion: 0.0.3
speakeasyVersion: 1.129.1
generationVersion: 2.223.3
configVersion: 2.0.0
generation:
comments: {}
sdkClassName: SDK
repoURL: https://github.com/LukeHagar/plexjs.git
sdkClassName: Plex-API
maintainOpenAPIOrder: true
usageSnippets:
optionalPropertyRendering: withExample
fixes:
nameResolutionDec2023: true
useClassNamesForArrayFields: true
features:
typescript:
core: 3.3.12
flattening: 2.81.1
globalSecurity: 2.82.2
globalServerURLs: 2.82.1
nameOverrides: 2.81.1
fixes:
nameResolutionDec2023: false
typescript:
version: 0.1.0
author: Speakeasy
version: 0.4.2
author: LukeHagar
clientServerStatusCodesAsErrors: true
flattenGlobalSecurity: true
imports:
@@ -35,10 +21,7 @@ typescript:
shared: models/components
webhooks: models/webhooks
inputModelSuffix: input
installationURL: https://github.com/LukeHagar/plexjs
maxMethodParams: 4
outputModelSuffix: output
packageName: openapi
published: true
repoSubDirectory: .
packageName: '@lukehagar/plexjs'
templateVersion: v2

8
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "openapi",
"version": "0.1.0",
"name": "@lukehagar/plexjs",
"version": "0.4.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "openapi",
"version": "0.1.0",
"name": "@lukehagar/plexjs",
"version": "0.4.2",
"dependencies": {
"decimal.js": "^10.4.3",
"jsonpath": "^1.1.1"

View File

@@ -1,8 +1,8 @@
{
"type": "commonjs",
"name": "openapi",
"version": "0.1.0",
"author": "Speakeasy",
"name": "@lukehagar/plexjs",
"version": "0.4.2",
"author": "LukeHagar",
"main": "./index.js",
"sideEffects": false,
"repository": {

View File

@@ -10,10 +10,6 @@ import { RetryConfig } from "./retries";
* Contains the list of servers available to the SDK
*/
export const ServerList = [
/**
* The full address of your Plex Server
*/
"http://10.10.10.47:32400",
/**
* The full address of your Plex Server
*/
@@ -62,7 +58,6 @@ export function serverURLFromOptions(options: SDKOptions): URL {
let serverURL = options.serverURL;
const serverParams = [
{},
{
protocol: options.protocol?.toString() ?? "http",
ip: options.ip?.toString() ?? "10.10.10.47",
@@ -84,7 +79,7 @@ export function serverURLFromOptions(options: SDKOptions): URL {
export const SDK_METADATA = Object.freeze({
language: "typescript",
openapiDocVersion: "0.0.3",
sdkVersion: "0.1.0",
genVersion: "2.223.3",
userAgent: "speakeasy-sdk/typescript 0.1.0 2.223.3 0.0.3 openapi",
sdkVersion: "0.4.2",
genVersion: "2.237.2",
userAgent: "speakeasy-sdk/typescript 0.4.2 2.237.2 0.0.3 @lukehagar/plexjs",
});

View File

@@ -5,8 +5,8 @@
import { bytesToBase64 } from "./base64";
export class EncodingError extends Error {
constructor(message: string, options?: ErrorOptions) {
super(message, options);
constructor(message: string) {
super(message);
this.name = "EncodingError";
}
}
@@ -201,7 +201,12 @@ export function encodeDeepObject(
value: unknown,
options?: { charEncoding?: "percent" | "none" },
) {
if (value == null) {
return "";
}
let out = "";
const encodeString = (v: string) => {
return options?.charEncoding === "percent" ? encodeURIComponent(v) : v;
};

192
src/lib/event-streams.ts Normal file
View File

@@ -0,0 +1,192 @@
/*
* Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
*/
export type ServerEvent<T> = {
data?: T | undefined;
event?: string | undefined;
retry?: number | undefined;
id?: string | undefined;
};
const LF = 0x0a;
const CR = 0x0d;
const NEWLINE_CHARS = new Set([LF, CR]);
const MESSAGE_BOUNDARIES = [
new Uint8Array([CR, LF, CR, LF]),
new Uint8Array([CR, CR]),
new Uint8Array([LF, LF]),
];
export class EventStream<Event extends ServerEvent<unknown>> {
private readonly stream: ReadableStream<Uint8Array>;
private readonly decoder: (rawEvent: ServerEvent<string>) => Event;
constructor(init: {
stream: ReadableStream<Uint8Array>;
decoder: (rawEvent: ServerEvent<string>) => Event;
}) {
this.stream = init.stream;
this.decoder = init.decoder;
}
async *[Symbol.asyncIterator]() {
const reader = this.stream.getReader();
let buffer = new Uint8Array([]);
let position = 0;
try {
while (true) {
const { done, value } = await reader.read();
if (done) {
break;
}
const newBuffer = new Uint8Array(buffer.length + value.length);
newBuffer.set(buffer);
newBuffer.set(value, buffer.length);
buffer = newBuffer;
for (let i = position; i < buffer.length; i++) {
const boundary = findBoundary(buffer, i);
if (boundary == null) {
continue;
}
const chunk = buffer.slice(position, i);
position = i + boundary.length;
const event = parseEvent(chunk, this.decoder);
if (event != null) {
yield event;
}
}
if (position > 0) {
buffer = buffer.slice(position);
position = 0;
}
}
if (buffer.length > 0) {
const event = parseEvent(buffer, this.decoder);
if (event != null) {
yield event;
}
}
} finally {
reader.releaseLock();
}
}
}
function findBoundary(buffer: Uint8Array, start: number): Uint8Array | null {
const char1 = buffer[start];
const char2 = buffer[start + 1];
// Don't bother checking if the first two characters are not new line
// characters.
if (
char1 == null ||
char2 == null ||
!NEWLINE_CHARS.has(char1) ||
!NEWLINE_CHARS.has(char2)
) {
return null;
}
for (const s of MESSAGE_BOUNDARIES) {
const seq = peekSequence(start, buffer, s);
if (seq != null) {
return seq;
}
}
return null;
}
function peekSequence(
position: number,
buffer: Uint8Array,
sequence: Uint8Array,
): Uint8Array | null {
if (sequence.length > buffer.length - position) {
return null;
}
for (let i = 0; i < sequence.length; i++) {
if (buffer[position + i] !== sequence[i]) {
return null;
}
}
return sequence;
}
function parseEvent<Event extends ServerEvent<unknown>>(
chunk: Uint8Array,
decoder: (rawEvent: ServerEvent<string>) => Event,
) {
if (!chunk.length) {
return null;
}
const td = new TextDecoder();
const raw = td.decode(chunk);
const lines = raw.split(/\r?\n|\r/g);
let publish = false;
const rawEvent: ServerEvent<string> = {};
for (const line of lines) {
if (!line) {
continue;
}
const delim = line.indexOf(":");
// Lines starting with a colon are ignored.
if (delim === 0) {
continue;
}
const field = delim > 0 ? line.substring(0, delim) : "";
let value = delim > 0 ? line.substring(delim + 1) : "";
if (value.charAt(0) === " ") {
value = value.substring(1);
}
switch (field) {
case "event": {
publish = true;
rawEvent.event = value;
break;
}
case "data": {
publish = true;
rawEvent.data ??= "";
rawEvent.data += value + "\n";
break;
}
case "id": {
publish = true;
rawEvent.id = value;
break;
}
case "retry": {
const r = parseInt(value, 10);
if (!Number.isNaN(r)) {
publish = true;
rawEvent.retry = r;
}
break;
}
}
}
if (!publish) {
return null;
}
if (rawEvent.data != null) {
rawEvent.data = rawEvent.data.slice(0, -1);
}
return decoder(rawEvent);
}

View File

@@ -7,6 +7,8 @@ export type Fetcher = (
init?: RequestInit,
) => Promise<Response>;
const DEFAULT_FETCHER: Fetcher = (input, init) => fetch(input, init);
export interface HTTPClientOptions {
fetcher?: Fetcher;
}
@@ -22,7 +24,7 @@ export class HTTPClient {
private responseHooks: ResponseHook[] = [];
constructor(private options: HTTPClientOptions = {}) {
this.fetcher = options.fetcher || fetch;
this.fetcher = options.fetcher || DEFAULT_FETCHER;
}
async request(request: Request): Promise<Response> {

View File

@@ -23,14 +23,14 @@ type RequestConfig = {
};
export class ClientSDK {
readonly #client: HTTPClient;
private readonly client: HTTPClient;
protected readonly baseURL: URL;
constructor(init: { client: HTTPClient; baseURL: URL }) {
const url = init.baseURL;
url.pathname = url.pathname.replace(/\/+$/, "") + "/";
this.#client = init.client;
this.client = init.client;
this.baseURL = url;
}
@@ -92,7 +92,7 @@ export class ClientSDK {
method,
});
return this.#client.request(req);
return this.client.request(req);
}
protected unpackHeaders = unpackHeaders;

View File

@@ -10,8 +10,8 @@ export enum SecurityErrorCode {
}
export class SecurityError extends Error {
constructor(public code: SecurityErrorCode, message: string, options?: ErrorOptions) {
super(message, options);
constructor(public code: SecurityErrorCode, message: string) {
super(message);
this.name = "SecurityError";
}

View File

@@ -34,8 +34,8 @@ export class AddPlaylistContentsResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: AddPlaylistContentsResponseBodyData;
constructor(err: AddPlaylistContentsResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: AddPlaylistContentsResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class ApplyUpdatesResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: ApplyUpdatesResponseBodyData;
constructor(err: ApplyUpdatesResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: ApplyUpdatesResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class CancelServerActivitiesResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: CancelServerActivitiesResponseBodyData;
constructor(err: CancelServerActivitiesResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: CancelServerActivitiesResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class CheckForUpdatesResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: CheckForUpdatesResponseBodyData;
constructor(err: CheckForUpdatesResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: CheckForUpdatesResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class ClearPlaylistContentsResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: ClearPlaylistContentsResponseBodyData;
constructor(err: ClearPlaylistContentsResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: ClearPlaylistContentsResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class CreatePlaylistResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: CreatePlaylistResponseBodyData;
constructor(err: CreatePlaylistResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: CreatePlaylistResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class DeleteLibraryResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: DeleteLibraryResponseBodyData;
constructor(err: DeleteLibraryResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: DeleteLibraryResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class DeletePlaylistResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: DeletePlaylistResponseBodyData;
constructor(err: DeletePlaylistResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: DeletePlaylistResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class EnablePaperTrailResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: EnablePaperTrailResponseBodyData;
constructor(err: EnablePaperTrailResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: EnablePaperTrailResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetAvailableClientsResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetAvailableClientsResponseBodyData;
constructor(err: GetAvailableClientsResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetAvailableClientsResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetButlerTasksResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetButlerTasksResponseBodyData;
constructor(err: GetButlerTasksResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetButlerTasksResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetCommonLibraryItemsResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetCommonLibraryItemsResponseBodyData;
constructor(err: GetCommonLibraryItemsResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetCommonLibraryItemsResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetDevicesResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetDevicesResponseBodyData;
constructor(err: GetDevicesResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetDevicesResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetFileHashResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetFileHashResponseBodyData;
constructor(err: GetFileHashResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetFileHashResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetGlobalHubsResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetGlobalHubsResponseBodyData;
constructor(err: GetGlobalHubsResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetGlobalHubsResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetLatestLibraryItemsResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetLatestLibraryItemsResponseBodyData;
constructor(err: GetLatestLibraryItemsResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetLatestLibraryItemsResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetLibrariesResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetLibrariesResponseBodyData;
constructor(err: GetLibrariesResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetLibrariesResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetLibraryResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetLibraryResponseBodyData;
constructor(err: GetLibraryResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetLibraryResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetLibraryHubsResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetLibraryHubsResponseBodyData;
constructor(err: GetLibraryHubsResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetLibraryHubsResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetLibraryItemsResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetLibraryItemsResponseBodyData;
constructor(err: GetLibraryItemsResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetLibraryItemsResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetMetadataResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetMetadataResponseBodyData;
constructor(err: GetMetadataResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetMetadataResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetMetadataChildrenResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetMetadataChildrenResponseBodyData;
constructor(err: GetMetadataChildrenResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetMetadataChildrenResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetMyPlexAccountResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetMyPlexAccountResponseBodyData;
constructor(err: GetMyPlexAccountResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetMyPlexAccountResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetOnDeckResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetOnDeckResponseBodyData;
constructor(err: GetOnDeckResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetOnDeckResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetPlaylistResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetPlaylistResponseBodyData;
constructor(err: GetPlaylistResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetPlaylistResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetPlaylistContentsResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetPlaylistContentsResponseBodyData;
constructor(err: GetPlaylistContentsResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetPlaylistContentsResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetPlaylistsResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetPlaylistsResponseBodyData;
constructor(err: GetPlaylistsResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetPlaylistsResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetRecentlyAddedResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetRecentlyAddedResponseBodyData;
constructor(err: GetRecentlyAddedResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetRecentlyAddedResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetResizedPhotoResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetResizedPhotoResponseBodyData;
constructor(err: GetResizedPhotoResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetResizedPhotoResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetSearchResultsResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetSearchResultsResponseBodyData;
constructor(err: GetSearchResultsResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetSearchResultsResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetServerActivitiesResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetServerActivitiesResponseBodyData;
constructor(err: GetServerActivitiesResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetServerActivitiesResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetServerCapabilitiesResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetServerCapabilitiesResponseBodyData;
constructor(err: GetServerCapabilitiesResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetServerCapabilitiesResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetServerIdentityResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetServerIdentityResponseBodyData;
constructor(err: GetServerIdentityResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetServerIdentityResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetServerListResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetServerListResponseBodyData;
constructor(err: GetServerListResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetServerListResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetServerPreferencesResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetServerPreferencesResponseBodyData;
constructor(err: GetServerPreferencesResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetServerPreferencesResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetSessionHistoryResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetSessionHistoryResponseBodyData;
constructor(err: GetSessionHistoryResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetSessionHistoryResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetSessionsResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetSessionsResponseBodyData;
constructor(err: GetSessionsResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetSessionsResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetSourceConnectionInformationResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetSourceConnectionInformationResponseBodyData;
constructor(err: GetSourceConnectionInformationResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetSourceConnectionInformationResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetTimelineResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetTimelineResponseBodyData;
constructor(err: GetTimelineResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetTimelineResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetTranscodeSessionsResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetTranscodeSessionsResponseBodyData;
constructor(err: GetTranscodeSessionsResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetTranscodeSessionsResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetTransientTokenResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetTransientTokenResponseBodyData;
constructor(err: GetTransientTokenResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetTransientTokenResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class GetUpdateStatusResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: GetUpdateStatusResponseBodyData;
constructor(err: GetUpdateStatusResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: GetUpdateStatusResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class LogLineResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: LogLineResponseBodyData;
constructor(err: LogLineResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: LogLineResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class LogMultiLineResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: LogMultiLineResponseBodyData;
constructor(err: LogMultiLineResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: LogMultiLineResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class MarkPlayedResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: MarkPlayedResponseBodyData;
constructor(err: MarkPlayedResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: MarkPlayedResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class MarkUnplayedResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: MarkUnplayedResponseBodyData;
constructor(err: MarkUnplayedResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: MarkUnplayedResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class PerformSearchResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: PerformSearchResponseBodyData;
constructor(err: PerformSearchResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: PerformSearchResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class PerformVoiceSearchResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: PerformVoiceSearchResponseBodyData;
constructor(err: PerformVoiceSearchResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: PerformVoiceSearchResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class RefreshLibraryResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: RefreshLibraryResponseBodyData;
constructor(err: RefreshLibraryResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: RefreshLibraryResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class StartAllTasksResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: StartAllTasksResponseBodyData;
constructor(err: StartAllTasksResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: StartAllTasksResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class StartTaskResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: StartTaskResponseBodyData;
constructor(err: StartTaskResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: StartTaskResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class StartUniversalTranscodeResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: StartUniversalTranscodeResponseBodyData;
constructor(err: StartUniversalTranscodeResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: StartUniversalTranscodeResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class StopAllTasksResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: StopAllTasksResponseBodyData;
constructor(err: StopAllTasksResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: StopAllTasksResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class StopTaskResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: StopTaskResponseBodyData;
constructor(err: StopTaskResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: StopTaskResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class StopTranscodeSessionResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: StopTranscodeSessionResponseBodyData;
constructor(err: StopTranscodeSessionResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: StopTranscodeSessionResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class UpdatePlaylistResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: UpdatePlaylistResponseBodyData;
constructor(err: UpdatePlaylistResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: UpdatePlaylistResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class UpdatePlayProgressResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: UpdatePlayProgressResponseBodyData;
constructor(err: UpdatePlayProgressResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: UpdatePlayProgressResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -34,8 +34,8 @@ export class UploadPlaylistResponseBody extends Error {
/** The original data that was passed to this error instance. */
data$: UploadPlaylistResponseBodyData;
constructor(err: UploadPlaylistResponseBodyData, options?: ErrorOptions) {
super("", options);
constructor(err: UploadPlaylistResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {

View File

@@ -4,6 +4,49 @@
import { z } from "zod";
export type Location = {
id?: number | undefined;
path?: string | undefined;
};
export type GetLibrariesDirectory = {
allowSync?: boolean | undefined;
art?: string | undefined;
composite?: string | undefined;
filters?: boolean | undefined;
refreshing?: boolean | undefined;
thumb?: string | undefined;
key?: string | undefined;
type?: string | undefined;
title?: string | undefined;
agent?: string | undefined;
scanner?: string | undefined;
language?: string | undefined;
uuid?: string | undefined;
updatedAt?: number | undefined;
createdAt?: number | undefined;
scannedAt?: number | undefined;
content?: boolean | undefined;
directory?: boolean | undefined;
contentChangedAt?: number | undefined;
hidden?: number | undefined;
location?: Array<Location> | undefined;
};
export type GetLibrariesMediaContainer = {
size?: number | undefined;
allowSync?: boolean | undefined;
title1?: string | undefined;
directory?: Array<GetLibrariesDirectory> | undefined;
};
/**
* The libraries available on the Server
*/
export type GetLibrariesResponseBody = {
mediaContainer?: GetLibrariesMediaContainer | undefined;
};
export type GetLibrariesResponse = {
/**
* HTTP response content type for this operation
@@ -17,14 +60,291 @@ export type GetLibrariesResponse = {
* Raw HTTP response; suitable for custom response parsing
*/
rawResponse: Response;
/**
* The libraries available on the Server
*/
object?: GetLibrariesResponseBody | undefined;
};
/** @internal */
export namespace Location$ {
export type Inbound = {
id?: number | undefined;
path?: string | undefined;
};
export const inboundSchema: z.ZodType<Location, z.ZodTypeDef, Inbound> = z
.object({
id: z.number().int().optional(),
path: z.string().optional(),
})
.transform((v) => {
return {
...(v.id === undefined ? null : { id: v.id }),
...(v.path === undefined ? null : { path: v.path }),
};
});
export type Outbound = {
id?: number | undefined;
path?: string | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, Location> = z
.object({
id: z.number().int().optional(),
path: z.string().optional(),
})
.transform((v) => {
return {
...(v.id === undefined ? null : { id: v.id }),
...(v.path === undefined ? null : { path: v.path }),
};
});
}
/** @internal */
export namespace GetLibrariesDirectory$ {
export type Inbound = {
allowSync?: boolean | undefined;
art?: string | undefined;
composite?: string | undefined;
filters?: boolean | undefined;
refreshing?: boolean | undefined;
thumb?: string | undefined;
key?: string | undefined;
type?: string | undefined;
title?: string | undefined;
agent?: string | undefined;
scanner?: string | undefined;
language?: string | undefined;
uuid?: string | undefined;
updatedAt?: number | undefined;
createdAt?: number | undefined;
scannedAt?: number | undefined;
content?: boolean | undefined;
directory?: boolean | undefined;
contentChangedAt?: number | undefined;
hidden?: number | undefined;
Location?: Array<Location$.Inbound> | undefined;
};
export const inboundSchema: z.ZodType<GetLibrariesDirectory, z.ZodTypeDef, Inbound> = z
.object({
allowSync: z.boolean().optional(),
art: z.string().optional(),
composite: z.string().optional(),
filters: z.boolean().optional(),
refreshing: z.boolean().optional(),
thumb: z.string().optional(),
key: z.string().optional(),
type: z.string().optional(),
title: z.string().optional(),
agent: z.string().optional(),
scanner: z.string().optional(),
language: z.string().optional(),
uuid: z.string().optional(),
updatedAt: z.number().int().optional(),
createdAt: z.number().int().optional(),
scannedAt: z.number().int().optional(),
content: z.boolean().optional(),
directory: z.boolean().optional(),
contentChangedAt: z.number().int().optional(),
hidden: z.number().int().optional(),
Location: z.array(z.lazy(() => Location$.inboundSchema)).optional(),
})
.transform((v) => {
return {
...(v.allowSync === undefined ? null : { allowSync: v.allowSync }),
...(v.art === undefined ? null : { art: v.art }),
...(v.composite === undefined ? null : { composite: v.composite }),
...(v.filters === undefined ? null : { filters: v.filters }),
...(v.refreshing === undefined ? null : { refreshing: v.refreshing }),
...(v.thumb === undefined ? null : { thumb: v.thumb }),
...(v.key === undefined ? null : { key: v.key }),
...(v.type === undefined ? null : { type: v.type }),
...(v.title === undefined ? null : { title: v.title }),
...(v.agent === undefined ? null : { agent: v.agent }),
...(v.scanner === undefined ? null : { scanner: v.scanner }),
...(v.language === undefined ? null : { language: v.language }),
...(v.uuid === undefined ? null : { uuid: v.uuid }),
...(v.updatedAt === undefined ? null : { updatedAt: v.updatedAt }),
...(v.createdAt === undefined ? null : { createdAt: v.createdAt }),
...(v.scannedAt === undefined ? null : { scannedAt: v.scannedAt }),
...(v.content === undefined ? null : { content: v.content }),
...(v.directory === undefined ? null : { directory: v.directory }),
...(v.contentChangedAt === undefined
? null
: { contentChangedAt: v.contentChangedAt }),
...(v.hidden === undefined ? null : { hidden: v.hidden }),
...(v.Location === undefined ? null : { location: v.Location }),
};
});
export type Outbound = {
allowSync?: boolean | undefined;
art?: string | undefined;
composite?: string | undefined;
filters?: boolean | undefined;
refreshing?: boolean | undefined;
thumb?: string | undefined;
key?: string | undefined;
type?: string | undefined;
title?: string | undefined;
agent?: string | undefined;
scanner?: string | undefined;
language?: string | undefined;
uuid?: string | undefined;
updatedAt?: number | undefined;
createdAt?: number | undefined;
scannedAt?: number | undefined;
content?: boolean | undefined;
directory?: boolean | undefined;
contentChangedAt?: number | undefined;
hidden?: number | undefined;
Location?: Array<Location$.Outbound> | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetLibrariesDirectory> = z
.object({
allowSync: z.boolean().optional(),
art: z.string().optional(),
composite: z.string().optional(),
filters: z.boolean().optional(),
refreshing: z.boolean().optional(),
thumb: z.string().optional(),
key: z.string().optional(),
type: z.string().optional(),
title: z.string().optional(),
agent: z.string().optional(),
scanner: z.string().optional(),
language: z.string().optional(),
uuid: z.string().optional(),
updatedAt: z.number().int().optional(),
createdAt: z.number().int().optional(),
scannedAt: z.number().int().optional(),
content: z.boolean().optional(),
directory: z.boolean().optional(),
contentChangedAt: z.number().int().optional(),
hidden: z.number().int().optional(),
location: z.array(z.lazy(() => Location$.outboundSchema)).optional(),
})
.transform((v) => {
return {
...(v.allowSync === undefined ? null : { allowSync: v.allowSync }),
...(v.art === undefined ? null : { art: v.art }),
...(v.composite === undefined ? null : { composite: v.composite }),
...(v.filters === undefined ? null : { filters: v.filters }),
...(v.refreshing === undefined ? null : { refreshing: v.refreshing }),
...(v.thumb === undefined ? null : { thumb: v.thumb }),
...(v.key === undefined ? null : { key: v.key }),
...(v.type === undefined ? null : { type: v.type }),
...(v.title === undefined ? null : { title: v.title }),
...(v.agent === undefined ? null : { agent: v.agent }),
...(v.scanner === undefined ? null : { scanner: v.scanner }),
...(v.language === undefined ? null : { language: v.language }),
...(v.uuid === undefined ? null : { uuid: v.uuid }),
...(v.updatedAt === undefined ? null : { updatedAt: v.updatedAt }),
...(v.createdAt === undefined ? null : { createdAt: v.createdAt }),
...(v.scannedAt === undefined ? null : { scannedAt: v.scannedAt }),
...(v.content === undefined ? null : { content: v.content }),
...(v.directory === undefined ? null : { directory: v.directory }),
...(v.contentChangedAt === undefined
? null
: { contentChangedAt: v.contentChangedAt }),
...(v.hidden === undefined ? null : { hidden: v.hidden }),
...(v.location === undefined ? null : { Location: v.location }),
};
});
}
/** @internal */
export namespace GetLibrariesMediaContainer$ {
export type Inbound = {
size?: number | undefined;
allowSync?: boolean | undefined;
title1?: string | undefined;
Directory?: Array<GetLibrariesDirectory$.Inbound> | undefined;
};
export const inboundSchema: z.ZodType<GetLibrariesMediaContainer, z.ZodTypeDef, Inbound> = z
.object({
size: z.number().int().optional(),
allowSync: z.boolean().optional(),
title1: z.string().optional(),
Directory: z.array(z.lazy(() => GetLibrariesDirectory$.inboundSchema)).optional(),
})
.transform((v) => {
return {
...(v.size === undefined ? null : { size: v.size }),
...(v.allowSync === undefined ? null : { allowSync: v.allowSync }),
...(v.title1 === undefined ? null : { title1: v.title1 }),
...(v.Directory === undefined ? null : { directory: v.Directory }),
};
});
export type Outbound = {
size?: number | undefined;
allowSync?: boolean | undefined;
title1?: string | undefined;
Directory?: Array<GetLibrariesDirectory$.Outbound> | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetLibrariesMediaContainer> = z
.object({
size: z.number().int().optional(),
allowSync: z.boolean().optional(),
title1: z.string().optional(),
directory: z.array(z.lazy(() => GetLibrariesDirectory$.outboundSchema)).optional(),
})
.transform((v) => {
return {
...(v.size === undefined ? null : { size: v.size }),
...(v.allowSync === undefined ? null : { allowSync: v.allowSync }),
...(v.title1 === undefined ? null : { title1: v.title1 }),
...(v.directory === undefined ? null : { Directory: v.directory }),
};
});
}
/** @internal */
export namespace GetLibrariesResponseBody$ {
export type Inbound = {
MediaContainer?: GetLibrariesMediaContainer$.Inbound | undefined;
};
export const inboundSchema: z.ZodType<GetLibrariesResponseBody, z.ZodTypeDef, Inbound> = z
.object({
MediaContainer: z.lazy(() => GetLibrariesMediaContainer$.inboundSchema).optional(),
})
.transform((v) => {
return {
...(v.MediaContainer === undefined ? null : { mediaContainer: v.MediaContainer }),
};
});
export type Outbound = {
MediaContainer?: GetLibrariesMediaContainer$.Outbound | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetLibrariesResponseBody> = z
.object({
mediaContainer: z.lazy(() => GetLibrariesMediaContainer$.outboundSchema).optional(),
})
.transform((v) => {
return {
...(v.mediaContainer === undefined ? null : { MediaContainer: v.mediaContainer }),
};
});
}
/** @internal */
export namespace GetLibrariesResponse$ {
export type Inbound = {
ContentType: string;
StatusCode: number;
RawResponse: Response;
object?: GetLibrariesResponseBody$.Inbound | undefined;
};
export const inboundSchema: z.ZodType<GetLibrariesResponse, z.ZodTypeDef, Inbound> = z
@@ -32,12 +352,14 @@ export namespace GetLibrariesResponse$ {
ContentType: z.string(),
StatusCode: z.number().int(),
RawResponse: z.instanceof(Response),
object: z.lazy(() => GetLibrariesResponseBody$.inboundSchema).optional(),
})
.transform((v) => {
return {
contentType: v.ContentType,
statusCode: v.StatusCode,
rawResponse: v.RawResponse,
...(v.object === undefined ? null : { object: v.object }),
};
});
@@ -45,6 +367,7 @@ export namespace GetLibrariesResponse$ {
ContentType: string;
StatusCode: number;
RawResponse: never;
object?: GetLibrariesResponseBody$.Outbound | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetLibrariesResponse> = z
@@ -54,12 +377,14 @@ export namespace GetLibrariesResponse$ {
rawResponse: z.instanceof(Response).transform(() => {
throw new Error("Response cannot be serialized");
}),
object: z.lazy(() => GetLibrariesResponseBody$.outboundSchema).optional(),
})
.transform((v) => {
return {
ContentType: v.contentType,
StatusCode: v.statusCode,
RawResponse: v.rawResponse,
...(v.object === undefined ? null : { object: v.object }),
};
});
}

View File

@@ -31,6 +31,37 @@ export type GetLibraryRequest = {
includeDetails?: IncludeDetails | undefined;
};
export type GetLibraryDirectory = {
secondary?: boolean | undefined;
prompt?: string | undefined;
search?: boolean | undefined;
key?: string | undefined;
title?: string | undefined;
};
export type GetLibraryMediaContainer = {
size?: number | undefined;
allowSync?: boolean | undefined;
art?: string | undefined;
content?: string | undefined;
identifier?: string | undefined;
librarySectionID?: number | undefined;
mediaTagPrefix?: string | undefined;
mediaTagVersion?: number | undefined;
thumb?: string | undefined;
title1?: string | undefined;
viewGroup?: string | undefined;
viewMode?: number | undefined;
directory?: Array<GetLibraryDirectory> | undefined;
};
/**
* The details of the library
*/
export type GetLibraryResponseBody = {
mediaContainer?: GetLibraryMediaContainer | undefined;
};
export type GetLibraryResponse = {
/**
* HTTP response content type for this operation
@@ -44,6 +75,10 @@ export type GetLibraryResponse = {
* Raw HTTP response; suitable for custom response parsing
*/
rawResponse: Response;
/**
* The details of the library
*/
object?: GetLibraryResponseBody | undefined;
};
/** @internal */
@@ -59,7 +94,7 @@ export namespace GetLibraryRequest$ {
export const inboundSchema: z.ZodType<GetLibraryRequest, z.ZodTypeDef, Inbound> = z
.object({
sectionId: z.number(),
includeDetails: IncludeDetails$.optional(),
includeDetails: IncludeDetails$.default(IncludeDetails.Zero),
})
.transform((v) => {
return {
@@ -70,18 +105,215 @@ export namespace GetLibraryRequest$ {
export type Outbound = {
sectionId: number;
includeDetails?: IncludeDetails | undefined;
includeDetails: IncludeDetails;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetLibraryRequest> = z
.object({
sectionId: z.number(),
includeDetails: IncludeDetails$.optional(),
includeDetails: IncludeDetails$.default(IncludeDetails.Zero),
})
.transform((v) => {
return {
sectionId: v.sectionId,
...(v.includeDetails === undefined ? null : { includeDetails: v.includeDetails }),
includeDetails: v.includeDetails,
};
});
}
/** @internal */
export namespace GetLibraryDirectory$ {
export type Inbound = {
secondary?: boolean | undefined;
prompt?: string | undefined;
search?: boolean | undefined;
key?: string | undefined;
title?: string | undefined;
};
export const inboundSchema: z.ZodType<GetLibraryDirectory, z.ZodTypeDef, Inbound> = z
.object({
secondary: z.boolean().optional(),
prompt: z.string().optional(),
search: z.boolean().optional(),
key: z.string().optional(),
title: z.string().optional(),
})
.transform((v) => {
return {
...(v.secondary === undefined ? null : { secondary: v.secondary }),
...(v.prompt === undefined ? null : { prompt: v.prompt }),
...(v.search === undefined ? null : { search: v.search }),
...(v.key === undefined ? null : { key: v.key }),
...(v.title === undefined ? null : { title: v.title }),
};
});
export type Outbound = {
secondary?: boolean | undefined;
prompt?: string | undefined;
search?: boolean | undefined;
key?: string | undefined;
title?: string | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetLibraryDirectory> = z
.object({
secondary: z.boolean().optional(),
prompt: z.string().optional(),
search: z.boolean().optional(),
key: z.string().optional(),
title: z.string().optional(),
})
.transform((v) => {
return {
...(v.secondary === undefined ? null : { secondary: v.secondary }),
...(v.prompt === undefined ? null : { prompt: v.prompt }),
...(v.search === undefined ? null : { search: v.search }),
...(v.key === undefined ? null : { key: v.key }),
...(v.title === undefined ? null : { title: v.title }),
};
});
}
/** @internal */
export namespace GetLibraryMediaContainer$ {
export type Inbound = {
size?: number | undefined;
allowSync?: boolean | undefined;
art?: string | undefined;
content?: string | undefined;
identifier?: string | undefined;
librarySectionID?: number | undefined;
mediaTagPrefix?: string | undefined;
mediaTagVersion?: number | undefined;
thumb?: string | undefined;
title1?: string | undefined;
viewGroup?: string | undefined;
viewMode?: number | undefined;
Directory?: Array<GetLibraryDirectory$.Inbound> | undefined;
};
export const inboundSchema: z.ZodType<GetLibraryMediaContainer, z.ZodTypeDef, Inbound> = z
.object({
size: z.number().int().optional(),
allowSync: z.boolean().optional(),
art: z.string().optional(),
content: z.string().optional(),
identifier: z.string().optional(),
librarySectionID: z.number().int().optional(),
mediaTagPrefix: z.string().optional(),
mediaTagVersion: z.number().int().optional(),
thumb: z.string().optional(),
title1: z.string().optional(),
viewGroup: z.string().optional(),
viewMode: z.number().int().optional(),
Directory: z.array(z.lazy(() => GetLibraryDirectory$.inboundSchema)).optional(),
})
.transform((v) => {
return {
...(v.size === undefined ? null : { size: v.size }),
...(v.allowSync === undefined ? null : { allowSync: v.allowSync }),
...(v.art === undefined ? null : { art: v.art }),
...(v.content === undefined ? null : { content: v.content }),
...(v.identifier === undefined ? null : { identifier: v.identifier }),
...(v.librarySectionID === undefined
? null
: { librarySectionID: v.librarySectionID }),
...(v.mediaTagPrefix === undefined ? null : { mediaTagPrefix: v.mediaTagPrefix }),
...(v.mediaTagVersion === undefined
? null
: { mediaTagVersion: v.mediaTagVersion }),
...(v.thumb === undefined ? null : { thumb: v.thumb }),
...(v.title1 === undefined ? null : { title1: v.title1 }),
...(v.viewGroup === undefined ? null : { viewGroup: v.viewGroup }),
...(v.viewMode === undefined ? null : { viewMode: v.viewMode }),
...(v.Directory === undefined ? null : { directory: v.Directory }),
};
});
export type Outbound = {
size?: number | undefined;
allowSync?: boolean | undefined;
art?: string | undefined;
content?: string | undefined;
identifier?: string | undefined;
librarySectionID?: number | undefined;
mediaTagPrefix?: string | undefined;
mediaTagVersion?: number | undefined;
thumb?: string | undefined;
title1?: string | undefined;
viewGroup?: string | undefined;
viewMode?: number | undefined;
Directory?: Array<GetLibraryDirectory$.Outbound> | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetLibraryMediaContainer> = z
.object({
size: z.number().int().optional(),
allowSync: z.boolean().optional(),
art: z.string().optional(),
content: z.string().optional(),
identifier: z.string().optional(),
librarySectionID: z.number().int().optional(),
mediaTagPrefix: z.string().optional(),
mediaTagVersion: z.number().int().optional(),
thumb: z.string().optional(),
title1: z.string().optional(),
viewGroup: z.string().optional(),
viewMode: z.number().int().optional(),
directory: z.array(z.lazy(() => GetLibraryDirectory$.outboundSchema)).optional(),
})
.transform((v) => {
return {
...(v.size === undefined ? null : { size: v.size }),
...(v.allowSync === undefined ? null : { allowSync: v.allowSync }),
...(v.art === undefined ? null : { art: v.art }),
...(v.content === undefined ? null : { content: v.content }),
...(v.identifier === undefined ? null : { identifier: v.identifier }),
...(v.librarySectionID === undefined
? null
: { librarySectionID: v.librarySectionID }),
...(v.mediaTagPrefix === undefined ? null : { mediaTagPrefix: v.mediaTagPrefix }),
...(v.mediaTagVersion === undefined
? null
: { mediaTagVersion: v.mediaTagVersion }),
...(v.thumb === undefined ? null : { thumb: v.thumb }),
...(v.title1 === undefined ? null : { title1: v.title1 }),
...(v.viewGroup === undefined ? null : { viewGroup: v.viewGroup }),
...(v.viewMode === undefined ? null : { viewMode: v.viewMode }),
...(v.directory === undefined ? null : { Directory: v.directory }),
};
});
}
/** @internal */
export namespace GetLibraryResponseBody$ {
export type Inbound = {
MediaContainer?: GetLibraryMediaContainer$.Inbound | undefined;
};
export const inboundSchema: z.ZodType<GetLibraryResponseBody, z.ZodTypeDef, Inbound> = z
.object({
MediaContainer: z.lazy(() => GetLibraryMediaContainer$.inboundSchema).optional(),
})
.transform((v) => {
return {
...(v.MediaContainer === undefined ? null : { mediaContainer: v.MediaContainer }),
};
});
export type Outbound = {
MediaContainer?: GetLibraryMediaContainer$.Outbound | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetLibraryResponseBody> = z
.object({
mediaContainer: z.lazy(() => GetLibraryMediaContainer$.outboundSchema).optional(),
})
.transform((v) => {
return {
...(v.mediaContainer === undefined ? null : { MediaContainer: v.mediaContainer }),
};
});
}
@@ -92,6 +324,7 @@ export namespace GetLibraryResponse$ {
ContentType: string;
StatusCode: number;
RawResponse: Response;
object?: GetLibraryResponseBody$.Inbound | undefined;
};
export const inboundSchema: z.ZodType<GetLibraryResponse, z.ZodTypeDef, Inbound> = z
@@ -99,12 +332,14 @@ export namespace GetLibraryResponse$ {
ContentType: z.string(),
StatusCode: z.number().int(),
RawResponse: z.instanceof(Response),
object: z.lazy(() => GetLibraryResponseBody$.inboundSchema).optional(),
})
.transform((v) => {
return {
contentType: v.ContentType,
statusCode: v.StatusCode,
rawResponse: v.RawResponse,
...(v.object === undefined ? null : { object: v.object }),
};
});
@@ -112,6 +347,7 @@ export namespace GetLibraryResponse$ {
ContentType: string;
StatusCode: number;
RawResponse: never;
object?: GetLibraryResponseBody$.Outbound | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetLibraryResponse> = z
@@ -121,12 +357,14 @@ export namespace GetLibraryResponse$ {
rawResponse: z.instanceof(Response).transform(() => {
throw new Error("Response cannot be serialized");
}),
object: z.lazy(() => GetLibraryResponseBody$.outboundSchema).optional(),
})
.transform((v) => {
return {
ContentType: v.contentType,
StatusCode: v.statusCode,
RawResponse: v.rawResponse,
...(v.object === undefined ? null : { object: v.object }),
};
});
}

View File

@@ -32,7 +32,7 @@ export type GetResizedPhotoRequest = {
/**
* The opacity for the resized photo
*/
opacity: number;
opacity?: number | undefined;
/**
* The width for the resized photo
*/
@@ -77,7 +77,7 @@ export namespace GetResizedPhotoRequest$ {
export type Inbound = {
width: number;
height: number;
opacity: number;
opacity?: number | undefined;
blur: number;
minSize: MinSize;
upscale: Upscale;
@@ -88,7 +88,7 @@ export namespace GetResizedPhotoRequest$ {
.object({
width: z.number(),
height: z.number(),
opacity: z.number().int(),
opacity: z.number().int().default(100),
blur: z.number(),
minSize: MinSize$,
upscale: Upscale$,
@@ -98,7 +98,7 @@ export namespace GetResizedPhotoRequest$ {
return {
width: v.width,
height: v.height,
opacity: v.opacity,
...(v.opacity === undefined ? null : { opacity: v.opacity }),
blur: v.blur,
minSize: v.minSize,
upscale: v.upscale,
@@ -120,7 +120,7 @@ export namespace GetResizedPhotoRequest$ {
.object({
width: z.number(),
height: z.number(),
opacity: z.number().int(),
opacity: z.number().int().default(100),
blur: z.number(),
minSize: MinSize$,
upscale: Upscale$,

View File

@@ -46,7 +46,7 @@ export namespace PerformSearchRequest$ {
.object({
query: z.string(),
sectionId: z.number().optional(),
limit: z.number().optional(),
limit: z.number().default(3),
})
.transform((v) => {
return {
@@ -59,20 +59,20 @@ export namespace PerformSearchRequest$ {
export type Outbound = {
query: string;
sectionId?: number | undefined;
limit?: number | undefined;
limit: number;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, PerformSearchRequest> = z
.object({
query: z.string(),
sectionId: z.number().optional(),
limit: z.number().optional(),
limit: z.number().default(3),
})
.transform((v) => {
return {
query: v.query,
...(v.sectionId === undefined ? null : { sectionId: v.sectionId }),
...(v.limit === undefined ? null : { limit: v.limit }),
limit: v.limit,
};
});
}

Some files were not shown because too many files have changed in this diff Show More