## Go SDK Changes:

* `PlexApi.LibraryPlaylists.AddPlaylistItems()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Hubs.GetMetadataHubs()`: 
  *  `request.Request.OnlyTransient` **Changed**
  *  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LibraryCollections.MoveCollectionItem()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LibraryCollections.DeleteCollectionItem()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LibraryCollections.AddCollectionItems()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Content.GetSonicallySimilar()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Butler.StopTask()`:  `request.Request` **Changed** **Breaking** ⚠️
* `PlexApi.Butler.StartTask()`:  `request.Request` **Changed** **Breaking** ⚠️
* `PlexApi.Content.GetSonicPath()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.DownloadQueue.GetItemDecision()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Hubs.GetAllHubs()`: 
  *  `request.Request.OnlyTransient` **Changed**
  *  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Hubs.GetContinueWatching()`:  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Hubs.GetPromotedHubs()`:  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Content.GetAllLeaves()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Hubs.GetPostplayHubs()`: 
  *  `request.Request.OnlyTransient` **Changed**
  *  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Hubs.GetRelatedHubs()`: 
  *  `request.Request.OnlyTransient` **Changed**
  *  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Hubs.GetSectionHubs()`: 
  *  `request.Request.OnlyTransient` **Changed**
  *  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Content.ListContent()`: 
  *  `request.Request` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Content.GetAlbums()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Search.SearchHubs()`:  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Search.VoiceSearchHubs()`: 
  *  `request.Request.Type` **Changed** **Breaking** ⚠️
  *  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetLibraryItems()`: 
  *  `request.Request.MediaQuery` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.IngestTransientItem()`: 
  *  `request.Request` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetLibraryMatches()`: 
  *  `request.Request` **Changed** **Breaking** ⚠️
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Content.GetMetadataItem()`: 
  *  `request.Request` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetSections()`:  `response.MediaContainer.Directory.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.AddSection()`: 
  *  `request.Request` **Changed**
  *  `response.MediaContainer.Directory.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetTags()`: 
  *  `request.Request.Type` **Changed** **Breaking** ⚠️
* `PlexApi.Content.GetCollectionItems()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetAllItemLeaves()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Status.ListSessions()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.PlayQueue.MovePlayQueueItem()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetExtras()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.PlayQueue.DeletePlayQueueItem()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.PlayQueue.Unshuffle()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.ListMatches()`: 
  *  `request.Request.Manual` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.ListSonicallySimilar()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.PlayQueue.ResetPlayQueue()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetRelatedItems()`:  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.ListSimilar()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.PlayQueue.ClearPlayQueue()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetItemTree()`:  `response.MediaContainer.MetadataItem.[]` **Changed** **Breaking** ⚠️
* `PlexApi.PlayQueue.AddToPlayQueue()`: 
  *  `request.Request.Next` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.PlayQueue.GetPlayQueue()`: 
  *  `request.Request` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LibraryPlaylists.MovePlaylistItem()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetPerson()`:  `response.MediaContainer.Directory.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.ListPersonMedia()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LibraryPlaylists.GetPlaylistGeneratorItems()`:  `response.MediaContainer.Metadata` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetLibraryDetails()`: 
  *  `request.Request.IncludeDetails` **Changed**
  *  `response.MediaContainer.Directory.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LibraryPlaylists.ModifyPlaylistGenerator()`: 
  *  `request.Request.Item` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.Autocomplete()`: 
  *  `request.Request.MediaQuery` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetCollections()`: 
  *  `request.Request.MediaQuery` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetCommon()`: 
  *  `request.Request.MediaQuery` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LibraryPlaylists.DeletePlaylistItem()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LibraryPlaylists.ClearPlaylistItems()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.PlayQueue.Shuffle()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LibraryPlaylists.CreatePlaylist()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Playlist.GetPlaylistItems()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Playlist.GetPlaylist()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Collections.CreateCollection()`: 
  *  `request.Request.Type` **Changed** **Breaking** ⚠️
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.DvRs.TuneChannel()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LiveTv.GetSessions()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LiveTv.GetLiveTvSession()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Playlist.ListPlaylists()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Subscriptions.GetAllSubscriptions()`: 
  *  `request.Request` **Changed**
  *  `response.MediaContainer.MediaSubscription.[].MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️
* `PlexApi.Subscriptions.CreateSubscription()`:  `response.MediaContainer.MediaSubscription.[].MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️
* `PlexApi.Subscriptions.GetScheduledRecordings()`:  `response.MediaContainer.MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️
* `PlexApi.Subscriptions.GetTemplate()`:  `response.MediaContainer.SubscriptionTemplate.[].MediaSubscription.[].MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️
* `PlexApi.Subscriptions.GetSubscription()`: 
  *  `request.Request` **Changed**
  *  `response.MediaContainer.MediaSubscription.[].MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️
* `PlexApi.Subscriptions.EditSubscriptionPreferences()`:  `response.MediaContainer.MediaSubscription.[].MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️
* `PlexApi.Subscriptions.ReorderSubscription()`:  `response.MediaContainer.MediaSubscription.[].MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️
* `PlexApi.Transcoder.MakeDecision()`: 
  *  `request.Request` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.RefreshItemsMetadata()`: 
  *  `request.Request.MarkUpdated` **Changed**
