mints 0.0.28 → 0.0.30

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/lib/client.rb +287 -385
  3. data/lib/contact/config/appointments.rb +201 -0
  4. data/lib/contact/config/config.rb +7 -0
  5. data/lib/contact/content/content.rb +7 -0
  6. data/lib/contact/content/conversations.rb +121 -0
  7. data/lib/contact/ecommerce/ecommerce.rb +14 -0
  8. data/lib/contact/ecommerce/order_items.rb +19 -0
  9. data/lib/contact/ecommerce/order_items_groups.rb +95 -0
  10. data/lib/contact/ecommerce/orders.rb +132 -0
  11. data/lib/contact/ecommerce/vouchers.rb +18 -0
  12. data/lib/contact.rb +54 -603
  13. data/lib/errors.rb +4 -2
  14. data/lib/generators/mints_assets_controller.rb +4 -1
  15. data/lib/generators/mints_contact_controller.rb +4 -1
  16. data/lib/generators/mints_files_generator.rb +16 -13
  17. data/lib/generators/mints_link.rb +7 -4
  18. data/lib/generators/mints_public_controller.rb +4 -1
  19. data/lib/generators/mints_user_controller.rb +3 -0
  20. data/lib/generators/short_link_controller.rb +4 -1
  21. data/lib/mints/controllers/admin_base_controller.rb +5 -3
  22. data/lib/mints/controllers/base_api_controller.rb +6 -4
  23. data/lib/mints/controllers/base_controller.rb +5 -3
  24. data/lib/mints/controllers/concerns/mints_clients.rb +4 -2
  25. data/lib/mints/controllers/concerns/read_config_file.rb +3 -1
  26. data/lib/mints/controllers/contact_api_controller.rb +12 -10
  27. data/lib/mints/controllers/public_api_controller.rb +10 -8
  28. data/lib/mints/controllers/user_api_controller.rb +11 -9
  29. data/lib/mints/helpers/contact_auth_helper.rb +5 -3
  30. data/lib/mints/helpers/mints_helper.rb +39 -38
  31. data/lib/mints/helpers/proxy_controllers_methods.rb +24 -24
  32. data/lib/mints/helpers/user_auth_helper.rb +5 -3
  33. data/lib/mints.rb +12 -10
  34. data/lib/pub/config/attributes.rb +13 -0
  35. data/lib/pub/config/config.rb +15 -0
  36. data/lib/pub/config/public_folders.rb +51 -0
  37. data/lib/pub/config/tags.rb +42 -0
  38. data/lib/pub/config/taxonomies.rb +49 -0
  39. data/lib/pub/content/assets.rb +16 -0
  40. data/lib/pub/content/content.rb +22 -0
  41. data/lib/pub/content/content_bundles.rb +40 -0
  42. data/lib/pub/content/content_instance_versions.rb +56 -0
  43. data/lib/pub/content/content_instances.rb +37 -0
  44. data/lib/pub/content/forms.rb +47 -0
  45. data/lib/pub/content/stories.rb +44 -0
  46. data/lib/pub/content/story_versions.rb +46 -0
  47. data/lib/pub/ecommerce/ecommerce.rb +14 -0
  48. data/lib/pub/ecommerce/locations.rb +25 -0
  49. data/lib/pub/ecommerce/orders.rb +31 -0
  50. data/lib/pub/ecommerce/products.rb +45 -0
  51. data/lib/pub.rb +22 -461
  52. data/lib/user/config/api_keys.rb +63 -61
  53. data/lib/user/config/appointments.rb +217 -215
  54. data/lib/user/config/attribute_groups.rb +74 -72
  55. data/lib/user/config/attributes.rb +83 -81
  56. data/lib/user/config/calendars.rb +88 -86
  57. data/lib/user/config/config.rb +31 -63
  58. data/lib/user/config/public_folders.rb +105 -104
  59. data/lib/user/config/relationships.rb +135 -132
  60. data/lib/user/config/roles.rb +76 -79
  61. data/lib/user/config/seeds.rb +52 -51
  62. data/lib/user/config/system_settings.rb +50 -49
  63. data/lib/user/config/tags.rb +57 -59
  64. data/lib/user/config/taxonomies.rb +115 -119
  65. data/lib/user/config/teams.rb +2 -0
  66. data/lib/user/config/users.rb +2 -0
  67. data/lib/user/contacts/contacts.rb +2 -0
  68. data/lib/user/content/assets.rb +3 -3
  69. data/lib/user/content/content.rb +224 -223
  70. data/lib/user/content/content_instances.rb +4 -2
  71. data/lib/user/content/content_templates.rb +2 -0
  72. data/lib/user/content/conversations.rb +2 -0
  73. data/lib/user/content/dam.rb +2 -0
  74. data/lib/user/content/forms.rb +2 -0
  75. data/lib/user/content/message_templates.rb +2 -0
  76. data/lib/user/content/messages.rb +2 -0
  77. data/lib/user/content/pages.rb +4 -2
  78. data/lib/user/content/stories.rb +3 -3
  79. data/lib/user/content/story_templates.rb +5 -3
  80. data/lib/user/content/story_versions.rb +2 -0
  81. data/lib/user/crm/companies.rb +3 -1
  82. data/lib/user/crm/contacts.rb +2 -0
  83. data/lib/user/crm/crm.rb +2 -0
  84. data/lib/user/crm/deals.rb +2 -0
  85. data/lib/user/crm/favorites.rb +2 -0
  86. data/lib/user/crm/segments.rb +2 -0
  87. data/lib/user/crm/users.rb +2 -0
  88. data/lib/user/crm/workflow_step_objects.rb +2 -0
  89. data/lib/user/crm/workflow_steps.rb +2 -0
  90. data/lib/user/crm/workflows.rb +2 -0
  91. data/lib/user/ecommerce/ecommerce.rb +4 -0
  92. data/lib/user/ecommerce/item_prices.rb +2 -0
  93. data/lib/user/ecommerce/locations.rb +4 -2
  94. data/lib/user/ecommerce/order_items_groups.rb +5 -2
  95. data/lib/user/ecommerce/order_statuses.rb +2 -0
  96. data/lib/user/ecommerce/orders.rb +4 -1
  97. data/lib/user/ecommerce/price_lists.rb +2 -0
  98. data/lib/user/ecommerce/product_templates.rb +3 -1
  99. data/lib/user/ecommerce/product_variations.rb +2 -0
  100. data/lib/user/ecommerce/products.rb +3 -1
  101. data/lib/user/ecommerce/skus.rb +2 -0
  102. data/lib/user/ecommerce/taxes.rb +2 -0
  103. data/lib/user/ecommerce/variant_options.rb +2 -0
  104. data/lib/user/ecommerce/variant_values.rb +2 -0
  105. data/lib/user/ecommerce/vouchers.rb +90 -0
  106. data/lib/user/helpers/helpers.rb +2 -0
  107. data/lib/user/helpers/object_activities.rb +2 -0
  108. data/lib/user/helpers/object_folders.rb +2 -0
  109. data/lib/user/helpers/user_folders.rb +2 -0
  110. data/lib/user/marketing/marketing.rb +2 -0
  111. data/lib/user/profile/profile.rb +2 -0
  112. data/lib/user.rb +32 -41
  113. metadata +42 -16
  114. data/lib/user/config/importers.rb +0 -184
