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
@@ -6,12 +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
9
+ attr_reader :permissions
10
10
  attr_reader :function_id
11
11
  attr_reader :trigger
12
12
  attr_reader :status
13
13
  attr_reader :status_code
14
14
  attr_reader :response
15
+ attr_reader :stdout
15
16
  attr_reader :stderr
16
17
  attr_reader :time
17
18
 
@@ -19,24 +20,26 @@ module Appwrite
19
20
  id:,
20
21
  created_at:,
21
22
  updated_at:,
22
- read:,
23
+ permissions:,
23
24
  function_id:,
24
25
  trigger:,
25
26
  status:,
26
27
  status_code:,
27
28
  response:,
29
+ stdout:,
28
30
  stderr:,
29
31
  time:
30
32
  )
31
33
  @id = id
32
34
  @created_at = created_at
33
35
  @updated_at = updated_at
34
- @read = read
36
+ @permissions = permissions
35
37
  @function_id = function_id
36
38
  @trigger = trigger
37
39
  @status = status
38
40
  @status_code = status_code
39
41
  @response = response
42
+ @stdout = stdout
40
43
  @stderr = stderr
41
44
  @time = time
42
45
  end
@@ -46,12 +49,13 @@ module Appwrite
46
49
  id: map["$id"],
47
50
  created_at: map["$createdAt"],
48
51
  updated_at: map["$updatedAt"],
49
- read: map["$read"],
52
+ permissions: map["$permissions"],
50
53
  function_id: map["functionId"],
51
54
  trigger: map["trigger"],
52
55
  status: map["status"],
53
56
  status_code: map["statusCode"],
54
57
  response: map["response"],
58
+ stdout: map["stdout"],
55
59
  stderr: map["stderr"],
56
60
  time: map["time"]
57
61
  )
@@ -62,12 +66,13 @@ module Appwrite
62
66
  "$id": @id,
63
67
  "$createdAt": @created_at,
64
68
  "$updatedAt": @updated_at,
65
- "$read": @read,
69
+ "$permissions": @permissions,
66
70
  "functionId": @function_id,
67
71
  "trigger": @trigger,
68
72
  "status": @status,
69
73
  "statusCode": @status_code,
70
74
  "response": @response,
75
+ "stdout": @stdout,
71
76
  "stderr": @stderr,
72
77
  "time": @time
73
78
  }
@@ -7,8 +7,7 @@ module Appwrite
7
7
  attr_reader :bucket_id
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
  attr_reader :name
13
12
  attr_reader :signature
14
13
  attr_reader :mime_type
@@ -21,8 +20,7 @@ module Appwrite
21
20
  bucket_id:,
22
21
  created_at:,
23
22
  updated_at:,
24
- read:,
25
- write:,
23
+ permissions:,
26
24
  name:,
27
25
  signature:,
28
26
  mime_type:,
@@ -34,8 +32,7 @@ module Appwrite
34
32
  @bucket_id = bucket_id
35
33
  @created_at = created_at
36
34
  @updated_at = updated_at
37
- @read = read
38
- @write = write
35
+ @permissions = permissions
39
36
  @name = name
40
37
  @signature = signature
41
38
  @mime_type = mime_type
@@ -50,8 +47,7 @@ module Appwrite
50
47
  bucket_id: map["bucketId"],
51
48
  created_at: map["$createdAt"],
52
49
  updated_at: map["$updatedAt"],
53
- read: map["$read"],
54
- write: map["$write"],
50
+ permissions: map["$permissions"],
55
51
  name: map["name"],
56
52
  signature: map["signature"],
57
53
  mime_type: map["mimeType"],
@@ -67,8 +63,7 @@ module Appwrite
67
63
  "bucketId": @bucket_id,
68
64
  "$createdAt": @created_at,
69
65
  "$updatedAt": @updated_at,
70
- "$read": @read,
71
- "$write": @write,
66
+ "$permissions": @permissions,
72
67
  "name": @name,
73
68
  "signature": @signature,
74
69
  "mimeType": @mime_type,
@@ -60,7 +60,7 @@ module Appwrite
60
60
  status: map["status"],
61
61
  runtime: map["runtime"],
62
62
  deployment: map["deployment"],
