appwrite 10.1.2 → 11.0.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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +36 -7
  3. data/lib/appwrite/enums/authentication_factor.rb +10 -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/execution_method.rb +12 -0
  9. data/lib/appwrite/enums/flag.rb +200 -0
  10. data/lib/appwrite/enums/image_format.rb +11 -0
  11. data/lib/appwrite/enums/image_gravity.rb +15 -0
  12. data/lib/appwrite/enums/index_type.rb +9 -0
  13. data/lib/appwrite/enums/messaging_provider_type.rb +9 -0
  14. data/lib/appwrite/enums/name.rb +19 -0
  15. data/lib/appwrite/enums/o_auth_provider.rb +45 -0
  16. data/lib/appwrite/enums/password_hash.rb +17 -0
  17. data/lib/appwrite/enums/relation_mutate.rb +9 -0
  18. data/lib/appwrite/enums/relationship_type.rb +10 -0
  19. data/lib/appwrite/enums/runtime.rb +50 -0
  20. data/lib/appwrite/enums/smtp_encryption.rb +9 -0
  21. data/lib/appwrite/models/health_certificate.rb +52 -0
  22. data/lib/appwrite/models/jwt.rb +27 -0
  23. data/lib/appwrite/models/membership.rb +5 -0
  24. data/lib/appwrite/models/message.rb +87 -0
  25. data/lib/appwrite/models/message_list.rb +32 -0
  26. data/lib/appwrite/models/mfa_challenge.rb +42 -0
  27. data/lib/appwrite/models/mfa_factors.rb +37 -0
  28. data/lib/appwrite/models/mfa_recovery_codes.rb +27 -0
  29. data/lib/appwrite/models/mfa_type.rb +32 -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 +18 -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 +10 -0
  41. data/lib/appwrite/query.rb +53 -28
  42. data/lib/appwrite/services/account.rb +935 -168
  43. data/lib/appwrite/services/avatars.rb +3 -3
  44. data/lib/appwrite/services/databases.rb +22 -16
  45. data/lib/appwrite/services/functions.rb +3 -3
  46. data/lib/appwrite/services/health.rb +138 -0
  47. data/lib/appwrite/services/messaging.rb +1886 -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 +475 -4
  51. data/lib/appwrite.rb +36 -0
  52. metadata +37 -2
@@ -14,6 +14,7 @@ module Appwrite
14
14
  attr_reader :invited
15
15
  attr_reader :joined
16
16
  attr_reader :confirm
17
+ attr_reader :mfa
17
18
  attr_reader :roles
18
19
 
19
20
  def initialize(
@@ -28,6 +29,7 @@ module Appwrite
28
29
  invited:,
29
30
  joined:,
30
31
  confirm:,
32
+ mfa:,
31
33
  roles:
32
34
  )
33
35
  @id = id
@@ -41,6 +43,7 @@ module Appwrite
41
43
  @invited = invited
42
44
  @joined = joined
43
45
  @confirm = confirm
46
+ @mfa = mfa
44
47
  @roles = roles
45
48
  end
46
49
 
@@ -57,6 +60,7 @@ module Appwrite
57
60
  invited: map["invited"],
58
61
  joined: map["joined"],
59
62
  confirm: map["confirm"],
63
+ mfa: map["mfa"],
60
64
  roles: map["roles"]
61
65
  )
62
66
  end
@@ -74,6 +78,7 @@ module Appwrite
74
78
  "invited": @invited,
75
79
  "joined": @joined,
76
80
  "confirm": @confirm,
81
+ "mfa": @mfa,
77
82
  "roles": @roles
78
83
  }
79
84
  end
