appwrite 10.1.2 → 11.0.0
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 +36 -7
- data/lib/appwrite/enums/authentication_factor.rb +10 -0
- data/lib/appwrite/enums/authenticator_type.rb +7 -0
- data/lib/appwrite/enums/browser.rb +20 -0
- data/lib/appwrite/enums/compression.rb +9 -0
- data/lib/appwrite/enums/credit_card.rb +22 -0
- data/lib/appwrite/enums/execution_method.rb +12 -0
- data/lib/appwrite/enums/flag.rb +200 -0
- data/lib/appwrite/enums/image_format.rb +11 -0
- data/lib/appwrite/enums/image_gravity.rb +15 -0
- data/lib/appwrite/enums/index_type.rb +9 -0
- data/lib/appwrite/enums/messaging_provider_type.rb +9 -0
- data/lib/appwrite/enums/name.rb +19 -0
- data/lib/appwrite/enums/o_auth_provider.rb +45 -0
- data/lib/appwrite/enums/password_hash.rb +17 -0
- data/lib/appwrite/enums/relation_mutate.rb +9 -0
- data/lib/appwrite/enums/relationship_type.rb +10 -0
- data/lib/appwrite/enums/runtime.rb +50 -0
- data/lib/appwrite/enums/smtp_encryption.rb +9 -0
- data/lib/appwrite/models/health_certificate.rb +52 -0
- data/lib/appwrite/models/jwt.rb +27 -0
- data/lib/appwrite/models/membership.rb +5 -0
- data/lib/appwrite/models/message.rb +87 -0
- data/lib/appwrite/models/message_list.rb +32 -0
- data/lib/appwrite/models/mfa_challenge.rb +42 -0
- data/lib/appwrite/models/mfa_factors.rb +37 -0
- data/lib/appwrite/models/mfa_recovery_codes.rb +27 -0
- data/lib/appwrite/models/mfa_type.rb +32 -0
- data/lib/appwrite/models/provider.rb +67 -0
- data/lib/appwrite/models/provider_list.rb +32 -0
- data/lib/appwrite/models/session.rb +18 -3
- data/lib/appwrite/models/subscriber.rb +67 -0
- data/lib/appwrite/models/subscriber_list.rb +32 -0
- data/lib/appwrite/models/target.rb +62 -0
- data/lib/appwrite/models/target_list.rb +32 -0
- data/lib/appwrite/models/token.rb +8 -3
- data/lib/appwrite/models/topic.rb +62 -0
- data/lib/appwrite/models/topic_list.rb +32 -0
- data/lib/appwrite/models/user.rb +10 -0
- data/lib/appwrite/query.rb +53 -28
- data/lib/appwrite/services/account.rb +935 -168
- data/lib/appwrite/services/avatars.rb +3 -3
- data/lib/appwrite/services/databases.rb +22 -16
- data/lib/appwrite/services/functions.rb +3 -3
- data/lib/appwrite/services/health.rb +138 -0
- data/lib/appwrite/services/messaging.rb +1886 -0
- data/lib/appwrite/services/storage.rb +4 -4
- data/lib/appwrite/services/teams.rb +1 -1
- data/lib/appwrite/services/users.rb +475 -4
- data/lib/appwrite.rb +36 -0
- metadata +37 -2
@@ -0,0 +1,62 @@
|
|
1
|
+
#frozen_string_literal: true
|
2
|
+
|
3
|
+
module Appwrite
|
4
|
+
module Models
|
5
|
+
class Topic
|
6
|
+
attr_reader :id
|
7
|
+
attr_reader :created_at
|
8
|
+
attr_reader :updated_at
|
9
|
+
attr_reader :name
|
10
|
+
attr_reader :email_total
|
11
|
+
attr_reader :sms_total
|
12
|
+
attr_reader :push_total
|
13
|
+
attr_reader :subscribe
|
14
|
+
|
15
|
+
def initialize(
|
16
|
+
id:,
|
17
|
+
created_at:,
|
18
|
+
updated_at:,
|
19
|
+
name:,
|
20
|
+
email_total:,
|
21
|
+
sms_total:,
|
22
|
+
push_total:,
|
23
|
+
subscribe:
|
24
|
+
)
|
25
|
+
@id = id
|
26
|
+
@created_at = created_at
|
27
|
+
@updated_at = updated_at
|
28
|
+
@name = name
|
29
|
+
@email_total = email_total
|
30
|
+
@sms_total = sms_total
|
31
|
+
@push_total = push_total
|
32
|
+
@subscribe = subscribe
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.from(map:)
|
36
|
+
Topic.new(
|
37
|
+
id: map["$id"],
|
38
|
+
created_at: map["$createdAt"],
|
39
|
+
updated_at: map["$updatedAt"],
|
40
|
+
name: map["name"],
|
41
|
+
email_total: map["emailTotal"],
|
42
|
+
sms_total: map["smsTotal"],
|
43
|
+
push_total: map["pushTotal"],
|
44
|
+
subscribe: map["subscribe"]
|
45
|
+
)
|
46
|
+
end
|
47
|
+
|
48
|
+
def to_map
|
49
|
+
{
|
50
|
+
"$id": @id,
|
51
|
+
"$createdAt": @created_at,
|
52
|
+
"$updatedAt": @updated_at,
|
53
|
+
"name": @name,
|
54
|
+
"emailTotal": @email_total,
|
55
|
+
"smsTotal": @sms_total,
|
56
|
+
"pushTotal": @push_total,
|
57
|
+
"subscribe": @subscribe
|
58
|
+
}
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
#frozen_string_literal: true
|
2
|
+
|
3
|
+
module Appwrite
|
4
|
+
module Models
|
5
|
+
class TopicList
|
6
|
+
attr_reader :total
|
7
|
+
attr_reader :topics
|
8
|
+
|
9
|
+
def initialize(
|
10
|
+
total:,
|
11
|
+
topics:
|
12
|
+
)
|
13
|
+
@total = total
|
14
|
+
@topics = topics
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.from(map:)
|
18
|
+
TopicList.new(
|
19
|
+
total: map["total"],
|
20
|
+
topics: map["topics"].map { |it| Topic.from(map: it) }
|
21
|
+
)
|
22
|
+
end
|
23
|
+
|
24
|
+
def to_map
|
25
|
+
{
|
26
|
+
"total": @total,
|
27
|
+
"topics": @topics.map { |it| it.to_map }
|
28
|
+
}
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/lib/appwrite/models/user.rb
CHANGED
@@ -18,7 +18,9 @@ module Appwrite
|
|
18
18
|
attr_reader :phone
|
19
19
|
attr_reader :email_verification
|
20
20
|
attr_reader :phone_verification
|
21
|
+
attr_reader :mfa
|
21
22
|
attr_reader :prefs
|
23
|
+
attr_reader :targets
|
22
24
|
attr_reader :accessed_at
|
23
25
|
|
24
26
|
def initialize(
|
@@ -37,7 +39,9 @@ module Appwrite
|
|
37
39
|
phone:,
|
38
40
|
email_verification:,
|
39
41
|
phone_verification:,
|
42
|
+
mfa:,
|
40
43
|
prefs:,
|
44
|
+
targets:,
|
41
45
|
accessed_at:
|
42
46
|
)
|
43
47
|
@id = id
|
@@ -55,7 +59,9 @@ module Appwrite
|
|
55
59
|
@phone = phone
|
56
60
|
@email_verification = email_verification
|
57
61
|
@phone_verification = phone_verification
|
62
|
+
@mfa = mfa
|
58
63
|
@prefs = prefs
|
64
|
+
@targets = targets
|
59
65
|
@accessed_at = accessed_at
|
60
66
|
end
|
61
67
|
|
@@ -76,7 +82,9 @@ module Appwrite
|
|
76
82
|
phone: map["phone"],
|
77
83
|
email_verification: map["emailVerification"],
|
78
84
|
phone_verification: map["phoneVerification"],
|
85
|
+
mfa: map["mfa"],
|
79
86
|
prefs: Preferences.from(map: map["prefs"]),
|
87
|
+
targets: map["targets"].map { |it| Target.from(map: it) },
|
80
88
|
accessed_at: map["accessedAt"]
|
81
89
|
)
|
82
90
|
end
|
@@ -98,7 +106,9 @@ module Appwrite
|
|
98
106
|
"phone": @phone,
|
99
107
|
"emailVerification": @email_verification,
|
100
108
|
"phoneVerification": @phone_verification,
|
109
|
+
"mfa": @mfa,
|
101
110
|
"prefs": @prefs.to_map,
|
111
|
+
"targets": @targets.map { |it| it.to_map },
|
102
112
|
"accessedAt": @accessed_at
|
103
113
|
}
|
104
114
|
end
|
data/lib/appwrite/query.rb
CHANGED
@@ -1,94 +1,119 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
1
3
|
module Appwrite
|
2
4
|
class Query
|
5
|
+
def initialize(method, attribute = nil, values = nil)
|
6
|
+
@method = method
|
7
|
+
@attribute = attribute
|
8
|
+
|
9
|
+
if values != nil
|
10
|
+
if values.is_a?(Array)
|
11
|
+
@values = values
|
12
|
+
else
|
13
|
+
@values = [values]
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def to_json(*args)
|
19
|
+
{
|
20
|
+
method: @method,
|
21
|
+
attribute: @attribute,
|
22
|
+
values: @values
|
23
|
+
}.compact.to_json(*args)
|
24
|
+
end
|
25
|
+
|
26
|
+
def to_s
|
27
|
+
return self.to_json
|
28
|
+
end
|
29
|
+
|
3
30
|
class << Query
|
4
31
|
def equal(attribute, value)
|
5
|
-
return
|
32
|
+
return Query.new("equal", attribute, value).to_s
|
6
33
|
end
|
7
34
|
|
8
35
|
def not_equal(attribute, value)
|
9
|
-
return
|
36
|
+
return Query.new("notEqual", attribute, value).to_s
|
10
37
|
end
|
11
38
|
|
12
39
|
def less_than(attribute, value)
|
13
|
-
return
|
40
|
+
return Query.new("lessThan", attribute, value).to_s
|
14
41
|
end
|
15
42
|
|
16
43
|
def less_than_equal(attribute, value)
|
17
|
-
return
|
44
|
+
return Query.new("lessThanEqual", attribute, value).to_s
|
18
45
|
end
|
19
46
|
|
20
47
|
def greater_than(attribute, value)
|
21
|
-
return
|
48
|
+
return Query.new("greaterThan", attribute, value).to_s
|
22
49
|
end
|
23
50
|
|
24
51
|
def greater_than_equal(attribute, value)
|
25
|
-
return
|
52
|
+
return Query.new("greaterThanEqual", attribute, value).to_s
|
26
53
|
end
|
27
54
|
|
28
55
|
def is_null(attribute)
|
29
|
-
return "isNull
|
56
|
+
return Query.new("isNull", attribute, nil).to_s
|
30
57
|
end
|
31
58
|
|
32
59
|
def is_not_null(attribute)
|
33
|
-
return "isNotNull
|
60
|
+
return Query.new("isNotNull", attribute, nil).to_s
|
34
61
|
end
|
35
62
|
|
36
63
|
def between(attribute, start, ending)
|
37
|
-
return "between
|
64
|
+
return Query.new("between", attribute, [start, ending]).to_s
|
38
65
|
end
|
39
66
|
|
40
67
|
def starts_with(attribute, value)
|
41
|
-
return
|
68
|
+
return Query.new("startsWith", attribute, value).to_s
|
42
69
|
end
|
43
70
|
|
44
71
|
def ends_with(attribute, value)
|
45
|
-
return
|
72
|
+
return Query.new("endsWith", attribute, value).to_s
|
46
73
|
end
|
47
74
|
|
48
75
|
def select(attributes)
|
49
|
-
return "select
|
76
|
+
return Query.new("select", nil, attributes).to_s
|
50
77
|
end
|
51
78
|
|
52
79
|
def search(attribute, value)
|
53
|
-
return
|
80
|
+
return Query.new("search", attribute, value).to_s
|
54
81
|
end
|
55
82
|
|
56
83
|
def order_asc(attribute)
|
57
|
-
return "orderAsc
|
84
|
+
return Query.new("orderAsc", attribute, nil).to_s
|
58
85
|
end
|
59
86
|
|
60
87
|
def order_desc(attribute)
|
61
|
-
return "orderDesc
|
88
|
+
return Query.new("orderDesc", attribute, nil).to_s
|
62
89
|
end
|
63
90
|
|
64
91
|
def cursor_before(id)
|
65
|
-
return "cursorBefore
|
92
|
+
return Query.new("cursorBefore", nil, id).to_s
|
66
93
|
end
|
67
94
|
|
68
95
|
def cursor_after(id)
|
69
|
-
return "cursorAfter
|
96
|
+
return Query.new("cursorAfter", nil, id).to_s
|
70
97
|
end
|
71
98
|
|
72
99
|
def limit(limit)
|
73
|
-
return "limit
|
100
|
+
return Query.new("limit", nil, limit).to_s
|
74
101
|
end
|
75
102
|
|
76
103
|
def offset(offset)
|
77
|
-
return "offset
|
104
|
+
return Query.new("offset", nil, offset).to_s
|
78
105
|
end
|
79
106
|
|
80
|
-
|
107
|
+
def contains(attribute, value)
|
108
|
+
return Query.new("contains", attribute, value).to_s
|
109
|
+
end
|
81
110
|
|
82
|
-
def
|
83
|
-
|
84
|
-
"#{method}(\"#{attribute}\", [#{value.map {|item| parse_values(item)}.join(',')}])"
|
85
|
-
else
|
86
|
-
return "#{method}(\"#{attribute}\", [#{parse_values(value)}])"
|
87
|
-
end
|
111
|
+
def or(queries)
|
112
|
+
return Query.new("or", nil, queries.map { |query| JSON.parse(query) }).to_s
|
88
113
|
end
|
89
114
|
|
90
|
-
def
|
91
|
-
return
|
115
|
+
def and(queries)
|
116
|
+
return Query.new("and", nil, queries.map { |query| JSON.parse(query) }).to_s
|
92
117
|
end
|
93
118
|
end
|
94
119
|
end
|