appwrite 6.0.0 → 7.0.0.pre.RC1

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 (37) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +5 -2
  3. data/lib/appwrite/id.rb +11 -0
  4. data/lib/appwrite/models/account.rb +82 -0
  5. data/lib/appwrite/models/algo_argon2.rb +37 -0
  6. data/lib/appwrite/models/algo_bcrypt.rb +22 -0
  7. data/lib/appwrite/models/algo_md5.rb +22 -0
  8. data/lib/appwrite/models/algo_phpass.rb +22 -0
  9. data/lib/appwrite/models/algo_scrypt.rb +42 -0
  10. data/lib/appwrite/models/algo_scrypt_modified.rb +37 -0
  11. data/lib/appwrite/models/algo_sha.rb +22 -0
  12. data/lib/appwrite/models/attribute_datetime.rb +57 -0
  13. data/lib/appwrite/models/bucket.rb +15 -15
  14. data/lib/appwrite/models/collection.rb +10 -15
  15. data/lib/appwrite/models/database.rb +13 -3
  16. data/lib/appwrite/models/document.rb +5 -10
  17. data/lib/appwrite/models/execution.rb +10 -5
  18. data/lib/appwrite/models/file.rb +5 -10
  19. data/lib/appwrite/models/function.rb +2 -2
  20. data/lib/appwrite/models/index.rb +1 -1
  21. data/lib/appwrite/models/user.rb +15 -0
  22. data/lib/appwrite/models/variable.rb +52 -0
  23. data/lib/appwrite/models/variable_list.rb +32 -0
  24. data/lib/appwrite/permission.rb +21 -0
  25. data/lib/appwrite/query.rb +43 -14
  26. data/lib/appwrite/role.rb +31 -0
  27. data/lib/appwrite/services/account.rb +184 -143
  28. data/lib/appwrite/services/avatars.rb +72 -56
  29. data/lib/appwrite/services/databases.rb +638 -552
  30. data/lib/appwrite/services/functions.rb +380 -176
  31. data/lib/appwrite/services/health.rb +33 -10
  32. data/lib/appwrite/services/locale.rb +24 -7
  33. data/lib/appwrite/services/storage.rb +194 -193
  34. data/lib/appwrite/services/teams.rb +137 -128
  35. data/lib/appwrite/services/users.rb +572 -163
  36. data/lib/appwrite.rb +15 -0
  37. metadata +18 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 244426e7a1b826998665f527b91af45e1425573b462e51875beb40d4e6e779d5
4
- data.tar.gz: 59b014041d4dc658b3b13aa4eed684b7a5d85e439042a5ac5ee6431e283aa5f8
3
+ metadata.gz: 01f7539c1b2b2cf555a208ea8d780fb9acac96bc82925a6f1f04b4531a9955c0
4
+ data.tar.gz: 46cd30c3ac91258db353b6f59f912bc291e86f52a69e2e328f01328c05ec0e6f
5
5
  SHA512:
6
- metadata.gz: '09e057f7cf1b9518ab1eca3a64e6b87cf951641a3a3025c5534bb49a720029424711bbb45379f24f4c49a0f990280e71620594a20246d15290e88bf8587c58ea'
7
- data.tar.gz: 31369de41cefe9745d2dc5264d3176b24698bb385271c321e6bd18c091d6ad5974ff97759dee0825a9b8774dae8135c3518fe45605cfbc60bc4d82f295deabdb
6
+ metadata.gz: 16b84a186ee035ee618243fb8fd908c1985e6f2cf6c9a87ac0fd31904c8a30004e616d8568c0e367db6fd701f1542198dd1a1b7583cb400de9947a51889e559e
7
+ data.tar.gz: 0ec0f97ebe6aa21a9a0d4374a41432b820ba23b07d785c231a615b731775cc4e46f342f88c5897e9f99e09602a98a81772d0d84ea533c3aa251e3be8165d834c
@@ -12,8 +12,11 @@ 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:6.0.0',
16
- 'X-Appwrite-Response-Format' => '0.15.0'
15
+ 'x-sdk-name'=> 'Ruby',
16
+ 'x-sdk-platform'=> 'server',
17
+ 'x-sdk-language'=> 'ruby',
18
+ 'x-sdk-version'=> '7.0.0-RC1',
19
+ 'X-Appwrite-Response-Format' => '1.0.0-RC1'
17
20
  }
