mints 0.0.16 → 0.0.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/lib/client.rb +97 -38
  3. data/lib/contact.rb +124 -21
  4. data/lib/mints/controllers/admin_base_controller.rb +2 -2
  5. data/lib/mints/controllers/base_api_controller.rb +12 -11
  6. data/lib/mints/controllers/base_controller.rb +38 -9
  7. data/lib/mints_helper.rb +47 -0
  8. data/lib/pub.rb +147 -61
  9. data/lib/user/config/api_keys.rb +65 -0
  10. data/lib/user/config/appointments.rb +221 -0
  11. data/lib/user/config/attribute_groups.rb +77 -0
  12. data/lib/user/config/attributes.rb +86 -0
  13. data/lib/user/config/calendars.rb +89 -0
  14. data/lib/user/config/config.rb +65 -0
  15. data/lib/user/config/importers.rb +184 -0
  16. data/lib/user/config/public_folders.rb +108 -0
  17. data/lib/user/config/relationships.rb +138 -0
  18. data/lib/user/config/roles.rb +84 -0
  19. data/lib/user/config/seeds.rb +14 -0
  20. data/lib/user/config/system_settings.rb +53 -0
  21. data/lib/user/config/tags.rb +63 -0
  22. data/lib/user/config/taxonomies.rb +124 -0
  23. data/lib/user/config/teams.rb +70 -0
  24. data/lib/user/config/users.rb +76 -0
  25. data/lib/user/contacts/contacts.rb +21 -0
  26. data/lib/user/content/assets.rb +98 -0
  27. data/lib/user/content/content.rb +235 -0
  28. data/lib/user/content/content_instances.rb +147 -0
  29. data/lib/user/content/content_templates.rb +111 -0
  30. data/lib/user/content/conversations.rb +174 -0
  31. data/lib/user/content/dam.rb +88 -0
  32. data/lib/user/content/forms.rb +168 -0
  33. data/lib/user/content/message_templates.rb +162 -0
  34. data/lib/user/content/messages.rb +90 -0
  35. data/lib/user/content/pages.rb +81 -0
  36. data/lib/user/content/stories.rb +164 -0
  37. data/lib/user/content/story_templates.rb +95 -0
  38. data/lib/user/crm/companies.rb +111 -0
  39. data/lib/user/crm/contacts.rb +312 -0
  40. data/lib/user/crm/crm.rb +21 -0
  41. data/lib/user/crm/deals.rb +111 -0
  42. data/lib/user/crm/favorites.rb +17 -0
  43. data/lib/user/crm/segments.rb +132 -0
  44. data/lib/user/crm/users.rb +22 -0
  45. data/lib/user/crm/workflow_step_objects.rb +89 -0
  46. data/lib/user/crm/workflow_steps.rb +49 -0
  47. data/lib/user/crm/workflows.rb +70 -0
  48. data/lib/user/ecommerce/ecommerce.rb +29 -0
  49. data/lib/user/ecommerce/item_prices.rb +86 -0
  50. data/lib/user/ecommerce/locations.rb +166 -0
  51. data/lib/user/ecommerce/order_items_groups.rb +109 -0
  52. data/lib/user/ecommerce/order_statuses.rb +26 -0
  53. data/lib/user/ecommerce/orders.rb +258 -0
  54. data/lib/user/ecommerce/price_lists.rb +73 -0
  55. data/lib/user/ecommerce/product_templates.rb +104 -0
  56. data/lib/user/ecommerce/product_variations.rb +129 -0
  57. data/lib/user/ecommerce/products.rb +169 -0
  58. data/lib/user/ecommerce/skus.rb +88 -0
  59. data/lib/user/ecommerce/taxes.rb +82 -0
  60. data/lib/user/ecommerce/variant_options.rb +69 -0
  61. data/lib/user/ecommerce/variant_values.rb +72 -0
  62. data/lib/user/helpers/helpers.rb +113 -0
  63. data/lib/user/helpers/object_activities.rb +83 -0
  64. data/lib/user/helpers/object_folders.rb +82 -0
  65. data/lib/user/helpers/user_folders.rb +83 -0
  66. data/lib/user/marketing/marketing.rb +120 -0
  67. data/lib/user/profile/profile.rb +111 -0
  68. data/lib/user.rb +24 -368
  69. metadata +63 -3
