appwrite 24.2.0 → 25.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.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +19 -3
  3. data/lib/appwrite/enums/backup_services.rb +1 -0
  4. data/lib/appwrite/enums/{theme.rb → browser_theme.rb} +1 -1
  5. data/lib/appwrite/enums/build_runtime.rb +2 -3
  6. data/lib/appwrite/enums/{name.rb → health_queue_name.rb} +1 -1
  7. data/lib/appwrite/enums/organization_key_scopes.rb +16 -0
  8. data/lib/appwrite/enums/project_key_scopes.rb +2 -0
  9. data/lib/appwrite/enums/project_o_auth_provider_id.rb +0 -2
  10. data/lib/appwrite/enums/project_policy_id.rb +4 -0
  11. data/lib/appwrite/enums/region.rb +12 -0
  12. data/lib/appwrite/enums/runtime.rb +2 -3
  13. data/lib/appwrite/enums/status_code.rb +4 -4
  14. data/lib/appwrite/models/activity_event.rb +20 -20
  15. data/lib/appwrite/models/function.rb +10 -0
  16. data/lib/appwrite/models/policy_deny_aliased_email.rb +32 -0
  17. data/lib/appwrite/models/policy_deny_disposable_email.rb +32 -0
  18. data/lib/appwrite/models/policy_deny_free_email.rb +32 -0
  19. data/lib/appwrite/models/policy_password_strength.rb +52 -0
  20. data/lib/appwrite/models/presence.rb +2 -6
  21. data/lib/appwrite/models/presence_list.rb +0 -4
  22. data/lib/appwrite/models/project.rb +58 -13
  23. data/lib/appwrite/models/project_list.rb +32 -0
  24. data/lib/appwrite/models/site.rb +10 -0
  25. data/lib/appwrite/models/usage_gauge.rb +13 -3
  26. data/lib/appwrite/services/account.rb +46 -1
  27. data/lib/appwrite/services/activities.rb +2 -0
  28. data/lib/appwrite/services/advisor.rb +5 -0
  29. data/lib/appwrite/services/avatars.rb +9 -1
  30. data/lib/appwrite/services/backups.rb +12 -0
  31. data/lib/appwrite/services/databases.rb +71 -0
  32. data/lib/appwrite/services/functions.rb +36 -2
  33. data/lib/appwrite/services/graphql.rb +2 -0
  34. data/lib/appwrite/services/health.rb +52 -1
  35. data/lib/appwrite/services/locale.rb +8 -0
  36. data/lib/appwrite/services/messaging.rb +150 -0
  37. data/lib/appwrite/services/organization.rb +359 -0
  38. data/lib/appwrite/services/presences.rb +6 -1
  39. data/lib/appwrite/services/project.rb +214 -12
  40. data/lib/appwrite/services/proxy.rb +8 -0
  41. data/lib/appwrite/services/sites.rb +35 -2
  42. data/lib/appwrite/services/storage.rb +13 -0
  43. data/lib/appwrite/services/tables_db.rb +71 -0
  44. data/lib/appwrite/services/teams.rb +13 -0
  45. data/lib/appwrite/services/tokens.rb +5 -0
  46. data/lib/appwrite/services/usage.rb +12 -10
  47. data/lib/appwrite/services/users.rb +43 -0
  48. data/lib/appwrite/services/webhooks.rb +6 -0
  49. data/lib/appwrite.rb +13 -6
  50. metadata +12 -5
  51. data/lib/appwrite/enums/scopes.rb +0 -100
@@ -25,6 +25,7 @@ module Appwrite
25
25
  }
26
26
 
27
27
  api_headers = {
28
+ "X-Appwrite-Project": @client.get_config('project'),
28
29
  }
29
30
 