18
21
  @endpoint = 'https://HOSTNAME/v1'
19
22
  end
@@ -0,0 +1,11 @@
1
+ module Appwrite
2
+ class ID
3
+ def self.custom(id)
4
+ id
5
+ end
6
+
7
+ def self.unique
8
+ 'unique()'
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,82 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Account
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :name
10
+ attr_reader :registration
11
+ attr_reader :status
12
+ attr_reader :password_update
13
+ attr_reader :email
14
+ attr_reader :phone
15
+ attr_reader :email_verification
16
+ attr_reader :phone_verification
17
+ attr_reader :prefs
18
+
19
+ def initialize(
20
+ id:,
21
+ created_at:,
22
+ updated_at:,
23
+ name:,
24
+ registration:,
25
+ status:,
26
+ password_update:,
27
+ email:,
28
+ phone:,
29
+ email_verification:,
30
+ phone_verification:,
31
+ prefs:
32
+ )
33
+ @id = id
34
+ @created_at = created_at
35
+ @updated_at = updated_at
36
+ @name = name
37
+ @registration = registration
38
+ @status = status
39
+ @password_update = password_update
40
+ @email = email
41
+ @phone = phone
42
+ @email_verification = email_verification
43
+ @phone_verification = phone_verification
44
+ @prefs = prefs
45
+ end
46
+
47
+ def self.from(map:)
48
+ Account.new(
49
+ id: map["$id"],
50
+ created_at: map["$createdAt"],
51
+ updated_at: map["$updatedAt"],
52
+ name: map["name"],
53
+ registration: map["registration"],
54
+ status: map["status"],
55
+ password_update: map["passwordUpdate"],
56
+ email: map["email"],
57
+ phone: map["phone"],
58
+ email_verification: map["emailVerification"],
59
+ phone_verification: map["phoneVerification"],
60
+ prefs: Preferences.from(map: map["prefs"])
61
+ )
62
+ end
63
+
64
+ def to_map
65
+ {
66
+ "$id": @id,
67
+ "$createdAt": @created_at,
68
+ "$updatedAt": @updated_at,
69
+ "name": @name,
70
+ "registration": @registration,
71
+ "status": @status,
72
+ "passwordUpdate": @password_update,
73
+ "email": @email,
74
+ "phone": @phone,
75
+ "emailVerification": @email_verification,
76
+ "phoneVerification": @phone_verification,
77
+ "prefs": @prefs.to_map
78
+ }
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,37 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class AlgoArgon2
6
+ attr_reader :memory_cost
7
+ attr_reader :time_cost
8
+ attr_reader :threads
9
+
10
+ def initialize(
11
+ memory_cost:,
12
+ time_cost:,
13
+ threads:
14
+ )
15
+ @memory_cost = memory_cost
16
+ @time_cost = time_cost
17
+ @threads = threads
18
+ end
19
+
20
+ def self.from(map:)
21
+ AlgoArgon2.new(
22
+ memory_cost: map["memoryCost"],
23
+ time_cost: map["timeCost"],
24
+ threads: map["threads"]
25
+ )
26
+ end
27
+
28
+ def to_map
29
+ {
30
+ "memoryCost": @memory_cost,
31
+ "timeCost": @time_cost,
32
+ "threads": @threads
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,22 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class AlgoBcrypt
6
+
7
+ def initialize(
8
+ )
9
+ end
10
+
11
+ def self.from(map:)
12
+ AlgoBcrypt.new(
13
+ )
14
+ end
15
+
16
+ def to_map
17
+ {
18
+ }
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class AlgoMd5
6
+
7
+ def initialize(
8
+ )
9
+ end
10
+
11
+ def self.from(map:)
12
+ AlgoMd5.new(
13
+ )
14
+ end
15
+
16
+ def to_map
17
+ {
18
+ }
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class AlgoPhpass
6
+
7
+ def initialize(
8
+ )
9
+ end
10
+
11
+ def self.from(map:)
12
+ AlgoPhpass.new(
13
+ )
14
+ end
15
+
16
+ def to_map
17
+ {
18
+ }
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,42 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class AlgoScrypt
6
+ attr_reader :cost_cpu
7
+ attr_reader :cost_memory
8
+ attr_reader :cost_parallel
9
+ attr_reader :length
10
+
11
+ def initialize(
12
+ cost_cpu:,
13
+ cost_memory:,
14
+ cost_parallel:,
15
+ length:
16
+ )
17
+ @cost_cpu = cost_cpu
18
+ @cost_memory = cost_memory
19
+ @cost_parallel = cost_parallel
20
+ @length = length
21
+ end
22
+
23
+ def self.from(map:)
24
+ AlgoScrypt.new(
25
+ cost_cpu: map["costCpu"],
26
+ cost_memory: map["costMemory"],
27
+ cost_parallel: map["costParallel"],
28
+ length: map["length"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "costCpu": @cost_cpu,
35
+ "costMemory": @cost_memory,
36
+ "costParallel": @cost_parallel,
37
+ "length": @length
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,37 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class AlgoScryptModified
6
+ attr_reader :salt
7
+ attr_reader :salt_separator
8
+ attr_reader :signer_key
9
+
10
+ def initialize(
11
+ salt:,
12
+ salt_separator:,
13
+ signer_key:
14
+ )
15
+ @salt = salt
16
+ @salt_separator = salt_separator
17
+ @signer_key = signer_key
18
+ end
19
+
20
+ def self.from(map:)
21
+ AlgoScryptModified.new(
22
+ salt: map["salt"],
23
+ salt_separator: map["saltSeparator"],
24
+ signer_key: map["signerKey"]
25
+ )
26
+ end
27
+
28
+ def to_map
29
+ {
30
+ "salt": @salt,
31
+ "saltSeparator": @salt_separator,
32
+ "signerKey": @signer_key
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,22 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class AlgoSha
6
+
7
+ def initialize(
8
+ )
9
+ end
10
+
11
+ def self.from(map:)
12
+ AlgoSha.new(
13
+ )
14
+ end
15
+
16
+ def to_map
17
+ {
18
+ }
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,57 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class AttributeDatetime
6
+ attr_reader :key
7
+ attr_reader :type
8
+ attr_reader :status
9
+ attr_reader :required
10
+ attr_reader :array
11
+ attr_reader :format
12
+ attr_reader :default
13
+
14
+ def initialize(
15
+ key:,
16
+ type:,
17
+ status:,
18
+ required:,
19
+ array: ,
20
+ format:,
21
+ default:
22
+ )
23
+ @key = key
24
+ @type = type
25
+ @status = status
26
+ @required = required
27
+ @array = array
28
+ @format = format
29
+ @default = default
30
+ end
31
+
32
+ def self.from(map:)
33
+ AttributeDatetime.new(
34
+ key: map["key"],
35
+ type: map["type"],
36
+ status: map["status"],
37
+ required: map["required"],
38
+ array: map["array"],
39
+ format: map["format"],
40
+ default: map["default"]
41
+ )
42
+ end
43
+
44
+ def to_map
45
+ {
46
+ "key": @key,
47
+ "type": @type,
48
+ "status": @status,
49
+ "required": @required,
50
+ "array": @array,
51
+ "format": @format,
52
+ "default": @default
53
+ }
54
+ end
55
+ end
56
+ end
57
+ end
@@ -6,13 +6,13 @@ module Appwrite
6
6
  attr_reader :id
7
7
  attr_reader :created_at
8
8
  attr_reader :updated_at
9
- attr_reader :read
10
- attr_reader :write
11
- attr_reader :permission
9
+ attr_reader :permissions
10
+ attr_reader :file_security
12
11
  attr_reader :name
13
12
  attr_reader :enabled
14
13
  attr_reader :maximum_file_size
15
14
  attr_reader :allowed_file_extensions
15
+ attr_reader :compression
16
16
  attr_reader :encryption
17
17
  attr_reader :antivirus
18
18
 
@@ -20,26 +20,26 @@ module Appwrite
20
20
  id:,
21
21
  created_at:,
22
22
  updated_at:,
23
- read:,
24
- write:,
25
- permission:,
23
+ permissions:,
24
+ file_security:,
26
25
  name:,
27
26
  enabled:,
28
27
  maximum_file_size:,
29
28
  allowed_file_extensions:,
29
+ compression:,
30
30
  encryption:,
31
31
  antivirus:
32
32
  )
33
33
  @id = id
34
34
  @created_at = created_at
35
35
  @updated_at = updated_at
36
- @read = read
37
- @write = write
38
- @permission = permission
36
+ @permissions = permissions
37
+ @file_security = file_security
39
38
  @name = name
40
39
  @enabled = enabled
41
40
  @maximum_file_size = maximum_file_size
42
41
  @allowed_file_extensions = allowed_file_extensions
42
+ @compression = compression
43
43
  @encryption = encryption
44
44
  @antivirus = antivirus
45
45
  end
@@ -49,13 +49,13 @@ module Appwrite
49
49
  id: map["$id"],
50
50
  created_at: map["$createdAt"],
51
51
  updated_at: map["$updatedAt"],
52
- read: map["$read"],
53
- write: map["$write"],
54
- permission: map["permission"],
52
+ permissions: map["$permissions"],
53
+ file_security: map["fileSecurity"],
55
54
  name: map["name"],
56
55
  enabled: map["enabled"],
57
56
  maximum_file_size: map["maximumFileSize"],
58
57
  allowed_file_extensions: map["allowedFileExtensions"],
58
+ compression: map["compression"],
59
59
  encryption: map["encryption"],
60
60
  antivirus: map["antivirus"]
61
61
  )
@@ -66,13 +66,13 @@ module Appwrite
66
66
  "$id": @id,
67
67
  "$createdAt": @created_at,
68
68
  "$updatedAt": @updated_at,
69
- "$read": @read,
70
- "$write": @write,
71
- "permission": @permission,
69
+ "$permissions": @permissions,
70
+ "fileSecurity": @file_security,
72
71
  "name": @name,
73
72
  "enabled": @enabled,
74
73
  "maximumFileSize": @maximum_file_size,
75
74
  "allowedFileExtensions": @allowed_file_extensions,
75
+ "compression": @compression,
76
76
  "encryption": @encryption,
77
77
  "antivirus": @antivirus
78
78
  }
@@ -6,12 +6,11 @@ module Appwrite
6
6
  attr_reader :id
7
7
  attr_reader :created_at
8
8
  attr_reader :updated_at
9
- attr_reader :read
10
- attr_reader :write
9
+ attr_reader :permissions
11
10
  attr_reader :database_id
12
11
  attr_reader :name
13
12
  attr_reader :enabled
14
- attr_reader :permission
13
+ attr_reader :document_security
15
14
  attr_reader :attributes
16
15
  attr_reader :indexes
17
16
 
@@ -19,24 +18,22 @@ module Appwrite
19
18
  id:,
20
19
  created_at:,
21
20
  updated_at:,
22
- read:,
23
- write:,
21
+ permissions:,
24
22
  database_id:,
25
23
  name:,
26
24
  enabled:,
27
- permission:,
25
+ document_security:,
28
26
  attributes:,
29
27
  indexes:
30
28
  )
