onlyfans 0.2.0 → 0.3.0

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 (338) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +315 -0
  3. data/README.md +9 -4
  4. data/lib/onlyfans/client.rb +11 -3
  5. data/lib/onlyfans/internal/transport/base_client.rb +4 -1
  6. data/lib/onlyfans/models/analytics/financial/profitability_get_history_response.rb +114 -36
  7. data/lib/onlyfans/models/analytics/financial/profitability_get_profitability_response.rb +112 -46
  8. data/lib/onlyfans/models/authenticate_start_params.rb +1 -0
  9. data/lib/onlyfans/models/chat_list_media_params.rb +6 -2
  10. data/lib/onlyfans/models/chat_list_params.rb +8 -3
  11. data/lib/onlyfans/models/chats/message_list_params.rb +6 -6
  12. data/lib/onlyfans/models/chats/message_send_params.rb +41 -6
  13. data/lib/onlyfans/models/client_session_create_params.rb +1 -0
  14. data/lib/onlyfans/models/data_export_create_params.rb +36 -21
  15. data/lib/onlyfans/models/data_export_list_params.rb +5 -0
  16. data/lib/onlyfans/models/data_export_list_response.rb +7 -1
  17. data/lib/onlyfans/models/data_export_retrieve_response.rb +7 -1
  18. data/lib/onlyfans/models/engagement/message_get_message_buyers_params.rb +2 -2
  19. data/lib/onlyfans/models/engagement/message_get_top_message_params.rb +3 -3
  20. data/lib/onlyfans/models/engagement/messages/direct_message_chart_params.rb +2 -2
  21. data/lib/onlyfans/models/engagement/messages/direct_message_list_params.rb +3 -3
  22. data/lib/onlyfans/models/engagement/messages/mass_message_chart_params.rb +2 -2
  23. data/lib/onlyfans/models/engagement/messages/mass_message_list_params.rb +3 -3
  24. data/lib/onlyfans/models/fan_list_active_params.rb +55 -13
  25. data/lib/onlyfans/models/fan_list_all_params.rb +55 -13
  26. data/lib/onlyfans/models/fan_list_expired_params.rb +55 -13
  27. data/lib/onlyfans/models/fan_list_latest_params.rb +8 -8
  28. data/lib/onlyfans/models/fan_list_top_params.rb +6 -6
  29. data/lib/onlyfans/models/fans/summary_get_summary_response.rb +49 -2
  30. data/lib/onlyfans/models/following_list_active_params.rb +79 -1
  31. data/lib/onlyfans/models/following_list_all_params.rb +79 -1
  32. data/lib/onlyfans/models/following_list_expired_params.rb +79 -1
  33. data/lib/onlyfans/models/link_tag_list_params.rb +4 -3
  34. data/lib/onlyfans/models/mass_messaging_retrieve_overview_params.rb +3 -3
  35. data/lib/onlyfans/models/mass_messaging_send_params.rb +44 -6
  36. data/lib/onlyfans/models/mass_messaging_update_params.rb +34 -6
  37. data/lib/onlyfans/models/media/upload_get_status_response.rb +54 -27
  38. data/lib/onlyfans/models/media/vault/list_list_params.rb +14 -1
  39. data/lib/onlyfans/models/media/vault/list_list_response.rb +420 -202
  40. data/lib/onlyfans/models/media/vault/list_update_params.rb +11 -1
  41. data/lib/onlyfans/models/media/vault_upload_params.rb +3 -1
  42. data/lib/onlyfans/models/media_upload_params.rb +3 -1
  43. data/lib/onlyfans/models/notification_list_params.rb +3 -3
  44. data/lib/onlyfans/models/post_create_params.rb +29 -1
  45. data/lib/onlyfans/models/post_update_params.rb +29 -1
  46. data/lib/onlyfans/models/queue_list_params.rb +36 -15
  47. data/lib/onlyfans/models/release_form_list_taggable_users_response.rb +8 -8
  48. data/lib/onlyfans/models/shared_tracking_link_list_params.rb +75 -10
  49. data/lib/onlyfans/models/shared_trial_link_list_params.rb +26 -10
  50. data/lib/onlyfans/models/smart_link_create_response.rb +2 -2
  51. data/lib/onlyfans/models/smart_link_list_clicks_response.rb +19 -1
  52. data/lib/onlyfans/models/smart_link_list_conversions_params.rb +1 -0
  53. data/lib/onlyfans/models/smart_link_list_conversions_response.rb +19 -1
  54. data/lib/onlyfans/models/smart_link_list_fans_params.rb +21 -1
  55. data/lib/onlyfans/models/smart_link_list_fans_response.rb +99 -3
  56. data/lib/onlyfans/models/smart_link_list_params.rb +27 -9
  57. data/lib/onlyfans/models/smart_link_postback_create_params.rb +66 -4
  58. data/lib/onlyfans/models/smart_link_postback_create_response.rb +48 -1
  59. data/lib/onlyfans/models/smart_link_postback_list_response.rb +48 -1
  60. data/lib/onlyfans/models/smart_link_postback_retrieve_response.rb +48 -1
  61. data/lib/onlyfans/models/smart_link_postback_update_params.rb +65 -1
  62. data/lib/onlyfans/models/smart_link_postback_update_response.rb +48 -1
  63. data/lib/onlyfans/models/statistic_calculate_total_transactions_params.rb +5 -5
  64. data/lib/onlyfans/models/statistic_get_subscriber_metrics_params.rb +25 -1
  65. data/lib/onlyfans/models/statistics/reach_get_profile_visitors_params.rb +2 -2
  66. data/lib/onlyfans/models/statistics/statement_get_earnings_params.rb +10 -10
  67. data/lib/onlyfans/models/stored_list_tracking_links_response.rb +7 -1
  68. data/lib/onlyfans/models/stored_list_trial_links_response.rb +7 -1
  69. data/lib/onlyfans/models/story_create_params.rb +293 -6
  70. data/lib/onlyfans/models/story_create_response.rb +330 -7
  71. data/lib/onlyfans/models/tracking_link_get_stats_response.rb +7 -1
  72. data/lib/onlyfans/models/tracking_link_list_params.rb +58 -30
  73. data/lib/onlyfans/models/tracking_link_list_response.rb +7 -1
  74. data/lib/onlyfans/models/tracking_link_list_spenders_response.rb +7 -1
  75. data/lib/onlyfans/models/tracking_link_retrieve_response.rb +7 -1
  76. data/lib/onlyfans/models/transaction_list_params.rb +2 -2
  77. data/lib/onlyfans/models/trial_link_list_params.rb +44 -27
  78. data/lib/onlyfans/models/trial_link_list_response.rb +7 -1
  79. data/lib/onlyfans/models/trial_link_list_spenders_response.rb +7 -1
  80. data/lib/onlyfans/models/trial_link_retrieve_response.rb +7 -1
  81. data/lib/onlyfans/models/trial_link_retrieve_stats_response.rb +7 -1
  82. data/lib/onlyfans/models/user_list_list_params.rb +21 -1
  83. data/lib/onlyfans/models/user_lists/user_add_params.rb +18 -1
  84. data/lib/onlyfans/models/user_lists/user_add_response.rb +246 -88
  85. data/lib/onlyfans/models/webhook_create_params.rb +11 -7
  86. data/lib/onlyfans/models/webhook_update_params.rb +11 -7
  87. data/lib/onlyfans/models.rb +0 -2
  88. data/lib/onlyfans/resources/analytics/financial/profitability.rb +4 -4
  89. data/lib/onlyfans/resources/chats/messages.rb +47 -8
  90. data/lib/onlyfans/resources/chats.rb +7 -4
  91. data/lib/onlyfans/resources/data_exports.rb +1 -1
  92. data/lib/onlyfans/resources/engagement/messages/direct_messages.rb +2 -2
  93. data/lib/onlyfans/resources/engagement/messages/mass_messages.rb +2 -2
  94. data/lib/onlyfans/resources/engagement/messages.rb +2 -2
  95. data/lib/onlyfans/resources/fans.rb +43 -10
  96. data/lib/onlyfans/resources/following.rb +58 -12
  97. data/lib/onlyfans/resources/link_tags.rb +4 -4
  98. data/lib/onlyfans/resources/mass_messaging.rb +18 -9
  99. data/lib/onlyfans/resources/media/uploads.rb +6 -1
  100. data/lib/onlyfans/resources/media/vault/lists.rb +30 -5
  101. data/lib/onlyfans/resources/media.rb +14 -8
  102. data/lib/onlyfans/resources/messages.rb +0 -39
  103. data/lib/onlyfans/resources/notifications.rb +1 -1
  104. data/lib/onlyfans/resources/posts.rb +6 -2
  105. data/lib/onlyfans/resources/queue.rb +9 -6
  106. data/lib/onlyfans/resources/release_forms.rb +2 -1
  107. data/lib/onlyfans/resources/shared_tracking_links.rb +12 -5
  108. data/lib/onlyfans/resources/shared_trial_links.rb +6 -5
  109. data/lib/onlyfans/resources/smart_link_postbacks.rb +18 -3
  110. data/lib/onlyfans/resources/smart_links.rb +13 -4
  111. data/lib/onlyfans/resources/statistics/reach.rb +1 -1
  112. data/lib/onlyfans/resources/statistics/statements.rb +3 -3
  113. data/lib/onlyfans/resources/statistics.rb +5 -3
  114. data/lib/onlyfans/resources/stories.rb +13 -6
  115. data/lib/onlyfans/resources/tracking_links/tags.rb +5 -1
  116. data/lib/onlyfans/resources/tracking_links.rb +21 -11
  117. data/lib/onlyfans/resources/transactions.rb +1 -1
  118. data/lib/onlyfans/resources/trial_links/tags.rb +5 -1
  119. data/lib/onlyfans/resources/trial_links.rb +22 -10
  120. data/lib/onlyfans/resources/user_lists/users.rb +7 -2
  121. data/lib/onlyfans/resources/user_lists.rb +5 -2
  122. data/lib/onlyfans/resources/users.rb +4 -1
  123. data/lib/onlyfans/resources/webhooks.rb +6 -4
  124. data/lib/onlyfans/version.rb +1 -1
  125. data/lib/onlyfans.rb +0 -3
  126. data/rbi/onlyfans/client.rbi +11 -3
  127. data/rbi/onlyfans/models/analytics/financial/profitability_get_history_response.rbi +203 -63
  128. data/rbi/onlyfans/models/analytics/financial/profitability_get_profitability_response.rbi +201 -79
  129. data/rbi/onlyfans/models/authenticate_start_params.rbi +5 -0
  130. data/rbi/onlyfans/models/chat_list_media_params.rbi +4 -2
  131. data/rbi/onlyfans/models/chat_list_params.rbi +6 -3
  132. data/rbi/onlyfans/models/chats/message_list_params.rbi +8 -8
  133. data/rbi/onlyfans/models/chats/message_send_params.rbi +88 -6
  134. data/rbi/onlyfans/models/client_session_create_params.rbi +5 -0
  135. data/rbi/onlyfans/models/data_export_create_params.rbi +69 -37
  136. data/rbi/onlyfans/models/data_export_list_params.rbi +18 -0
  137. data/rbi/onlyfans/models/data_export_list_response.rbi +9 -0
  138. data/rbi/onlyfans/models/data_export_retrieve_response.rbi +9 -0
  139. data/rbi/onlyfans/models/engagement/message_get_message_buyers_params.rbi +2 -2
  140. data/rbi/onlyfans/models/engagement/message_get_top_message_params.rbi +4 -4
  141. data/rbi/onlyfans/models/engagement/messages/direct_message_chart_params.rbi +2 -2
  142. data/rbi/onlyfans/models/engagement/messages/direct_message_list_params.rbi +4 -4
  143. data/rbi/onlyfans/models/engagement/messages/mass_message_chart_params.rbi +2 -2
  144. data/rbi/onlyfans/models/engagement/messages/mass_message_list_params.rbi +4 -4
  145. data/rbi/onlyfans/models/fan_list_active_params.rbi +84 -13
  146. data/rbi/onlyfans/models/fan_list_all_params.rbi +84 -13
  147. data/rbi/onlyfans/models/fan_list_expired_params.rbi +84 -13
  148. data/rbi/onlyfans/models/fan_list_latest_params.rbi +10 -10
  149. data/rbi/onlyfans/models/fan_list_top_params.rbi +8 -8
  150. data/rbi/onlyfans/models/fans/summary_get_summary_response.rbi +96 -0
  151. data/rbi/onlyfans/models/following_list_active_params.rbi +160 -0
  152. data/rbi/onlyfans/models/following_list_all_params.rbi +155 -0
  153. data/rbi/onlyfans/models/following_list_expired_params.rbi +160 -0
  154. data/rbi/onlyfans/models/link_tag_list_params.rbi +5 -3
  155. data/rbi/onlyfans/models/mass_messaging_retrieve_overview_params.rbi +4 -4
  156. data/rbi/onlyfans/models/mass_messaging_send_params.rbi +91 -6
  157. data/rbi/onlyfans/models/mass_messaging_update_params.rbi +76 -6
  158. data/rbi/onlyfans/models/media/upload_get_status_response.rbi +79 -33
  159. data/rbi/onlyfans/models/media/vault/list_list_params.rbi +15 -0
  160. data/rbi/onlyfans/models/media/vault/list_list_response.rbi +972 -428
  161. data/rbi/onlyfans/models/media/vault/list_update_params.rbi +13 -1
  162. data/rbi/onlyfans/models/media/vault_upload_params.rbi +6 -2
  163. data/rbi/onlyfans/models/media_upload_params.rbi +6 -2
  164. data/rbi/onlyfans/models/notification_list_params.rbi +3 -3
  165. data/rbi/onlyfans/models/post_create_params.rbi +66 -0
  166. data/rbi/onlyfans/models/post_update_params.rbi +66 -0
  167. data/rbi/onlyfans/models/queue_list_params.rbi +59 -16
  168. data/rbi/onlyfans/models/release_form_list_taggable_users_response.rbi +12 -12
  169. data/rbi/onlyfans/models/shared_tracking_link_list_params.rbi +198 -11
  170. data/rbi/onlyfans/models/shared_trial_link_list_params.rbi +64 -11
  171. data/rbi/onlyfans/models/smart_link_create_response.rbi +6 -3
  172. data/rbi/onlyfans/models/smart_link_list_clicks_response.rbi +21 -3
  173. data/rbi/onlyfans/models/smart_link_list_conversions_params.rbi +5 -0
  174. data/rbi/onlyfans/models/smart_link_list_conversions_response.rbi +21 -3
  175. data/rbi/onlyfans/models/smart_link_list_fans_params.rbi +24 -0
  176. data/rbi/onlyfans/models/smart_link_list_fans_response.rbi +205 -3
  177. data/rbi/onlyfans/models/smart_link_list_params.rbi +45 -8
  178. data/rbi/onlyfans/models/smart_link_postback_create_params.rbi +139 -4
  179. data/rbi/onlyfans/models/smart_link_postback_create_response.rbi +96 -0
  180. data/rbi/onlyfans/models/smart_link_postback_list_response.rbi +96 -0
  181. data/rbi/onlyfans/models/smart_link_postback_retrieve_response.rbi +96 -0
  182. data/rbi/onlyfans/models/smart_link_postback_update_params.rbi +133 -0
  183. data/rbi/onlyfans/models/smart_link_postback_update_response.rbi +96 -0
  184. data/rbi/onlyfans/models/statistic_calculate_total_transactions_params.rbi +12 -6
  185. data/rbi/onlyfans/models/statistic_get_subscriber_metrics_params.rbi +63 -0
  186. data/rbi/onlyfans/models/statistics/reach_get_profile_visitors_params.rbi +2 -2
  187. data/rbi/onlyfans/models/statistics/statement_get_earnings_params.rbi +10 -13
  188. data/rbi/onlyfans/models/stored_list_tracking_links_response.rbi +9 -0
  189. data/rbi/onlyfans/models/stored_list_trial_links_response.rbi +9 -0
  190. data/rbi/onlyfans/models/story_create_params.rbi +548 -4
  191. data/rbi/onlyfans/models/story_create_response.rbi +670 -8
  192. data/rbi/onlyfans/models/tracking_link_get_stats_response.rbi +9 -0
  193. data/rbi/onlyfans/models/tracking_link_list_params.rbi +144 -45
  194. data/rbi/onlyfans/models/tracking_link_list_response.rbi +9 -0
  195. data/rbi/onlyfans/models/tracking_link_list_spenders_response.rbi +17 -5
  196. data/rbi/onlyfans/models/tracking_link_retrieve_response.rbi +9 -0
  197. data/rbi/onlyfans/models/transaction_list_params.rbi +2 -2
  198. data/rbi/onlyfans/models/trial_link_list_params.rbi +66 -33
  199. data/rbi/onlyfans/models/trial_link_list_response.rbi +9 -0
  200. data/rbi/onlyfans/models/trial_link_list_spenders_response.rbi +17 -5
  201. data/rbi/onlyfans/models/trial_link_retrieve_response.rbi +9 -0
  202. data/rbi/onlyfans/models/trial_link_retrieve_stats_response.rbi +9 -0
  203. data/rbi/onlyfans/models/user_list_list_params.rbi +33 -0
  204. data/rbi/onlyfans/models/user_lists/user_add_params.rbi +23 -0
  205. data/rbi/onlyfans/models/user_lists/user_add_response.rbi +596 -181
  206. data/rbi/onlyfans/models/webhook_create_params.rbi +16 -10
  207. data/rbi/onlyfans/models/webhook_update_params.rbi +16 -10
  208. data/rbi/onlyfans/models.rbi +0 -2
  209. data/rbi/onlyfans/resources/analytics/financial/profitability.rbi +2 -6
  210. data/rbi/onlyfans/resources/chats/messages.rbi +53 -10
  211. data/rbi/onlyfans/resources/chats.rbi +6 -5
  212. data/rbi/onlyfans/resources/data_exports.rbi +26 -17
  213. data/rbi/onlyfans/resources/engagement/messages/direct_messages.rbi +3 -3
  214. data/rbi/onlyfans/resources/engagement/messages/mass_messages.rbi +3 -3
  215. data/rbi/onlyfans/resources/engagement/messages.rbi +3 -3
  216. data/rbi/onlyfans/resources/fans.rbi +50 -17
  217. data/rbi/onlyfans/resources/following.rbi +122 -4
  218. data/rbi/onlyfans/resources/link_tags.rbi +4 -4
  219. data/rbi/onlyfans/resources/mass_messaging.rbi +32 -10
  220. data/rbi/onlyfans/resources/media/uploads.rbi +5 -0
  221. data/rbi/onlyfans/resources/media/vault/lists.rbi +28 -3
  222. data/rbi/onlyfans/resources/media/vault.rbi +3 -1
  223. data/rbi/onlyfans/resources/media.rbi +16 -7
  224. data/rbi/onlyfans/resources/messages.rbi +0 -29
  225. data/rbi/onlyfans/resources/notifications.rbi +1 -1
  226. data/rbi/onlyfans/resources/posts.rbi +14 -0
  227. data/rbi/onlyfans/resources/queue.rbi +15 -8
  228. data/rbi/onlyfans/resources/release_forms.rbi +2 -1
  229. data/rbi/onlyfans/resources/shared_tracking_links.rbi +21 -5
  230. data/rbi/onlyfans/resources/shared_trial_links.rbi +8 -5
  231. data/rbi/onlyfans/resources/smart_link_postbacks.rbi +27 -2
  232. data/rbi/onlyfans/resources/smart_links.rbi +12 -3
  233. data/rbi/onlyfans/resources/statistics/reach.rbi +1 -1
  234. data/rbi/onlyfans/resources/statistics/statements.rbi +4 -4
  235. data/rbi/onlyfans/resources/statistics.rbi +9 -2
  236. data/rbi/onlyfans/resources/stories.rbi +16 -3
  237. data/rbi/onlyfans/resources/tracking_links/tags.rbi +5 -1
  238. data/rbi/onlyfans/resources/tracking_links.rbi +30 -19
  239. data/rbi/onlyfans/resources/transactions.rbi +1 -1
  240. data/rbi/onlyfans/resources/trial_links/tags.rbi +5 -1
  241. data/rbi/onlyfans/resources/trial_links.rbi +29 -14
  242. data/rbi/onlyfans/resources/user_lists/users.rbi +10 -1
  243. data/rbi/onlyfans/resources/user_lists.rbi +6 -1
  244. data/rbi/onlyfans/resources/users.rbi +2 -1
  245. data/rbi/onlyfans/resources/webhooks.rbi +16 -10
  246. data/sig/onlyfans/models/analytics/financial/profitability_get_history_response.rbs +129 -40
  247. data/sig/onlyfans/models/analytics/financial/profitability_get_profitability_response.rbs +125 -50
  248. data/sig/onlyfans/models/authenticate_start_params.rbs +2 -1
  249. data/sig/onlyfans/models/chats/message_send_params.rbs +34 -6
  250. data/sig/onlyfans/models/client_session_create_params.rbs +2 -1
  251. data/sig/onlyfans/models/data_export_create_params.rbs +4 -0
  252. data/sig/onlyfans/models/data_export_list_params.rbs +10 -0
  253. data/sig/onlyfans/models/data_export_list_response.rbs +7 -0
  254. data/sig/onlyfans/models/data_export_retrieve_response.rbs +7 -0
  255. data/sig/onlyfans/models/fan_list_active_params.rbs +7 -0
  256. data/sig/onlyfans/models/fan_list_all_params.rbs +7 -0
  257. data/sig/onlyfans/models/fan_list_expired_params.rbs +7 -0
  258. data/sig/onlyfans/models/fans/summary_get_summary_response.rbs +53 -0
  259. data/sig/onlyfans/models/following_list_active_params.rbs +35 -1
  260. data/sig/onlyfans/models/following_list_all_params.rbs +35 -1
  261. data/sig/onlyfans/models/following_list_expired_params.rbs +35 -1
  262. data/sig/onlyfans/models/link_tag_list_params.rbs +2 -1
  263. data/sig/onlyfans/models/mass_messaging_send_params.rbs +33 -5
  264. data/sig/onlyfans/models/mass_messaging_update_params.rbs +26 -5
  265. data/sig/onlyfans/models/media/upload_get_status_response.rbs +65 -39
  266. data/sig/onlyfans/models/media/vault/list_list_params.rbs +13 -1
  267. data/sig/onlyfans/models/media/vault/list_list_response.rbs +519 -235
  268. data/sig/onlyfans/models/media/vault/list_update_params.rbs +5 -1
  269. data/sig/onlyfans/models/post_create_params.rbs +21 -0
  270. data/sig/onlyfans/models/post_update_params.rbs +21 -0
  271. data/sig/onlyfans/models/queue_list_params.rbs +28 -6
  272. data/sig/onlyfans/models/release_form_list_taggable_users_response.rbs +7 -10
  273. data/sig/onlyfans/models/shared_tracking_link_list_params.rbs +78 -4
  274. data/sig/onlyfans/models/shared_trial_link_list_params.rbs +31 -4
  275. data/sig/onlyfans/models/smart_link_create_response.rbs +6 -4
  276. data/sig/onlyfans/models/smart_link_list_clicks_response.rbs +18 -3
  277. data/sig/onlyfans/models/smart_link_list_conversions_params.rbs +2 -0
  278. data/sig/onlyfans/models/smart_link_list_conversions_response.rbs +18 -3
  279. data/sig/onlyfans/models/smart_link_list_fans_params.rbs +15 -1
  280. data/sig/onlyfans/models/smart_link_list_fans_response.rbs +125 -3
  281. data/sig/onlyfans/models/smart_link_list_params.rbs +27 -6
  282. data/sig/onlyfans/models/smart_link_postback_create_params.rbs +48 -0
  283. data/sig/onlyfans/models/smart_link_postback_create_response.rbs +53 -0
  284. data/sig/onlyfans/models/smart_link_postback_list_response.rbs +53 -0
  285. data/sig/onlyfans/models/smart_link_postback_retrieve_response.rbs +53 -0
  286. data/sig/onlyfans/models/smart_link_postback_update_params.rbs +48 -0
  287. data/sig/onlyfans/models/smart_link_postback_update_response.rbs +53 -0
  288. data/sig/onlyfans/models/statistic_calculate_total_transactions_params.rbs +8 -4
  289. data/sig/onlyfans/models/statistic_get_subscriber_metrics_params.rbs +23 -1
  290. data/sig/onlyfans/models/statistics/statement_get_earnings_params.rbs +5 -7
  291. data/sig/onlyfans/models/stored_list_tracking_links_response.rbs +7 -0
  292. data/sig/onlyfans/models/stored_list_trial_links_response.rbs +7 -0
  293. data/sig/onlyfans/models/story_create_params.rbs +271 -1
  294. data/sig/onlyfans/models/story_create_response.rbs +419 -9
  295. data/sig/onlyfans/models/tracking_link_get_stats_response.rbs +7 -0
  296. data/sig/onlyfans/models/tracking_link_list_params.rbs +75 -26
  297. data/sig/onlyfans/models/tracking_link_list_response.rbs +7 -0
  298. data/sig/onlyfans/models/tracking_link_list_spenders_response.rbs +16 -3
  299. data/sig/onlyfans/models/tracking_link_retrieve_response.rbs +7 -0
  300. data/sig/onlyfans/models/trial_link_list_params.rbs +42 -18
  301. data/sig/onlyfans/models/trial_link_list_response.rbs +7 -0
  302. data/sig/onlyfans/models/trial_link_list_spenders_response.rbs +16 -3
  303. data/sig/onlyfans/models/trial_link_retrieve_response.rbs +7 -0
  304. data/sig/onlyfans/models/trial_link_retrieve_stats_response.rbs +7 -0
  305. data/sig/onlyfans/models/user_list_list_params.rbs +24 -1
  306. data/sig/onlyfans/models/user_lists/user_add_params.rbs +12 -1
  307. data/sig/onlyfans/models/user_lists/user_add_response.rbs +300 -101
  308. data/sig/onlyfans/models.rbs +0 -2
  309. data/sig/onlyfans/resources/analytics/financial/profitability.rbs +2 -2
  310. data/sig/onlyfans/resources/chats/messages.rbs +3 -1
  311. data/sig/onlyfans/resources/following.rbs +6 -0
  312. data/sig/onlyfans/resources/mass_messaging.rbs +5 -2
  313. data/sig/onlyfans/resources/media/vault/lists.rbs +3 -1
  314. data/sig/onlyfans/resources/media.rbs +1 -1
  315. data/sig/onlyfans/resources/messages.rbs +0 -9
  316. data/sig/onlyfans/resources/posts.rbs +2 -0
  317. data/sig/onlyfans/resources/queue.rbs +2 -1
  318. data/sig/onlyfans/resources/shared_tracking_links.rbs +5 -1
  319. data/sig/onlyfans/resources/shared_trial_links.rbs +2 -1
  320. data/sig/onlyfans/resources/smart_link_postbacks.rbs +6 -0
  321. data/sig/onlyfans/resources/smart_links.rbs +4 -1
  322. data/sig/onlyfans/resources/statistics/statements.rbs +1 -1
  323. data/sig/onlyfans/resources/statistics.rbs +3 -2
  324. data/sig/onlyfans/resources/stories.rbs +4 -0
  325. data/sig/onlyfans/resources/tracking_links.rbs +7 -6
  326. data/sig/onlyfans/resources/trial_links.rbs +7 -5
  327. data/sig/onlyfans/resources/user_lists/users.rbs +2 -1
  328. data/sig/onlyfans/resources/user_lists.rbs +1 -0
  329. metadata +9 -15
  330. data/lib/onlyfans/models/media_download_response.rb +0 -7
  331. data/lib/onlyfans/models/message_attach_tags_params.rb +0 -52
  332. data/lib/onlyfans/models/message_attach_tags_response.rb +0 -125
  333. data/rbi/onlyfans/models/media_download_response.rbi +0 -7
  334. data/rbi/onlyfans/models/message_attach_tags_params.rbi +0 -80
  335. data/rbi/onlyfans/models/message_attach_tags_response.rbi +0 -308
  336. data/sig/onlyfans/models/media_download_response.rbs +0 -5
  337. data/sig/onlyfans/models/message_attach_tags_params.rbs +0 -52
  338. data/sig/onlyfans/models/message_attach_tags_response.rbs +0 -164
