appwrite 21.1.0 → 23.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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +48 -2
  3. data/lib/appwrite/enums/backup_services.rb +3 -0
  4. data/lib/appwrite/enums/build_runtime.rb +2 -0
  5. data/lib/appwrite/enums/database_type.rb +2 -0
  6. data/lib/appwrite/enums/databases_index_type.rb +10 -0
  7. data/lib/appwrite/enums/o_auth_provider.rb +1 -0
  8. data/lib/appwrite/enums/platform_type.rb +11 -0
  9. data/lib/appwrite/enums/protocol_id.rb +9 -0
  10. data/lib/appwrite/enums/runtime.rb +2 -0
  11. data/lib/appwrite/enums/scopes.rb +8 -0
  12. data/lib/appwrite/enums/service_id.rb +23 -0
  13. data/lib/appwrite/enums/{index_type.rb → tables_db_index_type.rb} +1 -1
  14. data/lib/appwrite/enums/template_reference_type.rb +1 -1
  15. data/lib/appwrite/models/auth_provider.rb +47 -0
  16. data/lib/appwrite/models/billing_limits.rb +62 -0
  17. data/lib/appwrite/models/block.rb +47 -0
  18. data/lib/appwrite/models/database.rb +2 -0
  19. data/lib/appwrite/models/dev_key.rb +62 -0
  20. data/lib/appwrite/models/function.rb +15 -5
  21. data/lib/appwrite/models/key.rb +67 -0
  22. data/lib/appwrite/models/key_list.rb +32 -0
  23. data/lib/appwrite/models/log.rb +5 -0
  24. data/lib/appwrite/models/mock_number.rb +32 -0
  25. data/lib/appwrite/models/platform_android.rb +71 -0
  26. data/lib/appwrite/models/platform_apple.rb +71 -0
  27. data/lib/appwrite/models/platform_linux.rb +71 -0
  28. data/lib/appwrite/models/platform_list.rb +32 -0
  29. data/lib/appwrite/models/platform_web.rb +71 -0
  30. data/lib/appwrite/models/platform_windows.rb +71 -0
  31. data/lib/appwrite/models/project.rb +412 -0
  32. data/lib/appwrite/models/site.rb +20 -5
  33. data/lib/appwrite/models/user.rb +13 -3
  34. data/lib/appwrite/models/webhook.rb +87 -0
  35. data/lib/appwrite/models/webhook_list.rb +32 -0
  36. data/lib/appwrite/service.rb +1 -1
  37. data/lib/appwrite/services/account.rb +47 -2
  38. data/lib/appwrite/services/activities.rb +3 -1
  39. data/lib/appwrite/services/avatars.rb +9 -1
  40. data/lib/appwrite/services/backups.rb +13 -1
  41. data/lib/appwrite/services/databases.rb +133 -7
  42. data/lib/appwrite/services/functions.rb +41 -7
  43. data/lib/appwrite/services/graphql.rb +5 -3
  44. data/lib/appwrite/services/health.rb +22 -117
  45. data/lib/appwrite/services/locale.rb +9 -1
  46. data/lib/appwrite/services/messaging.rb +49 -1
  47. data/lib/appwrite/services/project.rb +1011 -0
  48. data/lib/appwrite/services/sites.rb +44 -7
  49. data/lib/appwrite/services/storage.rb +14 -1
  50. data/lib/appwrite/services/tables_db.rb +133 -7
  51. data/lib/appwrite/services/teams.rb +14 -1
  52. data/lib/appwrite/services/tokens.rb +6 -1
  53. data/lib/appwrite/services/users.rb +85 -2
  54. data/lib/appwrite/services/webhooks.rb +249 -0
  55. data/lib/appwrite.rb +23 -1
  56. metadata +25 -3
@@ -8,6 +8,7 @@ module Appwrite
8
8
  attr_reader :user_email
9
9
  attr_reader :user_name
10
10
  attr_reader :mode
11
+ attr_reader :user_type
11
12
  attr_reader :ip
12
13
  attr_reader :time
13
14
  attr_reader :os_code
@@ -31,6 +32,7 @@ module Appwrite
31
32
  user_email:,
32
33
  user_name:,
33
34
  mode:,
35
+ user_type:,
34
36
  ip:,
35
37
  time:,
36
38
  os_code:,
@@ -53,6 +55,7 @@ module Appwrite
53
55
  @user_email = user_email
54
56
  @user_name = user_name
55
57
  @mode = mode
58
+ @user_type = user_type
56
59
  @ip = ip
57
60
  @time = time
58
61
  @os_code = os_code
@@ -78,6 +81,7 @@ module Appwrite
78
81
  user_email: map["userEmail"],
79
82
  user_name: map["userName"],
80
83
  mode: map["mode"],
84
+ user_type: map["userType"],
81
85
  ip: map["ip"],
82
86
  time: map["time"],
83
87
  os_code: map["osCode"],
@@ -104,6 +108,7 @@ module Appwrite
104
108
  "userEmail": @user_email,
105
109
  "userName": @user_name,
106
110
  "mode": @mode,
