mints 0.0.28 → 0.0.30

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 (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