appwrite 20.1.0 → 21.0.1

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 +1 -2
  3. data/lib/appwrite/enums/backup_services.rb +9 -0
  4. data/lib/appwrite/enums/browser_permission.rb +26 -0
  5. data/lib/appwrite/enums/build_runtime.rb +22 -3
  6. data/lib/appwrite/enums/deployment_status.rb +1 -0
  7. data/lib/appwrite/enums/name.rb +1 -0
  8. data/lib/appwrite/enums/o_auth_provider.rb +0 -1
  9. data/lib/appwrite/enums/order_by.rb +8 -0
  10. data/lib/appwrite/enums/runtime.rb +22 -3
  11. data/lib/appwrite/enums/scopes.rb +72 -0
  12. data/lib/appwrite/models/activity_event.rb +182 -0
  13. data/lib/appwrite/models/activity_event_list.rb +32 -0
  14. data/lib/appwrite/models/attribute_longtext.rb +91 -0
  15. data/lib/appwrite/models/attribute_mediumtext.rb +91 -0
  16. data/lib/appwrite/models/attribute_text.rb +91 -0
  17. data/lib/appwrite/models/attribute_varchar.rb +96 -0
  18. data/lib/appwrite/models/backup_archive.rb +82 -0
  19. data/lib/appwrite/models/backup_archive_list.rb +32 -0
  20. data/lib/appwrite/models/backup_policy.rb +77 -0
  21. data/lib/appwrite/models/backup_policy_list.rb +32 -0
  22. data/lib/appwrite/models/backup_restoration.rb +77 -0
  23. data/lib/appwrite/models/backup_restoration_list.rb +32 -0
  24. data/lib/appwrite/models/bucket.rb +8 -3
  25. data/lib/appwrite/models/collection.rb +13 -3
  26. data/lib/appwrite/models/column_longtext.rb +91 -0
  27. data/lib/appwrite/models/column_mediumtext.rb +91 -0
  28. data/lib/appwrite/models/column_text.rb +91 -0
  29. data/lib/appwrite/models/column_varchar.rb +96 -0
  30. data/lib/appwrite/models/database.rb +13 -3
  31. data/lib/appwrite/models/deployment.rb +1 -0
  32. data/lib/appwrite/models/file.rb +13 -3
  33. data/lib/appwrite/models/health_status_list.rb +32 -0
  34. data/lib/appwrite/models/table.rb +13 -3
  35. data/lib/appwrite/query.rb +52 -0
  36. data/lib/appwrite/services/account.rb +3 -1
  37. data/lib/appwrite/services/activities.rb +64 -0
  38. data/lib/appwrite/services/avatars.rb +1 -1
  39. data/lib/appwrite/services/backups.rb +383 -0
  40. data/lib/appwrite/services/databases.rb +456 -15
  41. data/lib/appwrite/services/health.rb +151 -6
  42. data/lib/appwrite/services/storage.rb +8 -8
  43. data/lib/appwrite/services/tables_db.rb +461 -10
  44. data/lib/appwrite.rb +24 -2
  45. metadata +27 -5
  46. data/lib/appwrite/enums/output.rb +0 -13
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9e94fc52d4a381d2c53839f6502bb52a7a54c19a717594fb0102efdc147f99f7
4
- data.tar.gz: 4c731fbee7c5241f2bb7e7dbb56beb2d7ff3133f47ad223d75c9f515fed265f8
3
+ metadata.gz: 2831d24a130794405e14b086fdf2e8b6809fe5c6b7f2d623cdda1f0a9b78ce5c
4
+ data.tar.gz: bd9b24a029d07266b9261c9c81a303a2f551003701f7e555df6b967bc812bd29
5
5
  SHA512:
