appwrite 11.0.0 → 11.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dd31e4d3077b0e16537b4b69b6de4ad4544449c619d41220b2f738d0f6e4553f
4
- data.tar.gz: d2c72892a533a8a0e56418a6c8c6413907747825560256cc29b8c8fa69d03dba
3
+ metadata.gz: 8e424b9f2d47290e383c32b18e244a3a49847d6f65c4d208336271dd8c84cd66
4
+ data.tar.gz: 5472a16fc5f3c5b37ae116e73752aaf096804c9e06103003bf47f02d93e16b3b
5
5
  SHA512:
6
- metadata.gz: 96e0adb27cadeb348aedb9e7087269f19654fd8b6c2cf74a3c213a80c88fedbfa9bf7da3bd08d7acd0ef55bea6f8df64e3220fcd2474a46ac051a2ee69bdd7f7
7
- data.tar.gz: af720aa7bbf5d2de3c044d240c21e0ad740cd7319ca597f3791b05819018469eaef591c55ff93ce421b86c138e9908b47461d595bad15ec69bd89eec3339d09c
6
+ metadata.gz: 67c94728750e2116841b3f4292d00c40ab277e11a1083e58e5e813b5444953ce55ddfdd0873a782e03c9e3a2b1c16d8b2c74fbafe4b5c7b0f4990f923b376566
7
+ data.tar.gz: 0e6d5bcca03322aa2f6353695615a802e045018502fb65a6cbe0178d0a1f9ee038a9e1367c8017fa094dd841d9be80a86f30bfcfb7808ee8d840ec60000cc8bb
@@ -15,7 +15,7 @@ module Appwrite
15
15
  'x-sdk-name'=> 'Ruby',
16
16
  'x-sdk-platform'=> 'server',
17
17
  'x-sdk-language'=> 'ruby',
18
- 'x-sdk-version'=> '11.0.0',
18
+ 'x-sdk-version'=> '11.0.2',
19
19
  'X-Appwrite-Response-Format' => '1.5.0'
20
20
  }
21
21
  @endpoint = 'https://cloud.appwrite.io/v1'
@@ -4,7 +4,7 @@ module Appwrite
4
4
  AMERICAN_EXPRESS = 'amex'
5
5
  ARGENCARD = 'argencard'
6
6
  CABAL = 'cabal'
7
- CONSOSUD = 'censosud'
7
+ CENCOSUD = 'cencosud'
8
8
  DINERS_CLUB = 'diners'
9
9
  DISCOVER = 'discover'
10
10
  ELO = 'elo'
@@ -142,6 +142,7 @@ module Appwrite
142
142
  PALAU = 'pw'
143
143
  PAPUA_NEW_GUINEA = 'pg'
144
144
  POLAND = 'pl'
145
+ FRENCH_POLYNESIA = 'pf'
145
146
  NORTH_KOREA = 'kp'
146
147
  PORTUGAL = 'pt'
147
148
  PARAGUAY = 'py'
@@ -20,6 +20,7 @@ module Appwrite
20
20
  PYTHON_3_10 = 'python-3.10'
21
21
  PYTHON_3_11 = 'python-3.11'
22
22
  PYTHON_3_12 = 'python-3.12'
23
+ PYTHON_ML_3_11 = 'python-ml-3.11'
23
24
  DENO_1_40 = 'deno-1.40'
24
25
  DART_2_15 = 'dart-2.15'
25
26
  DART_2_16 = 'dart-2.16'
data/lib/appwrite/id.rb CHANGED
@@ -1,11 +1,27 @@
1
+ require 'securerandom'
2
+
1
3
  module Appwrite
2
4
  class ID
3
5
  def self.custom(id)
4
6
  id
5
7
  end
