plex_ruby_sdk 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (714) hide show
  1. checksums.yaml +7 -0
  2. data/lib/plex_ruby_sdk/activities.rb +116 -0
  3. data/lib/plex_ruby_sdk/authentication.rb +221 -0
  4. data/lib/plex_ruby_sdk/butler.rb +243 -0
  5. data/lib/plex_ruby_sdk/hubs.rb +126 -0
  6. data/lib/plex_ruby_sdk/library.rb +692 -0
  7. data/lib/plex_ruby_sdk/log.rb +174 -0
  8. data/lib/plex_ruby_sdk/media.rb +250 -0
  9. data/lib/plex_ruby_sdk/models/operations/account.rb +45 -0
  10. data/lib/plex_ruby_sdk/models/operations/activity.rb +45 -0
  11. data/lib/plex_ruby_sdk/models/operations/addplaylistcontents_badrequest.rb +24 -0
  12. data/lib/plex_ruby_sdk/models/operations/addplaylistcontents_errors.rb +30 -0
  13. data/lib/plex_ruby_sdk/models/operations/addplaylistcontents_mediacontainer.rb +33 -0
  14. data/lib/plex_ruby_sdk/models/operations/addplaylistcontents_metadata.rb +60 -0
  15. data/lib/plex_ruby_sdk/models/operations/addplaylistcontents_playlists_errors.rb +30 -0
  16. data/lib/plex_ruby_sdk/models/operations/addplaylistcontents_request.rb +30 -0
  17. data/lib/plex_ruby_sdk/models/operations/addplaylistcontents_response.rb +39 -0
  18. data/lib/plex_ruby_sdk/models/operations/addplaylistcontents_responsebody.rb +24 -0
  19. data/lib/plex_ruby_sdk/models/operations/addplaylistcontents_unauthorized.rb +24 -0
  20. data/lib/plex_ruby_sdk/models/operations/applyupdates_badrequest.rb +24 -0
  21. data/lib/plex_ruby_sdk/models/operations/applyupdates_errors.rb +30 -0
  22. data/lib/plex_ruby_sdk/models/operations/applyupdates_request.rb +27 -0
  23. data/lib/plex_ruby_sdk/models/operations/applyupdates_response.rb +36 -0
  24. data/lib/plex_ruby_sdk/models/operations/applyupdates_unauthorized.rb +24 -0
  25. data/lib/plex_ruby_sdk/models/operations/applyupdates_updater_errors.rb +30 -0
  26. data/lib/plex_ruby_sdk/models/operations/autoselectsubtitle.rb +21 -0
  27. data/lib/plex_ruby_sdk/models/operations/billing.rb +30 -0
  28. data/lib/plex_ruby_sdk/models/operations/butlertask.rb +39 -0
  29. data/lib/plex_ruby_sdk/models/operations/butlertasks.rb +24 -0
  30. data/lib/plex_ruby_sdk/models/operations/cancelserveractivities_activities_errors.rb +30 -0
  31. data/lib/plex_ruby_sdk/models/operations/cancelserveractivities_badrequest.rb +24 -0
  32. data/lib/plex_ruby_sdk/models/operations/cancelserveractivities_errors.rb +30 -0
  33. data/lib/plex_ruby_sdk/models/operations/cancelserveractivities_request.rb +24 -0
  34. data/lib/plex_ruby_sdk/models/operations/cancelserveractivities_response.rb +36 -0
  35. data/lib/plex_ruby_sdk/models/operations/cancelserveractivities_unauthorized.rb +24 -0
  36. data/lib/plex_ruby_sdk/models/operations/checkforupdates_badrequest.rb +24 -0
  37. data/lib/plex_ruby_sdk/models/operations/checkforupdates_errors.rb +30 -0
  38. data/lib/plex_ruby_sdk/models/operations/checkforupdates_request.rb +24 -0
  39. data/lib/plex_ruby_sdk/models/operations/checkforupdates_response.rb +36 -0
  40. data/lib/plex_ruby_sdk/models/operations/checkforupdates_unauthorized.rb +24 -0
  41. data/lib/plex_ruby_sdk/models/operations/checkforupdates_updater_errors.rb +30 -0
  42. data/lib/plex_ruby_sdk/models/operations/clearplaylistcontents_badrequest.rb +24 -0
  43. data/lib/plex_ruby_sdk/models/operations/clearplaylistcontents_errors.rb +30 -0
  44. data/lib/plex_ruby_sdk/models/operations/clearplaylistcontents_playlists_errors.rb +30 -0
  45. data/lib/plex_ruby_sdk/models/operations/clearplaylistcontents_request.rb +24 -0
  46. data/lib/plex_ruby_sdk/models/operations/clearplaylistcontents_response.rb +36 -0
  47. data/lib/plex_ruby_sdk/models/operations/clearplaylistcontents_unauthorized.rb +24 -0
  48. data/lib/plex_ruby_sdk/models/operations/connections.rb +45 -0
  49. data/lib/plex_ruby_sdk/models/operations/context.rb +24 -0
  50. data/lib/plex_ruby_sdk/models/operations/country.rb +24 -0
  51. data/lib/plex_ruby_sdk/models/operations/createplaylist_badrequest.rb +24 -0
  52. data/lib/plex_ruby_sdk/models/operations/createplaylist_errors.rb +30 -0
  53. data/lib/plex_ruby_sdk/models/operations/createplaylist_mediacontainer.rb +27 -0
  54. data/lib/plex_ruby_sdk/models/operations/createplaylist_metadata.rb +69 -0
  55. data/lib/plex_ruby_sdk/models/operations/createplaylist_playlists_errors.rb +30 -0
  56. data/lib/plex_ruby_sdk/models/operations/createplaylist_queryparam_type.rb +19 -0
  57. data/lib/plex_ruby_sdk/models/operations/createplaylist_request.rb +36 -0
  58. data/lib/plex_ruby_sdk/models/operations/createplaylist_response.rb +39 -0
  59. data/lib/plex_ruby_sdk/models/operations/createplaylist_responsebody.rb +24 -0
  60. data/lib/plex_ruby_sdk/models/operations/createplaylist_unauthorized.rb +24 -0
  61. data/lib/plex_ruby_sdk/models/operations/defaultsubtitleaccessibility.rb +21 -0
  62. data/lib/plex_ruby_sdk/models/operations/defaultsubtitleforced.rb +21 -0
  63. data/lib/plex_ruby_sdk/models/operations/deletelibrary_badrequest.rb +24 -0
  64. data/lib/plex_ruby_sdk/models/operations/deletelibrary_errors.rb +30 -0
  65. data/lib/plex_ruby_sdk/models/operations/deletelibrary_library_errors.rb +30 -0
  66. data/lib/plex_ruby_sdk/models/operations/deletelibrary_request.rb +26 -0
  67. data/lib/plex_ruby_sdk/models/operations/deletelibrary_response.rb +36 -0
  68. data/lib/plex_ruby_sdk/models/operations/deletelibrary_unauthorized.rb +24 -0
  69. data/lib/plex_ruby_sdk/models/operations/deleteplaylist_badrequest.rb +24 -0
  70. data/lib/plex_ruby_sdk/models/operations/deleteplaylist_errors.rb +30 -0
  71. data/lib/plex_ruby_sdk/models/operations/deleteplaylist_playlists_errors.rb +30 -0
  72. data/lib/plex_ruby_sdk/models/operations/deleteplaylist_request.rb +24 -0
  73. data/lib/plex_ruby_sdk/models/operations/deleteplaylist_response.rb +36 -0
  74. data/lib/plex_ruby_sdk/models/operations/deleteplaylist_unauthorized.rb +24 -0
  75. data/lib/plex_ruby_sdk/models/operations/device.rb +36 -0
  76. data/lib/plex_ruby_sdk/models/operations/director.rb +24 -0
  77. data/lib/plex_ruby_sdk/models/operations/directory.rb +30 -0
  78. data/lib/plex_ruby_sdk/models/operations/download.rb +18 -0
  79. data/lib/plex_ruby_sdk/models/operations/enablepapertrail_badrequest.rb +24 -0
  80. data/lib/plex_ruby_sdk/models/operations/enablepapertrail_errors.rb +30 -0
  81. data/lib/plex_ruby_sdk/models/operations/enablepapertrail_log_errors.rb +30 -0
  82. data/lib/plex_ruby_sdk/models/operations/enablepapertrail_response.rb +36 -0
  83. data/lib/plex_ruby_sdk/models/operations/enablepapertrail_unauthorized.rb +24 -0
  84. data/lib/plex_ruby_sdk/models/operations/errors.rb +30 -0
  85. data/lib/plex_ruby_sdk/models/operations/feature.rb +30 -0
  86. data/lib/plex_ruby_sdk/models/operations/features.rb +78 -0
  87. data/lib/plex_ruby_sdk/models/operations/field.rb +33 -0
  88. data/lib/plex_ruby_sdk/models/operations/fieldtype.rb +27 -0
  89. data/lib/plex_ruby_sdk/models/operations/filter.rb +22 -0
  90. data/lib/plex_ruby_sdk/models/operations/force.rb +18 -0
  91. data/lib/plex_ruby_sdk/models/operations/friend.rb +60 -0
  92. data/lib/plex_ruby_sdk/models/operations/genre.rb +24 -0
  93. data/lib/plex_ruby_sdk/models/operations/geodata.rb +57 -0
  94. data/lib/plex_ruby_sdk/models/operations/get_all_libraries_badrequest.rb +24 -0
  95. data/lib/plex_ruby_sdk/models/operations/get_all_libraries_directory.rb +84 -0
  96. data/lib/plex_ruby_sdk/models/operations/get_all_libraries_errors.rb +30 -0
  97. data/lib/plex_ruby_sdk/models/operations/get_all_libraries_library_errors.rb +30 -0
  98. data/lib/plex_ruby_sdk/models/operations/get_all_libraries_mediacontainer.rb +33 -0
  99. data/lib/plex_ruby_sdk/models/operations/get_all_libraries_response.rb +39 -0
  100. data/lib/plex_ruby_sdk/models/operations/get_all_libraries_responsebody.rb +24 -0
  101. data/lib/plex_ruby_sdk/models/operations/get_all_libraries_unauthorized.rb +24 -0
  102. data/lib/plex_ruby_sdk/models/operations/get_banner_image_badrequest.rb +24 -0
  103. data/lib/plex_ruby_sdk/models/operations/get_banner_image_errors.rb +30 -0
  104. data/lib/plex_ruby_sdk/models/operations/get_banner_image_media_errors.rb +30 -0
  105. data/lib/plex_ruby_sdk/models/operations/get_banner_image_request.rb +39 -0
  106. data/lib/plex_ruby_sdk/models/operations/get_banner_image_response.rb +42 -0
  107. data/lib/plex_ruby_sdk/models/operations/get_banner_image_unauthorized.rb +24 -0
  108. data/lib/plex_ruby_sdk/models/operations/get_library_details_badrequest.rb +24 -0
  109. data/lib/plex_ruby_sdk/models/operations/get_library_details_directory.rb +36 -0
  110. data/lib/plex_ruby_sdk/models/operations/get_library_details_errors.rb +30 -0
  111. data/lib/plex_ruby_sdk/models/operations/get_library_details_filter.rb +36 -0
  112. data/lib/plex_ruby_sdk/models/operations/get_library_details_library_errors.rb +30 -0
  113. data/lib/plex_ruby_sdk/models/operations/get_library_details_mediacontainer.rb +66 -0
  114. data/lib/plex_ruby_sdk/models/operations/get_library_details_request.rb +31 -0
  115. data/lib/plex_ruby_sdk/models/operations/get_library_details_response.rb +39 -0
  116. data/lib/plex_ruby_sdk/models/operations/get_library_details_responsebody.rb +24 -0
  117. data/lib/plex_ruby_sdk/models/operations/get_library_details_type.rb +42 -0
  118. data/lib/plex_ruby_sdk/models/operations/get_library_details_unauthorized.rb +24 -0
  119. data/lib/plex_ruby_sdk/models/operations/get_library_items_badrequest.rb +24 -0
  120. data/lib/plex_ruby_sdk/models/operations/get_library_items_country.rb +24 -0
  121. data/lib/plex_ruby_sdk/models/operations/get_library_items_director.rb +24 -0
  122. data/lib/plex_ruby_sdk/models/operations/get_library_items_errors.rb +30 -0
  123. data/lib/plex_ruby_sdk/models/operations/get_library_items_genre.rb +24 -0
  124. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_errors.rb +30 -0
  125. data/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb +63 -0
  126. data/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb +69 -0
  127. data/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb +192 -0
  128. data/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb +42 -0
  129. data/lib/plex_ruby_sdk/models/operations/get_library_items_request.rb +58 -0
  130. data/lib/plex_ruby_sdk/models/operations/get_library_items_response.rb +39 -0
  131. data/lib/plex_ruby_sdk/models/operations/get_library_items_responsebody.rb +24 -0
  132. data/lib/plex_ruby_sdk/models/operations/get_library_items_role.rb +24 -0
  133. data/lib/plex_ruby_sdk/models/operations/get_library_items_unauthorized.rb +24 -0
  134. data/lib/plex_ruby_sdk/models/operations/get_library_items_writer.rb +24 -0
  135. data/lib/plex_ruby_sdk/models/operations/get_media_providers_badrequest.rb +24 -0
  136. data/lib/plex_ruby_sdk/models/operations/get_media_providers_directory.rb +63 -0
  137. data/lib/plex_ruby_sdk/models/operations/get_media_providers_errors.rb +30 -0
  138. data/lib/plex_ruby_sdk/models/operations/get_media_providers_mediacontainer.rb +153 -0
  139. data/lib/plex_ruby_sdk/models/operations/get_media_providers_request.rb +24 -0
  140. data/lib/plex_ruby_sdk/models/operations/get_media_providers_response.rb +39 -0
  141. data/lib/plex_ruby_sdk/models/operations/get_media_providers_responsebody.rb +24 -0
  142. data/lib/plex_ruby_sdk/models/operations/get_media_providers_server_errors.rb +30 -0
  143. data/lib/plex_ruby_sdk/models/operations/get_media_providers_unauthorized.rb +24 -0
  144. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_badrequest.rb +24 -0
  145. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_country.rb +30 -0
  146. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_director.rb +36 -0
  147. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_errors.rb +30 -0
  148. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_genre.rb +30 -0
  149. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_library_errors.rb +30 -0
  150. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_media.rb +72 -0
  151. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_mediacontainer.rb +48 -0
  152. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_metadata.rb +120 -0
  153. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_part.rb +54 -0
  154. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_request.rb +24 -0
  155. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_response.rb +39 -0
  156. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_responsebody.rb +24 -0
  157. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_role.rb +39 -0
  158. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_unauthorized.rb +24 -0
  159. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_writer.rb +36 -0
  160. data/lib/plex_ruby_sdk/models/operations/get_refresh_library_metadata_badrequest.rb +24 -0
  161. data/lib/plex_ruby_sdk/models/operations/get_refresh_library_metadata_errors.rb +30 -0
  162. data/lib/plex_ruby_sdk/models/operations/get_refresh_library_metadata_library_errors.rb +30 -0
  163. data/lib/plex_ruby_sdk/models/operations/get_refresh_library_metadata_request.rb +29 -0
  164. data/lib/plex_ruby_sdk/models/operations/get_refresh_library_metadata_response.rb +36 -0
  165. data/lib/plex_ruby_sdk/models/operations/get_refresh_library_metadata_unauthorized.rb +24 -0
  166. data/lib/plex_ruby_sdk/models/operations/get_search_library_badrequest.rb +24 -0
  167. data/lib/plex_ruby_sdk/models/operations/get_search_library_errors.rb +30 -0
  168. data/lib/plex_ruby_sdk/models/operations/get_search_library_library_errors.rb +30 -0
  169. data/lib/plex_ruby_sdk/models/operations/get_search_library_mediacontainer.rb +60 -0
  170. data/lib/plex_ruby_sdk/models/operations/get_search_library_metadata.rb +81 -0
  171. data/lib/plex_ruby_sdk/models/operations/get_search_library_request.rb +35 -0
  172. data/lib/plex_ruby_sdk/models/operations/get_search_library_response.rb +39 -0
  173. data/lib/plex_ruby_sdk/models/operations/get_search_library_responsebody.rb +24 -0
  174. data/lib/plex_ruby_sdk/models/operations/get_search_library_unauthorized.rb +24 -0
  175. data/lib/plex_ruby_sdk/models/operations/get_server_identity_mediacontainer.rb +33 -0
  176. data/lib/plex_ruby_sdk/models/operations/get_server_identity_requesttimeout.rb +27 -0
  177. data/lib/plex_ruby_sdk/models/operations/get_server_identity_response.rb +36 -0
  178. data/lib/plex_ruby_sdk/models/operations/get_server_identity_responsebody.rb +24 -0
  179. data/lib/plex_ruby_sdk/models/operations/get_server_resources_badrequest.rb +27 -0
  180. data/lib/plex_ruby_sdk/models/operations/get_server_resources_errors.rb +33 -0
  181. data/lib/plex_ruby_sdk/models/operations/get_server_resources_plex_errors.rb +33 -0
  182. data/lib/plex_ruby_sdk/models/operations/get_server_resources_request.rb +41 -0
  183. data/lib/plex_ruby_sdk/models/operations/get_server_resources_response.rb +42 -0
  184. data/lib/plex_ruby_sdk/models/operations/get_server_resources_unauthorized.rb +27 -0
  185. data/lib/plex_ruby_sdk/models/operations/get_thumb_image_badrequest.rb +24 -0
  186. data/lib/plex_ruby_sdk/models/operations/get_thumb_image_errors.rb +30 -0
  187. data/lib/plex_ruby_sdk/models/operations/get_thumb_image_media_errors.rb +30 -0
  188. data/lib/plex_ruby_sdk/models/operations/get_thumb_image_request.rb +39 -0
  189. data/lib/plex_ruby_sdk/models/operations/get_thumb_image_response.rb +42 -0
  190. data/lib/plex_ruby_sdk/models/operations/get_thumb_image_unauthorized.rb +24 -0
  191. data/lib/plex_ruby_sdk/models/operations/get_watch_list_badrequest.rb +27 -0
  192. data/lib/plex_ruby_sdk/models/operations/get_watch_list_errors.rb +33 -0
  193. data/lib/plex_ruby_sdk/models/operations/get_watch_list_request.rb +65 -0
  194. data/lib/plex_ruby_sdk/models/operations/get_watch_list_response.rb +42 -0
  195. data/lib/plex_ruby_sdk/models/operations/get_watch_list_responsebody.rb +45 -0
  196. data/lib/plex_ruby_sdk/models/operations/get_watch_list_unauthorized.rb +27 -0
  197. data/lib/plex_ruby_sdk/models/operations/get_watch_list_watchlist_errors.rb +33 -0
  198. data/lib/plex_ruby_sdk/models/operations/getavailableclients_badrequest.rb +24 -0
  199. data/lib/plex_ruby_sdk/models/operations/getavailableclients_errors.rb +30 -0
  200. data/lib/plex_ruby_sdk/models/operations/getavailableclients_mediacontainer.rb +27 -0
  201. data/lib/plex_ruby_sdk/models/operations/getavailableclients_response.rb +39 -0
  202. data/lib/plex_ruby_sdk/models/operations/getavailableclients_responsebody.rb +24 -0
  203. data/lib/plex_ruby_sdk/models/operations/getavailableclients_server_errors.rb +30 -0
  204. data/lib/plex_ruby_sdk/models/operations/getavailableclients_unauthorized.rb +24 -0
  205. data/lib/plex_ruby_sdk/models/operations/getbandwidthstatistics_account.rb +45 -0
  206. data/lib/plex_ruby_sdk/models/operations/getbandwidthstatistics_badrequest.rb +24 -0
  207. data/lib/plex_ruby_sdk/models/operations/getbandwidthstatistics_device.rb +36 -0
  208. data/lib/plex_ruby_sdk/models/operations/getbandwidthstatistics_errors.rb +30 -0
  209. data/lib/plex_ruby_sdk/models/operations/getbandwidthstatistics_mediacontainer.rb +33 -0
  210. data/lib/plex_ruby_sdk/models/operations/getbandwidthstatistics_request.rb +26 -0
  211. data/lib/plex_ruby_sdk/models/operations/getbandwidthstatistics_response.rb +39 -0
  212. data/lib/plex_ruby_sdk/models/operations/getbandwidthstatistics_responsebody.rb +24 -0
  213. data/lib/plex_ruby_sdk/models/operations/getbandwidthstatistics_statistics_errors.rb +30 -0
  214. data/lib/plex_ruby_sdk/models/operations/getbandwidthstatistics_unauthorized.rb +24 -0
  215. data/lib/plex_ruby_sdk/models/operations/getbutlertasks_badrequest.rb +24 -0
  216. data/lib/plex_ruby_sdk/models/operations/getbutlertasks_butler_errors.rb +30 -0
  217. data/lib/plex_ruby_sdk/models/operations/getbutlertasks_errors.rb +30 -0
  218. data/lib/plex_ruby_sdk/models/operations/getbutlertasks_response.rb +39 -0
  219. data/lib/plex_ruby_sdk/models/operations/getbutlertasks_responsebody.rb +24 -0
  220. data/lib/plex_ruby_sdk/models/operations/getbutlertasks_unauthorized.rb +24 -0
  221. data/lib/plex_ruby_sdk/models/operations/getcompanionsdata_badrequest.rb +27 -0
  222. data/lib/plex_ruby_sdk/models/operations/getcompanionsdata_errors.rb +33 -0
  223. data/lib/plex_ruby_sdk/models/operations/getcompanionsdata_plex_errors.rb +33 -0
  224. data/lib/plex_ruby_sdk/models/operations/getcompanionsdata_response.rb +42 -0
  225. data/lib/plex_ruby_sdk/models/operations/getcompanionsdata_unauthorized.rb +27 -0
  226. data/lib/plex_ruby_sdk/models/operations/getdevices_badrequest.rb +24 -0
  227. data/lib/plex_ruby_sdk/models/operations/getdevices_errors.rb +30 -0
  228. data/lib/plex_ruby_sdk/models/operations/getdevices_mediacontainer.rb +30 -0
  229. data/lib/plex_ruby_sdk/models/operations/getdevices_response.rb +39 -0
  230. data/lib/plex_ruby_sdk/models/operations/getdevices_responsebody.rb +24 -0
  231. data/lib/plex_ruby_sdk/models/operations/getdevices_server_errors.rb +30 -0
  232. data/lib/plex_ruby_sdk/models/operations/getdevices_unauthorized.rb +24 -0
  233. data/lib/plex_ruby_sdk/models/operations/getfilehash_badrequest.rb +24 -0
  234. data/lib/plex_ruby_sdk/models/operations/getfilehash_errors.rb +30 -0
  235. data/lib/plex_ruby_sdk/models/operations/getfilehash_library_errors.rb +30 -0
  236. data/lib/plex_ruby_sdk/models/operations/getfilehash_request.rb +27 -0
  237. data/lib/plex_ruby_sdk/models/operations/getfilehash_response.rb +36 -0
  238. data/lib/plex_ruby_sdk/models/operations/getfilehash_unauthorized.rb +24 -0
  239. data/lib/plex_ruby_sdk/models/operations/getgeodata_badrequest.rb +27 -0
  240. data/lib/plex_ruby_sdk/models/operations/getgeodata_errors.rb +33 -0
  241. data/lib/plex_ruby_sdk/models/operations/getgeodata_geodata.rb +57 -0
  242. data/lib/plex_ruby_sdk/models/operations/getgeodata_plex_errors.rb +33 -0
  243. data/lib/plex_ruby_sdk/models/operations/getgeodata_response.rb +42 -0
  244. data/lib/plex_ruby_sdk/models/operations/getgeodata_unauthorized.rb +27 -0
  245. data/lib/plex_ruby_sdk/models/operations/getglobalhubs_badrequest.rb +24 -0
  246. data/lib/plex_ruby_sdk/models/operations/getglobalhubs_errors.rb +30 -0
  247. data/lib/plex_ruby_sdk/models/operations/getglobalhubs_hubs_errors.rb +30 -0
  248. data/lib/plex_ruby_sdk/models/operations/getglobalhubs_mediacontainer.rb +33 -0
  249. data/lib/plex_ruby_sdk/models/operations/getglobalhubs_metadata.rb +72 -0
  250. data/lib/plex_ruby_sdk/models/operations/getglobalhubs_request.rb +27 -0
  251. data/lib/plex_ruby_sdk/models/operations/getglobalhubs_response.rb +39 -0
  252. data/lib/plex_ruby_sdk/models/operations/getglobalhubs_responsebody.rb +24 -0
  253. data/lib/plex_ruby_sdk/models/operations/getglobalhubs_unauthorized.rb +24 -0
  254. data/lib/plex_ruby_sdk/models/operations/gethomedata_badrequest.rb +24 -0
  255. data/lib/plex_ruby_sdk/models/operations/gethomedata_errors.rb +30 -0
  256. data/lib/plex_ruby_sdk/models/operations/gethomedata_plex_errors.rb +30 -0
  257. data/lib/plex_ruby_sdk/models/operations/gethomedata_response.rb +39 -0
  258. data/lib/plex_ruby_sdk/models/operations/gethomedata_responsebody.rb +39 -0
  259. data/lib/plex_ruby_sdk/models/operations/gethomedata_unauthorized.rb +24 -0
  260. data/lib/plex_ruby_sdk/models/operations/getlibraryhubs_badrequest.rb +24 -0
  261. data/lib/plex_ruby_sdk/models/operations/getlibraryhubs_country.rb +24 -0
  262. data/lib/plex_ruby_sdk/models/operations/getlibraryhubs_director.rb +24 -0
  263. data/lib/plex_ruby_sdk/models/operations/getlibraryhubs_errors.rb +30 -0
  264. data/lib/plex_ruby_sdk/models/operations/getlibraryhubs_genre.rb +24 -0
  265. data/lib/plex_ruby_sdk/models/operations/getlibraryhubs_hub.rb +57 -0
  266. data/lib/plex_ruby_sdk/models/operations/getlibraryhubs_hubs_errors.rb +30 -0
  267. data/lib/plex_ruby_sdk/models/operations/getlibraryhubs_media.rb +72 -0
  268. data/lib/plex_ruby_sdk/models/operations/getlibraryhubs_mediacontainer.rb +42 -0
  269. data/lib/plex_ruby_sdk/models/operations/getlibraryhubs_metadata.rb +123 -0
  270. data/lib/plex_ruby_sdk/models/operations/getlibraryhubs_part.rb +51 -0
  271. data/lib/plex_ruby_sdk/models/operations/getlibraryhubs_request.rb +30 -0
  272. data/lib/plex_ruby_sdk/models/operations/getlibraryhubs_response.rb +39 -0
  273. data/lib/plex_ruby_sdk/models/operations/getlibraryhubs_responsebody.rb +24 -0
  274. data/lib/plex_ruby_sdk/models/operations/getlibraryhubs_role.rb +24 -0
  275. data/lib/plex_ruby_sdk/models/operations/getlibraryhubs_unauthorized.rb +24 -0
  276. data/lib/plex_ruby_sdk/models/operations/getlibraryhubs_writer.rb +24 -0
  277. data/lib/plex_ruby_sdk/models/operations/getmetadatachildren_badrequest.rb +24 -0
  278. data/lib/plex_ruby_sdk/models/operations/getmetadatachildren_directory.rb +36 -0
  279. data/lib/plex_ruby_sdk/models/operations/getmetadatachildren_errors.rb +30 -0
  280. data/lib/plex_ruby_sdk/models/operations/getmetadatachildren_library_errors.rb +30 -0
  281. data/lib/plex_ruby_sdk/models/operations/getmetadatachildren_mediacontainer.rb +90 -0
  282. data/lib/plex_ruby_sdk/models/operations/getmetadatachildren_metadata.rb +102 -0
  283. data/lib/plex_ruby_sdk/models/operations/getmetadatachildren_request.rb +28 -0
  284. data/lib/plex_ruby_sdk/models/operations/getmetadatachildren_response.rb +39 -0
  285. data/lib/plex_ruby_sdk/models/operations/getmetadatachildren_responsebody.rb +24 -0
  286. data/lib/plex_ruby_sdk/models/operations/getmetadatachildren_unauthorized.rb +24 -0
  287. data/lib/plex_ruby_sdk/models/operations/getmyplexaccount_badrequest.rb +24 -0
  288. data/lib/plex_ruby_sdk/models/operations/getmyplexaccount_errors.rb +30 -0
  289. data/lib/plex_ruby_sdk/models/operations/getmyplexaccount_response.rb +39 -0
  290. data/lib/plex_ruby_sdk/models/operations/getmyplexaccount_responsebody.rb +24 -0
  291. data/lib/plex_ruby_sdk/models/operations/getmyplexaccount_server_errors.rb +30 -0
  292. data/lib/plex_ruby_sdk/models/operations/getmyplexaccount_unauthorized.rb +24 -0
  293. data/lib/plex_ruby_sdk/models/operations/getondeck_badrequest.rb +24 -0
  294. data/lib/plex_ruby_sdk/models/operations/getondeck_errors.rb +30 -0
  295. data/lib/plex_ruby_sdk/models/operations/getondeck_guids.rb +24 -0
  296. data/lib/plex_ruby_sdk/models/operations/getondeck_library_errors.rb +30 -0
  297. data/lib/plex_ruby_sdk/models/operations/getondeck_media.rb +66 -0
  298. data/lib/plex_ruby_sdk/models/operations/getondeck_mediacontainer.rb +42 -0
  299. data/lib/plex_ruby_sdk/models/operations/getondeck_metadata.rb +129 -0
  300. data/lib/plex_ruby_sdk/models/operations/getondeck_part.rb +48 -0
  301. data/lib/plex_ruby_sdk/models/operations/getondeck_response.rb +39 -0
  302. data/lib/plex_ruby_sdk/models/operations/getondeck_responsebody.rb +24 -0
  303. data/lib/plex_ruby_sdk/models/operations/getondeck_stream.rb +90 -0
  304. data/lib/plex_ruby_sdk/models/operations/getondeck_unauthorized.rb +24 -0
  305. data/lib/plex_ruby_sdk/models/operations/getpin_authpincontainer.rb +60 -0
  306. data/lib/plex_ruby_sdk/models/operations/getpin_badrequest.rb +27 -0
  307. data/lib/plex_ruby_sdk/models/operations/getpin_errors.rb +33 -0
  308. data/lib/plex_ruby_sdk/models/operations/getpin_request.rb +39 -0
  309. data/lib/plex_ruby_sdk/models/operations/getpin_response.rb +39 -0
  310. data/lib/plex_ruby_sdk/models/operations/getplaylist_badrequest.rb +24 -0
  311. data/lib/plex_ruby_sdk/models/operations/getplaylist_errors.rb +30 -0
  312. data/lib/plex_ruby_sdk/models/operations/getplaylist_mediacontainer.rb +27 -0
  313. data/lib/plex_ruby_sdk/models/operations/getplaylist_metadata.rb +66 -0
  314. data/lib/plex_ruby_sdk/models/operations/getplaylist_playlists_errors.rb +30 -0
  315. data/lib/plex_ruby_sdk/models/operations/getplaylist_request.rb +24 -0
  316. data/lib/plex_ruby_sdk/models/operations/getplaylist_response.rb +39 -0
  317. data/lib/plex_ruby_sdk/models/operations/getplaylist_responsebody.rb +24 -0
  318. data/lib/plex_ruby_sdk/models/operations/getplaylist_unauthorized.rb +24 -0
  319. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_badrequest.rb +24 -0
  320. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_country.rb +24 -0
  321. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_director.rb +24 -0
  322. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_errors.rb +30 -0
  323. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_genre.rb +24 -0
  324. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_media.rb +72 -0
  325. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_mediacontainer.rb +48 -0
  326. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_metadata.rb +117 -0
  327. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_part.rb +51 -0
  328. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_playlists_errors.rb +30 -0
  329. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_queryparam_type.rb +26 -0
  330. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_request.rb +33 -0
  331. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_response.rb +39 -0
  332. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_responsebody.rb +24 -0
  333. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_role.rb +24 -0
  334. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_unauthorized.rb +24 -0
  335. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_writer.rb +24 -0
  336. data/lib/plex_ruby_sdk/models/operations/getplaylists_badrequest.rb +24 -0
  337. data/lib/plex_ruby_sdk/models/operations/getplaylists_errors.rb +30 -0
  338. data/lib/plex_ruby_sdk/models/operations/getplaylists_mediacontainer.rb +27 -0
  339. data/lib/plex_ruby_sdk/models/operations/getplaylists_metadata.rb +69 -0
  340. data/lib/plex_ruby_sdk/models/operations/getplaylists_playlists_errors.rb +30 -0
  341. data/lib/plex_ruby_sdk/models/operations/getplaylists_request.rb +27 -0
  342. data/lib/plex_ruby_sdk/models/operations/getplaylists_response.rb +39 -0
  343. data/lib/plex_ruby_sdk/models/operations/getplaylists_responsebody.rb +24 -0
  344. data/lib/plex_ruby_sdk/models/operations/getplaylists_unauthorized.rb +24 -0
  345. data/lib/plex_ruby_sdk/models/operations/getrecentlyadded_badrequest.rb +24 -0
  346. data/lib/plex_ruby_sdk/models/operations/getrecentlyadded_errors.rb +30 -0
  347. data/lib/plex_ruby_sdk/models/operations/getrecentlyadded_library_errors.rb +30 -0
  348. data/lib/plex_ruby_sdk/models/operations/getrecentlyadded_mediacontainer.rb +42 -0
  349. data/lib/plex_ruby_sdk/models/operations/getrecentlyadded_metadata.rb +117 -0
  350. data/lib/plex_ruby_sdk/models/operations/getrecentlyadded_request.rb +33 -0
  351. data/lib/plex_ruby_sdk/models/operations/getrecentlyadded_response.rb +39 -0
  352. data/lib/plex_ruby_sdk/models/operations/getrecentlyadded_responsebody.rb +24 -0
  353. data/lib/plex_ruby_sdk/models/operations/getrecentlyadded_unauthorized.rb +24 -0
  354. data/lib/plex_ruby_sdk/models/operations/getresizedphoto_badrequest.rb +24 -0
  355. data/lib/plex_ruby_sdk/models/operations/getresizedphoto_errors.rb +30 -0
  356. data/lib/plex_ruby_sdk/models/operations/getresizedphoto_request.rb +42 -0
  357. data/lib/plex_ruby_sdk/models/operations/getresizedphoto_response.rb +36 -0
  358. data/lib/plex_ruby_sdk/models/operations/getresizedphoto_server_errors.rb +30 -0
  359. data/lib/plex_ruby_sdk/models/operations/getresizedphoto_unauthorized.rb +24 -0
  360. data/lib/plex_ruby_sdk/models/operations/getresourcesstatistics_badrequest.rb +24 -0
  361. data/lib/plex_ruby_sdk/models/operations/getresourcesstatistics_errors.rb +30 -0
  362. data/lib/plex_ruby_sdk/models/operations/getresourcesstatistics_mediacontainer.rb +27 -0
  363. data/lib/plex_ruby_sdk/models/operations/getresourcesstatistics_request.rb +26 -0
  364. data/lib/plex_ruby_sdk/models/operations/getresourcesstatistics_response.rb +39 -0
  365. data/lib/plex_ruby_sdk/models/operations/getresourcesstatistics_responsebody.rb +24 -0
  366. data/lib/plex_ruby_sdk/models/operations/getresourcesstatistics_statistics_errors.rb +30 -0
  367. data/lib/plex_ruby_sdk/models/operations/getresourcesstatistics_unauthorized.rb +24 -0
  368. data/lib/plex_ruby_sdk/models/operations/getsearchresults_badrequest.rb +24 -0
  369. data/lib/plex_ruby_sdk/models/operations/getsearchresults_country.rb +24 -0
  370. data/lib/plex_ruby_sdk/models/operations/getsearchresults_director.rb +24 -0
  371. data/lib/plex_ruby_sdk/models/operations/getsearchresults_errors.rb +30 -0
  372. data/lib/plex_ruby_sdk/models/operations/getsearchresults_genre.rb +24 -0
  373. data/lib/plex_ruby_sdk/models/operations/getsearchresults_media.rb +66 -0
  374. data/lib/plex_ruby_sdk/models/operations/getsearchresults_mediacontainer.rb +39 -0
  375. data/lib/plex_ruby_sdk/models/operations/getsearchresults_metadata.rb +123 -0
  376. data/lib/plex_ruby_sdk/models/operations/getsearchresults_part.rb +45 -0
  377. data/lib/plex_ruby_sdk/models/operations/getsearchresults_request.rb +24 -0
  378. data/lib/plex_ruby_sdk/models/operations/getsearchresults_response.rb +39 -0
  379. data/lib/plex_ruby_sdk/models/operations/getsearchresults_responsebody.rb +24 -0
  380. data/lib/plex_ruby_sdk/models/operations/getsearchresults_role.rb +24 -0
  381. data/lib/plex_ruby_sdk/models/operations/getsearchresults_search_errors.rb +30 -0
  382. data/lib/plex_ruby_sdk/models/operations/getsearchresults_unauthorized.rb +24 -0
  383. data/lib/plex_ruby_sdk/models/operations/getsearchresults_writer.rb +24 -0
  384. data/lib/plex_ruby_sdk/models/operations/getserveractivities_activities_errors.rb +30 -0
  385. data/lib/plex_ruby_sdk/models/operations/getserveractivities_badrequest.rb +24 -0
  386. data/lib/plex_ruby_sdk/models/operations/getserveractivities_errors.rb +30 -0
  387. data/lib/plex_ruby_sdk/models/operations/getserveractivities_mediacontainer.rb +27 -0
  388. data/lib/plex_ruby_sdk/models/operations/getserveractivities_response.rb +39 -0
  389. data/lib/plex_ruby_sdk/models/operations/getserveractivities_responsebody.rb +24 -0
  390. data/lib/plex_ruby_sdk/models/operations/getserveractivities_unauthorized.rb +24 -0
  391. data/lib/plex_ruby_sdk/models/operations/getservercapabilities_badrequest.rb +24 -0
  392. data/lib/plex_ruby_sdk/models/operations/getservercapabilities_errors.rb +30 -0
  393. data/lib/plex_ruby_sdk/models/operations/getservercapabilities_response.rb +39 -0
  394. data/lib/plex_ruby_sdk/models/operations/getservercapabilities_responsebody.rb +24 -0
  395. data/lib/plex_ruby_sdk/models/operations/getservercapabilities_unauthorized.rb +24 -0
  396. data/lib/plex_ruby_sdk/models/operations/getserverlist_badrequest.rb +24 -0
  397. data/lib/plex_ruby_sdk/models/operations/getserverlist_errors.rb +30 -0
  398. data/lib/plex_ruby_sdk/models/operations/getserverlist_mediacontainer.rb +27 -0
  399. data/lib/plex_ruby_sdk/models/operations/getserverlist_response.rb +39 -0
  400. data/lib/plex_ruby_sdk/models/operations/getserverlist_responsebody.rb +24 -0
  401. data/lib/plex_ruby_sdk/models/operations/getserverlist_server.rb +39 -0
  402. data/lib/plex_ruby_sdk/models/operations/getserverlist_server_errors.rb +30 -0
  403. data/lib/plex_ruby_sdk/models/operations/getserverlist_unauthorized.rb +24 -0
  404. data/lib/plex_ruby_sdk/models/operations/getserverpreferences_badrequest.rb +24 -0
  405. data/lib/plex_ruby_sdk/models/operations/getserverpreferences_errors.rb +30 -0
  406. data/lib/plex_ruby_sdk/models/operations/getserverpreferences_mediacontainer.rb +27 -0
  407. data/lib/plex_ruby_sdk/models/operations/getserverpreferences_response.rb +39 -0
  408. data/lib/plex_ruby_sdk/models/operations/getserverpreferences_responsebody.rb +24 -0
  409. data/lib/plex_ruby_sdk/models/operations/getserverpreferences_server_errors.rb +30 -0
  410. data/lib/plex_ruby_sdk/models/operations/getserverpreferences_unauthorized.rb +24 -0
  411. data/lib/plex_ruby_sdk/models/operations/getsessionhistory_badrequest.rb +24 -0
  412. data/lib/plex_ruby_sdk/models/operations/getsessionhistory_errors.rb +30 -0
  413. data/lib/plex_ruby_sdk/models/operations/getsessionhistory_mediacontainer.rb +27 -0
  414. data/lib/plex_ruby_sdk/models/operations/getsessionhistory_metadata.rb +78 -0
  415. data/lib/plex_ruby_sdk/models/operations/getsessionhistory_request.rb +38 -0
  416. data/lib/plex_ruby_sdk/models/operations/getsessionhistory_response.rb +39 -0
  417. data/lib/plex_ruby_sdk/models/operations/getsessionhistory_responsebody.rb +24 -0
  418. data/lib/plex_ruby_sdk/models/operations/getsessionhistory_sessions_errors.rb +30 -0
  419. data/lib/plex_ruby_sdk/models/operations/getsessionhistory_unauthorized.rb +24 -0
  420. data/lib/plex_ruby_sdk/models/operations/getsessions_badrequest.rb +24 -0
  421. data/lib/plex_ruby_sdk/models/operations/getsessions_errors.rb +30 -0
  422. data/lib/plex_ruby_sdk/models/operations/getsessions_media.rb +45 -0
  423. data/lib/plex_ruby_sdk/models/operations/getsessions_mediacontainer.rb +27 -0
  424. data/lib/plex_ruby_sdk/models/operations/getsessions_metadata.rb +132 -0
  425. data/lib/plex_ruby_sdk/models/operations/getsessions_part.rb +51 -0
  426. data/lib/plex_ruby_sdk/models/operations/getsessions_response.rb +39 -0
  427. data/lib/plex_ruby_sdk/models/operations/getsessions_responsebody.rb +24 -0
  428. data/lib/plex_ruby_sdk/models/operations/getsessions_sessions_errors.rb +30 -0
  429. data/lib/plex_ruby_sdk/models/operations/getsessions_stream.rb +81 -0
  430. data/lib/plex_ruby_sdk/models/operations/getsessions_unauthorized.rb +24 -0
  431. data/lib/plex_ruby_sdk/models/operations/getsessions_user.rb +30 -0
  432. data/lib/plex_ruby_sdk/models/operations/getsourceconnectioninformation_authentication_errors.rb +30 -0
  433. data/lib/plex_ruby_sdk/models/operations/getsourceconnectioninformation_badrequest.rb +24 -0
  434. data/lib/plex_ruby_sdk/models/operations/getsourceconnectioninformation_errors.rb +30 -0
  435. data/lib/plex_ruby_sdk/models/operations/getsourceconnectioninformation_request.rb +24 -0
  436. data/lib/plex_ruby_sdk/models/operations/getsourceconnectioninformation_response.rb +36 -0
  437. data/lib/plex_ruby_sdk/models/operations/getsourceconnectioninformation_unauthorized.rb +24 -0
  438. data/lib/plex_ruby_sdk/models/operations/getstatistics_badrequest.rb +24 -0
  439. data/lib/plex_ruby_sdk/models/operations/getstatistics_device.rb +36 -0
  440. data/lib/plex_ruby_sdk/models/operations/getstatistics_errors.rb +30 -0
  441. data/lib/plex_ruby_sdk/models/operations/getstatistics_mediacontainer.rb +33 -0
  442. data/lib/plex_ruby_sdk/models/operations/getstatistics_request.rb +26 -0
  443. data/lib/plex_ruby_sdk/models/operations/getstatistics_response.rb +39 -0
  444. data/lib/plex_ruby_sdk/models/operations/getstatistics_responsebody.rb +24 -0
  445. data/lib/plex_ruby_sdk/models/operations/getstatistics_statistics_errors.rb +30 -0
  446. data/lib/plex_ruby_sdk/models/operations/getstatistics_unauthorized.rb +24 -0
  447. data/lib/plex_ruby_sdk/models/operations/gettimeline_badrequest.rb +24 -0
  448. data/lib/plex_ruby_sdk/models/operations/gettimeline_errors.rb +30 -0
  449. data/lib/plex_ruby_sdk/models/operations/gettimeline_request.rb +51 -0
  450. data/lib/plex_ruby_sdk/models/operations/gettimeline_response.rb +36 -0
  451. data/lib/plex_ruby_sdk/models/operations/gettimeline_unauthorized.rb +24 -0
  452. data/lib/plex_ruby_sdk/models/operations/gettimeline_video_errors.rb +30 -0
  453. data/lib/plex_ruby_sdk/models/operations/gettokenbypinid_authpincontainer.rb +60 -0
  454. data/lib/plex_ruby_sdk/models/operations/gettokenbypinid_badrequest.rb +27 -0
  455. data/lib/plex_ruby_sdk/models/operations/gettokenbypinid_errors.rb +33 -0
  456. data/lib/plex_ruby_sdk/models/operations/gettokenbypinid_geodata.rb +57 -0
  457. data/lib/plex_ruby_sdk/models/operations/gettokenbypinid_plex_errors.rb +30 -0
  458. data/lib/plex_ruby_sdk/models/operations/gettokenbypinid_request.rb +33 -0
  459. data/lib/plex_ruby_sdk/models/operations/gettokenbypinid_response.rb +42 -0
  460. data/lib/plex_ruby_sdk/models/operations/gettokenbypinid_responsebody.rb +27 -0
  461. data/lib/plex_ruby_sdk/models/operations/gettokendetails_authentication_errors.rb +33 -0
  462. data/lib/plex_ruby_sdk/models/operations/gettokendetails_authentication_response_status.rb +21 -0
  463. data/lib/plex_ruby_sdk/models/operations/gettokendetails_authentication_status.rb +21 -0
  464. data/lib/plex_ruby_sdk/models/operations/gettokendetails_badrequest.rb +27 -0
  465. data/lib/plex_ruby_sdk/models/operations/gettokendetails_errors.rb +33 -0
  466. data/lib/plex_ruby_sdk/models/operations/gettokendetails_features.rb +78 -0
  467. data/lib/plex_ruby_sdk/models/operations/gettokendetails_response.rb +42 -0
  468. data/lib/plex_ruby_sdk/models/operations/gettokendetails_status.rb +21 -0
  469. data/lib/plex_ruby_sdk/models/operations/gettokendetails_subscription.rb +42 -0
  470. data/lib/plex_ruby_sdk/models/operations/gettokendetails_unauthorized.rb +27 -0
  471. data/lib/plex_ruby_sdk/models/operations/gettokendetails_userplexaccount.rb +146 -0
  472. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_badrequest.rb +24 -0
  473. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_country.rb +30 -0
  474. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_errors.rb +30 -0
  475. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_genre.rb +30 -0
  476. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_guids.rb +24 -0
  477. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_library_errors.rb +30 -0
  478. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_mediacontainer.rb +39 -0
  479. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_metadata.rb +117 -0
  480. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_type.rb +26 -0
  481. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_request.rb +34 -0
  482. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_response.rb +39 -0
  483. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_responsebody.rb +24 -0
  484. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_role.rb +39 -0
  485. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_unauthorized.rb +24 -0
  486. data/lib/plex_ruby_sdk/models/operations/gettranscodesessions_badrequest.rb +24 -0
  487. data/lib/plex_ruby_sdk/models/operations/gettranscodesessions_errors.rb +30 -0
  488. data/lib/plex_ruby_sdk/models/operations/gettranscodesessions_mediacontainer.rb +27 -0
  489. data/lib/plex_ruby_sdk/models/operations/gettranscodesessions_response.rb +39 -0
  490. data/lib/plex_ruby_sdk/models/operations/gettranscodesessions_responsebody.rb +24 -0
  491. data/lib/plex_ruby_sdk/models/operations/gettranscodesessions_sessions_errors.rb +30 -0
  492. data/lib/plex_ruby_sdk/models/operations/gettranscodesessions_unauthorized.rb +24 -0
  493. data/lib/plex_ruby_sdk/models/operations/gettransienttoken_authentication_errors.rb +30 -0
  494. data/lib/plex_ruby_sdk/models/operations/gettransienttoken_badrequest.rb +24 -0
  495. data/lib/plex_ruby_sdk/models/operations/gettransienttoken_errors.rb +30 -0
  496. data/lib/plex_ruby_sdk/models/operations/gettransienttoken_queryparam_type.rb +17 -0
  497. data/lib/plex_ruby_sdk/models/operations/gettransienttoken_request.rb +27 -0
  498. data/lib/plex_ruby_sdk/models/operations/gettransienttoken_response.rb +36 -0
  499. data/lib/plex_ruby_sdk/models/operations/gettransienttoken_unauthorized.rb +24 -0
  500. data/lib/plex_ruby_sdk/models/operations/getupdatestatus_badrequest.rb +24 -0
  501. data/lib/plex_ruby_sdk/models/operations/getupdatestatus_errors.rb +30 -0
  502. data/lib/plex_ruby_sdk/models/operations/getupdatestatus_mediacontainer.rb +39 -0
  503. data/lib/plex_ruby_sdk/models/operations/getupdatestatus_response.rb +39 -0
  504. data/lib/plex_ruby_sdk/models/operations/getupdatestatus_responsebody.rb +24 -0
  505. data/lib/plex_ruby_sdk/models/operations/getupdatestatus_unauthorized.rb +24 -0
  506. data/lib/plex_ruby_sdk/models/operations/getupdatestatus_updater_errors.rb +30 -0
  507. data/lib/plex_ruby_sdk/models/operations/getuserfriends_badrequest.rb +27 -0
  508. data/lib/plex_ruby_sdk/models/operations/getuserfriends_errors.rb +33 -0
  509. data/lib/plex_ruby_sdk/models/operations/getuserfriends_plex_errors.rb +33 -0
  510. data/lib/plex_ruby_sdk/models/operations/getuserfriends_response.rb +42 -0
  511. data/lib/plex_ruby_sdk/models/operations/getuserfriends_unauthorized.rb +27 -0
  512. data/lib/plex_ruby_sdk/models/operations/guids.rb +24 -0
  513. data/lib/plex_ruby_sdk/models/operations/hub.rb +54 -0
  514. data/lib/plex_ruby_sdk/models/operations/image.rb +33 -0
  515. data/lib/plex_ruby_sdk/models/operations/includecollections.rb +22 -0
  516. data/lib/plex_ruby_sdk/models/operations/includedetails.rb +20 -0
  517. data/lib/plex_ruby_sdk/models/operations/includeexternalmedia.rb +22 -0
  518. data/lib/plex_ruby_sdk/models/operations/includeguids.rb +19 -0
  519. data/lib/plex_ruby_sdk/models/operations/includehttps.rb +21 -0
  520. data/lib/plex_ruby_sdk/models/operations/includeipv6.rb +21 -0
  521. data/lib/plex_ruby_sdk/models/operations/includemeta.rb +19 -0
  522. data/lib/plex_ruby_sdk/models/operations/includerelay.rb +23 -0
  523. data/lib/plex_ruby_sdk/models/operations/internalpaymentmethod.rb +23 -0
  524. data/lib/plex_ruby_sdk/models/operations/level.rb +27 -0
  525. data/lib/plex_ruby_sdk/models/operations/libtype.rb +22 -0
  526. data/lib/plex_ruby_sdk/models/operations/location.rb +27 -0
  527. data/lib/plex_ruby_sdk/models/operations/logline_badrequest.rb +24 -0
  528. data/lib/plex_ruby_sdk/models/operations/logline_errors.rb +30 -0
  529. data/lib/plex_ruby_sdk/models/operations/logline_log_errors.rb +30 -0
  530. data/lib/plex_ruby_sdk/models/operations/logline_request.rb +36 -0
  531. data/lib/plex_ruby_sdk/models/operations/logline_response.rb +36 -0
  532. data/lib/plex_ruby_sdk/models/operations/logline_unauthorized.rb +24 -0
  533. data/lib/plex_ruby_sdk/models/operations/logmultiline_badrequest.rb +24 -0
  534. data/lib/plex_ruby_sdk/models/operations/logmultiline_errors.rb +30 -0
  535. data/lib/plex_ruby_sdk/models/operations/logmultiline_log_errors.rb +30 -0
  536. data/lib/plex_ruby_sdk/models/operations/logmultiline_response.rb +36 -0
  537. data/lib/plex_ruby_sdk/models/operations/logmultiline_unauthorized.rb +24 -0
  538. data/lib/plex_ruby_sdk/models/operations/mailingliststatus.rb +21 -0
  539. data/lib/plex_ruby_sdk/models/operations/markplayed_badrequest.rb +24 -0
  540. data/lib/plex_ruby_sdk/models/operations/markplayed_errors.rb +30 -0
  541. data/lib/plex_ruby_sdk/models/operations/markplayed_media_errors.rb +30 -0
  542. data/lib/plex_ruby_sdk/models/operations/markplayed_request.rb +24 -0
  543. data/lib/plex_ruby_sdk/models/operations/markplayed_response.rb +36 -0
  544. data/lib/plex_ruby_sdk/models/operations/markplayed_unauthorized.rb +24 -0
  545. data/lib/plex_ruby_sdk/models/operations/markunplayed_badrequest.rb +24 -0
  546. data/lib/plex_ruby_sdk/models/operations/markunplayed_errors.rb +30 -0
  547. data/lib/plex_ruby_sdk/models/operations/markunplayed_media_errors.rb +30 -0
  548. data/lib/plex_ruby_sdk/models/operations/markunplayed_request.rb +24 -0
  549. data/lib/plex_ruby_sdk/models/operations/markunplayed_response.rb +36 -0
  550. data/lib/plex_ruby_sdk/models/operations/markunplayed_unauthorized.rb +24 -0
  551. data/lib/plex_ruby_sdk/models/operations/media.rb +69 -0
  552. data/lib/plex_ruby_sdk/models/operations/mediacontainer.rb +174 -0
  553. data/lib/plex_ruby_sdk/models/operations/mediaprovider.rb +36 -0
  554. data/lib/plex_ruby_sdk/models/operations/mediareviewsvisibility.rb +21 -0
  555. data/lib/plex_ruby_sdk/models/operations/metadata.rb +129 -0
  556. data/lib/plex_ruby_sdk/models/operations/minsize.rb +18 -0
  557. data/lib/plex_ruby_sdk/models/operations/myplex.rb +57 -0
  558. data/lib/plex_ruby_sdk/models/operations/onlytransient.rb +18 -0
  559. data/lib/plex_ruby_sdk/models/operations/operator.rb +27 -0
  560. data/lib/plex_ruby_sdk/models/operations/part.rb +51 -0
  561. data/lib/plex_ruby_sdk/models/operations/pastsubscription.rb +69 -0
  562. data/lib/plex_ruby_sdk/models/operations/pathparam_taskname.rb +30 -0
  563. data/lib/plex_ruby_sdk/models/operations/performsearch_badrequest.rb +24 -0
  564. data/lib/plex_ruby_sdk/models/operations/performsearch_errors.rb +30 -0
  565. data/lib/plex_ruby_sdk/models/operations/performsearch_request.rb +30 -0
  566. data/lib/plex_ruby_sdk/models/operations/performsearch_response.rb +36 -0
  567. data/lib/plex_ruby_sdk/models/operations/performsearch_search_errors.rb +30 -0
  568. data/lib/plex_ruby_sdk/models/operations/performsearch_unauthorized.rb +24 -0
  569. data/lib/plex_ruby_sdk/models/operations/performvoicesearch_badrequest.rb +24 -0
  570. data/lib/plex_ruby_sdk/models/operations/performvoicesearch_errors.rb +30 -0
  571. data/lib/plex_ruby_sdk/models/operations/performvoicesearch_request.rb +30 -0
  572. data/lib/plex_ruby_sdk/models/operations/performvoicesearch_response.rb +36 -0
  573. data/lib/plex_ruby_sdk/models/operations/performvoicesearch_search_errors.rb +30 -0
  574. data/lib/plex_ruby_sdk/models/operations/performvoicesearch_unauthorized.rb +24 -0
  575. data/lib/plex_ruby_sdk/models/operations/pivot.rb +39 -0
  576. data/lib/plex_ruby_sdk/models/operations/player.rb +66 -0
  577. data/lib/plex_ruby_sdk/models/operations/playlisttype.rb +19 -0
  578. data/lib/plex_ruby_sdk/models/operations/plexdevice.rb +96 -0
  579. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_errors.rb +33 -0
  580. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_features.rb +78 -0
  581. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_response_status.rb +21 -0
  582. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_status.rb +21 -0
  583. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_subscription.rb +42 -0
  584. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_autoselectsubtitle.rb +21 -0
  585. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_badrequest.rb +27 -0
  586. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_defaultsubtitleaccessibility.rb +21 -0
  587. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_defaultsubtitleforced.rb +21 -0
  588. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_errors.rb +33 -0
  589. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_features.rb +78 -0
  590. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_mailingliststatus.rb +21 -0
  591. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_mediareviewsvisibility.rb +21 -0
  592. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_request.rb +33 -0
  593. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_requestbody.rb +36 -0
  594. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_response.rb +42 -0
  595. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_services.rb +39 -0
  596. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_state.rb +20 -0
  597. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_status.rb +21 -0
  598. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_subscription.rb +42 -0
  599. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_unauthorized.rb +27 -0
  600. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_userplexaccount.rb +152 -0
  601. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_userprofile.rb +48 -0
  602. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_watchedindicator.rb +21 -0
  603. data/lib/plex_ruby_sdk/models/operations/producer.rb +36 -0
  604. data/lib/plex_ruby_sdk/models/operations/provider.rb +30 -0
  605. data/lib/plex_ruby_sdk/models/operations/queryparam_filter.rb +22 -0
  606. data/lib/plex_ruby_sdk/models/operations/queryparam_force.rb +22 -0
  607. data/lib/plex_ruby_sdk/models/operations/queryparam_onlytransient.rb +18 -0
  608. data/lib/plex_ruby_sdk/models/operations/queryparam_smart.rb +18 -0
  609. data/lib/plex_ruby_sdk/models/operations/queryparam_type.rb +26 -0
  610. data/lib/plex_ruby_sdk/models/operations/ratings.rb +30 -0
  611. data/lib/plex_ruby_sdk/models/operations/release.rb +39 -0
  612. data/lib/plex_ruby_sdk/models/operations/responsebody.rb +42 -0
  613. data/lib/plex_ruby_sdk/models/operations/role.rb +24 -0
  614. data/lib/plex_ruby_sdk/models/operations/scope.rb +17 -0
  615. data/lib/plex_ruby_sdk/models/operations/server.rb +54 -0
  616. data/lib/plex_ruby_sdk/models/operations/services.rb +39 -0
  617. data/lib/plex_ruby_sdk/models/operations/session.rb +30 -0
  618. data/lib/plex_ruby_sdk/models/operations/setting.rb +51 -0
  619. data/lib/plex_ruby_sdk/models/operations/sharedservers.rb +23 -0
  620. data/lib/plex_ruby_sdk/models/operations/sharedsources.rb +23 -0
  621. data/lib/plex_ruby_sdk/models/operations/skip.rb +18 -0
  622. data/lib/plex_ruby_sdk/models/operations/smart.rb +18 -0
  623. data/lib/plex_ruby_sdk/models/operations/sort.rb +39 -0
  624. data/lib/plex_ruby_sdk/models/operations/startalltasks_badrequest.rb +24 -0
  625. data/lib/plex_ruby_sdk/models/operations/startalltasks_butler_errors.rb +30 -0
  626. data/lib/plex_ruby_sdk/models/operations/startalltasks_errors.rb +30 -0
  627. data/lib/plex_ruby_sdk/models/operations/startalltasks_response.rb +36 -0
  628. data/lib/plex_ruby_sdk/models/operations/startalltasks_unauthorized.rb +24 -0
  629. data/lib/plex_ruby_sdk/models/operations/starttask_badrequest.rb +24 -0
  630. data/lib/plex_ruby_sdk/models/operations/starttask_butler_errors.rb +30 -0
  631. data/lib/plex_ruby_sdk/models/operations/starttask_errors.rb +30 -0
  632. data/lib/plex_ruby_sdk/models/operations/starttask_request.rb +24 -0
  633. data/lib/plex_ruby_sdk/models/operations/starttask_response.rb +36 -0
  634. data/lib/plex_ruby_sdk/models/operations/starttask_unauthorized.rb +24 -0
  635. data/lib/plex_ruby_sdk/models/operations/startuniversaltranscode_badrequest.rb +24 -0
  636. data/lib/plex_ruby_sdk/models/operations/startuniversaltranscode_errors.rb +30 -0
  637. data/lib/plex_ruby_sdk/models/operations/startuniversaltranscode_request.rb +69 -0
  638. data/lib/plex_ruby_sdk/models/operations/startuniversaltranscode_response.rb +36 -0
  639. data/lib/plex_ruby_sdk/models/operations/startuniversaltranscode_unauthorized.rb +24 -0
  640. data/lib/plex_ruby_sdk/models/operations/startuniversaltranscode_video_errors.rb +30 -0
  641. data/lib/plex_ruby_sdk/models/operations/state.rb +19 -0
  642. data/lib/plex_ruby_sdk/models/operations/statisticsbandwidth.rb +39 -0
  643. data/lib/plex_ruby_sdk/models/operations/statisticsmedia.rb +42 -0
  644. data/lib/plex_ruby_sdk/models/operations/statisticsresources.rb +39 -0
  645. data/lib/plex_ruby_sdk/models/operations/status.rb +20 -0
  646. data/lib/plex_ruby_sdk/models/operations/stopalltasks_badrequest.rb +24 -0
  647. data/lib/plex_ruby_sdk/models/operations/stopalltasks_butler_errors.rb +30 -0
  648. data/lib/plex_ruby_sdk/models/operations/stopalltasks_errors.rb +30 -0
  649. data/lib/plex_ruby_sdk/models/operations/stopalltasks_response.rb +36 -0
  650. data/lib/plex_ruby_sdk/models/operations/stopalltasks_unauthorized.rb +24 -0
  651. data/lib/plex_ruby_sdk/models/operations/stoptask_badrequest.rb +24 -0
  652. data/lib/plex_ruby_sdk/models/operations/stoptask_butler_errors.rb +30 -0
  653. data/lib/plex_ruby_sdk/models/operations/stoptask_errors.rb +30 -0
  654. data/lib/plex_ruby_sdk/models/operations/stoptask_request.rb +24 -0
  655. data/lib/plex_ruby_sdk/models/operations/stoptask_response.rb +36 -0
  656. data/lib/plex_ruby_sdk/models/operations/stoptask_unauthorized.rb +24 -0
  657. data/lib/plex_ruby_sdk/models/operations/stoptranscodesession_badrequest.rb +24 -0
  658. data/lib/plex_ruby_sdk/models/operations/stoptranscodesession_errors.rb +30 -0
  659. data/lib/plex_ruby_sdk/models/operations/stoptranscodesession_request.rb +24 -0
  660. data/lib/plex_ruby_sdk/models/operations/stoptranscodesession_response.rb +36 -0
  661. data/lib/plex_ruby_sdk/models/operations/stoptranscodesession_sessions_errors.rb +30 -0
  662. data/lib/plex_ruby_sdk/models/operations/stoptranscodesession_unauthorized.rb +24 -0
  663. data/lib/plex_ruby_sdk/models/operations/stream.rb +117 -0
  664. data/lib/plex_ruby_sdk/models/operations/subscription.rb +42 -0
  665. data/lib/plex_ruby_sdk/models/operations/tag.rb +35 -0
  666. data/lib/plex_ruby_sdk/models/operations/taskname.rb +30 -0
  667. data/lib/plex_ruby_sdk/models/operations/tonight.rb +18 -0
  668. data/lib/plex_ruby_sdk/models/operations/transcodesession.rb +93 -0
  669. data/lib/plex_ruby_sdk/models/operations/trials.rb +23 -0
  670. data/lib/plex_ruby_sdk/models/operations/type.rb +26 -0
  671. data/lib/plex_ruby_sdk/models/operations/updateplaylist_badrequest.rb +24 -0
  672. data/lib/plex_ruby_sdk/models/operations/updateplaylist_errors.rb +30 -0
  673. data/lib/plex_ruby_sdk/models/operations/updateplaylist_playlists_errors.rb +30 -0
  674. data/lib/plex_ruby_sdk/models/operations/updateplaylist_request.rb +30 -0
  675. data/lib/plex_ruby_sdk/models/operations/updateplaylist_response.rb +36 -0
  676. data/lib/plex_ruby_sdk/models/operations/updateplaylist_unauthorized.rb +24 -0
  677. data/lib/plex_ruby_sdk/models/operations/updateplayprogress_badrequest.rb +24 -0
  678. data/lib/plex_ruby_sdk/models/operations/updateplayprogress_errors.rb +30 -0
  679. data/lib/plex_ruby_sdk/models/operations/updateplayprogress_media_errors.rb +30 -0
  680. data/lib/plex_ruby_sdk/models/operations/updateplayprogress_request.rb +30 -0
  681. data/lib/plex_ruby_sdk/models/operations/updateplayprogress_response.rb +36 -0
  682. data/lib/plex_ruby_sdk/models/operations/updateplayprogress_unauthorized.rb +24 -0
  683. data/lib/plex_ruby_sdk/models/operations/uploadplaylist_badrequest.rb +24 -0
  684. data/lib/plex_ruby_sdk/models/operations/uploadplaylist_errors.rb +30 -0
  685. data/lib/plex_ruby_sdk/models/operations/uploadplaylist_playlists_errors.rb +30 -0
  686. data/lib/plex_ruby_sdk/models/operations/uploadplaylist_request.rb +37 -0
  687. data/lib/plex_ruby_sdk/models/operations/uploadplaylist_response.rb +36 -0
  688. data/lib/plex_ruby_sdk/models/operations/uploadplaylist_unauthorized.rb +24 -0
  689. data/lib/plex_ruby_sdk/models/operations/upscale.rb +18 -0
  690. data/lib/plex_ruby_sdk/models/operations/user.rb +24 -0
  691. data/lib/plex_ruby_sdk/models/operations/userprofile.rb +48 -0
  692. data/lib/plex_ruby_sdk/models/operations/watchedindicator.rb +21 -0
  693. data/lib/plex_ruby_sdk/models/operations/writer.rb +24 -0
  694. data/lib/plex_ruby_sdk/models/operations.rb +694 -0
  695. data/lib/plex_ruby_sdk/models/shared/security.rb +24 -0
  696. data/lib/plex_ruby_sdk/models/shared.rb +10 -0
  697. data/lib/plex_ruby_sdk/playlists.rb +480 -0
  698. data/lib/plex_ruby_sdk/plex.rb +367 -0
  699. data/lib/plex_ruby_sdk/plex_api.rb +134 -0
  700. data/lib/plex_ruby_sdk/sdkconfiguration.rb +56 -0
  701. data/lib/plex_ruby_sdk/search.rb +175 -0
  702. data/lib/plex_ruby_sdk/server.rb +390 -0
  703. data/lib/plex_ruby_sdk/server_variables/server_protocol.rb +18 -0
  704. data/lib/plex_ruby_sdk/server_variables.rb +10 -0
  705. data/lib/plex_ruby_sdk/sessions.rb +201 -0
  706. data/lib/plex_ruby_sdk/statistics.rb +163 -0
  707. data/lib/plex_ruby_sdk/updater.rb +152 -0
  708. data/lib/plex_ruby_sdk/utils/metadata_fields.rb +150 -0
  709. data/lib/plex_ruby_sdk/utils/t.rb +59 -0
  710. data/lib/plex_ruby_sdk/utils/utils.rb +772 -0
  711. data/lib/plex_ruby_sdk/video.rb +100 -0
  712. data/lib/plex_ruby_sdk/watchlist.rb +77 -0
  713. data/lib/plex_ruby_sdk.rb +32 -0
  714. metadata +883 -0
