Compare commits

...

3 Commits

Author SHA1 Message Date
speakeasybot
650c5043ef ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.526.6 2025-03-31 16:33:24 +00:00
Luke Hagar
0234804578 correcting label override key value 2025-03-31 11:30:53 -05:00
Luke Hagar
60d913c8f9 adjusting codesample labels 2025-03-28 16:58:29 -05:00
13 changed files with 210 additions and 191 deletions

File diff suppressed because one or more lines are too long

View File

@@ -15,7 +15,7 @@ generation:
oAuth2ClientCredentialsEnabled: true oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false oAuth2PasswordEnabled: false
typescript: typescript:
version: 0.35.1 version: 0.35.2
additionalDependencies: additionalDependencies:
dependencies: {} dependencies: {}
devDependencies: {} devDependencies: {}

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.513.4 speakeasyVersion: 1.526.6
sources: sources:
my-source: my-source:
sourceNamespace: my-source sourceNamespace: my-source
@@ -9,20 +9,20 @@ sources:
- main - main
plexapi: plexapi:
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:2066ba94b55e21d651c79003e3cf402fb77c52a0969fc52310b3383fbed038f4 sourceRevisionDigest: sha256:cffb18feaa0523b300655a6f0073caad99133b143f5a420fddbb1e1efe47bcaf
sourceBlobDigest: sha256:1737023e29cd9cf36c07ccd8c8c48c47e14f47ce22b4d6ba9ee241afbbd8f351 sourceBlobDigest: sha256:1737023e29cd9cf36c07ccd8c8c48c47e14f47ce22b4d6ba9ee241afbbd8f351
tags: tags:
- latest - latest
- speakeasy-sdk-regen-1741478971 - speakeasy-sdk-regen-1743438725
- 0.0.3 - 0.0.3
targets: targets:
plexjs: plexjs:
source: plexapi source: plexapi
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:2066ba94b55e21d651c79003e3cf402fb77c52a0969fc52310b3383fbed038f4 sourceRevisionDigest: sha256:cffb18feaa0523b300655a6f0073caad99133b143f5a420fddbb1e1efe47bcaf
sourceBlobDigest: sha256:1737023e29cd9cf36c07ccd8c8c48c47e14f47ce22b4d6ba9ee241afbbd8f351 sourceBlobDigest: sha256:1737023e29cd9cf36c07ccd8c8c48c47e14f47ce22b4d6ba9ee241afbbd8f351
codeSamplesNamespace: code-samples-typescript-plexjs codeSamplesNamespace: code-samples-typescript-plexjs
codeSamplesRevisionDigest: sha256:562c355ca997be7103dd50d641d9264002668b79ccbed1d1c259a98c653ce99a codeSamplesRevisionDigest: sha256:1e82144ee5f8b57f2ee0633b982f4dd97305e92b7810d3ea83a6960fb89390cf
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: latest speakeasyVersion: latest
@@ -43,3 +43,6 @@ workflow:
output: codeSamples.yaml output: codeSamples.yaml
registry: registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs
langOverride: TypeScript
labelOverride:
fixedValue: PlexJS

View File

@@ -17,3 +17,6 @@ targets:
output: codeSamples.yaml output: codeSamples.yaml
registry: registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs
langOverride: TypeScript
labelOverride:
fixedValue: PlexJS

View File

