Compare commits

...

2 Commits

Author SHA1 Message Date
speakeasybot
70d2e2a152 ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.148.0 2024-01-20 03:10:30 +00:00
speakeasybot
89e9047e5b ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.147.0 2024-01-19 17:28:27 +00:00
26 changed files with 937 additions and 23 deletions

View File

@@ -1,12 +1,12 @@
lockVersion: 2.0.0 lockVersion: 2.0.0
id: dfa99515-01c0-42eb-9be5-ee212fd03eb3 id: dfa99515-01c0-42eb-9be5-ee212fd03eb3
management: management:
docChecksum: 45c73686e6dbe8c29b7e2857b6194ccf docChecksum: 1e8e82037a237e1d1467721fbd2c7ab0
docVersion: 0.0.3 docVersion: 0.0.3
speakeasyVersion: internal speakeasyVersion: internal
generationVersion: 2.237.2 generationVersion: 2.237.3
releaseVersion: 0.0.4 releaseVersion: 0.1.0
configChecksum: 270cef9347fac851edf7560dfe79d63c configChecksum: 73d3c85671a6bde12c0c56fe7e1dc772
repoURL: https://github.com/LukeHagar/plexgo.git repoURL: https://github.com/LukeHagar/plexgo.git
repoSubDirectory: . repoSubDirectory: .
installationURL: https://github.com/LukeHagar/plexgo installationURL: https://github.com/LukeHagar/plexgo
@@ -19,6 +19,7 @@ features:
globalSecurity: 2.82.4 globalSecurity: 2.82.4
globalServerURLs: 2.82.1 globalServerURLs: 2.82.1
nameOverrides: 2.81.1 nameOverrides: 2.81.1
unions: 2.85.2
generatedFiles: generatedFiles:
- server.go - server.go
- media.go - media.go
@@ -173,6 +174,11 @@ generatedFiles:
- docs/models/operations/mediacontainer.md - docs/models/operations/mediacontainer.md
- docs/models/operations/getservercapabilitiesresponsebody.md - docs/models/operations/getservercapabilitiesresponsebody.md
- docs/models/operations/getservercapabilitiesresponse.md - docs/models/operations/getservercapabilitiesresponse.md
- docs/models/operations/two.md
- docs/models/operations/one.md
- docs/models/operations/setting.md
- docs/models/operations/getserverpreferencesmediacontainer.md
- docs/models/operations/getserverpreferencesresponsebody.md
- docs/models/operations/getserverpreferencesresponse.md - docs/models/operations/getserverpreferencesresponse.md
- docs/models/operations/server.md - docs/models/operations/server.md
- docs/models/operations/getavailableclientsmediacontainer.md - docs/models/operations/getavailableclientsmediacontainer.md
@@ -264,6 +270,15 @@ generatedFiles:
- docs/models/operations/getlibrariesresponse.md - docs/models/operations/getlibrariesresponse.md
- docs/models/operations/includedetails.md - docs/models/operations/includedetails.md
- docs/models/operations/getlibraryrequest.md - docs/models/operations/getlibraryrequest.md
- docs/models/operations/getlibrarydirectory.md
- docs/models/operations/filter.md
- docs/models/operations/sort.md
- docs/models/operations/field.md
- docs/models/operations/getlibrarytype.md
- docs/models/operations/operator.md
- docs/models/operations/fieldtype.md
- docs/models/operations/getlibrarymediacontainer.md
- docs/models/operations/getlibraryresponsebody.md
- docs/models/operations/getlibraryresponse.md - docs/models/operations/getlibraryresponse.md
- docs/models/operations/deletelibraryrequest.md - docs/models/operations/deletelibraryrequest.md
- docs/models/operations/deletelibraryresponse.md - docs/models/operations/deletelibraryresponse.md

View File