@@ -2,9 +2,17 @@
2
2
 
3
3
  module Onlyfans
4
4
  module Resources
5
- # APIs for managing tracking links
5
+ # APIs for managing tracking links. Revenue totals are net earnings after refunds
6
+ # and chargebacks. `revenue.chargebacks` (or `summary.chargebacks_total` in stats)
7
+ # is the positive cached net amount already excluded from revenue; do not subtract
8
+ # it again. Spender responses include chargebacks across all attributed periods
9
+ # for each fan with positive net revenue.
6
10
  class TrackingLinks
7
- # APIs for managing tracking links
11
+ # APIs for managing tracking links. Revenue totals are net earnings after refunds
12
+ # and chargebacks. `revenue.chargebacks` (or `summary.chargebacks_total` in stats)
13
+ # is the positive cached net amount already excluded from revenue; do not subtract
14
+ # it again. Spender responses include chargebacks across all attributed periods
15
+ # for each fan with positive net revenue.
8
16
  # @return [Onlyfans::Resources::TrackingLinks::Tags]
9
17
  attr_reader :tags
10
18
 
@@ -66,25 +74,27 @@ module Onlyfans
66
74
  #
67
75
  # List all tracking links for the account and revenue data
68
76
  #
69
- # @overload list(account, end_date: nil, limit: nil, offset: nil, sort: nil, sortby: nil, start_date: nil, synchronous: nil, with_deleted: nil, request_options: {})
77
+ # @overload list(account, end_date: nil, limit: nil, offset: nil, pagination: nil, sort: nil, sortby: nil, start_date: nil, synchronous: nil, with_deleted: nil, request_options: {})
70
78
  #
