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.
- checksums.yaml +4 -4
- data/lib/appwrite/client.rb +5 -2
- data/lib/appwrite/id.rb +11 -0
- data/lib/appwrite/models/account.rb +82 -0
- data/lib/appwrite/models/algo_argon2.rb +37 -0
- data/lib/appwrite/models/algo_bcrypt.rb +22 -0
- data/lib/appwrite/models/algo_md5.rb +22 -0
- data/lib/appwrite/models/algo_phpass.rb +22 -0
- data/lib/appwrite/models/algo_scrypt.rb +42 -0
- data/lib/appwrite/models/algo_scrypt_modified.rb +37 -0
- data/lib/appwrite/models/algo_sha.rb +22 -0
- data/lib/appwrite/models/attribute_datetime.rb +57 -0
- data/lib/appwrite/models/bucket.rb +15 -15
- data/lib/appwrite/models/collection.rb +10 -15
- data/lib/appwrite/models/database.rb +13 -3
- data/lib/appwrite/models/document.rb +5 -10
- data/lib/appwrite/models/execution.rb +10 -5
- data/lib/appwrite/models/file.rb +5 -10
- data/lib/appwrite/models/function.rb +2 -2
- data/lib/appwrite/models/index.rb +1 -1
- data/lib/appwrite/models/user.rb +15 -0
- data/lib/appwrite/models/variable.rb +52 -0
- data/lib/appwrite/models/variable_list.rb +32 -0
- data/lib/appwrite/permission.rb +21 -0
- data/lib/appwrite/query.rb +43 -14
- data/lib/appwrite/role.rb +31 -0
- data/lib/appwrite/services/account.rb +184 -143
- data/lib/appwrite/services/avatars.rb +72 -56
- data/lib/appwrite/services/databases.rb +638 -552
- data/lib/appwrite/services/functions.rb +380 -176
- data/lib/appwrite/services/health.rb +33 -10
- data/lib/appwrite/services/locale.rb +24 -7
- data/lib/appwrite/services/storage.rb +194 -193
- data/lib/appwrite/services/teams.rb +137 -128
- data/lib/appwrite/services/users.rb +572 -163
- data/lib/appwrite.rb +15 -0
- 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 :
|
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
|
-
|
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
|
-
@
|
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
|
-
|
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
|
-
"$
|
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
|
}
|
data/lib/appwrite/models/file.rb
CHANGED
@@ -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 :
|
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
|
-
|
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
|
-
@
|
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
|
-
|
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
|
-
"$
|
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,
|
data/lib/appwrite/models/user.rb
CHANGED
@@ -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
|
data/lib/appwrite/query.rb
CHANGED
@@ -6,31 +6,60 @@ module Appwrite
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def notEqual(attribute, value)
|
9
|
-
return
|
9
|
+
return addQuery(attribute, "notEqual", value)
|
10
10
|
end
|
11
|
-
|
12
|
-
|
11
|
+
|
12
|
+
def lessThan(attribute, value)
|
13
|
+
return addQuery(attribute, "lessThan", value)
|
13
14
|
end
|
14
|
-
|
15
|
-
|
15
|
+
|
16
|
+
def lessThanEqual(attribute, value)
|
17
|
+
return addQuery(attribute, "lessThanEqual", value)
|
16
18
|
end
|
17
|
-
|
18
|
-
|
19
|
+
|
20
|
+
def greaterThan(attribute, value)
|
21
|
+
return addQuery(attribute, "greaterThan", value)
|
19
22
|
end
|
20
|
-
|
21
|
-
|
23
|
+
|
24
|
+
def greaterThanEqual(attribute, value)
|
25
|
+
return addQuery(attribute, "greaterThanEqual", value)
|
22
26
|
end
|
27
|
+
|
23
28
|
def search(attribute, value)
|
24
|
-
return
|
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,
|
58
|
+
def addQuery(attribute, method, value)
|
30
59
|
if value.is_a?(Array)
|
31
|
-
"#{
|
60
|
+
"#{method}(\"#{attribute}\", [#{value.map {|item| parseValues(item)}.join(',')}])"
|
32
61
|
else
|
33
|
-
return "#{
|
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
|