appwrite 10.1.2 → 11.0.0.pre.rc.4

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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +43 -4
  3. data/lib/appwrite/enums/authentication_factor.rb +9 -0
  4. data/lib/appwrite/enums/authenticator_type.rb +7 -0
  5. data/lib/appwrite/enums/browser.rb +20 -0
  6. data/lib/appwrite/enums/compression.rb +9 -0
  7. data/lib/appwrite/enums/credit_card.rb +22 -0
  8. data/lib/appwrite/enums/encryption.rb +9 -0
  9. data/lib/appwrite/enums/execution_method.rb +12 -0
  10. data/lib/appwrite/enums/flag.rb +200 -0
  11. data/lib/appwrite/enums/image_format.rb +11 -0
  12. data/lib/appwrite/enums/image_gravity.rb +15 -0
  13. data/lib/appwrite/enums/index_type.rb +10 -0
  14. data/lib/appwrite/enums/message_status.rb +9 -0
  15. data/lib/appwrite/enums/messaging_provider_type.rb +9 -0
  16. data/lib/appwrite/enums/name.rb +18 -0
  17. data/lib/appwrite/enums/o_auth_provider.rb +45 -0
  18. data/lib/appwrite/enums/password_hash.rb +17 -0
  19. data/lib/appwrite/enums/relation_mutate.rb +9 -0
  20. data/lib/appwrite/enums/relationship_type.rb +10 -0
  21. data/lib/appwrite/enums/runtime.rb +42 -0
  22. data/lib/appwrite/models/health_certificate.rb +52 -0
  23. data/lib/appwrite/models/jwt.rb +27 -0
  24. data/lib/appwrite/models/membership.rb +5 -0
  25. data/lib/appwrite/models/message.rb +87 -0
  26. data/lib/appwrite/models/message_list.rb +32 -0
  27. data/lib/appwrite/models/mfa_challenge.rb +42 -0
  28. data/lib/appwrite/models/mfa_factors.rb +37 -0
  29. data/lib/appwrite/models/mfa_type.rb +37 -0
  30. data/lib/appwrite/models/provider.rb +67 -0
  31. data/lib/appwrite/models/provider_list.rb +32 -0
  32. data/lib/appwrite/models/session.rb +13 -3
  33. data/lib/appwrite/models/subscriber.rb +67 -0
  34. data/lib/appwrite/models/subscriber_list.rb +32 -0
  35. data/lib/appwrite/models/target.rb +62 -0
  36. data/lib/appwrite/models/target_list.rb +32 -0
  37. data/lib/appwrite/models/token.rb +8 -3
  38. data/lib/appwrite/models/topic.rb +62 -0
  39. data/lib/appwrite/models/topic_list.rb +32 -0
  40. data/lib/appwrite/models/user.rb +15 -0
  41. data/lib/appwrite/query.rb +53 -28
  42. data/lib/appwrite/services/account.rb +650 -12
  43. data/lib/appwrite/services/avatars.rb +3 -3
  44. data/lib/appwrite/services/databases.rb +6 -6
  45. data/lib/appwrite/services/functions.rb +3 -3
  46. data/lib/appwrite/services/health.rb +59 -0
  47. data/lib/appwrite/services/messaging.rb +1879 -0
  48. data/lib/appwrite/services/storage.rb +4 -4
  49. data/lib/appwrite/services/teams.rb +1 -1
  50. data/lib/appwrite/services/users.rb +382 -4
  51. data/lib/appwrite.rb +36 -0
  52. metadata +39 -4
@@ -18,7 +18,7 @@ module Appwrite
18
18
  # image at source quality. If dimensions are not specified, the default size
19
19
  # of image returned is 100x100px.
20
20
  #
21
- # @param [String] code Browser Code.
21
+ # @param [Browser] code Browser Code.
22
22
  # @param [Integer] width Image width. Pass an integer between 0 to 2000. Defaults to 100.
23
23
  # @param [Integer] height Image height. Pass an integer between 0 to 2000. Defaults to 100.
24
24
  # @param [Integer] quality Image quality. Pass an integer between 0 to 100. Defaults to 100.