71
79
  # @param account [String] The Account ID
72
80
  #
73
- # @param end_date [String, nil] The end date for Tracking Links. Keep empty to get all.
81
+ # @param end_date [String, nil] The end date for tracking links. Keep empty to get all. Must not be greater than
74
82
  #
75
- # @param limit [Integer, nil] The number of tracking links to return. Default `3`
83
+ # @param limit [Integer] The number of tracking links to return. Default `10`. Must be at least 1. Must n
76
84
  #
77
- # @param offset [Integer, nil] The offset used for pagination. Default `0`
85
+ # @param offset [Integer] The offset used for pagination. Default `0`. Must be at least 0.
78
86
  #
79
- # @param sort [Symbol, Onlyfans::Models::TrackingLinkListParams::Sort, nil] Sort the results. Default `desc`
87
+ # @param pagination [Integer, Onlyfans::Models::TrackingLinkListParams::Pagination]
80
88
  #
81
- # @param sortby [Symbol, Onlyfans::Models::TrackingLinkListParams::Sortby, nil] Sort by subscriber count (claims), or creation date
89
+ # @param sort [Symbol, Onlyfans::Models::TrackingLinkListParams::Sort] Sort direction. Default `desc`.
82
90
  #
83
- # @param start_date [String, nil] The start date for Tracking Links. Keep empty to get all.
91
+ # @param sortby [Symbol, Onlyfans::Models::TrackingLinkListParams::Sortby] Sort by subscriber count (`claims`) or creation date (`created_date`).
84
92
  #
