appwrite 5.0.0 → 6.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0ceedf8f740ccc7f74d65b4ad4d12a7ff85095fcc72da4174faacf9da2279541
4
- data.tar.gz: 66a9db695a5704b9679f1652d0855385a2790160bbe3126fa4c6df476ebe095d
3
+ metadata.gz: 244426e7a1b826998665f527b91af45e1425573b462e51875beb40d4e6e779d5
4
+ data.tar.gz: 59b014041d4dc658b3b13aa4eed684b7a5d85e439042a5ac5ee6431e283aa5f8
5
5
  SHA512:
6
- metadata.gz: 5872cf6c0b6ae680d62d9dcdea77277650cf7d98622616c8963b2bf5c1bb5420b36459d1453bc41a54fa71414255a52dc437492253d9a5dfeffbd6715a67bbd8
7
- data.tar.gz: 35888e3e67a0511778cf2248683a298cd208057990edb6f1b40086ef4cc3efd84f9fa37d20ffc52e68de2fa3a1ed7224946d98ef9297586561e07afe2b24ea05
6
+ metadata.gz: '09e057f7cf1b9518ab1eca3a64e6b87cf951641a3a3025c5534bb49a720029424711bbb45379f24f4c49a0f990280e71620594a20246d15290e88bf8587c58ea'
7
+ data.tar.gz: 31369de41cefe9745d2dc5264d3176b24698bb385271c321e6bd18c091d6ad5974ff97759dee0825a9b8774dae8135c3518fe45605cfbc60bc4d82f295deabdb
@@ -12,8 +12,8 @@ module Appwrite
12
12
  @chunk_size = 5*1024*1024
13
13
  @headers = {
14
14
  'user-agent' => RUBY_PLATFORM + ':ruby-' + RUBY_VERSION,
15
- 'x-sdk-version' => 'appwrite:ruby:5.0.0',
16
- 'X-Appwrite-Response-Format' => '0.14.0'
15
+ 'x-sdk-version' => 'appwrite:ruby:6.0.0',
16
+ 'X-Appwrite-Response-Format' => '0.15.0'
17
17
  }
18
18
  @endpoint = 'https://HOSTNAME/v1'
19
19
  end
@@ -133,12 +133,20 @@ module Appwrite
133
133
  on_progress: nil,
134
134
  response_type: nil
135
135
  )
136
- file_path = params[param_name.to_sym]
137
- size = ::File.size(file_path)
136
+ input_file = params[param_name.to_sym]
137
+
138
+ case input_file.source_type
139
+ when 'path'
140
+ size = ::File.size(input_file.path)
141
+ when 'string'
142
+ size = input_file.data.bytesize
143
+ end
138
144
 
139
145
  if size < @chunk_size