6
-
7
- def self.unique
8
- 'unique()'
8
+
9
+ # Generate a unique ID with padding to have a longer ID
10
+ def self.unique(padding=7)
11
+ base_id = self.hex_timestamp
12
+ random_padding = SecureRandom.hex(padding)
13
+ random_padding = random_padding[0...padding]
14
+ base_id + random_padding
15
+ end
16
+
17
+ #Generate an hex ID based on timestamp
18
+ #Recreated from https://www.php.net/manual/en/function.uniqid.php
19
+ private_class_method def self.hex_timestamp
20
+ now = Time.now
21
+ sec = now.to_i
22
+ usec = now.usec
23
+ hex_timestamp = "%08x%05x" % [sec, usec]
24
+ hex_timestamp
9
25
  end
10
26
  end
11
- end
27
+ end
@@ -6,22 +6,26 @@ module Appwrite
6
6
  attr_reader :totp
7
7
  attr_reader :phone
8
8
  attr_reader :email
9
+ attr_reader :recovery_code
9
10
 
10
11
  def initialize(
11
12
  totp:,
12
13
  phone:,
13
- email:
14
+ email:,
15
+ recovery_code:
14
16
  )
15
17
  @totp = totp
16
18
  @phone = phone
17
19
  @email = email
20
+ @recovery_code = recovery_code
18
21
  end
19
22
 
20
23
  def self.from(map:)
21
24
  MfaFactors.new(
22
25
  totp: map["totp"],
23
26
  phone: map["phone"],
24
- email: map["email"]
27
+ email: map["email"],
28
+ recovery_code: map["recoveryCode"]
25
29
  )
26
30
  end
27
31
 
@@ -29,7 +33,8 @@ module Appwrite
29
33
  {
30
34
  "totp": @totp,
31
35
  "phone": @phone,
32
- "email": @email
36
+ "email": @email,
37
+ "recoveryCode": @recovery_code
33
38
  }
34
39
  end
35
40
  end
@@ -5,6 +5,7 @@ module Appwrite
5
5
  class Session
6
6
  attr_reader :id
7
7
  attr_reader :created_at
8
+ attr_reader :updated_at
8
9
  attr_reader :user_id
9
10
  attr_reader :expire
10
11
  attr_reader :provider
@@ -35,6 +36,7 @@ module Appwrite
35
36
  def initialize(
36
37
  id:,
37
38
  created_at:,
39
+ updated_at:,
38
40
  user_id:,
39
41
  expire:,
40
42
  provider:,
@@ -64,6 +66,7 @@ module Appwrite
64
66
  )
65
67
  @id = id
66
68
  @created_at = created_at
69
+ @updated_at = updated_at
67
70
  @user_id = user_id
68
71
  @expire = expire
69
72
  @provider = provider
