@@ -110,7 +110,6 @@ public async Task<User> SignInAsync(string username, string password)
110110 /// <inheritdoc/>
111111 public async Task < PlexModels . Account . PlexAccount > GetPlexHomeAccountAsync ( string authToken , string userUuid )
112112 {
113-
114113 var apiRequest =
115114 new ApiRequestBuilder ( $ "https://plex.tv/api/v2/home/users/{ userUuid } /switch.json", string . Empty , HttpMethod . Post )
116115 . AddRequestHeaders ( ClientUtilities . GetClientIdentifierHeader ( this . clientOptions . ClientId ) )
@@ -425,5 +424,42 @@ public async Task<List<SharedItemContainer>> GetSharedItems(string authToken)
425424
426425 return items ;
427426 }
427+
428+ /// <inheritdoc/>
429+ public async Task RemoveSharedItem ( string authToken , int sharedItemId )
430+ {
431+ var apiRequest =
432+ new ApiRequestBuilder ( $ "https://plex.tv/api/v2/shared_sources/{ sharedItemId } ", string . Empty ,
433+ HttpMethod . Delete )
434+ . AddPlexToken ( authToken )
435+ . AddRequestHeaders ( ClientUtilities . GetClientMetaHeaders ( this . clientOptions ) )
436+ . AddRequestHeaders ( ClientUtilities . GetClientIdentifierHeader ( this . clientOptions . ClientId ) )
437+ . AcceptJson ( )
438+ . Build ( ) ;
439+
440+ await this . apiService . InvokeApiAsync ( apiRequest ) ;
441+ }
442+
443+ /// <inheritdoc/>
444+ public async Task AddSharedItems ( string authToken , int sharedUserId , List < SharedItemModelRequest > sharedItems )
445+ {
446+ var queryParams =
447+ new Dictionary < string , string >
448+ {
449+ { "invitedId" , sharedUserId . ToString ( ) } ,
450+ { "items" , System . Text . Json . JsonSerializer . Serialize ( sharedItems ) }
451+ } ;
452+
453+ var apiRequest =
454+ new ApiRequestBuilder ( $ "https://plex.tv/api/v2/shared_sources", string . Empty ,
455+ HttpMethod . Post )
456+ . AddPlexToken ( authToken )
457+ . AddRequestHeaders ( ClientUtilities . GetClientMetaHeaders ( this . clientOptions ) )
458+ . AddRequestHeaders ( ClientUtilities . GetClientIdentifierHeader ( this . clientOptions . ClientId ) )
459+ . AcceptJson ( )
460+ . Build ( ) ;
461+
462+ await this . apiService . InvokeApiAsync ( apiRequest ) ;
463+ }
428464 }
429465}
0 commit comments