6
- metadata.gz: 15719a8946212dfd735f932c02d09c7f6bafd29acad1e8815f4e83e4b923a1d5006947b5deb69872bfe22daa03a4bfe4bafc433b5f6c4d19cead5b91561a4c9c
7
- data.tar.gz: 8b5bbd08f1835f4335fe634a7c9219d35359d51d8fe6417936c9d1b0569935b0e95527322afda8be8e01a6e56e8f29aeb2b5a6922afdb110b2e6d7eda05515ae
6
+ metadata.gz: 36ed7dcef5420cb85867beb857dadb513f30840f02caef461872237033ae2354d82bbfeb29021603aae3baca49685af8c47be338c2f0243cd255bf672f94b3b0
7
+ data.tar.gz: 3f78df9b7dc7deebaf66b4f5ddfb7356107454ef4d739dd3135abbd6b09a530ea496e5221633b852deaf36e87f9736a2301394d0cf42f9d8db4ca003a8426054
@@ -15,7 +15,7 @@ module Appwrite
15
15
  'x-sdk-name'=> 'Ruby',
16
16
  'x-sdk-platform'=> 'server',
17
17
  'x-sdk-language'=> 'ruby',
18
- 'x-sdk-version'=> '20.1.0',
18
+ 'x-sdk-version'=> '21.0.1',
19
19
  'X-Appwrite-Response-Format' => '1.8.0'
20
20
  }
21
21
  @endpoint = 'https://cloud.appwrite.io/v1'
@@ -123,7 +123,6 @@ module Appwrite
123
123
  self
124
124
  end
125
125
 
126
-
127
126
  # Add Header
128
127
  #
129
128
  # @param [String] key The key for the header to add
@@ -0,0 +1,9 @@
1
+ module Appwrite
2
+ module Enums
3
+ module BackupServices
4
+ DATABASES = 'databases'
5
+ FUNCTIONS = 'functions'
6
+ STORAGE = 'storage'
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,26 @@
1
+ module Appwrite
2
+ module Enums
3
+ module BrowserPermission
4
+ GEOLOCATION = 'geolocation'
5
+ CAMERA = 'camera'
6
+ MICROPHONE = 'microphone'
7
+ NOTIFICATIONS = 'notifications'
8
+ MIDI = 'midi'
9
+ PUSH = 'push'
10
+ CLIPBOARD_READ = 'clipboard-read'
11
+ CLIPBOARD_WRITE = 'clipboard-write'
12
+ PAYMENT_HANDLER = 'payment-handler'
13
+ USB = 'usb'
14
+ BLUETOOTH = 'bluetooth'
15
+ ACCELEROMETER = 'accelerometer'
16
+ GYROSCOPE = 'gyroscope'
17
+ MAGNETOMETER = 'magnetometer'
18
+ AMBIENT_LIGHT_SENSOR = 'ambient-light-sensor'
19
+ BACKGROUND_SYNC = 'background-sync'
20
+ PERSISTENT_STORAGE = 'persistent-storage'
21
+ SCREEN_WAKE_LOCK = 'screen-wake-lock'
22
+ WEB_SHARE = 'web-share'
23
+ XR_SPATIAL_TRACKING = 'xr-spatial-tracking'
24
+ end
25
+ end
26
+ end
@@ -8,27 +8,35 @@ module Appwrite
8
8
  NODE_20_0 = 'node-20.0'
9
9
  NODE_21_0 = 'node-21.0'
10
10
  NODE_22 = 'node-22'
11
+ NODE_23 = 'node-23'
12
+ NODE_24 = 'node-24'
13
+ NODE_25 = 'node-25'
11
14
  PHP_8_0 = 'php-8.0'
12
15
  PHP_8_1 = 'php-8.1'
13
16
  PHP_8_2 = 'php-8.2'
14
17
  PHP_8_3 = 'php-8.3'
18
+ PHP_8_4 = 'php-8.4'
15
19
  RUBY_3_0 = 'ruby-3.0'
16
20
  RUBY_3_1 = 'ruby-3.1'