63
- vars: map["vars"],
63
+ vars: map["vars"].map { |it| Variable.from(map: it) },
64
64
  events: map["events"],
65
65
  schedule: map["schedule"],
66
66
  schedule_next: map["scheduleNext"],
@@ -79,7 +79,7 @@ module Appwrite
79
79
  "status": @status,
80
80
  "runtime": @runtime,
81
81
  "deployment": @deployment,
82
- "vars": @vars,
82
+ "vars": @vars.map { |it| it.to_map },
83
83
  "events": @events,
84
84
  "schedule": @schedule,
85
85
  "scheduleNext": @schedule_next,
@@ -14,7 +14,7 @@ module Appwrite
14
14
  type:,
15
15
  status:,
16
16
  attributes:,
17
- orders:
17
+ orders:
18
18
  )
19
19
  @key = key
20
20
  @type = type
@@ -7,6 +7,9 @@ module Appwrite
7
7
  attr_reader :created_at
8
8
  attr_reader :updated_at
9
9
  attr_reader :name
10
+ attr_reader :password
11
+ attr_reader :hash
12
+ attr_reader :hash_options
10
13
  attr_reader :registration
11
14
  attr_reader :status
12
15
  attr_reader :password_update
@@ -21,6 +24,9 @@ module Appwrite
21
24
  created_at:,
22
25
  updated_at:,
23
26
  name:,
27
+ password:,
28
+ hash:,
29
+ hash_options:,
24
30
  registration:,
25
31
  status:,
26
32
  password_update:,
@@ -34,6 +40,9 @@ module Appwrite
34
40
  @created_at = created_at
35
41
  @updated_at = updated_at
36
42
  @name = name
43
+ @password = password
44
+ @hash = hash
45
+ @hash_options = hash_options
37
46
  @registration = registration
38
47
  @status = status
39
48
  @password_update = password_update
@@ -50,6 +59,9 @@ module Appwrite
50
59
  created_at: map["$createdAt"],
51
60
  updated_at: map["$updatedAt"],
52
61
  name: map["name"],
62
+ password: map["password"],
63
+ hash: map["hash"],
64
+ hash_options: map["hashOptions"],
53
65
  registration: map["registration"],
54
66
  status: map["status"],
55
67
  password_update: map["passwordUpdate"],
@@ -67,6 +79,9 @@ module Appwrite
67
79
  "$createdAt": @created_at,
68
80
  "$updatedAt": @updated_at,
69
81
  "name": @name,
82
+ "password": @password,
83
+ "hash": @hash,
84
+ "hashOptions": @hash_options,
70
85
  "registration": @registration,
71
86
  "status": @status,
72
87
  "passwordUpdate": @password_update,