data/lib/pub.rb CHANGED
@@ -1,6 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'yaml'
2
- require_relative './client.rb'
3
- require_relative './mints/helpers/mints_helper.rb'
4
+ require_relative './client'
5
+ require_relative './mints/helpers/mints_helper'
6
+ require_relative './pub/content/content'
7
+ require_relative './pub/ecommerce/ecommerce'
8
+ require_relative './pub/config/config'
4
9
 
5
10
  module Mints
6
11
  ##
@@ -22,8 +27,8 @@ module Mints
22
27
  # { "include": "events" }
23
28
  # * +attributes+ - [_Boolean_] If present, attributes will be returned for each record in the results. _Example:_
24
29
  # { "attributes": true }
25
- # * +categories+ - [_Boolean_] If present, categories will be returned for each record in the results. _Example:_
26
- # { "categories": true }
30
+ # * +taxonomies+ - [_Boolean_] If present, taxonomies will be returned for each record in the results. _Example:_
31
+ # { "taxonomies": true }
27
32
  # * +tags+ - [_Boolean_] If present, tags will be returned for each record in the results. _Example:_
28
33
  # { "tags": true }
29
34
  # * +fields+ - [_String_] Specify the fields that you want to be returned. If empty, all fields are returned. The object index can also be used to specify specific fields from relations. _Example:_