17
21
  RUBY_3_2 = 'ruby-3.2'
18
22
  RUBY_3_3 = 'ruby-3.3'
23
+ RUBY_3_4 = 'ruby-3.4'
24
+ RUBY_4_0 = 'ruby-4.0'
19
25
  PYTHON_3_8 = 'python-3.8'
20
26
  PYTHON_3_9 = 'python-3.9'
21
27
  PYTHON_3_10 = 'python-3.10'
22
28
  PYTHON_3_11 = 'python-3.11'
23
29
  PYTHON_3_12 = 'python-3.12'
30
+ PYTHON_3_13 = 'python-3.13'
31
+ PYTHON_3_14 = 'python-3.14'
24
32
  PYTHON_ML_3_11 = 'python-ml-3.11'
25
33
  PYTHON_ML_3_12 = 'python-ml-3.12'
26
- DENO_1_21 = 'deno-1.21'
27
- DENO_1_24 = 'deno-1.24'
28
- DENO_1_35 = 'deno-1.35'
34
+ PYTHON_ML_3_13 = 'python-ml-3.13'
29
35
  DENO_1_40 = 'deno-1.40'
30
36
  DENO_1_46 = 'deno-1.46'
31
37
  DENO_2_0 = 'deno-2.0'
38
+ DENO_2_5 = 'deno-2.5'
39
+ DENO_2_6 = 'deno-2.6'
32
40
  DART_2_15 = 'dart-2.15'
33
41
  DART_2_16 = 'dart-2.16'
34
42
  DART_2_17 = 'dart-2.17'
@@ -40,34 +48,45 @@ module Appwrite
40
48
  DART_3_5 = 'dart-3.5'
41
49
  DART_3_8 = 'dart-3.8'
42
50
  DART_3_9 = 'dart-3.9'
51
+ DART_3_10 = 'dart-3.10'
43
52
  DOTNET_6_0 = 'dotnet-6.0'
44
53
  DOTNET_7_0 = 'dotnet-7.0'
45
54
  DOTNET_8_0 = 'dotnet-8.0'
55
+ DOTNET_10 = 'dotnet-10'
46
56
  JAVA_8_0 = 'java-8.0'
47
57
  JAVA_11_0 = 'java-11.0'
48
58
  JAVA_17_0 = 'java-17.0'
49
59
  JAVA_18_0 = 'java-18.0'
50
60
  JAVA_21_0 = 'java-21.0'
51
61
  JAVA_22 = 'java-22'
62
+ JAVA_25 = 'java-25'
52
63
  SWIFT_5_5 = 'swift-5.5'
53
64
  SWIFT_5_8 = 'swift-5.8'
54
65
  SWIFT_5_9 = 'swift-5.9'
55
66
  SWIFT_5_10 = 'swift-5.10'
67
+ SWIFT_6_2 = 'swift-6.2'
56
68
  KOTLIN_1_6 = 'kotlin-1.6'
57
69
  KOTLIN_1_8 = 'kotlin-1.8'
58
70
  KOTLIN_1_9 = 'kotlin-1.9'
59
71
  KOTLIN_2_0 = 'kotlin-2.0'
72
+ KOTLIN_2_3 = 'kotlin-2.3'
60
73
  CPP_17 = 'cpp-17'
61
74
  CPP_20 = 'cpp-20'
62
75
  BUN_1_0 = 'bun-1.0'
63
76
  BUN_1_1 = 'bun-1.1'
77
+ BUN_1_2 = 'bun-1.2'
78
+ BUN_1_3 = 'bun-1.3'
64
79
  GO_1_23 = 'go-1.23'
80
+ GO_1_24 = 'go-1.24'
81
+ GO_1_25 = 'go-1.25'
82
+ GO_1_26 = 'go-1.26'
65
83
  STATIC_1 = 'static-1'
66
84
  FLUTTER_3_24 = 'flutter-3.24'