@@ -0,0 +1,201 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'sorbet-runtime'
9
+
10
+ module PlexRubySDK
11
+ extend T::Sig
12
+ class Sessions
13
+ extend T::Sig
14
+ # API Calls that perform search operations with Plex Media Server Sessions
15
+ #
16
+
17
+ sig { params(sdk_config: SDKConfiguration).void }
18
+ def initialize(sdk_config)
19
+ @sdk_configuration = sdk_config
20
+ end
21
+
22
+
23
+ sig { returns(::PlexRubySDK::Operations::GetSessionsResponse) }
24
+ def get_sessions
25
+ # get_sessions - Get Active Sessions
26
+ # This will retrieve the "Now Playing" Information of the PMS.
27
+ url, params = @sdk_configuration.get_server_details
28
+ base_url = Utils.template_url(url, params)
29
+ url = "#{base_url}/status/sessions"
30
+ headers = {}
31
+ headers['Accept'] = 'application/json'
32
+ headers['user-agent'] = @sdk_configuration.user_agent
33
+
34
+ r = @sdk_configuration.client.get(url) do |req|
35
+ req.headers = headers
36
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
37
+ end
38
+
39
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
40
+
41
+ res = ::PlexRubySDK::Operations::GetSessionsResponse.new(
42
+ status_code: r.status, content_type: content_type, raw_response: r
43
+ )
44
+ if r.status == 200
45
+ if Utils.match_content_type(content_type, 'application/json')
46
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetSessionsResponseBody)
47
+ res.object = out
48
+ end
49
+ elsif r.status == 400
50
+ if Utils.match_content_type(content_type, 'application/json')
51
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetSessionsBadRequest)
52
+ res.bad_request = out
53
+ end
54
+ elsif r.status == 401
55
+ if Utils.match_content_type(content_type, 'application/json')
56
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetSessionsUnauthorized)
57
+ res.unauthorized = out
58
+ end
59
+ end
60
+ res
61
+ end
62
+
63
+
64
+ sig { params(sort: T.nilable(::String), account_id: T.nilable(::Integer), filter: T.nilable(::PlexRubySDK::Operations::QueryParamFilter), library_section_id: T.nilable(::Integer)).returns(::PlexRubySDK::Operations::GetSessionHistoryResponse) }
65
+ def get_session_history(sort = nil, account_id = nil, filter = nil, library_section_id = nil)
66
+ # get_session_history - Get Session History
67
+ # This will Retrieve a listing of all history views.
68
+ request = ::PlexRubySDK::Operations::GetSessionHistoryRequest.new(
69
+
70
+ sort: sort,
71
+ account_id: account_id,
72
+ filter: filter,
73
+ library_section_id: library_section_id
74
+ )
75
+ url, params = @sdk_configuration.get_server_details
76
+ base_url = Utils.template_url(url, params)
77
+ url = "#{base_url}/status/sessions/history/all"
78
+ headers = {}
79
+ query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetSessionHistoryRequest, request, @sdk_configuration.globals)
80
+ headers['Accept'] = 'application/json'
81
+ headers['user-agent'] = @sdk_configuration.user_agent
82
+
83
+ r = @sdk_configuration.client.get(url) do |req|
84
+ req.headers = headers
85
+ req.params = query_params
86
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
87
+ end
88
+
89
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
90
+
91
+ res = ::PlexRubySDK::Operations::GetSessionHistoryResponse.new(
92
+ status_code: r.status, content_type: content_type, raw_response: r
93
+ )
94
+ if r.status == 200
95
+ if Utils.match_content_type(content_type, 'application/json')
96
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetSessionHistoryResponseBody)
97
+ res.object = out
98
+ end
99
+ elsif r.status == 400
100
+ if Utils.match_content_type(content_type, 'application/json')
101
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetSessionHistoryBadRequest)
102
+ res.bad_request = out
103
+ end
104
+ elsif r.status == 401
105
+ if Utils.match_content_type(content_type, 'application/json')
106
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetSessionHistoryUnauthorized)
107
+ res.unauthorized = out
108
+ end
109
+ end
110
+ res
111
+ end
112
+
113
+
114
+ sig { returns(::PlexRubySDK::Operations::GetTranscodeSessionsResponse) }
115
+ def get_transcode_sessions
116
+ # get_transcode_sessions - Get Transcode Sessions
117
+ # Get Transcode Sessions
118
+ url, params = @sdk_configuration.get_server_details
119
+ base_url = Utils.template_url(url, params)
120
+ url = "#{base_url}/transcode/sessions"
121
+ headers = {}
122
+ headers['Accept'] = 'application/json'
123
+ headers['user-agent'] = @sdk_configuration.user_agent
124
+
125
+ r = @sdk_configuration.client.get(url) do |req|
126
+ req.headers = headers
127
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
128
+ end
129
+
130
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
131
+
132
+ res = ::PlexRubySDK::Operations::GetTranscodeSessionsResponse.new(
133
+ status_code: r.status, content_type: content_type, raw_response: r
134
+ )
135
+ if r.status == 200
136
+ if Utils.match_content_type(content_type, 'application/json')
137
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetTranscodeSessionsResponseBody)
138
+ res.object = out
139
+ end
140
+ elsif r.status == 400
141
+ if Utils.match_content_type(content_type, 'application/json')
142
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetTranscodeSessionsBadRequest)
143
+ res.bad_request = out
144
+ end
145
+ elsif r.status == 401
146
+ if Utils.match_content_type(content_type, 'application/json')
147
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetTranscodeSessionsUnauthorized)
148
+ res.unauthorized = out
149
+ end
150
+ end
151
+ res
152
+ end
153
+
154
+
155
+ sig { params(session_key: ::String).returns(::PlexRubySDK::Operations::StopTranscodeSessionResponse) }
156
+ def stop_transcode_session(session_key)
157
+ # stop_transcode_session - Stop a Transcode Session
158
+ # Stop a Transcode Session
159
+ request = ::PlexRubySDK::Operations::StopTranscodeSessionRequest.new(
160
+
161
+ session_key: session_key
162
+ )
163
+ url, params = @sdk_configuration.get_server_details
164
+ base_url = Utils.template_url(url, params)
165
+ url = Utils.generate_url(
166
+ ::PlexRubySDK::Operations::StopTranscodeSessionRequest,
167
+ base_url,
168
+ '/transcode/sessions/{sessionKey}',
169
+ request,
170
+ @sdk_configuration.globals
171
+ )
172
+ headers = {}
173
+ headers['Accept'] = 'application/json'
174
+ headers['user-agent'] = @sdk_configuration.user_agent
175
+
176
+ r = @sdk_configuration.client.delete(url) do |req|
177
+ req.headers = headers
178
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
179
+ end
180
+
181
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
182
+
183
+ res = ::PlexRubySDK::Operations::StopTranscodeSessionResponse.new(
184
+ status_code: r.status, content_type: content_type, raw_response: r
185
+ )
186
+ if r.status == 204
187
+ elsif r.status == 400
188
+ if Utils.match_content_type(content_type, 'application/json')
189
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::StopTranscodeSessionBadRequest)
190
+ res.bad_request = out
191
+ end
192
+ elsif r.status == 401
193
+ if Utils.match_content_type(content_type, 'application/json')
194
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::StopTranscodeSessionUnauthorized)
195
+ res.unauthorized = out
196
+ end
197
+ end
198
+ res
199
+ end
200
+ end
201
+ end
@@ -0,0 +1,163 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'sorbet-runtime'
9
+
10
+ module PlexRubySDK
11
+ extend T::Sig
12
+ class Statistics
13
+ extend T::Sig
14
+ # API Calls that perform operations with Plex Media Server Statistics
15
+ #
16
+
17
+ sig { params(sdk_config: SDKConfiguration).void }
18
+ def initialize(sdk_config)
19
+ @sdk_configuration = sdk_config
20
+ end
21
+
22
+
23
+ sig { params(timespan: T.nilable(::Integer)).returns(::PlexRubySDK::Operations::GetStatisticsResponse) }
24
+ def get_statistics(timespan = nil)
25
+ # get_statistics - Get Media Statistics
26
+ # This will return the media statistics for the server
27
+ request = ::PlexRubySDK::Operations::GetStatisticsRequest.new(
28
+
29
+ timespan: timespan
30
+ )
31
+ url, params = @sdk_configuration.get_server_details
32
+ base_url = Utils.template_url(url, params)
33
+ url = "#{base_url}/statistics/media"
34
+ headers = {}
35
+ query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetStatisticsRequest, request, @sdk_configuration.globals)
36
+ headers['Accept'] = 'application/json'
37
+ headers['user-agent'] = @sdk_configuration.user_agent
38
+
39
+ r = @sdk_configuration.client.get(url) do |req|
40
+ req.headers = headers
41
+ req.params = query_params
42
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
43
+ end
44
+
45
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
46
+
47
+ res = ::PlexRubySDK::Operations::GetStatisticsResponse.new(
48
+ status_code: r.status, content_type: content_type, raw_response: r
49
+ )
50
+ if r.status == 200
51
+ if Utils.match_content_type(content_type, 'application/json')
52
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetStatisticsResponseBody)
53
+ res.object = out
54
+ end
55
+ elsif r.status == 400
56
+ if Utils.match_content_type(content_type, 'application/json')
57
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetStatisticsBadRequest)
58
+ res.bad_request = out
59
+ end
60
+ elsif r.status == 401
61
+ if Utils.match_content_type(content_type, 'application/json')
62
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetStatisticsUnauthorized)
63
+ res.unauthorized = out
64
+ end
65
+ end
66
+ res
67
+ end
68
+
69
+
70
+ sig { params(timespan: T.nilable(::Integer)).returns(::PlexRubySDK::Operations::GetResourcesStatisticsResponse) }
71
+ def get_resources_statistics(timespan = nil)
72
+ # get_resources_statistics - Get Resources Statistics
73
+ # This will return the resources for the server
74
+ request = ::PlexRubySDK::Operations::GetResourcesStatisticsRequest.new(
75
+
76
+ timespan: timespan
77
+ )
78
+ url, params = @sdk_configuration.get_server_details
79
+ base_url = Utils.template_url(url, params)
80
+ url = "#{base_url}/statistics/resources"
81
+ headers = {}
82
+ query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetResourcesStatisticsRequest, request, @sdk_configuration.globals)
83
+ headers['Accept'] = 'application/json'
84
+ headers['user-agent'] = @sdk_configuration.user_agent
85
+
86
+ r = @sdk_configuration.client.get(url) do |req|
87
+ req.headers = headers
88
+ req.params = query_params
89
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
90
+ end
91
+
92
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
93
+
94
+ res = ::PlexRubySDK::Operations::GetResourcesStatisticsResponse.new(
95
+ status_code: r.status, content_type: content_type, raw_response: r
96
+ )
97
+ if r.status == 200
98
+ if Utils.match_content_type(content_type, 'application/json')
99
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetResourcesStatisticsResponseBody)
100
+ res.object = out
101
+ end
102
+ elsif r.status == 400
103
+ if Utils.match_content_type(content_type, 'application/json')
104
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetResourcesStatisticsBadRequest)
105
+ res.bad_request = out
106
+ end
107
+ elsif r.status == 401
108
+ if Utils.match_content_type(content_type, 'application/json')
109
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetResourcesStatisticsUnauthorized)
110
+ res.unauthorized = out
111
+ end
112
+ end
113
+ res
114
+ end
115
+
116
+
117
+ sig { params(timespan: T.nilable(::Integer)).returns(::PlexRubySDK::Operations::GetBandwidthStatisticsResponse) }
118
+ def get_bandwidth_statistics(timespan = nil)
119
+ # get_bandwidth_statistics - Get Bandwidth Statistics
120
+ # This will return the bandwidth statistics for the server
121
+ request = ::PlexRubySDK::Operations::GetBandwidthStatisticsRequest.new(
122
+
123
+ timespan: timespan
124
+ )
125
+ url, params = @sdk_configuration.get_server_details
126
+ base_url = Utils.template_url(url, params)
127
+ url = "#{base_url}/statistics/bandwidth"
128
+ headers = {}
129
+ query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetBandwidthStatisticsRequest, request, @sdk_configuration.globals)
130
+ headers['Accept'] = 'application/json'
131
+ headers['user-agent'] = @sdk_configuration.user_agent
132
+
133
+ r = @sdk_configuration.client.get(url) do |req|
134
+ req.headers = headers
135
+ req.params = query_params
136
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
137
+ end
138
+
139
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
140
+
141
+ res = ::PlexRubySDK::Operations::GetBandwidthStatisticsResponse.new(
142
+ status_code: r.status, content_type: content_type, raw_response: r
143
+ )
144
+ if r.status == 200
145
+ if Utils.match_content_type(content_type, 'application/json')
146
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetBandwidthStatisticsResponseBody)
147
+ res.object = out
148
+ end
149
+ elsif r.status == 400
150
+ if Utils.match_content_type(content_type, 'application/json')
151
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetBandwidthStatisticsBadRequest)
152
+ res.bad_request = out
153
+ end
154
+ elsif r.status == 401
155
+ if Utils.match_content_type(content_type, 'application/json')
156
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetBandwidthStatisticsUnauthorized)
157
+ res.unauthorized = out
158
+ end
159
+ end
160
+ res
161
+ end
162
+ end
163
+ end
@@ -0,0 +1,152 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'sorbet-runtime'
9
+
10
+ module PlexRubySDK
11
+ extend T::Sig
12
+ class Updater
13
+ extend T::Sig
14
+ # This describes the API for searching and applying updates to the Plex Media Server.
15
+ # Updates to the status can be observed via the Event API.
16
+ #
17
+
18
+ sig { params(sdk_config: SDKConfiguration).void }
19
+ def initialize(sdk_config)
20
+ @sdk_configuration = sdk_config
21
+ end
22
+
23
+
24
+ sig { returns(::PlexRubySDK::Operations::GetUpdateStatusResponse) }
25
+ def get_update_status
26
+ # get_update_status - Querying status of updates
27
+ # Querying status of updates
28
+ url, params = @sdk_configuration.get_server_details
29
+ base_url = Utils.template_url(url, params)
30
+ url = "#{base_url}/updater/status"
31
+ headers = {}
32
+ headers['Accept'] = 'application/json'
33
+ headers['user-agent'] = @sdk_configuration.user_agent
34
+
35
+ r = @sdk_configuration.client.get(url) do |req|
36
+ req.headers = headers
37
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
38
+ end
39
+
40
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
41
+
42
+ res = ::PlexRubySDK::Operations::GetUpdateStatusResponse.new(
43
+ status_code: r.status, content_type: content_type, raw_response: r
44
+ )
45
+ if r.status == 200
46
+ if Utils.match_content_type(content_type, 'application/json')
47
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetUpdateStatusResponseBody)
48
+ res.object = out
49
+ end
50
+ elsif r.status == 400
51
+ if Utils.match_content_type(content_type, 'application/json')
52
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetUpdateStatusBadRequest)
53
+ res.bad_request = out
54
+ end
55
+ elsif r.status == 401
56
+ if Utils.match_content_type(content_type, 'application/json')
57
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetUpdateStatusUnauthorized)
58
+ res.unauthorized = out
59
+ end
60
+ end
61
+ res
62
+ end
63
+
64
+
65
+ sig { params(download: T.nilable(::PlexRubySDK::Operations::Download)).returns(::PlexRubySDK::Operations::CheckForUpdatesResponse) }
66
+ def check_for_updates(download = nil)
67
+ # check_for_updates - Checking for updates
68
+ # Checking for updates
69
+ request = ::PlexRubySDK::Operations::CheckForUpdatesRequest.new(
70
+
71
+ download: download
72
+ )
73
+ url, params = @sdk_configuration.get_server_details
74
+ base_url = Utils.template_url(url, params)
75
+ url = "#{base_url}/updater/check"
76
+ headers = {}
77
+ query_params = Utils.get_query_params(::PlexRubySDK::Operations::CheckForUpdatesRequest, request, @sdk_configuration.globals)
78
+ headers['Accept'] = 'application/json'
79
+ headers['user-agent'] = @sdk_configuration.user_agent
80
+
81
+ r = @sdk_configuration.client.put(url) do |req|
82
+ req.headers = headers
83
+ req.params = query_params
84
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
85
+ end
86
+
87
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
88
+
89
+ res = ::PlexRubySDK::Operations::CheckForUpdatesResponse.new(
90
+ status_code: r.status, content_type: content_type, raw_response: r
91
+ )
92
+ if r.status == 200
93
+ elsif r.status == 400
94
+ if Utils.match_content_type(content_type, 'application/json')
95
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::CheckForUpdatesBadRequest)
96
+ res.bad_request = out
97
+ end
98
+ elsif r.status == 401
99
+ if Utils.match_content_type(content_type, 'application/json')
100
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::CheckForUpdatesUnauthorized)
101
+ res.unauthorized = out
102
+ end
103
+ end
104
+ res
105
+ end
106
+
107
+
108
+ sig { params(tonight: T.nilable(::PlexRubySDK::Operations::Tonight), skip: T.nilable(::PlexRubySDK::Operations::Skip)).returns(::PlexRubySDK::Operations::ApplyUpdatesResponse) }
109
+ def apply_updates(tonight = nil, skip = nil)
110
+ # apply_updates - Apply Updates
111
+ # Note that these two parameters are effectively mutually exclusive. The `tonight` parameter takes precedence and `skip` will be ignored if `tonight` is also passed
112
+ #
113
+ request = ::PlexRubySDK::Operations::ApplyUpdatesRequest.new(
114
+
115
+ tonight: tonight,
116
+ skip: skip
117
+ )
118
+ url, params = @sdk_configuration.get_server_details
119
+ base_url = Utils.template_url(url, params)
120
+ url = "#{base_url}/updater/apply"
121
+ headers = {}
122
+ query_params = Utils.get_query_params(::PlexRubySDK::Operations::ApplyUpdatesRequest, request, @sdk_configuration.globals)
123
+ headers['Accept'] = 'application/json'
124
+ headers['user-agent'] = @sdk_configuration.user_agent
125
+
126
+ r = @sdk_configuration.client.put(url) do |req|
127
+ req.headers = headers
128
+ req.params = query_params
129
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
130
+ end
131
+
132
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
133
+
134
+ res = ::PlexRubySDK::Operations::ApplyUpdatesResponse.new(
135
+ status_code: r.status, content_type: content_type, raw_response: r
136
+ )
137
+ if [200, 500].include?(r.status)
138
+ elsif r.status == 400
139
+ if Utils.match_content_type(content_type, 'application/json')
140
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::ApplyUpdatesBadRequest)
141
+ res.bad_request = out
142
+ end
143
+ elsif r.status == 401
144
+ if Utils.match_content_type(content_type, 'application/json')
145
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::ApplyUpdatesUnauthorized)
146
+ res.unauthorized = out
147
+ end
148
+ end
149
+ res
150
+ end
151
+ end
152
+ end
@@ -0,0 +1,150 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module PlexRubySDK
7
+ module MetadataFields
8
+ extend T::Sig
9
+
10
+ class Field
11
+ attr_accessor :name, :type, :metadata
12
+
13
+ def initialize(name, type, metadata)
14
+ @name = name
15
+ @type = type
16
+ @metadata = metadata
17
+ end
18
+ end
19
+
20
+ module ClassMethods
21
+ extend T::Sig
22
+
23
+ def fields
24
+ @__fields__ = [] if @__fields__.nil?
25
+
26
+ @__fields__
27
+ end
28
+
29
+ def field(field_name, type, metadata = {})
30
+ attr_accessor field_name
31
+
32
+ fields << Field.new(field_name, type, metadata)
33
+ end
34
+
35
+ def unmarshal_single(field_type, value, decoder = nil)
36
+ if field_type.respond_to? :unmarshal_json
37
+ unmarshalled = field_type.unmarshal_json(value)
38
+ return unmarshalled
39
+ elsif field_type.to_s == 'Object'
40
+ # rubocop:disable Lint/SuppressedException
41
+ begin
42
+ value = JSON.parse(value)
43
+ rescue TypeError, JSON::ParserError
44
+ end
45
+ # rubocop:enable Lint/SuppressedException
46
+ return value
47
+ end
48
+ if decoder.nil?
49
+ value
50
+ else
51
+ decoder.call(value)
52
+ end
53
+ end
54
+
55
+ sig { params(json_obj: T.any(String, T::Hash[Symbol, String])).returns(Utils::FieldAugmented) }
56
+ def unmarshal_json(json_obj)
57
+ to_build = new
58
+ begin
59
+ d = JSON.parse(json_obj)
60
+ rescue TypeError, JSON::ParserError
61
+ d = json_obj
62
+ end
63
+ fields.each do |field|
64
+ field_type = field.type
65
+ if T.nilable? field_type
66
+ field_type = T.nilable_of(field_type)
67
+ end
68
+
69
+ key = "#{field.name}="
70
+ lookup = field.metadata.fetch(:format_json, {}).fetch(:letter_case, nil).call
71
+ value = d[lookup]
72
+ next if value.nil?
73
+
74
+ if T.arr? field_type
75
+ inner_type = T.arr_of(field_type)
76
+ unmarshalled_array = value.map { |f| unmarshal_single(inner_type, f) }
77
+ to_build.send(key, unmarshalled_array)
78
+ elsif T.hash? field_type
79
+ val_type = T.hash_of(field_type)
80
+
81
+ # rubocop:disable Style/HashTransformValues
82
+ unmarshalled_hash = value.map { |k, v| [k, unmarshal_single(val_type, v)] }.to_h
83
+ # rubocop:enable Style/HashTransformValues
84
+ to_build.send(key, unmarshalled_hash)
85
+ else
86
+ decoder = field.metadata.fetch(:format_json, {}).fetch(:decoder, nil)
87
+ final_value = unmarshal_single(field_type, value, decoder)
88
+ to_build.send(key, final_value)
89
+ end
90
+ end
91
+ to_build
92
+ end
93
+ end
94
+
95
+ def initialize
96
+ instance = allocate
97
+ fields.each { |mod| instance.singleton_class.include(mod) }
98
+ instance.send(:initialize)
99
+ end
100
+
101
+ def self.included(base)
102
+ base.extend(ClassMethods)
103
+ end
104
+
105
+ def fields
106
+ self.class.fields
107
+ end
108
+
109
+ def field(field_name)
110
+ fields.each do |f|
111
+ return f if f.name == field_name
112
+ end
113
+ end
114
+
115
+ def marshal_single(field)
116
+ if field.respond_to? :marshal_json
117
+ field.marshal_json(encode: false)
118
+ else
119
+ Utils.val_to_string(field, primitives: false)
120
+ end
121
+ end
122
+
123
+ def marshal_json(encode: true)
124
+ d = {}
125
+ fields.sort_by(&:name).each do |field|
126
+ f = send(field.name)
127
+ next if f.nil?
128
+
129
+ format_json_meta = field.metadata[:format_json]
130
+ if !format_json_meta.nil? && format_json_meta.include?(:letter_case)
131
+ key = format_json_meta[:letter_case].call(field.name)
132
+ else
133
+ key = field.name
134
+ end
135
+ if f.is_a? Array
136
+ d[key] = f.map { |o| marshal_single(o) }
137
+ elsif f.is_a? Hash
138
+ d[key] = f.map { |k, v| [k, marshal_single(v)] }
139
+ else
140
+ d[key] = marshal_single(f)
141
+ end
142
+ end
143
+ if encode
144
+ JSON.dump(d)
145
+ else
146
+ d
147
+ end
148
+ end
149
+ end
150
+ end