@@ -0,0 +1,52 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Variable
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :key
10
+ attr_reader :value
11
+ attr_reader :function_id
12
+
13
+ def initialize(
14
+ id:,
15
+ created_at:,
16
+ updated_at:,
17
+ key:,
18
+ value:,
19
+ function_id:
20
+ )
21
+ @id = id
22
+ @created_at = created_at
23
+ @updated_at = updated_at
24
+ @key = key
25
+ @value = value
26
+ @function_id = function_id
27
+ end
28
+
29
+ def self.from(map:)
30
+ Variable.new(
31
+ id: map["$id"],
32
+ created_at: map["$createdAt"],
33
+ updated_at: map["$updatedAt"],
34
+ key: map["key"],
35
+ value: map["value"],
36
+ function_id: map["functionId"]
37
+ )
38
+ end
39
+
40
+ def to_map
41
+ {
42
+ "$id": @id,
43
+ "$createdAt": @created_at,
44
+ "$updatedAt": @updated_at,
45
+ "key": @key,
46
+ "value": @value,
47
+ "functionId": @function_id
48
+ }
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class VariableList
6
+ attr_reader :total
7
+ attr_reader :variables
8
+
9
+ def initialize(
10
+ total:,
11
+ variables:
12
+ )
13
+ @total = total
14
+ @variables = variables
15
+ end
16
+
17
+ def self.from(map:)
18
+ VariableList.new(
19
+ total: map["total"],
20
+ variables: map["variables"].map { |it| Variable.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "variables": @variables.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,21 @@
1
+ module Appwrite
2
+ class Permission
3
+ class << Permission
4
+ def read(role)
5
+ return "read(\"#{role}\")"
6
+ end
7
+ def write(role)
8
+ return "write(\"#{role}\")"
9
+ end
10
+ def create(role)
11
+ return "create(\"#{role}\")"
12
+ end
13
+ def update(role)
14
+ return "update(\"#{role}\")"
15
+ end
16
+ def delete(role)
17
+ return "delete(\"#{role}\")"
18
+ end
19
+ end
20
+ end
21
+ end
@@ -6,31 +6,60 @@ module Appwrite
6
6
  end
7
7
 
8
8
  def notEqual(attribute, value)
9
- return Query.addQuery(attribute, "notEqual", value)
9
+ return addQuery(attribute, "notEqual", value)
10
10
  end
11
- def lesser(attribute, value)
12
- return Query.addQuery(attribute, "lesser", value)
11
+
12
+ def lessThan(attribute, value)
13
+ return addQuery(attribute, "lessThan", value)
13
14
  end
14
- def lesserEqual(attribute, value)
15
- return Query.addQuery(attribute, "lesserEqual", value)
15
+
16
+ def lessThanEqual(attribute, value)
17
+ return addQuery(attribute, "lessThanEqual", value)
16
18
  end
17
- def greater(attribute, value)
18
- return Query.addQuery(attribute, "greater", value)
19
+
20
+ def greaterThan(attribute, value)
21
+ return addQuery(attribute, "greaterThan", value)
19
22
  end
20
- def greaterEqual(attribute, value)
21
- return Query.addQuery(attribute, "equal", value)
23
+
24
+ def greaterThanEqual(attribute, value)
25
+ return addQuery(attribute, "greaterThanEqual", value)
22
26
  end
27
+
23
28
  def search(attribute, value)
24
- return Query.addQuery(attribute, "search", value)
29
+ return addQuery(attribute, "search", value)
30
+ end
31
+
32
+ def orderAsc(attribute)
33
+ return "orderAsc(\"#{attribute}\")"
34
+ end
35
+
36
+ def orderDesc(attribute)
37
+ return "orderDesc(\"#{attribute}\")"
38
+ end
39
+
40
+ def cursorBefore(id)
41
+ return "cursorBefore(\"#{id}\")"
42
+ end
43
+
44
+ def cursorAfter(id)
45
+ return "cursorAfter(\"#{id}\")"
46
+ end
47
+
48
+ def limit(limit)
49
+ return "limit(#{limit})"
50
+ end
51
+
52
+ def offset(offset)
53
+ return "offset(#{offset})"
25
54
  end
26
55
 
27
56
  private
28
57
 
29
- def addQuery(attribute, oper, value)
58
+ def addQuery(attribute, method, value)
30
59
  if value.is_a?(Array)
31
- "#{attribute}.#{oper}.(#{value.map {|item| parseValues(item)}.join(',')})"
60
+ "#{method}(\"#{attribute}\", [#{value.map {|item| parseValues(item)}.join(',')}])"
32
61
  else
33
- return "#{attribute}.#{oper}.(#{parseValues(value)})"
62
+ return "#{method}(\"#{attribute}\", [#{parseValues(value)}])"
34
63
  end
35
64
  end
36
65
 
@@ -39,4 +68,4 @@ module Appwrite
39
68
  end
40
69
  end
41
70
  end
42
- end
71
+ end
@@ -0,0 +1,31 @@
1
+ module Appwrite
2
+ class Role
3
+ def self.any
4
+ 'any'
5
+ end
6
+
7
+ def self.user(id)
8
+ "user:#{id}"
9
+ end
10
+
11
+ def self.users
12
+ 'users'
13
+ end
14
+
15
+ def self.guests
16
+ 'guests'
17
+ end
18
+
19
+ def self.team(id, role = "")
20
+ if(role.empty?)
21
+ "team:#{id}"
22
+ else
23
+ "team:#{id}/#{role}"
24
+ end
25
+ end
26
+
27
+ def self.status(status)
28
+ "status:#{status}"
29
+ end
30
+ end
31
+ end