30
31
  @client.call(
@@ -59,12 +60,14 @@ module Appwrite
59
60
  # @param [String] provider_branch Production branch for the repo linked to the function.
60
61
  # @param [] provider_silent_mode Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.
61
62
  # @param [String] provider_root_directory Path to function code in the linked repo.
63
+ # @param [Array] provider_branches List of branch name patterns to trigger automatic deployments. Supports wildcards. Leave empty to deploy on all branches.
64
+ # @param [Array] provider_paths List of file path patterns to trigger automatic deployments. Supports wildcards. Leave empty to deploy on all file changes.
62
65
  # @param [String] build_specification Build specification for the function deployments.
63
66
  # @param [String] runtime_specification Runtime specification for the function executions.
64
67
  # @param [Integer] deployment_retention Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.
65
68
  #
66
69
  # @return [Function]
67
- def create(function_id:, name:, runtime:, execute: nil, events: nil, schedule: nil, timeout: nil, enabled: nil, logging: nil, entrypoint: nil, commands: nil, scopes: nil, installation_id: nil, provider_repository_id: nil, provider_branch: nil, provider_silent_mode: nil, provider_root_directory: nil, build_specification: nil, runtime_specification: nil, deployment_retention: nil)
70
+ def create(function_id:, name:, runtime:, execute: nil, events: nil, schedule: nil, timeout: nil, enabled: nil, logging: nil, entrypoint: nil, commands: nil, scopes: nil, installation_id: nil, provider_repository_id: nil, provider_branch: nil, provider_silent_mode: nil, provider_root_directory: nil, provider_branches: nil, provider_paths: nil, build_specification: nil, runtime_specification: nil, deployment_retention: nil)
68
71
  api_path = '/functions'
69
72
 
70
73
  if function_id.nil?
@@ -97,12 +100,15 @@ module Appwrite
97
100
  providerBranch: provider_branch,
98
101
  providerSilentMode: provider_silent_mode,
99
102
  providerRootDirectory: provider_root_directory,
103
+ providerBranches: provider_branches,
104
+ providerPaths: provider_paths,
100
105
  buildSpecification: build_specification,
101
106
  runtimeSpecification: runtime_specification,
102
107
  deploymentRetention: deployment_retention,
103
108
  }
104
109
 
105
110
  api_headers = {
111
+ "X-Appwrite-Project": @client.get_config('project'),
106
112
  "content-type": 'application/json',
107
113
  }
108
114
 
@@ -127,6 +133,7 @@ module Appwrite
127
133
  }
128
134
 
129
135
  api_headers = {
136
+ "X-Appwrite-Project": @client.get_config('project'),
130
137
  }
131
138
 
132
139
  @client.call(
@@ -150,6 +157,7 @@ module Appwrite
150
157
  }
151
158
 
152
159
  api_headers = {
160
+ "X-Appwrite-Project": @client.get_config('project'),
153
161
  }
154
162
 
155
163
  @client.call(
@@ -179,6 +187,7 @@ module Appwrite
179
187
  }
180
188
 
181
189
  api_headers = {
190
+ "X-Appwrite-Project": @client.get_config('project'),
182
191
  }
183
192
 
184
193
  @client.call(
@@ -210,12 +219,14 @@ module Appwrite
210
219
  # @param [String] provider_branch Production branch for the repo linked to the function
211
220
  # @param [] provider_silent_mode Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.
212
221
  # @param [String] provider_root_directory Path to function code in the linked repo.
222
+ # @param [Array] provider_branches List of branch name patterns to trigger automatic deployments. Supports wildcards. Leave empty to deploy on all branches.
223
+ # @param [Array] provider_paths List of file path patterns to trigger automatic deployments. Supports wildcards. Leave empty to deploy on all file changes.
213
224
  # @param [String] build_specification Build specification for the function deployments.
214
225
  # @param [String] runtime_specification Runtime specification for the function executions.
215
226
  # @param [Integer] deployment_retention Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.
216
227
  #
217
228
  # @return [Function]
218
- def update(function_id:, name:, runtime: nil, execute: nil, events: nil, schedule: nil, timeout: nil, enabled: nil, logging: nil, entrypoint: nil, commands: nil, scopes: nil, installation_id: nil, provider_repository_id: nil, provider_branch: nil, provider_silent_mode: nil, provider_root_directory: nil, build_specification: nil, runtime_specification: nil, deployment_retention: nil)
229
+ def update(function_id:, name:, runtime: nil, execute: nil, events: nil, schedule: nil, timeout: nil, enabled: nil, logging: nil, entrypoint: nil, commands: nil, scopes: nil, installation_id: nil, provider_repository_id: nil, provider_branch: nil, provider_silent_mode: nil, provider_root_directory: nil, provider_branches: nil, provider_paths: nil, build_specification: nil, runtime_specification: nil, deployment_retention: nil)
219
230
  api_path = '/functions/{functionId}'
220
231
  .gsub('{functionId}', function_id)
221
232
 
@@ -244,12 +255,15 @@ module Appwrite
244
255
  providerBranch: provider_branch,
245
256
  providerSilentMode: provider_silent_mode,
246
257
  providerRootDirectory: provider_root_directory,
258
+ providerBranches: provider_branches,
259
+ providerPaths: provider_paths,
247
260
  buildSpecification: build_specification,
248
261
  runtimeSpecification: runtime_specification,
249
262
  deploymentRetention: deployment_retention,
250
263
  }