@@ -96,6 +99,7 @@ module Appwrite
96
99
  Session.new(
97
100
  id: map["$id"],
98
101
  created_at: map["$createdAt"],
102
+ updated_at: map["$updatedAt"],
99
103
  user_id: map["userId"],
100
104
  expire: map["expire"],
101
105
  provider: map["provider"],
@@ -129,6 +133,7 @@ module Appwrite
129
133
  {
130
134
  "$id": @id,
131
135
  "$createdAt": @created_at,
136
+ "$updatedAt": @updated_at,
132
137
  "userId": @user_id,
133
138
  "expire": @expire,
134
139
  "provider": @provider,
@@ -266,7 +266,7 @@ module Appwrite
266
266
 
267
267
  # Add an authenticator app to be used as an MFA factor. Verify the
268
268
  # authenticator using the [verify
269
- # authenticator](/docs/references/cloud/client-web/account#verifyAuthenticator)
269
+ # authenticator](/docs/references/cloud/client-web/account#updateMfaAuthenticator)
270
270
  # method.
271
271
  #
272
272
  # @param [AuthenticatorType] type Type of authenticator. Must be `totp`
@@ -298,8 +298,8 @@ module Appwrite
298
298
 
299
299
 
300
300
  # Verify an authenticator app after adding it using the [add
301
- # authenticator](/docs/references/cloud/client-web/account#addAuthenticator)
302
- # method.
301
+ # authenticator](/docs/references/cloud/client-web/account#createMfaAuthenticator)
302
+ # method. add
303
303
  #
304
304
  # @param [AuthenticatorType] type Type of authenticator.
305
305
  # @param [String] otp Valid verification token.
@@ -340,7 +340,7 @@ module Appwrite
340
340
  # @param [AuthenticatorType] type Type of authenticator.
341
341
  # @param [String] otp Valid verification token.
342
342
  #
343
- # @return [User]
343
+ # @return []
344
344
  def delete_mfa_authenticator(type:, otp:)
345
345
  api_path = '/account/mfa/authenticators/{type}'
346
346
  .gsub('{type}', type)
@@ -366,7 +366,6 @@ module Appwrite
366
366
  path: api_path,
367
367
  headers: api_headers,
368
368
  params: api_params,
369
- response_type: Models::User
370
369
  )
371
370
  end
372
371
 
@@ -61,7 +61,7 @@ module Appwrite
61
61
  # of image returned is 100x100px.
62
62
  #
63
63
  #
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.
64
+ # @param [CreditCard] code Credit Card Code. Possible values: amex, argencard, cabal, cencosud, 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.
@@ -45,7 +45,7 @@ module Appwrite
45
45
  # @param [Array] targets List of Targets IDs.
46
46
  # @param [Array] cc Array of target IDs to be added as CC.
47
47
  # @param [Array] bcc Array of target IDs to be added as BCC.
48
- # @param [Array] attachments Array of compound bucket IDs to file IDs to be attached to the email.
48
+ # @param [Array] attachments Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.
49
49
  # @param [] draft Is message a draft
50
50
  # @param [] html Is content of type HTML
51
51
  # @param [String] scheduled_at Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.
@@ -109,9 +109,10 @@ module Appwrite
109
109
  # @param [Array] cc Array of target IDs to be added as CC.
110
110
  # @param [Array] bcc Array of target IDs to be added as BCC.
111
111
  # @param [String] scheduled_at Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.
112
+ # @param [Array] attachments Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.
112
113
  #
113
114
  # @return [Message]
114
- def update_email(message_id:, topics: nil, users: nil, targets: nil, subject: nil, content: nil, draft: nil, html: nil, cc: nil, bcc: nil, scheduled_at: nil)
115
+ def update_email(message_id:, topics: nil, users: nil, targets: nil, subject: nil, content: nil, draft: nil, html: nil, cc: nil, bcc: nil, scheduled_at: nil, attachments: nil)
115
116
  api_path = '/messaging/messages/email/{messageId}'
116
117
  .gsub('{messageId}', message_id)
117
118
 
@@ -130,6 +131,7 @@ module Appwrite
130
131
  cc: cc,
131
132
  bcc: bcc,
132
133
  scheduledAt: scheduled_at,
134
+ attachments: attachments,
133
135
  }
134
136
 
