appwrite 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,160 @@
1
+ module Appwrite
2
+ class Database < Service
3
+
4
+ def list_collections(search: '', limit: 25, offset: 0, order_type: 'ASC')
5
+ path = '/database'
6
+
7
+ params = {
8
+ 'search': search,
9
+ 'limit': limit,
10
+ 'offset': offset,
11
+ 'orderType': order_type
12
+ }
13
+
14
+ return @client.call('get', path, {
15
+ 'content-type' => 'application/json',
16
+ }, params);
17
+ end
18
+
19
+ def create_collection(name:, read:, write:, rules:)
20
+ path = '/database'
21
+
22
+ params = {
23
+ 'name': name,
24
+ 'read': read,
25
+ 'write': write,
26
+ 'rules': rules
27
+ }
28
+
29
+ return @client.call('post', path, {
30
+ 'content-type' => 'application/json',
31
+ }, params);
32
+ end
33
+
34
+ def get_collection(collection_id:)
35
+ path = '/database/{collectionId}'
36
+ .gsub('{collection_id}', collection_id)
37
+
38
+ params = {
39
+ }
40
+
41
+ return @client.call('get', path, {
42
+ 'content-type' => 'application/json',
43
+ }, params);
44
+ end
45
+
46
+ def update_collection(collection_id:, name:, read: [], write: [], rules: [])
47
+ path = '/database/{collectionId}'
48
+ .gsub('{collection_id}', collection_id)
49
+
50
+ params = {
51
+ 'name': name,
52
+ 'read': read,
53
+ 'write': write,
54
+ 'rules': rules
55
+ }
56
+
57
+ return @client.call('put', path, {
58
+ 'content-type' => 'application/json',
59
+ }, params);
60
+ end
61
+
62
+ def delete_collection(collection_id:)
63
+ path = '/database/{collectionId}'
64
+ .gsub('{collection_id}', collection_id)
65
+
66
+ params = {
67
+ }
68
+
69
+ return @client.call('delete', path, {
70
+ 'content-type' => 'application/json',
71
+ }, params);
72
+ end
73
+
74
+ def list_documents(collection_id:, filters: [], offset: 0, limit: 50, order_field: '$uid', order_type: 'ASC', order_cast: 'string', search: '', first: 0, last: 0)
75
+ path = '/database/{collectionId}/documents'
76
+ .gsub('{collection_id}', collection_id)
77
+
78
+ params = {
79
+ 'filters': filters,
80
+ 'offset': offset,
81
+ 'limit': limit,
82
+ 'order-field': order_field,
83
+ 'order-type': order_type,
84
+ 'order-cast': order_cast,
85
+ 'search': search,
86
+ 'first': first,
87
+ 'last': last
88
+ }
89
+
90
+ return @client.call('get', path, {
91
+ 'content-type' => 'application/json',
92
+ }, params);
93
+ end
94
+
95
+ def create_document(collection_id:, data:, read: [], write: [], parent_document: '', parent_property: '', parent_property_type: 'assign')
96
+ path = '/database/{collectionId}/documents'
97
+ .gsub('{collection_id}', collection_id)
98
+
99
+ params = {
100
+ 'data': data,
101
+ 'read': read,
102
+ 'write': write,
103
+ 'parentDocument': parent_document,
104
+ 'parentProperty': parent_property,
105
+ 'parentPropertyType': parent_property_type
106
+ }
107
+
108
+ return @client.call('post', path, {
109
+ 'content-type' => 'application/json',
110
+ }, params);
111
+ end
112
+
113
+ def get_document(collection_id:, document_id:)
114
+ path = '/database/{collectionId}/documents/{documentId}'
115
+ .gsub('{collection_id}', collection_id)
116
+ .gsub('{document_id}', document_id)
117
+
118
+ params = {
119
+ }
120
+
121
+ return @client.call('get', path, {
122
+ 'content-type' => 'application/json',
123
+ }, params);
124
+ end
125
+
126
+ def update_document(collection_id:, document_id:, data:, read: [], write: [])
127
+ path = '/database/{collectionId}/documents/{documentId}'
128
+ .gsub('{collection_id}', collection_id)
129
+ .gsub('{document_id}', document_id)
130
+
131
+ params = {
132
+ 'data': data,
133
+ 'read': read,
134
+ 'write': write
135
+ }
136
+
137
+ return @client.call('patch', path, {
138
+ 'content-type' => 'application/json',
139
+ }, params);
140
+ end
141
+
142
+ def delete_document(collection_id:, document_id:)
143
+ path = '/database/{collectionId}/documents/{documentId}'
144
+ .gsub('{collection_id}', collection_id)
145
+ .gsub('{document_id}', document_id)
146
+
147
+ params = {
148
+ }
149
+
150
+ return @client.call('delete', path, {
151
+ 'content-type' => 'application/json',
152
+ }, params);
153
+ end
154
+
155
+
156
+ protected
157
+
158
+ private
159
+ end
160
+ end
@@ -0,0 +1,64 @@
1
+ module Appwrite
2
+ class Locale < Service
3
+
4
+ def get_locale()
5
+ path = '/locale'
6
+
7
+ params = {
8
+ }
9
+
10
+ return @client.call('get', path, {
11
+ 'content-type' => 'application/json',
12
+ }, params);
13
+ end
14
+
15
+ def get_countries()
16
+ path = '/locale/countries'
17
+
18
+ params = {
19
+ }
20
+
21
+ return @client.call('get', path, {
22
+ 'content-type' => 'application/json',
23
+ }, params);
24
+ end
25
+
26
+ def get_countries_e_u()
27
+ path = '/locale/countries/eu'
28
+
29
+ params = {
30
+ }
31
+
32
+ return @client.call('get', path, {
33
+ 'content-type' => 'application/json',
34
+ }, params);
35
+ end
36
+
37
+ def get_countries_phones()
38
+ path = '/locale/countries/phones'
39
+
40
+ params = {
41
+ }
42
+
43
+ return @client.call('get', path, {
44
+ 'content-type' => 'application/json',
45
+ }, params);
46
+ end
47
+
48
+ def get_currencies()
49
+ path = '/locale/currencies'
50
+
51
+ params = {
52
+ }
53
+
54
+ return @client.call('get', path, {
55
+ 'content-type' => 'application/json',
56
+ }, params);
57
+ end
58
+
59
+
60
+ protected
61
+
62
+ private
63
+ end
64
+ end
@@ -0,0 +1,410 @@
1
+ module Appwrite
2
+ class Projects < Service
3
+
4
+ def list_projects()
5
+ path = '/projects'
6
+
7
+ params = {
8
+ }
9
+
10
+ return @client.call('get', path, {
11
+ 'content-type' => 'application/json',
12
+ }, params);
13
+ end
14
+
15
+ def create_project(name:, team_id:, description: '', logo: '', url: '', legal_name: '', legal_country: '', legal_state: '', legal_city: '', legal_address: '', legal_tax_id: '')
16
+ path = '/projects'
17
+
18
+ params = {
19
+ 'name': name,
20
+ 'teamId': team_id,
21
+ 'description': description,
22
+ 'logo': logo,
23
+ 'url': url,
24
+ 'legalName': legal_name,
25
+ 'legalCountry': legal_country,
26
+ 'legalState': legal_state,
27
+ 'legalCity': legal_city,
28
+ 'legalAddress': legal_address,
29
+ 'legalTaxId': legal_tax_id
30
+ }
31
+
32
+ return @client.call('post', path, {
33
+ 'content-type' => 'application/json',
34
+ }, params);
35
+ end
36
+
37
+ def get_project(project_id:)
38
+ path = '/projects/{projectId}'
39
+ .gsub('{project_id}', project_id)
40
+
41
+ params = {
42
+ }
43
+
44
+ return @client.call('get', path, {
45
+ 'content-type' => 'application/json',
46
+ }, params);
47
+ end
48
+
49
+ def update_project(project_id:, name:, description: '', logo: '', url: '', legal_name: '', legal_country: '', legal_state: '', legal_city: '', legal_address: '', legal_tax_id: '')
50
+ path = '/projects/{projectId}'
51
+ .gsub('{project_id}', project_id)
52
+
53
+ params = {
54
+ 'name': name,
55
+ 'description': description,
56
+ 'logo': logo,
57
+ 'url': url,
58
+ 'legalName': legal_name,
59
+ 'legalCountry': legal_country,
60
+ 'legalState': legal_state,
61
+ 'legalCity': legal_city,
62
+ 'legalAddress': legal_address,
63
+ 'legalTaxId': legal_tax_id
64
+ }
65
+
66
+ return @client.call('patch', path, {
67
+ 'content-type' => 'application/json',
68
+ }, params);
69
+ end
70
+
71
+ def delete_project(project_id:)
72
+ path = '/projects/{projectId}'
73
+ .gsub('{project_id}', project_id)
74
+
75
+ params = {
76
+ }
77
+
78
+ return @client.call('delete', path, {
79
+ 'content-type' => 'application/json',
80
+ }, params);
81
+ end
82
+
83
+ def list_keys(project_id:)
84
+ path = '/projects/{projectId}/keys'
85
+ .gsub('{project_id}', project_id)
86
+
87
+ params = {
88
+ }
89
+
90
+ return @client.call('get', path, {
91
+ 'content-type' => 'application/json',
92
+ }, params);
93
+ end
94
+
95
+ def create_key(project_id:, name:, scopes:)
96
+ path = '/projects/{projectId}/keys'
97
+ .gsub('{project_id}', project_id)
98
+
99
+ params = {
100
+ 'name': name,
101
+ 'scopes': scopes
102
+ }
103
+
104
+ return @client.call('post', path, {
105
+ 'content-type' => 'application/json',
106
+ }, params);
107
+ end
108
+
109
+ def get_key(project_id:, key_id:)
110
+ path = '/projects/{projectId}/keys/{keyId}'
111
+ .gsub('{project_id}', project_id)
112
+ .gsub('{key_id}', key_id)
113
+
114
+ params = {
115
+ }
116
+
117
+ return @client.call('get', path, {
118
+ 'content-type' => 'application/json',
119
+ }, params);
120
+ end
121
+
122
+ def update_key(project_id:, key_id:, name:, scopes:)
123
+ path = '/projects/{projectId}/keys/{keyId}'
124
+ .gsub('{project_id}', project_id)
125
+ .gsub('{key_id}', key_id)
126
+
127
+ params = {
128
+ 'name': name,
129
+ 'scopes': scopes
130
+ }
131
+
132
+ return @client.call('put', path, {
133
+ 'content-type' => 'application/json',
134
+ }, params);
135
+ end
136
+
137
+ def delete_key(project_id:, key_id:)
138
+ path = '/projects/{projectId}/keys/{keyId}'
139
+ .gsub('{project_id}', project_id)
140
+ .gsub('{key_id}', key_id)
141
+
142
+ params = {
143
+ }
144
+
145
+ return @client.call('delete', path, {
146
+ 'content-type' => 'application/json',
147
+ }, params);
148
+ end
149
+
150
+ def update_project_o_auth(project_id:, provider:, app_id: '', secret: '')
151
+ path = '/projects/{projectId}/oauth'
152
+ .gsub('{project_id}', project_id)
153
+
154
+ params = {
155
+ 'provider': provider,
156
+ 'appId': app_id,
157
+ 'secret': secret
158
+ }
159
+
160
+ return @client.call('patch', path, {
161
+ 'content-type' => 'application/json',
162
+ }, params);
163
+ end
164
+
165
+ def list_platforms(project_id:)
166
+ path = '/projects/{projectId}/platforms'
167
+ .gsub('{project_id}', project_id)
168
+
169
+ params = {
170
+ }
171
+
172
+ return @client.call('get', path, {
173
+ 'content-type' => 'application/json',
174
+ }, params);
175
+ end
176
+
177
+ def create_platform(project_id:, type:, name:, key: '', store: '', url: '')
178
+ path = '/projects/{projectId}/platforms'
179
+ .gsub('{project_id}', project_id)
180
+
181
+ params = {
182
+ 'type': type,
183
+ 'name': name,
184
+ 'key': key,
185
+ 'store': store,
186
+ 'url': url
187
+ }
188
+
189
+ return @client.call('post', path, {
190
+ 'content-type' => 'application/json',
191
+ }, params);
192
+ end
193
+
194
+ def get_platform(project_id:, platform_id:)
195
+ path = '/projects/{projectId}/platforms/{platformId}'
196
+ .gsub('{project_id}', project_id)
197
+ .gsub('{platform_id}', platform_id)
198
+
199
+ params = {
200
+ }
201
+
202
+ return @client.call('get', path, {
203
+ 'content-type' => 'application/json',
204
+ }, params);
205
+ end
206
+
207
+ def update_platform(project_id:, platform_id:, name:, key: '', store: '', url: '')
208
+ path = '/projects/{projectId}/platforms/{platformId}'
209
+ .gsub('{project_id}', project_id)
210
+ .gsub('{platform_id}', platform_id)
211
+
212
+ params = {
213
+ 'name': name,
214
+ 'key': key,
215
+ 'store': store,
216
+ 'url': url
217
+ }
218
+
219
+ return @client.call('put', path, {
220
+ 'content-type' => 'application/json',
221
+ }, params);
222
+ end
223
+
224
+ def delete_platform(project_id:, platform_id:)
225
+ path = '/projects/{projectId}/platforms/{platformId}'
226
+ .gsub('{project_id}', project_id)
227
+ .gsub('{platform_id}', platform_id)
228
+
229
+ params = {
230
+ }
231
+
232
+ return @client.call('delete', path, {
233
+ 'content-type' => 'application/json',
234
+ }, params);
235
+ end
236
+
237
+ def list_tasks(project_id:)
238
+ path = '/projects/{projectId}/tasks'
239
+ .gsub('{project_id}', project_id)
240
+
241
+ params = {
242
+ }
243
+
244
+ return @client.call('get', path, {
245
+ 'content-type' => 'application/json',
246
+ }, params);
247
+ end
248
+
249
+ def create_task(project_id:, name:, status:, schedule:, security:, http_method:, http_url:, http_headers: [], http_user: '', http_pass: '')
250
+ path = '/projects/{projectId}/tasks'
251
+ .gsub('{project_id}', project_id)
252
+
253
+ params = {
254
+ 'name': name,
255
+ 'status': status,
256
+ 'schedule': schedule,
257
+ 'security': security,
258
+ 'httpMethod': http_method,
259
+ 'httpUrl': http_url,
260
+ 'httpHeaders': http_headers,
261
+ 'httpUser': http_user,
262
+ 'httpPass': http_pass
263
+ }
264
+
265
+ return @client.call('post', path, {
266
+ 'content-type' => 'application/json',
267
+ }, params);
268
+ end
269
+
270
+ def get_task(project_id:, task_id:)
271
+ path = '/projects/{projectId}/tasks/{taskId}'
272
+ .gsub('{project_id}', project_id)
273
+ .gsub('{task_id}', task_id)
274
+
275
+ params = {
276
+ }
277
+
278
+ return @client.call('get', path, {
279
+ 'content-type' => 'application/json',
280
+ }, params);
281
+ end
282
+
283
+ def update_task(project_id:, task_id:, name:, status:, schedule:, security:, http_method:, http_url:, http_headers: [], http_user: '', http_pass: '')
284
+ path = '/projects/{projectId}/tasks/{taskId}'
285
+ .gsub('{project_id}', project_id)
286
+ .gsub('{task_id}', task_id)
287
+
288
+ params = {
289
+ 'name': name,
290
+ 'status': status,
291
+ 'schedule': schedule,
292
+ 'security': security,
293
+ 'httpMethod': http_method,
294
+ 'httpUrl': http_url,
295
+ 'httpHeaders': http_headers,
296
+ 'httpUser': http_user,
297
+ 'httpPass': http_pass
298
+ }
299
+
300
+ return @client.call('put', path, {
301
+ 'content-type' => 'application/json',
302
+ }, params);
303
+ end
304
+
305
+ def delete_task(project_id:, task_id:)
306
+ path = '/projects/{projectId}/tasks/{taskId}'
307
+ .gsub('{project_id}', project_id)
308
+ .gsub('{task_id}', task_id)
309
+
310
+ params = {
311
+ }
312
+
313
+ return @client.call('delete', path, {
314
+ 'content-type' => 'application/json',
315
+ }, params);
316
+ end
317
+
318
+ def get_project_usage(project_id:)
319
+ path = '/projects/{projectId}/usage'
320
+ .gsub('{project_id}', project_id)
321
+
322
+ params = {
323
+ }
324
+
325
+ return @client.call('get', path, {
326
+ 'content-type' => 'application/json',
327
+ }, params);
328
+ end
329
+
330
+ def list_webhooks(project_id:)
331
+ path = '/projects/{projectId}/webhooks'
332
+ .gsub('{project_id}', project_id)
333
+
334
+ params = {
335
+ }
336
+
337
+ return @client.call('get', path, {
338
+ 'content-type' => 'application/json',
339
+ }, params);
340
+ end
341
+
342
+ def create_webhook(project_id:, name:, events:, url:, security:, http_user: '', http_pass: '')
343
+ path = '/projects/{projectId}/webhooks'
344
+ .gsub('{project_id}', project_id)
345
+
346
+ params = {
347
+ 'name': name,
348
+ 'events': events,
349
+ 'url': url,
350
+ 'security': security,
351
+ 'httpUser': http_user,
352
+ 'httpPass': http_pass
353
+ }
354
+
355
+ return @client.call('post', path, {
356
+ 'content-type' => 'application/json',
357
+ }, params);
358
+ end
359
+
360
+ def get_webhook(project_id:, webhook_id:)
361
+ path = '/projects/{projectId}/webhooks/{webhookId}'
362
+ .gsub('{project_id}', project_id)
363
+ .gsub('{webhook_id}', webhook_id)
364
+
365
+ params = {
366
+ }
367
+
368
+ return @client.call('get', path, {
369
+ 'content-type' => 'application/json',
370
+ }, params);
371
+ end
372
+
373
+ def update_webhook(project_id:, webhook_id:, name:, events:, url:, security:, http_user: '', http_pass: '')
374
+ path = '/projects/{projectId}/webhooks/{webhookId}'
375
+ .gsub('{project_id}', project_id)
376
+ .gsub('{webhook_id}', webhook_id)
377
+
378
+ params = {
379
+ 'name': name,
380
+ 'events': events,
381
+ 'url': url,
382
+ 'security': security,
383
+ 'httpUser': http_user,
384
+ 'httpPass': http_pass
385
+ }
386
+
387
+ return @client.call('put', path, {
388
+ 'content-type' => 'application/json',
389
+ }, params);
390
+ end
391
+
392
+ def delete_webhook(project_id:, webhook_id:)
393
+ path = '/projects/{projectId}/webhooks/{webhookId}'
394
+ .gsub('{project_id}', project_id)
395
+ .gsub('{webhook_id}', webhook_id)
396
+
397
+ params = {
398
+ }
399
+
400
+ return @client.call('delete', path, {
401
+ 'content-type' => 'application/json',
402
+ }, params);
403
+ end
404
+
405
+
406
+ protected
407
+
408
+ private
409
+ end
410
+ end