appwrite 10.1.2 → 11.0.0.pre.rc.4

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -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,37 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class MfaType
6
+ attr_reader :backups
7
+ attr_reader :secret
8
+ attr_reader :uri
9
+
10
+ def initialize(
11
+ backups:,
12
+ secret:,
13
+ uri:
14
+ )
15
+ @backups = backups
16
+ @secret = secret
17
+ @uri = uri
18
+ end
19
+
20
+ def self.from(map:)
21
+ MfaType.new(
22
+ backups: map["backups"],
23
+ secret: map["secret"],
24
+ uri: map["uri"]
25
+ )
26
+ end
27
+
28
+ def to_map
29
+ {
30
+ "backups": @backups,
31
+ "secret": @secret,
32
+ "uri": @uri
33
+ }
34
+ end
35
+ end
36
+ end
37
+ 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,8 @@ 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
31
33
 
32
34
  def initialize(
33
35
  id:,
@@ -54,7 +56,9 @@ module Appwrite
54
56
  device_model:,
55
57
  country_code:,
56
58
  country_name:,
57
- current:
59
+ current:,
60
+ factors:,
61
+ secret:
58
62
  )
59
63
  @id = id
60
64
  @created_at = created_at
@@ -81,6 +85,8 @@ module Appwrite
81
85
  @country_code = country_code
82
86
  @country_name = country_name
83
87
  @current = current
88
+ @factors = factors
89
+ @secret = secret
84
90
  end
85
91
 
86
92
  def self.from(map:)
@@ -109,7 +115,9 @@ module Appwrite
109
115
  device_model: map["deviceModel"],
110
116
  country_code: map["countryCode"],
111
117
  country_name: map["countryName"],
112
- current: map["current"]
118
+ current: map["current"],
119
+ factors: map["factors"],
120
+ secret: map["secret"]
113
121
  )
114
122
  end
115
123
 
@@ -139,7 +147,9 @@ module Appwrite
139
147
  "deviceModel": @device_model,
140
148
  "countryCode": @country_code,
141
149
  "countryName": @country_name,
142
- "current": @current
150
+ "current": @current,
151
+ "factors": @factors,
152
+ "secret": @secret
143
153
  }
144
154
  end
145
155
  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