mints 0.0.30 → 0.0.31
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.
- checksums.yaml +4 -4
- data/README.md +290 -32
- data/lib/contact/config/appointments.rb +1 -1
- data/lib/contact/config/config.rb +2 -2
- data/lib/contact/content/content.rb +2 -2
- data/lib/contact/content/conversations.rb +2 -2
- data/lib/contact/ecommerce/ecommerce.rb +5 -5
- data/lib/contact/ecommerce/order_items.rb +1 -1
- data/lib/contact/ecommerce/order_items_groups.rb +1 -1
- data/lib/contact/ecommerce/orders.rb +1 -1
- data/lib/contact/ecommerce/vouchers.rb +2 -2
- data/lib/contact.rb +9 -3
- data/lib/mints/controllers/concerns/mints_clients.rb +3 -1
- data/lib/mints/helpers/proxy_controllers_methods.rb +1 -1
- data/lib/pub/config/attributes.rb +1 -1
- data/lib/pub/config/config.rb +4 -4
- data/lib/pub/config/tags.rb +1 -1
- data/lib/pub/config/taxonomies.rb +1 -1
- data/lib/pub/content/assets.rb +1 -1
- data/lib/pub/content/content.rb +8 -8
- data/lib/pub/content/content_bundles.rb +1 -1
- data/lib/pub/content/content_instance_versions.rb +1 -1
- data/lib/pub/content/content_instances.rb +1 -1
- data/lib/pub/content/forms.rb +1 -1
- data/lib/pub/content/stories.rb +1 -1
- data/lib/pub/content/story_versions.rb +1 -1
- data/lib/pub/ecommerce/ecommerce.rb +4 -4
- data/lib/pub/ecommerce/locations.rb +1 -1
- data/lib/pub/ecommerce/orders.rb +1 -1
- data/lib/pub/ecommerce/products.rb +1 -1
- data/lib/pub.rb +3 -3
- data/lib/user/config/config.rb +1 -1
- data/lib/user/config/public_folders.rb +1 -1
- data/lib/user/config/users.rb +4 -4
- data/lib/user/content/content.rb +0 -55
- data/lib/user/content/forms.rb +4 -4
- data/lib/user/content/messages.rb +4 -4
- data/lib/user/content/stories.rb +8 -5
- data/lib/user/content/story_templates.rb +2 -2
- data/lib/user/crm/contacts.rb +0 -13
- data/lib/user/crm/workflow_steps.rb +4 -4
- data/lib/user/crm/workflows.rb +4 -4
- data/lib/user/ecommerce/order_items_groups.rb +2 -2
- data/lib/user/ecommerce/skus.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 15db76401dfa74546139b780363014a6502c2d10409f5ba7199d27c16b746d64
|
4
|
+
data.tar.gz: 52ad33837204580f17ade75c3777dea6aea97903a508968a8bff0e5cb52f098e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4ddb5dda74b294e5d351a6d700e93aa0120b3ef94622203c52020317768c23f88fa855ffe10463efda4bcbb558aca783d8107eb2bc5005102410a0cabcc7f9df
|
7
|
+
data.tar.gz: 928bc2bfa825d822b08a7f30f9ea4575f43e4db1888d58caa07eac4a443372499b2b6f75dd4f45189ef9c2870d42ed0aadc9481a95c578e7b345e06f0f65a4d0
|
data/README.md
CHANGED
@@ -5,63 +5,89 @@ This is a library to connect apps built on ruby to Mints.Cloud
|
|
5
5
|
## Installation
|
6
6
|
|
7
7
|
Add gem to the Gemfile
|
8
|
+
|
8
9
|
```bash
|
9
10
|
gem 'mints'
|
10
11
|
```
|
11
12
|
|
12
13
|
## Usage
|
14
|
+
|
13
15
|
Using Mints Public API
|
16
|
+
|
14
17
|
```ruby
|
15
|
-
|
16
|
-
|
18
|
+
mints_pub = Mints::Pub.new(mints_url, api_key)
|
19
|
+
mints_pub.get_stories
|
17
20
|
```
|
18
21
|
|
19
22
|
Using Mints Contact API
|
23
|
+
|
20
24
|
```ruby
|
21
|
-
|
22
|
-
|
23
|
-
|
25
|
+
mints_contact = Mints::Contact.new(mints_url, api_key)
|
26
|
+
mints_contact.login(email, password)
|
27
|
+
mints_contact.me
|
24
28
|
```
|
25
29
|
|
26
30
|
Using Mints User API
|
31
|
+
|
27
32
|
```ruby
|
28
|
-
|
29
|
-
|
30
|
-
|
33
|
+
mints_user = Mints::User.new(mints_url, api_key)
|
34
|
+
mints_user.login(email, password)
|
35
|
+
mints_user.get_contacts
|
31
36
|
```
|
37
|
+
|
38
|
+
Using Mints User API by Service account
|
39
|
+
|
40
|
+
```ruby
|
41
|
+
# Usually the api_key and the session token are the same, you can go to the service accounts section
|
42
|
+
# from your CXF instance and generate your service account api key
|
43
|
+
mints_service_account = Mints::User.new(mints_url, api_key, api_key)
|
44
|
+
mints_service_account.get_contacts
|
45
|
+
```
|
46
|
+
|
32
47
|
## Generate mints files
|
33
|
-
|
48
|
+
|
49
|
+
This command will generate the mints_config.yml.erb file, API controlles and routes to have available the mints
|
50
|
+
endpoints
|
51
|
+
|
34
52
|
```bash
|
35
53
|
rails generate mints_files
|
36
54
|
```
|
55
|
+
|
37
56
|
## Contact tracking usage
|
57
|
+
|
38
58
|
Your app controller needs to be inherited from Mints::BaseController
|
59
|
+
|
39
60
|
```ruby
|
40
61
|
# application_controller.rb
|
41
62
|
|
42
63
|
class ApplicationController < Mints::BaseController
|
43
64
|
end
|
44
65
|
```
|
66
|
+
|
45
67
|
This heritance will make the following class variables available:
|
46
68
|
|
47
|
-
| Variable
|
48
|
-
|
49
|
-
| @host
|
50
|
-
| @api_key
|
51
|
-
| @mints_pub
|
52
|
-
| @contact_token
|
53
|
-
| @visit_id
|
54
|
-
| @mints_contact
|
69
|
+
| Variable | Description |
|
70
|
+
|----------------|:------------------------------------------------------------------------------------:|
|
71
|
+
| @host | Host defined in mints_config.yml.erb file |
|
72
|
+
| @api_key | API key defined in mints_config.yml.erb file |
|
73
|
+
| @mints_pub | An already instanced public client |
|
74
|
+
| @contact_token | A token used by mints to identify the contact |
|
75
|
+
| @visit_id | An identifier of the visit registered |
|
76
|
+
| @mints_contact | An already instanced contact client (not usable until call the contact login method) |
|
55
77
|
|
56
78
|
And the following controller methods:
|
57
|
-
|
58
|
-
|
|
59
|
-
|
60
|
-
|
|
61
|
-
|
|
79
|
+
|
80
|
+
| Method | Parameters | Return value | Description |
|
81
|
+
|--------------------------------|:-----------------------:|:------------:|:----------------------------------------------------------------:|
|
82
|
+
| mints_contact_signed_in? | none | boolean | Indicates if the contact has an active session |
|
83
|
+
| mints_contact_login | email, password | void | Starts a contact session |
|
84
|
+
| mints_contact_logout | none | void | Ends a contact session |
|
85
|
+
| mints_contact_magic_link_login | hash, redirect_in_error | void | Starts a contact session in mints.cloud and set a session cookie |
|
62
86
|
|
63
87
|
## Admin controller usage
|
64
|
-
|
88
|
+
|
89
|
+
If want to have a private section where only a mints user can acces and use the private user api is needed to inherit
|
90
|
+
from the AdminBaseController.
|
65
91
|
|
66
92
|
```ruby
|
67
93
|
# admin_controller.rb
|
@@ -71,14 +97,246 @@ end
|
|
71
97
|
```
|
72
98
|
|
73
99
|
This heritance will make the following class variables available:
|
74
|
-
|
75
|
-
|
|
76
|
-
|
77
|
-
| @
|
78
|
-
| @
|
100
|
+
|
101
|
+
| Variable | Description |
|
102
|
+
|------------------------|:-------------------------------------------------------------------------------:|
|
103
|
+
| @host | Host defined in mints_config.yml.erb file |
|
104
|
+
| @api_key | API key defined in mints_config.yml.erb file |
|
105
|
+
| @mints_user | An already instanced user client (not usable until call the user login method) |
|
106
|
+
| @mints_service_account | An already instanced service_account client |
|
79
107
|
|
80
108
|
And the following controller methods:
|
81
|
-
|
82
|
-
|
|
83
|
-
|
84
|
-
|
|
109
|
+
|
110
|
+
| Method | Parameters | Return value | Description |
|
111
|
+
|-----------------------------|:---------------:|:------------:|:-------------------------------------------------------------:|
|
112
|
+
| mints_user_login | email, password | void | Starts a user session |
|
113
|
+
| mints_user_logout | none | void | Ends a user session |
|
114
|
+
| mints_user_signed_in? | none | Boolean | Indicates if the user has an active session |
|
115
|
+
| mints_user_magic_link_login | hash | void | Starts a user session in mints.cloud and set a session cookie |
|
116
|
+
|
117
|
+
## Mints config file
|
118
|
+
|
119
|
+
The mints.config.yml file allows to set the CXF instance to which the implementation will access, it can add the host,
|
120
|
+
api key for CXF, in addition to setting the cache rules with redis, if you want to add a url to cache , you should add
|
121
|
+
it to the groups array and set the cache time.
|
122
|
+
|
123
|
+
```yaml
|
124
|
+
# Mints connection configuration
|
125
|
+
mints:
|
126
|
+
host: http://your_host_goes_here.com
|
127
|
+
api_key: your_mints_api_key_goes_here
|
128
|
+
mints_slug: slug_id #save id and token in redis
|
129
|
+
redis_cache:
|
130
|
+
use_cache: boolean_value_to_enable_and_disable_cache
|
131
|
+
redis_host: your_redis_server_host
|
132
|
+
redis_port: your_redis_server_port
|
133
|
+
redis_db: your_redis_database
|
134
|
+
groups:
|
135
|
+
- urls:
|
136
|
+
- group_of_urls
|
137
|
+
time: time_that_will_be_applied_to_urls_in_seconds
|
138
|
+
```
|
139
|
+
|
140
|
+
To enable sdk debugging you can change the variable debug.
|
141
|
+
Finally, to configure the sharing of cookies between domains, you can configure the "iframe cookies", where you
|
142
|
+
establish how long the cookie will have, if it is activated and the domains to share cookies (to have this
|
143
|
+
functionality, we recommend the use of the template).
|
144
|
+
|
145
|
+
```yaml
|
146
|
+
# Mints connection configuration
|
147
|
+
sdk:
|
148
|
+
debug: false
|
149
|
+
cookies_iframe:
|
150
|
+
activated: boolean_value_to_enable_and_disable_cookies_iframe
|
151
|
+
expire_time: expire_time_of_cookies_iframe_in_hours
|
152
|
+
hosts:
|
153
|
+
- array_of_host_to_send_cookies
|
154
|
+
```
|
155
|
+
|
156
|
+
## Override default clients
|
157
|
+
|
158
|
+
If you want other clients for admin/base controller, you need to specify them with the "define_mints_clients" method
|
159
|
+
Example:
|
160
|
+
|
161
|
+
```ruby
|
162
|
+
# admin_controller.rb
|
163
|
+
|
164
|
+
class AdminController < Mints::AdminBaseController
|
165
|
+
def define_mints_clients
|
166
|
+
%w[contact user pub service_account]
|
167
|
+
end
|
168
|
+
end
|
169
|
+
```
|
170
|
+
|
171
|
+
## Error catching
|
172
|
+
|
173
|
+
The SDK provides different errors that are identified according to the response provided by CXF,
|
174
|
+
the errors can be 404, 401, 422, 500, etc.
|
175
|
+
To rescue these errors, it is done as follows:
|
176
|
+
|
177
|
+
```ruby
|
178
|
+
|
179
|
+
# Example 1
|
180
|
+
begin
|
181
|
+
@mints_pub.client.raw('/invalid-url')
|
182
|
+
rescue => Mints::Errors::ResourceNotFoundException
|
183
|
+
puts "Error 404"
|
184
|
+
end
|
185
|
+
|
186
|
+
# Example 2
|
187
|
+
|
188
|
+
begin
|
189
|
+
response = @mints_contact.register(data)
|
190
|
+
rescue Mints::Errors::ValidationException => e
|
191
|
+
response = e.to_h
|
192
|
+
# This will return a Hash with the information needed to debug
|
193
|
+
# Example:
|
194
|
+
{
|
195
|
+
:client => sdk_instance,
|
196
|
+
# Client instance
|
197
|
+
# @host = "https://your_cxf_instance",
|
198
|
+
# @api_key = current_api_key,
|
199
|
+
# @session_token = current_session_token,
|
200
|
+
# @contact_token_id = current_contact_token_id,
|
201
|
+
# @visit_id = current_visit_id,
|
202
|
+
# @debug = current_debug_flag,
|
203
|
+
# @scope = current_scope,
|
204
|
+
# @base_url = current_base_url
|
205
|
+
:title => "Request failed with status 422",
|
206
|
+
:detail => "Unprocessable Entity",
|
207
|
+
:http_status => 422,
|
208
|
+
:response => { "email" => ["The email has already been taken."] },
|
209
|
+
:errors => ["The email has already been taken."]
|
210
|
+
}
|
211
|
+
end
|
212
|
+
|
213
|
+
```
|
214
|
+
|
215
|
+
The current errors are:
|
216
|
+
|
217
|
+
| Error | Status | Full error name |
|
218
|
+
|---------------------------|:------:|:----------------------------------------:|
|
219
|
+
| AccessDeniedException | 401 | Mints::Errors::AccessDeniedException |
|
220
|
+
| ResourceNotFoundException | 404 | Mints::Errors::ResourceNotFoundException |
|
221
|
+
| MethodNotAllowedException | 405 | Mints::Errors::MethodNotAllowedException |
|
222
|
+
| ValidationException | 422 | Mints::Errors::ValidationException |
|
223
|
+
| InternalServerException | 500 | Mints::Errors::InternalServerException |
|
224
|
+
|
225
|
+
<details>
|
226
|
+
<summary> Mints::Pub </summary>
|
227
|
+
|
228
|
+
- Mints::Pub::Config
|
229
|
+
- [Mints::Pub::Config::Attributes](doc/pub/config/attributes.md)
|
230
|
+
- [Mints::Pub::Config::PublicFolders](doc/pub/config/public_folders.md)
|
231
|
+
- [Mints::Pub::Config::Tags](doc/pub/config/tags.md)
|
232
|
+
- [Mints::Pub::Config::Taxonomies](doc/pub/config/taxonomies.md)
|
233
|
+
|
234
|
+
|
235
|
+
- Mints::Pub::Content
|
236
|
+
- [Mints::Pub::Content::Assets](doc/pub/content/assets.md)
|
237
|
+
- [Mints::Pub::Content::ContentBundles](doc/pub/content/content_bundles.md)
|
238
|
+
- [Mints::Pub::Content::ContentInstanceVersions](doc/pub/content/content_instance_versions.md)
|
239
|
+
- [Mints::Pub::Content::ContentInstances](doc/pub/content/content_instances.md)
|
240
|
+
- [Mints::Pub::Content::Forms](doc/pub/content/forms.md)
|
241
|
+
- [Mints::Pub::Content::Stories](doc/pub/content/stories.md)
|
242
|
+
- [Mints::Pub::Content::StoryVersions](doc/pub/content/story_versions.md)
|
243
|
+
|
244
|
+
- Mints::Pub::Ecommerce
|
245
|
+
- [Mints::Pub::Ecommerce::Locations](doc/pub/ecommerce/locations.md)
|
246
|
+
- [Mints::Pub::Ecommerce::Orders](doc/pub/ecommerce/orders.md)
|
247
|
+
- [Mints::Pub::Ecommerce::Products](doc/pub/ecommerce/products.md)
|
248
|
+
|
249
|
+
</details>
|
250
|
+
|
251
|
+
<details>
|
252
|
+
<summary> Mints::Contact </summary>
|
253
|
+
|
254
|
+
- Mints::Contact::Config
|
255
|
+
- [Mints::Contact::Config::Appointments](doc/contact/config/appointments.md)
|
256
|
+
|
257
|
+
|
258
|
+
- Mints::Contact::Content
|
259
|
+
- [Mints::Contact::Content::Conversations](doc/contact/content/conversations.md)
|
260
|
+
|
261
|
+
- Mints::Contact::Ecommerce
|
262
|
+
- [Mints::Contact::Ecommerce::OrderItemGroups](doc/contact/ecommerce/order_item_groups.md)
|
263
|
+
- [Mints::Contact::Ecommerce::OrderItems](doc/contact/ecommerce/order_items.md)
|
264
|
+
- [Mints::Contact::Ecommerce::Orders](doc/contact/ecommerce/orders.md)
|
265
|
+
- [Mints::Contact::Ecommerce::Vouchers](doc/contact/ecommerce/vouchers.md)
|
266
|
+
|
267
|
+
</details>
|
268
|
+
|
269
|
+
<details>
|
270
|
+
<summary> Mints::User </summary>
|
271
|
+
|
272
|
+
- Mints::User::Config
|
273
|
+
- [Mints::User::Config::ApiKey](doc/user/config/api_key.md)
|
274
|
+
- [Mints::User::Config::Appointments](doc/user/config/appointments.md)
|
275
|
+
- [Mints::User::Config::AttributeGroups](doc/user/config/attribute_groups.md)
|
276
|
+
- [Mints::User::Config::Attributes](doc/user/config/attributes.md)
|
277
|
+
- [Mints::User::Config::Calendar](doc/user/config/calendar.md)
|
278
|
+
- [Mints::User::Config::PublicFolder](doc/user/config/public_folders.md)
|
279
|
+
- [Mints::User::Config::Relationships](doc/user/config/relationships.md)
|
280
|
+
- [Mints::User::Config::Roles](doc/user/config/roles.md)
|
281
|
+
- [Mints::User::Config::Seeds](doc/user/config/seeds.md)
|
282
|
+
- [Mints::User::Config::SystemSettings](doc/user/config/system_settings.md)
|
283
|
+
- [Mints::User::Config::Tags](doc/user/config/tags.md)
|
284
|
+
- [Mints::User::Config::Taxonomies](doc/user/config/taxonomies.md)
|
285
|
+
- [Mints::User::Config::Teams](doc/user/config/teams.md)
|
286
|
+
- [Mints::User::Config::Users](doc/user/config/users.md)
|
287
|
+
|
288
|
+
- [Mints::User::Contacts](doc/user/contacts/contacts.md)
|
289
|
+
|
290
|
+
- [Mints::User::Content](doc/user/content/content.md)
|
291
|
+
- [Mints::User::Content::Assets](doc/user/content/assets.md)
|
292
|
+
- [Mints::User::Content::ContentInstances](doc/user/content/content_instances.md)
|
293
|
+
- [Mints::User::Content::ContentTemplates](doc/user/content/content_templates.md)
|
294
|
+
- [Mints::User::Content::Conversations](doc/user/content/conversations.md)
|
295
|
+
- [Mints::User::Content::Dam](doc/user/content/dam.md)
|
296
|
+
- [Mints::User::Content::Forms](doc/user/content/forms.md)
|
297
|
+
- [Mints::User::Content::MessageTemplates](doc/user/content/message_templates.md)
|
298
|
+
- [Mints::User::Content::Messages](doc/user/content/messages.md)
|
299
|
+
- [Mints::User::Content::Pages](doc/user/content/pages.md)
|
300
|
+
- [Mints::User::Content::Stories](doc/user/content/stories.md)
|
301
|
+
- [Mints::User::Content::StoryTemplates](doc/user/content/story_templates.md)
|
302
|
+
- [Mints::User::Content::StoryVersions](doc/user/content/story_versions.md)
|
303
|
+
|
304
|
+
- Mints::User::Crm
|
305
|
+
- [Mints::User::Crm::Companies](doc/user/crm/companies.md)
|
306
|
+
- [Mints::User::Crm::Contacts](doc/user/crm/contacts.md)
|
307
|
+
- [Mints::User::Crm::Deals](doc/user/crm/deals.md)
|
308
|
+
- [Mints::User::Crm::Favorites](doc/user/crm/favorites.md)
|
309
|
+
- [Mints::User::Crm::Segments](doc/user/crm/segments.md)
|
310
|
+
- [Mints::User::Crm::Users](doc/user/crm/users.md)
|
311
|
+
- [Mints::User::Crm::WorkflowStepObjects](doc/user/crm/workflow_step_objects.md)
|
312
|
+
- [Mints::User::Crm::WorkflowSteps](doc/user/crm/workflow_steps.md)
|
313
|
+
- [Mints::User::Crm::Workflows](doc/user/crm/workflows.md)
|
314
|
+
|
315
|
+
- Mints::User::Ecommerce
|
316
|
+
- [Mints::User::Ecommerce::ItemPrices](doc/user/ecommerce/item_prices.md)
|
317
|
+
- [Mints::User::Ecommerce::Locations](doc/user/ecommerce/locations.md)
|
318
|
+
- [Mints::User::Ecommerce::OrderItemGroups](doc/user/ecommerce/order_item_groups.md)
|
319
|
+
- [Mints::User::Ecommerce::OrderStatuses](doc/user/ecommerce/order_statuses.md)
|
320
|
+
|
321
|
+
- [Mints::User::Ecommerce::Orders](doc/user/ecommerce/orders.md)
|
322
|
+
- [Mints::User::Ecommerce::PriceList](doc/user/ecommerce/price_list.md)
|
323
|
+
- [Mints::User::Ecommerce::ProductTemplates](doc/user/ecommerce/product_templates.md)
|
324
|
+
- [Mints::User::Ecommerce::ProductVariations](doc/user/ecommerce/product_variations.md)
|
325
|
+
- [Mints::User::Ecommerce::Products](doc/user/ecommerce/products.md)
|
326
|
+
- [Mints::User::Ecommerce::Skus](doc/user/ecommerce/skus.md)
|
327
|
+
- [Mints::User::Ecommerce::Taxes](doc/user/ecommerce/taxes.md)
|
328
|
+
- [Mints::User::Ecommerce::VariantOptions](doc/user/ecommerce/variant_options.md)
|
329
|
+
- [Mints::User::Ecommerce::VariantValues](doc/user/ecommerce/variant_values.md)
|
330
|
+
- [Mints::User::Ecommerce::Vouchers](doc/user/ecommerce/vouchers.md)
|
331
|
+
|
332
|
+
- [Mints::User::Helpers](doc/user/helpers/helpers.md)
|
333
|
+
- [Mints::User::Helpers::ObjectActivities](doc/user/helpers/object_activities.md)
|
334
|
+
- [Mints::User::Helpers::ObjectFolders](doc/user/helpers/object_folders.md)
|
335
|
+
- [Mints::User::Helpers::UserFolders](doc/user/helpers/user_folders.md)
|
336
|
+
|
337
|
+
- [Mints::User::Marketing](doc/user/marketing/marketing.md)
|
338
|
+
|
339
|
+
- [Mints::User::Profile](doc/user/profile/profile.md)
|
340
|
+
|
341
|
+
</details>
|
342
|
+
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
module
|
3
|
+
module ContactConversations
|
4
4
|
##
|
5
5
|
# === Get Conversations.
|
6
6
|
# Get a collection of conversations.
|
@@ -66,7 +66,7 @@ module Conversations
|
|
66
66
|
|
67
67
|
##
|
68
68
|
# === Get Conversation Participants.
|
69
|
-
#
|
69
|
+
# Get a conversation participants.
|
70
70
|
#
|
71
71
|
# ==== Parameters
|
72
72
|
# id:: (Integer) -- Conversation id.
|
@@ -5,10 +5,10 @@ require_relative './order_items'
|
|
5
5
|
require_relative './orders'
|
6
6
|
require_relative './vouchers'
|
7
7
|
|
8
|
-
module
|
9
|
-
include
|
10
|
-
include
|
11
|
-
include
|
12
|
-
include
|
8
|
+
module ContactEcommerce
|
9
|
+
include ContactOrderItemsGroups
|
10
|
+
include ContactOrderItems
|
11
|
+
include ContactOrders
|
12
|
+
include ContactVouchers
|
13
13
|
|
14
14
|
end
|
data/lib/contact.rb
CHANGED
@@ -10,7 +10,13 @@ include ActionController::Cookies
|
|
10
10
|
|
11
11
|
module Mints
|
12
12
|
class Contact
|
13
|
+
include ContactConfig
|
14
|
+
include ContactContent
|
15
|
+
include ContactEcommerce
|
16
|
+
include MintsHelper
|
17
|
+
|
13
18
|
attr_reader :client
|
19
|
+
|
14
20
|
##
|
15
21
|
# === Initialize.
|
16
22
|
# Class constructor.
|
@@ -71,7 +77,7 @@ module Mints
|
|
71
77
|
|
72
78
|
##
|
73
79
|
# === Recover Password.
|
74
|
-
# Send a email that contains a token to a contact. That token will be used in reset_password to establish a new password.
|
80
|
+
# Send a email that contains a token to a contact. That token will be used in reset_password to establish a new password.
|
75
81
|
#
|
76
82
|
# ==== Parameters
|
77
83
|
# data:: (Hash) -- It's a data key where will be hosted the destination email.
|
@@ -172,10 +178,10 @@ module Mints
|
|
172
178
|
# @data = @mints_contact.me
|
173
179
|
#
|
174
180
|
# ==== Second Example
|
175
|
-
# options = {
|
181
|
+
# options = {
|
176
182
|
# attributes: true,
|
177
183
|
# taxonomies: true
|
178
|
-
# }
|
184
|
+
# }
|
179
185
|
# @data = @mints_contact.me(options)
|
180
186
|
def me(options = nil)
|
181
187
|
@client.raw('get', '/me', options, nil, @contact_v1_url)
|
@@ -22,7 +22,9 @@ module MintsClients
|
|
22
22
|
# === Set mints clients (pub, user and contact)
|
23
23
|
# Initialize all clients from mints
|
24
24
|
def set_mints_clients
|
25
|
-
|
25
|
+
valid_clients = %w[contact user pub service_account]
|
26
|
+
|
27
|
+
clients = define_mints_clients&.select { |client| valid_clients.include? client } || []
|
26
28
|
|
27
29
|
if @debug
|
28
30
|
puts "Clients to initialize:", clients
|
data/lib/pub/config/config.rb
CHANGED
@@ -7,9 +7,9 @@ require_relative './public_folders'
|
|
7
7
|
require_relative './tags'
|
8
8
|
require_relative './taxonomies'
|
9
9
|
|
10
|
-
module
|
11
|
-
include
|
10
|
+
module PublicConfig
|
11
|
+
include PublicAttributes
|
12
12
|
include PublicFolders
|
13
|
-
include
|
14
|
-
include
|
13
|
+
include PublicTags
|
14
|
+
include PublicTaxonomies
|
15
15
|
end
|
data/lib/pub/config/tags.rb
CHANGED
data/lib/pub/content/assets.rb
CHANGED
data/lib/pub/content/content.rb
CHANGED
@@ -10,13 +10,13 @@ require_relative './forms'
|
|
10
10
|
require_relative './stories'
|
11
11
|
require_relative './story_versions'
|
12
12
|
|
13
|
-
module
|
14
|
-
include
|
15
|
-
include
|
16
|
-
include
|
17
|
-
include
|
18
|
-
include
|
19
|
-
include
|
20
|
-
include
|
13
|
+
module PublicContent
|
14
|
+
include PublicAssets
|
15
|
+
include PublicContentBundles
|
16
|
+
include PublicContentInstanceVersions
|
17
|
+
include PublicContentInstances
|
18
|
+
include PublicForms
|
19
|
+
include PublicStories
|
20
|
+
include PublicStoryVersions
|
21
21
|
|
22
22
|
end
|
data/lib/pub/content/forms.rb
CHANGED
data/lib/pub/content/stories.rb
CHANGED
@@ -6,9 +6,9 @@ require_relative './locations'
|
|
6
6
|
require_relative './products'
|
7
7
|
require_relative './orders'
|
8
8
|
|
9
|
-
module
|
10
|
-
include
|
11
|
-
include
|
12
|
-
include
|
9
|
+
module PublicEcommerce
|
10
|
+
include PublicLocations
|
11
|
+
include PublicProducts
|
12
|
+
include PublicOrders
|
13
13
|
|
14
14
|
end
|
data/lib/pub/ecommerce/orders.rb
CHANGED
data/lib/pub.rb
CHANGED
data/lib/user/config/config.rb
CHANGED
data/lib/user/config/users.rb
CHANGED
@@ -51,8 +51,8 @@ module Users
|
|
51
51
|
# is_coach: false
|
52
52
|
# }
|
53
53
|
# @data = @mints_user.create_user(data)
|
54
|
-
def create_user(data)
|
55
|
-
@client.raw('post', '/config/users',
|
54
|
+
def create_user(data, options = nil)
|
55
|
+
@client.raw('post', '/config/users', options, data_transform(data))
|
56
56
|
end
|
57
57
|
|
58
58
|
# === Update user.
|
@@ -71,7 +71,7 @@ module Users
|
|
71
71
|
# roles: ''
|
72
72
|
# }
|
73
73
|
# @data = @mints_user.update_user(14, data)
|
74
|
-
def update_user(id, data)
|
75
|
-
@client.raw('put', "/config/users/#{id}",
|
74
|
+
def update_user(id, data, options = nil)
|
75
|
+
@client.raw('put', "/config/users/#{id}", options, data_transform(data))
|
76
76
|
end
|
77
77
|
end
|
data/lib/user/content/content.rb
CHANGED
@@ -36,61 +36,6 @@ module Content
|
|
36
36
|
@client.raw('get', '/content/public-images-url')
|
37
37
|
end
|
38
38
|
|
39
|
-
##
|
40
|
-
# == Authors
|
41
|
-
#
|
42
|
-
|
43
|
-
# === Get authors.
|
44
|
-
# Get authors.
|
45
|
-
#
|
46
|
-
# ==== Example
|
47
|
-
# @data = @mints_user.get_authors
|
48
|
-
def get_authors
|
49
|
-
@client.raw('get', '/content/authors')
|
50
|
-
end
|
51
|
-
|
52
|
-
# === Get author.
|
53
|
-
# Get an author.
|
54
|
-
#
|
55
|
-
# ==== Parameters
|
56
|
-
# id:: (Integer) -- Author id.
|
57
|
-
#
|
58
|
-
# ==== Example
|
59
|
-
# @data = @mints_user.get_author(1)
|
60
|
-
def get_author(id)
|
61
|
-
@client.raw('get', "/content/authors/#{id}")
|
62
|
-
end
|
63
|
-
|
64
|
-
# === Create author.
|
65
|
-
# Create an author with data.
|
66
|
-
#
|
67
|
-
# ==== Parameters
|
68
|
-
# data:: (Hash) -- Data to be submitted.
|
69
|
-
#
|
70
|
-
# ==== Example
|
71
|
-
# data = {
|
72
|
-
# title: 'Howard Phillips Lovecraft',
|
73
|
-
# slug: 'howard-phillips-lovecraft'
|
74
|
-
# }
|
75
|
-
# @data = @mints_user.create_author(data.to_json)
|
76
|
-
def create_author(data)
|
77
|
-
@client.raw('post', '/content/authors', nil, data)
|
78
|
-
end
|
79
|
-
|
80
|
-
# === Update author.
|
81
|
-
# Update an author info.
|
82
|
-
#
|
83
|
-
# ==== Parameters
|
84
|
-
# id:: (Integer) -- Author id.
|
85
|
-
# data:: (Hash) -- Data to be submitted.
|
86
|
-
#
|
87
|
-
# ==== Example
|
88
|
-
#
|
89
|
-
def update_author(id, data)
|
90
|
-
# FIXME: Author controller doesnt receive data
|
91
|
-
@client.raw('put', "/content/authors/#{id}", nil, data)
|
92
|
-
end
|
93
|
-
|
94
39
|
##
|
95
40
|
# == Keywords
|
96
41
|
#
|
data/lib/user/content/forms.rb
CHANGED
@@ -173,8 +173,8 @@ module Forms
|
|
173
173
|
# slug: 'new-form-slug'
|
174
174
|
# }
|
175
175
|
# @data = @mints_user.create_form(data)
|
176
|
-
def create_form(data)
|
177
|
-
@client.raw('post', '/content/forms',
|
176
|
+
def create_form(data, options = nil)
|
177
|
+
@client.raw('post', '/content/forms', options, data_transform(data))
|
178
178
|
end
|
179
179
|
|
180
180
|
# === Update form.
|
@@ -190,8 +190,8 @@ module Forms
|
|
190
190
|
# slug: 'new-form-slug'
|
191
191
|
# }
|
192
192
|
# @data = @mints_user.update_form(3, data)
|
193
|
-
def update_form(id, data)
|
194
|
-
@client.raw('put', "/content/forms/#{id}",
|
193
|
+
def update_form(id, data, options = nil)
|
194
|
+
@client.raw('put', "/content/forms/#{id}", options, data_transform(data))
|
195
195
|
end
|
196
196
|
|
197
197
|
# === Delete form.
|
@@ -56,8 +56,8 @@ module Messages
|
|
56
56
|
# }
|
57
57
|
# }
|
58
58
|
# @data = @mints_user.create_message(data)
|
59
|
-
def create_message(data)
|
60
|
-
@client.raw('post', '/content/messages',
|
59
|
+
def create_message(data, options = nil)
|
60
|
+
@client.raw('post', '/content/messages', options, data_transform(data))
|
61
61
|
end
|
62
62
|
|
63
63
|
# === Update message.
|
@@ -74,8 +74,8 @@ module Messages
|
|
74
74
|
# }
|
75
75
|
# }
|
76
76
|
# @data = @mints_user.update_message(102, data)
|
77
|
-
def update_message(id, data)
|
78
|
-
@client.raw('put', "/content/messages/#{id}",
|
77
|
+
def update_message(id, data, options = nil)
|
78
|
+
@client.raw('put', "/content/messages/#{id}", options, data_transform(data))
|
79
79
|
end
|
80
80
|
|
81
81
|
# === Delete message.
|
data/lib/user/content/stories.rb
CHANGED
@@ -71,9 +71,12 @@ module Stories
|
|
71
71
|
# slug: "new-story",
|
72
72
|
# story_template_id: 1
|
73
73
|
# }
|
74
|
-
#
|
75
|
-
|
76
|
-
|
74
|
+
#
|
75
|
+
# options = { fields: 'id,slug' }
|
76
|
+
#
|
77
|
+
# @data = @mints_user.create_story(data, options)
|
78
|
+
def create_story(data, options = nil)
|
79
|
+
@client.raw('post', '/content/stories', options, data_transform(data))
|
77
80
|
end
|
78
81
|
|
79
82
|
# === Update story.
|
@@ -89,8 +92,8 @@ module Stories
|
|
89
92
|
# slug: 'new-story'
|
90
93
|
# }
|
91
94
|
# @data = @mints_user.update_story(5, data)
|
92
|
-
def update_story(id, data)
|
93
|
-
@client.raw('put', "/content/stories/#{id}",
|
95
|
+
def update_story(id, data, options = nil)
|
96
|
+
@client.raw('put', "/content/stories/#{id}", options, data_transform(data))
|
94
97
|
end
|
95
98
|
|
96
99
|
# === Delete story.
|
@@ -75,8 +75,8 @@ module StoryTemplates
|
|
75
75
|
# slug: 'new-story-template-slug'
|
76
76
|
# }
|
77
77
|
# @data = @mints_user.create_story_template(data)
|
78
|
-
def create_story_template(data)
|
79
|
-
@client.raw('post', '/content/story-templates',
|
78
|
+
def create_story_template(data, options = nil)
|
79
|
+
@client.raw('post', '/content/story-templates', options, data_transform(data))
|
80
80
|
end
|
81
81
|
|
82
82
|
# === Update story template.
|
data/lib/user/crm/contacts.rb
CHANGED
@@ -238,19 +238,6 @@ module Contacts
|
|
238
238
|
@client.raw('get', "/crm/contacts/#{contact_id}/tags")
|
239
239
|
end
|
240
240
|
|
241
|
-
##
|
242
|
-
# === Get contact magic links.
|
243
|
-
# Get magic links of a contact.
|
244
|
-
#
|
245
|
-
# ==== Parameters
|
246
|
-
# contact_id:: (Integer) -- Contact id.
|
247
|
-
#
|
248
|
-
# ==== Example
|
249
|
-
# @data = @mints_user.get_contact_magic_links(150)
|
250
|
-
def get_contact_magic_links(contact_id)
|
251
|
-
@client.raw('get', "/crm/contacts/#{contact_id}/magic-links")
|
252
|
-
end
|
253
|
-
|
254
241
|
##
|
255
242
|
# === Create contact merge.
|
256
243
|
# Merge contacts.
|
@@ -17,8 +17,8 @@ module WorkFlowSteps
|
|
17
17
|
# workflowId: 1
|
18
18
|
# }
|
19
19
|
# @data = @mints_user.create_workflow_step(data.to_json)
|
20
|
-
def create_workflow_step(data)
|
21
|
-
@client.raw('post', '/crm/steps',
|
20
|
+
def create_workflow_step(data, options = nil)
|
21
|
+
@client.raw('post', '/crm/steps', options, data)
|
22
22
|
end
|
23
23
|
|
24
24
|
# === Update workflow step.
|
@@ -33,8 +33,8 @@ module WorkFlowSteps
|
|
33
33
|
# stepTitle: 'Step Title Modified'
|
34
34
|
# }
|
35
35
|
# @data = @mints_user.update_workflow_step(23, data)
|
36
|
-
def update_workflow_step(id, data)
|
37
|
-
@client.raw('put', "/crm/steps/#{id}",
|
36
|
+
def update_workflow_step(id, data, options = nil)
|
37
|
+
@client.raw('put', "/crm/steps/#{id}", options, data)
|
38
38
|
end
|
39
39
|
|
40
40
|
# === Delete workflow step.
|
data/lib/user/crm/workflows.rb
CHANGED
@@ -50,8 +50,8 @@ module Workflows
|
|
50
50
|
# object_type: 'deals'
|
51
51
|
# }
|
52
52
|
# @data = @mints_user.create_workflow(data.to_json)
|
53
|
-
def create_workflow(data)
|
54
|
-
@client.raw('post', '/crm/workflows/',
|
53
|
+
def create_workflow(data, options = nil)
|
54
|
+
@client.raw('post', '/crm/workflows/', options, data)
|
55
55
|
end
|
56
56
|
|
57
57
|
# === Update workflow.
|
@@ -66,7 +66,7 @@ module Workflows
|
|
66
66
|
# title: 'New Workflow Modified'
|
67
67
|
# }
|
68
68
|
# @data = @mints_user.update_workflow(7, data)
|
69
|
-
def update_workflow(id, data)
|
70
|
-
@client.raw('put', "/crm/workflows/#{id}",
|
69
|
+
def update_workflow(id, data, options = nil)
|
70
|
+
@client.raw('put', "/crm/workflows/#{id}", options, correct_json(data))
|
71
71
|
end
|
72
72
|
end
|
@@ -96,8 +96,8 @@ module OrderItemsGroups
|
|
96
96
|
# name: 'New Order Item Group Modified'
|
97
97
|
# }
|
98
98
|
# @data = @mints_user.update_order_item_group(147, data)
|
99
|
-
def update_order_item_group(id, data)
|
100
|
-
@client.raw('put', "/ecommerce/order-items-groups/#{id}",
|
99
|
+
def update_order_item_group(id, data, options = nil)
|
100
|
+
@client.raw('put', "/ecommerce/order-items-groups/#{id}", options, data_transform(data))
|
101
101
|
end
|
102
102
|
|
103
103
|
# === Delete order item group.
|
data/lib/user/ecommerce/skus.rb
CHANGED
@@ -56,8 +56,8 @@ module Skus
|
|
56
56
|
# product_id: 1
|
57
57
|
# }
|
58
58
|
# @data = @mints_user.create_sku(data)
|
59
|
-
def create_sku(data)
|
60
|
-
@client.raw('post', '/ecommerce/skus',
|
59
|
+
def create_sku(data, options = nil)
|
60
|
+
@client.raw('post', '/ecommerce/skus', options, data_transform(data))
|
61
61
|
end
|
62
62
|
|
63
63
|
# === Update sku.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mints
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.31
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ruben Gomez Garcia, Omar Mora, Luis Payan, Oscar Castillo, Fabian Garcia
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-05-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|