@@ -32,7 +37,7 @@ module Mints
32
37
  #
33
38
  # == Resource collections options
34
39
  # * +search+ - [_String_] If present, it will search for records matching the search string. _Example:_
35
- # { "search": "searchstring" }
40
+ # { "search": "search string" }
36
41
  # * +scopes+ - [_String_] If present, it will apply the specified Model's scopes. _Example:_
37
42
  # { "scopes": "approved, recent" }
38
43
  # * +filters+ - [_String_] This is a powerful parameter that allows the data to be filtered by any of its fields. Currently only exact matches are supported. _Example:_
@@ -51,27 +56,18 @@ module Mints
51
56
  # "operator":"or"
52
57
  # }
53
58
  # options = { "jfilters": jfilter }
54
- # * +catfilters+ - [_String_] filter by categories. _Example:_
55
- # { "catfilters": "categoryName" }
56
- # * +fields+ - [_String_] Specify the fields that you want to be returned. If empty, all fields are returned. The object index can also be used to specify specific fields from relations. _Example:_
57
- # { fields: "id, title, slug" }
58
- # { "fields[products]": "id, title, slug" }
59
59
  # * +sort+ - [_String_] The name of the field to perform the sort. Prefix the value with a minus sign - for ascending order. _Example:_
60
60
  # { sort: "title" }
61
61
  # { sort: "-title" }
62
- # * +include+ - [_String_] Specify additional information to be included in the results from the objects relations. _Example:_
63
- # { "include": "events" }
64
- # * +attributes+ - [_Boolean_] If present, attributes will be returned for each record in the results. _Example:_
65
- # { "attributes": true }
66
- # * +categories+ - [_Boolean_] If present, categories will be returned for each record in the results. _Example:_
67
- # { "categories": true }
68
- # * +taxonomies+ - [_Boolean_] If present, taxonomies will be returned for each record in the results. _Example:_
69
- # { "taxonomies": true }
70
- # * +tags+ - [_Boolean_] If present, tags will be returned for each record in the results. _Example:_
71
- # { "tags": true }
72
62
 
73
63
  class Pub
74
64
  attr_reader :client
65
+
66
+ include MintsHelper
67
+ include Content
68
+ include Ecommerce
69
+ include Config
70
+
75
71
  ##
76
72
  # === Initialize.
77
73
  # Class constructor.
@@ -110,8 +106,8 @@ module Mints
110
106
  user_agent: user_agent || request.user_agent,
111
107
  url: url || request.fullpath
112
108
  }
113
- response = @client.raw('post', "/register-visit", nil, data.to_json)
114
- return response
109
+
110
+ @client.raw('post', '/register-visit', nil, data.to_json)
115
111
  end
116
112
 
117
113
  ##
@@ -128,435 +124,6 @@ module Mints
128
124
  @client.raw('get', "/register-visit-timer?visit=#{visit}&time=#{time}")
129
125
  end
130
126
 
