appwrite 2.4.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (175) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +197 -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 +439 -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 +469 -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 -108
  72. data/.travis.yml +0 -16
  73. data/CHANGELOG.md +0 -1
  74. data/Gemfile +0 -4
  75. data/LICENSE +0 -12
  76. data/README.md +0 -96
  77. data/appwrite.gemspec +0 -11
  78. data/docs/examples/account/create-recovery.md +0 -15
  79. data/docs/examples/account/create-verification.md +0 -15
  80. data/docs/examples/account/delete-session.md +0 -15
  81. data/docs/examples/account/delete-sessions.md +0 -15
  82. data/docs/examples/account/delete.md +0 -15
  83. data/docs/examples/account/get-logs.md +0 -15
  84. data/docs/examples/account/get-prefs.md +0 -15
  85. data/docs/examples/account/get-session.md +0 -15
  86. data/docs/examples/account/get-sessions.md +0 -15
  87. data/docs/examples/account/get.md +0 -15
  88. data/docs/examples/account/update-email.md +0 -15
  89. data/docs/examples/account/update-name.md +0 -15
  90. data/docs/examples/account/update-password.md +0 -15
  91. data/docs/examples/account/update-prefs.md +0 -15
  92. data/docs/examples/account/update-recovery.md +0 -15
  93. data/docs/examples/account/update-verification.md +0 -15
  94. data/docs/examples/avatars/get-browser.md +0 -15
  95. data/docs/examples/avatars/get-credit-card.md +0 -15
  96. data/docs/examples/avatars/get-favicon.md +0 -15
  97. data/docs/examples/avatars/get-flag.md +0 -15
  98. data/docs/examples/avatars/get-image.md +0 -15
  99. data/docs/examples/avatars/get-initials.md +0 -15
  100. data/docs/examples/avatars/get-q-r.md +0 -15
  101. data/docs/examples/database/create-collection.md +0 -15
  102. data/docs/examples/database/create-document.md +0 -15
  103. data/docs/examples/database/delete-collection.md +0 -15
  104. data/docs/examples/database/delete-document.md +0 -15
  105. data/docs/examples/database/get-collection.md +0 -15
  106. data/docs/examples/database/get-document.md +0 -15
  107. data/docs/examples/database/list-collections.md +0 -15
  108. data/docs/examples/database/list-documents.md +0 -15
  109. data/docs/examples/database/update-collection.md +0 -15
  110. data/docs/examples/database/update-document.md +0 -15
  111. data/docs/examples/functions/create-execution.md +0 -15
  112. data/docs/examples/functions/create-tag.md +0 -15
  113. data/docs/examples/functions/create.md +0 -15
  114. data/docs/examples/functions/delete-tag.md +0 -15
  115. data/docs/examples/functions/delete.md +0 -15
  116. data/docs/examples/functions/get-execution.md +0 -15
  117. data/docs/examples/functions/get-tag.md +0 -15
  118. data/docs/examples/functions/get.md +0 -15
  119. data/docs/examples/functions/list-executions.md +0 -15
  120. data/docs/examples/functions/list-tags.md +0 -15
  121. data/docs/examples/functions/list.md +0 -15
  122. data/docs/examples/functions/update-tag.md +0 -15
  123. data/docs/examples/functions/update.md +0 -15
  124. data/docs/examples/health/get-anti-virus.md +0 -15
  125. data/docs/examples/health/get-cache.md +0 -15
  126. data/docs/examples/health/get-d-b.md +0 -15
  127. data/docs/examples/health/get-queue-certificates.md +0 -15
  128. data/docs/examples/health/get-queue-functions.md +0 -15
  129. data/docs/examples/health/get-queue-logs.md +0 -15
  130. data/docs/examples/health/get-queue-tasks.md +0 -15
  131. data/docs/examples/health/get-queue-usage.md +0 -15
  132. data/docs/examples/health/get-queue-webhooks.md +0 -15
  133. data/docs/examples/health/get-storage-local.md +0 -15
  134. data/docs/examples/health/get-time.md +0 -15
  135. data/docs/examples/health/get.md +0 -15
  136. data/docs/examples/locale/get-continents.md +0 -15
  137. data/docs/examples/locale/get-countries-e-u.md +0 -15
  138. data/docs/examples/locale/get-countries-phones.md +0 -15
  139. data/docs/examples/locale/get-countries.md +0 -15
  140. data/docs/examples/locale/get-currencies.md +0 -15
  141. data/docs/examples/locale/get-languages.md +0 -15
  142. data/docs/examples/locale/get.md +0 -15
  143. data/docs/examples/storage/create-file.md +0 -15
  144. data/docs/examples/storage/delete-file.md +0 -15
  145. data/docs/examples/storage/get-file-download.md +0 -15
  146. data/docs/examples/storage/get-file-preview.md +0 -15
  147. data/docs/examples/storage/get-file-view.md +0 -15
  148. data/docs/examples/storage/get-file.md +0 -15
  149. data/docs/examples/storage/list-files.md +0 -15
  150. data/docs/examples/storage/update-file.md +0 -15
  151. data/docs/examples/teams/create-membership.md +0 -15
  152. data/docs/examples/teams/create.md +0 -15
  153. data/docs/examples/teams/delete-membership.md +0 -15
  154. data/docs/examples/teams/delete.md +0 -15
  155. data/docs/examples/teams/get-memberships.md +0 -15
  156. data/docs/examples/teams/get.md +0 -15
  157. data/docs/examples/teams/list.md +0 -15
  158. data/docs/examples/teams/update-membership-roles.md +0 -15
  159. data/docs/examples/teams/update-membership-status.md +0 -15
  160. data/docs/examples/teams/update.md +0 -15
  161. data/docs/examples/users/create.md +0 -15
  162. data/docs/examples/users/delete-session.md +0 -15
  163. data/docs/examples/users/delete-sessions.md +0 -15
  164. data/docs/examples/users/delete.md +0 -15
  165. data/docs/examples/users/get-logs.md +0 -15
  166. data/docs/examples/users/get-prefs.md +0 -15
  167. data/docs/examples/users/get-sessions.md +0 -15
  168. data/docs/examples/users/get.md +0 -15
  169. data/docs/examples/users/list.md +0 -15
  170. data/docs/examples/users/update-email.md +0 -15
  171. data/docs/examples/users/update-name.md +0 -15
  172. data/docs/examples/users/update-password.md +0 -15
  173. data/docs/examples/users/update-prefs.md +0 -15
  174. data/docs/examples/users/update-status.md +0 -15
  175. 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