111
+ "userType": @user_type,
107
112
  "ip": @ip,
108
113
  "time": @time,
109
114
  "osCode": @os_code,
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class MockNumber
6
+ attr_reader :phone
7
+ attr_reader :otp
8
+
9
+ def initialize(
10
+ phone:,
11
+ otp:
12
+ )
13
+ @phone = phone
14
+ @otp = otp
15
+ end
16
+
17
+ def self.from(map:)
18
+ MockNumber.new(
19
+ phone: map["phone"],
20
+ otp: map["otp"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "phone": @phone,
27
+ "otp": @otp
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,71 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PlatformAndroid
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :name
10
+ attr_reader :type
11
+ attr_reader :application_id
12
+
13
+ def initialize(
14
+ id:,
15
+ created_at:,
16
+ updated_at:,
17
+ name:,
18
+ type:,
19
+ application_id:
20
+ )
21
+ @id = id
22
+ @created_at = created_at
23
+ @updated_at = updated_at
24
+ @name = name
25
+ @type = validate_type(type)
26
+ @application_id = application_id
27
+ end
28
+
29
+ def self.from(map:)
30
+ PlatformAndroid.new(
31
+ id: map["$id"],
32
+ created_at: map["$createdAt"],
33
+ updated_at: map["$updatedAt"],
34
+ name: map["name"],
35
+ type: map["type"],
36
+ application_id: map["applicationId"]
37
+ )
38
+ end
39
+
40
+ def to_map
41
+ {
42
+ "$id": @id,
43
+ "$createdAt": @created_at,
44
+ "$updatedAt": @updated_at,
45
+ "name": @name,
46
+ "type": @type,
47
+ "applicationId": @application_id
48
+ }
49
+ end
50
+
51
+ private
52
+
53
+ def validate_type(type)
54
+ valid_type = [
55
+ Appwrite::Enums::PlatformType::WINDOWS,
56
+ Appwrite::Enums::PlatformType::APPLE,
57
+ Appwrite::Enums::PlatformType::ANDROID,
58
+ Appwrite::Enums::PlatformType::LINUX,
59
+ Appwrite::Enums::PlatformType::WEB,
60
+ ]
61
+
62
+ unless valid_type.include?(type)
63
+ raise ArgumentError, "Invalid " + type + ". Must be one of: " + valid_type.join(', ')
64
+ end
65
+
66
+ type
67
+ end
68
+
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,71 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PlatformApple
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :name
10
+ attr_reader :type
11
+ attr_reader :bundle_identifier
12
+
13
+ def initialize(
14
+ id:,
15
+ created_at:,
16
+ updated_at:,
17
+ name:,
18
+ type:,
19
+ bundle_identifier:
20
+ )
21
+ @id = id
22
+ @created_at = created_at
23
+ @updated_at = updated_at
24
+ @name = name
25
+ @type = validate_type(type)
26
+ @bundle_identifier = bundle_identifier
27
+ end
28
+
29
+ def self.from(map:)
30
+ PlatformApple.new(
31
+ id: map["$id"],
32
+ created_at: map["$createdAt"],
33
+ updated_at: map["$updatedAt"],
34
+ name: map["name"],
35
+ type: map["type"],
36
+ bundle_identifier: map["bundleIdentifier"]
37
+ )
38
+ end
39
+
40
+ def to_map
41
+ {
42
+ "$id": @id,
43
+ "$createdAt": @created_at,
44
+ "$updatedAt": @updated_at,
45
+ "name": @name,
46
+ "type": @type,
47
+ "bundleIdentifier": @bundle_identifier
48
+ }
49
+ end
50
+
51
+ private
52
+
53
+ def validate_type(type)
54
+ valid_type = [
55
+ Appwrite::Enums::PlatformType::WINDOWS,
56
+ Appwrite::Enums::PlatformType::APPLE,
57
+ Appwrite::Enums::PlatformType::ANDROID,
58
+ Appwrite::Enums::PlatformType::LINUX,
59
+ Appwrite::Enums::PlatformType::WEB,
60
+ ]
61
+
62
+ unless valid_type.include?(type)
63
+ raise ArgumentError, "Invalid " + type + ". Must be one of: " + valid_type.join(', ')
64
+ end
65
+
66
+ type
67
+ end
68
+
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,71 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PlatformLinux
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :name
10
+ attr_reader :type
11
+ attr_reader :package_name
12
+
13
+ def initialize(
14
+ id:,
15
+ created_at:,
16
+ updated_at:,
17
+ name:,
18
+ type:,
19
+ package_name:
20
+ )
21
+ @id = id
22
+ @created_at = created_at
23
+ @updated_at = updated_at
24
+ @name = name
25
+ @type = validate_type(type)
26
+ @package_name = package_name
27
+ end
28
+
29
+ def self.from(map:)
30
+ PlatformLinux.new(
31
+ id: map["$id"],
32
+ created_at: map["$createdAt"],
33
+ updated_at: map["$updatedAt"],
34
+ name: map["name"],
35
+ type: map["type"],
36
+ package_name: map["packageName"]
37
+ )
38
+ end
39
+
40
+ def to_map
41
+ {
42
+ "$id": @id,
43
+ "$createdAt": @created_at,
44
+ "$updatedAt": @updated_at,
45
+ "name": @name,
46
+ "type": @type,
47
+ "packageName": @package_name
48
+ }
49
+ end
50
+
51
+ private
52
+
53
+ def validate_type(type)
54
+ valid_type = [
55
+ Appwrite::Enums::PlatformType::WINDOWS,
56
+ Appwrite::Enums::PlatformType::APPLE,
57
+ Appwrite::Enums::PlatformType::ANDROID,
58
+ Appwrite::Enums::PlatformType::LINUX,
59
+ Appwrite::Enums::PlatformType::WEB,
60
+ ]
61
+
62
+ unless valid_type.include?(type)
63
+ raise ArgumentError, "Invalid " + type + ". Must be one of: " + valid_type.join(', ')
64
+ end
65
+
66
+ type
67
+ end
68
+
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PlatformList
6
+ attr_reader :total
7
+ attr_reader :platforms
8
+
9
+ def initialize(
10
+ total:,
11
+ platforms:
12
+ )
13
+ @total = total
14
+ @platforms = platforms
15
+ end
16
+
17
+ def self.from(map:)
18
+ PlatformList.new(
19
+ total: map["total"],
20
+ platforms: map["platforms"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "platforms": @platforms
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,71 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PlatformWeb
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :name
10
+ attr_reader :type
11
+ attr_reader :hostname
12
+
13
+ def initialize(
14
+ id:,
15
+ created_at:,
16
+ updated_at:,
17
+ name:,
18
+ type:,
19
+ hostname:
20
+ )
21
+ @id = id
22
+ @created_at = created_at
23
+ @updated_at = updated_at
24
+ @name = name
25
+ @type = validate_type(type)
26
+ @hostname = hostname
27
+ end
28
+
29
+ def self.from(map:)
30
+ PlatformWeb.new(
31
+ id: map["$id"],
32
+ created_at: map["$createdAt"],
33
+ updated_at: map["$updatedAt"],
34
+ name: map["name"],
35
+ type: map["type"],
36
+ hostname: map["hostname"]
37
+ )
38
+ end
39
+
40
+ def to_map
41
+ {
42
+ "$id": @id,
43
+ "$createdAt": @created_at,
44
+ "$updatedAt": @updated_at,
45
+ "name": @name,
46
+ "type": @type,
47
+ "hostname": @hostname
48
+ }
49
+ end
50
+
51
+ private
52
+
53
+ def validate_type(type)
54
+ valid_type = [
55
+ Appwrite::Enums::PlatformType::WINDOWS,
56
+ Appwrite::Enums::PlatformType::APPLE,
57
+ Appwrite::Enums::PlatformType::ANDROID,
58
+ Appwrite::Enums::PlatformType::LINUX,
59
+ Appwrite::Enums::PlatformType::WEB,
60
+ ]
61
+
62
+ unless valid_type.include?(type)
63
+ raise ArgumentError, "Invalid " + type + ". Must be one of: " + valid_type.join(', ')
64
+ end
65
+
66
+ type
67
+ end
68
+
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,71 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PlatformWindows
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :name
10
+ attr_reader :type
11
+ attr_reader :package_identifier_name
12
+
13
+ def initialize(
14
+ id:,
15
+ created_at:,
16
+ updated_at:,
17
+ name:,
18
+ type:,
19
+ package_identifier_name:
20
+ )
21
+ @id = id
22
+ @created_at = created_at
23
+ @updated_at = updated_at
24
+ @name = name
25
+ @type = validate_type(type)
26
+ @package_identifier_name = package_identifier_name
27
+ end
28
+
29
+ def self.from(map:)
30
+ PlatformWindows.new(
31
+ id: map["$id"],
32
+ created_at: map["$createdAt"],
33
+ updated_at: map["$updatedAt"],
34
+ name: map["name"],
35
+ type: map["type"],
36
+ package_identifier_name: map["packageIdentifierName"]
37
+ )
38
+ end
39
+
40
+ def to_map
41
+ {
42
+ "$id": @id,
43
+ "$createdAt": @created_at,
44
+ "$updatedAt": @updated_at,
45
+ "name": @name,
46
+ "type": @type,
47
+ "packageIdentifierName": @package_identifier_name
48
+ }
49
+ end
50
+
51
+ private
52
+
53
+ def validate_type(type)
54
+ valid_type = [
55
+ Appwrite::Enums::PlatformType::WINDOWS,
56
+ Appwrite::Enums::PlatformType::APPLE,
57
+ Appwrite::Enums::PlatformType::ANDROID,
58
+ Appwrite::Enums::PlatformType::LINUX,
59
+ Appwrite::Enums::PlatformType::WEB,
60
+ ]
61
+
62
+ unless valid_type.include?(type)
63
+ raise ArgumentError, "Invalid " + type + ". Must be one of: " + valid_type.join(', ')
64
+ end
65
+
66
+ type
67
+ end
68
+
69
+ end
70
+ end
71
+ end