131
- ### V1/CONTENT ###
132
-
133
- ##
134
- # === Get Asset Info.
135
- # Get a description of an Asset.
136
- #
137
- # ==== Parameters
138
- # slug:: (String) -- It's the string identifier of the asset.
139
- #
140
- # ==== Example
141
- # @data = @mints_pub.get_asset_info("asset_slug")
142
- def get_asset_info(slug)
143
- @client.raw('get', "/content/asset-info/#{slug}")
144
- end
145
-
146
- ##
147
- # === Get Stories.
148
- # Get a collection of stories.
149
- #
150
- # ==== Parameters
151
- # options:: (Hash) -- List of {Resource collection Options}[#class-Mints::Pub-label-Resource+collections+options+] shown above can be used as parameter.
152
- # use_post:: (Boolean) -- Variable to determine if the request is by 'post' or 'get' functions.
153
- #
154
- # ==== First Example
155
- # @data = @mints_pub.get_stories
156
- #
157
- # ==== Second Example
158
- # options = {
159
- # fields: 'id, slug'
160
- # }
161
- # @data = @mints_pub.get_stories(options)
162
- #
163
- # ==== Third Example
164
- # options = {
165
- # fields: 'id, slug'
166
- # }
167
- # @data = @mints_pub.get_stories(options, false)
168
- def get_stories(options = nil, use_post = true)
169
- get_query_results('/content/stories', options, use_post)
170
- end
171
-
172
- ##
173
- # === Get Story.
174
- # Get a single story.
175
- #
176
- # ==== Parameters
177
- # slug:: (String) -- It's the string identifier generated by Mints.
178
- # options:: (Hash) -- List of {Single Resource Options}[#class-Mints::Pub-label-Single+resource+options] shown above can be used as parameter.
179
- #
180
- # ==== First Example
181
- # @data = @mints_pub.get_story("story_slug")
182
- #
183
- # ==== Second Example
184
- # @data = @mints_pub.get_story("story_slug", options.to_json)
185
- def get_story(slug, options = nil)
186
- @client.raw('get', "/content/stories/#{slug}", options)
187
- end
188
-
189
- ##
190
- # === Get Story Versions.
191
- # Get a collection of story version.
192
- #
193
- # ==== Parameters
194
- # options:: (Hash) -- List of {Resource collection Options}[#class-Mints::Pub-label-Resource+collections+options+] shown above can be used as parameter.
195
- # use_post:: (Boolean) -- Variable to determine if the request is by 'post' or 'get' functions.
196
- #
197
- # ==== First Example
198
- # @data = @mints_pub.get_story_versions
199
- #
200
- # ==== Second Example
201
- # options = {
202
- # fields: 'id, title'
203
- # }
204
- # @data = @mints_pub.get_story_versions(options)
205
- #
206
- # ==== Third Example
207
- # options = {
208
- # fields: 'id, title'
209
- # }
210
- # @data = @mints_pub.get_story_versions(options, false)
211
- def get_story_versions(options = nil, use_post = true)
212
- get_query_results("/content/story-versions", options, use_post)
213
- end
214
-
215
- ##
216
- # === Get Story Version.
217
- # Get a single story version.
218
- #
219
- # ==== Parameters
220
- # slug:: (String) -- It's the string identifier generated by Mints.
221
- # options:: (Hash) -- List of {Single Resource Options}[#class-Mints::Pub-label-Single+resource+options] shown above can be used as parameter.
222
- #
223
- # ==== First Example
224
- # @data = @mints_pub.get_story_version("story_slug")
225
- #
226
- # ==== Second Example
227
- # @data = @mints_pub.get_story_version("story_slug", options.to_json)
228
- def get_story_version(slug, options = nil)
229
- @client.raw('get', "/content/story-versions/#{slug}", options)
230
- end
231
-
232
- ##
233
- # === Get Forms.
234
- # Get a collection of forms.
235
- #
236
- # ==== Example
237
- # @data = @mints_pub.get_forms
238
- def get_forms(options = nil)
239
- @client.raw('get', '/content/forms', options)
240
- end
241
-
242
- ##
243
- # === Get Form.
244
- # Get a single form.
245
- #
246
- # ==== Parameters
247
- # slug:: (String) -- It's the string identifier generated by Mints.
248
- #
249
- # ==== Example
250
- # @data = @mints_pub.get_form("form_slug")
251
- def get_form(slug, options = nil)
252
- @client.raw('get', "/content/forms/#{slug}", options)
253
- end
254
-
255
- ##
256
- # === Submit Form.
257
- # Submit a form with data.
258
- #
259
- # ==== Parameters
260
- # data:: (Hash) -- Data to be submitted.
261
- #
262
- # ==== Example
263
- # data = {
264
- # 'form_slug': 'form_slug',
265
- # 'email': 'email@example.com',
266
- # 'given_name': 'given_name',
267
- # 'f1': 'Field 1 answer',
268
- # 'f2': 'Field 2 answer',
269
- # 'f3': 'Field 3 answer'
270
- # }
271
- # @data = @mints_pub.submit_form(data)
272
- def submit_form(data)
273
- @client.raw('post', "/content/forms/submit", nil, data_transform(data))
274
- end
275
-
276
- ##
277
- # === Get Content Instances.
278
- # Get a collection of content instances. _Note:_ Options must be specified.
279
- #
280
- # ==== Parameters
281
- # options:: (Hash) -- List of {Resource collection Options}[#class-Mints::Pub-label-Resource+collections+options+] shown above can be used as parameter.
282
- #
283
- # ==== First Example
284
- # options = {
285
- # "template": "content_instance_template_slug"
286
- # }
287
- # @data = @mints_pub.get_content_instances(options)
288
- #
289
- # ==== Second Example
290
- # options = {
291
- # "template": "content_instance_template_slug",
292
- # sort: "-id"
293
- # }
294
- # @data = @mints_pub.get_content_instances(options)
295
- def get_content_instances(options = nil)
296
- @client.raw('get', "/content/content-instances", options)
297
- end
298
-
299
- ##
300
- # === Get Content Instance.
301
- # Get a single content instance.
302
- #
303
- # ==== Parameters
304
- # slug:: (String) -- It's the string identifier generated by Mints.
305
- #
306
- # ==== Example
307
- # @data = @mints_pub.get_content_instance("content_instance_slug")
308
- def get_content_instance(slug)
309
- @client.raw('get', "/content/content-instances/#{slug}")
310
- end
311
-
312
- ##
313
- # === Get Content Pages.
314
- # Get all content pages.
315
- #
316
- # ==== Parameters
317
- # options:: (Hash) -- List of {Resource collection Options}[#class-Mints::Pub-label-Resource+collections+options+] shown above can be used as parameter.
318
- def get_content_bundles(options = nil)
319
- @client.raw('get', "/content/content-bundles", options)
320
- end
321
-
322
- ##
323
- # === Get Content Page.
324
- # Get a single content page.
325
- #
326
- # ==== Parameters
327
- # slug:: (String) -- It's the string identifier generated by Mints.
328
- #
329
- # ==== Example
330
- # @data = @mints_pub.get_content_page("test-page")
331
- def get_content_page(slug, options = nil)
332
- warn '[DEPRECATED] The get_content_page method is deprecated and will be removed in the future, use get_content_bundle instead'
333
- @client.raw('get', "/content/content-pages/#{slug}", options)
334
- end
335
-
336
- ##
337
- # === Get Content Bundle.
338
- # Get a single content bundle.
339
- #
340
- # ==== Parameters
341
- # slug:: (String) -- It's the string identifier generated by Mints.
342
- #
343
- # ==== Example
344
- # @data = @mints_pub.get_content_bundle("test-page")
345
- def get_content_bundle(slug, options = nil)
346
- @client.raw('get', "/content/content-bundles/#{slug}", options)
347
- end
348
-
349
- ### V1/ECOMMERCE ###
350
-
351
- ##
352
- # === Get Locations.
353
- # Get all locations.
354
- #
355
- # ==== Parameters
356
- # options:: (Hash) -- List of {Resource collection Options}[#class-Mints::Pub-label-Resource+collections+options+] shown above can be used as parameter.
357
- # use_post:: (Boolean) -- Variable to determine if the request is by 'post' or 'get' functions.
358
- #
359
- # ==== First Example
360
- # @data = @mints_pub.get_locations
361
- #
362
- # ==== Second Example
363
- # options = { fields: "title" }
364
- # @data = @mints_pub.get_locations(options)
365
- #
366
- # ==== Third Example
367
- # options = { fields: "title" }
368
- # @data = @mints_pub.get_locations(options, false)
369
- def get_locations(options = nil, use_post = true)
370
- get_query_results("/ecommerce/locations", options, use_post)
371
- end
372
-
373
- ##
374
- # === Get Products.
375
- # Get a collection of products.
376
- #
377
- # ==== Parameters
378
- # options:: (Hash) -- List of {Resource collection Options}[#class-Mints::Pub-label-Resource+collections+options+] shown above can be used as parameter.
379
- # use_post:: (Boolean) -- Variable to determine if the request is by 'post' or 'get' functions.
380
- #
381
- # ==== First Example
382
- # @data = @mints_pub.get_products
383
- #
384
- # ==== Second Example
385
- # options = { fields: "title" }
386
- # @data = @mints_pub.get_products(options)
387
- #
388
- # ==== Third Example
389
- # options = { fields: "title" }
390
- # @data = @mints_pub.get_products(options, false)
391
- def get_products(options = nil, use_post = true)
392
- get_query_results("/ecommerce/products", options, use_post)
393
- end
394
-
395
- ##
396
- # === Get Product.
397
- # Get a single product.
398
- #
399
- # ==== Parameters
400
- # slug:: (String) -- It's the string identifier generated by Mints.
401
- # options:: (Hash) -- List of {Single Resource Options}[#class-Mints::Pub-label-Single+resource+options] shown above can be used as parameter.
402
- #
403
- # ==== First Example
404
- # @data = @mints_pub.get_product("product_slug")
405
- #
406
- # ==== Second Example
407
- # options = {
408
- # fields: 'id, slug'
409
- # }
410
- # @data = @mints_pub.get_product("lego-set", options)
411
- def get_product(slug, options = nil)
412
- @client.raw('get', "/ecommerce/products/#{slug}", options)
413
- end
414
-
415
- ### V1/CONFIG ###
416
-
417
- ##
418
- # === Get Public Folders.
419
- # Get a collection of public folders.
420
- #
421
- # ==== Parameters
422
- # options:: (Hash) -- List of {Single Resource Options}[#class-Mints::Pub-label-Single+resource+options] shown above can be used as parameter.
423
- #
424
- # ==== First Example
425
- # options = {
426
- # "object_type": "products"
427
- # }
428
- # @data = @mints_pub.get_public_folders(options)
429
- #
430
- # ==== Second Example
431
- # options = {
432
- # "object_type": "products",
433
- # fields: "id",
434
- # sort: "-id"
435
- # }
436
- # @data = @mints_pub.get_public_folders(options)
437
- def get_public_folders(options = nil)
438
- @client.raw('get', "/config/public-folders", options)
439
- end
440
-
441
- ##
442
- # === Get Public Folder.
443
- # Get a public folder info.
444
- #
445
- # ==== Parameters
446
- # slug:: (String) -- It's the string identifier generated by Mints.
447
- # options:: (Hash) -- List of {Single Resource Options}[#class-Mints::Pub-label-Single+resource+options] shown above can be used as parameter.
448
- #
449
- # ==== First Example
450
- # options = {
451
- # "object_type": "products"
452
- # }
453
- # @data = @mints_pub.get_public_folder('yellow', options)
454
- #
455
- # ==== Second Example
456
- # options = {
457
- # "object_type": "products",
458
- # fields: 'id, title'
459
- # }
460
- # @data = @mints_pub.get_public_folder('yellow', options)
461
- def get_public_folder(slug, options)
462
- @client.raw('get', "/config/public-folders/#{slug}", options)
463
- end
464
-
465
- ##
466
- # === Get Tags.
467
- # Get a collection of tags.
468
- #
469
- # ==== Parameters
470
- # options:: (Hash) -- List of {Resource collection Options}[#class-Mints::Pub-label-Resource+collections+options+] shown above can be used as parameter.
471
- #
472
- # ==== First Example
473
- # @data = @mints_pub.get_tags
474
- #
475
- # ==== Second Example
476
- # options = {
477
- # fields: "id, tag"
478
- # }
479
- # @data = @mints_pub.get_tags(options)
480
- def get_tags(options = nil)
481
- @client.raw('get', "/config/tags", options)
482
- end
483
-
484
- ##
485
- # === Get Tag.
486
- # Get a single tag.
487
- #
488
- # ==== Parameters
489
- # slug:: (String) -- It's the string identifier generated by Mints.
490
- # options:: (Hash) -- List of {Single Resource Options}[#class-Mints::Pub-label-Single+resource+options] shown above can be used as parameter.
491
- #
492
- # ==== First Example
493
- # @data = @mints_pub.get_tag("tag_slug")
494
- #
495
- # ==== Second Example
496
- # options = {
497
- # fields: "id, tag"
498
- # }
499
- # @data = @mints_pub.get_tag("velit-0", options)
500
- def get_tag(slug, options = nil)
501
- @client.raw('get', "/config/tags/#{slug}", options)
502
- end
503
-
504
- ##
505
- # === Get Taxonomies.
506
- # Get a collection of taxonomies.
507
- #
508
- # ==== Parameters
509
- # options:: (Hash) -- List of {Resource collection Options}[#class-Mints::Pub-label-Resource+collections+options+] shown above can be used as parameter.
510
- # use_post:: (Boolean) -- Variable to determine if the request is by 'post' or 'get' functions.
511
- #
512
- # ==== First Example
513
- # @data = @mints_pub.get_taxonomies
514
- #
515
- # ==== Second Example
516
- # options = {
517
- # fields: 'id, title'
518
- # }
519
- # @data = @mints_pub.get_taxonomies(options)
520
- #
521
- # ==== Third Example
522
- # options = {
523
- # fields: 'id, title'
524
- # }
525
- # @data = @mints_pub.get_taxonomies(options, false)
526
- def get_taxonomies(options = nil, use_post = true)
527
- get_query_results("/config/taxonomies", options, use_post)
528
- end
529
-
530
- ##
531
- # === Get Taxonomy.
532
- # Get a single taxonomy.
533
- #
534
- # ==== Parameters
535
- # slug:: (String) -- It's the string identifier generated by Mints.
536
- # options:: (Hash) -- List of {Single Resource Options}[#class-Mints::Pub-label-Single+resource+options] shown above can be used as parameter.
537
- #
538
- # ==== First Example
539
- # @data = @mints_pub.get_taxonomy("taxonomy_slug")
540
- #
541
- # ==== Second Example
542
- # options = {
543
- # fields: "title"
544
- # }
545
- # @data = @mints_pub.get_taxonomy("taxonomy_slug", options)
546
- def get_taxonomy(slug, options = nil)
547
- @client.raw('get', "/config/taxonomies/#{slug}", options)
548
- end
549
-
550
- ##
551
- # === Get Attributes.
552
- # Get a collection of attributes.
553
- #
554
- # ==== Example
555
- # @data = @mints_pub.get_attributes
556
- def get_attributes
557
- @client.raw('get', "/config/attributes")
558
- end
559
-
560
127
  def send_user_magic_link(email_or_phone, template_slug, redirect_url = '', life_time = 1440, max_visits = nil, driver = 'email')