@@ -0,0 +1,221 @@
1
+ module Appointments
2
+ ##
3
+ # == Appointments
4
+ #
5
+
6
+ # === Get appointments.
7
+ # Get a collection of appointments.
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_appointments
14
+ #
15
+ # ==== Second Example
16
+ # options = {
17
+ # "fields": "id"
18
+ # }
19
+ # @data = @mints_user.get_appointments(options)
20
+ def get_appointments(options = nil)
21
+ return @client.raw("get", "/config/appointments", options)
22
+ end
23
+
24
+ # === Get appointment.
25
+ # Get an appointment info.
26
+ #
27
+ # ==== Parameters
28
+ # id:: (Integer) -- Appointment 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_appointment(1)
33
+ #
34
+ # ==== Second Example
35
+ # options = {
36
+ # "fields": "id"
37
+ # }
38
+ # @data = @mints_user.get_appointment(1, options)
39
+ def get_appointment(id, options = nil)
40
+ return @client.raw("get", "/config/appointments/#{id}", options)
41
+ end
42
+
43
+ # === Create appointment.
44
+ # Create an appointment with data.
45
+ #
46
+ # ==== Parameters
47
+ # data:: (Hash) -- Data to be submited.
48
+ #
49
+ # ==== Example
50
+ # data = {
51
+ # "object_type": "contacts",
52
+ # "object_id": 1,
53
+ # "title": "New Appointment",
54
+ # "start": "2021-09-06T20:29:16+00:00",
55
+ # "end": "2022-09-06T20:29:16+00:00",
56
+ # "attendee_id": 1
57
+ # }
58
+ # @data = @mints_user.create_appointment(data)
59
+ def create_appointment(data)
60
+ return @client.raw("post", "/config/appointments", nil, data_transform(data))
61
+ end
62
+
63
+ # === Update appointment.
64
+ # Update an appointment info.
65
+ #
66
+ # ==== Parameters
67
+ # id:: (Integer) -- Appointment id.
68
+ # data:: (Hash) -- Data to be submited.
69
+ #
70
+ # ==== Example
71
+ # data = {
72
+ # "object_id": 2
73
+ # }
74
+ # @data = @mints_user.update_appointment(1, data)
75
+ def update_appointment(id, data)
76
+ return @client.raw("put", "/config/appointments/#{id}", nil, data_transform(data))
77
+ end
78
+
79
+ # === Delete appointment.
80
+ # Delete an appointment.
81
+ #
82
+ # ==== Parameters
83
+ # id:: (Integer) -- Appointment id.
84
+ #
85
+ # ==== Example
86
+ # @data = @mints_user.delete_appointment(1)
87
+ def delete_appointment(id)
88
+ return @client.raw("delete", "/config/appointments/#{id}")
89
+ end
90
+
91
+ # === Scheduled appointments.
92
+ # Schedule an appointment.
93
+ #
94
+ # ==== Parameters
95
+ # data:: (Hash) -- Data to be submited.
96
+ #
97
+ # ==== Example
98
+ # data = {
99
+ # "object_type": "contacts",
100
+ # "object_id": 1,
101
+ # "start": "2021-09-06T20:29:16+00:00",
102
+ # "end": "2022-09-06T20:29:16+00:00"
103
+ # }
104
+ # @data = @mints_user.scheduled_appointments(data)
105
+ def scheduled_appointments(data)
106
+ return @client.raw("post", "/config/appointments/scheduled-appointments", nil, data_transform(data))
107
+ end
108
+
109
+ # === Reschedule appointment.
110
+ # Reschedule an appointment.
111
+ #
112
+ # ==== Parameters
113
+ # data:: (Hash) -- Data to be submited.
114
+ #
115
+ # ==== Example
116
+ # data = {
117
+ # "appointment_id": 2,
118
+ # "start": "2021-09-06T20:29:16+00:00",
119
+ # "end": "2022-09-06T20:29:16+00:00"
120
+ # }
121
+ # @data = @mints_user.reschedule_appointment(data)
122
+ def reschedule_appointment(data)
123
+ return @client.raw("post", "/config/appointments/reschedule-appointment", nil, data_transform(data))
124
+ end
125
+
126
+ # === Attach invitee.
127
+ # Attach invitee.
128
+ #
129
+ # ==== Parameters
130
+ # data:: (Hash) -- Data to be submited.
131
+ #
132
+ # ==== Example
133
+ # data = {
134
+ # "appointment_id": 2,
135
+ # "invitee_ids": [ 2 ]
136
+ # }
137
+ # @data = @mints_user.attach_invitee(data)
138
+ def attach_invitee(data)
139
+ return @client.raw("post", "/config/appointments/attach-invitee", nil, data_transform(data))
140
+ end
141
+
142
+ # === Attach follower.
143
+ # Attach follower.
144
+ #
145
+ # ==== Parameters
146
+ # data:: (Hash) -- Data to be submited.
147
+ #
148
+ # ==== Example
149
+ # data = {
150
+ # "appointment_id": 2,
151
+ # "follower_ids": [ 2 ]
152
+ # }
153
+ # @data = @mints_user.attach_follower(data)
154
+ def attach_follower(data)
155
+ return @client.raw("post", "/config/appointments/attach-follower", nil, data_transform(data))
156
+ end
157
+
158
+ # === Detach invitee.
159
+ # Detach invitee.
160
+ #
161
+ # ==== Parameters
162
+ # data:: (Hash) -- Data to be submited.
163
+ #
164
+ # ==== Example
165
+ # data = {
166
+ # "appointment_id": 2,
167
+ # "invitee_ids": [ 2 ]
168
+ # }
169
+ # @data = @mints_user.detach_invitee(data)
170
+ def detach_invitee(data)
171
+ return @client.raw("post", "/config/appointments/detach-invitee", nil, data_transform(data))
172
+ end
173
+
174
+ # === Detach follower.
175
+ # Detach follower.
176
+ #
177
+ # ==== Parameters
178
+ # data:: (Hash) -- Data to be submited.
179
+ #
180
+ # ==== Example
181
+ # data = {
182
+ # "appointment_id": 2,
183
+ # "follower_ids": [ 2 ]
184
+ # }
185
+ # @data = @mints_user.detach_follower(data)
186
+ def detach_follower(data)
187
+ return @client.raw("post", "/config/appointments/detach-follower", nil, data_transform(data))
188
+ end
189
+
190
+ # === Sync invitee.
191
+ # Sync invitee.
192
+ #
193
+ # ==== Parameters
194
+ # data:: (Hash) -- Data to be submited.
195
+ #
196
+ # ==== Example
197
+ # data = {
198
+ # "appointment_id": 2,
199
+ # "invitee_ids": [ 2 ]
200
+ # }
201
+ # @data = @mints_user.sync_invitee(data)
202
+ def sync_invitee(data)
203
+ return @client.raw("post", "/config/appointments/sync-invitee", nil, data_transform(data))
204
+ end
205
+
206
+ # === Sync follower.
207
+ # Sync follower.
208
+ #
209
+ # ==== Parameters
210
+ # data:: (Hash) -- Data to be submited.
211
+ #
212
+ # ==== Example
213
+ # data = {
214
+ # "appointment_id": 2,
215
+ # "follower_ids": [ 2 ]
216
+ # }
217
+ # @data = @mints_user.sync_follower(data)
218
+ def sync_follower(data)
219
+ return @client.raw("post", "/config/appointments/sync-follower", nil, data_transform(data))
220
+ end
221
+ end
@@ -0,0 +1,77 @@
1
+ module AttributeGroups
2
+ ##
3
+ # == Attribute Groups
4
+ #
5
+
6
+ # === Get attribute groups data types.
7
+ # Get data types used in attribute groups.
8
+ #
9
+ # ==== Example
10
+ # @data = @mints_user.get_attribute_groups_data_types
11
+ def get_attribute_groups_data_types
12
+ return @client.raw("get", "/config/attribute-groups/object-types")
13
+ end
14
+
15
+ # === Get attribute groups.
16
+ # Get a collection of attribute groups.
17
+ #
18
+ # ==== Parameters
19
+ # options:: (Hash) -- List of Resource Collection Options shown above can be used as parameter.
20
+ #
21
+ # ==== First Example
22
+ # @data = @mints_user.get_attribute_groups
23
+ #
24
+ # ==== Second Example
25
+ # options = { "sort": "id" }
26
+ # @data = @mints_user.get_attribute_groups(options)
27
+ def get_attribute_groups(options = nil)
28
+ return @client.raw("get", "/config/attribute-groups", options)
29
+ end
30
+
31
+ # === Get attribute group.
32
+ # Get an attribute group info.
33
+ #
34
+ # ==== Parameters
35
+ # id:: (Integer) -- Attribute group id.
36
+ #
37
+ # ==== Example
38
+ # @data = @mints_user.get_attribute_group(10)
39
+ def get_attribute_group(id)
40
+ return @client.raw("get", "/config/attribute-groups/#{id}")
41
+ end
42
+
43
+ # === Create attribute group.
44
+ # Create an attribute group with data.
45
+ #
46
+ # ==== Parameters
47
+ # data:: (Hash) -- Data to be submited.
48
+ #
49
+ # ==== Example
50
+ # data = {
51
+ # "title": "New Attribute Group",
52
+ # "object_type": "contacts"
53
+ # }
54
+ # @data = @mints_user.create_attribute_group(data)
55
+ def create_attribute_group(data)
56
+ return @client.raw("post", "/config/attribute-groups", nil, data_transform(data))
57
+ end
58
+
59
+ # === Update attribute group.
60
+ # Update an attribute group info.
61
+ #
62
+ # ==== Parameters
63
+ # id:: (Integer) -- Attribute group id.
64
+ # data:: (Hash) -- Data to be submited.
65
+ #
66
+ # ==== Example
67
+ # data = {
68
+ # "title": "New Attribute Group Modified",
69
+ # "object_type": "contacts",
70
+ # "slug": "new-attribute-group",
71
+ # "description": "New description"
72
+ # }
73
+ # @data = @mints_user.update_attribute_group(36, data)
74
+ def update_attribute_group(id, data)
75
+ return @client.raw("put", "/config/attribute-groups/#{id}", nil, data_transform(data))
76
+ end
77
+ end
@@ -0,0 +1,86 @@
1
+ module Attributes
2
+ ##
3
+ # == Attributes
4
+ #
5
+
6
+ # === Get attributes data types.
7
+ # Get data types used in attributes.
8
+ #
9
+ # ==== Example
10
+ # @data = @mints_user.get_attributes_data_types
11
+ def get_attributes_data_types
12
+ return @client.raw("get", "/config/attributes/data-types")
13
+ end
14
+
15
+ # === Get sub attributes.
16
+ # Get sub attributes with a slug.
17
+ #
18
+ # ==== Parameters
19
+ # options:: (Hash) -- List of Resource Collection Options shown above can be used as parameter.
20
+ #
21
+ # ==== Example
22
+ #
23
+ def get_sub_attributes(options) #TODO: Test, this method has been added recently
24
+ return @client.raw("get", "/config/attributes/sub-attributes", options)
25
+ end
26
+
27
+ # === Get attributes.
28
+ # Get a collection of attributes.
29
+ #
30
+ # ==== Example
31
+ # @data = @mints_user.get_attributes
32
+ def get_attributes
33
+ return @client.raw("get", "/config/attributes")
34
+ end
35
+
36
+ # === Get attribute.
37
+ # Get an attribute info.
38
+ #
39
+ # ==== Parameters
40
+ # id:: (Integer) -- Attribute id.
41
+ #
42
+ # ==== Example
43
+ # @data = @mints_user.get_attribute(1)
44
+ def get_attribute(id)
45
+ return @client.raw("get", "/config/attributes/#{id}")
46
+ end
47
+
48
+ # === Create attribute.
49
+ # Create an attribute with data.
50
+ #
51
+ # ==== Parameters
52
+ # data:: (Hash) -- Data to be submited.
53
+ #
54
+ # ==== Example
55
+ # data = {
56
+ # "title": "New Attribute",
57
+ # "object_type": "orders",
58
+ # "slug": "new_attribute",
59
+ # "attribute_group_id": 1,
60
+ # "data_type_enum": 10
61
+ # }
62
+ # @data = @mints_user.create_attribute(data)
63
+ def create_attribute(data)
64
+ return @client.raw("post", "/config/attributes", nil, data_transform(data))
65
+ end
66
+
67
+ # === Update attribute.
68
+ # Update an attribute info.
69
+ #
70
+ # ==== Parameters
71
+ # id:: (Integer) -- Attribute id.
72
+ # data:: (Hash) -- Data to be submited.
73
+ #
74
+ # ==== Example
75
+ # data = {
76
+ # "title": "New Attribute Modified",
77
+ # "object_type": "orders",
78
+ # "slug": "new_attribute",
79
+ # "attribute_group_id": 1,
80
+ # "data_type_enum": 10
81
+ # }
82
+ # @data = @mints_user.update_attribute(292, data)
83
+ def update_attribute(id, data)
84
+ return @client.raw("put", "/config/attributes/#{id}", nil, data_transform(data))
85
+ end
86
+ end
@@ -0,0 +1,89 @@
1
+ module Calendars
2
+ ##
3
+ # == Calendars
4
+ #
5
+
6
+ # === Get calendars.
7
+ # Get a collection of calendars.
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_calendars
14
+ #
15
+ # ==== Second Example
16
+ # options = {
17
+ # "fields": "title"
18
+ # }
19
+ # @data = @mints_user.get_calendars(options)
20
+ def get_calendars(options = nil)
21
+ return @client.raw("get", "/config/calendars", options)
22
+ end
23
+
24
+ # === Get calendar.
25
+ # Get a calendar info.
26
+ #
27
+ # ==== Parameters
28
+ # id:: (Integer) -- Calendar 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_calendar(1)
33
+ #
34
+ # ==== Second Example
35
+ # options = {
36
+ # "fields": "title"
37
+ # }
38
+ # @data = @mints_user.get_calendar(1, options)
39
+ def get_calendar(id, options = nil)
40
+ return @client.raw("get", "/config/calendars/#{id}", options)
41
+ end
42
+
43
+ # === Create calendar.
44
+ # Create a calendar with data.
45
+ #
46
+ # ==== Parameters
47
+ # data:: (Hash) -- Data to be submited.
48
+ #
49
+ # ==== Example
50
+ # data = {
51
+ # "title": "New Calendar",
52
+ # "object_type": "contacts",
53
+ # "object_id": 1
54
+ # }
55
+ # @data = @mints_user.create_calendar(data)
56
+ def create_calendar(data)
57
+ return @client.raw("post", "/config/calendars", nil, data_transform(data))
58
+ end
59
+
60
+ # === Update calendar.
61
+ # Update a calendar info.
62
+ #
63
+ # ==== Parameters
64
+ # id:: (Integer) -- Calendar id.
65
+ # data:: (Hash) -- Data to be submited.
66
+ #
67
+ # ==== Example
68
+ # data = {
69
+ # "title": "New Calendar Modified",
70
+ # "object_type": "contacts",
71
+ # "object_id": 1
72
+ # }
73
+ # @data = @mints_user.update_calendar(4, data)
74
+ def update_calendar(id, data)
75
+ return @client.raw("put", "/config/calendars/#{id}", nil, data_transform(data))
76
+ end
77
+
78
+ # === Delete calendar.
79
+ # Delete a calendar.
80
+ #
81
+ # ==== Parameters
82
+ # id:: (Integer) -- Calendar id.
83
+ #
84
+ # ==== Example
85
+ # @data = @mints_user.delete_calendar(4)
86
+ def delete_calendar(id)
87
+ return @client.raw("delete", "/config/calendars/#{id}")
88
+ end
89
+ end
@@ -0,0 +1,65 @@
1
+ require_relative './api_keys.rb'
2
+ require_relative './appointments.rb'
3
+ require_relative './attribute_groups.rb'
4
+ require_relative './attributes.rb'
5
+ require_relative './calendars.rb'
6
+ require_relative './importers.rb'
7
+ require_relative './public_folders.rb'
8
+ require_relative './relationships.rb'
9
+ require_relative './roles.rb'
10
+ require_relative './seeds.rb'
11
+ require_relative './system_settings.rb'
12
+ require_relative './tags.rb'
13
+ require_relative './taxonomies.rb'
14
+ require_relative './teams.rb'
15
+ require_relative './users.rb'
16
+
17
+ module Config
18
+ include ApiKeys
19
+ include Appointments
20
+ include AttributeGroups
21
+ include Attributes
22
+ include Calendars
23
+ include Importers
24
+ include PublicFolders
25
+ include Relationships
26
+ include Roles
27
+ include Seeds
28
+ include SystemSettings
29
+ include Tags
30
+ include Taxonomies
31
+ include Teams
32
+ include Users
33
+
34
+ ##
35
+ # == Categories
36
+ #
37
+
38
+ # def sync_categories_for_object(data)
39
+ # return @client.raw("put", "/config/categories/sync_categories_for_object", nil, data)
40
+ #end
41
+
42
+ # def get_categories_for_object(options)
43
+ # return @client.raw("get", "/config/categories/get_categories_for_object", options)
44
+ #end
45
+
46
+ # def get_categories
47
+ # return @client.raw("get", "/config/categories")
48
+ #end
49
+
50
+ # def create_category(data) #TODO: Research if 'visible' is a boolean or int. It accepts smallint
51
+ # return @client.raw("post", "/config/categories", nil, data)
52
+ #end
53
+
54
+ # def update_category(id, data)
55
+ # return @client.raw("put", "/config/categories/#{id}", nil, data)
56
+ #end
57
+
58
+ # def get_category_support_data(id)
59
+ # return @client.raw("get", "/config/categories/support-data/#{id}")
60
+ #end
61
+
62
+ # def get_category(id)
63
+ # return @client.raw("get", "/config/categories/#{id}")
64
+ #end
65
+ end