67
85
  FLUTTER_3_27 = 'flutter-3.27'
68
86
  FLUTTER_3_29 = 'flutter-3.29'
69
87
  FLUTTER_3_32 = 'flutter-3.32'
70
88
  FLUTTER_3_35 = 'flutter-3.35'
89
+ FLUTTER_3_38 = 'flutter-3.38'
71
90
  end
72
91
  end
73
92
  end
@@ -5,6 +5,7 @@ module Appwrite
5
5
  PROCESSING = 'processing'
6
6
  BUILDING = 'building'
7
7
  READY = 'ready'
8
+ CANCELED = 'canceled'
8
9
  FAILED = 'failed'
9
10
  end
10
11
  end
@@ -11,6 +11,7 @@ module Appwrite
11
11
  V1_WEBHOOKS = 'v1-webhooks'
12
12
  V1_CERTIFICATES = 'v1-certificates'
13
13
  V1_BUILDS = 'v1-builds'
14
+ V1_SCREENSHOTS = 'v1-screenshots'
14
15
  V1_MESSAGING = 'v1-messaging'
15
16
  V1_MIGRATIONS = 'v1-migrations'
16
17
  end
@@ -40,7 +40,6 @@ module Appwrite
40
40
  YANDEX = 'yandex'
41
41
  ZOHO = 'zoho'
42
42
  ZOOM = 'zoom'
43
- MOCK = 'mock'
44
43
  end
45
44
  end
46
45
  end
@@ -0,0 +1,8 @@
1
+ module Appwrite
2
+ module Enums
3
+ module OrderBy
4
+ ASC = 'asc'
5
+ DESC = 'desc'
6
+ end
7
+ end
8
+ end
@@ -8,27 +8,35 @@ module Appwrite
8
8
  NODE_20_0 = 'node-20.0'
9
9
  NODE_21_0 = 'node-21.0'
10
10
  NODE_22 = 'node-22'
11
+ NODE_23 = 'node-23'
12
+ NODE_24 = 'node-24'
13
+ NODE_25 = 'node-25'
11
14
  PHP_8_0 = 'php-8.0'
12
15
  PHP_8_1 = 'php-8.1'
13
16
  PHP_8_2 = 'php-8.2'
14
17
  PHP_8_3 = 'php-8.3'
18
+ PHP_8_4 = 'php-8.4'
15
19
  RUBY_3_0 = 'ruby-3.0'
16
20
  RUBY_3_1 = 'ruby-3.1'
17
21
  RUBY_3_2 = 'ruby-3.2'
18
22
  RUBY_3_3 = 'ruby-3.3'
23
+ RUBY_3_4 = 'ruby-3.4'
24
+ RUBY_4_0 = 'ruby-4.0'
19
25
  PYTHON_3_8 = 'python-3.8'
20
26
  PYTHON_3_9 = 'python-3.9'
21
27
  PYTHON_3_10 = 'python-3.10'
22
28
  PYTHON_3_11 = 'python-3.11'
23
29
  PYTHON_3_12 = 'python-3.12'
30
+ PYTHON_3_13 = 'python-3.13'
31
+ PYTHON_3_14 = 'python-3.14'
24
32
  PYTHON_ML_3_11 = 'python-ml-3.11'
25
33
  PYTHON_ML_3_12 = 'python-ml-3.12'
26
- DENO_1_21 = 'deno-1.21'
27
- DENO_1_24 = 'deno-1.24'
28
- DENO_1_35 = 'deno-1.35'
34
+ PYTHON_ML_3_13 = 'python-ml-3.13'
29
35
  DENO_1_40 = 'deno-1.40'
30
36
  DENO_1_46 = 'deno-1.46'
31
37
  DENO_2_0 = 'deno-2.0'
38
+ DENO_2_5 = 'deno-2.5'
39
+ DENO_2_6 = 'deno-2.6'
32
40
  DART_2_15 = 'dart-2.15'