31
29
  @id = id
32
30
  @created_at = created_at
33
31
  @updated_at = updated_at
34
- @read = read
35
- @write = write
32
+ @permissions = permissions
36
33
  @database_id = database_id
37
34
  @name = name
38
35
  @enabled = enabled
39
- @permission = permission
36
+ @document_security = document_security
40
37
  @attributes = attributes
41
38
  @indexes = indexes
42
39
  end
@@ -46,12 +43,11 @@ module Appwrite
46
43
  id: map["$id"],
47
44
  created_at: map["$createdAt"],
48
45
  updated_at: map["$updatedAt"],
49
- read: map["$read"],
50
- write: map["$write"],
46
+ permissions: map["$permissions"],
51
47
  database_id: map["databaseId"],
52
48
  name: map["name"],
53
49
  enabled: map["enabled"],
54
- permission: map["permission"],
50
+ document_security: map["documentSecurity"],
55
51
  attributes: map["attributes"],
56
52
  indexes: map["indexes"].map { |it| Index.from(map: it) }
57
53
  )
@@ -62,12 +58,11 @@ module Appwrite
62
58
  "$id": @id,
63
59
  "$createdAt": @created_at,
64
60
  "$updatedAt": @updated_at,
65
- "$read": @read,
66
- "$write": @write,
61
+ "$permissions": @permissions,
67
62
  "databaseId": @database_id,
