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,772 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'date'
7
+ require 'sorbet-runtime'
8
+ require 'base64'
9
+ require_relative './metadata_fields'
10
+
11
+ module PlexRubySDK
12
+ module Utils
13
+ extend T::Sig
14
+
15
+ class FieldAugmented
16
+ include MetadataFields
17
+ end
18
+
19
+ sig { params(val: Object, primitives: T::Boolean).returns(Object) }
20
+ def self.val_to_string(val, primitives: true)
21
+ if val.is_a? T::Enum
22
+ val.serialize
23
+ elsif val.is_a? DateTime
24
+ val.strftime('%Y-%m-%dT%H:%M:%S.%NZ')
25
+ elsif primitives
26
+ val.to_s
27
+ else
28
+ val
29
+ end
30
+ end
31
+
32
+ sig { params(headers_params: FieldAugmented, gbls: T.nilable(T::Hash[Symbol, T::Hash[Symbol, T::Hash[Symbol, Object]]])).returns(T::Hash[Symbol, String]) }
33
+ def self.get_headers(headers_params, gbls = nil)
34
+ return {} if headers_params.nil?
35
+
36
+ headers = {}
37
+ param_fields = headers_params.fields
38
+ param_fields.each do |f|
39
+ metadata = f.metadata[:header]
40
+ next if metadata.nil?
41
+
42
+ value = _populate_from_globals(f.name, headers_params&.send(f.name), 'header', gbls)
43
+ value = _serialize_header(metadata.fetch(:explode, false), value)
44
+ headers[metadata.fetch(:field_name, f.name)] = value if !value.empty?
45
+ end
46
+ headers
47
+ end
48
+
49
+ sig { params(explode: T::Boolean, obj: Object).returns(String) }
50
+ def self._serialize_header(explode, obj)
51
+ return '' if obj.nil?
52
+
53
+ if obj.respond_to? :fields
54
+ items = []
55
+ obj_fields = obj.fields
56
+ obj_fields.each do |obj_field|
57
+ obj_param_metadata = obj_field.metadata[:header]
58
+ next if obj_param_metadata.nil?
59
+
60
+ obj_field_name = obj_param_metadata.fetch(:field_name, obj_field.name)
61
+ next if obj_field_name == ''
62
+
63
+ val = obj.send(obj_field.name)
64
+ next if val.nil?
65
+
66
+ if explode
67
+ items.append("#{obj_field_name}=#{val_to_string(val)}")
68
+ else
69
+ items.append(obj_field_name)
70
+ items.append(val_to_string(val))
71
+ end
72
+ end
73
+
74
+ items.join(',') if !items.empty?
75
+ elsif obj.is_a? Hash
76
+ items = []
77
+ obj.each do |key, value|
78
+ next if value.nil?
79
+
80
+ if explode
81
+ items.append("#{key}=#{val_to_string(value)}")
82
+ else
83
+ items.append(key)
84
+ items.append(val_to_string(value))
85
+ end
86
+ end
87
+
88
+ items.join(',') if !items.empty?
89
+ elsif obj.is_a? Array
90
+ items = obj.filter { |v| !v.nil? }.map { |v| val_to_string(v) }.join(',')
91
+ else
92
+ val_to_string(obj)
93
+ end
94
+ end
95
+
96
+ sig do
97
+ params(field_name: String, explode: T::Boolean, obj: Object, delimiter: String,
98
+ get_field_name_lambda: T.proc.params(obj_field: MetadataFields::Field).returns(String))
99
+ .returns(T::Hash[Symbol, T::Array[String]])
100
+ end
101
+ def self._populate_form(field_name, explode, obj, delimiter, &get_field_name_lambda)
102
+ params = {}
103
+
104
+ return params if obj.nil?
105
+
106
+ if obj.respond_to? :fields
107
+ items = []
108
+ obj_fields = obj.fields
109
+ obj_fields.each do |obj_field|
110
+ obj_field_name = get_field_name_lambda.call(obj_field)
111
+ next if obj_field_name == ''
112
+
113
+ val = obj.send(obj_field.name.to_sym)
114
+ next if val.nil?
115
+
116
+ if explode
117
+ params[obj_field_name] = [val_to_string(val)]
118
+ else
119
+ items.append("#{obj_field_name}#{delimiter}#{val_to_string(val)}")
120
+ end
121
+ end
122
+
123
+ params[field_name] = [items.join(delimiter)] if !items.empty?
124
+ elsif obj.is_a? Hash
125
+ items = []
126
+ obj.each do |key, value|
127
+ next if value.nil?
128
+
129
+ if explode
130
+ params[key] = val_to_string(value)
131
+ else
132
+ items.append("#{key}#{delimiter}#{val_to_string(value)}")
133
+ end
134
+ end
135
+ params[field_name] = [items.join(delimiter)] if !items.empty?
136
+
137
+ elsif obj.is_a? Array
138
+ items = []
139
+ obj.each do |value|
140
+ next if value.nil?
141
+
142
+ if explode
143
+ params[field_name] = [] if !params.key? field_name
144
+
145
+ params[field_name].append(val_to_string(value))
146
+ else
147
+ items.append(val_to_string(value))
148
+ end
149
+ end
150
+ params[field_name] = items.map(&:to_s).join(delimiter) if !items.empty?
151
+
152
+ else
153
+ params[field_name] = val_to_string(obj)
154
+ end
155
+ params
156
+ end
157
+
158
+ sig do
159
+ params(metadata: T::Hash[Symbol, String], field_name: String, obj: Object)
160
+ .returns(T::Hash[Symbol, T::Array[String]])
161
+ end
162
+ def self._get_deep_object_query_params(metadata, field_name, obj)
163
+ params = {}
164
+
165
+ return params if obj.nil?
166
+
167
+ if obj.respond_to? :fields
168
+ obj_fields = obj.fields
169
+ obj_fields.each do |obj_field|
170
+ obj_param_metadata = obj_field.metadata[:query_param]
171
+ next if obj_param_metadata.nil?
172
+
173
+ val = obj.send(obj_field.name)
174
+ next if val.nil?
175
+
176
+ key = "#{metadata.fetch(:field_name, field_name)}[#{obj_param_metadata.fetch(:field_name, obj_field.name)}]"
177
+ if val.is_a? Array
178
+ val.each do |v|
179
+ next if v.nil?
180
+
181
+ params[key] = [] if !params.include? key
182
+
183
+ params[key] << val_to_string(v)
184
+ end
185
+ else
186
+ params[key] = [val_to_string(val)]
187
+ end
188
+ end
189
+ elsif obj.is_a? Hash
190
+ obj.each do |key, value|
191
+ next if value.nil?
192
+
193
+ param_key = "#{metadata.fetch(:field_name, field_name)}[#{key}]"
194
+ if value.is_a? Array
195
+ value.each do |val|
196
+ next if val.nil?
197
+
198
+ params[param_key] = [] if !params.include? param_key
199
+
200
+ params[param_key].append(val_to_string(val))
201
+ end
202
+ else
203
+ params[param_key] = [val_to_string(value)]
204
+ end
205
+ end
206
+ end
207
+ params
208
+ end
209
+
210
+ sig do
211
+ params(metadata: T::Hash[Symbol, String], field_name: String, obj: Object)
212
+ .returns(T::Hash[Symbol, T::Array[String]])
213
+ end
214
+ def self._get_serialized_params(metadata, field_name, obj)
215
+ params = {}
216
+
217
+ serialization = metadata.fetch(:serialization, '')
218
+ params[metadata.fetch(:field_name, field_name)] = obj.marshal_json if serialization == 'json'
219
+
220
+ params
221
+ end
222
+
223
+ sig do
224
+ params(metadata: T::Hash[Symbol, String], field_name: String, obj: Object, delimiter: String)
225
+ .returns(T::Hash[Symbol, T::Array[String]])
226
+ end
227
+ def self._get_delimited_query_params(metadata, field_name, obj, delimiter)
228
+ get_query_param_field_name = lambda do |obj_field|
229
+ obj_param_metadata = obj_field.metadata[:query_param]
230
+
231
+ return '' if obj_param_metadata.nil?
232
+
233
+ return obj_param_metadata.fetch(:field_name, obj_field.name)
234
+ end
235
+
236
+ _populate_form(field_name, metadata.fetch(:explode, true), obj, delimiter, &get_query_param_field_name)
237
+ end
238
+
239
+ sig { params(clazz: Class, query_params: FieldAugmented, gbls: T.nilable(T::Hash[Symbol, T::Hash[Symbol, T::Hash[Symbol, Object]]])).returns(T::Hash[Symbol, T::Array[String]]) }
240
+ def self.get_query_params(clazz, query_params, gbls = nil)
241
+ params = {}
242
+ param_fields = clazz.fields
243
+ param_fields.each do |f|
244
+ request_metadata = f.metadata[:request]
245
+ next if !request_metadata.nil?
246
+
247
+ metadata = f.metadata[:query_param]
248
+ next if metadata.nil?
249
+
250
+ param_name = f.name
251
+ value = query_params&.send(param_name.to_sym)
252
+ value = _populate_from_globals(param_name, value, 'queryParam', gbls)
253
+
254
+ f_name = metadata[:field_name]
255
+ serialization = metadata.fetch(:serialization, '')
256
+ if serialization != ''
257
+ params = params.merge _get_serialized_params(
258
+ metadata, f_name, value
259
+ )
260
+ else
261
+ style = metadata.fetch(:style, 'form')
262
+ case style
263
+ when 'deepObject'
264
+ params = params.merge _get_deep_object_query_params(
265
+ metadata, f_name, value
266
+ )
267
+ when 'form'
268
+ params = params.merge _get_delimited_query_params(
269
+ metadata, f_name, value, ','
270
+ )
271
+ when 'pipeDelimited'
272
+ params = params.merge _get_delimited_query_params(
273
+ metadata, f_name, value, '|'
274
+ )
275
+ else
276
+ raise StandardError, 'not yet implemented'
277
+ end
278
+ end
279
+ end
280
+ params
281
+ end
282
+
283
+ sig { params(clazz: Class, server_url: String, path: String, path_params: FieldAugmented, gbls: T.nilable(T::Hash[Symbol, T::Hash[Symbol, T::Hash[Symbol, Object]]])).returns(String) }
284
+ def self.generate_url(clazz, server_url, path, path_params, gbls = nil)
285
+ clazz.fields.each do |f|
286
+ param_metadata = f.metadata[:path_param]
287
+ next if param_metadata.nil?
288
+
289
+ if param_metadata.fetch(:style, 'simple') == 'simple'
290
+ param = path_params.send(f.name) if !path_params.nil?
291
+ param = _populate_from_globals(f.name, param, 'pathParam', gbls)
292
+ end
293
+
294
+ f_name = param_metadata.fetch(:field_name, f.name)
295
+ serialization = param_metadata.fetch(:serialization, '')
296
+ if serialization != ''
297
+ serialized_params = _get_serialized_params(param_metadata, f_name, param)
298
+ serialized_params.each do |k, v|
299
+ path = path.sub("{#{k}}", v)
300
+ end
301
+ else
302
+ if param.is_a? Array
303
+ pp_vals = []
304
+ param.each do |pp_val|
305
+ pp_vals.append(pp_val.to_s)
306
+ end
307
+ path = path.sub("{#{param_metadata.fetch(:field_name, f.name)}}", pp_vals.join(','))
308
+ elsif param.is_a? Hash
309
+ pp_vals = []
310
+ param.each do |pp_key, pp_val|
311
+ value = val_to_string(pp_val)
312
+
313
+ if param_metadata.fetch(:explode, false)
314
+ pp_vals.append("#{pp_key}=#{value}")
315
+ else
316
+ pp_vals.append("#{pp_key},#{value}")
317
+ end
318
+ end
319
+ path = path.sub("{#{param_metadata.fetch(:field_name, f.name)}}", pp_vals.join(','))
320
+ elsif !(param.is_a?(String) || param.is_a?(Integer) ||
321
+ param.is_a?(Float) || param.is_a?(Complex) || param.is_a?(TrueClass) ||
322
+ param.is_a?(FalseClass))
323
+ pp_vals = []
324
+ attrs = param.fields.filter { |field| field.name && param.respond_to?(field.name.to_sym) }.map(&:name)
325
+ attrs.each do |attr|
326
+ field = param.field(attr)
327
+
328
+ param_value_metadata = field.metadata[:path_param]
329
+
330
+ next if param_value_metadata.nil?
331
+
332
+ parm_name = param_value_metadata.fetch(:field_name, f.name)
333
+
334
+ param_field_val = param.send(attr)
335
+
336
+ if param_field_val.is_a? T::Enum
337
+ param_field_val = param_field_val.serialize
338
+ elsif param_field_val.is_a? DateTime
339
+ param_field_val = param_field_val.strftime('%Y-%m-%dT%H:%M:%S.%NZ')
340
+ end
341
+ if !field.nil? && T::Utils::Nilable.is_union_with_nilclass(field.type) && param_field_val.nil?
342
+ next
343
+ elsif param_metadata.fetch(:explode, false)
344
+ pp_vals.append("#{parm_name}=#{param_field_val}")
345
+ else
346
+ pp_vals.append("#{parm_name},#{param_field_val}")
347
+ end
348
+ end
349
+ path = path.sub("{#{param_metadata.fetch(:field_name, f.name)}}", pp_vals.join(','))
350
+ else
351
+ path = path.sub("{#{param_metadata.fetch(:field_name, f.name)}}", param.to_s)
352
+ end
353
+ end
354
+ end
355
+
356
+ server_url.delete_suffix('/') + path
357
+ end
358
+
359
+ sig { params(content_type: String, pattern: String).returns(T::Boolean) }
360
+ def self.match_content_type(content_type, pattern)
361
+ return true if content_type == pattern || pattern == '*' || pattern == '*/*'
362
+
363
+ pieces = content_type.split(';')
364
+ pieces.each do |piece|
365
+ return true if pattern == piece.strip
366
+ end
367
+
368
+ false
369
+ end
370
+
371
+ sig { params(req: Faraday::Request, security: Object).void }
372
+ def self.configure_request_security(req, security)
373
+ sec_fields = security.fields
374
+ sec_fields.each do |sec_field|
375
+ value = security.send(sec_field.name)
376
+ next if value.nil?
377
+
378
+ metadata = sec_field.metadata[:security]
379
+ next if metadata.nil?
380
+
381
+ _parse_security_option(req, value) if metadata[:option]
382
+
383
+ if metadata[:scheme]
384
+ # Special case for basic auth which could be a flattened struct
385
+ if metadata[:sub_type] == 'basic' && !value.respond_to?(:fields)
386
+ _parse_security_scheme(req, metadata, security)
387
+ else
388
+ _parse_security_scheme(req, metadata, value)
389
+ end
390
+ end
391
+ end
392
+ end
393
+
394
+ sig { params(req: Faraday::Request, option: Object).void }
395
+ def self._parse_security_option(req, option)
396
+ opt_fields = option.fields
397
+ opt_fields.each do |opt_field|
398
+ metadata = opt_field.metadata[:security]
399
+ next if metadata.nil? || !metadata.include?(:scheme)
400
+
401
+ _parse_security_scheme(req, metadata, option.send(opt_field.name))
402
+ end
403
+ end
404
+
405
+ sig { params(req: Faraday::Request, scheme_metadata: T::Hash[Symbol, String], scheme: Object).void }
406
+ def self._parse_security_scheme(req, scheme_metadata, scheme)
407
+ scheme_type = scheme_metadata[:type]
408
+ sub_type = scheme_metadata[:sub_type]
409
+
410
+ if scheme.respond_to? :fields
411
+ if scheme_type == 'http' && sub_type == 'basic'
412
+ _parse_basic_auth_scheme(req, scheme)
413
+ return
414
+ end
415
+
416
+ scheme_fields = scheme.fields
417
+ scheme_fields.each do |field|
418
+ metadata = field.metadata[:security]
419
+ next if metadata.nil? || metadata[:field_name].nil?
420
+
421
+ value = scheme.send(field.name)
422
+ _parse_security_scheme_value(req, scheme_metadata, metadata, value)
423
+ end
424
+ else
425
+ _parse_security_scheme_value(req, scheme_metadata, scheme_metadata, scheme)
426
+ end
427
+ end
428
+
429
+ sig do
430
+ params(req: Faraday::Request, scheme_metadata: T::Hash[Symbol, String],
431
+ security_metadata: T::Hash[Symbol, String], value: Object).void
432
+ end
433
+ def self._parse_security_scheme_value(req, scheme_metadata, security_metadata, value)
434
+ scheme_type = scheme_metadata[:type]
435
+ sub_type = scheme_metadata[:sub_type]
436
+
437
+ header_name = security_metadata[:field_name]
438
+
439
+ case scheme_type
440
+ when 'apiKey'
441
+ case sub_type
442
+ when 'header'
443
+ req.headers[header_name] = value
444
+ when 'query'
445
+ req.params[header_name] = value
446
+ when 'cookie'
447
+ req.cookies[header_name] = value
448
+ else
449
+ raise StandardError, 'not supported'
450
+ end
451
+ when 'openIdConnect'
452
+ req.headers[header_name] = value.downcase.start_with?('bearer ') ? value : "Bearer #{value}"
453
+ when 'oauth2'
454
+ req.headers[header_name] = value.downcase.start_with?('bearer ') ? value : "Bearer #{value}"
455
+ when 'http'
456
+ if sub_type == 'bearer'
457
+ req.headers[header_name] = value.downcase.start_with?('bearer ') ? value : "Bearer #{value}"
458
+ else
459
+ raise StandardError, 'not supported'
460
+ end
461
+ else
462
+ raise StandardError, 'not supported'
463
+ end
464
+ end
465
+
466
+ sig { params(req: Faraday::Request, scheme: FieldAugmented).void }
467
+ def self._parse_basic_auth_scheme(req, scheme)
468
+ username, password = ''
469
+
470
+ scheme_fields = scheme.fields
471
+ scheme_fields.each do |scheme_field|
472
+ metadata = scheme_field.metadata[:security]
473
+ next if metadata.nil? || !metadata.include?(:field_name)
474
+
475
+ field_name = metadata[:field_name]
476
+ value = scheme.send(scheme_field.name)
477
+
478
+ username = value if field_name == 'username'
479
+ password = value if field_name == 'password'
480
+ end
481
+
482
+ data = "#{username}:#{password}".encode
483
+ # Use strict_encode, because encode adds newlines after 60 chars
484
+ # https://docs.ruby-lang.org/en/3.0/Base64.html#method-i-encode64
485
+ req.headers['Authorization'] = "Basic #{Base64.strict_encode64(data)}"
486
+ end
487
+
488
+ sig { params(optional: T::Boolean).returns(T.proc.params(s: String).returns(DateTime)) }
489
+ def self.datetime_from_iso_format(optional)
490
+ lambda do |s|
491
+ return nil if optional && s.nil?
492
+
493
+ return DateTime.strptime(s, '%Y-%m-%dT%H:%M:%S.%NZ')
494
+ end
495
+ end
496
+
497
+ sig { params(optional: T::Boolean).returns(T.proc.params(s: String).returns(Date)) }
498
+ def self.date_from_iso_format(optional)
499
+ lambda do |s|
500
+ return nil if optional && s.nil?
501
+
502
+ return Date.iso8601(s)
503
+ end
504
+ end
505
+
506
+ sig do
507
+ params(enum_type: T.class_of(T::Enum), optional: T::Boolean)
508
+ .returns(T.proc.params(s: String).returns(T::Enum))
509
+ end
510
+ def self.enum_from_string(enum_type, optional)
511
+ lambda do |s|
512
+ return nil if optional && s.nil?
513
+
514
+ return enum_type.deserialize(s)
515
+ end
516
+ end
517
+
518
+ sig { params(name: String).returns(T.proc.returns(String)) }
519
+ def self.field_name(name)
520
+ proc { |_, field_name = name| field_name }
521
+ end
522
+
523
+ SERIALIZATION_METHOD_TO_CONTENT_TYPE = {
524
+ 'json': 'application/json',
525
+ 'form': 'application/x-www-form-urlencoded',
526
+ 'multipart': 'multipart/form-data',
527
+ 'raw': 'application/octet-stream',
528
+ 'string': 'text/plain'
529
+ }.freeze
530
+
531
+ sig do
532
+ params(request: Object, request_field_name: Symbol, serialization_method: Symbol)
533
+ .returns([String, Object, Object])
534
+ end
535
+ def self.serialize_request_body(request, request_field_name, serialization_method)
536
+ return ['', nil, nil] if request.nil?
537
+
538
+ return serialize_content_type(request_field_name, SERIALIZATION_METHOD_TO_CONTENT_TYPE[serialization_method], request) if !request.respond_to?(:fields) || !request.respond_to?(request_field_name)
539
+
540
+ request_val = request.send(request_field_name)
541
+
542
+ request_fields = request.fields
543
+ request_metadata = nil
544
+ request_fields.each do |f|
545
+ if f.name == request_field_name
546
+ request_metadata = f.metadata[:request]
547
+ break
548
+ end
549
+ end
550
+ raise StandardError, 'invalid request type' if request_metadata.nil?
551
+
552
+ serialize_content_type(
553
+ :request, request_metadata.fetch(:media_type, 'application/octet-stream'), request_val
554
+ )
555
+ end
556
+
557
+ sig do
558
+ params(field_name: Symbol, media_type: String, request: Object)
559
+ .returns([String, Object, T.nilable(T::Array[T::Array[Object]])])
560
+ end
561
+ def self.serialize_content_type(field_name, media_type, request)
562
+ return media_type, marshal_json_complex(request), nil if media_type.match('(application|text)\/.*?\+*json.*')
563
+ return serialize_multipart_form(media_type, request) if media_type.match('multipart\/.*')
564
+ return media_type, serialize_form_data(field_name, request), nil if media_type.match('application\/x-www-form-urlencoded.*')
565
+ return media_type, request, nil if request.is_a?(String) || request.is_a?(Array)
566
+
567
+ raise StandardError, "invalid request body type #{type(request)} for mediaType {metadata['media_type']}"
568
+ end
569
+
570
+ sig { params(field: MetadataFields::Field, data_class: FieldAugmented).returns(Object) }
571
+ def self.parse_field(field, data_class)
572
+ field_metadata = field.metadata[:metadata_string]
573
+ return nil if field_metadata.nil?
574
+
575
+ field_value = data_class.send(field.name)
576
+ return nil if field_value.nil?
577
+
578
+ field_value
579
+ end
580
+
581
+ sig { params(media_type: String, request: FieldAugmented).returns([String, Object, T::Array[T::Array[Object]]]) }
582
+ def self.serialize_multipart_form(media_type, request)
583
+ form = []
584
+ request_fields = request.fields
585
+ request_fields.each do |field|
586
+ val = request.send(field.name)
587
+ next if val.nil?
588
+
589
+ field_metadata = field.metadata[:multipart_form]
590
+ next if field_metadata.nil?
591
+
592
+ if field_metadata[:file] == true
593
+ file_fields = val.fields
594
+
595
+ file_name = ''
596
+ field_name = ''
597
+ content = nil
598
+
599
+ file_fields.each do |file_field|
600
+ file_metadata = file_field.metadata[:multipart_form]
601
+ next if file_metadata.nil?
602
+
603
+ if file_metadata[:content] == true
604
+ content = val.send(file_field.name)
605
+ else
606
+ field_name = file_metadata.fetch(:field_name, file_field.name)
607
+ file_name = val.send(file_field.name)
608
+ end
609
+ end
610
+ raise StandardError, 'invalid multipart/form-data file' if field_name == '' || file_name == '' || content == nil?
611
+
612
+ form.append([field_name, [file_name, content]])
613
+ elsif field_metadata[:json] == true
614
+ to_append = [
615
+ field_metadata.fetch(:field_name, field.name), [
616
+ nil, marshal_json_complex(val), 'application/json'
617
+ ]
618
+ ]
619
+ form.append(to_append)
620
+ else
621
+ field_name = field_metadata.fetch(
622
+ :field_name, field.name
623
+ )
624
+ if val.is_a? Array
625
+ val.each do |value|
626
+ next if value.nil?
627
+
628
+ form.append(
629
+ ["#{field_name}[]", [nil, val_to_string(value)]]
630
+ )
631
+ end
632
+ else
633
+ form.append([field_name, [nil, val_to_string(val)]])
634
+ end
635
+ end
636
+ end
637
+ [media_type, nil, form]
638
+ end
639
+
640
+ sig do
641
+ params(form: T::Array[T::Array[T.any(String, T::Array[T.nilable(String)])]])
642
+ .returns(T::Hash[Symbol, Object])
643
+ end
644
+ def self.encode_form(form)
645
+ payload = {}
646
+ form.each do |field_name, field|
647
+ if field.length == 2
648
+ if field[0].nil?
649
+ payload[field_name] = field[1]
650
+ else
651
+ payload[field_name] = Faraday::Multipart::FilePart.new(field[0], '', field[1])
652
+ end
653
+ elsif field.length == 3
654
+ payload[field_name] = Faraday::Multipart::ParamPart.new(field[1].to_json, field[2])
655
+ end
656
+ end
657
+ payload
658
+ end
659
+
660
+ sig do
661
+ params(field_name: Symbol, data: T.any(FieldAugmented, T::Hash[Symbol, String]))
662
+ .returns(T::Hash[Symbol, Object])
663
+ end
664
+ def self.serialize_form_data(field_name, data)
665
+ get_form_field_name = lambda do |obj_field|
666
+ obj_param_metadata = obj_field.metadata[:form]
667
+
668
+ return '' if obj_param_metadata.nil?
669
+
670
+ return obj_param_metadata.fetch(:field_name, obj_field.name)
671
+ end
672
+
673
+ form = {}
674
+ if data.respond_to? :fields
675
+ data.fields.each do |field|
676
+ val = data.send(field.name)
677
+ next if val.nil?
678
+
679
+ metadata = field.metadata[:form]
680
+
681
+ next if metadata.nil?
682
+
683
+ field_name = metadata.fetch(:field_name, field.name)
684
+
685
+ if metadata[:json]
686
+ form[field_name] = marshal_json_complex(val)
687
+ else
688
+ if metadata.fetch(:style, 'form') == 'form'
689
+ form = form.merge(
690
+ _populate_form(
691
+ field_name, metadata.fetch(:explode, true), val, ',', &get_form_field_name
692
+ )
693
+ )
694
+ else
695
+ raise StandardError, "Invalid form style for field #{field.name}"
696
+ end
697
+ end
698
+ end
699
+ elsif data.is_a? Hash
700
+ data.each do |key, value|
701
+ form[key] = [val_to_string(value)]
702
+ end
703
+ else
704
+ raise StandardError, "Invalid request body type for field #{field_name}"
705
+ end
706
+
707
+ form
708
+ end
709
+
710
+ sig { params(url_with_params: String, params: T::Hash[Symbol, String]).returns(String) }
711
+ def self.template_url(url_with_params, params)
712
+ params.each do |key, value|
713
+ if value.respond_to? :serialize
714
+ val_str = value.serialize
715
+ else
716
+ val_str = value
717
+ end
718
+ url_with_params = url_with_params.gsub("{#{key}}", val_str)
719
+ end
720
+
721
+ url_with_params
722
+ end
723
+
724
+ sig { params(param_name: Symbol, value: Object, param_type: String, gbls: T.nilable(T::Hash[Symbol, T::Hash[Symbol, T::Hash[Symbol, Object]]])).returns(Object) }
725
+ def self._populate_from_globals(param_name, value, param_type, gbls)
726
+ if value.nil? && !gbls.nil?
727
+ global_value = gbls.dig(:parameters, param_type.to_sym, param_name.to_sym)
728
+ value = global_value if !global_value.nil?
729
+ end
730
+ value
731
+ end
732
+
733
+ sig { params(complex: Object).returns(Object) }
734
+ def self.marshal_json_complex(complex)
735
+ if complex.is_a? Array
736
+ complex.map { |v| Utils.marshal_json_complex(v) }.to_json
737
+ elsif complex.is_a? Hash
738
+ complex.transform_values { |v| Utils.marshal_json_complex(v) }.to_json
739
+ elsif complex.respond_to? :marshal_json
740
+ complex.marshal_json
741
+ else
742
+ complex.to_json
743
+ end
744
+ end
745
+
746
+ sig { params(data: Object, type: Object).returns(Object) }
747
+ def self.unmarshal_complex(data, type)
748
+ begin
749
+ value = unmarshal_json(JSON.parse(data), type)
750
+ rescue TypeError, JSON::ParserError
751
+ value = unmarshal_json(data, type)
752
+ end
753
+ value
754
+ end
755
+
756
+ sig { params(data: Object, type: Object).returns(Object) }
757
+ def self.unmarshal_json(data, type)
758
+ if T.simplifiable? type
759
+ type = T.simplify_type type
760
+ end
761
+ if type.respond_to? :unmarshal_json
762
+ type.unmarshal_json(data)
763
+ elsif T.arr? type
764
+ data.map { |v| Utils.unmarshal_complex(v, T.arr_of(type)) }
765
+ elsif T.hash? type
766
+ data.transform_values { |v| Utils.unmarshal_complex(v, T.hash_of(type)) }
767
+ else
768
+ data
769
+ end
770
+ end
771
+ end
772
+ end