140
- slice = ::File.read(file_path)
141
- params[param_name] = File.new(file_path, slice)
146
+ if input_file.source_type == 'path'
147
+ input_file.data = IO.read(input_file.path)
148
+ end
149
+ params[param_name.to_sym] = input_file
142
150
  return call(
143
151
  method: 'POST',
144
152
  path: path,
@@ -163,9 +171,19 @@ module Appwrite
163
171
  end
164
172
 
165
173
  while offset < size
166
- slice = IO.read(file_path, @chunk_size, offset)
174
+ case input_file.source_type
175
+ when 'path'
176
+ string = IO.read(input_file.path, @chunk_size, offset)
177
+ when 'string'
178
+ string = input_file.data.byteslice(offset, [@chunk_size, size - offset].min)
179
+ end
180
+
181
+ params[param_name.to_sym] = InputFile::from_string(
182
+ string,
183
+ filename: input_file.filename,
184
+ mime_type: input_file.mime_type
185
+ )
167
186
 
168
- params[param_name] = File.new(file_path, slice)
169
187
  headers['content-range'] = "bytes #{offset}-#{[offset + @chunk_size - 1, size].min}/#{size}"
170
188
 
171
189
  result = call(
@@ -279,10 +297,10 @@ module Appwrite
279
297
  ''
280
298
  else
281
299
  post_body = []
282
- if value.instance_of? File
283
- post_body << "Content-Disposition: form-data; name=\"#{key}\"; filename=\"#{value.name}\"\r\n"
300
+ if value.instance_of? InputFile
301
+ post_body << "Content-Disposition: form-data; name=\"#{key}\"; filename=\"#{value.filename}\"\r\n"
284
302
  post_body << "Content-Type: #{value.mime_type}\r\n\r\n"
285
- post_body << value.content
303
+ post_body << value.data
286
304
  post_body << "\r\n--#{@boundary}--\r\n"
287
305
  else
288
306
  post_body << "Content-Disposition: form-data; name=\"#{key}\"\r\n\r\n"
@@ -0,0 +1,33 @@
1
+ require 'mime/types'
2
+
3
+ module Appwrite
4
+ class InputFile
5
+ attr_accessor :path
6
+ attr_accessor :filename
7
+ attr_accessor :mime_type
8
+ attr_accessor :source_type
9
+ attr_accessor :data
10
+
11
+ def self.from_path(path)
12
+ instance = InputFile.new
13
+ instance.path = path
14
+ instance.filename = ::File.basename(path)
15
+ instance.mime_type = MIME::Types.type_for(path).first.content_type
16
+ instance.source_type = 'path'
17
+ instance
18
+ end
19
+
20
+ def self.from_string(string, filename: nil, mime_type: nil)
21
+ instance = InputFile.new
22
+ instance.data = string
23
+ instance.filename = filename
24
+ instance.mime_type = mime_type
25
+ instance.source_type = 'string'
26
+ instance
27
+ end
28
+
29
+ def self.from_bytes(bytes, filename: nil, mime_type: nil)
30
+ self.from_string(bytes.pack('C*'), filename: filename, mime_type: mime_type)
31
+ end
32
+ end
33
+ end
@@ -4,11 +4,11 @@ module Appwrite
4
4
  module Models
5
5
  class Bucket
6
6
  attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
7
9
  attr_reader :read
8
10
  attr_reader :write
9
11
  attr_reader :permission
10
- attr_reader :date_created
11
- attr_reader :date_updated
12
12
  attr_reader :name
13
13
  attr_reader :enabled
14
14
  attr_reader :maximum_file_size
@@ -18,11 +18,11 @@ module Appwrite
18
18
 
19
19
  def initialize(
20
20
  id:,
21
+ created_at:,
22
+ updated_at:,
21
23
  read:,
22
24
  write:,
23
25
  permission:,
24
- date_created:,
25
- date_updated:,
26
26
  name:,
27
27
  enabled:,
28
28
  maximum_file_size:,
@@ -31,11 +31,11 @@ module Appwrite
31
31
  antivirus:
32
32
  )
33
33
  @id = id
34
+ @created_at = created_at
35
+ @updated_at = updated_at
34
36
  @read = read
35
37
  @write = write
36
38
  @permission = permission
37
- @date_created = date_created
38
- @date_updated = date_updated
39
39
  @name = name
40
40
  @enabled = enabled
41
41
  @maximum_file_size = maximum_file_size
@@ -47,11 +47,11 @@ module Appwrite
47
47
  def self.from(map:)
48
48
  Bucket.new(
49
49
  id: map["$id"],
50
+ created_at: map["$createdAt"],
51
+ updated_at: map["$updatedAt"],
50
52
  read: map["$read"],
51
53
  write: map["$write"],
52
54
  permission: map["permission"],
53
- date_created: map["dateCreated"],
54
- date_updated: map["dateUpdated"],
55
55
  name: map["name"],
56
56
  enabled: map["enabled"],
57
57
  maximum_file_size: map["maximumFileSize"],
@@ -64,11 +64,11 @@ module Appwrite
64
64
  def to_map
65
65
  {
66
66
  "$id": @id,
67
+ "$createdAt": @created_at,
68
+ "$updatedAt": @updated_at,
67
69
  "$read": @read,
68
70
  "$write": @write,
69
71
  "permission": @permission,
70
- "dateCreated": @date_created,
71
- "dateUpdated": @date_updated,
72
72
  "name": @name,
73
73
  "enabled": @enabled,
74
74
  "maximumFileSize": @maximum_file_size,
@@ -4,8 +4,11 @@ module Appwrite
4
4
  module Models
5
5
  class Collection
6
6
  attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
7
9
  attr_reader :read
8
10
  attr_reader :write
11
+ attr_reader :database_id
9
12
  attr_reader :name
10
13
  attr_reader :enabled
11
14
  attr_reader :permission
@@ -14,8 +17,11 @@ module Appwrite
14
17
 
15
18
  def initialize(
16
19
  id:,
20
+ created_at:,
21
+ updated_at:,
17
22
  read:,
18
23
  write:,
24
+ database_id:,
19
25
  name:,
20
26
  enabled:,
21
27
  permission:,
@@ -23,8 +29,11 @@ module Appwrite
23
29
  indexes:
24
30
  )
25
31
  @id = id
32
+ @created_at = created_at
33
+ @updated_at = updated_at
26
34
  @read = read
27
35
  @write = write
36
+ @database_id = database_id
28
37
  @name = name
29
38
  @enabled = enabled
30
39
  @permission = permission
@@ -35,8 +44,11 @@ module Appwrite
35
44
  def self.from(map:)
36
45
  Collection.new(
37
46
  id: map["$id"],
47
+ created_at: map["$createdAt"],
48
+ updated_at: map["$updatedAt"],
38
49
  read: map["$read"],
39
50
  write: map["$write"],
51
+ database_id: map["databaseId"],
40
52
  name: map["name"],
41
53
  enabled: map["enabled"],
42
54
  permission: map["permission"],
@@ -48,8 +60,11 @@ module Appwrite
48
60
  def to_map
49
61
  {
50
62
  "$id": @id,
63
+ "$createdAt": @created_at,
64
+ "$updatedAt": @updated_at,
51
65
  "$read": @read,
52
66
  "$write": @write,
67
+ "databaseId": @database_id,
53
68
  "name": @name,
54
69
  "enabled": @enabled,
55
70
  "permission": @permission,
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Database
6
+ attr_reader :id
7
+ attr_reader :name
8
+
9
+ def initialize(
10
+ id:,
11
+ name:
12
+ )
13
+ @id = id
14
+ @name = name
15
+ end
16
+
17
+ def self.from(map:)
18
+ Database.new(
19
+ id: map["$id"],
20
+ name: map["name"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "$id": @id,
27
+ "name": @name
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class DatabaseList
6
+ attr_reader :total
7
+ attr_reader :databases
8
+
9
+ def initialize(
10
+ total:,
11
+ databases:
12
+ )
13
+ @total = total
14
+ @databases = databases
15
+ end
16
+
17
+ def self.from(map:)
18
+ DatabaseList.new(
19
+ total: map["total"],
20
+ databases: map["databases"].map { |it| Database.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "databases": @databases.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -4,9 +4,10 @@ module Appwrite
4
4
  module Models
5
5
  class Deployment
6
6
  attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
7
9
  attr_reader :resource_id
8
10
  attr_reader :resource_type
9
- attr_reader :date_created
10
11
  attr_reader :entrypoint
11
12
  attr_reader :size
12
13
  attr_reader :build_id
@@ -17,9 +18,10 @@ module Appwrite
17
18
 
18
19
  def initialize(
19
20
  id:,
21
+ created_at:,
22
+ updated_at:,
20
23
  resource_id:,
21
24
  resource_type:,
22
- date_created:,
23
25
  entrypoint:,
24
26
  size:,
25
27
  build_id:,
@@ -29,9 +31,10 @@ module Appwrite
29
31
  build_stderr:
30
32
  )
31
33
  @id = id
34
+ @created_at = created_at
35
+ @updated_at = updated_at
32
36
  @resource_id = resource_id
33
37
  @resource_type = resource_type
34
- @date_created = date_created
35
38
  @entrypoint = entrypoint
36
39
  @size = size
37
40
  @build_id = build_id
@@ -44,9 +47,10 @@ module Appwrite
44
47
  def self.from(map:)
45
48
  Deployment.new(
46
49
  id: map["$id"],
50
+ created_at: map["$createdAt"],
51
+ updated_at: map["$updatedAt"],
47
52
  resource_id: map["resourceId"],
48
53
  resource_type: map["resourceType"],
49
- date_created: map["dateCreated"],
50
54
  entrypoint: map["entrypoint"],
51
55
  size: map["size"],
52
56
  build_id: map["buildId"],
@@ -60,9 +64,10 @@ module Appwrite
60
64
  def to_map
61
65
  {
62
66
  "$id": @id,
67
+ "$createdAt": @created_at,
68
+ "$updatedAt": @updated_at,
63
69
  "resourceId": @resource_id,
64
70
  "resourceType": @resource_type,
65
- "dateCreated": @date_created,
66
71
  "entrypoint": @entrypoint,
67
72
  "size": @size,
68
73
  "buildId": @build_id,
@@ -5,18 +5,24 @@ module Appwrite
5
5
  class Document
6
6
  attr_reader :id
7
7
  attr_reader :collection
8
+ attr_reader :created_at
9
+ attr_reader :updated_at
8
10
  attr_reader :read
9
11
  attr_reader :write
10
12
 
11
13
  def initialize(
12
14
  id:,
13
15
  collection:,
16
+ created_at:,
17
+ updated_at:,
14
18
  read:,
15
19
  write:,
16
20
  data:
17
21
  )
18
22
  @id = id
19
23
  @collection = collection
24
+ @created_at = created_at
25
+ @updated_at = updated_at
20
26
  @read = read
21
27
  @write = write
22
28
  @data = data
@@ -26,6 +32,8 @@ module Appwrite
26
32
  Document.new(
27
33
  id: map["$id"],
28
34
  collection: map["$collection"],
35
+ created_at: map["$createdAt"],
36
+ updated_at: map["$updatedAt"],
29
37
  read: map["$read"],
30
38
  write: map["$write"],
31
39
  data: map["data"]
@@ -36,6 +44,8 @@ module Appwrite
36
44
  {
37
45
  "$id": @id,
38
46
  "$collection": @collection,
47
+ "$createdAt": @created_at,
48
+ "$updatedAt": @updated_at,
39
49
  "$read": @read,
40
50
  "$write": @write,
41
51
  "data": @data
@@ -4,9 +4,10 @@ module Appwrite
4
4
  module Models
5
5
  class Execution
6
6
  attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
7
9
  attr_reader :read
8
10
  attr_reader :function_id
9
- attr_reader :date_created
10
11
  attr_reader :trigger
11
12
  attr_reader :status
12
13
  attr_reader :status_code
@@ -16,9 +17,10 @@ module Appwrite
16
17
 
17
18
  def initialize(
18
19
  id:,
20
+ created_at:,
21
+ updated_at:,
19
22
  read:,
20
23
  function_id:,
21
- date_created:,
22
24
  trigger:,
23
25
  status:,
24
26
  status_code:,
@@ -27,9 +29,10 @@ module Appwrite
27
29
  time:
28
30
  )
29
31
  @id = id
32
+ @created_at = created_at
33
+ @updated_at = updated_at
30
34
  @read = read
31
35
  @function_id = function_id
32
- @date_created = date_created
33
36
  @trigger = trigger
34
37
  @status = status
35
38
  @status_code = status_code
@@ -41,9 +44,10 @@ module Appwrite
41
44
  def self.from(map:)
42
45
  Execution.new(
43
46
  id: map["$id"],
47
+ created_at: map["$createdAt"],
48
+ updated_at: map["$updatedAt"],
44
49
  read: map["$read"],
45
50
  function_id: map["functionId"],
46
- date_created: map["dateCreated"],
47
51
  trigger: map["trigger"],
48
52
  status: map["status"],
49
53
  status_code: map["statusCode"],
@@ -56,9 +60,10 @@ module Appwrite
56
60
  def to_map
57
61
  {
58
62
  "$id": @id,
63
+ "$createdAt": @created_at,
64
+ "$updatedAt": @updated_at,
59
65
  "$read": @read,
60
66
  "functionId": @function_id,
61
- "dateCreated": @date_created,
62
67
  "trigger": @trigger,
63
68
  "status": @status,
64
69
  "statusCode": @status_code,
@@ -5,10 +5,11 @@ module Appwrite
5
5
  class File
6
6
  attr_reader :id
7
7
  attr_reader :bucket_id
8
+ attr_reader :created_at
9
+ attr_reader :updated_at
8
10
  attr_reader :read
9
11
  attr_reader :write
10
12
  attr_reader :name
11
- attr_reader :date_created
12
13
  attr_reader :signature
13
14
  attr_reader :mime_type
14
15
  attr_reader :size_original
@@ -18,10 +19,11 @@ module Appwrite
18
19
  def initialize(
19
20
  id:,
20
21
  bucket_id:,
22
+ created_at:,
23
+ updated_at:,
21
24
  read:,
22
25
  write:,
23
26
  name:,
24
- date_created:,
25
27
  signature:,
26
28
  mime_type:,
27
29
  size_original:,
@@ -30,10 +32,11 @@ module Appwrite
30
32
  )
31
33
  @id = id
32
34
  @bucket_id = bucket_id
35
+ @created_at = created_at
36
+ @updated_at = updated_at
33
37
  @read = read
34
38
  @write = write
35
39
  @name = name
36
- @date_created = date_created
37
40
  @signature = signature
38
41
  @mime_type = mime_type
39
42
  @size_original = size_original
@@ -45,10 +48,11 @@ module Appwrite
45
48
  File.new(
46
49
  id: map["$id"],
47
50
  bucket_id: map["bucketId"],
51
+ created_at: map["$createdAt"],
52
+ updated_at: map["$updatedAt"],
48
53
  read: map["$read"],
49
54
  write: map["$write"],
50
55
  name: map["name"],
51
- date_created: map["dateCreated"],
52
56
  signature: map["signature"],
53
57
  mime_type: map["mimeType"],
54
58
  size_original: map["sizeOriginal"],
@@ -61,10 +65,11 @@ module Appwrite
61
65
  {
62
66
  "$id": @id,
63
67
  "bucketId": @bucket_id,
68
+ "$createdAt": @created_at,
69
+ "$updatedAt": @updated_at,
64
70
  "$read": @read,
65
71
  "$write": @write,
66
72
  "name": @name,
67
- "dateCreated": @date_created,
68
73
  "signature": @signature,
69
74
  "mimeType": @mime_type,
70
75
  "sizeOriginal": @size_original,
@@ -4,10 +4,10 @@ module Appwrite
4
4
  module Models
5
5
  class Function
6
6
  attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
7
9
  attr_reader :execute
8
10
  attr_reader :name
9
- attr_reader :date_created
10
- attr_reader :date_updated
11
11
  attr_reader :status
12
12
  attr_reader :runtime
13
13
  attr_reader :deployment
@@ -20,10 +20,10 @@ module Appwrite
20
20
 
21
21
  def initialize(
22
22
  id:,
23
+ created_at:,
24
+ updated_at:,
23
25
  execute:,
24
26
  name:,
25
- date_created:,
26
- date_updated:,
27
27
  status:,
28
28
  runtime:,
29
29
  deployment:,
@@ -35,10 +35,10 @@ module Appwrite
35
35
  timeout:
36
36
  )
37
37
  @id = id
38
+ @created_at = created_at
39
+ @updated_at = updated_at
38
40
  @execute = execute
39
41
  @name = name
40
- @date_created = date_created
41
- @date_updated = date_updated
42
42
  @status = status
43
43
  @runtime = runtime
44
44
  @deployment = deployment
@@ -53,10 +53,10 @@ module Appwrite
53
53
  def self.from(map:)
54
54
  Function.new(
55
55
  id: map["$id"],
56
+ created_at: map["$createdAt"],
57
+ updated_at: map["$updatedAt"],
56
58
  execute: map["execute"],
57
59
  name: map["name"],
58
- date_created: map["dateCreated"],
59
- date_updated: map["dateUpdated"],
60
60
  status: map["status"],
61
61
  runtime: map["runtime"],
62
62
  deployment: map["deployment"],
@@ -72,10 +72,10 @@ module Appwrite
72
72
  def to_map
73
73
  {
74
74
  "$id": @id,
75
+ "$createdAt": @created_at,
76
+ "$updatedAt": @updated_at,
75
77
  "execute": @execute,
76
78
  "name": @name,
77
- "dateCreated": @date_created,
78
- "dateUpdated": @date_updated,
79
79
  "status": @status,
80
80
  "runtime": @runtime,
81
81
  "deployment": @deployment,
@@ -4,6 +4,8 @@ module Appwrite
4
4
  module Models
5
5
  class Membership
6
6
  attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
7
9
  attr_reader :user_id
8
10
  attr_reader :user_name
9
11
  attr_reader :user_email
@@ -16,6 +18,8 @@ module Appwrite
16
18
 
17
19
  def initialize(
18
20
  id:,
21
+ created_at:,
22
+ updated_at:,
19
23
  user_id:,
20
24
  user_name:,
21
25
  user_email:,
@@ -27,6 +31,8 @@ module Appwrite
27
31
  roles:
28
32
  )
29
33
  @id = id
34
+ @created_at = created_at
35
+ @updated_at = updated_at
30
36
  @user_id = user_id
31
37
  @user_name = user_name
32
38
  @user_email = user_email
@@ -41,6 +47,8 @@ module Appwrite
41
47
  def self.from(map:)
42
48
  Membership.new(
43
49
  id: map["$id"],
50
+ created_at: map["$createdAt"],
51
+ updated_at: map["$updatedAt"],
44
52
  user_id: map["userId"],
45
53
  user_name: map["userName"],
46
54
  user_email: map["userEmail"],
@@ -56,6 +64,8 @@ module Appwrite
56
64
  def to_map
57
65
  {
58
66
  "$id": @id,
67
+ "$createdAt": @created_at,
68
+ "$updatedAt": @updated_at,
59
69
  "userId": @user_id,
60
70
  "userName": @user_name,
61
71
  "userEmail": @user_email,
@@ -4,6 +4,7 @@ module Appwrite
4
4
  module Models
5
5
  class Session
6
6
  attr_reader :id
7
+ attr_reader :created_at
7
8
  attr_reader :user_id
8
9
  attr_reader :expire
9
10
  attr_reader :provider
@@ -30,6 +31,7 @@ module Appwrite
30
31
 
31
32
  def initialize(
32
33
  id:,
34
+ created_at:,
33
35
  user_id:,
34
36
  expire:,
35
37
  provider:,
@@ -55,6 +57,7 @@ module Appwrite
55
57
  current:
56
58
  )
57
59
  @id = id
60
+ @created_at = created_at
58
61
  @user_id = user_id
59
62
  @expire = expire
60
63
  @provider = provider
@@ -83,6 +86,7 @@ module Appwrite
83
86
  def self.from(map:)
84
87
  Session.new(
85
88
  id: map["$id"],
89
+ created_at: map["$createdAt"],
86
90
  user_id: map["userId"],
87
91
  expire: map["expire"],
88
92
  provider: map["provider"],
@@ -112,6 +116,7 @@ module Appwrite
112
116
  def to_map
113
117
  {
114
118
  "$id": @id,
119
+ "$createdAt": @created_at,
115
120
  "userId": @user_id,
116
121
  "expire": @expire,
117
122
  "provider": @provider,