appwrite 6.0.0 → 7.0.0.pre.RC1

Sign up to get free protection for your applications and to get access to all the features.
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