appwrite 15.1.0.pre.rc.1 → 16.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.
@@ -417,9 +417,10 @@ module Appwrite
417
417
  #
418
418
  # @param [String] bucket_id Storage bucket ID. You can create a new storage bucket using the Storage service [server integration](https://appwrite.io/docs/server/storage#createBucket).
419
419
  # @param [String] file_id File ID.
420
+ # @param [String] token File token for accessing this file.
420
421
  #
421
422
  # @return []
422
- def get_file_download(bucket_id:, file_id:)
423
+ def get_file_download(bucket_id:, file_id:, token: nil)
423
424
  api_path = '/storage/buckets/{bucketId}/files/{fileId}/download'
424
425
  .gsub('{bucketId}', bucket_id)
425
426
  .gsub('{fileId}', file_id)
@@ -433,6 +434,7 @@ module Appwrite
433
434
  end
434
435
 
435
436
  api_params = {
437
+ token: token,
436
438
  }
437
439
 
438
440
  api_headers = {
@@ -458,7 +460,7 @@ module Appwrite
458
460
  # @param [Integer] width Resize preview image width, Pass an integer between 0 to 4000.
459
461
  # @param [Integer] height Resize preview image height, Pass an integer between 0 to 4000.
460
462
  # @param [ImageGravity] gravity Image crop gravity. Can be one of center,top-left,top,top-right,left,right,bottom-left,bottom,bottom-right
461
- # @param [Integer] quality Preview image quality. Pass an integer between 0 to 100. Defaults to 100.
463
+ # @param [Integer] quality Preview image quality. Pass an integer between 0 to 100. Defaults to keep existing image quality.
462
464
  # @param [Integer] border_width Preview image border in pixels. Pass an integer between 0 to 100. Defaults to 0.
463
465
  # @param [String] border_color Preview image border color. Use a valid HEX color, no # is needed for prefix.
464
466
  # @param [Integer] border_radius Preview image border radius in pixels. Pass an integer between 0 to 4000.
@@ -466,9 +468,10 @@ module Appwrite
466
468
  # @param [Integer] rotation Preview image rotation in degrees. Pass an integer between -360 and 360.
467
469
  # @param [String] background Preview image background color. Only works with transparent images (png). Use a valid HEX color, no # is needed for prefix.
468
470
  # @param [ImageFormat] output Output format type (jpeg, jpg, png, gif and webp).
471
+ # @param [String] token File token for accessing this file.
469
472
  #
470
473
  # @return []
471
- def get_file_preview(bucket_id:, file_id:, width: nil, height: nil, gravity: nil, quality: nil, border_width: nil, border_color: nil, border_radius: nil, opacity: nil, rotation: nil, background: nil, output: nil)
474
+ def get_file_preview(bucket_id:, file_id:, width: nil, height: nil, gravity: nil, quality: nil, border_width: nil, border_color: nil, border_radius: nil, opacity: nil, rotation: nil, background: nil, output: nil, token: nil)
472
475
  api_path = '/storage/buckets/{bucketId}/files/{fileId}/preview'
473
476
  .gsub('{bucketId}', bucket_id)
474
477
  .gsub('{fileId}', file_id)
@@ -493,6 +496,7 @@ module Appwrite
493
496
  rotation: rotation,
494
497
  background: background,
495
498
  output: output,
499
+ token: token,
496
500
  }
497
501
 
