appwrite 16.1.0 → 18.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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +2 -2
  3. data/lib/appwrite/enums/credit_card.rb +1 -1
  4. data/lib/appwrite/enums/execution_method.rb +1 -0
  5. data/lib/appwrite/enums/index_type.rb +1 -0
  6. data/lib/appwrite/models/attribute_line.rb +67 -0
  7. data/lib/appwrite/models/attribute_point.rb +67 -0
  8. data/lib/appwrite/models/attribute_polygon.rb +67 -0
  9. data/lib/appwrite/models/column_boolean.rb +67 -0
  10. data/lib/appwrite/models/column_datetime.rb +72 -0
  11. data/lib/appwrite/models/column_email.rb +72 -0
  12. data/lib/appwrite/models/column_enum.rb +77 -0
  13. data/lib/appwrite/models/column_float.rb +77 -0
  14. data/lib/appwrite/models/column_index.rb +72 -0
  15. data/lib/appwrite/models/column_index_list.rb +32 -0
  16. data/lib/appwrite/models/column_integer.rb +77 -0
  17. data/lib/appwrite/models/column_ip.rb +72 -0
  18. data/lib/appwrite/models/column_line.rb +67 -0
  19. data/lib/appwrite/models/column_list.rb +32 -0
  20. data/lib/appwrite/models/column_point.rb +67 -0
  21. data/lib/appwrite/models/column_polygon.rb +67 -0
  22. data/lib/appwrite/models/column_relationship.rb +92 -0
  23. data/lib/appwrite/models/column_string.rb +77 -0
  24. data/lib/appwrite/models/column_url.rb +72 -0
  25. data/lib/appwrite/models/database.rb +8 -3
  26. data/lib/appwrite/models/execution.rb +5 -0
  27. data/lib/appwrite/models/index.rb +18 -13
  28. data/lib/appwrite/models/row.rb +66 -0
  29. data/lib/appwrite/models/row_list.rb +36 -0
  30. data/lib/appwrite/models/table.rb +72 -0
  31. data/lib/appwrite/models/table_list.rb +32 -0
  32. data/lib/appwrite/query.rb +92 -0
  33. data/lib/appwrite/services/account.rb +15 -48
  34. data/lib/appwrite/services/avatars.rb +1 -8
  35. data/lib/appwrite/services/databases.rb +519 -120
  36. data/lib/appwrite/services/functions.rb +1 -27
  37. data/lib/appwrite/services/graphql.rb +0 -2
  38. data/lib/appwrite/services/health.rb +0 -22
  39. data/lib/appwrite/services/locale.rb +0 -8
  40. data/lib/appwrite/services/messaging.rb +0 -46
  41. data/lib/appwrite/services/sites.rb +0 -25
  42. data/lib/appwrite/services/storage.rb +0 -13
  43. data/lib/appwrite/services/tables_db.rb +2621 -0
  44. data/lib/appwrite/services/teams.rb +0 -13
  45. data/lib/appwrite/services/tokens.rb +0 -5
  46. data/lib/appwrite/services/users.rb +0 -42
  47. data/lib/appwrite.rb +24 -0
  48. metadata +26 -2
@@ -8,19 +8,22 @@ module Appwrite
8
8
  attr_reader :created_at
9
9
  attr_reader :updated_at
10
10
  attr_reader :enabled
11
+ attr_reader :type
11
12
 
12
13
  def initialize(
13
14
  id:,
14
15
  name:,
15
16
  created_at:,
16
17
  updated_at:,
17
- enabled:
18
+ enabled:,
19
+ type:
18
20
  )
19
21
  @id = id
20
22
  @name = name
21
23
  @created_at = created_at
22
24
  @updated_at = updated_at
23
25
  @enabled = enabled
26
+ @type = type
24
27
  end
25
28
 
26
29
  def self.from(map:)
@@ -29,7 +32,8 @@ module Appwrite
29
32
  name: map["name"],
30
33
  created_at: map["$createdAt"],
31
34
  updated_at: map["$updatedAt"],
32
- enabled: map["enabled"]
35
+ enabled: map["enabled"],
36
+ type: map["type"]
33
37
  )
34
38
  end
35
39
 
@@ -39,7 +43,8 @@ module Appwrite
39
43
  "name": @name,
