sentdm 0.28.0 → 0.30.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 (276) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +27 -1
  4. data/lib/sentdm/internal/type/base_model.rb +5 -5
  5. data/lib/sentdm/models/api_meta.rb +34 -0
  6. data/lib/sentdm/models/api_response_of_contact.rb +46 -0
  7. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
  8. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +43 -0
  9. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  10. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  11. data/lib/sentdm/models/api_response_template.rb +43 -0
  12. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  13. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  14. data/lib/sentdm/models/brand_business_info.rb +114 -0
  15. data/lib/sentdm/models/brand_compliance_info.rb +59 -0
  16. data/lib/sentdm/models/brand_contact_info.rb +58 -0
  17. data/lib/sentdm/models/brands_brand_data.rb +34 -0
  18. data/lib/sentdm/models/contact_delete_params.rb +2 -16
  19. data/lib/sentdm/models/contact_list_response.rb +12 -295
  20. data/lib/sentdm/models/contact_message_summary.rb +76 -0
  21. data/lib/sentdm/models/contact_response.rb +139 -0
  22. data/lib/sentdm/models/conversation_messages_list.rb +245 -0
  23. data/lib/sentdm/models/error_detail.rb +42 -0
  24. data/lib/sentdm/models/inbound_message_event_payload.rb +17 -17
  25. data/lib/sentdm/models/me_retrieve_response.rb +43 -243
  26. data/lib/sentdm/models/message_event_payload.rb +11 -11
  27. data/lib/sentdm/models/message_retrieve_activities_response.rb +9 -159
  28. data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
  29. data/lib/sentdm/models/message_send_response.rb +6 -74
  30. data/lib/sentdm/models/mutation_request.rb +20 -0
  31. data/lib/sentdm/models/number_lookup_response.rb +6 -74
  32. data/lib/sentdm/models/pagination_meta.rb +84 -0
  33. data/lib/sentdm/models/payment_details.rb +40 -0
  34. data/lib/sentdm/models/profile_complete_response.rb +6 -74
  35. data/lib/sentdm/models/profile_create_params.rb +9 -345
  36. data/lib/sentdm/models/profile_delete_params.rb +2 -16
  37. data/lib/sentdm/models/profile_detail.rb +650 -0
  38. data/lib/sentdm/models/profile_list_response.rb +12 -815
  39. data/lib/sentdm/models/profile_settings.rb +85 -0
  40. data/lib/sentdm/models/profile_update_params.rb +9 -345
  41. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +45 -0
  42. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +45 -0
  43. data/lib/sentdm/models/profiles/brand_campaign.rb +247 -0
  44. data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -156
  45. data/lib/sentdm/models/profiles/campaign_data.rb +136 -0
  46. data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
  47. data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -156
  48. data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
  49. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +29 -0
  50. data/lib/sentdm/models/template.rb +102 -0
  51. data/lib/sentdm/models/template_event_payload.rb +18 -18
  52. data/lib/sentdm/models/template_list_response.rb +12 -258
  53. data/lib/sentdm/models/user_list_response.rb +12 -249
  54. data/lib/sentdm/models/user_remove_params.rb +2 -16
  55. data/lib/sentdm/models/user_response.rb +94 -0
  56. data/lib/sentdm/models/webhook_event_type.rb +45 -0
  57. data/lib/sentdm/models/webhook_list_event_types_response.rb +12 -203
  58. data/lib/sentdm/models/webhook_list_events_response.rb +9 -157
  59. data/lib/sentdm/models/webhook_list_response.rb +12 -276
  60. data/lib/sentdm/models/webhook_response.rb +120 -0
  61. data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
  62. data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
  63. data/lib/sentdm/models/webhook_test_response.rb +6 -74
  64. data/lib/sentdm/models.rb +52 -0
  65. data/lib/sentdm/resources/contacts.rb +8 -8
  66. data/lib/sentdm/resources/conversations.rb +4 -4
  67. data/lib/sentdm/resources/me.rb +11 -0
  68. data/lib/sentdm/resources/profiles/campaigns.rb +8 -8
  69. data/lib/sentdm/resources/profiles.rb +12 -12
  70. data/lib/sentdm/resources/templates.rb +6 -6
  71. data/lib/sentdm/resources/users.rb +6 -6
  72. data/lib/sentdm/resources/webhooks.rb +8 -8
  73. data/lib/sentdm/version.rb +1 -1
  74. data/lib/sentdm.rb +32 -22
  75. data/rbi/sentdm/models/api_meta.rbi +55 -0
  76. data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
  77. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
  78. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
  79. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  80. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  81. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  82. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  83. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  84. data/rbi/sentdm/models/brand_business_info.rbi +162 -0
  85. data/rbi/sentdm/models/brand_compliance_info.rbi +76 -0
  86. data/rbi/sentdm/models/brand_contact_info.rbi +78 -0
  87. data/rbi/sentdm/models/brands_brand_data.rbi +65 -0
  88. data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
  89. data/rbi/sentdm/models/contact_list_response.rbi +16 -522
  90. data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
  91. data/rbi/sentdm/models/contact_response.rbi +200 -0
  92. data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
  93. data/rbi/sentdm/models/error_detail.rbi +66 -0
  94. data/rbi/sentdm/models/inbound_message_event_payload.rbi +16 -22
  95. data/rbi/sentdm/models/me_retrieve_response.rbi +60 -367
  96. data/rbi/sentdm/models/message_event_payload.rbi +12 -15
  97. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +12 -325
  98. data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
  99. data/rbi/sentdm/models/message_send_response.rbi +8 -135
  100. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  101. data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
  102. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  103. data/rbi/sentdm/models/payment_details.rbi +56 -0
  104. data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
  105. data/rbi/sentdm/models/profile_create_params.rbi +12 -546
  106. data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
  107. data/rbi/sentdm/models/profile_detail.rbi +918 -0
  108. data/rbi/sentdm/models/profile_list_response.rbi +16 -1347
  109. data/rbi/sentdm/models/profile_settings.rbi +102 -0
  110. data/rbi/sentdm/models/profile_update_params.rbi +12 -546
  111. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +81 -0
  112. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +76 -0
  113. data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
  114. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -218
  115. data/rbi/sentdm/models/profiles/campaign_data.rbi +158 -0
  116. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
  117. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -218
  118. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
  119. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +51 -0
  120. data/rbi/sentdm/models/template.rbi +139 -0
  121. data/rbi/sentdm/models/template_event_payload.rbi +21 -27
  122. data/rbi/sentdm/models/template_list_response.rbi +16 -464
  123. data/rbi/sentdm/models/user_list_response.rbi +16 -444
  124. data/rbi/sentdm/models/user_remove_params.rbi +2 -19
  125. data/rbi/sentdm/models/user_response.rbi +131 -0
  126. data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
  127. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +16 -414
  128. data/rbi/sentdm/models/webhook_list_events_response.rbi +12 -314
  129. data/rbi/sentdm/models/webhook_list_response.rbi +16 -475
  130. data/rbi/sentdm/models/webhook_response.rbi +153 -0
  131. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
  132. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
  133. data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
  134. data/rbi/sentdm/models.rbi +54 -0
  135. data/rbi/sentdm/resources/contacts.rbi +4 -4
  136. data/rbi/sentdm/resources/conversations.rbi +2 -2
  137. data/rbi/sentdm/resources/me.rbi +11 -0
  138. data/rbi/sentdm/resources/profiles/campaigns.rbi +5 -5
  139. data/rbi/sentdm/resources/profiles.rbi +9 -13
  140. data/rbi/sentdm/resources/templates.rbi +3 -3
  141. data/rbi/sentdm/resources/users.rbi +3 -3
  142. data/rbi/sentdm/resources/webhooks.rbi +4 -4
  143. data/sig/sentdm/models/api_meta.rbs +27 -0
  144. data/sig/sentdm/models/api_response_of_contact.rbs +39 -0
  145. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +39 -0
  146. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
  147. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  148. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  149. data/sig/sentdm/models/api_response_template.rbs +39 -0
  150. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  151. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  152. data/sig/sentdm/models/brand_business_info.rbs +89 -0
  153. data/sig/sentdm/models/brand_compliance_info.rbs +45 -0
  154. data/sig/sentdm/models/brand_contact_info.rbs +45 -0
  155. data/sig/sentdm/models/brands_brand_data.rbs +30 -0
  156. data/sig/sentdm/models/contact_delete_params.rbs +6 -10
  157. data/sig/sentdm/models/contact_list_response.rbs +20 -263
  158. data/sig/sentdm/models/contact_message_summary.rbs +84 -0
  159. data/sig/sentdm/models/contact_response.rbs +118 -0
  160. data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
  161. data/sig/sentdm/models/error_detail.rbs +39 -0
  162. data/sig/sentdm/models/inbound_message_event_payload.rbs +10 -14
  163. data/sig/sentdm/models/me_retrieve_response.rbs +28 -176
  164. data/sig/sentdm/models/message_event_payload.rbs +5 -7
  165. data/sig/sentdm/models/message_retrieve_activities_response.rbs +14 -142
  166. data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
  167. data/sig/sentdm/models/message_send_response.rbs +9 -71
  168. data/sig/sentdm/models/mutation_request.rbs +15 -0
  169. data/sig/sentdm/models/number_lookup_response.rbs +9 -71
  170. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  171. data/sig/sentdm/models/payment_details.rbs +30 -0
  172. data/sig/sentdm/models/profile_complete_response.rbs +9 -71
  173. data/sig/sentdm/models/profile_create_params.rbs +12 -263
  174. data/sig/sentdm/models/profile_delete_params.rbs +6 -10
  175. data/sig/sentdm/models/profile_detail.rbs +461 -0
  176. data/sig/sentdm/models/profile_list_response.rbs +20 -606
  177. data/sig/sentdm/models/profile_settings.rbs +50 -0
  178. data/sig/sentdm/models/profile_update_params.rbs +12 -263
  179. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +41 -0
  180. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +41 -0
  181. data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
  182. data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -108
  183. data/sig/sentdm/models/profiles/campaign_data.rbs +87 -0
  184. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
  185. data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -108
  186. data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
  187. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +27 -0
  188. data/sig/sentdm/models/template.rbs +84 -0
  189. data/sig/sentdm/models/template_event_payload.rbs +13 -17
  190. data/sig/sentdm/models/template_list_response.rbs +19 -230
  191. data/sig/sentdm/models/user_list_response.rbs +20 -224
  192. data/sig/sentdm/models/user_remove_params.rbs +6 -10
  193. data/sig/sentdm/models/user_response.rbs +79 -0
  194. data/sig/sentdm/models/webhook_event_type.rbs +51 -0
  195. data/sig/sentdm/models/webhook_list_event_types_response.rbs +20 -196
  196. data/sig/sentdm/models/webhook_list_events_response.rbs +14 -142
  197. data/sig/sentdm/models/webhook_list_response.rbs +20 -255
  198. data/sig/sentdm/models/webhook_response.rbs +110 -0
  199. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
  200. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
  201. data/sig/sentdm/models/webhook_test_response.rbs +9 -71
  202. data/sig/sentdm/models.rbs +52 -0
  203. data/sig/sentdm/resources/contacts.rbs +4 -4
  204. data/sig/sentdm/resources/conversations.rbs +2 -2
  205. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  206. data/sig/sentdm/resources/profiles.rbs +9 -9
  207. data/sig/sentdm/resources/templates.rbs +3 -3
  208. data/sig/sentdm/resources/users.rbs +3 -3
  209. data/sig/sentdm/resources/webhooks.rbs +4 -4
  210. metadata +98 -68
  211. data/lib/sentdm/models/contact_create_response.rb +0 -249
  212. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +0 -186
  213. data/lib/sentdm/models/contact_retrieve_response.rb +0 -249
  214. data/lib/sentdm/models/contact_update_response.rb +0 -249
  215. data/lib/sentdm/models/conversation_list_messages_response.rb +0 -436
  216. data/lib/sentdm/models/conversation_list_response.rb +0 -433
  217. data/lib/sentdm/models/profile_create_response.rb +0 -760
  218. data/lib/sentdm/models/profile_retrieve_response.rb +0 -762
  219. data/lib/sentdm/models/profile_update_response.rb +0 -760
  220. data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -420
  221. data/lib/sentdm/models/profiles/campaign_list_response.rb +0 -421
  222. data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -420
  223. data/lib/sentdm/models/template_create_response.rb +0 -209
  224. data/lib/sentdm/models/template_retrieve_response.rb +0 -209
  225. data/lib/sentdm/models/template_update_response.rb +0 -209
  226. data/lib/sentdm/models/user_invite_response.rb +0 -201
  227. data/lib/sentdm/models/user_retrieve_response.rb +0 -201
  228. data/lib/sentdm/models/user_update_role_response.rb +0 -201
  229. data/lib/sentdm/models/webhook_create_response.rb +0 -229
  230. data/lib/sentdm/models/webhook_retrieve_response.rb +0 -229
  231. data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -229
  232. data/lib/sentdm/models/webhook_update_response.rb +0 -229
  233. data/rbi/sentdm/models/contact_create_response.rbi +0 -407
  234. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +0 -397
  235. data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -409
  236. data/rbi/sentdm/models/contact_update_response.rbi +0 -407
  237. data/rbi/sentdm/models/conversation_list_messages_response.rbi +0 -843
  238. data/rbi/sentdm/models/conversation_list_response.rbi +0 -819
  239. data/rbi/sentdm/models/profile_create_response.rbi +0 -1226
  240. data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1230
  241. data/rbi/sentdm/models/profile_update_response.rbi +0 -1226
  242. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -674
  243. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +0 -667
  244. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -674
  245. data/rbi/sentdm/models/template_create_response.rbi +0 -349
  246. data/rbi/sentdm/models/template_retrieve_response.rbi +0 -355
  247. data/rbi/sentdm/models/template_update_response.rbi +0 -349
  248. data/rbi/sentdm/models/user_invite_response.rbi +0 -336
  249. data/rbi/sentdm/models/user_retrieve_response.rbi +0 -336
  250. data/rbi/sentdm/models/user_update_role_response.rbi +0 -341
  251. data/rbi/sentdm/models/webhook_create_response.rbi +0 -361
  252. data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -363
  253. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -379
  254. data/rbi/sentdm/models/webhook_update_response.rbi +0 -361
  255. data/sig/sentdm/models/contact_create_response.rbs +0 -216
  256. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +0 -182
  257. data/sig/sentdm/models/contact_retrieve_response.rbs +0 -216
  258. data/sig/sentdm/models/contact_update_response.rbs +0 -216
  259. data/sig/sentdm/models/conversation_list_messages_response.rbs +0 -404
  260. data/sig/sentdm/models/conversation_list_response.rbs +0 -404
  261. data/sig/sentdm/models/profile_create_response.rbs +0 -559
  262. data/sig/sentdm/models/profile_retrieve_response.rbs +0 -559
  263. data/sig/sentdm/models/profile_update_response.rbs +0 -559
  264. data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -357
  265. data/sig/sentdm/models/profiles/campaign_list_response.rbs +0 -357
  266. data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -357
  267. data/sig/sentdm/models/template_create_response.rbs +0 -182
  268. data/sig/sentdm/models/template_retrieve_response.rbs +0 -182
  269. data/sig/sentdm/models/template_update_response.rbs +0 -182
  270. data/sig/sentdm/models/user_invite_response.rbs +0 -177
  271. data/sig/sentdm/models/user_retrieve_response.rbs +0 -177
  272. data/sig/sentdm/models/user_update_role_response.rbs +0 -177
  273. data/sig/sentdm/models/webhook_create_response.rbs +0 -208
  274. data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -208
  275. data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -208
  276. data/sig/sentdm/models/webhook_update_response.rbs +0 -208
@@ -20,21 +20,17 @@ module Sentdm
20
20
  attr_writer :data
21
21
 
22
22
  # Error information
23
- sig { returns(T.nilable(Sentdm::Models::UserListResponse::Error)) }
23
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
24
24
  attr_reader :error
25
25
 
26
- sig do
27
- params(
28
- error: T.nilable(Sentdm::Models::UserListResponse::Error::OrHash)
29
- ).void
30
- end
26
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
31
27
  attr_writer :error
32
28
 
33
29
  # Request and response metadata
34
- sig { returns(T.nilable(Sentdm::Models::UserListResponse::Meta)) }
30
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
35
31
  attr_reader :meta
36
32
 
37
- sig { params(meta: Sentdm::Models::UserListResponse::Meta::OrHash).void }
33
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
38
34
  attr_writer :meta
39
35
 
40
36
  # Indicates whether the request was successful
@@ -48,8 +44,8 @@ module Sentdm
48
44
  sig do
49
45
  params(
50
46
  data: T.nilable(Sentdm::Models::UserListResponse::Data::OrHash),
51
- error: T.nilable(Sentdm::Models::UserListResponse::Error::OrHash),
52
- meta: Sentdm::Models::UserListResponse::Meta::OrHash,
47
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
48
+ meta: Sentdm::APIMeta::OrHash,
53
49
  success: T::Boolean
54
50
  ).returns(T.attached_class)
55
51
  end
@@ -69,8 +65,8 @@ module Sentdm
69
65
  override.returns(
70
66
  {
71
67
  data: T.nilable(Sentdm::Models::UserListResponse::Data),
72
- error: T.nilable(Sentdm::Models::UserListResponse::Error),
73
- meta: Sentdm::Models::UserListResponse::Meta,
68
+ error: T.nilable(Sentdm::ErrorDetail),
69
+ meta: Sentdm::APIMeta,
74
70
  success: T::Boolean
75
71
  }
76
72
  )
@@ -88,42 +84,24 @@ module Sentdm
88
84
  end
89
85
 
90
86
  # Pagination metadata for list responses
91
- sig do
92
- returns(T.nilable(Sentdm::Models::UserListResponse::Data::Pagination))
93
- end
87
+ sig { returns(T.nilable(Sentdm::PaginationMeta)) }
94
88
  attr_reader :pagination
95
89
 
96
- sig do
97
- params(
98
- pagination:
99
- Sentdm::Models::UserListResponse::Data::Pagination::OrHash
100
- ).void
101
- end
90
+ sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
102
91
  attr_writer :pagination
103
92
 
104
93
  # The users on this page.
105
- sig do
106
- returns(
107
- T.nilable(T::Array[Sentdm::Models::UserListResponse::Data::User])
108
- )
109
- end
94
+ sig { returns(T.nilable(T::Array[Sentdm::UserResponse])) }
110
95
  attr_reader :users
111
96
 
112
- sig do
113
- params(
114
- users:
115
- T::Array[Sentdm::Models::UserListResponse::Data::User::OrHash]
116
- ).void
117
- end
97
+ sig { params(users: T::Array[Sentdm::UserResponse::OrHash]).void }
118
98
  attr_writer :users
119
99
 
120
100
  # The users in the organization.
121
101
  sig do
122
102
  params(
123
- pagination:
124
- Sentdm::Models::UserListResponse::Data::Pagination::OrHash,
125
- users:
126
- T::Array[Sentdm::Models::UserListResponse::Data::User::OrHash]
103
+ pagination: Sentdm::PaginationMeta::OrHash,
104
+ users: T::Array[Sentdm::UserResponse::OrHash]
127
105
  ).returns(T.attached_class)
128
106
  end
129
107
  def self.new(
@@ -137,420 +115,14 @@ module Sentdm
137
115
  sig do
138
116
  override.returns(
139
117
  {
140
- pagination: Sentdm::Models::UserListResponse::Data::Pagination,
141
- users: T::Array[Sentdm::Models::UserListResponse::Data::User]
142
- }
143
- )
144
- end
145
- def to_hash
146
- end
147
-
148
- class Pagination < Sentdm::Internal::Type::BaseModel
149
- OrHash =
150
- T.type_alias do
151
- T.any(
152
- Sentdm::Models::UserListResponse::Data::Pagination,
153
- Sentdm::Internal::AnyHash
154
- )
155
- end
156
-
157
- # Cursor-based pagination. Never populated — see Cursors.
158
- sig do
159
- returns(
160
- T.nilable(
161
- Sentdm::Models::UserListResponse::Data::Pagination::Cursors
162
- )
163
- )
164
- end
165
- attr_reader :cursors
166
-
167
- sig do
168
- params(
169
- cursors:
170
- T.nilable(
171
- Sentdm::Models::UserListResponse::Data::Pagination::Cursors::OrHash
172
- )
173
- ).void
174
- end
175
- attr_writer :cursors
176
-
177
- # Whether there are more pages after this one
178
- sig { returns(T.nilable(T::Boolean)) }
179
- attr_reader :has_more
180
-
181
- sig { params(has_more: T::Boolean).void }
182
- attr_writer :has_more
183
-
184
- # Current page number (1-indexed)
185
- sig { returns(T.nilable(Integer)) }
186
- attr_reader :page
187
-
188
- sig { params(page: Integer).void }
189
- attr_writer :page
190
-
191
- # Number of items per page
192
- sig { returns(T.nilable(Integer)) }
193
- attr_reader :page_size
194
-
195
- sig { params(page_size: Integer).void }
196
- attr_writer :page_size
197
-
198
- # Total number of items across all pages
199
- sig { returns(T.nilable(Integer)) }
200
- attr_reader :total_count
201
-
202
- sig { params(total_count: Integer).void }
203
- attr_writer :total_count
204
-
205
- # Total number of pages
206
- sig { returns(T.nilable(Integer)) }
207
- attr_reader :total_pages
208
-
209
- sig { params(total_pages: Integer).void }
210
- attr_writer :total_pages
211
-
212
- # Pagination metadata for list responses
213
- sig do
214
- params(
215
- cursors:
216
- T.nilable(
217
- Sentdm::Models::UserListResponse::Data::Pagination::Cursors::OrHash
218
- ),
219
- has_more: T::Boolean,
220
- page: Integer,
221
- page_size: Integer,
222
- total_count: Integer,
223
- total_pages: Integer
224
- ).returns(T.attached_class)
225
- end
226
- def self.new(
227
- # Cursor-based pagination. Never populated — see Cursors.
228
- cursors: nil,
229
- # Whether there are more pages after this one
230
- has_more: nil,
231
- # Current page number (1-indexed)
232
- page: nil,
233
- # Number of items per page
234
- page_size: nil,
235
- # Total number of items across all pages
236
- total_count: nil,
237
- # Total number of pages
238
- total_pages: nil
239
- )
240
- end
241
-
242
- sig do
243
- override.returns(
244
- {
245
- cursors:
246
- T.nilable(
247
- Sentdm::Models::UserListResponse::Data::Pagination::Cursors
248
- ),
249
- has_more: T::Boolean,
250
- page: Integer,
251
- page_size: Integer,
252
- total_count: Integer,
253
- total_pages: Integer
254
- }
255
- )
256
- end
257
- def to_hash
258
- end
259
-
260
- class Cursors < Sentdm::Internal::Type::BaseModel
261
- OrHash =
262
- T.type_alias do
263
- T.any(
264
- Sentdm::Models::UserListResponse::Data::Pagination::Cursors,
265
- Sentdm::Internal::AnyHash
266
- )
267
- end
268
-
269
- # Cursor to fetch the next page.
270
- sig { returns(T.nilable(String)) }
271
- attr_accessor :after
272
-
273
- # Cursor to fetch the previous page.
274
- sig { returns(T.nilable(String)) }
275
- attr_accessor :before
276
-
277
- # Cursor-based pagination. Never populated — see Cursors.
278
- sig do
279
- params(
280
- after: T.nilable(String),
281
- before: T.nilable(String)
282
- ).returns(T.attached_class)
283
- end
284
- def self.new(
285
- # Cursor to fetch the next page.
286
- after: nil,
287
- # Cursor to fetch the previous page.
288
- before: nil
289
- )
290
- end
291
-
292
- sig do
293
- override.returns(
294
- { after: T.nilable(String), before: T.nilable(String) }
295
- )
296
- end
297
- def to_hash
298
- end
299
- end
300
- end
301
-
302
- class User < Sentdm::Internal::Type::BaseModel
303
- OrHash =
304
- T.type_alias do
305
- T.any(
306
- Sentdm::Models::UserListResponse::Data::User,
307
- Sentdm::Internal::AnyHash
308
- )
309
- end
310
-
311
- # User unique identifier
312
- sig { returns(T.nilable(String)) }
313
- attr_reader :id
314
-
315
- sig { params(id: String).void }
316
- attr_writer :id
317
-
318
- # When the user was added to the organization
319
- sig { returns(T.nilable(Time)) }
320
- attr_reader :created_at
321
-
322
- sig { params(created_at: Time).void }
323
- attr_writer :created_at
324
-
325
- # Which customer owns this — the key's own, or the profile named in x-profile-id.
326
- # Says whose resource this is, which the resource's own id does not.
327
- sig { returns(T.nilable(String)) }
328
- attr_reader :customer_id
329
-
330
- sig { params(customer_id: String).void }
331
- attr_writer :customer_id
332
-
333
- # User email address
334
- sig { returns(T.nilable(String)) }
335
- attr_reader :email
336
-
337
- sig { params(email: String).void }
338
- attr_writer :email
339
-
340
- # When the user was invited
341
- sig { returns(T.nilable(Time)) }
342
- attr_accessor :invited_at
343
-
344
- # When the user last logged in
345
- sig { returns(T.nilable(Time)) }
346
- attr_accessor :last_login_at
347
-
348
- # User full name
349
- sig { returns(T.nilable(String)) }
350
- attr_reader :name
351
-
352
- sig { params(name: String).void }
353
- attr_writer :name
354
-
355
- # User role in the organization: admin, billing, developer
356
- sig { returns(T.nilable(String)) }
357
- attr_reader :role
358
-
359
- sig { params(role: String).void }
360
- attr_writer :role
361
-
362
- # User status: active, invited, suspended, rejected
363
- sig { returns(T.nilable(String)) }
364
- attr_reader :status
365
-
366
- sig { params(status: String).void }
367
- attr_writer :status
368
-
369
- # When the user record was last updated
370
- sig { returns(T.nilable(Time)) }
371
- attr_accessor :updated_at
372
-
373
- # User response for v3 API
374
- sig do
375
- params(
376
- id: String,
377
- created_at: Time,
378
- customer_id: String,
379
- email: String,
380
- invited_at: T.nilable(Time),
381
- last_login_at: T.nilable(Time),
382
- name: String,
383
- role: String,
384
- status: String,
385
- updated_at: T.nilable(Time)
386
- ).returns(T.attached_class)
387
- end
388
- def self.new(
389
- # User unique identifier
390
- id: nil,
391
- # When the user was added to the organization
392
- created_at: nil,
393
- # Which customer owns this — the key's own, or the profile named in x-profile-id.
394
- # Says whose resource this is, which the resource's own id does not.
395
- customer_id: nil,
396
- # User email address
397
- email: nil,
398
- # When the user was invited
399
- invited_at: nil,
400
- # When the user last logged in
401
- last_login_at: nil,
402
- # User full name
403
- name: nil,
404
- # User role in the organization: admin, billing, developer
405
- role: nil,
406
- # User status: active, invited, suspended, rejected
407
- status: nil,
408
- # When the user record was last updated
409
- updated_at: nil
410
- )
411
- end
412
-
413
- sig do
414
- override.returns(
415
- {
416
- id: String,
417
- created_at: Time,
418
- customer_id: String,
419
- email: String,
420
- invited_at: T.nilable(Time),
421
- last_login_at: T.nilable(Time),
422
- name: String,
423
- role: String,
424
- status: String,
425
- updated_at: T.nilable(Time)
426
- }
427
- )
428
- end
429
- def to_hash
430
- end
431
- end
432
- end
433
-
434
- class Error < Sentdm::Internal::Type::BaseModel
435
- OrHash =
436
- T.type_alias do
437
- T.any(
438
- Sentdm::Models::UserListResponse::Error,
439
- Sentdm::Internal::AnyHash
440
- )
441
- end
442
-
443
- # Machine-readable error code (e.g., "RESOURCE_001")
444
- sig { returns(T.nilable(String)) }
445
- attr_reader :code
446
-
447
- sig { params(code: String).void }
448
- attr_writer :code
449
-
450
- # Additional validation error details (field-level errors)
451
- sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
452
- attr_accessor :details
453
-
454
- # URL to documentation about this error
455
- sig { returns(T.nilable(String)) }
456
- attr_accessor :doc_url
457
-
458
- # Human-readable error message
459
- sig { returns(T.nilable(String)) }
460
- attr_reader :message
461
-
462
- sig { params(message: String).void }
463
- attr_writer :message
464
-
465
- # Error information
466
- sig do
467
- params(
468
- code: String,
469
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
470
- doc_url: T.nilable(String),
471
- message: String
472
- ).returns(T.attached_class)
473
- end
474
- def self.new(
475
- # Machine-readable error code (e.g., "RESOURCE_001")
476
- code: nil,
477
- # Additional validation error details (field-level errors)
478
- details: nil,
479
- # URL to documentation about this error
480
- doc_url: nil,
481
- # Human-readable error message
482
- message: nil
483
- )
484
- end
485
-
486
- sig do
487
- override.returns(
488
- {
489
- code: String,
490
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
491
- doc_url: T.nilable(String),
492
- message: String
118
+ pagination: Sentdm::PaginationMeta,
119
+ users: T::Array[Sentdm::UserResponse]
493
120
  }
494
121
  )
495
122
  end
496
123
  def to_hash
497
124
  end
498
125
  end
499
-
500
- class Meta < Sentdm::Internal::Type::BaseModel
501
- OrHash =
502
- T.type_alias do
503
- T.any(
504
- Sentdm::Models::UserListResponse::Meta,
505
- Sentdm::Internal::AnyHash
506
- )
507
- end
508
-
509
- # Unique identifier for this request (for tracing and support)
510
- sig { returns(T.nilable(String)) }
511
- attr_reader :request_id
512
-
513
- sig { params(request_id: String).void }
514
- attr_writer :request_id
515
-
516
- # Server timestamp when the response was generated
517
- sig { returns(T.nilable(Time)) }
518
- attr_reader :timestamp
519
-
520
- sig { params(timestamp: Time).void }
521
- attr_writer :timestamp
522
-
523
- # API version used for this request
524
- sig { returns(T.nilable(String)) }
525
- attr_reader :version
526
-
527
- sig { params(version: String).void }
528
- attr_writer :version
529
-
530
- # Request and response metadata
531
- sig do
532
- params(request_id: String, timestamp: Time, version: String).returns(
533
- T.attached_class
534
- )
535
- end
536
- def self.new(
537
- # Unique identifier for this request (for tracing and support)
538
- request_id: nil,
539
- # Server timestamp when the response was generated
540
- timestamp: nil,
541
- # API version used for this request
542
- version: nil
543
- )
544
- end
545
-
546
- sig do
547
- override.returns(
548
- { request_id: String, timestamp: Time, version: String }
549
- )
550
- end
551
- def to_hash
552
- end
553
- end
554
126
  end
555
127
  end
556
128
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- class UserRemoveParams < Sentdm::Internal::Type::BaseModel
5
+ class UserRemoveParams < Sentdm::Models::MutationRequest
6
6
  extend Sentdm::Internal::Type::RequestParameters::Converter
7
7
  include Sentdm::Internal::Type::RequestParameters
8
8
 
@@ -14,14 +14,6 @@ module Sentdm
14
14
  sig { returns(String) }
15
15
  attr_accessor :user_id
16
16
 
17
- # Sandbox flag - when true, the operation is simulated without side effects Useful
18
- # for testing integrations without actual execution
19
- sig { returns(T.nilable(T::Boolean)) }
20
- attr_reader :sandbox
21
-
22
- sig { params(sandbox: T::Boolean).void }
23
- attr_writer :sandbox
24
-
25
17
  sig { returns(T.nilable(String)) }
26
18
  attr_reader :x_profile_id
27
19
 
@@ -31,26 +23,17 @@ module Sentdm
31
23
  sig do
32
24
  params(
33
25
  user_id: String,
34
- sandbox: T::Boolean,
35
26
  x_profile_id: String,
36
27
  request_options: Sentdm::RequestOptions::OrHash
37
28
  ).returns(T.attached_class)
38
29
  end
39
- def self.new(
40
- user_id:,
41
- # Sandbox flag - when true, the operation is simulated without side effects Useful
42
- # for testing integrations without actual execution
43
- sandbox: nil,
44
- x_profile_id: nil,
45
- request_options: {}
46
- )
30
+ def self.new(user_id:, x_profile_id: nil, request_options: {})
47
31
  end
48
32
 
49
33
  sig do
50
34
  override.returns(
51
35
  {
52
36
  user_id: String,
53
- sandbox: T::Boolean,
54
37
  x_profile_id: String,
55
38
  request_options: Sentdm::RequestOptions
56
39
  }
@@ -0,0 +1,131 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class UserResponse < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Sentdm::UserResponse, Sentdm::Internal::AnyHash) }
8
+
9
+ # User unique identifier
10
+ sig { returns(T.nilable(String)) }
11
+ attr_reader :id
12
+
13
+ sig { params(id: String).void }
14
+ attr_writer :id
15
+
16
+ # When the user was added to the organization
17
+ sig { returns(T.nilable(Time)) }
18
+ attr_reader :created_at
19
+
20
+ sig { params(created_at: Time).void }
21
+ attr_writer :created_at
22
+
23
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
24
+ # Says whose resource this is, which the resource's own id does not.
25
+ sig { returns(T.nilable(String)) }
26
+ attr_reader :customer_id
27
+
28
+ sig { params(customer_id: String).void }
29
+ attr_writer :customer_id
30
+
31
+ # User email address
32
+ sig { returns(T.nilable(String)) }
33
+ attr_reader :email
34
+
35
+ sig { params(email: String).void }
36
+ attr_writer :email
37
+
38
+ # When the user was invited
39
+ sig { returns(T.nilable(Time)) }
40
+ attr_accessor :invited_at
41
+
42
+ # When the user last logged in
43
+ sig { returns(T.nilable(Time)) }
44
+ attr_accessor :last_login_at
45
+
46
+ # User full name
47
+ sig { returns(T.nilable(String)) }
48
+ attr_reader :name
49
+
50
+ sig { params(name: String).void }
51
+ attr_writer :name
52
+
53
+ # User role in the organization: admin, billing, developer
54
+ sig { returns(T.nilable(String)) }
55
+ attr_reader :role
56
+
57
+ sig { params(role: String).void }
58
+ attr_writer :role
59
+
60
+ # User status: active, invited, suspended, rejected
61
+ sig { returns(T.nilable(String)) }
62
+ attr_reader :status
63
+
64
+ sig { params(status: String).void }
65
+ attr_writer :status
66
+
67
+ # When the user record was last updated
68
+ sig { returns(T.nilable(Time)) }
69
+ attr_accessor :updated_at
70
+
71
+ # User response for v3 API
72
+ sig do
73
+ params(
74
+ id: String,
75
+ created_at: Time,
76
+ customer_id: String,
77
+ email: String,
78
+ invited_at: T.nilable(Time),
79
+ last_login_at: T.nilable(Time),
80
+ name: String,
81
+ role: String,
82
+ status: String,
83
+ updated_at: T.nilable(Time)
84
+ ).returns(T.attached_class)
85
+ end
86
+ def self.new(
87
+ # User unique identifier
88
+ id: nil,
89
+ # When the user was added to the organization
90
+ created_at: nil,
91
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
92
+ # Says whose resource this is, which the resource's own id does not.
93
+ customer_id: nil,
94
+ # User email address
95
+ email: nil,
96
+ # When the user was invited
97
+ invited_at: nil,
98
+ # When the user last logged in
99
+ last_login_at: nil,
100
+ # User full name
101
+ name: nil,
102
+ # User role in the organization: admin, billing, developer
103
+ role: nil,
104
+ # User status: active, invited, suspended, rejected
105
+ status: nil,
106
+ # When the user record was last updated
107
+ updated_at: nil
108
+ )
109
+ end
110
+
111
+ sig do
112
+ override.returns(
113
+ {
114
+ id: String,
115
+ created_at: Time,
116
+ customer_id: String,
117
+ email: String,
118
+ invited_at: T.nilable(Time),
119
+ last_login_at: T.nilable(Time),
120
+ name: String,
121
+ role: String,
122
+ status: String,
123
+ updated_at: T.nilable(Time)
124
+ }
125
+ )
126
+ end
127
+ def to_hash
128
+ end
129
+ end
130
+ end
131
+ end