135
137
  api_headers = {
@@ -156,7 +158,7 @@ module Appwrite
156
158
  # @param [Array] targets List of Targets IDs.
157
159
  # @param [Hash] data Additional Data for push notification.
158
160
  # @param [String] action Action for push notification.
159
- # @param [String] image Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage.
161
+ # @param [String] image Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.
160
162
  # @param [String] icon Icon for push notification. Available only for Android and Web Platform.
161
163
  # @param [String] sound Sound for push notification. Available only for Android and IOS Platform.
162
164
  # @param [String] color Color for push notification. Available only for Android Platform.
@@ -225,7 +227,7 @@ module Appwrite
225
227
  # @param [String] body Body for push notification.
226
228
  # @param [Hash] data Additional Data for push notification.
227
229
  # @param [String] action Action for push notification.
228
- # @param [String] image Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage.
230
+ # @param [String] image Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.
229
231
  # @param [String] icon Icon for push notification. Available only for Android and Web platforms.
230
232
  # @param [String] sound Sound for push notification. Available only for Android and iOS platforms.
231
233
  # @param [String] color Color for push notification. Available only for Android platforms.
@@ -789,13 +791,13 @@ module Appwrite
789
791
  #
790
792
  # @param [String] provider_id Provider 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.
791
793
  # @param [String] name Provider name.
792
- # @param [String] from Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.
793
- # @param [String] sender_id Msg91 Sender ID.
794
- # @param [String] auth_key Msg91 Auth Key.
794
+ # @param [String] template_id Msg91 template ID
795
+ # @param [String] sender_id Msg91 sender ID.
796
+ # @param [String] auth_key Msg91 auth key.
795
797
  # @param [] enabled Set as enabled.
796
798
  #
797
799
  # @return [Provider]
798
- def create_msg91_provider(provider_id:, name:, from: nil, sender_id: nil, auth_key: nil, enabled: nil)
800
+ def create_msg91_provider(provider_id:, name:, template_id: nil, sender_id: nil, auth_key: nil, enabled: nil)
799
801
  api_path = '/messaging/providers/msg91'
800
802
 
801
803
  if provider_id.nil?
@@ -809,7 +811,7 @@ module Appwrite
809
811
  api_params = {
810
812
  providerId: provider_id,
811
813
  name: name,
812
- from: from,
814
+ templateId: template_id,
813
815
  senderId: sender_id,
814
816
  authKey: auth_key,
815
817
  enabled: enabled,
@@ -834,12 +836,12 @@ module Appwrite
834
836
  # @param [String] provider_id Provider ID.
835
837
  # @param [String] name Provider name.
836
838
  # @param [] enabled Set as enabled.
837
- # @param [String] sender_id Msg91 Sender ID.
838
- # @param [String] auth_key Msg91 Auth Key.
839
- # @param [String] from Sender number.
839
+ # @param [String] template_id Msg91 template ID.
840
+ # @param [String] sender_id Msg91 sender ID.
841
+ # @param [String] auth_key Msg91 auth key.
840
842
  #
841
843
  # @return [Provider]
842
- def update_msg91_provider(provider_id:, name: nil, enabled: nil, sender_id: nil, auth_key: nil, from: nil)
844
+ def update_msg91_provider(provider_id:, name: nil, enabled: nil, template_id: nil, sender_id: nil, auth_key: nil)
843
845
  api_path = '/messaging/providers/msg91/{providerId}'
844
846
  .gsub('{providerId}', provider_id)
845
847
 
@@ -850,9 +852,9 @@ module Appwrite
850
852
  api_params = {
851
853
  name: name,
852
854
  enabled: enabled,
855
+ templateId: template_id,
853
856
  senderId: sender_id,
854
857
  authKey: auth_key,
855
- from: from,
856
858
  }
857
859
 
858
860
  api_headers = {
@@ -1454,11 +1454,11 @@ module Appwrite
1454
1454
  end
1455
1455
 
1456
1456
 
1457
- # Returns a token with a secret key for creating a session. If the provided
1458
- # user ID has not be registered, a new user will be created. Use the returned
1459
- # user ID and secret and submit a request to the [PUT
1460
- # /account/sessions/custom](https://appwrite.io/docs/references/cloud/client-web/account#updateCustomSession)
1457
+ # Returns a token with a secret key for creating a session. Use the user ID
1458
+ # and secret and submit a request to the [PUT
1459
+ # /account/sessions/token](https://appwrite.io/docs/references/cloud/client-web/account#createSession)
1461
1460
  # endpoint to complete the login process.
1461
+ #
1462
1462
  #
1463
1463
  # @param [String] user_id User ID.
1464
1464
  # @param [Integer] length Token length in characters. The default length is 6 characters
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appwrite
3
3
  version: !ruby/object:Gem::Version
4
- version: 11.0.0
4
+ version: 11.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Appwrite Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-08 00:00:00.000000000 Z
11
+ date: 2024-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mime-types