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,80 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ class Client < TerminalShop::BaseClient
5
+ DEFAULT_MAX_RETRIES = 2
6
+
7
+ DEFAULT_TIMEOUT_IN_SECONDS = T.let(60.0, Float)
8
+
9
+ DEFAULT_INITIAL_RETRY_DELAY = T.let(0.5, Float)
10
+
11
+ DEFAULT_MAX_RETRY_DELAY = T.let(8.0, Float)
12
+
13
+ ENVIRONMENTS = T.let(
14
+ {production: "https://api.terminal.shop/", sandbox: "https://sandbox.terminal.shop/"},
15
+ T::Hash[Symbol, String]
16
+ )
17
+
18
+ sig { returns(String) }
19
+ attr_reader :bearer_token
20
+
21
+ sig { returns(TerminalShop::Resources::Product) }
22
+ attr_reader :product
23
+
24
+ sig { returns(TerminalShop::Resources::Profile) }
25
+ attr_reader :profile
26
+
27
+ sig { returns(TerminalShop::Resources::Address) }
28
+ attr_reader :address
29
+
30
+ sig { returns(TerminalShop::Resources::Card) }
31
+ attr_reader :card
32
+
33
+ sig { returns(TerminalShop::Resources::Cart) }
34
+ attr_reader :cart
35
+
36
+ sig { returns(TerminalShop::Resources::Order) }
37
+ attr_reader :order
38
+
39
+ sig { returns(TerminalShop::Resources::Subscription) }
40
+ attr_reader :subscription
41
+
42
+ sig { returns(TerminalShop::Resources::Token) }
43
+ attr_reader :token
44
+
45
+ sig { returns(TerminalShop::Resources::App) }
46
+ attr_reader :app
47
+
48
+ sig { returns(TerminalShop::Resources::Email) }
49
+ attr_reader :email
50
+
51
+ sig { returns(TerminalShop::Resources::View) }
52
+ attr_reader :view
53
+
54
+ sig { returns(T::Hash[String, String]) }
55
+ private def auth_headers
56
+ end
57
+
58
+ sig do
59
+ params(
60
+ environment: NilClass,
61
+ base_url: T.nilable(String),
62
+ bearer_token: T.nilable(String),
63
+ max_retries: Integer,
64
+ timeout: Float,
65
+ initial_retry_delay: Float,
66
+ max_retry_delay: Float
67
+ ).void
68
+ end
69
+ def initialize(
70
+ environment: nil,
71
+ base_url: nil,
72
+ bearer_token: ENV["TERMINAL_BEARER_TOKEN"],
73
+ max_retries: DEFAULT_MAX_RETRIES,
74
+ timeout: DEFAULT_TIMEOUT_IN_SECONDS,
75
+ initial_retry_delay: DEFAULT_INITIAL_RETRY_DELAY,
76
+ max_retry_delay: DEFAULT_MAX_RETRY_DELAY
77
+ )
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,133 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ class Error < StandardError
5
+ sig { returns(T.nilable(StandardError)) }
6
+ attr_reader :cause
7
+ end
8
+
9
+ class ConversionError < TerminalShop::Error
10
+ end
11
+
12
+ class APIError < TerminalShop::Error
13
+ sig { returns(URI::Generic) }
14
+ attr_reader :url
15
+
16
+ sig { returns(T.nilable(Integer)) }
17
+ attr_reader :status
18
+
19
+ sig { returns(T.nilable(T.anything)) }
20
+ attr_reader :body
21
+
22
+ sig do
23
+ params(
24
+ url: URI::Generic,
25
+ status: T.nilable(Integer),
26
+ body: T.nilable(Object),
27
+ request: NilClass,
28
+ response: NilClass,
29
+ message: T.nilable(String)
30
+ ).void
31
+ end
32
+ def initialize(url:, status: nil, body: nil, request: nil, response: nil, message: nil)
33
+ end
34
+ end
35
+
36
+ class APIConnectionError < TerminalShop::APIError
37
+ sig { void }
38
+ attr_reader :status
39
+
40
+ sig { void }
41
+ attr_reader :body
42
+
43
+ sig do
44
+ params(
45
+ url: URI::Generic,
46
+ status: NilClass,
47
+ body: NilClass,
48
+ request: NilClass,
49
+ response: NilClass,
50
+ message: T.nilable(String)
51
+ ).void
52
+ end
53
+ def initialize(url:, status: nil, body: nil, request: nil, response: nil, message: "Connection error.")
54
+ end
55
+ end
56
+
57
+ class APITimeoutError < TerminalShop::APIConnectionError
58
+ sig do
59
+ params(
60
+ url: URI::Generic,
61
+ status: NilClass,
62
+ body: NilClass,
63
+ request: NilClass,
64
+ response: NilClass,
65
+ message: T.nilable(String)
66
+ ).void
67
+ end
68
+ def initialize(url:, status: nil, body: nil, request: nil, response: nil, message: "Request timed out.")
69
+ end
70
+ end
71
+
72
+ class APIStatusError < TerminalShop::APIError
73
+ sig do
74
+ params(
75
+ url: URI::Generic,
76
+ status: Integer,
77
+ body: T.nilable(Object),
78
+ request: NilClass,
79
+ response: NilClass
80
+ ).returns(T.attached_class)
81
+ end
82
+ def self.for(url:, status:, body:, request:, response:)
83
+ end
84
+
85
+ sig { returns(Integer) }
86
+ attr_reader :status
87
+
88
+ sig do
89
+ params(
90
+ url: URI::Generic,
91
+ status: Integer,
92
+ body: T.nilable(Object),
93
+ request: NilClass,
94
+ response: NilClass,
95
+ message: T.nilable(String)
96
+ ).void
97
+ end
98
+ def initialize(url:, status:, body:, request:, response:, message: nil)
99
+ end
100
+ end
101
+
102
+ class BadRequestError < TerminalShop::APIStatusError
103
+ HTTP_STATUS = 400
104
+ end
105
+
106
+ class AuthenticationError < TerminalShop::APIStatusError
107
+ HTTP_STATUS = 401
108
+ end
109
+
110
+ class PermissionDeniedError < TerminalShop::APIStatusError
111
+ HTTP_STATUS = 403
112
+ end
113
+
114
+ class NotFoundError < TerminalShop::APIStatusError
115
+ HTTP_STATUS = 404
116
+ end
117
+
118
+ class ConflictError < TerminalShop::APIStatusError
119
+ HTTP_STATUS = 409
120
+ end
121
+
122
+ class UnprocessableEntityError < TerminalShop::APIStatusError
123
+ HTTP_STATUS = 422
124
+ end
125
+
126
+ class RateLimitError < TerminalShop::APIStatusError
127
+ HTTP_STATUS = 429
128
+ end
129
+
130
+ class InternalServerError < TerminalShop::APIStatusError
131
+ HTTP_STATUS = T.let((500..), T::Range[Integer])
132
+ end
133
+ end
@@ -0,0 +1,7 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ module Extern
5
+ abstract!
6
+ end
7
+ end
@@ -0,0 +1,77 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ module Models
5
+ class AddressAPI < TerminalShop::BaseModel
6
+ sig { returns(String) }
7
+ attr_accessor :id
8
+
9
+ sig { returns(String) }
10
+ attr_accessor :city
11
+
12
+ sig { returns(String) }
13
+ attr_accessor :country
14
+
15
+ sig { returns(String) }
16
+ attr_accessor :name
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :street1
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :zip
23
+
24
+ sig { returns(T.nilable(String)) }
25
+ attr_reader :phone
26
+
27
+ sig { params(phone: String).void }
28
+ attr_writer :phone
29
+
30
+ sig { returns(T.nilable(String)) }
31
+ attr_reader :province
32
+
33
+ sig { params(province: String).void }
34
+ attr_writer :province
35
+
36
+ sig { returns(T.nilable(String)) }
37
+ attr_reader :street2
38
+
39
+ sig { params(street2: String).void }
40
+ attr_writer :street2
41
+
42
+ sig do
43
+ params(
44
+ id: String,
45
+ city: String,
46
+ country: String,
47
+ name: String,
48
+ street1: String,
49
+ zip: String,
50
+ phone: String,
51
+ province: String,
52
+ street2: String
53
+ ).void
54
+ end
55
+ def initialize(id:, city:, country:, name:, street1:, zip:, phone: nil, province: nil, street2: nil)
56
+ end
57
+
58
+ sig do
59
+ override.returns(
60
+ {
61
+ id: String,
62
+ city: String,
63
+ country: String,
64
+ name: String,
65
+ street1: String,
66
+ zip: String,
67
+ phone: String,
68
+ province: String,
69
+ street2: String
70
+ }
71
+ )
72
+ end
73
+ def to_hash
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,87 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ module Models
5
+ class AddressCreateParams < TerminalShop::BaseModel
6
+ extend TerminalShop::RequestParameters::Converter
7
+ include TerminalShop::RequestParameters
8
+
9
+ sig { returns(String) }
10
+ attr_accessor :city
11
+
12
+ sig { returns(String) }
13
+ attr_accessor :country
14
+
15
+ sig { returns(String) }
16
+ attr_accessor :name
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :street1
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :zip
23
+
24
+ sig { returns(T.nilable(String)) }
25
+ attr_reader :phone
26
+
27
+ sig { params(phone: String).void }
28
+ attr_writer :phone
29
+
30
+ sig { returns(T.nilable(String)) }
31
+ attr_reader :province
32
+
33
+ sig { params(province: String).void }
34
+ attr_writer :province
35
+
36
+ sig { returns(T.nilable(String)) }
37
+ attr_reader :street2
38
+
39
+ sig { params(street2: String).void }
40
+ attr_writer :street2
41
+
42
+ sig do
43
+ params(
44
+ city: String,
45
+ country: String,
46
+ name: String,
47
+ street1: String,
48
+ zip: String,
49
+ phone: String,
50
+ province: String,
51
+ street2: String,
52
+ request_options: T.any(TerminalShop::RequestOptions, T::Hash[Symbol, T.anything])
53
+ ).void
54
+ end
55
+ def initialize(
56
+ city:,
57
+ country:,
58
+ name:,
59
+ street1:,
60
+ zip:,
61
+ phone: nil,
62
+ province: nil,
63
+ street2: nil,
64
+ request_options: {}
65
+ )
66
+ end
67
+
68
+ sig do
69
+ override.returns(
70
+ {
71
+ city: String,
72
+ country: String,
73
+ name: String,
74
+ street1: String,
75
+ zip: String,
76
+ phone: String,
77
+ province: String,
78
+ street2: String,
79
+ request_options: TerminalShop::RequestOptions
80
+ }
81
+ )
82
+ end
83
+ def to_hash
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,18 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ module Models
5
+ class AddressCreateResponse < TerminalShop::BaseModel
6
+ sig { returns(String) }
7
+ attr_accessor :data
8
+
9
+ sig { params(data: String).void }
10
+ def initialize(data:)
11
+ end
12
+
13
+ sig { override.returns({data: String}) }
14
+ def to_hash
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ module Models
5
+ class AddressDeleteParams < TerminalShop::BaseModel
6
+ extend TerminalShop::RequestParameters::Converter
7
+ include TerminalShop::RequestParameters
8
+
9
+ sig { params(request_options: T.any(TerminalShop::RequestOptions, T::Hash[Symbol, T.anything])).void }
10
+ def initialize(request_options: {})
11
+ end
12
+
13
+ sig { override.returns({request_options: TerminalShop::RequestOptions}) }
14
+ def to_hash
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ module Models
5
+ class AddressDeleteResponse < TerminalShop::BaseModel
6
+ sig { returns(Symbol) }
7
+ attr_accessor :data
8
+
9
+ sig { params(data: Symbol).void }
10
+ def initialize(data: :ok)
11
+ end
12
+
13
+ sig { override.returns({data: Symbol}) }
14
+ def to_hash
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ module Models
5
+ class AddressListParams < TerminalShop::BaseModel
6
+ extend TerminalShop::RequestParameters::Converter
7
+ include TerminalShop::RequestParameters
8
+
9
+ sig { params(request_options: T.any(TerminalShop::RequestOptions, T::Hash[Symbol, T.anything])).void }
10
+ def initialize(request_options: {})
11
+ end
12
+
13
+ sig { override.returns({request_options: TerminalShop::RequestOptions}) }
14
+ def to_hash
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ module Models
5
+ class AddressListResponse < TerminalShop::BaseModel
6
+ sig { returns(T::Array[TerminalShop::Models::AddressAPI]) }
7
+ attr_accessor :data
8
+
9
+ sig { params(data: T::Array[TerminalShop::Models::AddressAPI]).void }
10
+ def initialize(data:)
11
+ end
12
+
13
+ sig { override.returns({data: T::Array[TerminalShop::Models::AddressAPI]}) }
14
+ def to_hash
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,24 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ module Models
5
+ class AppAPI < TerminalShop::BaseModel
6
+ sig { returns(String) }
7
+ attr_accessor :id
8
+
9
+ sig { returns(String) }
10
+ attr_accessor :name
11
+
12
+ sig { returns(String) }
13
+ attr_accessor :redirect_uri
14
+
15
+ sig { params(id: String, name: String, redirect_uri: String).void }
16
+ def initialize(id:, name:, redirect_uri:)
17
+ end
18
+
19
+ sig { override.returns({id: String, name: String, redirect_uri: String}) }
20
+ def to_hash
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,18 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ module Models
5
+ class AppCreateParams < TerminalShop::Models::AppAPI
6
+ extend TerminalShop::RequestParameters::Converter
7
+ include TerminalShop::RequestParameters
8
+
9
+ sig { params(request_options: T.any(TerminalShop::RequestOptions, T::Hash[Symbol, T.anything])).void }
10
+ def initialize(request_options: {})
11
+ end
12
+
13
+ sig { override.returns({request_options: TerminalShop::RequestOptions}) }
14
+ def to_hash
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,34 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ module Models
5
+ class AppCreateResponse < TerminalShop::BaseModel
6
+ sig { returns(TerminalShop::Models::AppCreateResponse::Data) }
7
+ attr_accessor :data
8
+
9
+ sig { params(data: TerminalShop::Models::AppCreateResponse::Data).void }
10
+ def initialize(data:)
11
+ end
12
+
13
+ sig { override.returns({data: TerminalShop::Models::AppCreateResponse::Data}) }
14
+ def to_hash
15
+ end
16
+
17
+ class Data < TerminalShop::BaseModel
18
+ sig { returns(String) }
19
+ attr_accessor :id
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :secret
23
+
24
+ sig { params(id: String, secret: String).void }
25
+ def initialize(id:, secret:)
26
+ end
27
+
28
+ sig { override.returns({id: String, secret: String}) }
29
+ def to_hash
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,18 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ module Models
5
+ class AppDeleteParams < TerminalShop::BaseModel
6
+ extend TerminalShop::RequestParameters::Converter
7
+ include TerminalShop::RequestParameters
8
+
9
+ sig { params(request_options: T.any(TerminalShop::RequestOptions, T::Hash[Symbol, T.anything])).void }
10
+ def initialize(request_options: {})
11
+ end
12
+
13
+ sig { override.returns({request_options: TerminalShop::RequestOptions}) }
14
+ def to_hash
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ module Models
5
+ class AppDeleteResponse < TerminalShop::BaseModel
6
+ sig { returns(Symbol) }
7
+ attr_accessor :data
8
+
9
+ sig { params(data: Symbol).void }
10
+ def initialize(data: :ok)
11
+ end
12
+
13
+ sig { override.returns({data: Symbol}) }
14
+ def to_hash
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ module Models
5
+ class AppGetParams < TerminalShop::BaseModel
6
+ extend TerminalShop::RequestParameters::Converter
7
+ include TerminalShop::RequestParameters
8
+
9
+ sig { params(request_options: T.any(TerminalShop::RequestOptions, T::Hash[Symbol, T.anything])).void }
10
+ def initialize(request_options: {})
11
+ end
12
+
13
+ sig { override.returns({request_options: TerminalShop::RequestOptions}) }
14
+ def to_hash
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ module Models
5
+ class AppGetResponse < TerminalShop::BaseModel
6
+ sig { returns(TerminalShop::Models::AppAPI) }
7
+ attr_accessor :data
8
+
9
+ sig { params(data: TerminalShop::Models::AppAPI).void }
10
+ def initialize(data:)
11
+ end
12
+
13
+ sig { override.returns({data: TerminalShop::Models::AppAPI}) }
14
+ def to_hash
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ module Models
5
+ class AppListParams < TerminalShop::BaseModel
6
+ extend TerminalShop::RequestParameters::Converter
7
+ include TerminalShop::RequestParameters
8
+
9
+ sig { params(request_options: T.any(TerminalShop::RequestOptions, T::Hash[Symbol, T.anything])).void }
10
+ def initialize(request_options: {})
11
+ end
12
+
13
+ sig { override.returns({request_options: TerminalShop::RequestOptions}) }
14
+ def to_hash
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # typed: strong
2
+
3
+ module TerminalShop
4
+ module Models
5
+ class AppListResponse < TerminalShop::BaseModel
6
+ sig { returns(T::Array[TerminalShop::Models::AppAPI]) }
7
+ attr_accessor :data
8
+
9
+ sig { params(data: T::Array[TerminalShop::Models::AppAPI]).void }
10
+ def initialize(data:)
11
+ end
12
+
13
+ sig { override.returns({data: T::Array[TerminalShop::Models::AppAPI]}) }
14
+ def to_hash
15
+ end
16
+ end
17
+ end
18
+ end