85
- # @param synchronous [Boolean, nil] Wait for the revenue data to finish processing, instead of processing in the bac
93
+ # @param start_date [String, nil] The start date for tracking links. Keep empty to get all. Must not be greater th
86
94
  #
87
- # @param with_deleted [Boolean, nil] Whether or not to include deleted tracking links in the response. Default `false
95
+ # @param synchronous [Boolean] Wait for revenue calculation instead of processing it in the background.
96
+ #
97
+ # @param with_deleted [Integer, Onlyfans::Models::TrackingLinkListParams::WithDeleted] Whether to include deleted tracking links. Default `true`.
88
98
  #
89
99
  # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}, nil]
90
100
  #
@@ -18,7 +18,7 @@ module Onlyfans
18
18
  #
19
19
  # @param marker [String] The marker used for pagination. Default: `null`
20
20
  #
21
- # @param start_date [String] The start date for transactions list. Default: `-30days`
21
+ # @param start_date [String] The start date for the transactions list. Defaults to 30 days ago.
22
22
  #
23
23
  # @param tips_source [String] Filter tips by source. Only applies when `type=tips`. Options: `profile`,
24
24
  # `post\_
@@ -3,7 +3,11 @@
3
3
  module Onlyfans
4
4
  module Resources
5
5
  class TrialLinks
