appwrite 2.4.1 → 4.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 (178) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +209 -56
  3. data/lib/appwrite/exception.rb +7 -7
  4. data/lib/appwrite/file.rb +9 -15
  5. data/lib/appwrite/models/attribute_boolean.rb +52 -0
  6. data/lib/appwrite/models/attribute_email.rb +57 -0
  7. data/lib/appwrite/models/attribute_enum.rb +62 -0
  8. data/lib/appwrite/models/attribute_float.rb +62 -0
  9. data/lib/appwrite/models/attribute_integer.rb +62 -0
  10. data/lib/appwrite/models/attribute_ip.rb +57 -0
  11. data/lib/appwrite/models/attribute_list.rb +32 -0
  12. data/lib/appwrite/models/attribute_string.rb +57 -0
  13. data/lib/appwrite/models/attribute_url.rb +57 -0
  14. data/lib/appwrite/models/bucket.rb +82 -0
  15. data/lib/appwrite/models/bucket_list.rb +32 -0
  16. data/lib/appwrite/models/collection.rb +62 -0
  17. data/lib/appwrite/models/collection_list.rb +32 -0
  18. data/lib/appwrite/models/continent.rb +32 -0
  19. data/lib/appwrite/models/continent_list.rb +32 -0
  20. data/lib/appwrite/models/country.rb +32 -0
  21. data/lib/appwrite/models/country_list.rb +32 -0
  22. data/lib/appwrite/models/currency.rb +57 -0
  23. data/lib/appwrite/models/currency_list.rb +32 -0
  24. data/lib/appwrite/models/deployment.rb +77 -0
  25. data/lib/appwrite/models/deployment_list.rb +32 -0
  26. data/lib/appwrite/models/document.rb +50 -0
  27. data/lib/appwrite/models/document_list.rb +36 -0
  28. data/lib/appwrite/models/execution.rb +72 -0
  29. data/lib/appwrite/models/execution_list.rb +32 -0
  30. data/lib/appwrite/models/file.rb +77 -0
  31. data/lib/appwrite/models/file_list.rb +32 -0
  32. data/lib/appwrite/models/function.rb +92 -0
  33. data/lib/appwrite/models/function_list.rb +32 -0
  34. data/lib/appwrite/models/health_antivirus.rb +32 -0
  35. data/lib/appwrite/models/health_queue.rb +27 -0
  36. data/lib/appwrite/models/health_status.rb +32 -0
  37. data/lib/appwrite/models/health_time.rb +37 -0
  38. data/lib/appwrite/models/index.rb +47 -0
  39. data/lib/appwrite/models/index_list.rb +32 -0
  40. data/lib/appwrite/models/language.rb +37 -0
  41. data/lib/appwrite/models/language_list.rb +32 -0
  42. data/lib/appwrite/models/locale.rb +57 -0
  43. data/lib/appwrite/models/log.rb +127 -0
  44. data/lib/appwrite/models/log_list.rb +32 -0
  45. data/lib/appwrite/models/membership.rb +67 -0
  46. data/lib/appwrite/models/membership_list.rb +32 -0
  47. data/lib/appwrite/models/phone.rb +37 -0
  48. data/lib/appwrite/models/phone_list.rb +32 -0
  49. data/lib/appwrite/models/preferences.rb +30 -0
  50. data/lib/appwrite/models/runtime.rb +57 -0
  51. data/lib/appwrite/models/runtime_list.rb +32 -0
  52. data/lib/appwrite/models/session.rb +142 -0
  53. data/lib/appwrite/models/session_list.rb +32 -0
  54. data/lib/appwrite/models/team.rb +42 -0
  55. data/lib/appwrite/models/team_list.rb +32 -0
  56. data/lib/appwrite/models/token.rb +42 -0
  57. data/lib/appwrite/models/user.rb +62 -0
  58. data/lib/appwrite/models/user_list.rb +32 -0
  59. data/lib/appwrite/query.rb +42 -0
  60. data/lib/appwrite/service.rb +0 -5
  61. data/lib/appwrite/services/account.rb +400 -138
  62. data/lib/appwrite/services/avatars.rb +188 -125
  63. data/lib/appwrite/services/database.rb +875 -130
  64. data/lib/appwrite/services/functions.rb +441 -207
  65. data/lib/appwrite/services/health.rb +201 -58
  66. data/lib/appwrite/services/locale.rb +133 -32
  67. data/lib/appwrite/services/storage.rb +471 -118
  68. data/lib/appwrite/services/teams.rb +302 -118
  69. data/lib/appwrite/services/users.rb +322 -127
  70. data/lib/appwrite.rb +57 -0
  71. metadata +74 -111
  72. data/.github/ISSUE_TEMPLATE/bug.yaml +0 -82
  73. data/.github/ISSUE_TEMPLATE/documentation.yaml +0 -32
  74. data/.github/ISSUE_TEMPLATE/feature.yaml +0 -40
  75. data/.travis.yml +0 -16
  76. data/CHANGELOG.md +0 -1
  77. data/Gemfile +0 -4
  78. data/LICENSE +0 -12
  79. data/README.md +0 -96
  80. data/appwrite.gemspec +0 -11
  81. data/docs/examples/account/create-recovery.md +0 -15
  82. data/docs/examples/account/create-verification.md +0 -15
  83. data/docs/examples/account/delete-session.md +0 -15
  84. data/docs/examples/account/delete-sessions.md +0 -15
  85. data/docs/examples/account/delete.md +0 -15
  86. data/docs/examples/account/get-logs.md +0 -15
  87. data/docs/examples/account/get-prefs.md +0 -15
  88. data/docs/examples/account/get-session.md +0 -15
  89. data/docs/examples/account/get-sessions.md +0 -15
  90. data/docs/examples/account/get.md +0 -15
  91. data/docs/examples/account/update-email.md +0 -15
  92. data/docs/examples/account/update-name.md +0 -15
  93. data/docs/examples/account/update-password.md +0 -15
  94. data/docs/examples/account/update-prefs.md +0 -15
  95. data/docs/examples/account/update-recovery.md +0 -15
  96. data/docs/examples/account/update-verification.md +0 -15
  97. data/docs/examples/avatars/get-browser.md +0 -15
  98. data/docs/examples/avatars/get-credit-card.md +0 -15
  99. data/docs/examples/avatars/get-favicon.md +0 -15
  100. data/docs/examples/avatars/get-flag.md +0 -15
  101. data/docs/examples/avatars/get-image.md +0 -15
  102. data/docs/examples/avatars/get-initials.md +0 -15
  103. data/docs/examples/avatars/get-q-r.md +0 -15
  104. data/docs/examples/database/create-collection.md +0 -15
  105. data/docs/examples/database/create-document.md +0 -15
  106. data/docs/examples/database/delete-collection.md +0 -15
  107. data/docs/examples/database/delete-document.md +0 -15
  108. data/docs/examples/database/get-collection.md +0 -15
  109. data/docs/examples/database/get-document.md +0 -15
  110. data/docs/examples/database/list-collections.md +0 -15
  111. data/docs/examples/database/list-documents.md +0 -15
  112. data/docs/examples/database/update-collection.md +0 -15
  113. data/docs/examples/database/update-document.md +0 -15
  114. data/docs/examples/functions/create-execution.md +0 -15
  115. data/docs/examples/functions/create-tag.md +0 -15
  116. data/docs/examples/functions/create.md +0 -15
  117. data/docs/examples/functions/delete-tag.md +0 -15
  118. data/docs/examples/functions/delete.md +0 -15
  119. data/docs/examples/functions/get-execution.md +0 -15
  120. data/docs/examples/functions/get-tag.md +0 -15
  121. data/docs/examples/functions/get.md +0 -15
  122. data/docs/examples/functions/list-executions.md +0 -15
  123. data/docs/examples/functions/list-tags.md +0 -15
  124. data/docs/examples/functions/list.md +0 -15
  125. data/docs/examples/functions/update-tag.md +0 -15
  126. data/docs/examples/functions/update.md +0 -15
  127. data/docs/examples/health/get-anti-virus.md +0 -15
  128. data/docs/examples/health/get-cache.md +0 -15
  129. data/docs/examples/health/get-d-b.md +0 -15
  130. data/docs/examples/health/get-queue-certificates.md +0 -15
  131. data/docs/examples/health/get-queue-functions.md +0 -15
  132. data/docs/examples/health/get-queue-logs.md +0 -15
  133. data/docs/examples/health/get-queue-tasks.md +0 -15
  134. data/docs/examples/health/get-queue-usage.md +0 -15
  135. data/docs/examples/health/get-queue-webhooks.md +0 -15
  136. data/docs/examples/health/get-storage-local.md +0 -15
  137. data/docs/examples/health/get-time.md +0 -15
  138. data/docs/examples/health/get.md +0 -15
  139. data/docs/examples/locale/get-continents.md +0 -15
  140. data/docs/examples/locale/get-countries-e-u.md +0 -15
  141. data/docs/examples/locale/get-countries-phones.md +0 -15
  142. data/docs/examples/locale/get-countries.md +0 -15
  143. data/docs/examples/locale/get-currencies.md +0 -15
  144. data/docs/examples/locale/get-languages.md +0 -15
  145. data/docs/examples/locale/get.md +0 -15
  146. data/docs/examples/storage/create-file.md +0 -15
  147. data/docs/examples/storage/delete-file.md +0 -15
  148. data/docs/examples/storage/get-file-download.md +0 -15
  149. data/docs/examples/storage/get-file-preview.md +0 -15
  150. data/docs/examples/storage/get-file-view.md +0 -15
  151. data/docs/examples/storage/get-file.md +0 -15
  152. data/docs/examples/storage/list-files.md +0 -15
  153. data/docs/examples/storage/update-file.md +0 -15
  154. data/docs/examples/teams/create-membership.md +0 -15
  155. data/docs/examples/teams/create.md +0 -15
  156. data/docs/examples/teams/delete-membership.md +0 -15
  157. data/docs/examples/teams/delete.md +0 -15
  158. data/docs/examples/teams/get-memberships.md +0 -15
  159. data/docs/examples/teams/get.md +0 -15
  160. data/docs/examples/teams/list.md +0 -15
  161. data/docs/examples/teams/update-membership-roles.md +0 -15
  162. data/docs/examples/teams/update-membership-status.md +0 -15
  163. data/docs/examples/teams/update.md +0 -15
  164. data/docs/examples/users/create.md +0 -15
  165. data/docs/examples/users/delete-session.md +0 -15
  166. data/docs/examples/users/delete-sessions.md +0 -15
  167. data/docs/examples/users/delete.md +0 -15
  168. data/docs/examples/users/get-logs.md +0 -15
  169. data/docs/examples/users/get-prefs.md +0 -15
  170. data/docs/examples/users/get-sessions.md +0 -15
  171. data/docs/examples/users/get.md +0 -15
  172. data/docs/examples/users/list.md +0 -15
  173. data/docs/examples/users/update-email.md +0 -15
  174. data/docs/examples/users/update-name.md +0 -15
  175. data/docs/examples/users/update-password.md +0 -15
  176. data/docs/examples/users/update-prefs.md +0 -15
  177. data/docs/examples/users/update-status.md +0 -15
  178. data/docs/examples/users/update-verification.md +0 -15
