appwrite 25.1.0 → 26.1.0
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/lib/appwrite/client.rb +18 -4
- data/lib/appwrite/enums/billing_plan_group.rb +9 -0
- data/lib/appwrite/enums/database_status.rb +20 -0
- data/lib/appwrite/enums/database_type.rb +3 -0
- data/lib/appwrite/enums/o_auth2_oidc_prompt.rb +10 -0
- data/lib/appwrite/enums/o_auth_provider.rb +1 -0
- data/lib/appwrite/enums/organization_key_scopes.rb +6 -0
- data/lib/appwrite/enums/project_key_scopes.rb +10 -2
- data/lib/appwrite/enums/project_o_auth2_oidc_prompt.rb +10 -0
- data/lib/appwrite/enums/project_o_auth_provider_id.rb +1 -0
- data/lib/appwrite/enums/project_policy_id.rb +1 -0
- data/lib/appwrite/enums/project_service_id.rb +1 -0
- data/lib/appwrite/models/activity_event.rb +55 -70
- data/lib/appwrite/models/additional_resource.rb +52 -0
- data/lib/appwrite/models/app.rb +152 -0
- data/lib/appwrite/models/app_installation.rb +72 -0
- data/lib/appwrite/models/app_installation_list.rb +32 -0
- data/lib/appwrite/models/app_key.rb +67 -0
- data/lib/appwrite/models/{usage_gauge_list.rb → app_key_list.rb} +7 -7
- data/lib/appwrite/models/app_scope.rb +47 -0
- data/lib/appwrite/models/{usage_event_list.rb → app_scope_list.rb} +7 -7
- data/lib/appwrite/models/app_secret.rb +67 -0
- data/lib/appwrite/models/{health_status_list.rb → app_secret_list.rb} +7 -7
- data/lib/appwrite/models/app_secret_plaintext.rb +67 -0
- data/lib/appwrite/models/apps_list.rb +32 -0
- data/lib/appwrite/models/backup_policy.rb +5 -0
- data/lib/appwrite/models/billing_plan.rb +384 -0
- data/lib/appwrite/models/billing_plan_addon.rb +32 -0
- data/lib/appwrite/models/billing_plan_addon_details.rb +62 -0
- data/lib/appwrite/models/billing_plan_dedicated_database_limits.rb +117 -0
- data/lib/appwrite/models/billing_plan_limits.rb +32 -0
- data/lib/appwrite/models/billing_plan_supported_addons.rb +37 -0
- data/lib/appwrite/models/block.rb +5 -0
- data/lib/appwrite/models/database.rb +54 -6
- data/lib/appwrite/models/database_status.rb +62 -0
- data/lib/appwrite/models/database_status_connections.rb +32 -0
- data/lib/appwrite/models/database_status_replica.rb +42 -0
- data/lib/appwrite/models/database_status_volume.rb +42 -0
- data/lib/appwrite/models/dedicated_database.rb +267 -0
- data/lib/appwrite/models/dedicated_database_member.rb +42 -0
- data/lib/appwrite/models/dedicated_database_replicas.rb +37 -0
- data/lib/appwrite/models/dedicated_database_specification.rb +67 -0
- data/lib/appwrite/models/dedicated_database_specification_list.rb +37 -0
- data/lib/appwrite/models/dedicated_database_specification_pricing.rb +47 -0
- data/lib/appwrite/models/locale.rb +58 -3
- data/lib/appwrite/models/membership.rb +5 -0
- data/lib/appwrite/models/o_auth2_appwrite.rb +42 -0
- data/lib/appwrite/models/o_auth2_oidc.rb +13 -3
- data/lib/appwrite/models/oauth2_approve.rb +27 -0
- data/lib/appwrite/models/oauth2_authorize.rb +32 -0
- data/lib/appwrite/models/oauth2_consent.rb +72 -0
- data/lib/appwrite/models/oauth2_consent_list.rb +32 -0
- data/lib/appwrite/models/oauth2_consent_token.rb +77 -0
- data/lib/appwrite/models/oauth2_consent_token_list.rb +32 -0
- data/lib/appwrite/models/oauth2_device_authorization.rb +52 -0
- data/lib/appwrite/models/oauth2_grant.rb +82 -0
- data/lib/appwrite/models/{health_queue.rb → oauth2_organization.rb} +7 -7
- data/lib/appwrite/models/oauth2_organization_list.rb +32 -0
- data/lib/appwrite/models/oauth2_par.rb +32 -0
- data/lib/appwrite/models/oauth2_project.rb +37 -0
- data/lib/appwrite/models/oauth2_project_list.rb +32 -0
- data/lib/appwrite/models/oauth2_reject.rb +27 -0
- data/lib/appwrite/models/oauth2_token.rb +57 -0
- data/lib/appwrite/models/organization.rb +197 -0
- data/lib/appwrite/models/policy_deny_corporate_email.rb +32 -0
- data/lib/appwrite/models/policy_membership_privacy.rb +8 -3
- data/lib/appwrite/models/program.rb +67 -0
- data/lib/appwrite/models/project.rb +56 -11
- data/lib/appwrite/models/project_auth_method.rb +3 -3
- data/lib/appwrite/models/usage_billing_plan.rb +77 -0
- data/lib/appwrite/models/user.rb +25 -0
- data/lib/appwrite/query.rb +13 -1
- data/lib/appwrite/services/account.rb +251 -1
- data/lib/appwrite/services/activities.rb +2 -0
- data/lib/appwrite/services/advisor.rb +4 -0
- data/lib/appwrite/services/apps.rb +813 -0
- data/lib/appwrite/services/avatars.rb +8 -0
- data/lib/appwrite/services/backups.rb +38 -1
- data/lib/appwrite/services/databases.rb +107 -0
- data/lib/appwrite/services/functions.rb +30 -4
- data/lib/appwrite/services/graphql.rb +2 -0
- data/lib/appwrite/services/locale.rb +8 -0
- data/lib/appwrite/services/messaging.rb +42 -136
- data/lib/appwrite/services/oauth2.rb +525 -0
- data/lib/appwrite/services/organization.rb +436 -3
- data/lib/appwrite/services/presences.rb +4 -0
- data/lib/appwrite/services/project.rb +192 -9
- data/lib/appwrite/services/proxy.rb +7 -0
- data/lib/appwrite/services/sites.rb +28 -2
- data/lib/appwrite/services/storage.rb +11 -0
- data/lib/appwrite/services/tables_db.rb +201 -2
- data/lib/appwrite/services/teams.rb +209 -0
- data/lib/appwrite/services/tokens.rb +4 -0
- data/lib/appwrite/services/users.rb +38 -1
- data/lib/appwrite/services/webhooks.rb +5 -0
- data/lib/appwrite.rb +54 -15
- metadata +56 -17
- data/lib/appwrite/enums/health_antivirus_status.rb +0 -9
- data/lib/appwrite/enums/health_check_status.rb +0 -8
- data/lib/appwrite/enums/health_queue_name.rb +0 -19
- data/lib/appwrite/models/health_antivirus.rb +0 -49
- data/lib/appwrite/models/health_certificate.rb +0 -52
- data/lib/appwrite/models/health_status.rb +0 -53
- data/lib/appwrite/models/health_time.rb +0 -37
- data/lib/appwrite/models/usage_event.rb +0 -72
- data/lib/appwrite/models/usage_gauge.rb +0 -47
- data/lib/appwrite/services/health.rb +0 -681
- data/lib/appwrite/services/usage.rb +0 -88
|
@@ -7,6 +7,256 @@ module Appwrite
|
|
|
7
7
|
@client = client
|
|
8
8
|
end
|
|
9
9
|
|
|
10
|
+
# Get the current organization.
|
|
11
|
+
#
|
|
12
|
+
#
|
|
13
|
+
# @return [Organization]
|
|
14
|
+
def get()
|
|
15
|
+
api_path = '/organization'
|
|
16
|
+
|
|
17
|
+
api_params = {
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
api_headers = {
|
|
21
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
22
|
+
"accept": 'application/json',
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@client.call(
|
|
26
|
+
method: 'GET',
|
|
27
|
+
path: api_path,
|
|
28
|
+
headers: api_headers,
|
|
29
|
+
params: api_params,
|
|
30
|
+
response_type: Models::Organization
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Update the current organization's name.
|
|
36
|
+
#
|
|
37
|
+
# @param [String] name New organization name. Max length: 128 chars.
|
|
38
|
+
#
|
|
39
|
+
# @return [Organization]
|
|
40
|
+
def update(name:)
|
|
41
|
+
api_path = '/organization'
|
|
42
|
+
|
|
43
|
+
if name.nil?
|
|
44
|
+
raise Appwrite::Exception.new('Missing required parameter: "name"')
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
api_params = {
|
|
48
|
+
name: name,
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
api_headers = {
|
|
52
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
53
|
+
"content-type": 'application/json',
|
|
54
|
+
"accept": 'application/json',
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@client.call(
|
|
58
|
+
method: 'PUT',
|
|
59
|
+
path: api_path,
|
|
60
|
+
headers: api_headers,
|
|
61
|
+
params: api_params,
|
|
62
|
+
response_type: Models::Organization
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# Delete the current organization. All projects that belong to the
|
|
68
|
+
# organization are deleted as well.
|
|
69
|
+
#
|
|
70
|
+
#
|
|
71
|
+
# @return []
|
|
72
|
+
def delete()
|
|
73
|
+
api_path = '/organization'
|
|
74
|
+
|
|
75
|
+
api_params = {
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
api_headers = {
|
|
79
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
80
|
+
"content-type": 'application/json',
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@client.call(
|
|
84
|
+
method: 'DELETE',
|
|
85
|
+
path: api_path,
|
|
86
|
+
headers: api_headers,
|
|
87
|
+
params: api_params,
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# List app installations on the organization. Any organization member can
|
|
93
|
+
# read installations.
|
|
94
|
+
#
|
|
95
|
+
# @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long.
|
|
96
|
+
# @param [] total When set to false, the total count returned will be 0 and will not be calculated.
|
|
97
|
+
#
|
|
98
|
+
# @return [AppInstallationList]
|
|
99
|
+
def list_installations(queries: nil, total: nil)
|
|
100
|
+
api_path = '/organization/installations'
|
|
101
|
+
|
|
102
|
+
api_params = {
|
|
103
|
+
queries: queries,
|
|
104
|
+
total: total,
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
api_headers = {
|
|
108
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
109
|
+
"accept": 'application/json',
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
@client.call(
|
|
113
|
+
method: 'GET',
|
|
114
|
+
path: api_path,
|
|
115
|
+
headers: api_headers,
|
|
116
|
+
params: api_params,
|
|
117
|
+
response_type: Models::AppInstallationList
|
|
118
|
+
)
|
|
119
|
+
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
# Install an app on the organization. Only organization members with the
|
|
123
|
+
# owner role can install apps. The installation is granted the scopes the app
|
|
124
|
+
# currently requests.
|
|
125
|
+
#
|
|
126
|
+
# @param [String] app_id Application unique ID.
|
|
127
|
+
# @param [String] authorization_details Authorization details granted to the installation as a JSON array of objects, each with a `type` and app-defined fields. The Appwrite Console stores authorized project IDs here.
|
|
128
|
+
#
|
|
129
|
+
# @return [AppInstallation]
|
|
130
|
+
def create_installation(app_id:, authorization_details: nil)
|
|
131
|
+
api_path = '/organization/installations'
|
|
132
|
+
|
|
133
|
+
if app_id.nil?
|
|
134
|
+
raise Appwrite::Exception.new('Missing required parameter: "appId"')
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
api_params = {
|
|
138
|
+
appId: app_id,
|
|
139
|
+
authorizationDetails: authorization_details,
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
api_headers = {
|
|
143
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
144
|
+
"content-type": 'application/json',
|
|
145
|
+
"accept": 'application/json',
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
@client.call(
|
|
149
|
+
method: 'POST',
|
|
150
|
+
path: api_path,
|
|
151
|
+
headers: api_headers,
|
|
152
|
+
params: api_params,
|
|
153
|
+
response_type: Models::AppInstallation
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
# Get an app installation on the organization by its unique ID. Any
|
|
159
|
+
# organization member can read installations.
|
|
160
|
+
#
|
|
161
|
+
# @param [String] installation_id Installation unique ID.
|
|
162
|
+
#
|
|
163
|
+
# @return [AppInstallation]
|
|
164
|
+
def get_installation(installation_id:)
|
|
165
|
+
api_path = '/organization/installations/{installationId}'
|
|
166
|
+
.gsub('{installationId}', installation_id)
|
|
167
|
+
|
|
168
|
+
if installation_id.nil?
|
|
169
|
+
raise Appwrite::Exception.new('Missing required parameter: "installationId"')
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
api_params = {
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
api_headers = {
|
|
176
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
177
|
+
"accept": 'application/json',
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
@client.call(
|
|
181
|
+
method: 'GET',
|
|
182
|
+
path: api_path,
|
|
183
|
+
headers: api_headers,
|
|
184
|
+
params: api_params,
|
|
185
|
+
response_type: Models::AppInstallation
|
|
186
|
+
)
|
|
187
|
+
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
# Update an app installation on the organization. Only organization members
|
|
191
|
+
# with the owner role can update installations. The installation's granted
|
|
192
|
+
# scopes are refreshed to the scopes the app currently requests; previously
|
|
193
|
+
# issued installation access tokens are revoked.
|
|
194
|
+
#
|
|
195
|
+
# @param [String] installation_id Installation unique ID.
|
|
196
|
+
# @param [String] authorization_details Authorization details granted to the installation as a JSON array of objects, each with a `type` and app-defined fields. Omit to keep the current value.
|
|
197
|
+
#
|
|
198
|
+
# @return [AppInstallation]
|
|
199
|
+
def update_installation(installation_id:, authorization_details: nil)
|
|
200
|
+
api_path = '/organization/installations/{installationId}'
|
|
201
|
+
.gsub('{installationId}', installation_id)
|
|
202
|
+
|
|
203
|
+
if installation_id.nil?
|
|
204
|
+
raise Appwrite::Exception.new('Missing required parameter: "installationId"')
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
api_params = {
|
|
208
|
+
authorizationDetails: authorization_details,
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
api_headers = {
|
|
212
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
213
|
+
"content-type": 'application/json',
|
|
214
|
+
"accept": 'application/json',
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
@client.call(
|
|
218
|
+
method: 'PUT',
|
|
219
|
+
path: api_path,
|
|
220
|
+
headers: api_headers,
|
|
221
|
+
params: api_params,
|
|
222
|
+
response_type: Models::AppInstallation
|
|
223
|
+
)
|
|
224
|
+
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
# Uninstall an app from the organization by its installation ID. Only
|
|
228
|
+
# organization members with the owner role can remove installations.
|
|
229
|
+
# Previously issued installation access tokens are revoked.
|
|
230
|
+
#
|
|
231
|
+
# @param [String] installation_id Installation unique ID.
|
|
232
|
+
#
|
|
233
|
+
# @return []
|
|
234
|
+
def delete_installation(installation_id:)
|
|
235
|
+
api_path = '/organization/installations/{installationId}'
|
|
236
|
+
.gsub('{installationId}', installation_id)
|
|
237
|
+
|
|
238
|
+
if installation_id.nil?
|
|
239
|
+
raise Appwrite::Exception.new('Missing required parameter: "installationId"')
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
api_params = {
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
api_headers = {
|
|
246
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
247
|
+
"content-type": 'application/json',
|
|
248
|
+
"accept": 'application/json',
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
@client.call(
|
|
252
|
+
method: 'DELETE',
|
|
253
|
+
path: api_path,
|
|
254
|
+
headers: api_headers,
|
|
255
|
+
params: api_params,
|
|
256
|
+
)
|
|
257
|
+
|
|
258
|
+
end
|
|
259
|
+
|
|
10
260
|
# Get a list of all API keys from the current organization.
|
|
11
261
|
#
|
|
12
262
|
# @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: expire, accessedAt, name, scopes
|
|
@@ -23,6 +273,7 @@ module Appwrite
|
|
|
23
273
|
|
|
24
274
|
api_headers = {
|
|
25
275
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
276
|
+
"accept": 'application/json',
|
|
26
277
|
}
|
|
27
278
|
|
|
28
279
|
@client.call(
|
|
@@ -39,7 +290,7 @@ module Appwrite
|
|
|
39
290
|
#
|
|
40
291
|
# @param [String] key_id Key ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
|
|
41
292
|
# @param [String] name Key name. Max length: 128 chars.
|
|
42
|
-
# @param [Array] scopes Key scopes list. Maximum of
|
|
293
|
+
# @param [Array] scopes Key scopes list. Maximum of 200 scopes are allowed.
|
|
43
294
|
# @param [String] expire Expiration time in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.
|
|
44
295
|
#
|
|
45
296
|
# @return [Key]
|
|
@@ -68,6 +319,7 @@ module Appwrite
|
|
|
68
319
|
api_headers = {
|
|
69
320
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
70
321
|
"content-type": 'application/json',
|
|
322
|
+
"accept": 'application/json',
|
|
71
323
|
}
|
|
72
324
|
|
|
73
325
|
@client.call(
|
|
@@ -99,6 +351,7 @@ module Appwrite
|
|
|
99
351
|
|
|
100
352
|
api_headers = {
|
|
101
353
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
354
|
+
"accept": 'application/json',
|
|
102
355
|
}
|
|
103
356
|
|
|
104
357
|
@client.call(
|
|
@@ -116,7 +369,7 @@ module Appwrite
|
|
|
116
369
|
#
|
|
117
370
|
# @param [String] key_id Key unique ID.
|
|
118
371
|
# @param [String] name Key name. Max length: 128 chars.
|
|
119
|
-
# @param [Array] scopes Key scopes list. Maximum of
|
|
372
|
+
# @param [Array] scopes Key scopes list. Maximum of 200 scopes are allowed.
|
|
120
373
|
# @param [String] expire Expiration time in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.
|
|
121
374
|
#
|
|
122
375
|
# @return [Key]
|
|
@@ -145,6 +398,7 @@ module Appwrite
|
|
|
145
398
|
api_headers = {
|
|
146
399
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
147
400
|
"content-type": 'application/json',
|
|
401
|
+
"accept": 'application/json',
|
|
148
402
|
}
|
|
149
403
|
|
|
150
404
|
@client.call(
|
|
@@ -188,10 +442,186 @@ module Appwrite
|
|
|
188
442
|
|
|
189
443
|
end
|
|
190
444
|
|
|
445
|
+
# Get a list of all memberships from the current organization.
|
|
446
|
+
#
|
|
447
|
+
# @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, teamId, invited, joined, confirm, roles
|
|
448
|
+
# @param [String] search Search term to filter your list results. Max length: 256 chars.
|
|
449
|
+
# @param [] total When set to false, the total count returned will be 0 and will not be calculated.
|
|
450
|
+
#
|
|
451
|
+
# @return [MembershipList]
|
|
452
|
+
def list_memberships(queries: nil, search: nil, total: nil)
|
|
453
|
+
api_path = '/organization/memberships'
|
|
454
|
+
|
|
455
|
+
api_params = {
|
|
456
|
+
queries: queries,
|
|
457
|
+
search: search,
|
|
458
|
+
total: total,
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
api_headers = {
|
|
462
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
463
|
+
"accept": 'application/json',
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
@client.call(
|
|
467
|
+
method: 'GET',
|
|
468
|
+
path: api_path,
|
|
469
|
+
headers: api_headers,
|
|
470
|
+
params: api_params,
|
|
471
|
+
response_type: Models::MembershipList
|
|
472
|
+
)
|
|
473
|
+
|
|
474
|
+
end
|
|
475
|
+
|
|
476
|
+
# Invite a new member to join the current organization. An email with a link
|
|
477
|
+
# to join the organization will be sent to the new member's email address. If
|
|
478
|
+
# member doesn't exist in the project it will be automatically created.
|
|
479
|
+
#
|
|
480
|
+
# @param [Array] roles Array of strings. Use this param to set the user roles in the organization. A role can be any string. Learn more about [roles and permissions](https://appwrite.io/docs/permissions). Maximum of 100 roles are allowed, each 81 characters long.
|
|
481
|
+
# @param [String] email Email of the new organization member.
|
|
482
|
+
# @param [String] user_id ID of the user to be added to the organization.
|
|
483
|
+
# @param [String] phone Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.
|
|
484
|
+
# @param [String] url URL to redirect the user back to your app from the invitation email. This parameter is not required when an API key is supplied.
|
|
485
|
+
# @param [String] name Name of the new organization member. Max length: 128 chars.
|
|
486
|
+
#
|
|
487
|
+
# @return [Membership]
|
|
488
|
+
def create_membership(roles:, email: nil, user_id: nil, phone: nil, url: nil, name: nil)
|
|
489
|
+
api_path = '/organization/memberships'
|
|
490
|
+
|
|
491
|
+
if roles.nil?
|
|
492
|
+
raise Appwrite::Exception.new('Missing required parameter: "roles"')
|
|
493
|
+
end
|
|
494
|
+
|
|
495
|
+
api_params = {
|
|
496
|
+
email: email,
|
|
497
|
+
userId: user_id,
|
|
498
|
+
phone: phone,
|
|
499
|
+
roles: roles,
|
|
500
|
+
url: url,
|
|
501
|
+
name: name,
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
api_headers = {
|
|
505
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
506
|
+
"content-type": 'application/json',
|
|
507
|
+
"accept": 'application/json',
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
@client.call(
|
|
511
|
+
method: 'POST',
|
|
512
|
+
path: api_path,
|
|
513
|
+
headers: api_headers,
|
|
514
|
+
params: api_params,
|
|
515
|
+
response_type: Models::Membership
|
|
516
|
+
)
|
|
517
|
+
|
|
518
|
+
end
|
|
519
|
+
|
|
520
|
+
# Get a membership from the current organization by its unique ID.
|
|
521
|
+
#
|
|
522
|
+
# @param [String] membership_id Membership ID.
|
|
523
|
+
#
|
|
524
|
+
# @return [Membership]
|
|
525
|
+
def get_membership(membership_id:)
|
|
526
|
+
api_path = '/organization/memberships/{membershipId}'
|
|
527
|
+
.gsub('{membershipId}', membership_id)
|
|
528
|
+
|
|
529
|
+
if membership_id.nil?
|
|
530
|
+
raise Appwrite::Exception.new('Missing required parameter: "membershipId"')
|
|
531
|
+
end
|
|
532
|
+
|
|
533
|
+
api_params = {
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
api_headers = {
|
|
537
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
538
|
+
"accept": 'application/json',
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
@client.call(
|
|
542
|
+
method: 'GET',
|
|
543
|
+
path: api_path,
|
|
544
|
+
headers: api_headers,
|
|
545
|
+
params: api_params,
|
|
546
|
+
response_type: Models::Membership
|
|
547
|
+
)
|
|
548
|
+
|
|
549
|
+
end
|
|
550
|
+
|
|
551
|
+
# Modify the roles of a member in the current organization.
|
|
552
|
+
#
|
|
553
|
+
# @param [String] membership_id Membership ID.
|
|
554
|
+
# @param [Array] roles An array of strings. Use this param to set the user's roles in the organization. A role can be any string. Learn more about [roles and permissions](https://appwrite.io/docs/permissions). Maximum of 100 roles are allowed, each 81 characters long.
|
|
555
|
+
#
|
|
556
|
+
# @return [Membership]
|
|
557
|
+
def update_membership(membership_id:, roles:)
|
|
558
|
+
api_path = '/organization/memberships/{membershipId}'
|
|
559
|
+
.gsub('{membershipId}', membership_id)
|
|
560
|
+
|
|
561
|
+
if membership_id.nil?
|
|
562
|
+
raise Appwrite::Exception.new('Missing required parameter: "membershipId"')
|
|
563
|
+
end
|
|
564
|
+
|
|
565
|
+
if roles.nil?
|
|
566
|
+
raise Appwrite::Exception.new('Missing required parameter: "roles"')
|
|
567
|
+
end
|
|
568
|
+
|
|
569
|
+
api_params = {
|
|
570
|
+
roles: roles,
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
api_headers = {
|
|
574
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
575
|
+
"content-type": 'application/json',
|
|
576
|
+
"accept": 'application/json',
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
@client.call(
|
|
580
|
+
method: 'PATCH',
|
|
581
|
+
path: api_path,
|
|
582
|
+
headers: api_headers,
|
|
583
|
+
params: api_params,
|
|
584
|
+
response_type: Models::Membership
|
|
585
|
+
)
|
|
586
|
+
|
|
587
|
+
end
|
|
588
|
+
|
|
589
|
+
# Remove a member from the current organization. The member is removed
|
|
590
|
+
# whether they accepted the invitation or not; a pending invitation is
|
|
591
|
+
# revoked.
|
|
592
|
+
#
|
|
593
|
+
# @param [String] membership_id Membership ID.
|
|
594
|
+
#
|
|
595
|
+
# @return []
|
|
596
|
+
def delete_membership(membership_id:)
|
|
597
|
+
api_path = '/organization/memberships/{membershipId}'
|
|
598
|
+
.gsub('{membershipId}', membership_id)
|
|
599
|
+
|
|
600
|
+
if membership_id.nil?
|
|
601
|
+
raise Appwrite::Exception.new('Missing required parameter: "membershipId"')
|
|
602
|
+
end
|
|
603
|
+
|
|
604
|
+
api_params = {
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
api_headers = {
|
|
608
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
609
|
+
"content-type": 'application/json',
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
@client.call(
|
|
613
|
+
method: 'DELETE',
|
|
614
|
+
path: api_path,
|
|
615
|
+
headers: api_headers,
|
|
616
|
+
params: api_params,
|
|
617
|
+
)
|
|
618
|
+
|
|
619
|
+
end
|
|
620
|
+
|
|
191
621
|
# Get a list of all projects. You can use the query params to filter your
|
|
192
622
|
# results.
|
|
193
623
|
#
|
|
194
|
-
# @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, teamId, labels, search
|
|
624
|
+
# @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, teamId, labels, search, accessedAt
|
|
195
625
|
# @param [String] search Search term to filter your list results. Max length: 256 chars.
|
|
196
626
|
# @param [] total When set to false, the total count returned will be 0 and will not be calculated.
|
|
197
627
|
#
|
|
@@ -207,6 +637,7 @@ module Appwrite
|
|
|
207
637
|
|
|
208
638
|
api_headers = {
|
|
209
639
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
640
|
+
"accept": 'application/json',
|
|
210
641
|
}
|
|
211
642
|
|
|
212
643
|
@client.call(
|
|
@@ -246,6 +677,7 @@ module Appwrite
|
|
|
246
677
|
api_headers = {
|
|
247
678
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
248
679
|
"content-type": 'application/json',
|
|
680
|
+
"accept": 'application/json',
|
|
249
681
|
}
|
|
250
682
|
|
|
251
683
|
@client.call(
|
|
@@ -313,6 +745,7 @@ module Appwrite
|
|
|
313
745
|
api_headers = {
|
|
314
746
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
315
747
|
"content-type": 'application/json',
|
|
748
|
+
"accept": 'application/json',
|
|
316
749
|
}
|
|
317
750
|
|
|
318
751
|
@client.call(
|
|
@@ -26,6 +26,7 @@ module Appwrite
|
|
|
26
26
|
|
|
27
27
|
api_headers = {
|
|
28
28
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
29
|
+
"accept": 'application/json',
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
@client.call(
|
|
@@ -58,6 +59,7 @@ module Appwrite
|
|
|
58
59
|
|
|
59
60
|
api_headers = {
|
|
60
61
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
62
|
+
"accept": 'application/json',
|
|
61
63
|
}
|
|
62
64
|
|
|
63
65
|
@client.call(
|
|
@@ -108,6 +110,7 @@ module Appwrite
|
|
|
108
110
|
api_headers = {
|
|
109
111
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
110
112
|
"content-type": 'application/json',
|
|
113
|
+
"accept": 'application/json',
|
|
111
114
|
}
|
|
112
115
|
|
|
113
116
|
@client.call(
|
|
@@ -157,6 +160,7 @@ module Appwrite
|
|
|
157
160
|
api_headers = {
|
|
158
161
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
159
162
|
"content-type": 'application/json',
|
|
163
|
+
"accept": 'application/json',
|
|
160
164
|
}
|
|
161
165
|
|
|
162
166
|
@client.call(
|