561
128
  data = {
562
129
  driver: driver,
@@ -565,16 +132,10 @@ module Mints
565
132
  redirectUrl: redirect_url,
566
133
  templateId: template_slug
567
134
  }
568
- if driver === 'sms' or driver === 'whatsapp'
569
- data['phone'] = email_or_phone
570
- else
571
- data['email'] = email_or_phone
572
- end
573
- @client.raw('post', "/users/magic-link", nil, { data: data }.to_json, '/api/v1')
574
- end
575
135
 
576
- private
577
-
578
- include MintsHelper
136
+ key = %w[sms whatsapp].include? driver ? 'phone' : 'email'
137
+ data[key] = email_or_phone
138
+ @client.raw('post', '/users/magic-link', nil, { data: data }.to_json, '/api/v1')
139
+ end
579
140
  end
580
141
  end
@@ -1,65 +1,67 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ApiKeys
2
- ##
3
- # == Api keys
4
- #
5
-
6
- # === Get api keys.
7
- # Get a collection of api keys.
8
- #
9
- # ==== Parameters
10
- # options:: (Hash) -- List of Resource Collection Options shown above can be used as parameter.
11
- #
12
- # ==== First Example
13
- # @data = @mints_user.get_api_keys
14
- #
15
- # ==== Second Example
16
- # options = { fields: "id" }
17
- # @data = @mints_user.get_api_keys(options)
18
- def get_api_keys(options = nil)
19
- @client.raw('get', "/config/api-keys", options)
20
- end
4
+ ##
5
+ # == Api keys
6
+ #
7
+
8
+ # === Get api keys.
9
+ # Get a collection of api keys.
10
+ #
11
+ # ==== Parameters
12
+ # options:: (Hash) -- List of Resource Collection Options shown above can be used as parameter.
13
+ #
14
+ # ==== First Example
15
+ # @data = @mints_user.get_api_keys
16
+ #
17
+ # ==== Second Example
18
+ # options = { fields: 'id' }
19
+ # @data = @mints_user.get_api_keys(options)
20
+ def get_api_keys(options = nil)
21
+ @client.raw('get', '/config/api-keys', options)
22
+ end
21
23
 
