appwrite 2.1.1 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/README.md +7 -8
  4. data/appwrite.gemspec +1 -1
  5. data/docs/examples/account/create-recovery.md +1 -1
  6. data/docs/examples/account/create-verification.md +1 -1
  7. data/docs/examples/account/delete-session.md +1 -1
  8. data/docs/examples/account/delete-sessions.md +1 -1
  9. data/docs/examples/account/delete.md +1 -1
  10. data/docs/examples/account/get-logs.md +1 -1
  11. data/docs/examples/account/get-prefs.md +1 -1
  12. data/docs/examples/account/get-session.md +15 -0
  13. data/docs/examples/account/get-sessions.md +1 -1
  14. data/docs/examples/account/get.md +1 -1
  15. data/docs/examples/account/update-email.md +1 -1
  16. data/docs/examples/account/update-name.md +1 -1
  17. data/docs/examples/account/update-password.md +1 -1
  18. data/docs/examples/account/update-prefs.md +1 -1
  19. data/docs/examples/account/update-recovery.md +1 -1
  20. data/docs/examples/account/update-verification.md +1 -1
  21. data/docs/examples/avatars/get-q-r.md +1 -1
  22. data/docs/examples/functions/create.md +1 -1
  23. data/docs/examples/health/get-d-b.md +1 -1
  24. data/docs/examples/locale/get-countries-e-u.md +1 -1
  25. data/docs/examples/teams/update-membership-status.md +1 -1
  26. data/docs/examples/users/update-email.md +15 -0
  27. data/docs/examples/users/update-name.md +15 -0
  28. data/docs/examples/users/update-password.md +15 -0
  29. data/docs/examples/users/update-verification.md +15 -0
  30. data/lib/appwrite/client.rb +3 -3
  31. data/lib/appwrite/services/account.rb +151 -46
  32. data/lib/appwrite/services/avatars.rb +125 -42
  33. data/lib/appwrite/services/database.rb +199 -53
  34. data/lib/appwrite/services/functions.rb +223 -61
  35. data/lib/appwrite/services/health.rb +13 -25
  36. data/lib/appwrite/services/locale.rb +8 -15
  37. data/lib/appwrite/services/storage.rb +127 -38
  38. data/lib/appwrite/services/teams.rb +162 -42
  39. data/lib/appwrite/services/users.rb +197 -33
  40. metadata +7 -2
@@ -4,8 +4,7 @@ module Appwrite
4
4
  def get()
5
5
  path = '/locale'
6
6
 
7
- params = {
8
- }
7
+ params = {}
9
8
 