@@ -0,0 +1,87 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Message
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :provider_type
10
+ attr_reader :topics
11
+ attr_reader :users
12
+ attr_reader :targets
13
+ attr_reader :scheduled_at
14
+ attr_reader :delivered_at
15
+ attr_reader :delivery_errors
16
+ attr_reader :delivered_total
17
+ attr_reader :data
18
+ attr_reader :status
19
+
20
+ def initialize(
21
+ id:,
22
+ created_at:,
23
+ updated_at:,
24
+ provider_type:,
25
+ topics:,
26
+ users:,
27
+ targets:,
28
+ scheduled_at: ,
29
+ delivered_at: ,
30
+ delivery_errors: ,
31
+ delivered_total:,
32
+ data:,
33
+ status:
34
+ )
35
+ @id = id
36
+ @created_at = created_at
37
+ @updated_at = updated_at
38
+ @provider_type = provider_type
39
+ @topics = topics
40
+ @users = users
41
+ @targets = targets
42
+ @scheduled_at = scheduled_at
43
+ @delivered_at = delivered_at
44
+ @delivery_errors = delivery_errors
45
+ @delivered_total = delivered_total
46
+ @data = data
47
+ @status = status
48
+ end
49
+
50
+ def self.from(map:)
51
+ Message.new(
52
+ id: map["$id"],
53
+ created_at: map["$createdAt"],
54
+ updated_at: map["$updatedAt"],
55
+ provider_type: map["providerType"],
56
+ topics: map["topics"],
57
+ users: map["users"],
58
+ targets: map["targets"],
59
+ scheduled_at: map["scheduledAt"],
60
+ delivered_at: map["deliveredAt"],
61
+ delivery_errors: map["deliveryErrors"],
62
+ delivered_total: map["deliveredTotal"],
63
+ data: map["data"],
64
+ status: map["status"]
65
+ )
66
+ end
67
+
68
+ def to_map
69
+ {
70
+ "$id": @id,
71
+ "$createdAt": @created_at,
72
+ "$updatedAt": @updated_at,
73
+ "providerType": @provider_type,
74
+ "topics": @topics,
75
+ "users": @users,
76
+ "targets": @targets,
77
+ "scheduledAt": @scheduled_at,
78
+ "deliveredAt": @delivered_at,
79
+ "deliveryErrors": @delivery_errors,
80
+ "deliveredTotal": @delivered_total,
81
+ "data": @data,
82
+ "status": @status
83
+ }
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class MessageList
6
+ attr_reader :total
7
+ attr_reader :messages
8
+
9
+ def initialize(
10
+ total:,
11
+ messages:
12
+ )
13
+ @total = total
14
+ @messages = messages
15
+ end
16
+
17
+ def self.from(map:)
18
+ MessageList.new(
19
+ total: map["total"],
20
+ messages: map["messages"].map { |it| Message.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "messages": @messages.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,42 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class MfaChallenge
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :user_id
9
+ attr_reader :expire
10
+
11
+ def initialize(
12
+ id:,
13
+ created_at:,
14
+ user_id:,
15
+ expire:
16
+ )
17
+ @id = id
18
+ @created_at = created_at
19
+ @user_id = user_id
20
+ @expire = expire
21
+ end
22
+
23
+ def self.from(map:)
24
+ MfaChallenge.new(
25
+ id: map["$id"],
26
+ created_at: map["$createdAt"],
27
+ user_id: map["userId"],
28
+ expire: map["expire"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "$createdAt": @created_at,
36
+ "userId": @user_id,
37
+ "expire": @expire
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,37 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class MfaFactors
6
+ attr_reader :totp
7
+ attr_reader :phone
8
+ attr_reader :email
9
+
10
+ def initialize(
11
+ totp:,
12
+ phone:,
13
+ email:
14
+ )
15
+ @totp = totp
16
+ @phone = phone
17
+ @email = email
18
+ end
19
+
20
+ def self.from(map:)
21
+ MfaFactors.new(
22
+ totp: map["totp"],
23
+ phone: map["phone"],
24
+ email: map["email"]
25
+ )
26
+ end
27
+
28
+ def to_map
29
+ {
30
+ "totp": @totp,
31
+ "phone": @phone,
32
+ "email": @email
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,27 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class MfaRecoveryCodes
6
+ attr_reader :recovery_codes
7
+
8
+ def initialize(
9
+ recovery_codes:
10
+ )
11
+ @recovery_codes = recovery_codes
12
+ end
13
+
14
+ def self.from(map:)
15
+ MfaRecoveryCodes.new(
16
+ recovery_codes: map["recoveryCodes"]
17
+ )
18
+ end
19
+
20
+ def to_map
21
+ {
22
+ "recoveryCodes": @recovery_codes
23
+ }
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class MfaType
6
+ attr_reader :secret
7
+ attr_reader :uri
8
+
9
+ def initialize(
10
+ secret:,
11
+ uri:
12
+ )
13
+ @secret = secret
14
+ @uri = uri
15
+ end
16
+
17
+ def self.from(map:)
18
+ MfaType.new(
19
+ secret: map["secret"],
20
+ uri: map["uri"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "secret": @secret,
27
+ "uri": @uri
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,67 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Provider
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :name
10
+ attr_reader :provider
11
+ attr_reader :enabled
12
+ attr_reader :type
13
+ attr_reader :credentials
14
+ attr_reader :options
15
+
16
+ def initialize(
17
+ id:,
18
+ created_at:,
19
+ updated_at:,
20
+ name:,
21
+ provider:,
22
+ enabled:,
23
+ type:,
24
+ credentials:,
25
+ options:
26
+ )
27
+ @id = id
28
+ @created_at = created_at
29
+ @updated_at = updated_at
30
+ @name = name
31
+ @provider = provider
32
+ @enabled = enabled
33
+ @type = type
34
+ @credentials = credentials
35
+ @options = options
36
+ end
37
+
38
+ def self.from(map:)
39
+ Provider.new(
40
+ id: map["$id"],
41
+ created_at: map["$createdAt"],
42
+ updated_at: map["$updatedAt"],
43
+ name: map["name"],
44
+ provider: map["provider"],
45
+ enabled: map["enabled"],
46
+ type: map["type"],
47
+ credentials: map["credentials"],
48
+ options: map["options"]
49
+ )
50
+ end
51
+
52
+ def to_map
53
+ {
54
+ "$id": @id,
55
+ "$createdAt": @created_at,
56
+ "$updatedAt": @updated_at,
57
+ "name": @name,
58
+ "provider": @provider,
59
+ "enabled": @enabled,
60
+ "type": @type,
61
+ "credentials": @credentials,
62
+ "options": @options
63
+ }
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class ProviderList
6
+ attr_reader :total
7
+ attr_reader :providers
8
+
9
+ def initialize(
10
+ total:,
11
+ providers:
12
+ )
13
+ @total = total
14
+ @providers = providers
15
+ end
16
+
17
+ def self.from(map:)
18
+ ProviderList.new(
19
+ total: map["total"],
20
+ providers: map["providers"].map { |it| Provider.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "providers": @providers.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -28,6 +28,9 @@ module Appwrite
28
28
  attr_reader :country_code
29
29
  attr_reader :country_name
30
30
  attr_reader :current
31
+ attr_reader :factors
32
+ attr_reader :secret
33
+ attr_reader :mfa_updated_at
31
34
 
32
35
  def initialize(
33
36
  id:,
@@ -54,7 +57,10 @@ module Appwrite
54
57
  device_model:,
55
58
  country_code:,
56
59
  country_name:,
57
- current:
60
+ current:,
61
+ factors:,
62
+ secret:,
63
+ mfa_updated_at:
58
64
  )
59
65
  @id = id
60
66
  @created_at = created_at
@@ -81,6 +87,9 @@ module Appwrite
81
87
  @country_code = country_code
82
88
  @country_name = country_name
83
89
  @current = current
90
+ @factors = factors
91
+ @secret = secret
92
+ @mfa_updated_at = mfa_updated_at
84
93
  end
85
94
 
86
95
  def self.from(map:)
@@ -109,7 +118,10 @@ module Appwrite
109
118
  device_model: map["deviceModel"],
110
119
  country_code: map["countryCode"],
111
120
  country_name: map["countryName"],
112
- current: map["current"]
121
+ current: map["current"],
122
+ factors: map["factors"],
123
+ secret: map["secret"],
124
+ mfa_updated_at: map["mfaUpdatedAt"]
113
125
  )
114
126
  end
115
127
 
@@ -139,7 +151,10 @@ module Appwrite
139
151
  "deviceModel": @device_model,
140
152
  "countryCode": @country_code,
141
153
  "countryName": @country_name,
142
- "current": @current
154
+ "current": @current,
155
+ "factors": @factors,
156
+ "secret": @secret,
157
+ "mfaUpdatedAt": @mfa_updated_at
143
158
  }
144
159
  end
145
160
  end
@@ -0,0 +1,67 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Subscriber
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :target_id
10
+ attr_reader :target
11
+ attr_reader :user_id
12
+ attr_reader :user_name
13
+ attr_reader :topic_id
14
+ attr_reader :provider_type
15
+
16
+ def initialize(
17
+ id:,
18
+ created_at:,
19
+ updated_at:,
20
+ target_id:,
21
+ target:,
22
+ user_id:,
23
+ user_name:,
24
+ topic_id:,
25
+ provider_type:
26
+ )
27
+ @id = id
28
+ @created_at = created_at
29
+ @updated_at = updated_at
30
+ @target_id = target_id
31
+ @target = target
32
+ @user_id = user_id
33
+ @user_name = user_name
34
+ @topic_id = topic_id
35
+ @provider_type = provider_type
36
+ end
37
+
38
+ def self.from(map:)
39
+ Subscriber.new(
40
+ id: map["$id"],
41
+ created_at: map["$createdAt"],
42
+ updated_at: map["$updatedAt"],
43
+ target_id: map["targetId"],
44
+ target: Target.from(map: map["target"]),
45
+ user_id: map["userId"],
46
+ user_name: map["userName"],
47
+ topic_id: map["topicId"],
48
+ provider_type: map["providerType"]
49
+ )
50
+ end
51
+
52
+ def to_map
53
+ {
54
+ "$id": @id,
55
+ "$createdAt": @created_at,
56
+ "$updatedAt": @updated_at,
57
+ "targetId": @target_id,
58
+ "target": @target.to_map,
59
+ "userId": @user_id,
60
+ "userName": @user_name,
61
+ "topicId": @topic_id,
62
+ "providerType": @provider_type
63
+ }
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class SubscriberList
6
+ attr_reader :total
7
+ attr_reader :subscribers
8
+
9
+ def initialize(
10
+ total:,
11
+ subscribers:
12
+ )
13
+ @total = total
14
+ @subscribers = subscribers
15
+ end
16
+
17
+ def self.from(map:)
18
+ SubscriberList.new(
19
+ total: map["total"],
20
+ subscribers: map["subscribers"].map { |it| Subscriber.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "subscribers": @subscribers.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,62 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Target
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :name
10
+ attr_reader :user_id
11
+ attr_reader :provider_id
12
+ attr_reader :provider_type
13
+ attr_reader :identifier
14
+
15
+ def initialize(
16
+ id:,
17
+ created_at:,
18
+ updated_at:,
19
+ name:,
20
+ user_id:,
21
+ provider_id: ,
22
+ provider_type:,
23
+ identifier:
24
+ )
25
+ @id = id
26
+ @created_at = created_at
27
+ @updated_at = updated_at
28
+ @name = name
29
+ @user_id = user_id
30
+ @provider_id = provider_id
31
+ @provider_type = provider_type
32
+ @identifier = identifier
33
+ end
34
+
35
+ def self.from(map:)
36
+ Target.new(
37
+ id: map["$id"],
38
+ created_at: map["$createdAt"],
39
+ updated_at: map["$updatedAt"],
40
+ name: map["name"],
41
+ user_id: map["userId"],
42
+ provider_id: map["providerId"],
43
+ provider_type: map["providerType"],
44
+ identifier: map["identifier"]
45
+ )
46
+ end
47
+
48
+ def to_map
49
+ {
50
+ "$id": @id,
51
+ "$createdAt": @created_at,
52
+ "$updatedAt": @updated_at,
53
+ "name": @name,
54
+ "userId": @user_id,
55
+ "providerId": @provider_id,
56
+ "providerType": @provider_type,
57
+ "identifier": @identifier
58
+ }
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class TargetList
6
+ attr_reader :total
7
+ attr_reader :targets
8
+
9
+ def initialize(
10
+ total:,
11
+ targets:
12
+ )
13
+ @total = total
14
+ @targets = targets
15
+ end
16
+
17
+ def self.from(map:)
18
+ TargetList.new(
19
+ total: map["total"],
20
+ targets: map["targets"].map { |it| Target.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "targets": @targets.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -8,19 +8,22 @@ module Appwrite
8
8
  attr_reader :user_id
9
9
  attr_reader :secret
10
10
  attr_reader :expire
11
+ attr_reader :phrase
11
12
 
12
13
  def initialize(
13
14
  id:,
14
15
  created_at:,
15
16
  user_id:,
16
17
  secret:,
17
- expire:
18
+ expire:,
19
+ phrase:
18
20
  )
19
21
  @id = id
20
22
  @created_at = created_at
21
23
  @user_id = user_id
22
24
  @secret = secret
23
25
  @expire = expire
26
+ @phrase = phrase
24
27
  end
25
28
 
26
29
  def self.from(map:)
@@ -29,7 +32,8 @@ module Appwrite
29
32
  created_at: map["$createdAt"],
30
33
  user_id: map["userId"],
31
34
  secret: map["secret"],
32
- expire: map["expire"]
35
+ expire: map["expire"],
36
+ phrase: map["phrase"]
33
37
  )
34
38
  end
35
39
 
@@ -39,7 +43,8 @@ module Appwrite
39
43
  "$createdAt": @created_at,
40
44
  "userId": @user_id,
41
45
  "secret": @secret,
42
- "expire": @expire
46
+ "expire": @expire,
47
+ "phrase": @phrase
43
48
  }
44
49
  end
45
50
  end