@@ -61,7 +61,7 @@ module Appwrite
61
61
  # of image returned is 100x100px.
62
62
  #
63
63
  #
64
- # @param [String] code Credit Card Code. Possible values: amex, argencard, cabal, censosud, diners, discover, elo, hipercard, jcb, mastercard, naranja, targeta-shopping, union-china-pay, visa, mir, maestro.
64
+ # @param [CreditCard] code Credit Card Code. Possible values: amex, argencard, cabal, censosud, diners, discover, elo, hipercard, jcb, mastercard, naranja, targeta-shopping, union-china-pay, visa, mir, maestro.
65
65
  # @param [Integer] width Image width. Pass an integer between 0 to 2000. Defaults to 100.
66
66
  # @param [Integer] height Image height. Pass an integer between 0 to 2000. Defaults to 100.
67
67
  # @param [Integer] quality Image quality. Pass an integer between 0 to 100. Defaults to 100.
@@ -136,7 +136,7 @@ module Appwrite
136
136
  # of image returned is 100x100px.
137
137
  #
138
138
  #
139
- # @param [String] code Country Code. ISO Alpha-2 country code format.
139
+ # @param [Flag] code Country Code. ISO Alpha-2 country code format.
140
140
  # @param [Integer] width Image width. Pass an integer between 0 to 2000. Defaults to 100.
141
141
  # @param [Integer] height Image height. Pass an integer between 0 to 2000. Defaults to 100.
142
142
  # @param [Integer] quality Image quality. Pass an integer between 0 to 100. Defaults to 100.
@@ -532,7 +532,7 @@ module Appwrite
532
532
  # @param [String] collection_id Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
533
533
  # @param [String] key Attribute Key.
534
534
  # @param [] required Is attribute required?
535
- # @param [String] default Default value for the attribute in ISO 8601 format. Cannot be set when attribute is required.
535
+ # @param [String] default Default value for the attribute in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Cannot be set when attribute is required.
536
536
  # @param [] array Is attribute an array?
537
537
  #
538
538
  # @return [AttributeDatetime]
@@ -1229,11 +1229,11 @@ module Appwrite
1229
1229
  # @param [String] database_id Database ID.
1230
1230
  # @param [String] collection_id Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
1231
1231
  # @param [String] related_collection_id Related Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
1232
- # @param [String] type Relation type
1232
+ # @param [RelationshipType] type Relation type
1233
1233
  # @param [] two_way Is Two Way?
1234
1234
  # @param [String] key Attribute Key.
1235
1235
  # @param [String] two_way_key Two Way Attribute Key.
1236
- # @param [String] on_delete Constraints option
1236
+ # @param [RelationMutate] on_delete Constraints option
1237
1237
  #
1238
1238
  # @return [AttributeRelationship]
1239
1239
  def create_relationship_attribute(database_id:, collection_id:, related_collection_id:, type:, two_way: nil, key: nil, two_way_key: nil, on_delete: nil)
@@ -1595,7 +1595,7 @@ module Appwrite
1595
1595
  # @param [String] database_id Database ID.
1596
1596
  # @param [String] collection_id Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
1597
1597
  # @param [String] key Attribute Key.
1598
- # @param [String] on_delete Constraints option
1598
+ # @param [RelationMutate] on_delete Constraints option
1599
1599
  #
1600
1600
  # @return [AttributeRelationship]
1601
1601
  def update_relationship_attribute(database_id:, collection_id:, key:, on_delete: nil)
@@ -1732,7 +1732,7 @@ module Appwrite
1732
1732
  # @param [String] database_id Database ID.
1733
1733
  # @param [String] collection_id Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
1734
1734
  # @param [String] document_id Document ID.
1735
- # @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Only method allowed is select.
1735
+ # @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.
1736
1736
  #
1737
1737
  # @return [Document]
1738
1738
  def get_document(database_id:, collection_id:, document_id:, queries: nil)
@@ -1902,7 +1902,7 @@ module Appwrite
1902
1902
  # @param [String] database_id Database ID.
1903
1903
  # @param [String] collection_id Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).
1904
1904
  # @param [String] key Index Key.