33
41
  DART_2_16 = 'dart-2.16'
34
42
  DART_2_17 = 'dart-2.17'
@@ -40,34 +48,45 @@ module Appwrite
40
48
  DART_3_5 = 'dart-3.5'
41
49
  DART_3_8 = 'dart-3.8'
42
50
  DART_3_9 = 'dart-3.9'
51
+ DART_3_10 = 'dart-3.10'
43
52
  DOTNET_6_0 = 'dotnet-6.0'
44
53
  DOTNET_7_0 = 'dotnet-7.0'
45
54
  DOTNET_8_0 = 'dotnet-8.0'
55
+ DOTNET_10 = 'dotnet-10'
46
56
  JAVA_8_0 = 'java-8.0'
47
57
  JAVA_11_0 = 'java-11.0'
48
58
  JAVA_17_0 = 'java-17.0'
49
59
  JAVA_18_0 = 'java-18.0'
50
60
  JAVA_21_0 = 'java-21.0'
51
61
  JAVA_22 = 'java-22'
62
+ JAVA_25 = 'java-25'
52
63
  SWIFT_5_5 = 'swift-5.5'
53
64
  SWIFT_5_8 = 'swift-5.8'
54
65
  SWIFT_5_9 = 'swift-5.9'
55
66
  SWIFT_5_10 = 'swift-5.10'
67
+ SWIFT_6_2 = 'swift-6.2'
56
68
  KOTLIN_1_6 = 'kotlin-1.6'
57
69
  KOTLIN_1_8 = 'kotlin-1.8'
58
70
  KOTLIN_1_9 = 'kotlin-1.9'
59
71
  KOTLIN_2_0 = 'kotlin-2.0'
72
+ KOTLIN_2_3 = 'kotlin-2.3'
60
73
  CPP_17 = 'cpp-17'
61
74
  CPP_20 = 'cpp-20'
62
75
  BUN_1_0 = 'bun-1.0'
63
76
  BUN_1_1 = 'bun-1.1'
77
+ BUN_1_2 = 'bun-1.2'
78
+ BUN_1_3 = 'bun-1.3'
64
79
  GO_1_23 = 'go-1.23'
80
+ GO_1_24 = 'go-1.24'
81
+ GO_1_25 = 'go-1.25'
82
+ GO_1_26 = 'go-1.26'
65
83
  STATIC_1 = 'static-1'
66
84
  FLUTTER_3_24 = 'flutter-3.24'
67
85
  FLUTTER_3_27 = 'flutter-3.27'
68
86
  FLUTTER_3_29 = 'flutter-3.29'
69
87
  FLUTTER_3_32 = 'flutter-3.32'
70
88
  FLUTTER_3_35 = 'flutter-3.35'
89
+ FLUTTER_3_38 = 'flutter-3.38'
71
90
  end
72
91
  end
73
92
  end