68
63
  "name": @name,
69
64
  "enabled": @enabled,
70
- "permission": @permission,
65
+ "documentSecurity": @document_security,
71
66
  "attributes": @attributes,
72
67
  "indexes": @indexes.map { |it| it.to_map }
73
68
  }
@@ -5,26 +5,36 @@ module Appwrite
5
5
  class Database
6
6
  attr_reader :id
7
7
  attr_reader :name
8
+ attr_reader :created_at
9
+ attr_reader :updated_at
8
10
 
9
11
  def initialize(
10
12
  id:,
11
- name:
13
+ name:,
14
+ created_at:,
15
+ updated_at:
12
16
  )
13
17
  @id = id
14
18
  @name = name
19
+ @created_at = created_at
20
+ @updated_at = updated_at
15
21
  end
16
22
 
17
23
  def self.from(map:)
18
24
  Database.new(
19
25
  id: map["$id"],
20
- name: map["name"]
26
+ name: map["name"],
27
+ created_at: map["$createdAt"],
28
+ updated_at: map["$updatedAt"]
21
29
  )
22
30
  end
23
31
 
24
32
  def to_map
25
33
  {
26
34
  "$id": @id,
27
- "name": @name
35
+ "name": @name,
36
+ "$createdAt": @created_at,
37
+ "$updatedAt": @updated_at
28
38
  }