@@ -1248,4 +1248,14 @@ Based on:
### Generated ### Generated
- [typescript v0.35.1] . - [typescript v0.35.1] .
### Releases ### Releases
- [NPM v0.35.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.1 - . - [NPM v0.35.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.1 - .
## 2025-03-31 16:31:46
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.526.6 (2.563.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.35.2] .
### Releases
- [NPM v0.35.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.2 - .

View File

@@ -6,8 +6,8 @@ actions:
- target: $["paths"]["/"]["get"] - target: $["paths"]["/"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getServerCapabilities label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -26,8 +26,8 @@ actions:
- target: $["paths"]["/:/prefs"]["get"] - target: $["paths"]["/:/prefs"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getServerPreferences label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -46,8 +46,8 @@ actions:
- target: $["paths"]["/:/progress"]["post"] - target: $["paths"]["/:/progress"]["post"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: updatePlayProgress label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -66,8 +66,8 @@ actions:
- target: $["paths"]["/:/scrobble"]["get"] - target: $["paths"]["/:/scrobble"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: markPlayed label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -86,8 +86,8 @@ actions:
- target: $["paths"]["/:/timeline"]["get"] - target: $["paths"]["/:/timeline"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getTimeline label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { State } from "@lukehagar/plexjs/sdk/models/operations"; import { State } from "@lukehagar/plexjs/sdk/models/operations";
@@ -118,8 +118,8 @@ actions:
- target: $["paths"]["/:/unscrobble"]["get"] - target: $["paths"]["/:/unscrobble"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: markUnplayed label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -138,8 +138,8 @@ actions:
- target: $["paths"]["/activities"]["get"] - target: $["paths"]["/activities"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getServerActivities label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -158,8 +158,8 @@ actions:
- target: $["paths"]["/activities/{activityUUID}"]["delete"] - target: $["paths"]["/activities/{activityUUID}"]["delete"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: cancelServerActivities label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -178,8 +178,8 @@ actions:
- target: $["paths"]["/butler"]["delete"] - target: $["paths"]["/butler"]["delete"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: stopAllTasks label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -198,8 +198,8 @@ actions:
- target: $["paths"]["/butler"]["get"] - target: $["paths"]["/butler"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getButlerTasks label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -218,8 +218,8 @@ actions:
- target: $["paths"]["/butler"]["post"] - target: $["paths"]["/butler"]["post"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: startAllTasks label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -238,8 +238,8 @@ actions:
- target: $["paths"]["/butler/{taskName}"]["delete"] - target: $["paths"]["/butler/{taskName}"]["delete"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: stopTask label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { PathParamTaskName } from "@lukehagar/plexjs/sdk/models/operations"; import { PathParamTaskName } from "@lukehagar/plexjs/sdk/models/operations";
@@ -259,8 +259,8 @@ actions:
- target: $["paths"]["/butler/{taskName}"]["post"] - target: $["paths"]["/butler/{taskName}"]["post"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: startTask label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { TaskName } from "@lukehagar/plexjs/sdk/models/operations"; import { TaskName } from "@lukehagar/plexjs/sdk/models/operations";
@@ -280,8 +280,8 @@ actions:
- target: $["paths"]["/clients"]["get"] - target: $["paths"]["/clients"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getAvailableClients label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -300,8 +300,8 @@ actions:
- target: $["paths"]["/companions"]["get"] - target: $["paths"]["/companions"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getCompanionsData label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -320,8 +320,8 @@ actions:
- target: $["paths"]["/devices"]["get"] - target: $["paths"]["/devices"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getDevices label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -340,8 +340,8 @@ actions:
- target: $["paths"]["/friends"]["get"] - target: $["paths"]["/friends"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getUserFriends label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -360,8 +360,8 @@ actions:
- target: $["paths"]["/geoip"]["get"] - target: $["paths"]["/geoip"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getGeoData label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -378,8 +378,8 @@ actions:
- target: $["paths"]["/home"]["get"] - target: $["paths"]["/home"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getHomeData label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -398,8 +398,8 @@ actions:
- target: $["paths"]["/hubs"]["get"] - target: $["paths"]["/hubs"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getGlobalHubs label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -418,8 +418,8 @@ actions:
- target: $["paths"]["/hubs/home/recentlyAdded"]["get"] - target: $["paths"]["/hubs/home/recentlyAdded"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-recently-added label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { Type } from "@lukehagar/plexjs/sdk/models/operations"; import { Type } from "@lukehagar/plexjs/sdk/models/operations";
@@ -443,8 +443,8 @@ actions:
- target: $["paths"]["/hubs/search"]["get"] - target: $["paths"]["/hubs/search"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: performSearch label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -463,8 +463,8 @@ actions:
- target: $["paths"]["/hubs/search/voice"]["get"] - target: $["paths"]["/hubs/search/voice"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: performVoiceSearch label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -483,8 +483,8 @@ actions:
- target: $["paths"]["/hubs/sections/{sectionId}"]["get"] - target: $["paths"]["/hubs/sections/{sectionId}"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getLibraryHubs label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -503,8 +503,8 @@ actions:
- target: $["paths"]["/identity"]["get"] - target: $["paths"]["/identity"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-server-identity label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -521,8 +521,8 @@ actions:
- target: $["paths"]["/library/all/top"]["get"] - target: $["paths"]["/library/all/top"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getTopWatchedContent label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { GetTopWatchedContentQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; import { GetTopWatchedContentQueryParamType } from "@lukehagar/plexjs/sdk/models/operations";
@@ -542,8 +542,8 @@ actions:
- target: $["paths"]["/library/hashes"]["get"] - target: $["paths"]["/library/hashes"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getFileHash label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -562,8 +562,8 @@ actions:
- target: $["paths"]["/library/metadata/{ratingKey}"]["get"] - target: $["paths"]["/library/metadata/{ratingKey}"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-media-meta-data label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -597,8 +597,8 @@ actions:
- target: $["paths"]["/library/metadata/{ratingKey}/banner"]["get"] - target: $["paths"]["/library/metadata/{ratingKey}/banner"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-banner-image label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -624,8 +624,8 @@ actions:
- target: $["paths"]["/library/metadata/{ratingKey}/children"]["get"] - target: $["paths"]["/library/metadata/{ratingKey}/children"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getMetadataChildren label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -644,8 +644,8 @@ actions:
- target: $["paths"]["/library/metadata/{ratingKey}/thumb"]["get"] - target: $["paths"]["/library/metadata/{ratingKey}/thumb"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-thumb-image label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -671,8 +671,8 @@ actions:
- target: $["paths"]["/library/recentlyAdded"]["get"] - target: $["paths"]["/library/recentlyAdded"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-recently-added-library label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { QueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; import { QueryParamType } from "@lukehagar/plexjs/sdk/models/operations";
@@ -710,8 +710,8 @@ actions:
- target: $["paths"]["/library/search"]["get"] - target: $["paths"]["/library/search"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-search-all-libraries label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { SearchTypes } from "@lukehagar/plexjs/sdk/models/operations"; import { SearchTypes } from "@lukehagar/plexjs/sdk/models/operations";
@@ -737,8 +737,8 @@ actions:
- target: $["paths"]["/library/sections"]["get"] - target: $["paths"]["/library/sections"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-all-libraries label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -757,8 +757,8 @@ actions:
- target: $["paths"]["/library/sections/watchlist/{filter}"]["get"] - target: $["paths"]["/library/sections/watchlist/{filter}"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-watch-list label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { Filter } from "@lukehagar/plexjs/sdk/models/operations"; import { Filter } from "@lukehagar/plexjs/sdk/models/operations";
@@ -781,8 +781,8 @@ actions:
- target: $["paths"]["/library/sections/{sectionKey}"]["delete"] - target: $["paths"]["/library/sections/{sectionKey}"]["delete"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: deleteLibrary label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -801,8 +801,8 @@ actions:
- target: $["paths"]["/library/sections/{sectionKey}"]["get"] - target: $["paths"]["/library/sections/{sectionKey}"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-library-details label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -821,8 +821,8 @@ actions:
- target: $["paths"]["/library/sections/{sectionKey}/actor"]["get"] - target: $["paths"]["/library/sections/{sectionKey}/actor"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-actors-library label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { GetActorsLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; import { GetActorsLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations";
@@ -842,8 +842,8 @@ actions:
- target: $["paths"]["/library/sections/{sectionKey}/all"]["get"] - target: $["paths"]["/library/sections/{sectionKey}/all"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-all-media-library label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { GetAllMediaLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; import { GetAllMediaLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations";
@@ -866,8 +866,8 @@ actions:
- target: $["paths"]["/library/sections/{sectionKey}/country"]["get"] - target: $["paths"]["/library/sections/{sectionKey}/country"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-countries-library label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { GetCountriesLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; import { GetCountriesLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations";
@@ -887,8 +887,8 @@ actions:
- target: $["paths"]["/library/sections/{sectionKey}/genre"]["get"] - target: $["paths"]["/library/sections/{sectionKey}/genre"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-genres-library label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { GetGenresLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; import { GetGenresLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations";
@@ -908,8 +908,8 @@ actions:
- target: $["paths"]["/library/sections/{sectionKey}/refresh"]["get"] - target: $["paths"]["/library/sections/{sectionKey}/refresh"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-refresh-library-metadata label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { Force } from "@lukehagar/plexjs/sdk/models/operations"; import { Force } from "@lukehagar/plexjs/sdk/models/operations";
@@ -929,8 +929,8 @@ actions:
- target: $["paths"]["/library/sections/{sectionKey}/search"]["get"] - target: $["paths"]["/library/sections/{sectionKey}/search"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-search-library label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { GetSearchLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; import { GetSearchLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations";
@@ -950,8 +950,8 @@ actions:
- target: $["paths"]["/library/sections/{sectionKey}/{tag}"]["get"] - target: $["paths"]["/library/sections/{sectionKey}/{tag}"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-library-items label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { GetLibraryItemsQueryParamType, Tag } from "@lukehagar/plexjs/sdk/models/operations"; import { GetLibraryItemsQueryParamType, Tag } from "@lukehagar/plexjs/sdk/models/operations";
@@ -975,8 +975,8 @@ actions:
- target: $["paths"]["/log"]["get"] - target: $["paths"]["/log"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: logLine label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { Level } from "@lukehagar/plexjs/sdk/models/operations"; import { Level } from "@lukehagar/plexjs/sdk/models/operations";
@@ -996,8 +996,8 @@ actions:
- target: $["paths"]["/log"]["post"] - target: $["paths"]["/log"]["post"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: logMultiLine label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1018,8 +1018,8 @@ actions:
- target: $["paths"]["/log/networked"]["get"] - target: $["paths"]["/log/networked"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: enablePaperTrail label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1038,8 +1038,8 @@ actions:
- target: $["paths"]["/media/providers"]["get"] - target: $["paths"]["/media/providers"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-media-providers label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1058,8 +1058,8 @@ actions:
- target: $["paths"]["/myplex/account"]["get"] - target: $["paths"]["/myplex/account"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getMyPlexAccount label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1078,8 +1078,8 @@ actions:
- target: $["paths"]["/photo/:/transcode"]["get"] - target: $["paths"]["/photo/:/transcode"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getResizedPhoto label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { MinSize, Upscale } from "@lukehagar/plexjs/sdk/models/operations"; import { MinSize, Upscale } from "@lukehagar/plexjs/sdk/models/operations";
@@ -1107,8 +1107,8 @@ actions:
- target: $["paths"]["/pins"]["post"] - target: $["paths"]["/pins"]["post"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getPin label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1131,8 +1131,8 @@ actions:
- target: $["paths"]["/pins/{pinID}"]["get"] - target: $["paths"]["/pins/{pinID}"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getTokenByPinId label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1156,8 +1156,8 @@ actions:
- target: $["paths"]["/playlists"]["get"] - target: $["paths"]["/playlists"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getPlaylists label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1176,8 +1176,8 @@ actions:
- target: $["paths"]["/playlists"]["post"] - target: $["paths"]["/playlists"]["post"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: createPlaylist label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { CreatePlaylistQueryParamType, Smart } from "@lukehagar/plexjs/sdk/models/operations"; import { CreatePlaylistQueryParamType, Smart } from "@lukehagar/plexjs/sdk/models/operations";
@@ -1202,8 +1202,8 @@ actions:
- target: $["paths"]["/playlists/upload"]["post"] - target: $["paths"]["/playlists/upload"]["post"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: uploadPlaylist label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { QueryParamForce } from "@lukehagar/plexjs/sdk/models/operations"; import { QueryParamForce } from "@lukehagar/plexjs/sdk/models/operations";
@@ -1223,8 +1223,8 @@ actions:
- target: $["paths"]["/playlists/{playlistID}"]["delete"] - target: $["paths"]["/playlists/{playlistID}"]["delete"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: deletePlaylist label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1243,8 +1243,8 @@ actions:
- target: $["paths"]["/playlists/{playlistID}"]["get"] - target: $["paths"]["/playlists/{playlistID}"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getPlaylist label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1263,8 +1263,8 @@ actions:
- target: $["paths"]["/playlists/{playlistID}"]["put"] - target: $["paths"]["/playlists/{playlistID}"]["put"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: updatePlaylist label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1283,8 +1283,8 @@ actions:
- target: $["paths"]["/playlists/{playlistID}/items"]["delete"] - target: $["paths"]["/playlists/{playlistID}/items"]["delete"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: clearPlaylistContents label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1303,8 +1303,8 @@ actions:
- target: $["paths"]["/playlists/{playlistID}/items"]["get"] - target: $["paths"]["/playlists/{playlistID}/items"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getPlaylistContents label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { GetPlaylistContentsQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; import { GetPlaylistContentsQueryParamType } from "@lukehagar/plexjs/sdk/models/operations";
@@ -1324,8 +1324,8 @@ actions:
- target: $["paths"]["/playlists/{playlistID}/items"]["put"] - target: $["paths"]["/playlists/{playlistID}/items"]["put"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: addPlaylistContents label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1344,8 +1344,8 @@ actions:
- target: $["paths"]["/resources"]["get"] - target: $["paths"]["/resources"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-server-resources label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1364,8 +1364,8 @@ actions:
- target: $["paths"]["/search"]["get"] - target: $["paths"]["/search"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getSearchResults label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1384,8 +1384,8 @@ actions:
- target: $["paths"]["/security/resources"]["get"] - target: $["paths"]["/security/resources"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getSourceConnectionInformation label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1404,8 +1404,8 @@ actions:
- target: $["paths"]["/security/token"]["get"] - target: $["paths"]["/security/token"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getTransientToken label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { GetTransientTokenQueryParamType, Scope } from "@lukehagar/plexjs/sdk/models/operations"; import { GetTransientTokenQueryParamType, Scope } from "@lukehagar/plexjs/sdk/models/operations";
@@ -1425,8 +1425,8 @@ actions:
- target: $["paths"]["/servers"]["get"] - target: $["paths"]["/servers"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getServerList label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1445,8 +1445,8 @@ actions:
- target: $["paths"]["/statistics/bandwidth"]["get"] - target: $["paths"]["/statistics/bandwidth"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getBandwidthStatistics label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1465,8 +1465,8 @@ actions:
- target: $["paths"]["/statistics/media"]["get"] - target: $["paths"]["/statistics/media"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getStatistics label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1485,8 +1485,8 @@ actions:
- target: $["paths"]["/statistics/resources"]["get"] - target: $["paths"]["/statistics/resources"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getResourcesStatistics label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1505,8 +1505,8 @@ actions:
- target: $["paths"]["/status/sessions"]["get"] - target: $["paths"]["/status/sessions"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getSessions label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1525,8 +1525,8 @@ actions:
- target: $["paths"]["/status/sessions/history/all"]["get"] - target: $["paths"]["/status/sessions/history/all"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getSessionHistory label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1545,8 +1545,8 @@ actions:
- target: $["paths"]["/transcode/sessions"]["get"] - target: $["paths"]["/transcode/sessions"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getTranscodeSessions label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1565,8 +1565,8 @@ actions:
- target: $["paths"]["/transcode/sessions/{sessionKey}"]["delete"] - target: $["paths"]["/transcode/sessions/{sessionKey}"]["delete"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: stopTranscodeSession label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1585,8 +1585,8 @@ actions:
- target: $["paths"]["/updater/apply"]["put"] - target: $["paths"]["/updater/apply"]["put"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: applyUpdates label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { Skip, Tonight } from "@lukehagar/plexjs/sdk/models/operations"; import { Skip, Tonight } from "@lukehagar/plexjs/sdk/models/operations";
@@ -1606,8 +1606,8 @@ actions:
- target: $["paths"]["/updater/check"]["put"] - target: $["paths"]["/updater/check"]["put"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: checkForUpdates label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { Download } from "@lukehagar/plexjs/sdk/models/operations"; import { Download } from "@lukehagar/plexjs/sdk/models/operations";
@@ -1627,8 +1627,8 @@ actions:
- target: $["paths"]["/updater/status"]["get"] - target: $["paths"]["/updater/status"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getUpdateStatus label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1647,8 +1647,8 @@ actions:
- target: $["paths"]["/user"]["get"] - target: $["paths"]["/user"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: getTokenDetails label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1667,8 +1667,8 @@ actions:
- target: $["paths"]["/users"]["get"] - target: $["paths"]["/users"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: get-users label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1699,8 +1699,8 @@ actions:
- target: $["paths"]["/users/signin"]["post"] - target: $["paths"]["/users/signin"]["post"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: post-users-sign-in-data label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -1728,8 +1728,8 @@ actions:
- target: $["paths"]["/video/:/transcode/universal/start.mpd"]["get"] - target: $["paths"]["/video/:/transcode/universal/start.mpd"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: TypeScript
label: startUniversalTranscode label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";

View File

@@ -2,7 +2,7 @@
{ {
"name": "@lukehagar/plexjs", "name": "@lukehagar/plexjs",
"version": "0.35.1", "version": "0.35.2",
"exports": { "exports": {
".": "./src/index.ts", ".": "./src/index.ts",
"./sdk/models/errors": "./src/sdk/models/errors/index.ts", "./sdk/models/errors": "./src/sdk/models/errors/index.ts",

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "@lukehagar/plexjs", "name": "@lukehagar/plexjs",
"version": "0.35.1", "version": "0.35.2",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@lukehagar/plexjs", "name": "@lukehagar/plexjs",
"version": "0.35.1", "version": "0.35.2",
"devDependencies": { "devDependencies": {
"@eslint/js": "^9.19.0", "@eslint/js": "^9.19.0",
"eslint": "^9.19.0", "eslint": "^9.19.0",

View File

@@ -1,6 +1,6 @@
{ {
"name": "@lukehagar/plexjs", "name": "@lukehagar/plexjs",
"version": "0.35.1", "version": "0.35.2",
"author": "LukeHagar", "author": "LukeHagar",
"main": "./index.js", "main": "./index.js",
"sideEffects": false, "sideEffects": false,

View File

@@ -9,7 +9,7 @@ import { SecurityState } from "../lib/security.js";
export type HookContext = { export type HookContext = {
baseURL: string | URL; baseURL: string | URL;
operationID: string; operationID: string;
oAuth2Scopes?: string[]; oAuth2Scopes: string[] | null;
securitySource?: any | (() => Promise<any>); securitySource?: any | (() => Promise<any>);
retryConfig: RetryConfig; retryConfig: RetryConfig;
resolvedSecurity: SecurityState | null; resolvedSecurity: SecurityState | null;

View File

@@ -90,7 +90,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
export const SDK_METADATA = { export const SDK_METADATA = {
language: "typescript", language: "typescript",
openapiDocVersion: "0.0.3", openapiDocVersion: "0.0.3",
sdkVersion: "0.35.1", sdkVersion: "0.35.2",
genVersion: "2.545.4", genVersion: "2.563.1",
userAgent: "speakeasy-sdk/typescript 0.35.1 2.545.4 0.0.3 @lukehagar/plexjs", userAgent: "speakeasy-sdk/typescript 0.35.2 2.563.1 0.0.3 @lukehagar/plexjs",
} as const; } as const;

View File

@@ -191,14 +191,9 @@ export class ClientSDK {
if (conf.body instanceof ReadableStream) { if (conf.body instanceof ReadableStream) {
if (!fetchOptions) { if (!fetchOptions) {
fetchOptions = { fetchOptions = {};
// @ts-expect-error see https://github.com/node-fetch/node-fetch/issues/1769
duplex: "half",
};
} else {
// @ts-expect-error see https://github.com/node-fetch/node-fetch/issues/1769
fetchOptions.duplex = "half";
} }
Object.assign(fetchOptions, { duplex: "half" });
} }
let input; let input;

View File

@@ -3,6 +3,7 @@
*/ */
import * as shared from "../sdk/models/shared/index.js"; import * as shared from "../sdk/models/shared/index.js";
type OAuth2PasswordFlow = { type OAuth2PasswordFlow = {
username: string; username: string;
password?: string | undefined; password?: string | undefined;
@@ -84,7 +85,9 @@ type SecurityInputOAuth2ClientCredentials = {
value: value:
| { clientID?: string | undefined; clientSecret?: string | undefined } | { clientID?: string | undefined; clientSecret?: string | undefined }
| null | null
| string
| undefined; | undefined;
fieldName?: string;
}; };
type SecurityInputOAuth2PasswordCredentials = { type SecurityInputOAuth2PasswordCredentials = {
@@ -93,13 +96,13 @@ type SecurityInputOAuth2PasswordCredentials = {
| string | string
| null | null
| undefined; | undefined;
fieldName: string; fieldName?: string;
}; };
type SecurityInputCustom = { type SecurityInputCustom = {
type: "http:custom"; type: "http:custom";
value: any | null | undefined; value: any | null | undefined;
fieldName: string; fieldName?: string;
}; };
export type SecurityInput = export type SecurityInput =
@@ -136,6 +139,9 @@ export function resolveSecurity(
typeof o.value === "string" && !!o.value typeof o.value === "string" && !!o.value
); );
} else if (o.type === "oauth2:client_credentials") { } else if (o.type === "oauth2:client_credentials") {
if (typeof o.value == "string") {
return !!o.value;
}
return o.value.clientID != null || o.value.clientSecret != null; return o.value.clientID != null || o.value.clientSecret != null;
} else if (typeof o.value === "string") { } else if (typeof o.value === "string") {
return !!o.value; return !!o.value;
@@ -224,7 +230,9 @@ function applyBearer(
value = `Bearer ${value}`; value = `Bearer ${value}`;
} }
state.headers[spec.fieldName] = value; if (spec.fieldName !== undefined) {
state.headers[spec.fieldName] = value;
}
} }
export function resolveGlobalSecurity( export function resolveGlobalSecurity(