6
- # APIs for managing Free Trial Links
6
+ # APIs for managing Free Trial Links. Revenue totals are net earnings after
7
+ # refunds and chargebacks. `revenue.chargebacks` (or `summary.chargebacks_total`
8
+ # in stats) is the positive cached net amount already excluded from revenue; do
9
+ # not subtract it again. Spender responses include chargebacks across all
10
+ # attributed periods for each fan with positive net revenue.
7
11
  class Tags
8
12
  # Get tags for a specific free trial link. This is a free endpoint.
9
13
  #
@@ -2,9 +2,17 @@
2
2
 
3
3
  module Onlyfans
4
4
  module Resources
5
- # APIs for managing Free Trial Links
5
+ # APIs for managing Free Trial Links. Revenue totals are net earnings after
6
+ # refunds and chargebacks. `revenue.chargebacks` (or `summary.chargebacks_total`
7
+ # in stats) is the positive cached net amount already excluded from revenue; do
8
+ # not subtract it again. Spender responses include chargebacks across all
9
+ # attributed periods for each fan with positive net revenue.
6
10
  class TrialLinks
7
- # APIs for managing Free Trial Links
11
+ # APIs for managing Free Trial Links. Revenue totals are net earnings after
12
+ # refunds and chargebacks. `revenue.chargebacks` (or `summary.chargebacks_total`
13
+ # in stats) is the positive cached net amount already excluded from revenue; do
14
+ # not subtract it again. Spender responses include chargebacks across all
15
+ # attributed periods for each fan with positive net revenue.
8
16
  # @return [Onlyfans::Resources::TrialLinks::Tags]