29
39
  end
30
40
  end
@@ -7,24 +7,21 @@ module Appwrite
7
7
  attr_reader :collection
8
8
  attr_reader :created_at
9
9
  attr_reader :updated_at
10
- attr_reader :read
11
- attr_reader :write
10
+ attr_reader :permissions
12
11
 
13
12
  def initialize(
14
13
  id:,
15
14
  collection:,
16
15
  created_at:,
17
16
  updated_at:,
18
- read:,
19
- write:,
17
+ permissions:,
20
18
  data:
21
19
  )
22
20
  @id = id
23
21
  @collection = collection
24
22
  @created_at = created_at
25
23
  @updated_at = updated_at
26
- @read = read
27
- @write = write
24
+ @permissions = permissions
28
25
  @data = data
29
26
  end
30
27
 
@@ -34,8 +31,7 @@ module Appwrite
34
31
  collection: map["$collection"],
35
32
  created_at: map["$createdAt"],
36
33
  updated_at: map["$updatedAt"],
37
- read: map["$read"],
38
- write: map["$write"],
34
+ permissions: map["$permissions"],
39
35
  data: map["data"]
40
36
  )
41
37
  end
@@ -46,8 +42,7 @@ module Appwrite
46
42
  "$collection": @collection,
47
43
  "$createdAt": @created_at,
48
44
  "$updatedAt": @updated_at,
49
- "$read": @read,
50
- "$write": @write,
45
+ "$permissions": @permissions,
51
46
  "data": @data
52
47
  }
53
48
  end