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,142 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Session
6
+ attr_reader :id
7
+ attr_reader :user_id
8
+ attr_reader :expire
9
+ attr_reader :provider
10
+ attr_reader :provider_uid
11
+ attr_reader :provider_access_token
12
+ attr_reader :provider_access_token_expiry
13
+ attr_reader :provider_refresh_token
14
+ attr_reader :ip
15
+ attr_reader :os_code
16
+ attr_reader :os_name
17
+ attr_reader :os_version
18
+ attr_reader :client_type
19
+ attr_reader :client_code
20
+ attr_reader :client_name
21
+ attr_reader :client_version
22
+ attr_reader :client_engine
23
+ attr_reader :client_engine_version
24
+ attr_reader :device_name
25
+ attr_reader :device_brand
26
+ attr_reader :device_model
27
+ attr_reader :country_code
28
+ attr_reader :country_name
29
+ attr_reader :current
30
+
31
+ def initialize(
32
+ id:,
33
+ user_id:,
34
+ expire:,
35
+ provider:,
36
+ provider_uid:,
37
+ provider_access_token:,
38
+ provider_access_token_expiry:,
39
+ provider_refresh_token:,
40
+ ip:,
41
+ os_code:,
42
+ os_name:,
43
+ os_version:,
44
+ client_type:,
45
+ client_code:,
46
+ client_name:,
47
+ client_version:,
48
+ client_engine:,
49
+ client_engine_version:,
50
+ device_name:,
51
+ device_brand:,
52
+ device_model:,
53
+ country_code:,
54
+ country_name:,
55
+ current:
56
+ )
57
+ @id = id
58
+ @user_id = user_id
59
+ @expire = expire
60
+ @provider = provider
61
+ @provider_uid = provider_uid
62
+ @provider_access_token = provider_access_token
63
+ @provider_access_token_expiry = provider_access_token_expiry
64
+ @provider_refresh_token = provider_refresh_token
65
+ @ip = ip
66
+ @os_code = os_code
67
+ @os_name = os_name
68
+ @os_version = os_version
69
+ @client_type = client_type
70
+ @client_code = client_code
71
+ @client_name = client_name
72
+ @client_version = client_version
73
+ @client_engine = client_engine
74
+ @client_engine_version = client_engine_version
75
+ @device_name = device_name
76
+ @device_brand = device_brand
77
+ @device_model = device_model
78
+ @country_code = country_code
79
+ @country_name = country_name
80
+ @current = current
81
+ end
82
+
83
+ def self.from(map:)
84
+ Session.new(
85
+ id: map["$id"],
86
+ user_id: map["userId"],
87
+ expire: map["expire"],
88
+ provider: map["provider"],
89
+ provider_uid: map["providerUid"],
90
+ provider_access_token: map["providerAccessToken"],
91
+ provider_access_token_expiry: map["providerAccessTokenExpiry"],
92
+ provider_refresh_token: map["providerRefreshToken"],
93
+ ip: map["ip"],
94
+ os_code: map["osCode"],
95
+ os_name: map["osName"],
96
+ os_version: map["osVersion"],
97
+ client_type: map["clientType"],
98
+ client_code: map["clientCode"],
99
+ client_name: map["clientName"],
100
+ client_version: map["clientVersion"],
101
+ client_engine: map["clientEngine"],
102
+ client_engine_version: map["clientEngineVersion"],
103
+ device_name: map["deviceName"],
104
+ device_brand: map["deviceBrand"],
105
+ device_model: map["deviceModel"],
106
+ country_code: map["countryCode"],
107
+ country_name: map["countryName"],
108
+ current: map["current"]
109
+ )
110
+ end
111
+
112
+ def to_map
113
+ {
114
+ "$id": @id,
115
+ "userId": @user_id,
116
+ "expire": @expire,
117
+ "provider": @provider,
118
+ "providerUid": @provider_uid,
119
+ "providerAccessToken": @provider_access_token,
120
+ "providerAccessTokenExpiry": @provider_access_token_expiry,
121
+ "providerRefreshToken": @provider_refresh_token,
122
+ "ip": @ip,
123
+ "osCode": @os_code,
124
+ "osName": @os_name,
125
+ "osVersion": @os_version,
126
+ "clientType": @client_type,
127
+ "clientCode": @client_code,
128
+ "clientName": @client_name,
129
+ "clientVersion": @client_version,
130
+ "clientEngine": @client_engine,
131
+ "clientEngineVersion": @client_engine_version,
132
+ "deviceName": @device_name,
133
+ "deviceBrand": @device_brand,
134
+ "deviceModel": @device_model,
135
+ "countryCode": @country_code,
136
+ "countryName": @country_name,
137
+ "current": @current
138
+ }
139
+ end
140
+ end
141
+ end
142
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class SessionList
6
+ attr_reader :total
7
+ attr_reader :sessions
8
+
9
+ def initialize(
10
+ total:,
11
+ sessions:
12
+ )
13
+ @total = total
14
+ @sessions = sessions
15
+ end
16
+
17
+ def self.from(map:)
18
+ SessionList.new(
19
+ total: map["total"],
20
+ sessions: map["sessions"].map { |it| Session.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "sessions": @sessions.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 Team
6
+ attr_reader :id
7
+ attr_reader :name
8
+ attr_reader :date_created
9
+ attr_reader :total
10
+
11
+ def initialize(
12
+ id:,
13
+ name:,
14
+ date_created:,
15
+ total:
16
+ )
17
+ @id = id
18
+ @name = name
19
+ @date_created = date_created
20
+ @total = total
21
+ end
22
+
23
+ def self.from(map:)
24
+ Team.new(
25
+ id: map["$id"],
26
+ name: map["name"],
27
+ date_created: map["dateCreated"],
28
+ total: map["total"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "name": @name,
36
+ "dateCreated": @date_created,
37
+ "total": @total
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class TeamList
6
+ attr_reader :total
7
+ attr_reader :teams
8
+
9
+ def initialize(
10
+ total:,
11
+ teams:
12
+ )
13
+ @total = total
14
+ @teams = teams
15
+ end
16
+
17
+ def self.from(map:)
18
+ TeamList.new(
19
+ total: map["total"],
20
+ teams: map["teams"].map { |it| Team.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "teams": @teams.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 Token
6
+ attr_reader :id
7
+ attr_reader :user_id
8
+ attr_reader :secret
9
+ attr_reader :expire
10
+
11
+ def initialize(
12
+ id:,
13
+ user_id:,
14
+ secret:,
15
+ expire:
16
+ )
17
+ @id = id
18
+ @user_id = user_id
19
+ @secret = secret
20
+ @expire = expire
21
+ end
22
+
23
+ def self.from(map:)
24
+ Token.new(
25
+ id: map["$id"],
26
+ user_id: map["userId"],
27
+ secret: map["secret"],
28
+ expire: map["expire"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "userId": @user_id,
36
+ "secret": @secret,
37
+ "expire": @expire
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,62 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class User
6
+ attr_reader :id
7
+ attr_reader :name
8
+ attr_reader :registration
9
+ attr_reader :status
10
+ attr_reader :password_update
11
+ attr_reader :email
12
+ attr_reader :email_verification
13
+ attr_reader :prefs
14
+
15
+ def initialize(
16
+ id:,
17
+ name:,
18
+ registration:,
19
+ status:,
20
+ password_update:,
21
+ email:,
22
+ email_verification:,
23
+ prefs:
24
+ )
25
+ @id = id
26
+ @name = name
27
+ @registration = registration
28
+ @status = status
29
+ @password_update = password_update
30
+ @email = email
31
+ @email_verification = email_verification
32
+ @prefs = prefs
33
+ end
34
+
35
+ def self.from(map:)
36
+ User.new(
37
+ id: map["$id"],
38
+ name: map["name"],
39
+ registration: map["registration"],
40
+ status: map["status"],
41
+ password_update: map["passwordUpdate"],
42
+ email: map["email"],
43
+ email_verification: map["emailVerification"],
44
+ prefs: Preferences.from(map: map["prefs"])
45
+ )
46
+ end
47
+
48
+ def to_map
49
+ {
50
+ "$id": @id,
51
+ "name": @name,
52
+ "registration": @registration,
53
+ "status": @status,
54
+ "passwordUpdate": @password_update,
55
+ "email": @email,
56
+ "emailVerification": @email_verification,
57
+ "prefs": @prefs.to_map
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 UserList
6
+ attr_reader :total
7
+ attr_reader :users
8
+
9
+ def initialize(
10
+ total:,
11
+ users:
12
+ )
13
+ @total = total
14
+ @users = users
15
+ end
16
+
17
+ def self.from(map:)
18
+ UserList.new(
19
+ total: map["total"],
20
+ users: map["users"].map { |it| User.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "users": @users.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,42 @@
1
+ module Appwrite
2
+ class Query
3
+ class << Query
4
+ def equal(attribute, value)
5
+ return addQuery(attribute, "equal", value)
6
+ end
7
+
8
+ def notEqual(attribute, value)
9
+ return Query.addQuery(attribute, "notEqual", value)
10
+ end
11
+ def lesser(attribute, value)
12
+ return Query.addQuery(attribute, "lesser", value)
13
+ end
14
+ def lesserEqual(attribute, value)
15
+ return Query.addQuery(attribute, "lesserEqual", value)
16
+ end
17
+ def greater(attribute, value)
18
+ return Query.addQuery(attribute, "greater", value)
19
+ end
20
+ def greaterEqual(attribute, value)
21
+ return Query.addQuery(attribute, "equal", value)
22
+ end
23
+ def search(attribute, value)
24
+ return Query.addQuery(attribute, "search", value)
25
+ end
26
+
27
+ private
28
+
29
+ def addQuery(attribute, oper, value)
30
+ if value.is_a?(Array)
31
+ "#{attribute}.#{oper}.(#{value.map {|item| parseValues(item)}.join(',')})"
32
+ else
33
+ return "#{attribute}.#{oper}.(#{parseValues(value)})"
34
+ end
35
+ end
36
+
37
+ def parseValues(value)
38
+ return value.is_a?(String) ? "\"#{value}\"" : value
39
+ end
40
+ end
41
+ end
42
+ end
@@ -1,12 +1,7 @@
1
1
  module Appwrite
2
2
  class Service
3
-
4
3
  def initialize(client)
5
4
  @client = client
6
5
  end
7
-
8
- protected
9
-
10
- private
11
6
  end
12
7
  end