9
17
  attr_reader :tags
10
18
 
@@ -75,32 +83,36 @@ module Onlyfans
75
83
  #
76
84
  # List all free trial links for the account, including the details and statistics
77
85
  #
78
- # @overload list(account, limit:, offset:, field: nil, sort: nil, synchronous: nil, request_options: {})
86
+ # @overload list(account, end_date: nil, field: nil, limit: nil, offset: nil, sort: nil, start_date: nil, synchronous: nil, request_options: {})
79
87
  #
80
88
  # @param account [String] The Account ID
81
89
  #
82
- # @param limit [Integer] The number of trial links to return. Default `10`
90
+ # @param end_date [String, nil] The end date for trial links. Keep empty to get all. Must not be greater than 25
83
91
  #
84
- # @param offset [Integer] The offset used for pagination. Default `0`
92
+ # @param field [Symbol, Onlyfans::Models::TrialLinkListParams::Field] Field to sort by. Default `create_date`.
85
93
  #
86
- # @param field [Symbol, Onlyfans::Models::TrialLinkListParams::Field, nil] Sort the results by a field. Default `create_date`
94
+ # @param limit [Integer] The number of trial links to return. Default `10`. Must be at least 1. Must not
87
95
  #
88
- # @param sort [Symbol, Onlyfans::Models::TrialLinkListParams::Sort, nil] Sort the results. Default `desc`
96
+ # @param offset [Integer] The offset used for pagination. Default `0`. Must be at least 0.
89
97
  #
90
- # @param synchronous [Boolean, nil] Wait for the revenue data to finish processing, instead of processing in the bac
98
+ # @param sort [Symbol, Onlyfans::Models::TrialLinkListParams::Sort] Sort direction. Default `desc`.
99
+ #
100
+ # @param start_date [String, nil] The start date for trial links. Keep empty to get all. Must not be greater than
101
+ #
102
+ # @param synchronous [Boolean] Wait for revenue calculation instead of processing it in the background.
91
103
  #
92
104
  # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}, nil]
93
105
  #
94
106
  # @return [Onlyfans::Models::TrialLinkListResponse]
95
107
  #
96
108
  # @see Onlyfans::Models::TrialLinkListParams
97
- def list(account, params)
109
+ def list(account, params = {})
98
110
  parsed, options = Onlyfans::TrialLinkListParams.dump_request(params)
99
111
  query = Onlyfans::Internal::Util.encode_query_params(parsed)
100
112
  @client.request(
101
113
  method: :get,
102
114
  path: ["api/%1$s/trial-links", account],
103
- query: query,
115
+ query: query.transform_keys(end_date: "endDate", start_date: "startDate"),
104
116
  model: Onlyfans::Models::TrialLinkListResponse,
105
117
  options: options
106
118
  )
@@ -37,9 +37,12 @@ module Onlyfans
37
37
  )
38
38
  end
39
39
 
40
+ # Some parameter documentations has been truncated, see
41
+ # {Onlyfans::Models::UserLists::UserAddParams} for more details.
42
+ #
40
43
  # Add multiple Users To OnlyFans User List
41
44
  #
42
- # @overload add(user_list_id, account:, ids:, request_options: {})
45
+ # @overload add(user_list_id, account:, ids:, skip_invalid: nil, request_options: {})
43
46
  #
44
47
  # @param user_list_id [String] Path param: OnlyFans User List ID, or a default list name like `tagged`
45
48
  #
@@ -47,9 +50,11 @@ module Onlyfans
47
50
  #
48
51
  # @param ids [Array<String>] Body param: Array of OnlyFans User IDs to be added into the list
49
52
  #
53
+ # @param skip_invalid [Boolean] Body param: Set to `true` to skip the User IDs OnlyFans refuses instead of faili
54
+ #
50
55
  # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}, nil]
51
56
  #
52
- # @return [Onlyfans::Models::UserLists::UserAddResponse]
57
+ # @return [Onlyfans::Models::UserLists::UserAddResponse::UnionMember0, Onlyfans::Models::UserLists::UserAddResponse::UnionMember1]
53
58
  #
54
59
  # @see Onlyfans::Models::UserLists::UserAddParams
55
60
  def add(user_list_id, params)
@@ -95,9 +95,10 @@ module Onlyfans
95
95
  # Some parameter documentations has been truncated, see
96
96
  # {Onlyfans::Models::UserListListParams} for more details.
97
97
  #
98
- # Get a list of OnlyFans Collections - User Lists
98
+ # Get a list of OnlyFans Collections - User Lists. If you only want to get User
99
+ # Lists available for sending a Mass-Message, use `?view=queue`
99
100
  #
100
- # @overload list(account, limit: nil, offset: nil, request_options: {})
101
+ # @overload list(account, limit: nil, offset: nil, view: nil, request_options: {})
101
102
  #
102
103
  # @param account [String] The Account ID
103
104
  #
@@ -105,6 +106,8 @@ module Onlyfans
105
106
  #
106
107
  # @param offset [Integer, nil] Must be at least 0.
107
108
  #
109
+ # @param view [Symbol, Onlyfans::Models::UserListListParams::View] How to return the results. `queue` returns the user lists that are available for
110
+ #
108
111
  # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}, nil]
109
112
  #
110
113
  # @return [Onlyfans::Models::UserListListResponse]
@@ -16,13 +16,16 @@ module Onlyfans
16
16
  # @return [Onlyfans::Resources::Users::Subscribe]
17
17
  attr_reader :subscribe
18
18
 
19
+ # Some parameter documentations has been truncated, see
20
+ # {Onlyfans::Models::UserRetrieveParams} for more details.
21
+ #
19
22
  # Get OnlyFans Profile details for a given username. User details are retrieved
20
23
  # using the current `{account}` so fields like `subscribedOnData` which include
21
24
  # potential subscription details will be included.
22
25
  #
23
26
  # @overload retrieve(username, account:, request_options: {})
24
27
  #
25
- # @param username [String] The OnlyFans username of the user to retrieve details for.
28
+ # @param username [String] The OnlyFans username or numeric user ID to retrieve details for. Display names
26
29
  #
27
30
  # @param account [String] The Account ID
28
31
  #
@@ -10,14 +10,15 @@ module Onlyfans
10
10
  #
11
11
  # @overload create(account_scope:, endpoint_url:, events:, account_ids: nil, signing_secret: nil, request_options: {})
12
12
  #
13
- # @param account_scope [String] The account scope for the webhook. Use "global" for all accounts, "inclusive" fo
13
+ # @param account_scope [String] The account scope for the webhook (OnlyFans and Fansly webhooks alike). Use "glo
14
14
  #
15
15
  # @param endpoint_url [String] The URL of your webhook endpoint.
16
16
  #
17
17
  # @param events [Array<String>] An array of webhook events to subscribe to. For all options, refer to our
18
18
  # \*\*List