498
502
  api_headers = {
@@ -513,9 +517,10 @@ module Appwrite
513
517
  #
514
518
  # @param [String] bucket_id Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https://appwrite.io/docs/server/storage#createBucket).
515
519
  # @param [String] file_id File ID.
520
+ # @param [String] token File token for accessing this file.
516
521
  #
517
522
  # @return []
518
- def get_file_view(bucket_id:, file_id:)
523
+ def get_file_view(bucket_id:, file_id:, token: nil)
519
524
  api_path = '/storage/buckets/{bucketId}/files/{fileId}/view'
520
525
  .gsub('{bucketId}', bucket_id)
521
526
  .gsub('{fileId}', file_id)
@@ -529,6 +534,7 @@ module Appwrite
529
534
  end
530
535
 
531
536
  api_params = {
537
+ token: token,
532
538
  }
533
539
 
534
540
  api_headers = {
@@ -175,7 +175,7 @@ module Appwrite
175
175
  # the response by toggling membership privacy in the Console.
176
176
  #
177
177
  # @param [String] team_id Team ID.
178
- # @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, teamId, invited, joined, confirm
178
+ # @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, teamId, invited, joined, confirm, roles
179
179
  # @param [String] search Search term to filter your list results. Max length: 256 chars.
180
180
  #
181
181
  # @return [MembershipList]
@@ -0,0 +1,179 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ class Tokens < Service
5
+
6
+ def initialize(client)
7
+ @client = client
8
+ end
9
+
10
+ # List all the tokens created for a specific file or bucket. You can use the
11
+ # query params to filter your results.
12
+ #
13
+ # @param [String] bucket_id Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https://appwrite.io/docs/server/storage#createBucket).
14
+ # @param [String] file_id File unique ID.
15
+ # @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: expire
16
+ #
17
+ # @return [ResourceTokenList]
18
+ def list(bucket_id:, file_id:, queries: nil)
19
+ api_path = '/tokens/buckets/{bucketId}/files/{fileId}'
20
+ .gsub('{bucketId}', bucket_id)
21
+ .gsub('{fileId}', file_id)
22
+
23
+ if bucket_id.nil?
24
+ raise Appwrite::Exception.new('Missing required parameter: "bucketId"')
25
+ end
26
+
27
+ if file_id.nil?
28
+ raise Appwrite::Exception.new('Missing required parameter: "fileId"')
29
+ end
30
+
31
+ api_params = {
32
+ queries: queries,
33
+ }
34
+
35
+ api_headers = {
36
+ }
37
+
38
+ @client.call(
39
+ method: 'GET',
40
+ path: api_path,
41
+ headers: api_headers,
42
+ params: api_params,
43
+ response_type: Models::ResourceTokenList
44
+ )
45
+ end
46
+
47
+
48
+ # Create a new token. A token is linked to a file. Token can be passed as a
49
+ # header or request get parameter.
50
+ #
51
+ # @param [String] bucket_id Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https://appwrite.io/docs/server/storage#createBucket).
52
+ # @param [String] file_id File unique ID.
53
+ # @param [String] expire Token expiry date
54
+ #
55
+ # @return [ResourceToken]
56
+ def create_file_token(bucket_id:, file_id:, expire: nil)
57
+ api_path = '/tokens/buckets/{bucketId}/files/{fileId}'
58
+ .gsub('{bucketId}', bucket_id)
59
+ .gsub('{fileId}', file_id)
60
+
61
+ if bucket_id.nil?
62
+ raise Appwrite::Exception.new('Missing required parameter: "bucketId"')
63
+ end
64
+
65
+ if file_id.nil?
66
+ raise Appwrite::Exception.new('Missing required parameter: "fileId"')
67
+ end
68
+
69
+ api_params = {
70
+ expire: expire,
71
+ }
72
+
73
+ api_headers = {
74
+ "content-type": 'application/json',
75
+ }
76
+
77
+ @client.call(
78
+ method: 'POST',
79
+ path: api_path,
80
+ headers: api_headers,
81
+ params: api_params,
82
+ response_type: Models::ResourceToken
83
+ )
84
+ end
85
+
86
+
87
+ # Get a token by its unique ID.
88
+ #
89
+ # @param [String] token_id Token ID.
90
+ #
91
+ # @return [ResourceToken]
92
+ def get(token_id:)
93
+ api_path = '/tokens/{tokenId}'
94
+ .gsub('{tokenId}', token_id)
95
+
96
+ if token_id.nil?
97
+ raise Appwrite::Exception.new('Missing required parameter: "tokenId"')
98
+ end
99
+
100
+ api_params = {
101
+ }
102
+
103
+ api_headers = {
104
+ }
105
+
106
+ @client.call(
107
+ method: 'GET',
108
+ path: api_path,
109
+ headers: api_headers,
110
+ params: api_params,
111
+ response_type: Models::ResourceToken
112
+ )
113
+ end
114
+
115
+
116
+ # Update a token by its unique ID. Use this endpoint to update a token's
117
+ # expiry date.
118
+ #
119
+ # @param [String] token_id Token unique ID.
120
+ # @param [String] expire File token expiry date
121
+ #
122
+ # @return [ResourceToken]
123
+ def update(token_id:, expire: nil)
124
+ api_path = '/tokens/{tokenId}'
125
+ .gsub('{tokenId}', token_id)
126
+
127
+ if token_id.nil?
128
+ raise Appwrite::Exception.new('Missing required parameter: "tokenId"')
129
+ end
130
+
131
+ api_params = {
132
+ expire: expire,
133
+ }
134
+
135
+ api_headers = {
136
+ "content-type": 'application/json',
137
+ }
138
+
139
+ @client.call(
140
+ method: 'PATCH',
141
+ path: api_path,
142
+ headers: api_headers,
143
+ params: api_params,
144
+ response_type: Models::ResourceToken
145
+ )
146
+ end
147
+
148
+
149
+ # Delete a token by its unique ID.
150
+ #
151
+ # @param [String] token_id Token ID.
152
+ #
153
+ # @return []
154
+ def delete(token_id:)
155
+ api_path = '/tokens/{tokenId}'
156
+ .gsub('{tokenId}', token_id)
157
+
158
+ if token_id.nil?
159
+ raise Appwrite::Exception.new('Missing required parameter: "tokenId"')
160
+ end
161
+
162
+ api_params = {
163
+ }
164
+
165
+ api_headers = {
166
+ "content-type": 'application/json',
167
+ }
168
+
169
+ @client.call(
170
+ method: 'DELETE',
171
+ path: api_path,
172
+ headers: api_headers,
173
+ params: api_params,
174
+ )
175
+ end
176
+
177
+
178
+ end
179
+ end
@@ -719,9 +719,11 @@ module Appwrite
719
719
  # Get the user membership list by its unique ID.
720
720
  #
721
721
  # @param [String] user_id User ID.
722
+ # @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, teamId, invited, joined, confirm, roles
723
+ # @param [String] search Search term to filter your list results. Max length: 256 chars.
722
724
  #
723
725
  # @return [MembershipList]
724
- def list_memberships(user_id:)
726
+ def list_memberships(user_id:, queries: nil, search: nil)
725
727
  api_path = '/users/{userId}/memberships'
726
728
  .gsub('{userId}', user_id)
727
729
 
@@ -730,6 +732,8 @@ module Appwrite
730
732
  end
731
733
 
732
734
  api_params = {
735
+ queries: queries,
736
+ search: search,
733
737
  }
734
738
 
735
739
  api_headers = {
data/lib/appwrite.rb CHANGED
@@ -22,9 +22,12 @@ require_relative 'appwrite/models/identity_list'
22
22
  require_relative 'appwrite/models/log_list'
23
23
  require_relative 'appwrite/models/file_list'
24
24
  require_relative 'appwrite/models/bucket_list'
25
+ require_relative 'appwrite/models/resource_token_list'
25
26
  require_relative 'appwrite/models/team_list'
26
27
  require_relative 'appwrite/models/membership_list'
28
+ require_relative 'appwrite/models/site_list'
27
29
  require_relative 'appwrite/models/function_list'
30
+ require_relative 'appwrite/models/framework_list'
28
31
  require_relative 'appwrite/models/runtime_list'
29
32
  require_relative 'appwrite/models/deployment_list'
30
33
  require_relative 'appwrite/models/execution_list'
@@ -74,13 +77,16 @@ require_relative 'appwrite/models/locale'
74
77
  require_relative 'appwrite/models/locale_code'
75
78
  require_relative 'appwrite/models/file'
76
79
  require_relative 'appwrite/models/bucket'
80
+ require_relative 'appwrite/models/resource_token'
77
81
  require_relative 'appwrite/models/team'
78
82
  require_relative 'appwrite/models/membership'
83
+ require_relative 'appwrite/models/site'
79
84
  require_relative 'appwrite/models/function'
80
85
  require_relative 'appwrite/models/runtime'
86
+ require_relative 'appwrite/models/framework'
87
+ require_relative 'appwrite/models/framework_adapter'
81
88
  require_relative 'appwrite/models/deployment'
82
89
  require_relative 'appwrite/models/execution'
83
- require_relative 'appwrite/models/build'
84
90
  require_relative 'appwrite/models/variable'
85
91
  require_relative 'appwrite/models/country'
86
92
  require_relative 'appwrite/models/continent'
@@ -114,10 +120,15 @@ require_relative 'appwrite/enums/relationship_type'
114
120
  require_relative 'appwrite/enums/relation_mutate'
115
121
  require_relative 'appwrite/enums/index_type'
116
122
  require_relative 'appwrite/enums/runtime'
123
+ require_relative 'appwrite/enums/vcs_deployment_type'
124
+ require_relative 'appwrite/enums/deployment_download_type'
117
125
  require_relative 'appwrite/enums/execution_method'
118
126
  require_relative 'appwrite/enums/name'
119
127
  require_relative 'appwrite/enums/message_priority'
120
128
  require_relative 'appwrite/enums/smtp_encryption'
129
+ require_relative 'appwrite/enums/framework'
130
+ require_relative 'appwrite/enums/build_runtime'
131
+ require_relative 'appwrite/enums/adapter'
121
132
  require_relative 'appwrite/enums/compression'
122
133
  require_relative 'appwrite/enums/image_gravity'
123
134
  require_relative 'appwrite/enums/image_format'
@@ -132,6 +143,8 @@ require_relative 'appwrite/services/graphql'
132
143
  require_relative 'appwrite/services/health'
133
144
  require_relative 'appwrite/services/locale'
134
145
  require_relative 'appwrite/services/messaging'
146
+ require_relative 'appwrite/services/sites'
135
147
  require_relative 'appwrite/services/storage'
136
148
  require_relative 'appwrite/services/teams'
149
+ require_relative 'appwrite/services/tokens'
137
150
  require_relative 'appwrite/services/users'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appwrite
3
3
  version: !ruby/object:Gem::Version
4
- version: 15.1.0.pre.rc.1
4
+ version: 16.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Appwrite Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-05-08 00:00:00.000000000 Z
11
+ date: 2025-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mime-types
@@ -32,13 +32,17 @@ extra_rdoc_files: []
32
32
  files:
33
33
  - lib/appwrite.rb
34
34
  - lib/appwrite/client.rb
35
+ - lib/appwrite/enums/adapter.rb
35
36
  - lib/appwrite/enums/authentication_factor.rb
36
37
  - lib/appwrite/enums/authenticator_type.rb
37
38
  - lib/appwrite/enums/browser.rb
39
+ - lib/appwrite/enums/build_runtime.rb
38
40
  - lib/appwrite/enums/compression.rb
39
41
  - lib/appwrite/enums/credit_card.rb
42
+ - lib/appwrite/enums/deployment_download_type.rb
40
43
  - lib/appwrite/enums/execution_method.rb
41
44
  - lib/appwrite/enums/flag.rb
45
+ - lib/appwrite/enums/framework.rb
42
46
  - lib/appwrite/enums/image_format.rb
43
47
  - lib/appwrite/enums/image_gravity.rb
44
48
  - lib/appwrite/enums/index_type.rb
@@ -51,6 +55,7 @@ files:
51
55
  - lib/appwrite/enums/relationship_type.rb
52
56
  - lib/appwrite/enums/runtime.rb
53
57
  - lib/appwrite/enums/smtp_encryption.rb
58
+ - lib/appwrite/enums/vcs_deployment_type.rb
54
59
  - lib/appwrite/exception.rb
55
60
  - lib/appwrite/id.rb
56
61
  - lib/appwrite/input_file.rb
@@ -74,7 +79,6 @@ files:
74
79
  - lib/appwrite/models/attribute_url.rb
75
80
  - lib/appwrite/models/bucket.rb
76
81
  - lib/appwrite/models/bucket_list.rb
77
- - lib/appwrite/models/build.rb
78
82
  - lib/appwrite/models/collection.rb
79
83
  - lib/appwrite/models/collection_list.rb
80
84
  - lib/appwrite/models/continent.rb
@@ -93,6 +97,9 @@ files:
93
97
  - lib/appwrite/models/execution_list.rb
94
98
  - lib/appwrite/models/file.rb
95
99
  - lib/appwrite/models/file_list.rb
100
+ - lib/appwrite/models/framework.rb
101
+ - lib/appwrite/models/framework_adapter.rb
102
+ - lib/appwrite/models/framework_list.rb
96
103
  - lib/appwrite/models/function.rb
97
104
  - lib/appwrite/models/function_list.rb
98
105
  - lib/appwrite/models/headers.rb
@@ -126,10 +133,14 @@ files:
126
133
  - lib/appwrite/models/preferences.rb
127
134
  - lib/appwrite/models/provider.rb
128
135
  - lib/appwrite/models/provider_list.rb
136
+ - lib/appwrite/models/resource_token.rb
137
+ - lib/appwrite/models/resource_token_list.rb
129
138
  - lib/appwrite/models/runtime.rb
130
139
  - lib/appwrite/models/runtime_list.rb
131
140
  - lib/appwrite/models/session.rb
132
141
  - lib/appwrite/models/session_list.rb
142
+ - lib/appwrite/models/site.rb
143
+ - lib/appwrite/models/site_list.rb
133
144
  - lib/appwrite/models/specification.rb
134
145
  - lib/appwrite/models/specification_list.rb
135
146
  - lib/appwrite/models/subscriber.rb
@@ -157,8 +168,10 @@ files:
157
168
  - lib/appwrite/services/health.rb
158
169
  - lib/appwrite/services/locale.rb
159
170
  - lib/appwrite/services/messaging.rb
171
+ - lib/appwrite/services/sites.rb
160
172
  - lib/appwrite/services/storage.rb
161
173
  - lib/appwrite/services/teams.rb
174
+ - lib/appwrite/services/tokens.rb
162
175
  - lib/appwrite/services/users.rb
163
176
  homepage: https://appwrite.io/support
164
177
  licenses:
@@ -175,9 +188,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
175
188
  version: '0'
176
189
  required_rubygems_version: !ruby/object:Gem::Requirement
177
190
  requirements:
178
- - - ">"
191
+ - - ">="
179
192
  - !ruby/object:Gem::Version
180
- version: 1.3.1
193
+ version: '0'
181
194
  requirements: []
182
195
  rubygems_version: 3.1.6
183
196
  signing_key:
@@ -1,67 +0,0 @@
1
- #frozen_string_literal: true
2
-
3
- module Appwrite
4
- module Models
5
- class Build
6
- attr_reader :id
7
- attr_reader :deployment_id
8
- attr_reader :status
9
- attr_reader :stdout
10
- attr_reader :stderr
11
- attr_reader :start_time
12
- attr_reader :end_time
13
- attr_reader :duration
14
- attr_reader :size
15
-
16
- def initialize(
17
- id:,
18
- deployment_id:,
19
- status:,
20
- stdout:,
21
- stderr:,
22
- start_time:,
23
- end_time:,
24
- duration:,
25
- size:
26
- )
27
- @id = id
28
- @deployment_id = deployment_id
29
- @status = status
30
- @stdout = stdout
31
- @stderr = stderr
32
- @start_time = start_time
33
- @end_time = end_time
34
- @duration = duration
35
- @size = size
36
- end
37
-
38
- def self.from(map:)
39
- Build.new(
40
- id: map["$id"],
41
- deployment_id: map["deploymentId"],
42
- status: map["status"],
43
- stdout: map["stdout"],
44
- stderr: map["stderr"],
45
- start_time: map["startTime"],
46
- end_time: map["endTime"],
47
- duration: map["duration"],
48
- size: map["size"]
49
- )
50
- end
51
-
52
- def to_map
53
- {
54
- "$id": @id,
55
- "deploymentId": @deployment_id,
56
- "status": @status,
57
- "stdout": @stdout,
58
- "stderr": @stderr,
59
- "startTime": @start_time,
60
- "endTime": @end_time,
61
- "duration": @duration,
62
- "size": @size
63
- }
64
- end
65
- end
66
- end
67
- end