appwrite 10.1.2 → 11.0.0.pre.rc.4
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 +43 -4
- data/lib/appwrite/enums/authentication_factor.rb +9 -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/encryption.rb +9 -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 +10 -0
- data/lib/appwrite/enums/message_status.rb +9 -0
- data/lib/appwrite/enums/messaging_provider_type.rb +9 -0
- data/lib/appwrite/enums/name.rb +18 -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 +42 -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_type.rb +37 -0
- data/lib/appwrite/models/provider.rb +67 -0
- data/lib/appwrite/models/provider_list.rb +32 -0
- data/lib/appwrite/models/session.rb +13 -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 +15 -0
- data/lib/appwrite/query.rb +53 -28
- data/lib/appwrite/services/account.rb +650 -12
- data/lib/appwrite/services/avatars.rb +3 -3
- data/lib/appwrite/services/databases.rb +6 -6
- data/lib/appwrite/services/functions.rb +3 -3
- data/lib/appwrite/services/health.rb +59 -0
- data/lib/appwrite/services/messaging.rb +1879 -0
- data/lib/appwrite/services/storage.rb +4 -4
- data/lib/appwrite/services/teams.rb +1 -1
- data/lib/appwrite/services/users.rb +382 -4
- data/lib/appwrite.rb +36 -0
- metadata +39 -4
@@ -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,10 @@ module Appwrite
|
|
18
18
|
attr_reader :phone
|
19
19
|
attr_reader :email_verification
|
20
20
|
attr_reader :phone_verification
|
21
|
+
attr_reader :mfa
|
22
|
+
attr_reader :totp
|
21
23
|
attr_reader :prefs
|
24
|
+
attr_reader :targets
|
22
25
|
attr_reader :accessed_at
|
23
26
|
|
24
27
|
def initialize(
|
@@ -37,7 +40,10 @@ module Appwrite
|
|
37
40
|
phone:,
|
38
41
|
email_verification:,
|
39
42
|
phone_verification:,
|
43
|
+
mfa:,
|
44
|
+
totp:,
|
40
45
|
prefs:,
|
46
|
+
targets:,
|
41
47
|
accessed_at:
|
42
48
|
)
|
43
49
|
@id = id
|
@@ -55,7 +61,10 @@ module Appwrite
|
|
55
61
|
@phone = phone
|
56
62
|
@email_verification = email_verification
|
57
63
|
@phone_verification = phone_verification
|
64
|
+
@mfa = mfa
|
65
|
+
@totp = totp
|
58
66
|
@prefs = prefs
|
67
|
+
@targets = targets
|
59
68
|
@accessed_at = accessed_at
|
60
69
|
end
|
61
70
|
|
@@ -76,7 +85,10 @@ module Appwrite
|
|
76
85
|
phone: map["phone"],
|
77
86
|
email_verification: map["emailVerification"],
|
78
87
|
phone_verification: map["phoneVerification"],
|
88
|
+
mfa: map["mfa"],
|
89
|
+
totp: map["totp"],
|
79
90
|
prefs: Preferences.from(map: map["prefs"]),
|
91
|
+
targets: map["targets"].map { |it| Target.from(map: it) },
|
80
92
|
accessed_at: map["accessedAt"]
|
81
93
|
)
|
82
94
|
end
|
@@ -98,7 +110,10 @@ module Appwrite
|
|
98
110
|
"phone": @phone,
|
99
111
|
"emailVerification": @email_verification,
|
100
112
|
"phoneVerification": @phone_verification,
|
113
|
+
"mfa": @mfa,
|
114
|
+
"totp": @totp,
|
101
115
|
"prefs": @prefs.to_map,
|
116
|
+
"targets": @targets.map { |it| it.to_map },
|
102
117
|
"accessedAt": @accessed_at
|
103
118
|
}
|
104
119
|
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
|