22
- # === Get api key.
23
- # Get an api key info.
24
- #
25
- # ==== Parameters
26
- # id:: (Integer) -- Api key id.
27
- # options:: (Hash) -- List of Resource Collection Options shown above can be used as parameter.
28
- #
29
- # ==== First Example
30
- # @data = @mints_user.get_api_key(2)
31
- #
32
- # ==== Second Example
33
- # options = { fields: "id" }
34
- # @data = @mints_user.get_api_key(2, options)
35
- def get_api_key(id, options = nil)
36
- @client.raw('get', "/config/api-keys/#{id}", options)
37
- end
24
+ # === Get api key.
25
+ # Get an api key info.
26
+ #
27
+ # ==== Parameters
28
+ # id:: (Integer) -- Api key id.
29
+ # options:: (Hash) -- List of Resource Collection Options shown above can be used as parameter.
30
+ #
31
+ # ==== First Example
32
+ # @data = @mints_user.get_api_key(2)
33
+ #
34
+ # ==== Second Example
35
+ # options = { fields: 'id' }
36
+ # @data = @mints_user.get_api_key(2, options)
37
+ def get_api_key(id, options = nil)
38
+ @client.raw('get', "/config/api-keys/#{id}", options)
39
+ end
38
40
 
39
- # === Create api key.
40
- # Create an api key with data.
41
- #
42
- # ==== Parameters
43
- # data:: (Hash) -- Data to be submitted.
44
- #
45
- # ==== Example
46
- # data = {
47
- # description: "New Api Key Description"
48
- # }
49
- # @data = @mints_user.create_api_key(data)
50
- def create_api_key(data)
51
- @client.raw('post', "/config/api-keys", nil, data_transform(data))
52
- end
41
+ # === Create api key.
42
+ # Create an api key with data.
43
+ #
44
+ # ==== Parameters
45
+ # data:: (Hash) -- Data to be submitted.
46
+ #
47
+ # ==== Example
48
+ # data = {
49
+ # description: 'New Api Key Description'
50
+ # }
51
+ # @data = @mints_user.create_api_key(data)
52
+ def create_api_key(data)
53
+ @client.raw('post', '/config/api-keys', nil, data_transform(data))
54
+ end
53
55
 
54
- # === Delete api key.
55
- # Delete an api key.
56
- #
57
- # ==== Parameters
58
- # id:: (Integer) -- Api key id.
59
- #
60
- # ==== Example
61
- # @data = @mints_user.delete_api_key(2)
62
- def delete_api_key(id)
63
- @client.raw('delete', "/config/api-keys/#{id}")
64
- end
65
- end
56
+ # === Delete api key.
57
+ # Delete an api key.
58
+ #
59
+ # ==== Parameters
60
+ # id:: (Integer) -- Api key id.
61
+ #
62
+ # ==== Example
63
+ # @data = @mints_user.delete_api_key(2)
64
+ def delete_api_key(id)
65
+ @client.raw('delete', "/config/api-keys/#{id}")
66
+ end
67
+ end