@@ -0,0 +1,72 @@
1
+ module Appwrite
2
+ module Enums
3
+ module Scopes
4
+ SESSIONS_WRITE = 'sessions.write'
5
+ USERS_READ = 'users.read'
6
+ USERS_WRITE = 'users.write'
7
+ TEAMS_READ = 'teams.read'
8
+ TEAMS_WRITE = 'teams.write'
9
+ DATABASES_READ = 'databases.read'
10
+ DATABASES_WRITE = 'databases.write'
11
+ COLLECTIONS_READ = 'collections.read'
12
+ COLLECTIONS_WRITE = 'collections.write'
13
+ TABLES_READ = 'tables.read'
14
+ TABLES_WRITE = 'tables.write'
15
+ ATTRIBUTES_READ = 'attributes.read'
16
+ ATTRIBUTES_WRITE = 'attributes.write'
17
+ COLUMNS_READ = 'columns.read'
18
+ COLUMNS_WRITE = 'columns.write'
19
+ INDEXES_READ = 'indexes.read'
20
+ INDEXES_WRITE = 'indexes.write'
21
+ DOCUMENTS_READ = 'documents.read'
22
+ DOCUMENTS_WRITE = 'documents.write'
23
+ ROWS_READ = 'rows.read'
24
+ ROWS_WRITE = 'rows.write'
25
+ FILES_READ = 'files.read'
26
+ FILES_WRITE = 'files.write'
27
+ BUCKETS_READ = 'buckets.read'
28
+ BUCKETS_WRITE = 'buckets.write'
29
+ FUNCTIONS_READ = 'functions.read'
30
+ FUNCTIONS_WRITE = 'functions.write'
31
+ SITES_READ = 'sites.read'
32
+ SITES_WRITE = 'sites.write'
33
+ LOG_READ = 'log.read'
34
+ LOG_WRITE = 'log.write'
35
+ EXECUTION_READ = 'execution.read'
36
+ EXECUTION_WRITE = 'execution.write'
37
+ LOCALE_READ = 'locale.read'
38
+ AVATARS_READ = 'avatars.read'
39
+ HEALTH_READ = 'health.read'
40
+ PROVIDERS_READ = 'providers.read'
41
+ PROVIDERS_WRITE = 'providers.write'
42
+ MESSAGES_READ = 'messages.read'
43
+ MESSAGES_WRITE = 'messages.write'
44
+ TOPICS_READ = 'topics.read'
45
+ TOPICS_WRITE = 'topics.write'
46
+ SUBSCRIBERS_READ = 'subscribers.read'
47
+ SUBSCRIBERS_WRITE = 'subscribers.write'
48
+ TARGETS_READ = 'targets.read'
49
+ TARGETS_WRITE = 'targets.write'
50
+ RULES_READ = 'rules.read'
51
+ RULES_WRITE = 'rules.write'
52
+ SCHEDULES_READ = 'schedules.read'
53
+ SCHEDULES_WRITE = 'schedules.write'
54
+ MIGRATIONS_READ = 'migrations.read'
55
+ MIGRATIONS_WRITE = 'migrations.write'
56
+ VCS_READ = 'vcs.read'
57
+ VCS_WRITE = 'vcs.write'
58
+ ASSISTANT_READ = 'assistant.read'
59
+ TOKENS_READ = 'tokens.read'
60
+ TOKENS_WRITE = 'tokens.write'
61
+ POLICIES_WRITE = 'policies.write'
62
+ POLICIES_READ = 'policies.read'
63
+ ARCHIVES_READ = 'archives.read'
64
+ ARCHIVES_WRITE = 'archives.write'
65
+ RESTORATIONS_READ = 'restorations.read'
66
+ RESTORATIONS_WRITE = 'restorations.write'
67
+ DOMAINS_READ = 'domains.read'
68
+ DOMAINS_WRITE = 'domains.write'
69
+ EVENTS_READ = 'events.read'
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,182 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class ActivityEvent
6
+ attr_reader :id
7
+ attr_reader :user_type
8
+ attr_reader :user_id
9
+ attr_reader :user_email
10
+ attr_reader :user_name
11
+ attr_reader :resource_parent
12
+ attr_reader :resource_type
13
+ attr_reader :resource_id
14
+ attr_reader :resource
15
+ attr_reader :event
16
+ attr_reader :user_agent
17
+ attr_reader :ip
18
+ attr_reader :mode
19
+ attr_reader :country
20
+ attr_reader :time
21
+ attr_reader :project_id
22
+ attr_reader :team_id
23
+ attr_reader :hostname
24
+ attr_reader :os_code
25
+ attr_reader :os_name
26
+ attr_reader :os_version
27
+ attr_reader :client_type
28
+ attr_reader :client_code
29
+ attr_reader :client_name
30
+ attr_reader :client_version
31
+ attr_reader :client_engine
32
+ attr_reader :client_engine_version
33
+ attr_reader :device_name
34
+ attr_reader :device_brand
35
+ attr_reader :device_model
36
+ attr_reader :country_code
37
+ attr_reader :country_name
38
+
39
+ def initialize(
40
+ id:,
41
+ user_type:,
42
+ user_id:,
43
+ user_email:,
44
+ user_name:,
45
+ resource_parent:,
46
+ resource_type:,
47
+ resource_id:,
48
+ resource:,
49
+ event:,
50
+ user_agent:,
51
+ ip:,
52
+ mode:,
53
+ country:,
54
+ time:,
55
+ project_id:,
56
+ team_id:,
57
+ hostname:,
58
+ os_code:,
59
+ os_name:,
60
+ os_version:,
61
+ client_type:,
62
+ client_code:,
63
+ client_name:,
64
+ client_version:,
65
+ client_engine:,
66
+ client_engine_version:,
67
+ device_name:,
68
+ device_brand:,
69
+ device_model:,
70
+ country_code:,
71
+ country_name:
72
+ )
73
+ @id = id
74
+ @user_type = user_type
75
+ @user_id = user_id
76
+ @user_email = user_email
77
+ @user_name = user_name
78
+ @resource_parent = resource_parent
79
+ @resource_type = resource_type
80
+ @resource_id = resource_id
81
+ @resource = resource
82
+ @event = event
83
+ @user_agent = user_agent
84
+ @ip = ip
85
+ @mode = mode
86
+ @country = country
87
+ @time = time
88
+ @project_id = project_id
89
+ @team_id = team_id
90
+ @hostname = hostname
91
+ @os_code = os_code
92
+ @os_name = os_name
93
+ @os_version = os_version
94
+ @client_type = client_type
95
+ @client_code = client_code
96
+ @client_name = client_name
97
+ @client_version = client_version
98
+ @client_engine = client_engine
99
+ @client_engine_version = client_engine_version
100
+ @device_name = device_name
101
+ @device_brand = device_brand
102
+ @device_model = device_model
103
+ @country_code = country_code
104
+ @country_name = country_name
105
+ end
106
+
107
+ def self.from(map:)
108
+ ActivityEvent.new(
109
+ id: map["$id"],
110
+ user_type: map["userType"],
111
+ user_id: map["userId"],
112
+ user_email: map["userEmail"],
113
+ user_name: map["userName"],
114
+ resource_parent: map["resourceParent"],
115
+ resource_type: map["resourceType"],
116
+ resource_id: map["resourceId"],
117
+ resource: map["resource"],
118
+ event: map["event"],
119
+ user_agent: map["userAgent"],
120
+ ip: map["ip"],
121
+ mode: map["mode"],
122
+ country: map["country"],
123
+ time: map["time"],
124
+ project_id: map["projectId"],
125
+ team_id: map["teamId"],
126
+ hostname: map["hostname"],
127
+ os_code: map["osCode"],
128
+ os_name: map["osName"],
129
+ os_version: map["osVersion"],
130
+ client_type: map["clientType"],
131
+ client_code: map["clientCode"],
132
+ client_name: map["clientName"],
133
+ client_version: map["clientVersion"],
134
+ client_engine: map["clientEngine"],
135
+ client_engine_version: map["clientEngineVersion"],
136
+ device_name: map["deviceName"],
137
+ device_brand: map["deviceBrand"],
138
+ device_model: map["deviceModel"],
139
+ country_code: map["countryCode"],
140
+ country_name: map["countryName"]
141
+ )
142
+ end
143
+
144
+ def to_map
145
+ {
146
+ "$id": @id,
147
+ "userType": @user_type,
148
+ "userId": @user_id,
149
+ "userEmail": @user_email,
150
+ "userName": @user_name,
151
+ "resourceParent": @resource_parent,
152
+ "resourceType": @resource_type,
153
+ "resourceId": @resource_id,
154
+ "resource": @resource,
155
+ "event": @event,
156
+ "userAgent": @user_agent,
157
+ "ip": @ip,
158
+ "mode": @mode,
159
+ "country": @country,
160
+ "time": @time,
161
+ "projectId": @project_id,
162
+ "teamId": @team_id,
163
+ "hostname": @hostname,
164
+ "osCode": @os_code,
165
+ "osName": @os_name,
166
+ "osVersion": @os_version,
167
+ "clientType": @client_type,
168
+ "clientCode": @client_code,
169
+ "clientName": @client_name,
170
+ "clientVersion": @client_version,
171
+ "clientEngine": @client_engine,
172
+ "clientEngineVersion": @client_engine_version,
173
+ "deviceName": @device_name,
174
+ "deviceBrand": @device_brand,
175
+ "deviceModel": @device_model,
176
+ "countryCode": @country_code,
177
+ "countryName": @country_name
178
+ }
179
+ end
180
+ end
181
+ end
182
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class ActivityEventList
6
+ attr_reader :total
7
+ attr_reader :events
8
+
9
+ def initialize(
10
+ total:,
11
+ events:
12
+ )
13
+ @total = total
14
+ @events = events
15
+ end
16
+
17
+ def self.from(map:)
18
+ ActivityEventList.new(
19
+ total: map["total"],
20
+ events: map["events"].map { |it| ActivityEvent.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "events": @events.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,91 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class AttributeLongtext
6
+ attr_reader :key
7
+ attr_reader :type
8
+ attr_reader :status
9
+ attr_reader :error
10
+ attr_reader :required
11
+ attr_reader :array
12
+ attr_reader :created_at
13
+ attr_reader :updated_at
14
+ attr_reader :default
15
+ attr_reader :encrypt
16
+
17
+ def initialize(
18
+ key:,
19
+ type:,
20
+ status:,
21
+ error:,
22
+ required:,
23
+ array: ,
24
+ created_at:,
25
+ updated_at:,
26
+ default: ,
27
+ encrypt:
28
+ )
29
+ @key = key
30
+ @type = type
31
+ @status = validate_status(status)
32
+ @error = error
33
+ @required = required
34
+ @array = array
35
+ @created_at = created_at
36
+ @updated_at = updated_at
37
+ @default = default
38
+ @encrypt = encrypt
39
+ end
40
+
41
+ def self.from(map:)
42
+ AttributeLongtext.new(
43
+ key: map["key"],
44
+ type: map["type"],
45
+ status: map["status"],
46
+ error: map["error"],
47
+ required: map["required"],
48
+ array: map["array"],
49
+ created_at: map["$createdAt"],
50
+ updated_at: map["$updatedAt"],
51
+ default: map["default"],
52
+ encrypt: map["encrypt"]
53
+ )
54
+ end
55
+
56
+ def to_map
57
+ {
58
+ "key": @key,
59
+ "type": @type,
60
+ "status": @status,
61
+ "error": @error,
62
+ "required": @required,
63
+ "array": @array,
64
+ "$createdAt": @created_at,
65
+ "$updatedAt": @updated_at,
66
+ "default": @default,
67
+ "encrypt": @encrypt
68
+ }
69
+ end
70
+
71
+ private
72
+
73
+ def validate_status(status)
74
+ valid_status = [
75
+ Appwrite::Enums::AttributeStatus::AVAILABLE,
76
+ Appwrite::Enums::AttributeStatus::PROCESSING,
77
+ Appwrite::Enums::AttributeStatus::DELETING,
78
+ Appwrite::Enums::AttributeStatus::STUCK,
79
+ Appwrite::Enums::AttributeStatus::FAILED,
80
+ ]
81
+
82
+ unless valid_status.include?(status)
83
+ raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ')
84
+ end
85
+
86
+ status
87
+ end
88
+
89
+ end
90
+ end
91
+ end