@@ -0,0 +1,37 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class HealthTime
6
+ attr_reader :remote_time
7
+ attr_reader :local_time
8
+ attr_reader :diff
9
+
10
+ def initialize(
11
+ remote_time:,
12
+ local_time:,
13
+ diff:
14
+ )
15
+ @remote_time = remote_time
16
+ @local_time = local_time
17
+ @diff = diff
18
+ end
19
+
20
+ def self.from(map:)
21
+ HealthTime.new(
22
+ remote_time: map["remoteTime"],
23
+ local_time: map["localTime"],
24
+ diff: map["diff"]
25
+ )
26
+ end
27
+
28
+ def to_map
29
+ {
30
+ "remoteTime": @remote_time,
31
+ "localTime": @local_time,
32
+ "diff": @diff
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,47 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Index
6
+ attr_reader :key
7
+ attr_reader :type
8
+ attr_reader :status
9
+ attr_reader :attributes
10
+ attr_reader :orders
11
+
12
+ def initialize(
13
+ key:,
14
+ type:,
15
+ status:,
16
+ attributes:,
17
+ orders:
18
+ )
19
+ @key = key
20
+ @type = type
21
+ @status = status
22
+ @attributes = attributes
23
+ @orders = orders
24
+ end
25
+
26
+ def self.from(map:)
27
+ Index.new(
28
+ key: map["key"],
29
+ type: map["type"],
30
+ status: map["status"],
31
+ attributes: map["attributes"],
32
+ orders: map["orders"]
33
+ )
34
+ end
35
+
36
+ def to_map
37
+ {
38
+ "key": @key,
39
+ "type": @type,
40
+ "status": @status,
41
+ "attributes": @attributes,
42
+ "orders": @orders
43
+ }
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class IndexList
6
+ attr_reader :total
7
+ attr_reader :indexes
8
+
9
+ def initialize(
10
+ total:,
11
+ indexes:
12
+ )
13
+ @total = total
14
+ @indexes = indexes
15
+ end
16
+
17
+ def self.from(map:)
18
+ IndexList.new(
19
+ total: map["total"],
20
+ indexes: map["indexes"].map { |it| Index.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "indexes": @indexes.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,37 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Language
6
+ attr_reader :name
7
+ attr_reader :code
8
+ attr_reader :native_name
9
+
10
+ def initialize(
11
+ name:,
12
+ code:,
13
+ native_name:
14
+ )
15
+ @name = name
16
+ @code = code
17
+ @native_name = native_name
18
+ end
19
+
20
+ def self.from(map:)
21
+ Language.new(
22
+ name: map["name"],
23
+ code: map["code"],
24
+ native_name: map["nativeName"]
25
+ )
26
+ end
27
+
28
+ def to_map
29
+ {
30
+ "name": @name,
31
+ "code": @code,
32
+ "nativeName": @native_name
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class LanguageList
6
+ attr_reader :total
7
+ attr_reader :languages
8
+
9
+ def initialize(
10
+ total:,
11
+ languages:
12
+ )
13
+ @total = total
14
+ @languages = languages
15
+ end
16
+
17
+ def self.from(map:)
18
+ LanguageList.new(
19
+ total: map["total"],
20
+ languages: map["languages"].map { |it| Language.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "languages": @languages.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,57 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Locale
6
+ attr_reader :ip
7
+ attr_reader :country_code
8
+ attr_reader :country
9
+ attr_reader :continent_code
10
+ attr_reader :continent
11
+ attr_reader :eu
12
+ attr_reader :currency
13
+
14
+ def initialize(
15
+ ip:,
16
+ country_code:,
17
+ country:,
18
+ continent_code:,
19
+ continent:,
20
+ eu:,
21
+ currency:
22
+ )
23
+ @ip = ip
24
+ @country_code = country_code
25
+ @country = country
26
+ @continent_code = continent_code
27
+ @continent = continent
28
+ @eu = eu
29
+ @currency = currency
30
+ end
31
+
32
+ def self.from(map:)
33
+ Locale.new(
34
+ ip: map["ip"],
35
+ country_code: map["countryCode"],
36
+ country: map["country"],
37
+ continent_code: map["continentCode"],
38
+ continent: map["continent"],
39
+ eu: map["eu"],
40
+ currency: map["currency"]
41
+ )
42
+ end
43
+
44
+ def to_map
45
+ {
46
+ "ip": @ip,
47
+ "countryCode": @country_code,
48
+ "country": @country,
49
+ "continentCode": @continent_code,
50
+ "continent": @continent,
51
+ "eu": @eu,
52
+ "currency": @currency
53
+ }
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,127 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Log
6
+ attr_reader :event
7
+ attr_reader :user_id
8
+ attr_reader :user_email
9
+ attr_reader :user_name
10
+ attr_reader :mode
11
+ attr_reader :ip
12
+ attr_reader :time
13
+ attr_reader :os_code
14
+ attr_reader :os_name
15
+ attr_reader :os_version
16
+ attr_reader :client_type
17
+ attr_reader :client_code
18
+ attr_reader :client_name
19
+ attr_reader :client_version
20
+ attr_reader :client_engine
21
+ attr_reader :client_engine_version
22
+ attr_reader :device_name
23
+ attr_reader :device_brand
24
+ attr_reader :device_model
25
+ attr_reader :country_code
26
+ attr_reader :country_name
27
+
28
+ def initialize(
29
+ event:,
30
+ user_id:,
31
+ user_email:,
32
+ user_name:,
33
+ mode:,
34
+ ip:,
35
+ time:,
36
+ os_code:,
37
+ os_name:,
38
+ os_version:,
39
+ client_type:,
40
+ client_code:,
41
+ client_name:,
42
+ client_version:,
43
+ client_engine:,
44
+ client_engine_version:,
45
+ device_name:,
46
+ device_brand:,
47
+ device_model:,
48
+ country_code:,
49
+ country_name:
50
+ )
51
+ @event = event
52
+ @user_id = user_id
53
+ @user_email = user_email
54
+ @user_name = user_name
55
+ @mode = mode
56
+ @ip = ip
57
+ @time = time
58
+ @os_code = os_code
59
+ @os_name = os_name
60
+ @os_version = os_version
61
+ @client_type = client_type
62
+ @client_code = client_code
63
+ @client_name = client_name
64
+ @client_version = client_version
65
+ @client_engine = client_engine
66
+ @client_engine_version = client_engine_version
67
+ @device_name = device_name
68
+ @device_brand = device_brand
69
+ @device_model = device_model
70
+ @country_code = country_code
71
+ @country_name = country_name
72
+ end
73
+
74
+ def self.from(map:)
75
+ Log.new(
76
+ event: map["event"],
77
+ user_id: map["userId"],
78
+ user_email: map["userEmail"],
79
+ user_name: map["userName"],
80
+ mode: map["mode"],
81
+ ip: map["ip"],
82
+ time: map["time"],
83
+ os_code: map["osCode"],
84
+ os_name: map["osName"],
85
+ os_version: map["osVersion"],
86
+ client_type: map["clientType"],
87
+ client_code: map["clientCode"],
88
+ client_name: map["clientName"],
89
+ client_version: map["clientVersion"],
90
+ client_engine: map["clientEngine"],
91
+ client_engine_version: map["clientEngineVersion"],
92
+ device_name: map["deviceName"],
93
+ device_brand: map["deviceBrand"],
94
+ device_model: map["deviceModel"],
95
+ country_code: map["countryCode"],
96
+ country_name: map["countryName"]
97
+ )
98
+ end
99
+
100
+ def to_map
101
+ {
102
+ "event": @event,
103
+ "userId": @user_id,
104
+ "userEmail": @user_email,
105
+ "userName": @user_name,
106
+ "mode": @mode,
107
+ "ip": @ip,
108
+ "time": @time,
109
+ "osCode": @os_code,
110
+ "osName": @os_name,
111
+ "osVersion": @os_version,
112
+ "clientType": @client_type,
113
+ "clientCode": @client_code,
114
+ "clientName": @client_name,
115
+ "clientVersion": @client_version,
116
+ "clientEngine": @client_engine,
117
+ "clientEngineVersion": @client_engine_version,
118
+ "deviceName": @device_name,
119
+ "deviceBrand": @device_brand,
120
+ "deviceModel": @device_model,
121
+ "countryCode": @country_code,
122
+ "countryName": @country_name
123
+ }
124
+ end
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class LogList
6
+ attr_reader :total
7
+ attr_reader :logs
8
+
9
+ def initialize(
10
+ total:,
11
+ logs:
12
+ )
13
+ @total = total
14
+ @logs = logs
15
+ end
16
+
17
+ def self.from(map:)
18
+ LogList.new(
19
+ total: map["total"],
20
+ logs: map["logs"].map { |it| Log.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "logs": @logs.map { |it| it.to_map }
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 Membership
6
+ attr_reader :id
7
+ attr_reader :user_id
8
+ attr_reader :team_id
9
+ attr_reader :name
10
+ attr_reader :email
11
+ attr_reader :invited
12
+ attr_reader :joined
13
+ attr_reader :confirm
14
+ attr_reader :roles
15
+
16
+ def initialize(
17
+ id:,
18
+ user_id:,
19
+ team_id:,
20
+ name:,
21
+ email:,
22
+ invited:,
23
+ joined:,
24
+ confirm:,
25
+ roles:
26
+ )
27
+ @id = id
28
+ @user_id = user_id
29
+ @team_id = team_id
30
+ @name = name
31
+ @email = email
32
+ @invited = invited
33
+ @joined = joined
34
+ @confirm = confirm
35
+ @roles = roles
36
+ end
37
+
38
+ def self.from(map:)
39
+ Membership.new(
40
+ id: map["$id"],
41
+ user_id: map["userId"],
42
+ team_id: map["teamId"],
43
+ name: map["name"],
44
+ email: map["email"],
45
+ invited: map["invited"],
46
+ joined: map["joined"],
47
+ confirm: map["confirm"],
48
+ roles: map["roles"]
49
+ )
50
+ end
51
+
52
+ def to_map
53
+ {
54
+ "$id": @id,
55
+ "userId": @user_id,
56
+ "teamId": @team_id,
57
+ "name": @name,
58
+ "email": @email,
59
+ "invited": @invited,
60
+ "joined": @joined,
61
+ "confirm": @confirm,
62
+ "roles": @roles
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 MembershipList
6
+ attr_reader :total
7
+ attr_reader :memberships
8
+
9
+ def initialize(
10
+ total:,
11
+ memberships:
12
+ )
13
+ @total = total
14
+ @memberships = memberships
15
+ end
16
+
17
+ def self.from(map:)
18
+ MembershipList.new(
19
+ total: map["total"],
20
+ memberships: map["memberships"].map { |it| Membership.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "memberships": @memberships.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,37 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Phone
6
+ attr_reader :code
7
+ attr_reader :country_code
8
+ attr_reader :country_name
9
+
10
+ def initialize(
11
+ code:,
12
+ country_code:,
13
+ country_name:
14
+ )
15
+ @code = code
16
+ @country_code = country_code
17
+ @country_name = country_name
18
+ end
19
+
20
+ def self.from(map:)
21
+ Phone.new(
22
+ code: map["code"],
23
+ country_code: map["countryCode"],
24
+ country_name: map["countryName"]
25
+ )
26
+ end
27
+
28
+ def to_map
29
+ {
30
+ "code": @code,
31
+ "countryCode": @country_code,
32
+ "countryName": @country_name
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PhoneList
6
+ attr_reader :total
7
+ attr_reader :phones
8
+
9
+ def initialize(
10
+ total:,
11
+ phones:
12
+ )
13
+ @total = total
14
+ @phones = phones
15
+ end
16
+
17
+ def self.from(map:)
18
+ PhoneList.new(
19
+ total: map["total"],
20
+ phones: map["phones"].map { |it| Phone.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "phones": @phones.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,30 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Preferences
6
+
7
+ def initialize(
8
+ data:
9
+ )
10
+ @data = data
11
+ end
12
+
13
+ def self.from(map:)
14
+ Preferences.new(
15
+ data: map["data"]
16
+ )
17
+ end
18
+
19
+ def to_map
20
+ {
21
+ "data": @data
22
+ }
23
+ end
24
+
25
+ def convert_to(from_json)
26
+ from_json.call(data)
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,57 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Runtime
6
+ attr_reader :id
7
+ attr_reader :name
8
+ attr_reader :version
9
+ attr_reader :base
10
+ attr_reader :image
11
+ attr_reader :logo
12
+ attr_reader :supports
13
+
14
+ def initialize(
15
+ id:,
16
+ name:,
17
+ version:,
18
+ base:,
19
+ image:,
20
+ logo:,
21
+ supports:
22
+ )
23
+ @id = id
24
+ @name = name
25
+ @version = version
26
+ @base = base
27
+ @image = image
28
+ @logo = logo
29
+ @supports = supports
30
+ end
31
+
32
+ def self.from(map:)
33
+ Runtime.new(
34
+ id: map["$id"],
35
+ name: map["name"],
36
+ version: map["version"],
37
+ base: map["base"],
38
+ image: map["image"],
39
+ logo: map["logo"],
40
+ supports: map["supports"]
41
+ )
42
+ end
43
+
44
+ def to_map
45
+ {
46
+ "$id": @id,
47
+ "name": @name,
48
+ "version": @version,
49
+ "base": @base,
50
+ "image": @image,
51
+ "logo": @logo,
52
+ "supports": @supports
53
+ }
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class RuntimeList
6
+ attr_reader :total
7
+ attr_reader :runtimes
8
+
9
+ def initialize(
10
+ total:,
11
+ runtimes:
12
+ )
13
+ @total = total
14
+ @runtimes = runtimes
15
+ end
16
+
17
+ def self.from(map:)
18
+ RuntimeList.new(
19
+ total: map["total"],
20
+ runtimes: map["runtimes"].map { |it| Runtime.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "runtimes": @runtimes.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end