1905
- # @param [String] type Index type.
1905
+ # @param [IndexType] type Index type.
1906
1906
  # @param [Array] attributes Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long.
1907
1907
  # @param [Array] orders Array of index orders. Maximum of 100 orders are allowed.
1908
1908
  #
@@ -43,7 +43,7 @@ module Appwrite
43
43
  #
44
44
  # @param [String] function_id Function 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.
45
45
  # @param [String] name Function name. Max length: 128 chars.
46
- # @param [String] runtime Execution runtime.
46
+ # @param [Runtime] runtime Execution runtime.
47
47
  # @param [Array] execute An array of role strings with execution permissions. By default no user is granted with any execute permissions. [learn more about roles](https://appwrite.io/docs/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.
48
48
  # @param [Array] events Events list. Maximum of 100 events are allowed.
49
49
  # @param [String] schedule Schedule CRON syntax.
@@ -173,7 +173,7 @@ module Appwrite
173
173
  #
174
174
  # @param [String] function_id Function ID.
175
175
  # @param [String] name Function name. Max length: 128 chars.
176
- # @param [String] runtime Execution runtime.
176
+ # @param [Runtime] runtime Execution runtime.
177
177
  # @param [Array] execute An array of role strings with execution permissions. By default no user is granted with any execute permissions. [learn more about roles](https://appwrite.io/docs/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.
178
178
  # @param [Array] events Events list. Maximum of 100 events are allowed.
179
179
  # @param [String] schedule Schedule CRON syntax.
@@ -588,7 +588,7 @@ module Appwrite
588
588
  # @param [String] body HTTP body of execution. Default value is empty string.
589
589
  # @param [] async Execute code in the background. Default value is false.
590
590
  # @param [String] xpath HTTP path of execution. Path can include query params. Default value is /
591
- # @param [String] method HTTP method of execution. Default value is GET.
591
+ # @param [ExecutionMethod] method HTTP method of execution. Default value is GET.
592
592
  # @param [Hash] headers HTTP headers of execution. Defaults to empty.
593
593
  #
594
594
  # @return [Execution]
@@ -80,6 +80,32 @@ module Appwrite
80
80
  end
81
81
 
82
82
 
83
+ # Get the SSL certificate for a domain
84
+ #
85
+ # @param [String] domain string
86
+ #
87
+ # @return [HealthCertificate]
88
+ def get_certificate(domain: nil)
89
+ api_path = '/health/certificate'
90
+
91
+ api_params = {
92
+ domain: domain,
93
+ }
94
+
95
+ api_headers = {
96
+ "content-type": 'application/json',
97
+ }
98
+
99
+ @client.call(
100
+ method: 'GET',
101
+ path: api_path,
102
+ headers: api_headers,
103
+ params: api_params,
104
+ response_type: Models::HealthCertificate
105
+ )
106
+ end
107
+
108
+
83
109
  # Check the Appwrite database servers are up and connection is successful.
84
110
  #
85
111
  #
@@ -264,6 +290,39 @@ module Appwrite
264
290
  end
265
291
 
266
292
 
293
+ # Returns the amount of failed jobs in a given queue.
294
+ #
295
+ #
296
+ # @param [Name] name The name of the queue
297
+ # @param [Integer] threshold Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
298
+ #
299
+ # @return [HealthQueue]
300
+ def get_failed_jobs(name:, threshold: nil)
301
+ api_path = '/health/queue/failed/{name}'
302
+ .gsub('{name}', name)
303
+
304
+ if name.nil?
305
+ raise Appwrite::Exception.new('Missing required parameter: "name"')
306
+ end
307
+
308
+ api_params = {
309
+ threshold: threshold,
310
+ }
311
+
312
+ api_headers = {
313
+ "content-type": 'application/json',
314
+ }
315
+
316
+ @client.call(
317
+ method: 'GET',
318
+ path: api_path,
319
+ headers: api_headers,
320
+ params: api_params,
321
+ response_type: Models::HealthQueue
322
+ )
323
+ end
324
+
325
+
267
326
  #
268
327
  #
269
328
  # @param [Integer] threshold Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.