40
44
  "$createdAt": @created_at,
41
45
  "$updatedAt": @updated_at,
42
- "enabled": @enabled
46
+ "enabled": @enabled,
47
+ "type": @type
43
48
  }
44
49
  end
45
50
  end
@@ -8,6 +8,7 @@ module Appwrite
8
8
  attr_reader :updated_at
9
9
  attr_reader :permissions
10
10
  attr_reader :function_id
11
+ attr_reader :deployment_id
11
12
  attr_reader :trigger
12
13
  attr_reader :status
13
14
  attr_reader :request_method
@@ -27,6 +28,7 @@ module Appwrite
27
28
  updated_at:,
28
29
  permissions:,
29
30
  function_id:,
31
+ deployment_id:,
30
32
  trigger:,
31
33
  status:,
32
34
  request_method:,
@@ -45,6 +47,7 @@ module Appwrite
45
47
  @updated_at = updated_at
46
48
  @permissions = permissions
47
49
  @function_id = function_id
50
+ @deployment_id = deployment_id
48
51
  @trigger = trigger
49
52
  @status = status
50
53
  @request_method = request_method
@@ -66,6 +69,7 @@ module Appwrite
66
69
  updated_at: map["$updatedAt"],
67
70
  permissions: map["$permissions"],
68
71
  function_id: map["functionId"],
72
+ deployment_id: map["deploymentId"],
69
73
  trigger: map["trigger"],
70
74
  status: map["status"],
71
75
  request_method: map["requestMethod"],
@@ -88,6 +92,7 @@ module Appwrite
88
92
  "$updatedAt": @updated_at,
89
93
  "$permissions": @permissions,
90
94
  "functionId": @function_id,
95
+ "deploymentId": @deployment_id,
91
96
  "trigger": @trigger,
92
97
  "status": @status,
93
98
  "requestMethod": @request_method,
@@ -3,6 +3,9 @@
3
3
  module Appwrite
4
4
  module Models
5
5
  class Index
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
6
9
  attr_reader :key
7
10
  attr_reader :type
8
11
  attr_reader :status
@@ -10,20 +13,22 @@ module Appwrite
10
13
  attr_reader :attributes
11
14
  attr_reader :lengths
12
15
  attr_reader :orders
13
- attr_reader :created_at
14
- attr_reader :updated_at
15
16
 
16
17
  def initialize(
18
+ id:,
19
+ created_at:,
20
+ updated_at:,
17
21
  key:,
18
22
  type:,
19
23
  status:,
20
24
  error:,
21
25
  attributes:,
22
26
  lengths:,
23
- orders: ,
24
- created_at:,
25
- updated_at:
27
+ orders:
26
28
  )
29
+ @id = id
30
+ @created_at = created_at
31
+ @updated_at = updated_at
27
32
  @key = key
28
33
  @type = type
29
34
  @status = status
@@ -31,35 +36,35 @@ module Appwrite
31
36
  @attributes = attributes
32
37
  @lengths = lengths
33
38
  @orders = orders
34
- @created_at = created_at
35
- @updated_at = updated_at
36
39
  end
37
40
 
38
41
  def self.from(map:)
39
42
  Index.new(
43
+ id: map["$id"],
44
+ created_at: map["$createdAt"],
45
+ updated_at: map["$updatedAt"],
40
46
  key: map["key"],
41
47
  type: map["type"],
42
48
  status: map["status"],
43
49
  error: map["error"],
44
50
  attributes: map["attributes"],
45
51
  lengths: map["lengths"],
46
- orders: map["orders"],
47
- created_at: map["$createdAt"],
48
- updated_at: map["$updatedAt"]
52
+ orders: map["orders"]
49
53
  )
50
54
  end
51
55
 
52
56
  def to_map
53
57
  {
58
+ "$id": @id,
59
+ "$createdAt": @created_at,
60
+ "$updatedAt": @updated_at,
54
61
  "key": @key,
55
62
  "type": @type,
56
63
  "status": @status,
57
64
  "error": @error,
58
65
  "attributes": @attributes,
59
66
  "lengths": @lengths,
60
- "orders": @orders,
61
- "$createdAt": @created_at,
62
- "$updatedAt": @updated_at
67
+ "orders": @orders
63
68
  }
64
69
  end
65
70
  end
@@ -0,0 +1,66 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Row
6
+ attr_reader :id
7
+ attr_reader :sequence
8
+ attr_reader :table_id
9
+ attr_reader :database_id
10
+ attr_reader :created_at
11
+ attr_reader :updated_at
12
+ attr_reader :permissions
13
+ attr_reader :data
14
+
15
+ def initialize(
16
+ id:,
17
+ sequence:,
18
+ table_id:,
19
+ database_id:,
20
+ created_at:,
21
+ updated_at:,
22
+ permissions:,
23
+ data:
24
+ )
25
+ @id = id
26
+ @sequence = sequence
27
+ @table_id = table_id
28
+ @database_id = database_id
29
+ @created_at = created_at
30
+ @updated_at = updated_at
31
+ @permissions = permissions
32
+ @data = data
33
+ end
34
+
35
+ def self.from(map:)
36
+ Row.new(
37
+ id: map["$id"],
38
+ sequence: map["$sequence"],
39
+ table_id: map["$tableId"],
40
+ database_id: map["$databaseId"],
41
+ created_at: map["$createdAt"],
42
+ updated_at: map["$updatedAt"],
43
+ permissions: map["$permissions"],
44
+ data: map
45
+ )
46
+ end
47
+
48
+ def to_map
49
+ {
50
+ "$id": @id,
51
+ "$sequence": @sequence,
52
+ "$tableId": @table_id,
53
+ "$databaseId": @database_id,
54
+ "$createdAt": @created_at,
55
+ "$updatedAt": @updated_at,
56
+ "$permissions": @permissions,
57
+ "data": @data
58
+ }
59
+ end
60
+
61
+ def convert_to(from_json)
62
+ from_json.call(data)
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,36 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class RowList
6
+ attr_reader :total
7
+ attr_reader :rows
8
+
9
+ def initialize(
10
+ total:,
11
+ rows:
12
+ )
13
+ @total = total
14
+ @rows = rows
15
+ end
16
+
17
+ def self.from(map:)
18
+ RowList.new(
19
+ total: map["total"],
20
+ rows: map["rows"].map { |it| Row.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "rows": @rows.map { |it| it.to_map }
28
+ }
29
+ end
30
+
31
+ def convert_to(from_json)
32
+ rows.map { |it| it.convert_to(from_json) }
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,72 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Table
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :permissions
10
+ attr_reader :database_id
11
+ attr_reader :name
12
+ attr_reader :enabled
13
+ attr_reader :row_security
14
+ attr_reader :columns
15
+ attr_reader :indexes
16
+
17
+ def initialize(
18
+ id:,
19
+ created_at:,
20
+ updated_at:,
21
+ permissions:,
22
+ database_id:,
23
+ name:,
24
+ enabled:,
25
+ row_security:,
26
+ columns:,
27
+ indexes:
28
+ )
29
+ @id = id
30
+ @created_at = created_at
31
+ @updated_at = updated_at
32
+ @permissions = permissions
33
+ @database_id = database_id
34
+ @name = name
35
+ @enabled = enabled
36
+ @row_security = row_security
37
+ @columns = columns
38
+ @indexes = indexes
39
+ end
40
+
41
+ def self.from(map:)
42
+ Table.new(
43
+ id: map["$id"],
44
+ created_at: map["$createdAt"],
45
+ updated_at: map["$updatedAt"],
46
+ permissions: map["$permissions"],
47
+ database_id: map["databaseId"],
48
+ name: map["name"],
49
+ enabled: map["enabled"],
50
+ row_security: map["rowSecurity"],
51
+ columns: map["columns"],
52
+ indexes: map["indexes"].map { |it| ColumnIndex.from(map: it) }
53
+ )
54
+ end
55
+
56
+ def to_map
57
+ {
58
+ "$id": @id,
59
+ "$createdAt": @created_at,
60
+ "$updatedAt": @updated_at,
61
+ "$permissions": @permissions,
62
+ "databaseId": @database_id,
63
+ "name": @name,
64
+ "enabled": @enabled,
65
+ "rowSecurity": @row_security,
66
+ "columns": @columns,
67
+ "indexes": @indexes.map { |it| it.to_map }
68
+ }
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class TableList
6
+ attr_reader :total
7
+ attr_reader :tables
8
+
9
+ def initialize(
10
+ total:,
11
+ tables:
12
+ )
13
+ @total = total
14
+ @tables = tables
15
+ end
16
+
17
+ def self.from(map:)
18
+ TableList.new(
19
+ total: map["total"],
20
+ tables: map["tables"].map { |it| Table.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "tables": @tables.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -108,6 +108,50 @@ module Appwrite
108
108
  return Query.new("contains", attribute, value).to_s
109
109
  end
110
110
 
111
+ def not_contains(attribute, value)
112
+ return Query.new("notContains", attribute, value).to_s
113
+ end
114
+
115
+ def not_search(attribute, value)
116
+ return Query.new("notSearch", attribute, value).to_s
117
+ end
118
+
119
+ def not_between(attribute, start, ending)
120
+ return Query.new("notBetween", attribute, [start, ending]).to_s
121
+ end
122
+
123
+ def not_starts_with(attribute, value)
124
+ return Query.new("notStartsWith", attribute, value).to_s
125
+ end
126
+
127
+ def not_ends_with(attribute, value)
128
+ return Query.new("notEndsWith", attribute, value).to_s
129
+ end
130
+
131
+ def created_before(value)
132
+ return Query.new("createdBefore", nil, value).to_s
133
+ end
134
+
135
+ def created_after(value)
136
+ return Query.new("createdAfter", nil, value).to_s
137
+ end
138
+
139
+ def created_between(start, ending)
140
+ return Query.new("createdBetween", nil, [start, ending]).to_s
141
+ end
142
+
143
+ def updated_before(value)
144
+ return Query.new("updatedBefore", nil, value).to_s
145
+ end
146
+
147
+ def updated_after(value)
148
+ return Query.new("updatedAfter", nil, value).to_s
149
+ end
150
+
151
+ def updated_between(start, ending)
152
+ return Query.new("updatedBetween", nil, [start, ending]).to_s
153
+ end
154
+
111
155
  def or(queries)
112
156
  return Query.new("or", nil, queries.map { |query| JSON.parse(query) }).to_s
113
157
  end
@@ -115,6 +159,54 @@ module Appwrite
115
159
  def and(queries)
116
160
  return Query.new("and", nil, queries.map { |query| JSON.parse(query) }).to_s
117
161
  end
162
+
163
+ def distance_equal(attribute, values, distance, meters = true)
164
+ return Query.new("distanceEqual", attribute, [[values, distance, meters]]).to_s
165
+ end
166
+
167
+ def distance_not_equal(attribute, values, distance, meters = true)
168
+ return Query.new("distanceNotEqual", attribute, [[values, distance, meters]]).to_s
169
+ end
170
+
171
+ def distance_greater_than(attribute, values, distance, meters = true)
172
+ return Query.new("distanceGreaterThan", attribute, [[values, distance, meters]]).to_s
173
+ end
174
+
175
+ def distance_less_than(attribute, values, distance, meters = true)
176
+ return Query.new("distanceLessThan", attribute, [[values, distance, meters]]).to_s
177
+ end
178
+
179
+ def intersects(attribute, values)
180
+ return Query.new("intersects", attribute, [values]).to_s
181
+ end
182
+
183
+ def not_intersects(attribute, values)
184
+ return Query.new("notIntersects", attribute, [values]).to_s
185
+ end
186
+
187
+ def crosses(attribute, values)
188
+ return Query.new("crosses", attribute, [values]).to_s
189
+ end
190
+
191
+ def not_crosses(attribute, values)
192
+ return Query.new("notCrosses", attribute, [values]).to_s
193
+ end
194
+
195
+ def overlaps(attribute, values)
196
+ return Query.new("overlaps", attribute, [values]).to_s
197
+ end
198
+
199
+ def not_overlaps(attribute, values)
200
+ return Query.new("notOverlaps", attribute, [values]).to_s
201
+ end
202
+
203
+ def touches(attribute, values)
204
+ return Query.new("touches", attribute, [values]).to_s
205
+ end
206
+
207
+ def not_touches(attribute, values)
208
+ return Query.new("notTouches", attribute, [values]).to_s
209
+ end
118
210
  end
119
211
  end
120
212
  end