251
264
 
252
265
  api_headers = {
266
+ "X-Appwrite-Project": @client.get_config('project'),
253
267
  "content-type": 'application/json',
254
268
  }
255
269
 
@@ -280,6 +294,7 @@ module Appwrite
280
294
  }
281
295
 
282
296
  api_headers = {
297
+ "X-Appwrite-Project": @client.get_config('project'),
283
298
  "content-type": 'application/json',
284
299
  }
285
300
 
@@ -316,6 +331,7 @@ module Appwrite
316
331
  }
317
332
 
318
333
  api_headers = {
334
+ "X-Appwrite-Project": @client.get_config('project'),
319
335
  "content-type": 'application/json',
320
336
  }
321
337
 
@@ -353,6 +369,7 @@ module Appwrite
353
369
  }
354
370
 
355
371
  api_headers = {
372
+ "X-Appwrite-Project": @client.get_config('project'),
356
373
  }
357
374
 
358
375
  @client.call(
@@ -407,6 +424,7 @@ module Appwrite
407
424
  }
408
425
 
409
426
  api_headers = {
427
+ "X-Appwrite-Project": @client.get_config('project'),
410
428
  "content-type": 'multipart/form-data',
411
429
  }
412
430
 
@@ -454,6 +472,7 @@ module Appwrite
454
472
  }
455
473
 
456
474
  api_headers = {
475
+ "X-Appwrite-Project": @client.get_config('project'),
457
476
  "content-type": 'application/json',
458
477
  }
459
478
 
@@ -520,6 +539,7 @@ module Appwrite
520
539
  }
521
540
 
522
541
  api_headers = {
542
+ "X-Appwrite-Project": @client.get_config('project'),
523
543
  "content-type": 'application/json',
524
544
  }
525
545
 
@@ -566,6 +586,7 @@ module Appwrite
566
586
  }
567
587
 
568
588
  api_headers = {
589
+ "X-Appwrite-Project": @client.get_config('project'),
569
590
  "content-type": 'application/json',
570
591
  }
571
592
 
@@ -602,6 +623,7 @@ module Appwrite
602
623
  }
603
624
 
604
625
  api_headers = {
626
+ "X-Appwrite-Project": @client.get_config('project'),
605
627
  }
606
628
 
607
629
  @client.call(
@@ -637,6 +659,7 @@ module Appwrite
637
659
  }
638
660
 
639
661
  api_headers = {
662
+ "X-Appwrite-Project": @client.get_config('project'),
640
663
  "content-type": 'application/json',
641
664
  }
642
665
 
@@ -676,6 +699,7 @@ module Appwrite
676
699
  }
677
700
 
678
701
  api_headers = {
702
+ "X-Appwrite-Project": @client.get_config('project'),
679
703
  }
680
704
 
681
705
  @client.call(
@@ -714,6 +738,7 @@ module Appwrite
714
738
  }
715
739
 
716
740
  api_headers = {
741
+ "X-Appwrite-Project": @client.get_config('project'),
717
742
  "content-type": 'application/json',
718
743
  }
719
744
 
@@ -749,6 +774,7 @@ module Appwrite
749
774
  }
