mints 0.0.28 → 0.0.29
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/client.rb +287 -385
- data/lib/contact/config/appointments.rb +201 -0
- data/lib/contact/config/config.rb +7 -0
- data/lib/contact/content/content.rb +7 -0
- data/lib/contact/content/conversations.rb +121 -0
- data/lib/contact/ecommerce/ecommerce.rb +12 -0
- data/lib/contact/ecommerce/order_items.rb +19 -0
- data/lib/contact/ecommerce/order_items_groups.rb +95 -0
- data/lib/contact/ecommerce/orders.rb +133 -0
- data/lib/contact.rb +54 -603
- data/lib/errors.rb +3 -1
- data/lib/generators/mints_assets_controller.rb +4 -1
- data/lib/generators/mints_contact_controller.rb +4 -1
- data/lib/generators/mints_files_generator.rb +16 -13
- data/lib/generators/mints_link.rb +7 -4
- data/lib/generators/mints_public_controller.rb +4 -1
- data/lib/generators/mints_user_controller.rb +3 -0
- data/lib/generators/short_link_controller.rb +4 -1
- data/lib/mints/controllers/admin_base_controller.rb +5 -3
- data/lib/mints/controllers/base_api_controller.rb +6 -4
- data/lib/mints/controllers/base_controller.rb +5 -3
- data/lib/mints/controllers/concerns/mints_clients.rb +4 -2
- data/lib/mints/controllers/concerns/read_config_file.rb +3 -1
- data/lib/mints/controllers/contact_api_controller.rb +12 -10
- data/lib/mints/controllers/public_api_controller.rb +10 -8
- data/lib/mints/controllers/user_api_controller.rb +11 -9
- data/lib/mints/helpers/contact_auth_helper.rb +3 -1
- data/lib/mints/helpers/mints_helper.rb +39 -38
- data/lib/mints/helpers/proxy_controllers_methods.rb +24 -24
- data/lib/mints/helpers/user_auth_helper.rb +5 -3
- data/lib/mints.rb +12 -10
- data/lib/pub.rb +35 -53
- data/lib/user/config/api_keys.rb +63 -61
- data/lib/user/config/appointments.rb +217 -215
- data/lib/user/config/attribute_groups.rb +74 -72
- data/lib/user/config/attributes.rb +83 -81
- data/lib/user/config/calendars.rb +88 -86
- data/lib/user/config/config.rb +31 -63
- data/lib/user/config/public_folders.rb +105 -104
- data/lib/user/config/relationships.rb +135 -132
- data/lib/user/config/roles.rb +76 -79
- data/lib/user/config/seeds.rb +52 -51
- data/lib/user/config/system_settings.rb +50 -49
- data/lib/user/config/tags.rb +57 -59
- data/lib/user/config/taxonomies.rb +115 -119
- data/lib/user/config/teams.rb +2 -0
- data/lib/user/config/users.rb +2 -0
- data/lib/user/contacts/contacts.rb +2 -0
- data/lib/user/content/assets.rb +3 -3
- data/lib/user/content/content.rb +224 -223
- data/lib/user/content/content_instances.rb +4 -2
- data/lib/user/content/content_templates.rb +2 -0
- data/lib/user/content/conversations.rb +2 -0
- data/lib/user/content/dam.rb +2 -0
- data/lib/user/content/forms.rb +2 -0
- data/lib/user/content/message_templates.rb +2 -0
- data/lib/user/content/messages.rb +2 -0
- data/lib/user/content/pages.rb +4 -2
- data/lib/user/content/stories.rb +3 -3
- data/lib/user/content/story_templates.rb +5 -3
- data/lib/user/content/story_versions.rb +2 -0
- data/lib/user/crm/companies.rb +3 -1
- data/lib/user/crm/contacts.rb +2 -0
- data/lib/user/crm/crm.rb +2 -0
- data/lib/user/crm/deals.rb +2 -0
- data/lib/user/crm/favorites.rb +2 -0
- data/lib/user/crm/segments.rb +2 -0
- data/lib/user/crm/users.rb +2 -0
- data/lib/user/crm/workflow_step_objects.rb +2 -0
- data/lib/user/crm/workflow_steps.rb +2 -0
- data/lib/user/crm/workflows.rb +2 -0
- data/lib/user/ecommerce/ecommerce.rb +2 -0
- data/lib/user/ecommerce/item_prices.rb +2 -0
- data/lib/user/ecommerce/locations.rb +2 -0
- data/lib/user/ecommerce/order_items_groups.rb +5 -2
- data/lib/user/ecommerce/order_statuses.rb +2 -0
- data/lib/user/ecommerce/orders.rb +4 -1
- data/lib/user/ecommerce/price_lists.rb +2 -0
- data/lib/user/ecommerce/product_templates.rb +3 -1
- data/lib/user/ecommerce/product_variations.rb +2 -0
- data/lib/user/ecommerce/products.rb +3 -1
- data/lib/user/ecommerce/skus.rb +2 -0
- data/lib/user/ecommerce/taxes.rb +2 -0
- data/lib/user/ecommerce/variant_options.rb +2 -0
- data/lib/user/ecommerce/variant_values.rb +2 -0
- data/lib/user/helpers/helpers.rb +2 -0
- data/lib/user/helpers/object_activities.rb +2 -0
- data/lib/user/helpers/object_folders.rb +2 -0
- data/lib/user/helpers/user_folders.rb +2 -0
- data/lib/user/marketing/marketing.rb +2 -0
- data/lib/user/profile/profile.rb +2 -0
- data/lib/user.rb +32 -41
- metadata +23 -16
- data/lib/user/config/importers.rb +0 -184
data/lib/pub.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'yaml'
|
2
|
-
require_relative './client
|
3
|
-
require_relative './mints/helpers/mints_helper
|
4
|
+
require_relative './client'
|
5
|
+
require_relative './mints/helpers/mints_helper'
|
4
6
|
|
5
7
|
module Mints
|
6
8
|
##
|
@@ -22,8 +24,8 @@ module Mints
|
|
22
24
|
# { "include": "events" }
|
23
25
|
# * +attributes+ - [_Boolean_] If present, attributes will be returned for each record in the results. _Example:_
|
24
26
|
# { "attributes": true }
|
25
|
-
# * +
|
26
|
-
# { "
|
27
|
+
# * +taxonomies+ - [_Boolean_] If present, taxonomies will be returned for each record in the results. _Example:_
|
28
|
+
# { "taxonomies": true }
|
27
29
|
# * +tags+ - [_Boolean_] If present, tags will be returned for each record in the results. _Example:_
|
28
30
|
# { "tags": true }
|
29
31
|
# * +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 +34,7 @@ module Mints
|
|
32
34
|
#
|
33
35
|
# == Resource collections options
|
34
36
|
# * +search+ - [_String_] If present, it will search for records matching the search string. _Example:_
|
35
|
-
# { "search": "
|
37
|
+
# { "search": "search string" }
|
36
38
|
# * +scopes+ - [_String_] If present, it will apply the specified Model's scopes. _Example:_
|
37
39
|
# { "scopes": "approved, recent" }
|
38
40
|
# * +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 +53,15 @@ module Mints
|
|
51
53
|
# "operator":"or"
|
52
54
|
# }
|
53
55
|
# 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
56
|
# * +sort+ - [_String_] The name of the field to perform the sort. Prefix the value with a minus sign - for ascending order. _Example:_
|
60
57
|
# { sort: "title" }
|
61
58
|
# { 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
59
|
|
73
60
|
class Pub
|
74
61
|
attr_reader :client
|
62
|
+
|
63
|
+
include MintsHelper
|
64
|
+
|
75
65
|
##
|
76
66
|
# === Initialize.
|
77
67
|
# Class constructor.
|
@@ -110,8 +100,8 @@ module Mints
|
|
110
100
|
user_agent: user_agent || request.user_agent,
|
111
101
|
url: url || request.fullpath
|
112
102
|
}
|
113
|
-
|
114
|
-
|
103
|
+
|
104
|
+
@client.raw('post', '/register-visit', nil, data.to_json)
|
115
105
|
end
|
116
106
|
|
117
107
|
##
|
@@ -155,9 +145,7 @@ module Mints
|
|
155
145
|
# @data = @mints_pub.get_stories
|
156
146
|
#
|
157
147
|
# ==== Second Example
|
158
|
-
# options = {
|
159
|
-
# fields: 'id, slug'
|
160
|
-
# }
|
148
|
+
# options = { fields: 'id, slug' }
|
161
149
|
# @data = @mints_pub.get_stories(options)
|
162
150
|
#
|
163
151
|
# ==== Third Example
|
@@ -209,7 +197,7 @@ module Mints
|
|
209
197
|
# }
|
210
198
|
# @data = @mints_pub.get_story_versions(options, false)
|
211
199
|
def get_story_versions(options = nil, use_post = true)
|
212
|
-
get_query_results(
|
200
|
+
get_query_results('/content/story-versions', options, use_post)
|
213
201
|
end
|
214
202
|
|
215
203
|
##
|
@@ -270,7 +258,7 @@ module Mints
|
|
270
258
|
# }
|
271
259
|
# @data = @mints_pub.submit_form(data)
|
272
260
|
def submit_form(data)
|
273
|
-
@client.raw('post',
|
261
|
+
@client.raw('post', '/content/forms/submit', nil, data_transform(data))
|
274
262
|
end
|
275
263
|
|
276
264
|
##
|
@@ -293,7 +281,7 @@ module Mints
|
|
293
281
|
# }
|
294
282
|
# @data = @mints_pub.get_content_instances(options)
|
295
283
|
def get_content_instances(options = nil)
|
296
|
-
@client.raw('get',
|
284
|
+
@client.raw('get', '/content/content-instances', options)
|
297
285
|
end
|
298
286
|
|
299
287
|
##
|
@@ -316,7 +304,7 @@ module Mints
|
|
316
304
|
# ==== Parameters
|
317
305
|
# options:: (Hash) -- List of {Resource collection Options}[#class-Mints::Pub-label-Resource+collections+options+] shown above can be used as parameter.
|
318
306
|
def get_content_bundles(options = nil)
|
319
|
-
@client.raw('get',
|
307
|
+
@client.raw('get', '/content/content-bundles', options)
|
320
308
|
end
|
321
309
|
|
322
310
|
##
|
@@ -367,7 +355,7 @@ module Mints
|
|
367
355
|
# options = { fields: "title" }
|
368
356
|
# @data = @mints_pub.get_locations(options, false)
|
369
357
|
def get_locations(options = nil, use_post = true)
|
370
|
-
get_query_results(
|
358
|
+
get_query_results('/ecommerce/locations', options, use_post)
|
371
359
|
end
|
372
360
|
|
373
361
|
##
|
@@ -389,7 +377,7 @@ module Mints
|
|
389
377
|
# options = { fields: "title" }
|
390
378
|
# @data = @mints_pub.get_products(options, false)
|
391
379
|
def get_products(options = nil, use_post = true)
|
392
|
-
get_query_results(
|
380
|
+
get_query_results('/ecommerce/products', options, use_post)
|
393
381
|
end
|
394
382
|
|
395
383
|
##
|
@@ -423,19 +411,19 @@ module Mints
|
|
423
411
|
#
|
424
412
|
# ==== First Example
|
425
413
|
# options = {
|
426
|
-
#
|
414
|
+
# object_type: "products"
|
427
415
|
# }
|
428
416
|
# @data = @mints_pub.get_public_folders(options)
|
429
417
|
#
|
430
418
|
# ==== Second Example
|
431
419
|
# options = {
|
432
|
-
#
|
420
|
+
# object_type: "products",
|
433
421
|
# fields: "id",
|
434
422
|
# sort: "-id"
|
435
423
|
# }
|
436
424
|
# @data = @mints_pub.get_public_folders(options)
|
437
425
|
def get_public_folders(options = nil)
|
438
|
-
@client.raw('get',
|
426
|
+
@client.raw('get', '/config/public-folders', options)
|
439
427
|
end
|
440
428
|
|
441
429
|
##
|
@@ -448,13 +436,13 @@ module Mints
|
|
448
436
|
#
|
449
437
|
# ==== First Example
|
450
438
|
# options = {
|
451
|
-
#
|
439
|
+
# object_type: "products"
|
452
440
|
# }
|
453
441
|
# @data = @mints_pub.get_public_folder('yellow', options)
|
454
442
|
#
|
455
443
|
# ==== Second Example
|
456
444
|
# options = {
|
457
|
-
#
|
445
|
+
# object_type: "products",
|
458
446
|
# fields: 'id, title'
|
459
447
|
# }
|
460
448
|
# @data = @mints_pub.get_public_folder('yellow', options)
|
@@ -478,7 +466,7 @@ module Mints
|
|
478
466
|
# }
|
479
467
|
# @data = @mints_pub.get_tags(options)
|
480
468
|
def get_tags(options = nil)
|
481
|
-
@client.raw('get',
|
469
|
+
@client.raw('get', '/config/tags', options)
|
482
470
|
end
|
483
471
|
|
484
472
|
##
|
@@ -496,7 +484,7 @@ module Mints
|
|
496
484
|
# options = {
|
497
485
|
# fields: "id, tag"
|
498
486
|
# }
|
499
|
-
# @data = @mints_pub.get_tag("
|
487
|
+
# @data = @mints_pub.get_tag("tag-example", options)
|
500
488
|
def get_tag(slug, options = nil)
|
501
489
|
@client.raw('get', "/config/tags/#{slug}", options)
|
502
490
|
end
|
@@ -524,7 +512,7 @@ module Mints
|
|
524
512
|
# }
|
525
513
|
# @data = @mints_pub.get_taxonomies(options, false)
|
526
514
|
def get_taxonomies(options = nil, use_post = true)
|
527
|
-
get_query_results(
|
515
|
+
get_query_results('/config/taxonomies', options, use_post)
|
528
516
|
end
|
529
517
|
|
530
518
|
##
|
@@ -536,13 +524,13 @@ module Mints
|
|
536
524
|
# options:: (Hash) -- List of {Single Resource Options}[#class-Mints::Pub-label-Single+resource+options] shown above can be used as parameter.
|
537
525
|
#
|
538
526
|
# ==== First Example
|
539
|
-
# @data = @mints_pub.get_taxonomy(
|
527
|
+
# @data = @mints_pub.get_taxonomy('taxonomy_slug')
|
540
528
|
#
|
541
529
|
# ==== Second Example
|
542
530
|
# options = {
|
543
|
-
# fields:
|
531
|
+
# fields: 'title'
|
544
532
|
# }
|
545
|
-
# @data = @mints_pub.get_taxonomy(
|
533
|
+
# @data = @mints_pub.get_taxonomy('taxonomy_slug', options)
|
546
534
|
def get_taxonomy(slug, options = nil)
|
547
535
|
@client.raw('get', "/config/taxonomies/#{slug}", options)
|
548
536
|
end
|
@@ -554,7 +542,7 @@ module Mints
|
|
554
542
|
# ==== Example
|
555
543
|
# @data = @mints_pub.get_attributes
|
556
544
|
def get_attributes
|
557
|
-
@client.raw('get',
|
545
|
+
@client.raw('get', '/config/attributes')
|
558
546
|
end
|
559
547
|
|
560
548
|
def send_user_magic_link(email_or_phone, template_slug, redirect_url = '', life_time = 1440, max_visits = nil, driver = 'email')
|
@@ -565,16 +553,10 @@ module Mints
|
|
565
553
|
redirectUrl: redirect_url,
|
566
554
|
templateId: template_slug
|
567
555
|
}
|
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
556
|
|
576
|
-
|
577
|
-
|
578
|
-
|
557
|
+
key = %w[sms whatsapp].include? driver ? 'phone' : 'email'
|
558
|
+
data[key] = email_or_phone
|
559
|
+
@client.raw('post', '/users/magic-link', nil, { data: data }.to_json, '/api/v1')
|
560
|
+
end
|
579
561
|
end
|
580
562
|
end
|
data/lib/user/config/api_keys.rb
CHANGED
@@ -1,65 +1,67 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module ApiKeys
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
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
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
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
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
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
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
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
|