19
19
  #
20
- # @param account_ids [Array<String>] An array of account IDs to apply the scope to. Required unless account_scope is
20
+ # @param account_ids [Array<String>] An array of account IDs to apply the scope to. Use OnlyFans account IDs
21
+ # (`acct\_.
21
22
  #
22
23
  # @param signing_secret [String, nil] Optionally, add a signing secret to protect your webhook.
23
24
  #
@@ -66,14 +67,15 @@ module Onlyfans
66
67
  #
67
68
  # @param webhook_id [String] The ID of the webhook
68
69
  #
69
- # @param account_scope [String] The account scope for the webhook. Use "global" for all accounts, "inclusive" fo
70
+ # @param account_scope [String] The account scope for the webhook (OnlyFans and Fansly webhooks alike). Use "glo
70
71
  #
71
72
  # @param endpoint_url [String] The URL of your webhook endpoint.
72
73
  #
73
74
  # @param events [Array<String>] An array of webhook events to subscribe to. For all options, refer to our
74
75
  # \*\*List
75
76
  #
76
- # @param account_ids [Array<String>] An array of account IDs to apply the scope to. Required unless account_scope is
77
+ # @param account_ids [Array<String>] An array of account IDs to apply the scope to. Use OnlyFans account IDs
78
+ # (`acct\_.
77
79
  #
78
80
  # @param enabled [Boolean, nil] Optionally, enabled/disable the webhook. This will stop/resume the sending of ev
79
81
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Onlyfans
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.0"
5
5
  end
data/lib/onlyfans.rb CHANGED
@@ -245,7 +245,6 @@ require_relative "onlyfans/models/media/vault_retrieve_response"
245
245
  require_relative "onlyfans/models/media/vault_upload_params"
246
246
  require_relative "onlyfans/models/media/vault_upload_response"
247
247
  require_relative "onlyfans/models/media_download_params"
248
- require_relative "onlyfans/models/media_download_response"
249
248
  require_relative "onlyfans/models/media_scrape_params"
250
249
  require_relative "onlyfans/models/media_scrape_response"
251
250
  require_relative "onlyfans/models/media_upload_params"
@@ -256,8 +255,6 @@ require_relative "onlyfans/models/me_get_top_percentage_params"
256
255
  require_relative "onlyfans/models/me_get_top_percentage_response"
257
256
  require_relative "onlyfans/models/me_retrieve_params"
258
257
  require_relative "onlyfans/models/me_retrieve_response"
259
- require_relative "onlyfans/models/message_attach_tags_params"
260
- require_relative "onlyfans/models/message_attach_tags_response"
261
258
  require_relative "onlyfans/models/notification_get_counts_params"
262
259
  require_relative "onlyfans/models/notification_get_counts_response"
263
260
  require_relative "onlyfans/models/notification_list_params"
@@ -63,14 +63,18 @@ module Onlyfans
63
63
  sig { returns(Onlyfans::Resources::Following) }
64
64
  attr_reader :following
65
65
 
66
- # APIs for managing Free Trial Links
66
+ # APIs for managing Free Trial Links. Revenue totals are net earnings after
67
+ # refunds and chargebacks. `revenue.chargebacks` (or `summary.chargebacks_total`
68
+ # in stats) is the positive cached net amount already excluded from revenue; do
69
+ # not subtract it again. Spender responses include chargebacks across all
70
+ # attributed periods for each fan with positive net revenue.
67
71
  sig { returns(Onlyfans::Resources::TrialLinks) }
68
72
  attr_reader :trial_links
69
73
 
70
74
  sig { returns(Onlyfans::Resources::Giphy) }
71
75
  attr_reader :giphy
72
76
 
73
- # APIs for managing tags on free trial links and tracking links
77
+ # APIs for managing tags on free trial links, tracking links, and Smart Links
74
78
  sig { returns(Onlyfans::Resources::LinkTags) }
75
79
  attr_reader :link_tags
76
80
 
@@ -148,7 +152,11 @@ module Onlyfans
148
152
  sig { returns(Onlyfans::Resources::Bundles) }
149
153
  attr_reader :bundles
150
154
 
151
- # APIs for managing tracking links
155
+ # APIs for managing tracking links. Revenue totals are net earnings after refunds
156
+ # and chargebacks. `revenue.chargebacks` (or `summary.chargebacks_total` in stats)
157
+ # is the positive cached net amount already excluded from revenue; do not subtract
158
+ # it again. Spender responses include chargebacks across all attributed periods
159
+ # for each fan with positive net revenue.
152
160
  sig { returns(Onlyfans::Resources::TrackingLinks) }
153
161
  attr_reader :tracking_links
154
162
 
@@ -4,94 +4,234 @@ module Onlyfans
4
4
  module Models
5
5
  module Analytics
6
6
  module Financial
7
- class ProfitabilityGetHistoryResponseItem < Onlyfans::Internal::Type::BaseModel
7
+ class ProfitabilityGetHistoryResponse < Onlyfans::Internal::Type::BaseModel
8
8
  OrHash =
9
9
  T.type_alias do
10
10
  T.any(
11
- Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponseItem,
11
+ Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse,
12
12
  Onlyfans::Internal::AnyHash
13
13
  )
14
14
  end
15
15
 
16
- sig { returns(T.nilable(Float)) }
17
- attr_reader :gross_revenue
16
+ sig do
17
+ returns(
18
+ T.nilable(
19
+ T::Array[
20
+ Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse::Data
21
+ ]
22
+ )
23
+ )
24
+ end
25
+ attr_reader :data
18
26
 
19
- sig { params(gross_revenue: Float).void }
20
- attr_writer :gross_revenue
27
+ sig do
28
+ params(
29
+ data:
30
+ T::Array[
31
+ Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse::Data::OrHash
32
+ ]
33
+ ).void
34
+ end
35
+ attr_writer :data
21
36
 
22
- sig { returns(T.nilable(Float)) }
23
- attr_reader :margin
37
+ sig do
38
+ params(
39
+ data:
40
+ T::Array[
41
+ Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse::Data::OrHash
42
+ ]
43
+ ).returns(T.attached_class)
44
+ end
45
+ def self.new(data: nil)
46
+ end
24
47
 
25
- sig { params(margin: Float).void }
26
- attr_writer :margin
48
+ sig do
49
+ override.returns(
50
+ {
51
+ data:
52
+ T::Array[
53
+ Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse::Data
54
+ ]
55
+ }
56
+ )
57
+ end
58
+ def to_hash
59
+ end
27
60
 
28
- sig { returns(T.nilable(Integer)) }
29
- attr_reader :month
61
+ class Data < Onlyfans::Internal::Type::BaseModel
62
+ OrHash =
63
+ T.type_alias do
64
+ T.any(
65
+ Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse::Data,
66
+ Onlyfans::Internal::AnyHash
67
+ )
68
+ end
30
69
 
31
- sig { params(month: Integer).void }
32
- attr_writer :month
70
+ sig { returns(T.nilable(String)) }
71
+ attr_accessor :active_milestones
33
72
 