750
775
 
751
776
  api_headers = {
777
+ "X-Appwrite-Project": @client.get_config('project'),
752
778
  }
753
779
 
754
780
  @client.call(
@@ -793,6 +819,7 @@ module Appwrite
793
819
  }
794
820
 
795
821
  api_headers = {
822
+ "X-Appwrite-Project": @client.get_config('project'),
796
823
  "content-type": 'application/json',
797
824
  }
798
825
 
@@ -829,6 +856,7 @@ module Appwrite
829
856
  }
830
857
 
831
858
  api_headers = {
859
+ "X-Appwrite-Project": @client.get_config('project'),
832
860
  }
833
861
 
834
862
  @client.call(
@@ -864,6 +892,7 @@ module Appwrite
864
892
  }
865
893
 
866
894
  api_headers = {
895
+ "X-Appwrite-Project": @client.get_config('project'),
867
896
  "content-type": 'application/json',
868
897
  }
869
898
 
@@ -897,6 +926,7 @@ module Appwrite
897
926
  }
898
927
 
899
928
  api_headers = {
929
+ "X-Appwrite-Project": @client.get_config('project'),
900
930
  }
901
931
 
902
932
  @client.call(
@@ -947,6 +977,7 @@ module Appwrite
947
977
  }
948
978
 
949
979
  api_headers = {
980
+ "X-Appwrite-Project": @client.get_config('project'),
950
981
  "content-type": 'application/json',
951
982
  }
952
983
 
@@ -983,6 +1014,7 @@ module Appwrite
983
1014
  }
984
1015
 
985
1016
  api_headers = {
1017
+ "X-Appwrite-Project": @client.get_config('project'),
986
1018
  }
987
1019
 
988
1020
  @client.call(
@@ -1024,6 +1056,7 @@ module Appwrite
1024
1056
  }
1025
1057
 
1026
1058
  api_headers = {
1059
+ "X-Appwrite-Project": @client.get_config('project'),
1027
1060
  "content-type": 'application/json',
1028
1061
  }
1029
1062
 
@@ -1060,6 +1093,7 @@ module Appwrite
1060
1093
  }
1061
1094
 
1062
1095
  api_headers = {
1096
+ "X-Appwrite-Project": @client.get_config('project'),
1063
1097
  "content-type": 'application/json',
1064
1098
  }
1065
1099
 
@@ -24,6 +24,7 @@ module Appwrite
24
24
  }
25
25
 
26
26
  api_headers = {
27
+ "X-Appwrite-Project": @client.get_config('project'),
27
28
  "x-sdk-graphql": 'true',
28
29
  "content-type": 'application/json',
29
30
  }
@@ -54,6 +55,7 @@ module Appwrite
54
55
  }
55
56
 
56
57
  api_headers = {
58
+ "X-Appwrite-Project": @client.get_config('project'),
57
59
  "x-sdk-graphql": 'true',
58
60
  "content-type": 'application/json',
59
61
  }
@@ -18,6 +18,7 @@ module Appwrite
18
18
  }
19
19
 
20
20
  api_headers = {
21
+ "X-Appwrite-Project": @client.get_config('project'),
21
22
  }
22
23
 
23
24
  @client.call(
@@ -41,6 +42,7 @@ module Appwrite
41
42
  }
42
43
 
43
44
  api_headers = {
45
+ "X-Appwrite-Project": @client.get_config('project'),
44
46
  }
45
47
 
46
48
  @client.call(
@@ -53,6 +55,33 @@ module Appwrite
53
55
 
54
56
  end
55
57
 
58
+ # Check the database that backs the audit and activity store. When the
59
+ # connection is reachable the endpoint returns a passing status with its
60
+ # response time.
61
+ #
62
+ #
63
+ #
64
+ # @return [HealthStatusList]
65
+ def get_audits_db()
66
+ api_path = '/health/audits-db'
67
+
68
+ api_params = {
69
+ }
70
+
71
+ api_headers = {
72
+ "X-Appwrite-Project": @client.get_config('project'),
73
+ }
74
+
75
+ @client.call(
76
+ method: 'GET',
77
+ path: api_path,
78
+ headers: api_headers,
79
+ params: api_params,
80
+ response_type: Models::HealthStatusList
81
+ )
82
+
83
+ end
84
+
56
85
  # Check the Appwrite in-memory cache servers are up and connection is
57
86
  # successful.
58
87
  #
@@ -65,6 +94,7 @@ module Appwrite
65
94
  }
