mints 0.0.1 → 0.0.6
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/Gemfile +2 -1
- data/Readme.md +54 -2
- data/lib/client.rb +94 -33
- data/lib/contact.rb +60 -16
- data/lib/generators/mints_config.yml +6 -0
- data/lib/generators/mints_contact_controller.rb +2 -0
- data/lib/generators/mints_files_generator.rb +20 -0
- data/lib/generators/mints_public_controller.rb +2 -0
- data/lib/generators/mints_user_controller.rb +2 -0
- data/lib/mints.rb +5 -0
- data/lib/mints/controllers/admin_base_controller.rb +56 -0
- data/lib/mints/controllers/base_controller.rb +86 -0
- data/lib/mints/controllers/contact_api_controller.rb +39 -0
- data/lib/mints/controllers/public_api_controller.rb +33 -0
- data/lib/mints/controllers/user_api_controller.rb +39 -0
- data/lib/pub.rb +293 -23
- data/lib/user.rb +318 -86
- metadata +34 -3
data/lib/user.rb
CHANGED
@@ -1,9 +1,35 @@
|
|
1
1
|
require_relative './client.rb'
|
2
2
|
module Mints
|
3
|
+
##
|
4
|
+
# == User context API
|
5
|
+
# User class contains functions that needs an API key and a session token as authentication
|
6
|
+
# == Usage example
|
7
|
+
# Initialize
|
8
|
+
# client = Mints::User.new(mints_url, api_key)
|
9
|
+
# Call any function
|
10
|
+
# client.get_contacts
|
11
|
+
# == Single resource options
|
12
|
+
# * +include+ - [String] include a relationship
|
13
|
+
# * +attributes+ - [Boolean] attach attributes to response
|
14
|
+
# * +categories+ - [Boolean] attach categories to response
|
15
|
+
# * +tags+ - [Boolean] attach tags to response
|
16
|
+
# == Resource collections options
|
17
|
+
# * +search+ - [String] filter by a search word
|
18
|
+
# * +scopes+ - [String] filter by a scope
|
19
|
+
# * +filters+ - [String] filter by where clauses
|
20
|
+
# * +jfilters+ - [String] filter using complex condition objects
|
21
|
+
# * +catfilters+ - [String] filter by categories
|
22
|
+
# * +fields+ - [String] indicates the columns that will be selected
|
23
|
+
# * +sort+ - [String] indicates the columns that will be selected
|
24
|
+
# * +include+ - [String] include a relationship
|
25
|
+
# * +attributes+ - [Boolean] attach attributes to response
|
26
|
+
# * +categories+ - [Boolean] attach categories to response
|
27
|
+
# * +taxonomies+ - [Boolean] attach categories to response
|
28
|
+
# * +tags+ - [Boolean] attach tags to response
|
3
29
|
class User
|
4
30
|
attr_reader :client
|
5
|
-
def initialize(host, api_key, session_token = nil)
|
6
|
-
@client = Mints::Client.new(host, api_key, 'user', session_token)
|
31
|
+
def initialize(host, api_key, session_token = nil, debug = false)
|
32
|
+
@client = Mints::Client.new(host, api_key, 'user', session_token, debug)
|
7
33
|
end
|
8
34
|
|
9
35
|
def login(email, password)
|
@@ -11,165 +37,371 @@ module Mints
|
|
11
37
|
email: email,
|
12
38
|
password: password,
|
13
39
|
}
|
14
|
-
response = @client.raw("post", "/users/login", data, '/api/v1')
|
40
|
+
response = @client.raw("post", "/users/login", nil, data, '/api/v1')
|
15
41
|
if response.key? "api_token"
|
16
42
|
@client.session_token = response["api_token"]
|
17
43
|
end
|
18
44
|
return response
|
19
45
|
end
|
20
46
|
######################################### CRM #########################################
|
21
|
-
|
22
|
-
|
23
|
-
|
47
|
+
##
|
48
|
+
# === Get contacts.
|
49
|
+
# Get a collection of contacts
|
50
|
+
#
|
51
|
+
# ==== Parameters
|
52
|
+
# * +options+ - [Hash] List of {Resource collection Options}[#class-Mints::User-label-Resource+collections+options+] shown above can be used as parameter
|
53
|
+
def get_contacts(options = nil)
|
54
|
+
return @client.get__crm__contacts(options)
|
24
55
|
end
|
25
56
|
|
26
|
-
def get_contact(id)
|
27
|
-
return @client.get__crm__contacts(id)
|
57
|
+
def get_contact(id, options = nil)
|
58
|
+
return @client.get__crm__contacts(id, options)
|
28
59
|
end
|
29
60
|
|
30
|
-
def create_contact(data)
|
31
|
-
return @client.create__crm__contacts(data)
|
61
|
+
def create_contact(data, options = nil)
|
62
|
+
return @client.create__crm__contacts(data, options)
|
32
63
|
end
|
33
64
|
|
34
|
-
def update_contact(id, data)
|
35
|
-
return @client.update__crm__contacts(id, data)
|
65
|
+
def update_contact(id, data, options = nil)
|
66
|
+
return @client.update__crm__contacts(id, data, options)
|
36
67
|
end
|
37
|
-
|
38
|
-
|
39
|
-
|
68
|
+
|
69
|
+
# === Get companies.
|
70
|
+
# Get a collection of companies
|
71
|
+
#
|
72
|
+
# ==== Parameters
|
73
|
+
# * +options+ - [Hash] List of {Resource collection Options}[#class-Mints::User-label-Resource+collections+options+] shown above can be used as parameter
|
74
|
+
def get_companies(options = nil)
|
75
|
+
return @client.get__crm__companies(options)
|
40
76
|
end
|
41
77
|
|
42
|
-
def get_company(id)
|
43
|
-
return @client.get__crm__companies(id)
|
78
|
+
def get_company(id, options = nil)
|
79
|
+
return @client.get__crm__companies(id, options)
|
44
80
|
end
|
45
81
|
|
46
|
-
def create_company(data)
|
47
|
-
return @client.create__crm__companies(data)
|
82
|
+
def create_company(data, options = nil)
|
83
|
+
return @client.create__crm__companies(data, options)
|
48
84
|
end
|
49
85
|
|
50
|
-
def update_company(id, data)
|
51
|
-
return @client.update__crm__companies(id, data)
|
86
|
+
def update_company(id, data, options = nil)
|
87
|
+
return @client.update__crm__companies(id, data, options)
|
52
88
|
end
|
53
89
|
|
54
|
-
|
55
|
-
|
56
|
-
|
90
|
+
# === Get deals.
|
91
|
+
# Get a collection of deals
|
92
|
+
#
|
93
|
+
# ==== Parameters
|
94
|
+
# * +options+ - [Hash] List of {Resource collection Options}[#class-Mints::User-label-Resource+collections+options+] shown above can be used as parameter
|
95
|
+
def get_deals(options = nil)
|
96
|
+
return @client.get__crm__deals(options)
|
57
97
|
end
|
58
98
|
|
59
|
-
def get_deal(id)
|
60
|
-
return @client.get__crm__deals(id)
|
99
|
+
def get_deal(id, options = nil)
|
100
|
+
return @client.get__crm__deals(id, options)
|
61
101
|
end
|
62
102
|
|
63
|
-
def create_deal(data)
|
64
|
-
return @client.create__crm__deals(data)
|
103
|
+
def create_deal(data, options = nil)
|
104
|
+
return @client.create__crm__deals(data, options)
|
65
105
|
end
|
66
106
|
|
67
|
-
def update_deal(id, data)
|
68
|
-
return @client.update__crm__deals(id, data)
|
107
|
+
def update_deal(id, data, options = nil)
|
108
|
+
return @client.update__crm__deals(id, data, options)
|
69
109
|
end
|
70
110
|
|
71
111
|
######################################### Content #########################################
|
72
|
-
|
73
|
-
|
74
|
-
|
112
|
+
# === Get stories.
|
113
|
+
# Get a collection of stories
|
114
|
+
#
|
115
|
+
# ==== Parameters
|
116
|
+
# * +options+ - [Hash] List of {Resource collection Options}[#class-Mints::User-label-Resource+collections+options+] shown above can be used as parameter
|
117
|
+
def get_stories(options = nil)
|
118
|
+
return @client.get__content__stories(options)
|
75
119
|
end
|
76
120
|
|
77
|
-
def get_story(id)
|
78
|
-
return @client.get__content__stories(id)
|
121
|
+
def get_story(id, options = nil)
|
122
|
+
return @client.get__content__stories(id, options)
|
79
123
|
end
|
80
124
|
|
81
|
-
def create_story(data)
|
82
|
-
return @client.create__content__stories(data)
|
125
|
+
def create_story(data, options = nil)
|
126
|
+
return @client.create__content__stories(data, options)
|
83
127
|
end
|
84
128
|
|
85
|
-
def update_story(id, data)
|
86
|
-
return @client.update__content__stories(id, data)
|
129
|
+
def update_story(id, data, options = nil)
|
130
|
+
return @client.update__content__stories(id, data, options)
|
87
131
|
end
|
88
132
|
|
89
|
-
|
90
|
-
|
91
|
-
|
133
|
+
# === Get story templates.
|
134
|
+
# Get a collection of story templates
|
135
|
+
#
|
136
|
+
# ==== Parameters
|
137
|
+
# * +options+ - [Hash] List of {Resource collection Options}[#class-Mints::User-label-Resource+collections+options+] shown above can be used as parameter
|
138
|
+
def get_story_templates(options = nil)
|
139
|
+
return @client.get__content__story_templates(options)
|
92
140
|
end
|
93
141
|
|
94
|
-
def
|
95
|
-
return @client.
|
142
|
+
def get_story_template(id, options = nil)
|
143
|
+
return @client.get__content__story_templates(id, options)
|
96
144
|
end
|
97
145
|
|
98
|
-
def
|
99
|
-
return @client.
|
146
|
+
def create_story_template(data, options = nil)
|
147
|
+
return @client.create__content__story_templates(data, options)
|
100
148
|
end
|
101
149
|
|
102
|
-
def
|
103
|
-
return @client.
|
150
|
+
def update_story_template(id, data, options = nil)
|
151
|
+
return @client.update__content__story_templates(id, data, options)
|
104
152
|
end
|
105
153
|
|
106
|
-
|
107
|
-
|
108
|
-
|
154
|
+
# === Get content instances.
|
155
|
+
# Get a collection of content instances
|
156
|
+
#
|
157
|
+
# ==== Parameters
|
158
|
+
# * +options+ - [Hash] List of {Resource collection Options}[#class-Mints::User-label-Resource+collections+options+] shown above can be used as parameter
|
159
|
+
def get_content_instances(options = nil)
|
160
|
+
return @client.get__content__instances(options)
|
109
161
|
end
|
110
162
|
|
111
|
-
def
|
112
|
-
return @client.
|
163
|
+
def get_content_instance(id, options = nil)
|
164
|
+
return @client.get__content__instances(id, options)
|
113
165
|
end
|
114
166
|
|
115
|
-
def
|
116
|
-
return @client.
|
167
|
+
def create_content_instance(data, options = nil)
|
168
|
+
return @client.create__content__instances(data, options)
|
117
169
|
end
|
118
170
|
|
119
|
-
def
|
120
|
-
return @client.
|
171
|
+
def update_content_instance(id, data, options = nil)
|
172
|
+
return @client.update__content__instances(id, data, options)
|
121
173
|
end
|
122
174
|
|
123
|
-
|
124
|
-
|
125
|
-
|
175
|
+
# === Get content pages.
|
176
|
+
# Get a collection of content pages
|
177
|
+
#
|
178
|
+
# ==== Parameters
|
179
|
+
# * +options+ - [Hash] List of {Resource collection Options}[#class-Mints::User-label-Resource+collections+options+] shown above can be used as parameter
|
180
|
+
def get_content_pages(options = nil)
|
181
|
+
return @client.get__content__pages(options)
|
126
182
|
end
|
127
183
|
|
128
|
-
def get_content_page(id)
|
129
|
-
return @client.
|
184
|
+
def get_content_page(id, options = nil)
|
185
|
+
return @client.get__content__pages(id, options)
|
130
186
|
end
|
131
187
|
|
132
|
-
def create_content_page(data)
|
133
|
-
return @client.
|
188
|
+
def create_content_page(data, options = nil)
|
189
|
+
return @client.create__content__pages(data, options)
|
134
190
|
end
|
135
191
|
|
136
|
-
def update_content_page(id, data)
|
137
|
-
return @client.
|
192
|
+
def update_content_page(id, data, options = nil)
|
193
|
+
return @client.update__content__pages(id, data, options)
|
138
194
|
end
|
139
195
|
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
196
|
+
# === Get content templates.
|
197
|
+
# Get a collection of content templates
|
198
|
+
#
|
199
|
+
# ==== Parameters
|
200
|
+
# * +options+ - [Hash] List of {Resource collection Options}[#class-Mints::User-label-Resource+collections+options+] shown above can be used as parameter
|
201
|
+
def get_content_templates(options = nil)
|
202
|
+
return @client.get__content__templates(options)
|
144
203
|
end
|
145
204
|
|
146
|
-
def
|
147
|
-
return @client.
|
205
|
+
def get_content_template(id, options = nil)
|
206
|
+
return @client.get__content__templates(id, options)
|
148
207
|
end
|
149
208
|
|
150
|
-
def
|
151
|
-
return @client.
|
209
|
+
def create_content_template(data, options = nil)
|
210
|
+
return @client.create__content__templates(data, options)
|
152
211
|
end
|
153
212
|
|
154
|
-
def
|
155
|
-
return @client.
|
213
|
+
def update_content_template(id, data, options = nil)
|
214
|
+
return @client.update__content__templates(id, data, options)
|
156
215
|
end
|
157
216
|
|
158
|
-
|
159
|
-
|
160
|
-
|
217
|
+
# === Get products.
|
218
|
+
# Get a collection of products
|
219
|
+
#
|
220
|
+
# ==== Parameters
|
221
|
+
# * +options+ - [Hash] List of {Resource collection Options}[#class-Mints::User-label-Resource+collections+options+] shown above can be used as parameter
|
222
|
+
def get_products(options = nil)
|
223
|
+
return @client.get__ecommerce__products(options)
|
161
224
|
end
|
162
225
|
|
163
|
-
def
|
164
|
-
return @client.
|
226
|
+
def get_product(id, options = nil)
|
227
|
+
return @client.get__ecommerce__products(id, options)
|
165
228
|
end
|
166
229
|
|
167
|
-
def
|
168
|
-
return @client.
|
230
|
+
def create_product(data, options = nil)
|
231
|
+
return @client.create__ecommerce__products(data, options)
|
169
232
|
end
|
170
233
|
|
171
|
-
def
|
172
|
-
return @client.
|
234
|
+
def update_product(id, data, options = nil)
|
235
|
+
return @client.update__ecommerce__products(id, data, options)
|
173
236
|
end
|
174
|
-
|
237
|
+
|
238
|
+
# === Get skus.
|
239
|
+
# Get a collection of skus
|
240
|
+
#
|
241
|
+
# ==== Parameters
|
242
|
+
# * +options+ - [Hash] List of {Resource collection Options}[#class-Mints::User-label-Resource+collections+options+] shown above can be used as parameter
|
243
|
+
def get_skus(options = nil)
|
244
|
+
return @client.get__ecommerce__skus(options)
|
245
|
+
end
|
246
|
+
|
247
|
+
def get_sku(id, options = nil)
|
248
|
+
return @client.get__ecommerce__skus(id, options)
|
249
|
+
end
|
250
|
+
|
251
|
+
def create_sku(data, options = nil)
|
252
|
+
return @client.create__ecommerce__skus(data, options)
|
253
|
+
end
|
254
|
+
|
255
|
+
def update_sku(id, data, options = nil)
|
256
|
+
return @client.update__ecommerce__skus(id, data, options)
|
257
|
+
end
|
258
|
+
|
259
|
+
# === Get prices.
|
260
|
+
# Get a collection of prices
|
261
|
+
#
|
262
|
+
# ==== Parameters
|
263
|
+
# * +options+ - [Hash] List of {Resource collection Options}[#class-Mints::User-label-Resource+collections+options+] shown above can be used as parameter
|
264
|
+
def get_prices(options = nil)
|
265
|
+
return @client.get__ecommerce__prices(options)
|
266
|
+
end
|
267
|
+
|
268
|
+
def get_price(id, options = nil)
|
269
|
+
return @client.get__ecommerce__prices(id, options)
|
270
|
+
end
|
271
|
+
|
272
|
+
def create_price(data, options = nil)
|
273
|
+
return @client.create__ecommerce__prices(data, options)
|
274
|
+
end
|
275
|
+
|
276
|
+
def update_price(id, data, options = nil)
|
277
|
+
return @client.update__ecommerce__prices(id, data, options)
|
278
|
+
end
|
279
|
+
|
280
|
+
# === Get prece lists.
|
281
|
+
# Get a collection of prece lists
|
282
|
+
#
|
283
|
+
# ==== Parameters
|
284
|
+
# * +options+ - [Hash] List of {Resource collection Options}[#class-Mints::User-label-Resource+collections+options+] shown above can be used as parameter
|
285
|
+
def get_price_lists(options = nil)
|
286
|
+
return @client.get__ecommerce__price_lists(options)
|
287
|
+
end
|
288
|
+
|
289
|
+
def get_price_list(id, options = nil)
|
290
|
+
return @client.get__ecommerce__price_lists(id, options)
|
291
|
+
end
|
292
|
+
|
293
|
+
def create_price_list(data, options = nil)
|
294
|
+
return @client.create__ecommerce__price_lists(data, options)
|
295
|
+
end
|
296
|
+
|
297
|
+
def update_price_list(id, data, options = nil)
|
298
|
+
return @client.update__ecommerce__price_lists(id, data, options)
|
299
|
+
end
|
300
|
+
|
301
|
+
# === Get product brands.
|
302
|
+
# Get a collection of product brands
|
303
|
+
#
|
304
|
+
# ==== Parameters
|
305
|
+
# * +options+ - [Hash] List of {Resource collection Options}[#class-Mints::User-label-Resource+collections+options+] shown above can be used as parameter
|
306
|
+
def get_product_brands(options = nil)
|
307
|
+
return @client.get__ecommerce__product_brands(options)
|
308
|
+
end
|
309
|
+
|
310
|
+
def get_prodict_brand(id, options = nil)
|
311
|
+
return @client.get__ecommerce__product_brands(id, options)
|
312
|
+
end
|
313
|
+
|
314
|
+
def create_prodict_brand(data, options = nil)
|
315
|
+
return @client.create__ecommerce__product_brands(data, options)
|
316
|
+
end
|
317
|
+
|
318
|
+
def update_product_brand(id, data, options = nil)
|
319
|
+
return @client.update__ecommerce__product_brands(id, data, options)
|
320
|
+
end
|
321
|
+
|
322
|
+
# === Get product types.
|
323
|
+
# Get a collection of product types
|
324
|
+
#
|
325
|
+
# ==== Parameters
|
326
|
+
# * +options+ - [Hash] List of {Resource collection Options}[#class-Mints::User-label-Resource+collections+options+] shown above can be used as parameter
|
327
|
+
def get_product_types(options = nil)
|
328
|
+
return @client.get__ecommerce__product_types(options)
|
329
|
+
end
|
330
|
+
|
331
|
+
def get_prodict_type(id, options = nil)
|
332
|
+
return @client.get__ecommerce__product_types(id, options)
|
333
|
+
end
|
334
|
+
|
335
|
+
def create_prodict_type(data, options = nil)
|
336
|
+
return @client.create__ecommerce__product_types(data, options)
|
337
|
+
end
|
338
|
+
|
339
|
+
def update_product_type(id, data, options = nil)
|
340
|
+
return @client.update__ecommerce__product_types(id, data, options)
|
341
|
+
end
|
342
|
+
|
343
|
+
# === Get product templates.
|
344
|
+
# Get a collection of product templates
|
345
|
+
#
|
346
|
+
# ==== Parameters
|
347
|
+
# * +options+ - [Hash] List of {Resource collection Options}[#class-Mints::User-label-Resource+collections+options+] shown above can be used as parameter
|
348
|
+
def get_product_templates(options = nil)
|
349
|
+
return @client.get__ecommerce__product_templates(options)
|
350
|
+
end
|
351
|
+
|
352
|
+
def get_prodict_template(id, options = nil)
|
353
|
+
return @client.get__ecommerce__product_templates(id, options)
|
354
|
+
end
|
355
|
+
|
356
|
+
def create_prodict_template(data, options = nil)
|
357
|
+
return @client.create__ecommerce__product_templates(data, options)
|
358
|
+
end
|
359
|
+
|
360
|
+
def update_product_template(id, data, options = nil)
|
361
|
+
return @client.update__ecommerce__product_templates(id, data, options)
|
362
|
+
end
|
363
|
+
|
364
|
+
|
365
|
+
# === Get locations.
|
366
|
+
# Get a collection of locations
|
367
|
+
#
|
368
|
+
# ==== Parameters
|
369
|
+
# * +options+ - [Hash] List of {Resource collection Options}[#class-Mints::User-label-Resource+collections+options+] shown above can be used as parameter
|
370
|
+
def get_locations(options = nil)
|
371
|
+
return @client.get__ecommerce__locations(options)
|
372
|
+
end
|
373
|
+
|
374
|
+
def get_location(id, options = nil)
|
375
|
+
return @client.get__ecommerce__locations(id, options)
|
376
|
+
end
|
377
|
+
|
378
|
+
def create_location(data, options = nil)
|
379
|
+
return @client.create__ecommerce__locations(data, options)
|
380
|
+
end
|
381
|
+
|
382
|
+
def update_location(id, data, options = nil)
|
383
|
+
return @client.update__ecommerce__locations(id, data, options)
|
384
|
+
end
|
385
|
+
|
386
|
+
# === Get taxonomies.
|
387
|
+
# Get a collection of taxonomies
|
388
|
+
#
|
389
|
+
# ==== Parameters
|
390
|
+
# * +options+ - [Hash] List of {Resource collection Options}[#class-Mints::User-label-Resource+collections+options+] shown above can be used as parameter
|
391
|
+
def get_taxonomies(options = nil)
|
392
|
+
return @client.get__config__taxonomies(options)
|
393
|
+
end
|
394
|
+
|
395
|
+
def get_taxonomy(id, options = nil)
|
396
|
+
return @client.get__config__taxonomies(id, options)
|
397
|
+
end
|
398
|
+
|
399
|
+
def create_taxonomy(data, options = nil)
|
400
|
+
return @client.create__config__taxonomies(data, options)
|
401
|
+
end
|
402
|
+
|
403
|
+
def update_taxonomy(id, data, options = nil)
|
404
|
+
return @client.update__config__taxonomies(id, data, options)
|
405
|
+
end
|
406
|
+
end
|
175
407
|
end
|