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
@@ -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