66
95
 
67
96
  api_headers = {
97
+ "X-Appwrite-Project": @client.get_config('project'),
68
98
  }
69
99
 
70
100
  @client.call(
@@ -90,6 +120,7 @@ module Appwrite
90
120
  }
91
121
 
92
122
  api_headers = {
123
+ "X-Appwrite-Project": @client.get_config('project'),
93
124
  }
94
125
 
95
126
  @client.call(
@@ -119,6 +150,7 @@ module Appwrite
119
150
  }
120
151
 
121
152
  api_headers = {
153
+ "X-Appwrite-Project": @client.get_config('project'),
122
154
  }
123
155
 
124
156
  @client.call(
@@ -142,6 +174,7 @@ module Appwrite
142
174
  }
143
175
 
144
176
  api_headers = {
177
+ "X-Appwrite-Project": @client.get_config('project'),
145
178
  }
146
179
 
147
180
  @client.call(
@@ -165,6 +198,7 @@ module Appwrite
165
198
  }
166
199
 
167
200
  api_headers = {
201
+ "X-Appwrite-Project": @client.get_config('project'),
168
202
  }
169
203
 
170
204
  @client.call(
@@ -192,6 +226,7 @@ module Appwrite
192
226
  }
193
227
 
194
228
  api_headers = {
229
+ "X-Appwrite-Project": @client.get_config('project'),
195
230
  }
196
231
 
197
232
  @client.call(
@@ -218,6 +253,7 @@ module Appwrite
218
253
  }
219
254
 
220
255
  api_headers = {
256
+ "X-Appwrite-Project": @client.get_config('project'),
221
257
  }
222
258
 
223
259
  @client.call(
@@ -245,6 +281,7 @@ module Appwrite
245
281
  }
246
282
 
247
283
  api_headers = {
284
+ "X-Appwrite-Project": @client.get_config('project'),
248
285
  }
249
286
 
250
287
  @client.call(
@@ -273,6 +310,7 @@ module Appwrite
273
310
  }
274
311
 
275
312
  api_headers = {
313
+ "X-Appwrite-Project": @client.get_config('project'),
276
314
  }
277
315
 
278
316
  @client.call(
@@ -299,6 +337,7 @@ module Appwrite
299
337
  }
300
338
 
301
339
  api_headers = {
340
+ "X-Appwrite-Project": @client.get_config('project'),
302
341
  }
303
342
 
304
343
  @client.call(
@@ -314,7 +353,7 @@ module Appwrite
314
353
  # Returns the amount of failed jobs in a given queue.
315
354
  #
316
355
  #
317
- # @param [Name] name The name of the queue
356
+ # @param [HealthQueueName] name The name of the queue
318
357
  # @param [Integer] threshold Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
319
358
  #
320
359
  # @return [HealthQueue]
@@ -331,6 +370,7 @@ module Appwrite
331
370
  }
332
371
 
333
372
  api_headers = {
373
+ "X-Appwrite-Project": @client.get_config('project'),
334
374
  }
335
375
 
336
376
  @client.call(
@@ -357,6 +397,7 @@ module Appwrite
357
397
  }
358
398
 
359
399
  api_headers = {
400
+ "X-Appwrite-Project": @client.get_config('project'),
360
401
  }
361
402
 
362
403
  @client.call(
@@ -383,6 +424,7 @@ module Appwrite
383
424
  }
384
425
 
385
426
  api_headers = {
427
+ "X-Appwrite-Project": @client.get_config('project'),
386
428
  }
387
429
 
388
430
  @client.call(
@@ -409,6 +451,7 @@ module Appwrite
409
451
  }
410
452
 
