appwrite 4.1.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.
- checksums.yaml +4 -4
- data/lib/appwrite/client.rb +32 -11
- data/lib/appwrite/id.rb +11 -0
- data/lib/appwrite/input_file.rb +33 -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 +25 -25
- data/lib/appwrite/models/collection.rb +25 -15
- data/lib/appwrite/models/database.rb +42 -0
- data/lib/appwrite/models/database_list.rb +32 -0
- data/lib/appwrite/models/deployment.rb +10 -5
- data/lib/appwrite/models/document.rb +15 -10
- data/lib/appwrite/models/execution.rb +20 -10
- data/lib/appwrite/models/file.rb +15 -15
- data/lib/appwrite/models/function.rb +12 -12
- data/lib/appwrite/models/index.rb +1 -1
- data/lib/appwrite/models/membership.rb +25 -10
- data/lib/appwrite/models/session.rb +5 -0
- data/lib/appwrite/models/team.rb +10 -5
- data/lib/appwrite/models/token.rb +5 -0
- data/lib/appwrite/models/user.rb +35 -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 +274 -126
- data/lib/appwrite/services/avatars.rb +106 -59
- data/lib/appwrite/services/databases.rb +1425 -0
- data/lib/appwrite/services/functions.rb +381 -176
- data/lib/appwrite/services/health.rb +34 -34
- data/lib/appwrite/services/locale.rb +25 -7
- data/lib/appwrite/services/storage.rb +195 -193
- data/lib/appwrite/services/teams.rb +138 -128
- data/lib/appwrite/services/users.rb +637 -123
- data/lib/appwrite.rb +19 -2
- metadata +22 -6
- data/lib/appwrite/file.rb +0 -17
- data/lib/appwrite/services/database.rb +0 -1049
data/lib/appwrite/models/user.rb
CHANGED
@@ -4,43 +4,71 @@ module Appwrite
|
|
4
4
|
module Models
|
5
5
|
class User
|
6
6
|
attr_reader :id
|
7
|
+
attr_reader :created_at
|
8
|
+
attr_reader :updated_at
|
7
9
|
attr_reader :name
|
10
|
+
attr_reader :password
|
11
|
+
attr_reader :hash
|
12
|
+
attr_reader :hash_options
|
8
13
|
attr_reader :registration
|
9
14
|
attr_reader :status
|
10
15
|
attr_reader :password_update
|
11
16
|
attr_reader :email
|
17
|
+
attr_reader :phone
|
12
18
|
attr_reader :email_verification
|
19
|
+
attr_reader :phone_verification
|
13
20
|
attr_reader :prefs
|
14
21
|
|
15
22
|
def initialize(
|
16
23
|
id:,
|
24
|
+
created_at:,
|
25
|
+
updated_at:,
|
17
26
|
name:,
|
27
|
+
password:,
|
28
|
+
hash:,
|
29
|
+
hash_options:,
|
18
30
|
registration:,
|
19
31
|
status:,
|
20
32
|
password_update:,
|
21
33
|
email:,
|
34
|
+
phone:,
|
22
35
|
email_verification:,
|
36
|
+
phone_verification:,
|
23
37
|
prefs:
|
24
38
|
)
|
25
39
|
@id = id
|
40
|
+
@created_at = created_at
|
41
|
+
@updated_at = updated_at
|
26
42
|
@name = name
|
43
|
+
@password = password
|
44
|
+
@hash = hash
|
45
|
+
@hash_options = hash_options
|
27
46
|
@registration = registration
|
28
47
|
@status = status
|
29
48
|
@password_update = password_update
|
30
49
|
@email = email
|
50
|
+
@phone = phone
|
31
51
|
@email_verification = email_verification
|
52
|
+
@phone_verification = phone_verification
|
32
53
|
@prefs = prefs
|
33
54
|
end
|
34
55
|
|
35
56
|
def self.from(map:)
|
36
57
|
User.new(
|
37
58
|
id: map["$id"],
|
59
|
+
created_at: map["$createdAt"],
|
60
|
+
updated_at: map["$updatedAt"],
|
38
61
|
name: map["name"],
|
62
|
+
password: map["password"],
|
63
|
+
hash: map["hash"],
|
64
|
+
hash_options: map["hashOptions"],
|
39
65
|
registration: map["registration"],
|
40
66
|
status: map["status"],
|
41
67
|
password_update: map["passwordUpdate"],
|
42
68
|
email: map["email"],
|
69
|
+
phone: map["phone"],
|
43
70
|
email_verification: map["emailVerification"],
|
71
|
+
phone_verification: map["phoneVerification"],
|
44
72
|
prefs: Preferences.from(map: map["prefs"])
|
45
73
|
)
|
46
74
|
end
|
@@ -48,12 +76,19 @@ module Appwrite
|
|
48
76
|
def to_map
|
49
77
|
{
|
50
78
|
"$id": @id,
|
79
|
+
"$createdAt": @created_at,
|
80
|
+
"$updatedAt": @updated_at,
|
51
81
|
"name": @name,
|
82
|
+
"password": @password,
|
83
|
+
"hash": @hash,
|
84
|
+
"hashOptions": @hash_options,
|
52
85
|
"registration": @registration,
|
53
86
|
"status": @status,
|
54
87
|
"passwordUpdate": @password_update,
|
55
88
|
"email": @email,
|
89
|
+
"phone": @phone,
|
56
90
|
"emailVerification": @email_verification,
|
91
|
+
"phoneVerification": @phone_verification,
|
57
92
|
"prefs": @prefs.to_map
|
58
93
|
}
|
59
94
|
end
|
@@ -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
|