appwrite 16.0.0 → 17.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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +2 -2
  3. data/lib/appwrite/enums/build_runtime.rb +2 -0
  4. data/lib/appwrite/enums/image_format.rb +1 -0
  5. data/lib/appwrite/enums/runtime.rb +2 -0
  6. data/lib/appwrite/models/attribute_string.rb +8 -3
  7. data/lib/appwrite/models/column_boolean.rb +67 -0
  8. data/lib/appwrite/models/column_datetime.rb +72 -0
  9. data/lib/appwrite/models/column_email.rb +72 -0
  10. data/lib/appwrite/models/column_enum.rb +77 -0
  11. data/lib/appwrite/models/column_float.rb +77 -0
  12. data/lib/appwrite/models/column_index.rb +72 -0
  13. data/lib/appwrite/models/column_index_list.rb +32 -0
  14. data/lib/appwrite/models/column_integer.rb +77 -0
  15. data/lib/appwrite/models/column_ip.rb +72 -0
  16. data/lib/appwrite/models/column_list.rb +32 -0
  17. data/lib/appwrite/models/column_relationship.rb +92 -0
  18. data/lib/appwrite/models/column_string.rb +77 -0
  19. data/lib/appwrite/models/column_url.rb +72 -0
  20. data/lib/appwrite/models/database.rb +8 -3
  21. data/lib/appwrite/models/document.rb +5 -0
  22. data/lib/appwrite/models/execution.rb +5 -0
  23. data/lib/appwrite/models/index.rb +18 -13
  24. data/lib/appwrite/models/row.rb +66 -0
  25. data/lib/appwrite/models/row_list.rb +36 -0
  26. data/lib/appwrite/models/table.rb +72 -0
  27. data/lib/appwrite/models/table_list.rb +32 -0
  28. data/lib/appwrite/query.rb +36 -0
  29. data/lib/appwrite/services/account.rb +15 -48
  30. data/lib/appwrite/services/avatars.rb +0 -7
  31. data/lib/appwrite/services/databases.rb +356 -97
  32. data/lib/appwrite/services/functions.rb +0 -26
  33. data/lib/appwrite/services/graphql.rb +0 -2
  34. data/lib/appwrite/services/health.rb +0 -22
  35. data/lib/appwrite/services/locale.rb +0 -8
  36. data/lib/appwrite/services/messaging.rb +0 -46
  37. data/lib/appwrite/services/sites.rb +0 -25
  38. data/lib/appwrite/services/storage.rb +0 -13
  39. data/lib/appwrite/services/tables_db.rb +2318 -0
  40. data/lib/appwrite/services/teams.rb +0 -13
  41. data/lib/appwrite/services/tokens.rb +1 -6
  42. data/lib/appwrite/services/users.rb +1 -43
  43. data/lib/appwrite.rb +18 -0
  44. metadata +20 -2