@@ -39,3 +39,23 @@ Based on:
- [go v0.0.4] . - [go v0.0.4] .
### Releases ### Releases
- [Go v0.0.4] https://github.com/LukeHagar/plexgo/releases/tag/v0.0.4 - . - [Go v0.0.4] https://github.com/LukeHagar/plexgo/releases/tag/v0.0.4 - .
## 2024-01-19 17:28:15
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.147.0 (2.237.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.0.5] .
### Releases
- [Go v0.0.5] https://github.com/LukeHagar/plexgo/releases/tag/v0.0.5 - .
## 2024-01-20 03:10:19
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.148.0 (2.237.3) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.1.0] .
### Releases
- [Go v0.1.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.1.0 - .

View File

@@ -0,0 +1,11 @@
# Field
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Key` | **string* | :heavy_minus_sign: | N/A | label |
| `Title` | **string* | :heavy_minus_sign: | N/A | Label |
| `Type` | **string* | :heavy_minus_sign: | N/A | tag |
| `SubType` | **string* | :heavy_minus_sign: | N/A | bitrate |

View File

@@ -0,0 +1,9 @@
# FieldType
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| `Type` | **string* | :heavy_minus_sign: | N/A | resolution |
| `Operator` | [][operations.Operator](../../models/operations/operator.md) | :heavy_minus_sign: | N/A | [{"key":"=","title":"is"}] |

View File

@@ -0,0 +1,12 @@
# Filter
## Fields
| Field | Type | Required | Description | Example |
| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- |
| `Filter` | **string* | :heavy_minus_sign: | N/A | label |
| `FilterType` | **string* | :heavy_minus_sign: | N/A | string |
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/sections/1/label |
| `Title` | **string* | :heavy_minus_sign: | N/A | Labels |
| `Type` | **string* | :heavy_minus_sign: | N/A | filter |

View File

@@ -0,0 +1,12 @@
# GetLibraryDirectory
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Key` | **string* | :heavy_minus_sign: | N/A | search?type=1 |
| `Title` | **string* | :heavy_minus_sign: | N/A | Search... |
| `Secondary` | **bool* | :heavy_minus_sign: | N/A | true |
| `Prompt` | **string* | :heavy_minus_sign: | N/A | Search Movies |
| `Search` | **bool* | :heavy_minus_sign: | N/A | true |

File diff suppressed because one or more lines are too long

View File

@@ -4,7 +4,8 @@
## Fields ## Fields
| Field | Type | Required | Description | | Field | Type | Required | Description |
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | | `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#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,14 @@
# GetLibraryType
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/sections/1/all?type=1 |
| `Type` | **string* | :heavy_minus_sign: | N/A | movie |
| `Title` | **string* | :heavy_minus_sign: | N/A | Movies |
| `Active` | **bool* | :heavy_minus_sign: | N/A | false |
| `Filter` | [][operations.Filter](../../models/operations/filter.md) | :heavy_minus_sign: | N/A | [{"filter":"label","filterType":"string","key":"/library/sections/1/label","title":"Labels","type":"filter"}] |
| `Sort` | [][operations.Sort](../../models/operations/sort.md) | :heavy_minus_sign: | N/A | [{"default":"asc","defaultDirection":"desc","descKey":"random:desc","firstCharacterKey":"/library/sections/1/firstCharacter","key":"random","title":"Randomly"}] |
| `Field` | [][operations.Field](../../models/operations/field.md) | :heavy_minus_sign: | N/A | [{"key":"label","subType":"bitrate","title":"Label","type":"tag"}] |

View File

@@ -0,0 +1,9 @@
# GetServerPreferencesMediaContainer
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Size` | **int* | :heavy_minus_sign: | N/A | 161 |
| `Setting` | [][operations.Setting](../../models/operations/setting.md) | :heavy_minus_sign: | N/A | [{"advanced":false,"default":"","group":"general","hidden":false,"id":"FriendlyName","label":"Friendly name","summary":"This name will be used to identify this media server to other computers on your network. If you leave it blank, your computer's name will be used instead.","type":"text","value":"Hera"},{"advanced":false,"default":3600,"enumValues":"900:every 15 minutes\|1800:every 30 minutes\|3600:hourly\|7200:every 2 hours\|21600:every 6 hours\|43200:every 12 hours\|86400:daily","group":"library","hidden":false,"id":"ScheduledLibraryUpdateInterval","label":"Library scan interval","summary":"","type":"int","value":3600}] |

View File

@@ -4,7 +4,8 @@
## Fields ## Fields
| Field | Type | Required | Description | | Field | Type | Required | Description |
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | | `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `Object` | [*operations.GetServerPreferencesResponseBody](../../models/operations/getserverpreferencesresponsebody.md) | :heavy_minus_sign: | Server Preferences |

View File

@@ -0,0 +1,10 @@
# GetServerPreferencesResponseBody
Server Preferences
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `MediaContainer` | [*operations.GetServerPreferencesMediaContainer](../../models/operations/getserverpreferencesmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,16 @@
# One
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ID` | **string* | :heavy_minus_sign: | N/A | FriendlyName |
| `Label` | **string* | :heavy_minus_sign: | N/A | Friendly name |
| `Summary` | **string* | :heavy_minus_sign: | N/A | This name will be used to identify this media server to other computers on your network. If you leave it blank, your computer's name will be used instead. |
| `Type` | **string* | :heavy_minus_sign: | N/A | text |
| `Default` | **string* | :heavy_minus_sign: | N/A | |
| `Value` | **string* | :heavy_minus_sign: | N/A | Hera |
| `Hidden` | **bool* | :heavy_minus_sign: | N/A | false |
| `Advanced` | **bool* | :heavy_minus_sign: | N/A | false |
| `Group` | **string* | :heavy_minus_sign: | N/A | general |

View File

@@ -0,0 +1,9 @@
# Operator
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Key` | **string* | :heavy_minus_sign: | N/A | = |
| `Title` | **string* | :heavy_minus_sign: | N/A | is |

View File

@@ -0,0 +1,17 @@
# Setting
## Supported Types
### One
```go
setting := operations.CreateSettingOne(operations.One{/* values here */})
```
### Two
```go
setting := operations.CreateSettingTwo(operations.Two{/* values here */})
```

View File

@@ -0,0 +1,13 @@
# Sort
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- |
| `Default` | **string* | :heavy_minus_sign: | N/A | asc |
| `DefaultDirection` | **string* | :heavy_minus_sign: | N/A | desc |
| `DescKey` | **string* | :heavy_minus_sign: | N/A | random:desc |
| `FirstCharacterKey` | **string* | :heavy_minus_sign: | N/A | /library/sections/1/firstCharacter |
| `Key` | **string* | :heavy_minus_sign: | N/A | random |
| `Title` | **string* | :heavy_minus_sign: | N/A | Randomly |

View File

@@ -0,0 +1,17 @@
# Two
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| `ID` | **string* | :heavy_minus_sign: | N/A | ScheduledLibraryUpdateInterval |
| `Label` | **string* | :heavy_minus_sign: | N/A | Library scan interval |
| `Summary` | **string* | :heavy_minus_sign: | N/A | |
| `Type` | **string* | :heavy_minus_sign: | N/A | int |
| `Default` | **int* | :heavy_minus_sign: | N/A | 3600 |
| `Value` | **int* | :heavy_minus_sign: | N/A | 3600 |
| `Hidden` | **bool* | :heavy_minus_sign: | N/A | false |
| `Advanced` | **bool* | :heavy_minus_sign: | N/A | false |
| `Group` | **string* | :heavy_minus_sign: | N/A | library |
| `EnumValues` | **string* | :heavy_minus_sign: | N/A | 900:every 15 minutes\|1800:every 30 minutes\|3600:hourly\|7200:every 2 hours\|21600:every 6 hours\|43200:every 12 hours\|86400:daily |

View File

@@ -214,7 +214,6 @@ import(
"github.com/LukeHagar/plexgo/models/operations" "github.com/LukeHagar/plexgo/models/operations"
"context" "context"
"log" "log"
"net/http"
) )
func main() { func main() {
@@ -233,7 +232,7 @@ func main() {
log.Fatal(err) log.Fatal(err)
} }
if res.StatusCode == http.StatusOK { if res.Object != nil {
// handle response // handle response
} }
} }

View File

@@ -79,7 +79,6 @@ import(
"github.com/LukeHagar/plexgo" "github.com/LukeHagar/plexgo"
"context" "context"
"log" "log"
"net/http"
) )
func main() { func main() {
@@ -93,7 +92,7 @@ func main() {
log.Fatal(err) log.Fatal(err)
} }
if res.StatusCode == http.StatusOK { if res.Object != nil {
// handle response // handle response
} }
} }

View File

@@ -8,7 +8,7 @@ generation:
fixes: fixes:
nameResolutionDec2023: false nameResolutionDec2023: false
go: go:
version: 0.0.4 version: 0.1.0
clientServerStatusCodesAsErrors: true clientServerStatusCodesAsErrors: true
flattenGlobalSecurity: true flattenGlobalSecurity: true
imports: imports:

View File

@@ -322,6 +322,17 @@ func (s *Library) GetLibrary(ctx context.Context, sectionID float64, includeDeta
httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
switch { switch {
case httpRes.StatusCode == 200: case httpRes.StatusCode == 200:
switch {
case utils.MatchContentType(contentType, `application/json`):
var out operations.GetLibraryResponseBody
if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
return nil, err
}
res.Object = &out
default:
return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
}
case httpRes.StatusCode == 400: case httpRes.StatusCode == 400:
fallthrough fallthrough
case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500:

View File

@@ -72,6 +72,410 @@ func (o *GetLibraryRequest) GetIncludeDetails() *IncludeDetails {
return o.IncludeDetails return o.IncludeDetails
} }
type GetLibraryDirectory struct {
Key *string `json:"key,omitempty"`
Title *string `json:"title,omitempty"`
Secondary *bool `json:"secondary,omitempty"`
Prompt *string `json:"prompt,omitempty"`
Search *bool `json:"search,omitempty"`
}
func (o *GetLibraryDirectory) GetKey() *string {
if o == nil {
return nil
}
return o.Key
}
func (o *GetLibraryDirectory) GetTitle() *string {
if o == nil {
return nil
}
return o.Title
}
func (o *GetLibraryDirectory) GetSecondary() *bool {
if o == nil {
return nil
}
return o.Secondary
}
func (o *GetLibraryDirectory) GetPrompt() *string {
if o == nil {
return nil
}
return o.Prompt
}
func (o *GetLibraryDirectory) GetSearch() *bool {
if o == nil {
return nil
}
return o.Search
}
type Filter struct {
Filter *string `json:"filter,omitempty"`
FilterType *string `json:"filterType,omitempty"`
Key *string `json:"key,omitempty"`
Title *string `json:"title,omitempty"`
Type *string `json:"type,omitempty"`
}
func (o *Filter) GetFilter() *string {
if o == nil {
return nil
}
return o.Filter
}
func (o *Filter) GetFilterType() *string {
if o == nil {
return nil
}
return o.FilterType
}
func (o *Filter) GetKey() *string {
if o == nil {
return nil
}
return o.Key
}
func (o *Filter) GetTitle() *string {
if o == nil {
return nil
}
return o.Title
}
func (o *Filter) GetType() *string {
if o == nil {
return nil
}
return o.Type
}
type Sort struct {
Default *string `json:"default,omitempty"`
DefaultDirection *string `json:"defaultDirection,omitempty"`
DescKey *string `json:"descKey,omitempty"`
FirstCharacterKey *string `json:"firstCharacterKey,omitempty"`
Key *string `json:"key,omitempty"`
Title *string `json:"title,omitempty"`
}
func (o *Sort) GetDefault() *string {
if o == nil {
return nil
}
return o.Default
}
func (o *Sort) GetDefaultDirection() *string {
if o == nil {
return nil
}
return o.DefaultDirection
}
func (o *Sort) GetDescKey() *string {
if o == nil {
return nil
}
return o.DescKey
}
func (o *Sort) GetFirstCharacterKey() *string {
if o == nil {
return nil
}
return o.FirstCharacterKey
}
func (o *Sort) GetKey() *string {
if o == nil {
return nil
}
return o.Key
}
func (o *Sort) GetTitle() *string {
if o == nil {
return nil
}
return o.Title
}
type Field struct {
Key *string `json:"key,omitempty"`
Title *string `json:"title,omitempty"`
Type *string `json:"type,omitempty"`
SubType *string `json:"subType,omitempty"`
}
func (o *Field) GetKey() *string {
if o == nil {
return nil
}
return o.Key
}
func (o *Field) GetTitle() *string {
if o == nil {
return nil
}
return o.Title
}
func (o *Field) GetType() *string {
if o == nil {
return nil
}
return o.Type
}
func (o *Field) GetSubType() *string {
if o == nil {
return nil
}
return o.SubType
}
type GetLibraryType struct {
Key *string `json:"key,omitempty"`
Type *string `json:"type,omitempty"`
Title *string `json:"title,omitempty"`
Active *bool `json:"active,omitempty"`
Filter []Filter `json:"Filter,omitempty"`
Sort []Sort `json:"Sort,omitempty"`
Field []Field `json:"Field,omitempty"`
}
func (o *GetLibraryType) GetKey() *string {
if o == nil {
return nil
}
return o.Key
}
func (o *GetLibraryType) GetType() *string {
if o == nil {
return nil
}
return o.Type
}
func (o *GetLibraryType) GetTitle() *string {
if o == nil {
return nil
}
return o.Title
}
func (o *GetLibraryType) GetActive() *bool {
if o == nil {
return nil
}
return o.Active
}
func (o *GetLibraryType) GetFilter() []Filter {
if o == nil {
return nil
}
return o.Filter
}
func (o *GetLibraryType) GetSort() []Sort {
if o == nil {
return nil
}
return o.Sort
}
func (o *GetLibraryType) GetField() []Field {
if o == nil {
return nil
}
return o.Field
}
type Operator struct {
Key *string `json:"key,omitempty"`
Title *string `json:"title,omitempty"`
}
func (o *Operator) GetKey() *string {
if o == nil {
return nil
}
return o.Key
}
func (o *Operator) GetTitle() *string {
if o == nil {
return nil
}
return o.Title
}
type FieldType struct {
Type *string `json:"type,omitempty"`
Operator []Operator `json:"Operator,omitempty"`
}
func (o *FieldType) GetType() *string {
if o == nil {
return nil
}
return o.Type
}
func (o *FieldType) GetOperator() []Operator {
if o == nil {
return nil
}
return o.Operator
}
type GetLibraryMediaContainer struct {
Size *int `json:"size,omitempty"`
AllowSync *bool `json:"allowSync,omitempty"`
Art *string `json:"art,omitempty"`
Content *string `json:"content,omitempty"`
Identifier *string `json:"identifier,omitempty"`
LibrarySectionID *int `json:"librarySectionID,omitempty"`
MediaTagPrefix *string `json:"mediaTagPrefix,omitempty"`
MediaTagVersion *int `json:"mediaTagVersion,omitempty"`
Thumb *string `json:"thumb,omitempty"`
Title1 *string `json:"title1,omitempty"`
ViewGroup *string `json:"viewGroup,omitempty"`
ViewMode *int `json:"viewMode,omitempty"`
Directory []GetLibraryDirectory `json:"Directory,omitempty"`
Type []GetLibraryType `json:"Type,omitempty"`
FieldType []FieldType `json:"FieldType,omitempty"`
}
func (o *GetLibraryMediaContainer) GetSize() *int {
if o == nil {
return nil
}
return o.Size
}
func (o *GetLibraryMediaContainer) GetAllowSync() *bool {
if o == nil {
return nil
}
return o.AllowSync
}
func (o *GetLibraryMediaContainer) GetArt() *string {
if o == nil {
return nil
}
return o.Art
}
func (o *GetLibraryMediaContainer) GetContent() *string {
if o == nil {
return nil
}
return o.Content
}
func (o *GetLibraryMediaContainer) GetIdentifier() *string {
if o == nil {
return nil
}
return o.Identifier
}
func (o *GetLibraryMediaContainer) GetLibrarySectionID() *int {
if o == nil {
return nil
}
return o.LibrarySectionID
}
func (o *GetLibraryMediaContainer) GetMediaTagPrefix() *string {
if o == nil {
return nil
}
return o.MediaTagPrefix
}
func (o *GetLibraryMediaContainer) GetMediaTagVersion() *int {
if o == nil {
return nil
}
return o.MediaTagVersion
}
func (o *GetLibraryMediaContainer) GetThumb() *string {
if o == nil {
return nil
}
return o.Thumb
}
func (o *GetLibraryMediaContainer) GetTitle1() *string {
if o == nil {
return nil
}
return o.Title1
}
func (o *GetLibraryMediaContainer) GetViewGroup() *string {
if o == nil {
return nil
}
return o.ViewGroup
}
func (o *GetLibraryMediaContainer) GetViewMode() *int {
if o == nil {
return nil
}
return o.ViewMode
}
func (o *GetLibraryMediaContainer) GetDirectory() []GetLibraryDirectory {
if o == nil {
return nil
}
return o.Directory
}
func (o *GetLibraryMediaContainer) GetType() []GetLibraryType {
if o == nil {
return nil
}
return o.Type
}
func (o *GetLibraryMediaContainer) GetFieldType() []FieldType {
if o == nil {
return nil
}
return o.FieldType
}
// GetLibraryResponseBody - The details of the library
type GetLibraryResponseBody struct {
MediaContainer *GetLibraryMediaContainer `json:"MediaContainer,omitempty"`
}
func (o *GetLibraryResponseBody) GetMediaContainer() *GetLibraryMediaContainer {
if o == nil {
return nil
}
return o.MediaContainer
}
type GetLibraryResponse struct { type GetLibraryResponse struct {
// HTTP response content type for this operation // HTTP response content type for this operation
ContentType string ContentType string
@@ -79,6 +483,8 @@ type GetLibraryResponse struct {
StatusCode int StatusCode int
// Raw HTTP response; suitable for custom response parsing // Raw HTTP response; suitable for custom response parsing
RawResponse *http.Response RawResponse *http.Response
// The details of the library
Object *GetLibraryResponseBody
} }
func (o *GetLibraryResponse) GetContentType() string { func (o *GetLibraryResponse) GetContentType() string {
@@ -101,3 +507,10 @@ func (o *GetLibraryResponse) GetRawResponse() *http.Response {
} }
return o.RawResponse return o.RawResponse
} }
func (o *GetLibraryResponse) GetObject() *GetLibraryResponseBody {
if o == nil {
return nil
}
return o.Object
}

View File

@@ -3,9 +3,263 @@
package operations package operations
import ( import (
"errors"
"github.com/LukeHagar/plexgo/internal/utils"
"net/http" "net/http"
) )
type Two struct {
ID *string `json:"id,omitempty"`
Label *string `json:"label,omitempty"`
Summary *string `json:"summary,omitempty"`
Type *string `json:"type,omitempty"`
Default *int `json:"default,omitempty"`
Value *int `json:"value,omitempty"`
Hidden *bool `json:"hidden,omitempty"`
Advanced *bool `json:"advanced,omitempty"`
Group *string `json:"group,omitempty"`
EnumValues *string `json:"enumValues,omitempty"`
}
func (o *Two) GetID() *string {
if o == nil {
return nil
}
return o.ID
}
func (o *Two) GetLabel() *string {
if o == nil {
return nil
}
return o.Label
}
func (o *Two) GetSummary() *string {
if o == nil {
return nil
}
return o.Summary
}
func (o *Two) GetType() *string {
if o == nil {
return nil
}
return o.Type
}
func (o *Two) GetDefault() *int {
if o == nil {
return nil
}
return o.Default
}
func (o *Two) GetValue() *int {
if o == nil {
return nil
}
return o.Value
}
func (o *Two) GetHidden() *bool {
if o == nil {
return nil
}
return o.Hidden
}
func (o *Two) GetAdvanced() *bool {
if o == nil {
return nil
}
return o.Advanced
}
func (o *Two) GetGroup() *string {
if o == nil {
return nil
}
return o.Group
}
func (o *Two) GetEnumValues() *string {
if o == nil {
return nil
}
return o.EnumValues
}
type One struct {
ID *string `json:"id,omitempty"`
Label *string `json:"label,omitempty"`
Summary *string `json:"summary,omitempty"`
Type *string `json:"type,omitempty"`
Default *string `json:"default,omitempty"`
Value *string `json:"value,omitempty"`
Hidden *bool `json:"hidden,omitempty"`
Advanced *bool `json:"advanced,omitempty"`
Group *string `json:"group,omitempty"`
}
func (o *One) GetID() *string {
if o == nil {
return nil
}
return o.ID
}
func (o *One) GetLabel() *string {
if o == nil {
return nil
}
return o.Label
}
func (o *One) GetSummary() *string {
if o == nil {
return nil
}
return o.Summary
}
func (o *One) GetType() *string {
if o == nil {
return nil
}
return o.Type
}
func (o *One) GetDefault() *string {
if o == nil {
return nil
}
return o.Default
}
func (o *One) GetValue() *string {
if o == nil {
return nil
}
return o.Value
}
func (o *One) GetHidden() *bool {
if o == nil {
return nil
}
return o.Hidden
}
func (o *One) GetAdvanced() *bool {
if o == nil {
return nil
}
return o.Advanced
}
func (o *One) GetGroup() *string {
if o == nil {
return nil
}
return o.Group
}
type SettingType string
const (
SettingTypeOne SettingType = "1"
SettingTypeTwo SettingType = "2"
)
type Setting struct {
One *One
Two *Two
Type SettingType
}
func CreateSettingOne(one One) Setting {
typ := SettingTypeOne
return Setting{
One: &one,
Type: typ,
}
}
func CreateSettingTwo(two Two) Setting {
typ := SettingTypeTwo
return Setting{
Two: &two,
Type: typ,
}
}
func (u *Setting) UnmarshalJSON(data []byte) error {
one := One{}
if err := utils.UnmarshalJSON(data, &one, "", true, true); err == nil {
u.One = &one
u.Type = SettingTypeOne
return nil
}
two := Two{}
if err := utils.UnmarshalJSON(data, &two, "", true, true); err == nil {
u.Two = &two
u.Type = SettingTypeTwo
return nil
}
return errors.New("could not unmarshal into supported union types")
}
func (u Setting) MarshalJSON() ([]byte, error) {
if u.One != nil {
return utils.MarshalJSON(u.One, "", true)
}
if u.Two != nil {
return utils.MarshalJSON(u.Two, "", true)
}
return nil, errors.New("could not marshal union type: all fields are null")
}
type GetServerPreferencesMediaContainer struct {
Size *int `json:"size,omitempty"`
Setting []Setting `json:"Setting,omitempty"`
}
func (o *GetServerPreferencesMediaContainer) GetSize() *int {
if o == nil {
return nil
}
return o.Size
}
func (o *GetServerPreferencesMediaContainer) GetSetting() []Setting {
if o == nil {
return nil
}
return o.Setting
}
// GetServerPreferencesResponseBody - Server Preferences
type GetServerPreferencesResponseBody struct {
MediaContainer *GetServerPreferencesMediaContainer `json:"MediaContainer,omitempty"`
}
func (o *GetServerPreferencesResponseBody) GetMediaContainer() *GetServerPreferencesMediaContainer {
if o == nil {
return nil
}
return o.MediaContainer
}
type GetServerPreferencesResponse struct { type GetServerPreferencesResponse struct {
// HTTP response content type for this operation // HTTP response content type for this operation
ContentType string ContentType string
@@ -13,6 +267,8 @@ type GetServerPreferencesResponse struct {
StatusCode int StatusCode int
// Raw HTTP response; suitable for custom response parsing // Raw HTTP response; suitable for custom response parsing
RawResponse *http.Response RawResponse *http.Response
// Server Preferences
Object *GetServerPreferencesResponseBody
} }
func (o *GetServerPreferencesResponse) GetContentType() string { func (o *GetServerPreferencesResponse) GetContentType() string {
@@ -35,3 +291,10 @@ func (o *GetServerPreferencesResponse) GetRawResponse() *http.Response {
} }
return o.RawResponse return o.RawResponse
} }
func (o *GetServerPreferencesResponse) GetObject() *GetServerPreferencesResponseBody {
if o == nil {
return nil
}
return o.Object
}

View File

@@ -251,9 +251,9 @@ func New(opts ...SDKOption) *PlexAPI {
sdkConfiguration: sdkConfiguration{ sdkConfiguration: sdkConfiguration{
Language: "go", Language: "go",
OpenAPIDocVersion: "0.0.3", OpenAPIDocVersion: "0.0.3",
SDKVersion: "0.0.4", SDKVersion: "0.1.0",
GenVersion: "2.237.2", GenVersion: "2.237.3",
UserAgent: "speakeasy-sdk/go 0.0.4 2.237.2 0.0.3 github.com/LukeHagar/plexgo", UserAgent: "speakeasy-sdk/go 0.1.0 2.237.3 0.0.3 github.com/LukeHagar/plexgo",
ServerDefaults: []map[string]string{ ServerDefaults: []map[string]string{
{ {
"protocol": "http", "protocol": "http",

View File

@@ -138,6 +138,17 @@ func (s *Server) GetServerPreferences(ctx context.Context) (*operations.GetServe
httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
switch { switch {
case httpRes.StatusCode == 200: case httpRes.StatusCode == 200:
switch {
case utils.MatchContentType(contentType, `application/json`):
var out operations.GetServerPreferencesResponseBody
if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
return nil, err
}
res.Object = &out
default:
return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
}
case httpRes.StatusCode == 400: case httpRes.StatusCode == 400:
fallthrough fallthrough
case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: