terminal-shop 0.1.0.pre.alpha.5

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 +7 -0
  2. data/README.md +127 -0
  3. data/lib/terminal-shop/base_client.rb +452 -0
  4. data/lib/terminal-shop/base_model.rb +1189 -0
  5. data/lib/terminal-shop/base_page.rb +44 -0
  6. data/lib/terminal-shop/client.rb +135 -0
  7. data/lib/terminal-shop/errors.rb +187 -0
  8. data/lib/terminal-shop/extern.rb +10 -0
  9. data/lib/terminal-shop/models/address.rb +101 -0
  10. data/lib/terminal-shop/models/address_create_params.rb +86 -0
  11. data/lib/terminal-shop/models/address_create_response.rb +26 -0
  12. data/lib/terminal-shop/models/address_delete_params.rb +18 -0
  13. data/lib/terminal-shop/models/address_delete_response.rb +25 -0
  14. data/lib/terminal-shop/models/address_list_params.rb +18 -0
  15. data/lib/terminal-shop/models/address_list_response.rb +26 -0
  16. data/lib/terminal-shop/models/app.rb +44 -0
  17. data/lib/terminal-shop/models/app_create_params.rb +18 -0
  18. data/lib/terminal-shop/models/app_create_response.rb +54 -0
  19. data/lib/terminal-shop/models/app_delete_params.rb +18 -0
  20. data/lib/terminal-shop/models/app_delete_response.rb +25 -0
  21. data/lib/terminal-shop/models/app_get_params.rb +18 -0
  22. data/lib/terminal-shop/models/app_get_response.rb +26 -0
  23. data/lib/terminal-shop/models/app_list_params.rb +18 -0
  24. data/lib/terminal-shop/models/app_list_response.rb +26 -0
  25. data/lib/terminal-shop/models/card.rb +83 -0
  26. data/lib/terminal-shop/models/card_collect_params.rb +18 -0
  27. data/lib/terminal-shop/models/card_collect_response.rb +50 -0
  28. data/lib/terminal-shop/models/card_create_params.rb +26 -0
  29. data/lib/terminal-shop/models/card_create_response.rb +26 -0
  30. data/lib/terminal-shop/models/card_delete_params.rb +18 -0
  31. data/lib/terminal-shop/models/card_delete_response.rb +25 -0
  32. data/lib/terminal-shop/models/card_list_params.rb +18 -0
  33. data/lib/terminal-shop/models/card_list_response.rb +26 -0
  34. data/lib/terminal-shop/models/cart.rb +200 -0
  35. data/lib/terminal-shop/models/cart_convert_params.rb +18 -0
  36. data/lib/terminal-shop/models/cart_convert_response.rb +26 -0
  37. data/lib/terminal-shop/models/cart_get_params.rb +18 -0
  38. data/lib/terminal-shop/models/cart_get_response.rb +26 -0
  39. data/lib/terminal-shop/models/cart_set_address_params.rb +25 -0
  40. data/lib/terminal-shop/models/cart_set_address_response.rb +25 -0
  41. data/lib/terminal-shop/models/cart_set_card_params.rb +25 -0
  42. data/lib/terminal-shop/models/cart_set_card_response.rb +25 -0
  43. data/lib/terminal-shop/models/cart_set_item_params.rb +32 -0
  44. data/lib/terminal-shop/models/cart_set_item_response.rb +26 -0
  45. data/lib/terminal-shop/models/email_create_params.rb +25 -0
  46. data/lib/terminal-shop/models/email_create_response.rb +25 -0
  47. data/lib/terminal-shop/models/order.rb +303 -0
  48. data/lib/terminal-shop/models/order_get_params.rb +18 -0
  49. data/lib/terminal-shop/models/order_get_response.rb +26 -0
  50. data/lib/terminal-shop/models/order_list_params.rb +18 -0
  51. data/lib/terminal-shop/models/order_list_response.rb +26 -0
  52. data/lib/terminal-shop/models/product.rb +141 -0
  53. data/lib/terminal-shop/models/product_list_params.rb +18 -0
  54. data/lib/terminal-shop/models/product_list_response.rb +26 -0
  55. data/lib/terminal-shop/models/product_variant.rb +44 -0
  56. data/lib/terminal-shop/models/profile.rb +83 -0
  57. data/lib/terminal-shop/models/profile_me_params.rb +18 -0
  58. data/lib/terminal-shop/models/profile_me_response.rb +26 -0
  59. data/lib/terminal-shop/models/profile_update_params.rb +32 -0
  60. data/lib/terminal-shop/models/profile_update_response.rb +26 -0
  61. data/lib/terminal-shop/models/subscription.rb +113 -0
  62. data/lib/terminal-shop/models/subscription_create_params.rb +18 -0
  63. data/lib/terminal-shop/models/subscription_create_response.rb +25 -0
  64. data/lib/terminal-shop/models/subscription_delete_params.rb +18 -0
  65. data/lib/terminal-shop/models/subscription_delete_response.rb +25 -0
  66. data/lib/terminal-shop/models/subscription_list_params.rb +18 -0
  67. data/lib/terminal-shop/models/subscription_list_response.rb +26 -0
  68. data/lib/terminal-shop/models/token.rb +68 -0
  69. data/lib/terminal-shop/models/token_create_params.rb +18 -0
  70. data/lib/terminal-shop/models/token_create_response.rb +55 -0
  71. data/lib/terminal-shop/models/token_delete_params.rb +18 -0
  72. data/lib/terminal-shop/models/token_delete_response.rb +25 -0
  73. data/lib/terminal-shop/models/token_get_params.rb +18 -0
  74. data/lib/terminal-shop/models/token_get_response.rb +27 -0
  75. data/lib/terminal-shop/models/token_list_params.rb +18 -0
  76. data/lib/terminal-shop/models/token_list_response.rb +26 -0
  77. data/lib/terminal-shop/models/view_init_params.rb +18 -0
  78. data/lib/terminal-shop/models/view_init_response.rb +103 -0
  79. data/lib/terminal-shop/pooled_net_requester.rb +94 -0
  80. data/lib/terminal-shop/request_options.rb +115 -0
  81. data/lib/terminal-shop/resources/address.rb +84 -0
  82. data/lib/terminal-shop/resources/app.rb +93 -0
  83. data/lib/terminal-shop/resources/card.rb +89 -0
  84. data/lib/terminal-shop/resources/cart.rb +112 -0
  85. data/lib/terminal-shop/resources/email.rb +34 -0
  86. data/lib/terminal-shop/resources/order.rb +49 -0
  87. data/lib/terminal-shop/resources/product.rb +30 -0
  88. data/lib/terminal-shop/resources/profile.rb +53 -0
  89. data/lib/terminal-shop/resources/subscription.rb +82 -0
  90. data/lib/terminal-shop/resources/token.rb +85 -0
  91. data/lib/terminal-shop/resources/view.rb +31 -0
  92. data/lib/terminal-shop/util.rb +460 -0
  93. data/lib/terminal-shop/version.rb +5 -0
  94. data/lib/terminal-shop.rb +110 -0
  95. data/manifest.yaml +12 -0
  96. data/rbi/lib/terminal-shop/base_client.rbi +145 -0
  97. data/rbi/lib/terminal-shop/base_model.rbi +514 -0
  98. data/rbi/lib/terminal-shop/base_page.rbi +38 -0
  99. data/rbi/lib/terminal-shop/client.rbi +80 -0
  100. data/rbi/lib/terminal-shop/errors.rbi +133 -0
  101. data/rbi/lib/terminal-shop/extern.rbi +7 -0
  102. data/rbi/lib/terminal-shop/models/address.rbi +77 -0
  103. data/rbi/lib/terminal-shop/models/address_create_params.rbi +87 -0
  104. data/rbi/lib/terminal-shop/models/address_create_response.rbi +18 -0
  105. data/rbi/lib/terminal-shop/models/address_delete_params.rbi +18 -0
  106. data/rbi/lib/terminal-shop/models/address_delete_response.rbi +18 -0
  107. data/rbi/lib/terminal-shop/models/address_list_params.rbi +18 -0
  108. data/rbi/lib/terminal-shop/models/address_list_response.rbi +18 -0
  109. data/rbi/lib/terminal-shop/models/app.rbi +24 -0
  110. data/rbi/lib/terminal-shop/models/app_create_params.rbi +18 -0
  111. data/rbi/lib/terminal-shop/models/app_create_response.rbi +34 -0
  112. data/rbi/lib/terminal-shop/models/app_delete_params.rbi +18 -0
  113. data/rbi/lib/terminal-shop/models/app_delete_response.rbi +18 -0
  114. data/rbi/lib/terminal-shop/models/app_get_params.rbi +18 -0
  115. data/rbi/lib/terminal-shop/models/app_get_response.rbi +18 -0
  116. data/rbi/lib/terminal-shop/models/app_list_params.rbi +18 -0
  117. data/rbi/lib/terminal-shop/models/app_list_response.rbi +18 -0
  118. data/rbi/lib/terminal-shop/models/card.rbi +59 -0
  119. data/rbi/lib/terminal-shop/models/card_collect_params.rbi +18 -0
  120. data/rbi/lib/terminal-shop/models/card_collect_response.rbi +31 -0
  121. data/rbi/lib/terminal-shop/models/card_create_params.rbi +26 -0
  122. data/rbi/lib/terminal-shop/models/card_create_response.rbi +18 -0
  123. data/rbi/lib/terminal-shop/models/card_delete_params.rbi +18 -0
  124. data/rbi/lib/terminal-shop/models/card_delete_response.rbi +18 -0
  125. data/rbi/lib/terminal-shop/models/card_list_params.rbi +18 -0
  126. data/rbi/lib/terminal-shop/models/card_list_response.rbi +18 -0
  127. data/rbi/lib/terminal-shop/models/cart.rbi +127 -0
  128. data/rbi/lib/terminal-shop/models/cart_convert_params.rbi +18 -0
  129. data/rbi/lib/terminal-shop/models/cart_convert_response.rbi +18 -0
  130. data/rbi/lib/terminal-shop/models/cart_get_params.rbi +18 -0
  131. data/rbi/lib/terminal-shop/models/cart_get_response.rbi +18 -0
  132. data/rbi/lib/terminal-shop/models/cart_set_address_params.rbi +26 -0
  133. data/rbi/lib/terminal-shop/models/cart_set_address_response.rbi +18 -0
  134. data/rbi/lib/terminal-shop/models/cart_set_card_params.rbi +26 -0
  135. data/rbi/lib/terminal-shop/models/cart_set_card_response.rbi +18 -0
  136. data/rbi/lib/terminal-shop/models/cart_set_item_params.rbi +38 -0
  137. data/rbi/lib/terminal-shop/models/cart_set_item_response.rbi +18 -0
  138. data/rbi/lib/terminal-shop/models/email_create_params.rbi +26 -0
  139. data/rbi/lib/terminal-shop/models/email_create_response.rbi +18 -0
  140. data/rbi/lib/terminal-shop/models/order.rbi +216 -0
  141. data/rbi/lib/terminal-shop/models/order_get_params.rbi +18 -0
  142. data/rbi/lib/terminal-shop/models/order_get_response.rbi +18 -0
  143. data/rbi/lib/terminal-shop/models/order_list_params.rbi +18 -0
  144. data/rbi/lib/terminal-shop/models/order_list_response.rbi +18 -0
  145. data/rbi/lib/terminal-shop/models/product.rbi +94 -0
  146. data/rbi/lib/terminal-shop/models/product_list_params.rbi +18 -0
  147. data/rbi/lib/terminal-shop/models/product_list_response.rbi +18 -0
  148. data/rbi/lib/terminal-shop/models/product_variant.rbi +24 -0
  149. data/rbi/lib/terminal-shop/models/profile.rbi +61 -0
  150. data/rbi/lib/terminal-shop/models/profile_me_params.rbi +18 -0
  151. data/rbi/lib/terminal-shop/models/profile_me_response.rbi +18 -0
  152. data/rbi/lib/terminal-shop/models/profile_update_params.rbi +38 -0
  153. data/rbi/lib/terminal-shop/models/profile_update_response.rbi +18 -0
  154. data/rbi/lib/terminal-shop/models/subscription.rbi +75 -0
  155. data/rbi/lib/terminal-shop/models/subscription_create_params.rbi +18 -0
  156. data/rbi/lib/terminal-shop/models/subscription_create_response.rbi +18 -0
  157. data/rbi/lib/terminal-shop/models/subscription_delete_params.rbi +18 -0
  158. data/rbi/lib/terminal-shop/models/subscription_delete_response.rbi +18 -0
  159. data/rbi/lib/terminal-shop/models/subscription_list_params.rbi +18 -0
  160. data/rbi/lib/terminal-shop/models/subscription_list_response.rbi +18 -0
  161. data/rbi/lib/terminal-shop/models/token.rbi +37 -0
  162. data/rbi/lib/terminal-shop/models/token_create_params.rbi +18 -0
  163. data/rbi/lib/terminal-shop/models/token_create_response.rbi +34 -0
  164. data/rbi/lib/terminal-shop/models/token_delete_params.rbi +18 -0
  165. data/rbi/lib/terminal-shop/models/token_delete_response.rbi +18 -0
  166. data/rbi/lib/terminal-shop/models/token_get_params.rbi +18 -0
  167. data/rbi/lib/terminal-shop/models/token_get_response.rbi +18 -0
  168. data/rbi/lib/terminal-shop/models/token_list_params.rbi +18 -0
  169. data/rbi/lib/terminal-shop/models/token_list_response.rbi +18 -0
  170. data/rbi/lib/terminal-shop/models/view_init_params.rbi +18 -0
  171. data/rbi/lib/terminal-shop/models/view_init_response.rbi +91 -0
  172. data/rbi/lib/terminal-shop/request_options.rbi +40 -0
  173. data/rbi/lib/terminal-shop/resources/address.rbi +60 -0
  174. data/rbi/lib/terminal-shop/resources/app.rbi +54 -0
  175. data/rbi/lib/terminal-shop/resources/card.rbi +57 -0
  176. data/rbi/lib/terminal-shop/resources/cart.rbi +67 -0
  177. data/rbi/lib/terminal-shop/resources/email.rbi +20 -0
  178. data/rbi/lib/terminal-shop/resources/order.rbi +34 -0
  179. data/rbi/lib/terminal-shop/resources/product.rbi +25 -0
  180. data/rbi/lib/terminal-shop/resources/profile.rbi +35 -0
  181. data/rbi/lib/terminal-shop/resources/subscription.rbi +58 -0
  182. data/rbi/lib/terminal-shop/resources/token.rbi +57 -0
  183. data/rbi/lib/terminal-shop/resources/view.rbi +25 -0
  184. data/rbi/lib/terminal-shop/util.rbi +128 -0
  185. data/rbi/lib/terminal-shop/version.rbi +5 -0
  186. data/sig/terminal-shop/base_client.rbs +100 -0
  187. data/sig/terminal-shop/base_model.rbs +246 -0
  188. data/sig/terminal-shop/base_page.rbs +20 -0
  189. data/sig/terminal-shop/client.rbs +52 -0
  190. data/sig/terminal-shop/errors.rbs +98 -0
  191. data/sig/terminal-shop/extern.rbs +4 -0
  192. data/sig/terminal-shop/models/address.rbs +60 -0
  193. data/sig/terminal-shop/models/address_create_params.rbs +62 -0
  194. data/sig/terminal-shop/models/address_create_response.rbs +18 -0
  195. data/sig/terminal-shop/models/address_delete_params.rbs +19 -0
  196. data/sig/terminal-shop/models/address_delete_response.rbs +18 -0
  197. data/sig/terminal-shop/models/address_list_params.rbs +19 -0
  198. data/sig/terminal-shop/models/address_list_response.rbs +19 -0
  199. data/sig/terminal-shop/models/app.rbs +21 -0
  200. data/sig/terminal-shop/models/app_create_params.rbs +19 -0
  201. data/sig/terminal-shop/models/app_create_response.rbs +36 -0
  202. data/sig/terminal-shop/models/app_delete_params.rbs +19 -0
  203. data/sig/terminal-shop/models/app_delete_response.rbs +18 -0
  204. data/sig/terminal-shop/models/app_get_params.rbs +18 -0
  205. data/sig/terminal-shop/models/app_get_response.rbs +17 -0
  206. data/sig/terminal-shop/models/app_list_params.rbs +18 -0
  207. data/sig/terminal-shop/models/app_list_response.rbs +18 -0
  208. data/sig/terminal-shop/models/card.rbs +51 -0
  209. data/sig/terminal-shop/models/card_collect_params.rbs +19 -0
  210. data/sig/terminal-shop/models/card_collect_response.rbs +34 -0
  211. data/sig/terminal-shop/models/card_create_params.rbs +22 -0
  212. data/sig/terminal-shop/models/card_create_response.rbs +18 -0
  213. data/sig/terminal-shop/models/card_delete_params.rbs +19 -0
  214. data/sig/terminal-shop/models/card_delete_response.rbs +18 -0
  215. data/sig/terminal-shop/models/card_list_params.rbs +18 -0
  216. data/sig/terminal-shop/models/card_list_response.rbs +18 -0
  217. data/sig/terminal-shop/models/cart.rbs +119 -0
  218. data/sig/terminal-shop/models/cart_convert_params.rbs +19 -0
  219. data/sig/terminal-shop/models/cart_convert_response.rbs +18 -0
  220. data/sig/terminal-shop/models/cart_get_params.rbs +18 -0
  221. data/sig/terminal-shop/models/cart_get_response.rbs +18 -0
  222. data/sig/terminal-shop/models/cart_set_address_params.rbs +25 -0
  223. data/sig/terminal-shop/models/cart_set_address_response.rbs +18 -0
  224. data/sig/terminal-shop/models/cart_set_card_params.rbs +22 -0
  225. data/sig/terminal-shop/models/cart_set_card_response.rbs +18 -0
  226. data/sig/terminal-shop/models/cart_set_item_params.rbs +29 -0
  227. data/sig/terminal-shop/models/cart_set_item_response.rbs +18 -0
  228. data/sig/terminal-shop/models/email_create_params.rbs +22 -0
  229. data/sig/terminal-shop/models/email_create_response.rbs +18 -0
  230. data/sig/terminal-shop/models/order.rbs +179 -0
  231. data/sig/terminal-shop/models/order_get_params.rbs +18 -0
  232. data/sig/terminal-shop/models/order_get_response.rbs +18 -0
  233. data/sig/terminal-shop/models/order_list_params.rbs +19 -0
  234. data/sig/terminal-shop/models/order_list_response.rbs +18 -0
  235. data/sig/terminal-shop/models/product.rbs +76 -0
  236. data/sig/terminal-shop/models/product_list_params.rbs +19 -0
  237. data/sig/terminal-shop/models/product_list_response.rbs +19 -0
  238. data/sig/terminal-shop/models/product_variant.rbs +21 -0
  239. data/sig/terminal-shop/models/profile.rbs +53 -0
  240. data/sig/terminal-shop/models/profile_me_params.rbs +19 -0
  241. data/sig/terminal-shop/models/profile_me_response.rbs +18 -0
  242. data/sig/terminal-shop/models/profile_update_params.rbs +28 -0
  243. data/sig/terminal-shop/models/profile_update_response.rbs +18 -0
  244. data/sig/terminal-shop/models/subscription.rbs +60 -0
  245. data/sig/terminal-shop/models/subscription_create_params.rbs +19 -0
  246. data/sig/terminal-shop/models/subscription_create_response.rbs +18 -0
  247. data/sig/terminal-shop/models/subscription_delete_params.rbs +19 -0
  248. data/sig/terminal-shop/models/subscription_delete_response.rbs +18 -0
  249. data/sig/terminal-shop/models/subscription_list_params.rbs +19 -0
  250. data/sig/terminal-shop/models/subscription_list_response.rbs +19 -0
  251. data/sig/terminal-shop/models/token.rbs +40 -0
  252. data/sig/terminal-shop/models/token_create_params.rbs +19 -0
  253. data/sig/terminal-shop/models/token_create_response.rbs +36 -0
  254. data/sig/terminal-shop/models/token_delete_params.rbs +19 -0
  255. data/sig/terminal-shop/models/token_delete_response.rbs +18 -0
  256. data/sig/terminal-shop/models/token_get_params.rbs +18 -0
  257. data/sig/terminal-shop/models/token_get_response.rbs +18 -0
  258. data/sig/terminal-shop/models/token_list_params.rbs +19 -0
  259. data/sig/terminal-shop/models/token_list_response.rbs +18 -0
  260. data/sig/terminal-shop/models/view_init_params.rbs +18 -0
  261. data/sig/terminal-shop/models/view_init_response.rbs +71 -0
  262. data/sig/terminal-shop/request_options.rbs +42 -0
  263. data/sig/terminal-shop/resources/address.rbs +41 -0
  264. data/sig/terminal-shop/resources/app.rbs +46 -0
  265. data/sig/terminal-shop/resources/card.rbs +42 -0
  266. data/sig/terminal-shop/resources/cart.rbs +51 -0
  267. data/sig/terminal-shop/resources/email.rbs +16 -0
  268. data/sig/terminal-shop/resources/order.rbs +25 -0
  269. data/sig/terminal-shop/resources/product.rbs +15 -0
  270. data/sig/terminal-shop/resources/profile.rbs +25 -0
  271. data/sig/terminal-shop/resources/subscription.rbs +43 -0
  272. data/sig/terminal-shop/resources/token.rbs +43 -0
  273. data/sig/terminal-shop/resources/view.rbs +15 -0
  274. data/sig/terminal-shop/util.rbs +85 -0
  275. data/sig/terminal-shop/version.rbs +3 -0
  276. metadata +333 -0
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TerminalShop
4
+ module Resources
5
+ class Email
6
+ # Subscribe to email updates from Terminal.
7
+ #
8
+ # @param params [TerminalShop::Models::EmailCreateParams, Hash{Symbol=>Object}] .
9
+ #
10
+ # @option params [String] :email Email address to subscribe to Terminal updates with.
11
+ #
12
+ # @option params [TerminalShop::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
13
+ #
14
+ # @return [TerminalShop::Models::EmailCreateResponse]
15
+ #
16
+ def create(params)
17
+ parsed, options = TerminalShop::Models::EmailCreateParams.dump_request(params)
18
+ @client.request(
19
+ method: :post,
20
+ path: "email",
21
+ body: parsed,
22
+ model: TerminalShop::Models::EmailCreateResponse,
23
+ options: options
24
+ )
25
+ end
26
+
27
+ # @param client [TerminalShop::Client]
28
+ #
29
+ def initialize(client:)
30
+ @client = client
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TerminalShop
4
+ module Resources
5
+ class Order
6
+ # List the orders associated with the current user.
7
+ #
8
+ # @param params [TerminalShop::Models::OrderListParams, Hash{Symbol=>Object}] .
9
+ #
10
+ # @option params [TerminalShop::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
11
+ #
12
+ # @return [TerminalShop::Models::OrderListResponse]
13
+ #
14
+ def list(params = {})
15
+ @client.request(
16
+ method: :get,
17
+ path: "order",
18
+ model: TerminalShop::Models::OrderListResponse,
19
+ options: params[:request_options]
20
+ )
21
+ end
22
+
23
+ # Get the order with the given ID.
24
+ #
25
+ # @param id [String] ID of the order to get.
26
+ #
27
+ # @param params [TerminalShop::Models::OrderGetParams, Hash{Symbol=>Object}] .
28
+ #
29
+ # @option params [TerminalShop::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
30
+ #
31
+ # @return [TerminalShop::Models::OrderGetResponse]
32
+ #
33
+ def get(id, params = {})
34
+ @client.request(
35
+ method: :get,
36
+ path: ["order/%0s", id],
37
+ model: TerminalShop::Models::OrderGetResponse,
38
+ options: params[:request_options]
39
+ )
40
+ end
41
+
42
+ # @param client [TerminalShop::Client]
43
+ #
44
+ def initialize(client:)
45
+ @client = client
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TerminalShop
4
+ module Resources
5
+ class Product
6
+ # List all products for sale in the Terminal shop.
7
+ #
8
+ # @param params [TerminalShop::Models::ProductListParams, Hash{Symbol=>Object}] .
9
+ #
10
+ # @option params [TerminalShop::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
11
+ #
12
+ # @return [TerminalShop::Models::ProductListResponse]
13
+ #
14
+ def list(params = {})
15
+ @client.request(
16
+ method: :get,
17
+ path: "product",
18
+ model: TerminalShop::Models::ProductListResponse,
19
+ options: params[:request_options]
20
+ )
21
+ end
22
+
23
+ # @param client [TerminalShop::Client]
24
+ #
25
+ def initialize(client:)
26
+ @client = client
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TerminalShop
4
+ module Resources
5
+ class Profile
6
+ # Update the current user's profile.
7
+ #
8
+ # @param params [TerminalShop::Models::ProfileUpdateParams, Hash{Symbol=>Object}] .
9
+ #
10
+ # @option params [String, nil] :email Email address of the user.
11
+ #
12
+ # @option params [String, nil] :name Name of the user.
13
+ #
14
+ # @option params [TerminalShop::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
15
+ #
16
+ # @return [TerminalShop::Models::ProfileUpdateResponse]
17
+ #
18
+ def update(params = {})
19
+ parsed, options = TerminalShop::Models::ProfileUpdateParams.dump_request(params)
20
+ @client.request(
21
+ method: :put,
22
+ path: "profile",
23
+ body: parsed,
24
+ model: TerminalShop::Models::ProfileUpdateResponse,
25
+ options: options
26
+ )
27
+ end
28
+
29
+ # Get the current user's profile.
30
+ #
31
+ # @param params [TerminalShop::Models::ProfileMeParams, Hash{Symbol=>Object}] .
32
+ #
33
+ # @option params [TerminalShop::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
34
+ #
35
+ # @return [TerminalShop::Models::ProfileMeResponse]
36
+ #
37
+ def me(params = {})
38
+ @client.request(
39
+ method: :get,
40
+ path: "profile",
41
+ model: TerminalShop::Models::ProfileMeResponse,
42
+ options: params[:request_options]
43
+ )
44
+ end
45
+
46
+ # @param client [TerminalShop::Client]
47
+ #
48
+ def initialize(client:)
49
+ @client = client
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TerminalShop
4
+ module Resources
5
+ class Subscription
6
+ # Create a subscription for the current user.
7
+ #
8
+ # @param params [TerminalShop::Models::SubscriptionCreateParams, Hash{Symbol=>Object}] .
9
+ #
10
+ # @option params [String] :id Unique object identifier. The format and length of IDs may change over time.
11
+ #
12
+ # @option params [String] :address_id ID of the shipping address used for the subscription.
13
+ #
14
+ # @option params [String] :card_id ID of the card used for the subscription.
15
+ #
16
+ # @option params [Symbol, TerminalShop::Models::SubscriptionAPI::Frequency] :frequency Frequency of the subscription.
17
+ #
18
+ # @option params [String] :product_variant_id ID of the product variant being subscribed to.
19
+ #
20
+ # @option params [Integer] :quantity Quantity of the subscription.
21
+ #
22
+ # @option params [String] :next_ Next shipment and billing date for the subscription.
23
+ #
24
+ # @option params [TerminalShop::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
25
+ #
26
+ # @return [TerminalShop::Models::SubscriptionCreateResponse]
27
+ #
28
+ def create(params)
29
+ parsed, options = TerminalShop::Models::SubscriptionCreateParams.dump_request(params)
30
+ @client.request(
31
+ method: :post,
32
+ path: "subscription",
33
+ body: parsed,
34
+ model: TerminalShop::Models::SubscriptionCreateResponse,
35
+ options: options
36
+ )
37
+ end
38
+
39
+ # List the subscriptions associated with the current user.
40
+ #
41
+ # @param params [TerminalShop::Models::SubscriptionListParams, Hash{Symbol=>Object}] .
42
+ #
43
+ # @option params [TerminalShop::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
44
+ #
45
+ # @return [TerminalShop::Models::SubscriptionListResponse]
46
+ #
47
+ def list(params = {})
48
+ @client.request(
49
+ method: :get,
50
+ path: "subscription",
51
+ model: TerminalShop::Models::SubscriptionListResponse,
52
+ options: params[:request_options]
53
+ )
54
+ end
55
+
56
+ # Cancel a subscription for the current user.
57
+ #
58
+ # @param id [String] ID of the subscription to cancel.
59
+ #
60
+ # @param params [TerminalShop::Models::SubscriptionDeleteParams, Hash{Symbol=>Object}] .
61
+ #
62
+ # @option params [TerminalShop::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
63
+ #
64
+ # @return [TerminalShop::Models::SubscriptionDeleteResponse]
65
+ #
66
+ def delete(id, params = {})
67
+ @client.request(
68
+ method: :delete,
69
+ path: ["subscription/%0s", id],
70
+ model: TerminalShop::Models::SubscriptionDeleteResponse,
71
+ options: params[:request_options]
72
+ )
73
+ end
74
+
75
+ # @param client [TerminalShop::Client]
76
+ #
77
+ def initialize(client:)
78
+ @client = client
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,85 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TerminalShop
4
+ module Resources
5
+ class Token
6
+ # Create a personal access token.
7
+ #
8
+ # @param params [TerminalShop::Models::TokenCreateParams, Hash{Symbol=>Object}] .
9
+ #
10
+ # @option params [TerminalShop::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
11
+ #
12
+ # @return [TerminalShop::Models::TokenCreateResponse]
13
+ #
14
+ def create(params = {})
15
+ @client.request(
16
+ method: :post,
17
+ path: "token",
18
+ model: TerminalShop::Models::TokenCreateResponse,
19
+ options: params[:request_options]
20
+ )
21
+ end
22
+
23
+ # List the current user's personal access tokens.
24
+ #
25
+ # @param params [TerminalShop::Models::TokenListParams, Hash{Symbol=>Object}] .
26
+ #
27
+ # @option params [TerminalShop::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
28
+ #
29
+ # @return [TerminalShop::Models::TokenListResponse]
30
+ #
31
+ def list(params = {})
32
+ @client.request(
33
+ method: :get,
34
+ path: "token",
35
+ model: TerminalShop::Models::TokenListResponse,
36
+ options: params[:request_options]
37
+ )
38
+ end
39
+
40
+ # Delete the personal access token with the given ID.
41
+ #
42
+ # @param id [String] ID of the personal token to delete.
43
+ #
44
+ # @param params [TerminalShop::Models::TokenDeleteParams, Hash{Symbol=>Object}] .
45
+ #
46
+ # @option params [TerminalShop::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
47
+ #
48
+ # @return [TerminalShop::Models::TokenDeleteResponse]
49
+ #
50
+ def delete(id, params = {})
51
+ @client.request(
52
+ method: :delete,
53
+ path: ["token/%0s", id],
54
+ model: TerminalShop::Models::TokenDeleteResponse,
55
+ options: params[:request_options]
56
+ )
57
+ end
58
+
59
+ # Get the personal access token with the given ID.
60
+ #
61
+ # @param id [String] ID of the personal token to get.
62
+ #
63
+ # @param params [TerminalShop::Models::TokenGetParams, Hash{Symbol=>Object}] .
64
+ #
65
+ # @option params [TerminalShop::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
66
+ #
67
+ # @return [TerminalShop::Models::TokenGetResponse]
68
+ #
69
+ def get(id, params = {})
70
+ @client.request(
71
+ method: :get,
72
+ path: ["token/%0s", id],
73
+ model: TerminalShop::Models::TokenGetResponse,
74
+ options: params[:request_options]
75
+ )
76
+ end
77
+
78
+ # @param client [TerminalShop::Client]
79
+ #
80
+ def initialize(client:)
81
+ @client = client
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TerminalShop
4
+ module Resources
5
+ class View
6
+ # Get initial app data, including user, products, cart, addresses, cards,
7
+ # subscriptions, and orders.
8
+ #
9
+ # @param params [TerminalShop::Models::ViewInitParams, Hash{Symbol=>Object}] .
10
+ #
11
+ # @option params [TerminalShop::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
12
+ #
13
+ # @return [TerminalShop::Models::ViewInitResponse]
14
+ #
15
+ def init(params = {})
16
+ @client.request(
17
+ method: :get,
18
+ path: "view/init",
19
+ model: TerminalShop::Models::ViewInitResponse,
20
+ options: params[:request_options]
21
+ )
22
+ end
23
+
24
+ # @param client [TerminalShop::Client]
25
+ #
26
+ def initialize(client:)
27
+ @client = client
28
+ end
29
+ end
30
+ end
31
+ end