@@ -0,0 +1,72 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class ColumnIp
6
+ attr_reader :key
7
+ attr_reader :type
8
+ attr_reader :status
9
+ attr_reader :error
10
+ attr_reader :required
11
+ attr_reader :array
12
+ attr_reader :created_at
13
+ attr_reader :updated_at
14
+ attr_reader :format
15
+ attr_reader :default
16
+
17
+ def initialize(
18
+ key:,
19
+ type:,
20
+ status:,
21
+ error:,
22
+ required:,
23
+ array: ,
24
+ created_at:,
25
+ updated_at:,
26
+ format:,
27
+ default:
28
+ )
29
+ @key = key
30
+ @type = type
31
+ @status = status
32
+ @error = error
33
+ @required = required
34
+ @array = array
35
+ @created_at = created_at
36
+ @updated_at = updated_at
37
+ @format = format
38
+ @default = default
39
+ end
40
+
41
+ def self.from(map:)
42
+ ColumnIp.new(
43
+ key: map["key"],
44
+ type: map["type"],
45
+ status: map["status"],
46
+ error: map["error"],
47
+ required: map["required"],
48
+ array: map["array"],
49
+ created_at: map["$createdAt"],
50
+ updated_at: map["$updatedAt"],
51
+ format: map["format"],
52
+ default: map["default"]
53
+ )
54
+ end
55
+
56
+ def to_map
57
+ {
58
+ "key": @key,
59
+ "type": @type,
60
+ "status": @status,
61
+ "error": @error,
62
+ "required": @required,
63
+ "array": @array,
64
+ "$createdAt": @created_at,
65
+ "$updatedAt": @updated_at,
66
+ "format": @format,
67
+ "default": @default
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 ColumnList
6
+ attr_reader :total
7
+ attr_reader :columns
8
+
9
+ def initialize(
10
+ total:,
11
+ columns:
12
+ )
13
+ @total = total
14
+ @columns = columns
15
+ end
16
+
17
+ def self.from(map:)
18
+ ColumnList.new(
19
+ total: map["total"],
20
+ columns: map["columns"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "columns": @columns
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,92 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class ColumnRelationship
6
+ attr_reader :key
7
+ attr_reader :type
8
+ attr_reader :status
9
+ attr_reader :error
10
+ attr_reader :required
11
+ attr_reader :array
12
+ attr_reader :created_at
13
+ attr_reader :updated_at
14
+ attr_reader :related_table
15
+ attr_reader :relation_type
16
+ attr_reader :two_way
17
+ attr_reader :two_way_key
18
+ attr_reader :on_delete
19
+ attr_reader :side
20
+
21
+ def initialize(
22
+ key:,
23
+ type:,
24
+ status:,
25
+ error:,
26
+ required:,
27
+ array: ,
28
+ created_at:,
29
+ updated_at:,
30
+ related_table:,
31
+ relation_type:,
32
+ two_way:,
33
+ two_way_key:,
34
+ on_delete:,
35
+ side:
36
+ )
37
+ @key = key
38
+ @type = type
39
+ @status = status
40
+ @error = error
41
+ @required = required
42
+ @array = array
43
+ @created_at = created_at
44
+ @updated_at = updated_at
45
+ @related_table = related_table
46
+ @relation_type = relation_type
47
+ @two_way = two_way
48
+ @two_way_key = two_way_key
49
+ @on_delete = on_delete
50
+ @side = side
51
+ end
52
+
53
+ def self.from(map:)
54
+ ColumnRelationship.new(
55
+ key: map["key"],
56
+ type: map["type"],
57
+ status: map["status"],
58
+ error: map["error"],
59
+ required: map["required"],
60
+ array: map["array"],
61
+ created_at: map["$createdAt"],
62
+ updated_at: map["$updatedAt"],
63
+ related_table: map["relatedTable"],
64
+ relation_type: map["relationType"],
65
+ two_way: map["twoWay"],
66
+ two_way_key: map["twoWayKey"],
67
+ on_delete: map["onDelete"],
68
+ side: map["side"]
69
+ )
70
+ end
71
+
72
+ def to_map
73
+ {
74
+ "key": @key,
75
+ "type": @type,
76
+ "status": @status,
77
+ "error": @error,
78
+ "required": @required,
79
+ "array": @array,
80
+ "$createdAt": @created_at,
81
+ "$updatedAt": @updated_at,
82
+ "relatedTable": @related_table,
83
+ "relationType": @relation_type,
84
+ "twoWay": @two_way,
85
+ "twoWayKey": @two_way_key,
86
+ "onDelete": @on_delete,
87
+ "side": @side
88
+ }
89
+ end
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,77 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class ColumnString
6
+ attr_reader :key
7
+ attr_reader :type
8
+ attr_reader :status
9
+ attr_reader :error
10
+ attr_reader :required
11
+ attr_reader :array
12
+ attr_reader :created_at
13
+ attr_reader :updated_at
14
+ attr_reader :size
15
+ attr_reader :default
16
+ attr_reader :encrypt
17
+
18
+ def initialize(
19
+ key:,
20
+ type:,
21
+ status:,
22
+ error:,
23
+ required:,
24
+ array: ,
25
+ created_at:,
26
+ updated_at:,
27
+ size:,
28
+ default: ,
29
+ encrypt:
30
+ )
31
+ @key = key
32
+ @type = type
33
+ @status = status
34
+ @error = error
35
+ @required = required
36
+ @array = array
37
+ @created_at = created_at
38
+ @updated_at = updated_at
39
+ @size = size
40
+ @default = default
41
+ @encrypt = encrypt
42
+ end
43
+
44
+ def self.from(map:)
45
+ ColumnString.new(
46
+ key: map["key"],
47
+ type: map["type"],
48
+ status: map["status"],
49
+ error: map["error"],
50
+ required: map["required"],
51
+ array: map["array"],
52
+ created_at: map["$createdAt"],
53
+ updated_at: map["$updatedAt"],
54
+ size: map["size"],
55
+ default: map["default"],
56
+ encrypt: map["encrypt"]
57
+ )
58
+ end
59
+
60
+ def to_map
61
+ {
62
+ "key": @key,
63
+ "type": @type,
64
+ "status": @status,
65
+ "error": @error,
66
+ "required": @required,
67
+ "array": @array,
68
+ "$createdAt": @created_at,
69
+ "$updatedAt": @updated_at,
70
+ "size": @size,
71
+ "default": @default,
72
+ "encrypt": @encrypt
73
+ }
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,72 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class ColumnUrl
6
+ attr_reader :key
7
+ attr_reader :type
8
+ attr_reader :status
9
+ attr_reader :error
10
+ attr_reader :required
11
+ attr_reader :array
12
+ attr_reader :created_at
13
+ attr_reader :updated_at
14
+ attr_reader :format
15
+ attr_reader :default
16
+
17
+ def initialize(
18
+ key:,
19
+ type:,
20
+ status:,
21
+ error:,
22
+ required:,
23
+ array: ,
24
+ created_at:,
25
+ updated_at:,
26
+ format:,
27
+ default:
28
+ )
29
+ @key = key
30
+ @type = type
31
+ @status = status
32
+ @error = error
33
+ @required = required
34
+ @array = array
35
+ @created_at = created_at
36
+ @updated_at = updated_at
37
+ @format = format
38
+ @default = default
39
+ end
40
+
41
+ def self.from(map:)
42
+ ColumnUrl.new(
43
+ key: map["key"],
44
+ type: map["type"],
45
+ status: map["status"],
46
+ error: map["error"],
47
+ required: map["required"],
48
+ array: map["array"],
49
+ created_at: map["$createdAt"],
50
+ updated_at: map["$updatedAt"],
51
+ format: map["format"],
52
+ default: map["default"]
53
+ )
54
+ end
55
+
56
+ def to_map
57
+ {
58
+ "key": @key,
59
+ "type": @type,
60
+ "status": @status,
61
+ "error": @error,
62
+ "required": @required,
63
+ "array": @array,
64
+ "$createdAt": @created_at,
65
+ "$updatedAt": @updated_at,
66
+ "format": @format,
67
+ "default": @default
68
+ }
69
+ end
70
+ end
71
+ end
72
+ end
@@ -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
@@ -4,6 +4,7 @@ module Appwrite
4
4
  module Models
5
5
  class Document
6
6
  attr_reader :id
7
+ attr_reader :sequence
7
8
  attr_reader :collection_id
8
9
  attr_reader :database_id
9
10
  attr_reader :created_at
@@ -13,6 +14,7 @@ module Appwrite
13
14
 
14
15
  def initialize(
15
16
  id:,
17
+ sequence:,
16
18
  collection_id:,
17
19
  database_id:,
18
20
  created_at:,
@@ -21,6 +23,7 @@ module Appwrite
21
23
  data:
22
24
  )
23
25
  @id = id
26
+ @sequence = sequence
24
27
  @collection_id = collection_id
25
28
  @database_id = database_id
26
29
  @created_at = created_at
@@ -32,6 +35,7 @@ module Appwrite
32
35
  def self.from(map:)
33
36
  Document.new(
34
37
  id: map["$id"],
38
+ sequence: map["$sequence"],
35
39
  collection_id: map["$collectionId"],
36
40
  database_id: map["$databaseId"],
37
41
  created_at: map["$createdAt"],
@@ -44,6 +48,7 @@ module Appwrite
44
48
  def to_map
45
49
  {
46
50
  "$id": @id,
51
+ "$sequence": @sequence,
47
52
  "$collectionId": @collection_id,
48
53
  "$databaseId": @database_id,
49
54
  "$createdAt": @created_at,
@@ -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