411
453
  api_headers = {
454
+ "X-Appwrite-Project": @client.get_config('project'),
412
455
  }
413
456
 
414
457
  @client.call(
@@ -435,6 +478,7 @@ module Appwrite
435
478
  }
436
479
 
437
480
  api_headers = {
481
+ "X-Appwrite-Project": @client.get_config('project'),
438
482
  }
439
483
 
440
484
  @client.call(
@@ -461,6 +505,7 @@ module Appwrite
461
505
  }
462
506
 
463
507
  api_headers = {
508
+ "X-Appwrite-Project": @client.get_config('project'),
464
509
  }
465
510
 
466
511
  @client.call(
@@ -487,6 +532,7 @@ module Appwrite
487
532
  }
488
533
 
489
534
  api_headers = {
535
+ "X-Appwrite-Project": @client.get_config('project'),
490
536
  }
491
537
 
492
538
  @client.call(
@@ -513,6 +559,7 @@ module Appwrite
513
559
  }
514
560
 
515
561
  api_headers = {
562
+ "X-Appwrite-Project": @client.get_config('project'),
516
563
  }
517
564
 
518
565
  @client.call(
@@ -539,6 +586,7 @@ module Appwrite
539
586
  }
540
587
 
541
588
  api_headers = {
589
+ "X-Appwrite-Project": @client.get_config('project'),
542
590
  }
543
591
 
544
592
  @client.call(
@@ -562,6 +610,7 @@ module Appwrite
562
610
  }
563
611
 
564
612
  api_headers = {
613
+ "X-Appwrite-Project": @client.get_config('project'),
565
614
  }
566
615
 
567
616
  @client.call(
@@ -585,6 +634,7 @@ module Appwrite
585
634
  }
586
635
 
587
636
  api_headers = {
637
+ "X-Appwrite-Project": @client.get_config('project'),
588
638
  }
589
639
 
590
640
  @client.call(
@@ -614,6 +664,7 @@ module Appwrite
614
664
  }
615
665
 
616
666
  api_headers = {
667
+ "X-Appwrite-Project": @client.get_config('project'),
617
668
  }
618
669
 
619
670
  @client.call(
@@ -23,6 +23,7 @@ module Appwrite
23
23
  }
24
24
 
25
25
  api_headers = {
26
+ "X-Appwrite-Project": @client.get_config('project'),
26
27
  }
27
28
 
28
29
  @client.call(
@@ -47,6 +48,7 @@ module Appwrite
47
48
  }
48
49
 
49
50
  api_headers = {
51
+ "X-Appwrite-Project": @client.get_config('project'),
50
52
  }
51
53
 
52
54
  @client.call(
@@ -71,6 +73,7 @@ module Appwrite
71
73
  }
72
74
 
73
75
  api_headers = {
76
+ "X-Appwrite-Project": @client.get_config('project'),
74
77
  }
75
78
 
76
79
  @client.call(
@@ -95,6 +98,7 @@ module Appwrite
95
98
  }
96
99
 
97
100
  api_headers = {
101
+ "X-Appwrite-Project": @client.get_config('project'),
98
102
  }
99
103
 
100
104
  @client.call(
@@ -119,6 +123,7 @@ module Appwrite
119
123
  }
120
124
 
121
125
  api_headers = {
126
+ "X-Appwrite-Project": @client.get_config('project'),
122
127
  }
123
128
 
124
129
  @client.call(
@@ -143,6 +148,7 @@ module Appwrite
143
148
  }
144
149
 
145
150
  api_headers = {
151
+ "X-Appwrite-Project": @client.get_config('project'),
146
152
  }
147
153
 
148
154
  @client.call(
@@ -168,6 +174,7 @@ module Appwrite
168
174
  }
169
175
 
170
176
  api_headers = {
177
+ "X-Appwrite-Project": @client.get_config('project'),
171
178
  }
172
179
 
173
180
  @client.call(
@@ -192,6 +199,7 @@ module Appwrite
192
199
  }
193
200
 
194
201
  api_headers = {
202
+ "X-Appwrite-Project": @client.get_config('project'),
195
203
  }
196
204
 
197
205
  @client.call(