* `PlexApi.Authentication.Post-Users-Sign-In-Data()`: **Added**
* `PlexApi.Transcoder.StartTranscodeSession()`:  `request.Request` **Changed**
* `PlexApi.Devices.ModifyDevice()`: 
  *  `request.Request.Enabled` **Changed**
* `PlexApi.Library.GetMediaPart()`: 
  *  `request.Request.Download` **Changed**
* `PlexApi.Library.DetectIntros()`: 
  *  `request.Request.Force` **Changed**
* `PlexApi.Library.RefreshSection()`: 
  *  `request.Request.Force` **Changed**
* `PlexApi.LibraryPlaylists.UploadPlaylist()`: 
  *  `request.Request.Force` **Changed**
* `PlexApi.Library.DeleteMediaItem()`: 
  *  `request.Request.Proxy` **Changed**
* `PlexApi.Authentication.GetTokenDetails()`: **Added**
* `PlexApi.Library.GetFirstCharacters()`: 
  *  `request.Request.MediaQuery` **Changed**
* `PlexApi.Library.UpdateItems()`: 
  *  `request.Request.Field.locked` **Changed**
* `PlexApi.Library.DeleteLibrarySection()`: 
  *  `request.Request.Async` **Changed**
* `PlexApi.Library.SetStreamSelection()`: 
  *  `request.Request.AllParts` **Changed**
* `PlexApi.PlayQueue.CreatePlayQueue()`:  `request.Request` **Changed**
* `PlexApi.Library.GetAugmentationStatus()`: 
  *  `request.Request.Wait` **Changed**
* `PlexApi.Library.DetectVoiceActivity()`:  `request.Request` **Changed**
* `PlexApi.Transcoder.TranscodeImage()`:  `request.Request` **Changed**
* `PlexApi.Transcoder.TranscodeSubtitles()`:  `request.Request` **Changed**
* `PlexApi.Library.AddSubtitles()`:  `request.Request` **Changed**
* `PlexApi.Library.GetStream()`: 
  *  `request.Request.AutoAdjustSubtitle` **Changed**
* `PlexApi.Library.StartBifGeneration()`: 
  *  `request.Request.Force` **Changed**
* `PlexApi.Library.DetectCredits()`:  `request.Request` **Changed**
* `PlexApi.UltraBlur.GetImage()`: 
  *  `request.Request.Noise` **Changed**
* `PlexApi.Library.GenerateThumbs()`: 
  *  `request.Request.Force` **Changed**
* `PlexApi.Updater.ApplyUpdates()`:  `request.Request` **Changed**
* `PlexApi.Updater.CheckUpdates()`: 
  *  `request.Request.Download` **Changed**
* `PlexApi.Library.DeleteMetadataItem()`: 
  *  `request.Request.Proxy` **Changed**
* `PlexApi.Library.OptimizeDatabase()`: 
  *  `request.Request.Async` **Changed**
