appwrite 5.0.0 → 7.0.0.pre.RC2

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.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +32 -11
  3. data/lib/appwrite/id.rb +11 -0
  4. data/lib/appwrite/input_file.rb +33 -0
  5. data/lib/appwrite/models/account.rb +82 -0
  6. data/lib/appwrite/models/algo_argon2.rb +37 -0
  7. data/lib/appwrite/models/algo_bcrypt.rb +22 -0
  8. data/lib/appwrite/models/algo_md5.rb +22 -0
  9. data/lib/appwrite/models/algo_phpass.rb +22 -0
  10. data/lib/appwrite/models/algo_scrypt.rb +42 -0
  11. data/lib/appwrite/models/algo_scrypt_modified.rb +37 -0
  12. data/lib/appwrite/models/algo_sha.rb +22 -0
  13. data/lib/appwrite/models/attribute_datetime.rb +57 -0
  14. data/lib/appwrite/models/bucket.rb +25 -25
  15. data/lib/appwrite/models/collection.rb +25 -15
  16. data/lib/appwrite/models/database.rb +42 -0
  17. data/lib/appwrite/models/database_list.rb +32 -0
  18. data/lib/appwrite/models/deployment.rb +10 -5
  19. data/lib/appwrite/models/document.rb +15 -10
  20. data/lib/appwrite/models/execution.rb +20 -10
  21. data/lib/appwrite/models/file.rb +15 -15
  22. data/lib/appwrite/models/function.rb +12 -12
  23. data/lib/appwrite/models/index.rb +1 -1
  24. data/lib/appwrite/models/membership.rb +10 -0
  25. data/lib/appwrite/models/session.rb +5 -0
  26. data/lib/appwrite/models/team.rb +10 -5
  27. data/lib/appwrite/models/token.rb +5 -0
  28. data/lib/appwrite/models/user.rb +35 -0
  29. data/lib/appwrite/models/variable.rb +52 -0
  30. data/lib/appwrite/models/variable_list.rb +32 -0
  31. data/lib/appwrite/permission.rb +21 -0
  32. data/lib/appwrite/query.rb +43 -14
  33. data/lib/appwrite/role.rb +31 -0
  34. data/lib/appwrite/services/account.rb +250 -103
  35. data/lib/appwrite/services/avatars.rb +73 -56
  36. data/lib/appwrite/services/databases.rb +1425 -0
  37. data/lib/appwrite/services/functions.rb +381 -176
  38. data/lib/appwrite/services/health.rb +34 -10
  39. data/lib/appwrite/services/locale.rb +25 -7
  40. data/lib/appwrite/services/storage.rb +195 -193
  41. data/lib/appwrite/services/teams.rb +138 -128
  42. data/lib/appwrite/services/users.rb +610 -130
  43. data/lib/appwrite.rb +19 -2
  44. metadata +22 -6
  45. data/lib/appwrite/file.rb +0 -17
  46. data/lib/appwrite/services/database.rb +0 -1047
@@ -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