10
9
  return @client.call('get', path, {
11
10
  'content-type' => 'application/json',
@@ -15,8 +14,7 @@ module Appwrite
15
14
  def get_continents()
16
15
  path = '/locale/continents'
17
16
 
18
- params = {
19
- }
17
+ params = {}
20
18
 
21
19
  return @client.call('get', path, {
22
20
  'content-type' => 'application/json',
@@ -26,19 +24,17 @@ module Appwrite
26
24
  def get_countries()
27
25
  path = '/locale/countries'
28
26
 
29
- params = {
30
- }
27
+ params = {}
31
28
 
32
29
  return @client.call('get', path, {
33
30
  'content-type' => 'application/json',
34
31
  }, params);
35
32
  end
36
33
 
37
- def get_countries_e_u()
34
+ def get_countries_eu()
38
35
  path = '/locale/countries/eu'
39
36
 
40
- params = {
41
- }
37
+ params = {}
42
38
 
43
39
  return @client.call('get', path, {
44
40
  'content-type' => 'application/json',
@@ -48,8 +44,7 @@ module Appwrite
48
44
  def get_countries_phones()
49
45
  path = '/locale/countries/phones'
50
46
 
51
- params = {
52
- }
47
+ params = {}
53
48
 
54
49
  return @client.call('get', path, {
55
50
  'content-type' => 'application/json',
@@ -59,8 +54,7 @@ module Appwrite
59
54
  def get_currencies()
60
55
  path = '/locale/currencies'
61
56
 
62
- params = {
63
- }
57
+ params = {}
64
58
 
65
59
  return @client.call('get', path, {
66
60
  'content-type' => 'application/json',
@@ -70,8 +64,7 @@ module Appwrite
70
64
  def get_languages()
71
65
  path = '/locale/languages'
72
66
 
73
- params = {
74
- }
67
+ params = {}
75
68
 
76
69
  return @client.call('get', path, {
77
70
  'content-type' => 'application/json',
@@ -1,29 +1,52 @@
1
1
  module Appwrite
2
2
  class Storage < Service
3
3
 
4
- def list_files(search: '', limit: 25, offset: 0, order_type: 'ASC')
4
+ def list_files(search: nil, limit: nil, offset: nil, order_type: nil)
5
5
  path = '/storage/files'
6
6
 
7
- params = {
8
- 'search': search,
9
- 'limit': limit,
10
- 'offset': offset,
11
- 'orderType': order_type
12
- }
7
+ params = {}
8
+
9
+ if !search.nil?
10
+ params[:search] = search
11
+ end
12
+
13
+ if !limit.nil?
14
+ params[:limit] = limit
15
+ end
16
+
17
+ if !offset.nil?
18
+ params[:offset] = offset
19
+ end
20
+
21
+ if !order_type.nil?
22
+ params[:orderType] = order_type
23
+ end
13
24
 
14
25
  return @client.call('get', path, {
15
26
  'content-type' => 'application/json',
16
27
  }, params);
17
28
  end
18
29
 
19
- def create_file(file:, read: [], write: [])
30
+ def create_file(file:, read: nil, write: nil)
31
+ if file.nil?
32
+ raise Appwrite::Exception.new('Missing required parameter: "file"')
33
+ end
34
+
20
35
  path = '/storage/files'
21
36
 
22
- params = {
23
- 'file': file,
24
- 'read': read,
25
- 'write': write
26
- }
37
+ params = {}
38
+
39
+ if !file.nil?
40
+ params[:file] = file
41
+ end
42
+
43
+ if !read.nil?
44
+ params[:read] = read
45
+ end
46
+
47
+ if !write.nil?
48
+ params[:write] = write
49
+ end
27
50
 
28
51
  return @client.call('post', path, {
29
52
  'content-type' => 'multipart/form-data',
@@ -31,11 +54,14 @@ module Appwrite
31
54
  end
32
55
 
33
56
  def get_file(file_id:)
57
+ if file_id.nil?
58
+ raise Appwrite::Exception.new('Missing required parameter: "fileId"')
59
+ end
60
+
34
61
  path = '/storage/files/{fileId}'
35
62
  .gsub('{fileId}', file_id)
36
63
 
37
- params = {
38
- }
64
+ params = {}
39
65
 
40
66
  return @client.call('get', path, {
41
67
  'content-type' => 'application/json',
@@ -43,13 +69,30 @@ module Appwrite
43
69
  end
44
70
 
45
71
  def update_file(file_id:, read:, write:)
72
+ if file_id.nil?
73
+ raise Appwrite::Exception.new('Missing required parameter: "fileId"')
74
+ end
75
+
76
+ if read.nil?
77
+ raise Appwrite::Exception.new('Missing required parameter: "read"')
78
+ end
79
+
80
+ if write.nil?
81
+ raise Appwrite::Exception.new('Missing required parameter: "write"')
82
+ end
83
+
46
84
  path = '/storage/files/{fileId}'
47
85
  .gsub('{fileId}', file_id)
48
86
 
49
- params = {
50
- 'read': read,
51
- 'write': write
52
- }
87
+ params = {}
88
+
89
+ if !read.nil?
90
+ params[:read] = read
91
+ end
92
+
93
+ if !write.nil?
94
+ params[:write] = write
95
+ end
53
96
 
54
97
  return @client.call('put', path, {
55
98
  'content-type' => 'application/json',
@@ -57,11 +100,14 @@ module Appwrite
57
100
  end
58
101
 
59
102
  def delete_file(file_id:)
103
+ if file_id.nil?
104
+ raise Appwrite::Exception.new('Missing required parameter: "fileId"')
105
+ end
106
+
60
107
  path = '/storage/files/{fileId}'
61
108
  .gsub('{fileId}', file_id)
62
109
 
63
- params = {
64
- }
110
+ params = {}
65
111
 
66
112
  return @client.call('delete', path, {
67
113
  'content-type' => 'application/json',
@@ -69,33 +115,73 @@ module Appwrite
69
115
  end
70
116
 
71
117
  def get_file_download(file_id:)
118
+ if file_id.nil?
119
+ raise Appwrite::Exception.new('Missing required parameter: "fileId"')
120
+ end
121
+
72
122
  path = '/storage/files/{fileId}/download'
73
123
  .gsub('{fileId}', file_id)
74
124
 
75
- params = {
76
- }
125
+ params = {}
77
126
 
78
127
  return @client.call('get', path, {
79
128
  'content-type' => 'application/json',
80
129
  }, params);
81
130
  end
82
131
 
83
- def get_file_preview(file_id:, width: 0, height: 0, quality: 100, border_width: 0, border_color: '', border_radius: 0, opacity: 1, rotation: 0, background: '', output: '')
132
+ def get_file_preview(file_id:, width: nil, height: nil, gravity: nil, quality: nil, border_width: nil, border_color: nil, border_radius: nil, opacity: nil, rotation: nil, background: nil, output: nil)
133
+ if file_id.nil?
134
+ raise Appwrite::Exception.new('Missing required parameter: "fileId"')
135
+ end
136
+
84
137
  path = '/storage/files/{fileId}/preview'
85
138
  .gsub('{fileId}', file_id)
86
139
 
87
- params = {
88
- 'width': width,
89
- 'height': height,
90
- 'quality': quality,
91
- 'borderWidth': border_width,
92
- 'borderColor': border_color,
93
- 'borderRadius': border_radius,
94
- 'opacity': opacity,
95
- 'rotation': rotation,
96
- 'background': background,
97
- 'output': output
98
- }
140
+ params = {}
141
+
142
+ if !width.nil?
143
+ params[:width] = width
144
+ end
145
+
146
+ if !height.nil?
147
+ params[:height] = height
148
+ end
149
+
150
+ if !gravity.nil?
151
+ params[:gravity] = gravity
152
+ end
153
+
154
+ if !quality.nil?
155
+ params[:quality] = quality
156
+ end
157
+
158
+ if !border_width.nil?
159
+ params[:borderWidth] = border_width
160
+ end
161
+
162
+ if !border_color.nil?
163
+ params[:borderColor] = border_color
164
+ end
165
+
166
+ if !border_radius.nil?
167
+ params[:borderRadius] = border_radius
168
+ end
169
+
170
+ if !opacity.nil?
171
+ params[:opacity] = opacity
172
+ end
173
+
174
+ if !rotation.nil?
175
+ params[:rotation] = rotation
176
+ end
177
+
178
+ if !background.nil?
179
+ params[:background] = background
180
+ end
181
+
182
+ if !output.nil?
183
+ params[:output] = output
184
+ end
99
185
 
100
186
  return @client.call('get', path, {
101
187
  'content-type' => 'application/json',
@@ -103,11 +189,14 @@ module Appwrite
103
189
  end
104
190
 
105
191
  def get_file_view(file_id:)
192
+ if file_id.nil?
193
+ raise Appwrite::Exception.new('Missing required parameter: "fileId"')
194
+ end
195
+
106
196
  path = '/storage/files/{fileId}/view'
107
197
  .gsub('{fileId}', file_id)
108
198
 
109
- params = {
110
- }
199
+ params = {}
111
200
 
112
201
  return @client.call('get', path, {
113
202
  'content-type' => 'application/json',
@@ -1,28 +1,48 @@
1
1
  module Appwrite
2
2
  class Teams < Service
3
3
 
4
- def list(search: '', limit: 25, offset: 0, order_type: 'ASC')
4
+ def list(search: nil, limit: nil, offset: nil, order_type: nil)
5
5
  path = '/teams'
6
6
 
7
- params = {
8
- 'search': search,
9
- 'limit': limit,
10
- 'offset': offset,
11
- 'orderType': order_type
12
- }
7
+ params = {}
8
+
9
+ if !search.nil?
10
+ params[:search] = search
11
+ end
12
+
13
+ if !limit.nil?
14
+ params[:limit] = limit
15
+ end
16
+
17
+ if !offset.nil?
18
+ params[:offset] = offset
19
+ end
20
+
21
+ if !order_type.nil?
22
+ params[:orderType] = order_type
23
+ end
13
24
 
14
25
  return @client.call('get', path, {
15
26
  'content-type' => 'application/json',
16
27
  }, params);
17
28
  end
18
29
 
19
- def create(name:, roles: ["owner"])
30
+ def create(name:, roles: nil)
31
+ if name.nil?
32
+ raise Appwrite::Exception.new('Missing required parameter: "name"')
33
+ end
34
+
20
35
  path = '/teams'
21
36
 
22
- params = {
23
- 'name': name,
24
- 'roles': roles
25
- }
37
+ params = {}
38
+
39
+ if !name.nil?
40
+ params[:name] = name
41
+ end
42
+
43
+ if !roles.nil?
44
+ params[:roles] = roles
45
+ end
26
46
 
27
47
  return @client.call('post', path, {
28
48
  'content-type' => 'application/json',
@@ -30,11 +50,14 @@ module Appwrite
30
50
  end
31
51
 
32
52
  def get(team_id:)
53
+ if team_id.nil?
54
+ raise Appwrite::Exception.new('Missing required parameter: "teamId"')
55
+ end
56
+
33
57
  path = '/teams/{teamId}'
34
58
  .gsub('{teamId}', team_id)
35
59
 
36
- params = {
37
- }
60
+ params = {}
38
61
 
39
62
  return @client.call('get', path, {
40
63
  'content-type' => 'application/json',
@@ -42,12 +65,22 @@ module Appwrite
42
65
  end
43
66
 
44
67
  def update(team_id:, name:)
68
+ if team_id.nil?
69
+ raise Appwrite::Exception.new('Missing required parameter: "teamId"')
70
+ end
71
+
72
+ if name.nil?
73
+ raise Appwrite::Exception.new('Missing required parameter: "name"')
74
+ end
75
+
45
76
  path = '/teams/{teamId}'
46
77
  .gsub('{teamId}', team_id)
47
78
 
48
- params = {
49
- 'name': name
50
- }
79
+ params = {}
80
+
81
+ if !name.nil?
82
+ params[:name] = name
83
+ end
51
84
 
52
85
  return @client.call('put', path, {
53
86
  'content-type' => 'application/json',
@@ -55,43 +88,88 @@ module Appwrite
55
88
  end
56
89
 
57
90
  def delete(team_id:)
91
+ if team_id.nil?
92
+ raise Appwrite::Exception.new('Missing required parameter: "teamId"')
93
+ end
94
+
58
95
  path = '/teams/{teamId}'
59
96
  .gsub('{teamId}', team_id)
60
97
 
61
- params = {
62
- }
98
+ params = {}
63
99
 
64
100
  return @client.call('delete', path, {
65
101
  'content-type' => 'application/json',
66
102
  }, params);
67
103
  end
68
104
 
69
- def get_memberships(team_id:, search: '', limit: 25, offset: 0, order_type: 'ASC')
105
+ def get_memberships(team_id:, search: nil, limit: nil, offset: nil, order_type: nil)
106
+ if team_id.nil?
107
+ raise Appwrite::Exception.new('Missing required parameter: "teamId"')
108
+ end
109
+
70
110
  path = '/teams/{teamId}/memberships'
71
111
  .gsub('{teamId}', team_id)
72
112
 
73
- params = {
74
- 'search': search,
75
- 'limit': limit,
76
- 'offset': offset,
77
- 'orderType': order_type
78
- }
113
+ params = {}
114
+
115
+ if !search.nil?
116
+ params[:search] = search
117
+ end
118
+
119
+ if !limit.nil?
120
+ params[:limit] = limit
121
+ end
122
+
123
+ if !offset.nil?
124
+ params[:offset] = offset
125
+ end
126
+
127
+ if !order_type.nil?
128
+ params[:orderType] = order_type
129
+ end
79
130
 
80
131
  return @client.call('get', path, {
81
132
  'content-type' => 'application/json',
82
133
  }, params);
83
134
  end
84
135
 
85
- def create_membership(team_id:, email:, roles:, url:, name: '')
136
+ def create_membership(team_id:, email:, roles:, url:, name: nil)
137
+ if team_id.nil?
138
+ raise Appwrite::Exception.new('Missing required parameter: "teamId"')
139
+ end
140
+
141
+ if email.nil?
142
+ raise Appwrite::Exception.new('Missing required parameter: "email"')
143
+ end
144
+
145
+ if roles.nil?
146
+ raise Appwrite::Exception.new('Missing required parameter: "roles"')
147
+ end
148
+
149
+ if url.nil?
150
+ raise Appwrite::Exception.new('Missing required parameter: "url"')
151
+ end
152
+
86
153
  path = '/teams/{teamId}/memberships'
87
154
  .gsub('{teamId}', team_id)
88
155
 
89
- params = {
90
- 'email': email,
91
- 'name': name,
92
- 'roles': roles,
93
- 'url': url
94
- }
156
+ params = {}
157
+
158
+ if !email.nil?
159
+ params[:email] = email
160
+ end
161
+
162
+ if !name.nil?
163
+ params[:name] = name
164
+ end
165
+
166
+ if !roles.nil?
167
+ params[:roles] = roles
168
+ end
169
+
170
+ if !url.nil?
171
+ params[:url] = url
172
+ end
95
173
 
96
174
  return @client.call('post', path, {
97
175
  'content-type' => 'application/json',
@@ -99,13 +177,27 @@ module Appwrite
99
177
  end
100
178
 
101
179
  def update_membership_roles(team_id:, membership_id:, roles:)
180
+ if team_id.nil?
181
+ raise Appwrite::Exception.new('Missing required parameter: "teamId"')
182
+ end
183
+
184
+ if membership_id.nil?
185
+ raise Appwrite::Exception.new('Missing required parameter: "membershipId"')
186
+ end
187
+
188
+ if roles.nil?
189
+ raise Appwrite::Exception.new('Missing required parameter: "roles"')
190
+ end
191
+
102
192
  path = '/teams/{teamId}/memberships/{membershipId}'
103
193
  .gsub('{teamId}', team_id)
104
194
  .gsub('{membershipId}', membership_id)
105
195
 
106
- params = {
107
- 'roles': roles
108
- }
196
+ params = {}
197
+
198
+ if !roles.nil?
199
+ params[:roles] = roles
200
+ end
109
201
 
110
202
  return @client.call('patch', path, {
111
203
  'content-type' => 'application/json',
@@ -113,12 +205,19 @@ module Appwrite
113
205
  end
114
206
 
115
207
  def delete_membership(team_id:, membership_id:)
208
+ if team_id.nil?
209
+ raise Appwrite::Exception.new('Missing required parameter: "teamId"')
210
+ end
211
+
212
+ if membership_id.nil?
213
+ raise Appwrite::Exception.new('Missing required parameter: "membershipId"')
214
+ end
215
+
116
216
  path = '/teams/{teamId}/memberships/{membershipId}'
117
217
  .gsub('{teamId}', team_id)
118
218
  .gsub('{membershipId}', membership_id)
119
219
 
120
- params = {
121
- }
220
+ params = {}
122
221
 
123
222
  return @client.call('delete', path, {
124
223
  'content-type' => 'application/json',
@@ -126,14 +225,35 @@ module Appwrite
126
225
  end
127
226
 
128
227
  def update_membership_status(team_id:, membership_id:, user_id:, secret:)
228
+ if team_id.nil?
229
+ raise Appwrite::Exception.new('Missing required parameter: "teamId"')
230
+ end
231
+
232
+ if membership_id.nil?
233
+ raise Appwrite::Exception.new('Missing required parameter: "membershipId"')
234
+ end
235
+
236
+ if user_id.nil?
237
+ raise Appwrite::Exception.new('Missing required parameter: "userId"')
238
+ end
239
+
240
+ if secret.nil?
241
+ raise Appwrite::Exception.new('Missing required parameter: "secret"')
242
+ end
243
+
129
244
  path = '/teams/{teamId}/memberships/{membershipId}/status'
130
245
  .gsub('{teamId}', team_id)
131
246
  .gsub('{membershipId}', membership_id)
132
247
 
133
- params = {
134
- 'userId': user_id,
135
- 'secret': secret
136
- }
248
+ params = {}
249
+
250
+ if !user_id.nil?
251
+ params[:userId] = user_id
252
+ end
253
+
254
+ if !secret.nil?
255
+ params[:secret] = secret
256
+ end
137
257
 
138
258
  return @client.call('patch', path, {
139
259
  'content-type' => 'application/json',