* `PlexApi.Hubs.UpdateHubVisibility()`:  `request.Request` **Changed**
* `PlexApi.Hubs.CreateCustomHub()`:  `request.Request` **Changed**
* `PlexApi.Library.GetSectionImage()`: 
  *  `request.Request.MediaQuery` **Changed**
* `PlexApi.DownloadQueue.AddDownloadQueueItems()`:  `request.Request` **Changed**
* `PlexApi.Timeline.Report()`:  `request.Request` **Changed**
* `PlexApi.General.GetSourceConnectionInformation()`: 
  *  `request.Request.Refresh` **Changed**
* `PlexApi.Plex.Get-Server-Resources()`: **Added**
* `PlexApi.Users.Get-Users()`: **Added**
This commit is contained in:
speakeasybot
2025-12-01 00:15:28 +00:00
parent 3ca57c37e9
commit 3ae6d27c3c
273 changed files with 11257 additions and 2531 deletions

View File

@@ -123,38 +123,38 @@ func (s *StartTaskGlobals) GetMarketplace() *string {
return s.Marketplace
}
// PathParamTask - The task name
type PathParamTask string
// PathParamButlerTask - The task name
type PathParamButlerTask string
const (
PathParamTaskAutomaticUpdates PathParamTask = "AutomaticUpdates"
PathParamTaskBackupDatabase PathParamTask = "BackupDatabase"
PathParamTaskButlerTaskGenerateAdMarkers PathParamTask = "ButlerTaskGenerateAdMarkers"
PathParamTaskButlerTaskGenerateCreditsMarkers PathParamTask = "ButlerTaskGenerateCreditsMarkers"
PathParamTaskButlerTaskGenerateIntroMarkers PathParamTask = "ButlerTaskGenerateIntroMarkers"
PathParamTaskButlerTaskGenerateVoiceActivity PathParamTask = "ButlerTaskGenerateVoiceActivity"
PathParamTaskCleanOldBundles PathParamTask = "CleanOldBundles"
PathParamTaskCleanOldCacheFiles PathParamTask = "CleanOldCacheFiles"
PathParamTaskDeepMediaAnalysis PathParamTask = "DeepMediaAnalysis"
PathParamTaskGarbageCollectBlobs PathParamTask = "GarbageCollectBlobs"
PathParamTaskGarbageCollectLibraryMedia PathParamTask = "GarbageCollectLibraryMedia"
PathParamTaskGenerateBlurHashes PathParamTask = "GenerateBlurHashes"
PathParamTaskGenerateChapterThumbs PathParamTask = "GenerateChapterThumbs"
PathParamTaskGenerateMediaIndexFiles PathParamTask = "GenerateMediaIndexFiles"
PathParamTaskLoudnessAnalysis PathParamTask = "LoudnessAnalysis"
PathParamTaskMusicAnalysis PathParamTask = "MusicAnalysis"
PathParamTaskOptimizeDatabase PathParamTask = "OptimizeDatabase"
PathParamTaskRefreshEpgGuides PathParamTask = "RefreshEpgGuides"
PathParamTaskRefreshLibraries PathParamTask = "RefreshLibraries"
PathParamTaskRefreshLocalMedia PathParamTask = "RefreshLocalMedia"
PathParamTaskRefreshPeriodicMetadata PathParamTask = "RefreshPeriodicMetadata"
PathParamTaskUpgradeMediaAnalysis PathParamTask = "UpgradeMediaAnalysis"
PathParamButlerTaskAutomaticUpdates PathParamButlerTask = "AutomaticUpdates"
PathParamButlerTaskBackupDatabase PathParamButlerTask = "BackupDatabase"
PathParamButlerTaskButlerTaskGenerateAdMarkers PathParamButlerTask = "ButlerTaskGenerateAdMarkers"
PathParamButlerTaskButlerTaskGenerateCreditsMarkers PathParamButlerTask = "ButlerTaskGenerateCreditsMarkers"
PathParamButlerTaskButlerTaskGenerateIntroMarkers PathParamButlerTask = "ButlerTaskGenerateIntroMarkers"
PathParamButlerTaskButlerTaskGenerateVoiceActivity PathParamButlerTask = "ButlerTaskGenerateVoiceActivity"
PathParamButlerTaskCleanOldBundles PathParamButlerTask = "CleanOldBundles"
PathParamButlerTaskCleanOldCacheFiles PathParamButlerTask = "CleanOldCacheFiles"
PathParamButlerTaskDeepMediaAnalysis PathParamButlerTask = "DeepMediaAnalysis"
PathParamButlerTaskGarbageCollectBlobs PathParamButlerTask = "GarbageCollectBlobs"
PathParamButlerTaskGarbageCollectLibraryMedia PathParamButlerTask = "GarbageCollectLibraryMedia"
PathParamButlerTaskGenerateBlurHashes PathParamButlerTask = "GenerateBlurHashes"
PathParamButlerTaskGenerateChapterThumbs PathParamButlerTask = "GenerateChapterThumbs"
PathParamButlerTaskGenerateMediaIndexFiles PathParamButlerTask = "GenerateMediaIndexFiles"
PathParamButlerTaskLoudnessAnalysis PathParamButlerTask = "LoudnessAnalysis"
PathParamButlerTaskMusicAnalysis PathParamButlerTask = "MusicAnalysis"
PathParamButlerTaskOptimizeDatabase PathParamButlerTask = "OptimizeDatabase"
PathParamButlerTaskRefreshEpgGuides PathParamButlerTask = "RefreshEpgGuides"
PathParamButlerTaskRefreshLibraries PathParamButlerTask = "RefreshLibraries"
PathParamButlerTaskRefreshLocalMedia PathParamButlerTask = "RefreshLocalMedia"
PathParamButlerTaskRefreshPeriodicMetadata PathParamButlerTask = "RefreshPeriodicMetadata"
PathParamButlerTaskUpgradeMediaAnalysis PathParamButlerTask = "UpgradeMediaAnalysis"
)
func (e PathParamTask) ToPointer() *PathParamTask {
func (e PathParamButlerTask) ToPointer() *PathParamButlerTask {
return &e
}
func (e *PathParamTask) UnmarshalJSON(data []byte) error {
func (e *PathParamButlerTask) UnmarshalJSON(data []byte) error {
var v string
if err := json.Unmarshal(data, &v); err != nil {
return err
@@ -203,10 +203,10 @@ func (e *PathParamTask) UnmarshalJSON(data []byte) error {
case "RefreshPeriodicMetadata":
fallthrough
case "UpgradeMediaAnalysis":
*e = PathParamTask(v)
*e = PathParamButlerTask(v)
return nil
default:
return fmt.Errorf("invalid value for PathParamTask: %v", v)
return fmt.Errorf("invalid value for PathParamButlerTask: %v", v)
}
}
@@ -234,7 +234,7 @@ type StartTaskRequest struct {
// The marketplace on which the client application is distributed
Marketplace *string `header:"style=simple,explode=false,name=X-Plex-Marketplace"`
// The task name
Task PathParamTask `pathParam:"style=simple,explode=false,name=task"`
ButlerTask PathParamButlerTask `pathParam:"style=simple,explode=false,name=butlerTask"`
}
func (s StartTaskRequest) MarshalJSON() ([]byte, error) {
@@ -242,7 +242,7 @@ func (s StartTaskRequest) MarshalJSON() ([]byte, error) {
}
func (s *StartTaskRequest) UnmarshalJSON(data []byte) error {
if err := utils.UnmarshalJSON(data, &s, "", false, []string{"task"}); err != nil {
if err := utils.UnmarshalJSON(data, &s, "", false, []string{"butlerTask"}); err != nil {
return err
}
return nil
@@ -325,11 +325,11 @@ func (s *StartTaskRequest) GetMarketplace() *string {
return s.Marketplace
}
func (s *StartTaskRequest) GetTask() PathParamTask {
func (s *StartTaskRequest) GetButlerTask() PathParamButlerTask {
if s == nil {
return PathParamTask("")
return PathParamButlerTask("")
}
return s.Task
return s.ButlerTask
}
type StartTaskResponse struct {