34
- sig { returns(T.nilable(Float)) }
35
- attr_reader :net_revenue
73
+ sig { returns(T.nilable(String)) }
74
+ attr_reader :agency_earnings
36
75
 
37
- sig { params(net_revenue: Float).void }
38
- attr_writer :net_revenue
76
+ sig { params(agency_earnings: String).void }
77
+ attr_writer :agency_earnings
39
78
 
40
- sig { returns(T.nilable(Float)) }
41
- attr_reader :profit
79
+ sig { returns(T.nilable(String)) }
80
+ attr_reader :commission_amount
42
81
 
43
- sig { params(profit: Float).void }
44
- attr_writer :profit
82
+ sig { params(commission_amount: String).void }
83
+ attr_writer :commission_amount
45
84
 
46
- sig { returns(T.nilable(Integer)) }
47
- attr_reader :year
85
+ sig { returns(T.nilable(String)) }
86
+ attr_reader :commission_rate
48
87
 
49
- sig { params(year: Integer).void }
50
- attr_writer :year
88
+ sig { params(commission_rate: String).void }
89
+ attr_writer :commission_rate
51
90
 
52
- sig do
53
- params(
54
- gross_revenue: Float,
55
- margin: Float,
56
- month: Integer,
57
- net_revenue: Float,
58
- profit: Float,
59
- year: Integer
60
- ).returns(T.attached_class)
61
- end
62
- def self.new(
63
- gross_revenue: nil,
64
- margin: nil,
65
- month: nil,
66
- net_revenue: nil,
67
- profit: nil,
68
- year: nil
69
- )
70
- end
91
+ sig { returns(T.nilable(T::Array[T.anything])) }
92
+ attr_reader :costs
71
93
 
72
- sig do
73
- override.returns(
74
- {
75
- gross_revenue: Float,
76
- margin: Float,
94
+ sig { params(costs: T::Array[T.anything]).void }
95
+ attr_writer :costs
96
+
97
+ sig { returns(T.nilable(String)) }
98
+ attr_reader :creator_name
99
+
100
+ sig { params(creator_name: String).void }
101
+ attr_writer :creator_name
102
+
103
+ sig { returns(T.nilable(T::Boolean)) }
104
+ attr_reader :has_commission_for_period
105
+
106
+ sig { params(has_commission_for_period: T::Boolean).void }
107
+ attr_writer :has_commission_for_period
108
+
109
+ sig { returns(T.nilable(T::Boolean)) }
110
+ attr_reader :has_costs_for_period
111
+
112
+ sig { params(has_costs_for_period: T::Boolean).void }
113
+ attr_writer :has_costs_for_period
114
+
115
+ sig { returns(T.nilable(String)) }
116
+ attr_reader :margin_percentage
117
+
118
+ sig { params(margin_percentage: String).void }
119
+ attr_writer :margin_percentage
120
+
121
+ sig { returns(T.nilable(Integer)) }
122
+ attr_reader :month
123
+
124
+ sig { params(month: Integer).void }
125
+ attr_writer :month
126
+
127
+ sig { returns(T.nilable(Integer)) }
128
+ attr_reader :only_fans_user_id
129
+
130
+ sig { params(only_fans_user_id: Integer).void }
131
+ attr_writer :only_fans_user_id
132
+
133
+ sig { returns(T.nilable(String)) }
134
+ attr_reader :profit
135
+
136
+ sig { params(profit: String).void }
137
+ attr_writer :profit
138
+
139
+ sig { returns(T.nilable(String)) }
140
+ attr_reader :projected_net
141
+
142
+ sig { params(projected_net: String).void }
143
+ attr_writer :projected_net
144
+
145
+ sig { returns(T.nilable(T::Array[T.anything])) }
146
+ attr_reader :rate_periods
147
+
148
+ sig { params(rate_periods: T::Array[T.anything]).void }
149
+ attr_writer :rate_periods
150
+
151
+ sig { returns(T.nilable(String)) }
152
+ attr_accessor :referral_note
153
+
154
+ sig { returns(T.nilable(String)) }
155
+ attr_reader :total_costs
156
+
157
+ sig { params(total_costs: String).void }
158
+ attr_writer :total_costs
159
+
160
+ sig { returns(T.nilable(Integer)) }
161
+ attr_reader :year
162
+
163
+ sig { params(year: Integer).void }
164
+ attr_writer :year
165
+
166
+ sig do
167
+ params(
168
+ active_milestones: T.nilable(String),
169
+ agency_earnings: String,
170
+ commission_amount: String,
171
+ commission_rate: String,
172
+ costs: T::Array[T.anything],
173
+ creator_name: String,
174
+ has_commission_for_period: T::Boolean,
175
+ has_costs_for_period: T::Boolean,
176
+ margin_percentage: String,
77
177
  month: Integer,
78
- net_revenue: Float,
79
- profit: Float,
178
+ only_fans_user_id: Integer,
179
+ profit: String,
180
+ projected_net: String,
181
+ rate_periods: T::Array[T.anything],
182
+ referral_note: T.nilable(String),
183
+ total_costs: String,
80
184
  year: Integer
81
- }
185
+ ).returns(T.attached_class)
186
+ end
187
+ def self.new(
188
+ active_milestones: nil,
189
+ agency_earnings: nil,
190
+ commission_amount: nil,
191
+ commission_rate: nil,
192
+ costs: nil,
193
+ creator_name: nil,
194
+ has_commission_for_period: nil,
195
+ has_costs_for_period: nil,
196
+ margin_percentage: nil,
197
+ month: nil,
198
+ only_fans_user_id: nil,
199
+ profit: nil,
200
+ projected_net: nil,
201
+ rate_periods: nil,
202
+ referral_note: nil,
203
+ total_costs: nil,
204
+ year: nil
82
205
  )
83
- end
84
- def to_hash
206
+ end
207
+
208
+ sig do
209
+ override.returns(
210
+ {
211
+ active_milestones: T.nilable(String),
212
+ agency_earnings: String,
213
+ commission_amount: String,
214
+ commission_rate: String,
215
+ costs: T::Array[T.anything],
216
+ creator_name: String,
217
+ has_commission_for_period: T::Boolean,
218
+ has_costs_for_period: T::Boolean,
219
+ margin_percentage: String,
220
+ month: Integer,
221
+ only_fans_user_id: Integer,
222
+ profit: String,
223
+ projected_net: String,
224
+ rate_periods: T::Array[T.anything],
225
+ referral_note: T.nilable(String),
226
+ total_costs: String,
227
+ year: Integer
228
+ }
229
+ )
230
+ end
231
+ def to_hash
232
+ end
85
233
  end
86
234
  end
87
-
88
- ProfitabilityGetHistoryResponse =
89
- T.let(
90
- Onlyfans::Internal::Type::ArrayOf[
91
- Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponseItem
92
- ],
93
- Onlyfans::Internal::Type::Converter
94
- )
95
235
  end
96
236
  end
97
237
  end