autorender 0.1.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 (152) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +41 -0
  4. data/README.md +266 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/autorender/client.rb +98 -0
  7. data/lib/autorender/errors.rb +228 -0
  8. data/lib/autorender/file_part.rb +58 -0
  9. data/lib/autorender/internal/page_pagination.rb +96 -0
  10. data/lib/autorender/internal/transport/base_client.rb +576 -0
  11. data/lib/autorender/internal/transport/pooled_net_requester.rb +210 -0
  12. data/lib/autorender/internal/type/array_of.rb +168 -0
  13. data/lib/autorender/internal/type/base_model.rb +531 -0
  14. data/lib/autorender/internal/type/base_page.rb +55 -0
  15. data/lib/autorender/internal/type/boolean.rb +77 -0
  16. data/lib/autorender/internal/type/converter.rb +327 -0
  17. data/lib/autorender/internal/type/enum.rb +131 -0
  18. data/lib/autorender/internal/type/file_input.rb +111 -0
  19. data/lib/autorender/internal/type/hash_of.rb +188 -0
  20. data/lib/autorender/internal/type/request_parameters.rb +42 -0
  21. data/lib/autorender/internal/type/union.rb +237 -0
  22. data/lib/autorender/internal/type/unknown.rb +81 -0
  23. data/lib/autorender/internal/util.rb +968 -0
  24. data/lib/autorender/internal.rb +20 -0
  25. data/lib/autorender/models/file_delete_params.rb +20 -0
  26. data/lib/autorender/models/file_list_params.rb +65 -0
  27. data/lib/autorender/models/file_list_response.rb +167 -0
  28. data/lib/autorender/models/file_rename_params.rb +29 -0
  29. data/lib/autorender/models/file_rename_response.rb +143 -0
  30. data/lib/autorender/models/file_retrieve_params.rb +20 -0
  31. data/lib/autorender/models/file_retrieve_response.rb +143 -0
  32. data/lib/autorender/models/folder_create_params.rb +30 -0
  33. data/lib/autorender/models/folder_create_response.rb +54 -0
  34. data/lib/autorender/models/folder_delete_params.rb +20 -0
  35. data/lib/autorender/models/folder_list_params.rb +49 -0
  36. data/lib/autorender/models/folder_list_response.rb +65 -0
  37. data/lib/autorender/models/folder_rename_params.rb +29 -0
  38. data/lib/autorender/models/folder_rename_response.rb +54 -0
  39. data/lib/autorender/models/multipart_upload_complete_params.rb +26 -0
  40. data/lib/autorender/models/multipart_upload_complete_response.rb +144 -0
  41. data/lib/autorender/models/multipart_upload_start_params.rb +82 -0
  42. data/lib/autorender/models/multipart_upload_start_response.rb +105 -0
  43. data/lib/autorender/models/upload_create_from_url_params.rb +76 -0
  44. data/lib/autorender/models/upload_create_from_url_response.rb +144 -0
  45. data/lib/autorender/models/upload_create_params.rb +86 -0
  46. data/lib/autorender/models/upload_create_response.rb +144 -0
  47. data/lib/autorender/models.rb +65 -0
  48. data/lib/autorender/request_options.rb +77 -0
  49. data/lib/autorender/resources/files.rb +108 -0
  50. data/lib/autorender/resources/folders.rb +109 -0
  51. data/lib/autorender/resources/multipart_uploads.rb +66 -0
  52. data/lib/autorender/resources/uploads.rb +90 -0
  53. data/lib/autorender/version.rb +5 -0
  54. data/lib/autorender.rb +82 -0
  55. data/manifest.yaml +17 -0
  56. data/rbi/autorender/client.rbi +62 -0
  57. data/rbi/autorender/errors.rbi +205 -0
  58. data/rbi/autorender/file_part.rbi +37 -0
  59. data/rbi/autorender/internal/page_pagination.rbi +28 -0
  60. data/rbi/autorender/internal/transport/base_client.rbi +300 -0
  61. data/rbi/autorender/internal/transport/pooled_net_requester.rbi +84 -0
  62. data/rbi/autorender/internal/type/array_of.rbi +104 -0
  63. data/rbi/autorender/internal/type/base_model.rbi +308 -0
  64. data/rbi/autorender/internal/type/base_page.rbi +42 -0
  65. data/rbi/autorender/internal/type/boolean.rbi +58 -0
  66. data/rbi/autorender/internal/type/converter.rbi +216 -0
  67. data/rbi/autorender/internal/type/enum.rbi +82 -0
  68. data/rbi/autorender/internal/type/file_input.rbi +59 -0
  69. data/rbi/autorender/internal/type/hash_of.rbi +104 -0
  70. data/rbi/autorender/internal/type/request_parameters.rbi +29 -0
  71. data/rbi/autorender/internal/type/union.rbi +128 -0
  72. data/rbi/autorender/internal/type/unknown.rbi +58 -0
  73. data/rbi/autorender/internal/util.rbi +515 -0
  74. data/rbi/autorender/internal.rbi +18 -0
  75. data/rbi/autorender/models/file_delete_params.rbi +35 -0
  76. data/rbi/autorender/models/file_list_params.rbi +116 -0
  77. data/rbi/autorender/models/file_list_response.rbi +227 -0
  78. data/rbi/autorender/models/file_rename_params.rbi +49 -0
  79. data/rbi/autorender/models/file_rename_response.rbi +205 -0
  80. data/rbi/autorender/models/file_retrieve_params.rbi +35 -0
  81. data/rbi/autorender/models/file_retrieve_response.rbi +209 -0
  82. data/rbi/autorender/models/folder_create_params.rbi +54 -0
  83. data/rbi/autorender/models/folder_create_response.rbi +75 -0
  84. data/rbi/autorender/models/folder_delete_params.rbi +35 -0
  85. data/rbi/autorender/models/folder_list_params.rbi +97 -0
  86. data/rbi/autorender/models/folder_list_response.rbi +105 -0
  87. data/rbi/autorender/models/folder_rename_params.rbi +49 -0
  88. data/rbi/autorender/models/folder_rename_response.rbi +75 -0
  89. data/rbi/autorender/models/multipart_upload_complete_params.rbi +49 -0
  90. data/rbi/autorender/models/multipart_upload_complete_response.rbi +174 -0
  91. data/rbi/autorender/models/multipart_upload_start_params.rbi +138 -0
  92. data/rbi/autorender/models/multipart_upload_start_response.rbi +146 -0
  93. data/rbi/autorender/models/upload_create_from_url_params.rbi +119 -0
  94. data/rbi/autorender/models/upload_create_from_url_response.rbi +174 -0
  95. data/rbi/autorender/models/upload_create_params.rbi +128 -0
  96. data/rbi/autorender/models/upload_create_response.rbi +174 -0
  97. data/rbi/autorender/models.rbi +28 -0
  98. data/rbi/autorender/request_options.rbi +59 -0
  99. data/rbi/autorender/resources/files.rbi +72 -0
  100. data/rbi/autorender/resources/folders.rbi +75 -0
  101. data/rbi/autorender/resources/multipart_uploads.rbi +53 -0
  102. data/rbi/autorender/resources/uploads.rbi +84 -0
  103. data/rbi/autorender/version.rbi +5 -0
  104. data/sig/autorender/client.rbs +32 -0
  105. data/sig/autorender/errors.rbs +117 -0
  106. data/sig/autorender/file_part.rbs +21 -0
  107. data/sig/autorender/internal/page_pagination.rbs +17 -0
  108. data/sig/autorender/internal/transport/base_client.rbs +133 -0
  109. data/sig/autorender/internal/transport/pooled_net_requester.rbs +48 -0
  110. data/sig/autorender/internal/type/array_of.rbs +48 -0
  111. data/sig/autorender/internal/type/base_model.rbs +102 -0
  112. data/sig/autorender/internal/type/base_page.rbs +24 -0
  113. data/sig/autorender/internal/type/boolean.rbs +26 -0
  114. data/sig/autorender/internal/type/converter.rbs +79 -0
  115. data/sig/autorender/internal/type/enum.rbs +32 -0
  116. data/sig/autorender/internal/type/file_input.rbs +25 -0
  117. data/sig/autorender/internal/type/hash_of.rbs +48 -0
  118. data/sig/autorender/internal/type/request_parameters.rbs +19 -0
  119. data/sig/autorender/internal/type/union.rbs +52 -0
  120. data/sig/autorender/internal/type/unknown.rbs +26 -0
  121. data/sig/autorender/internal/util.rbs +199 -0
  122. data/sig/autorender/internal.rbs +9 -0
  123. data/sig/autorender/models/file_delete_params.rbs +23 -0
  124. data/sig/autorender/models/file_list_params.rbs +79 -0
  125. data/sig/autorender/models/file_list_response.rbs +159 -0
  126. data/sig/autorender/models/file_rename_params.rbs +28 -0
  127. data/sig/autorender/models/file_rename_response.rbs +132 -0
  128. data/sig/autorender/models/file_retrieve_params.rbs +23 -0
  129. data/sig/autorender/models/file_retrieve_response.rbs +132 -0
  130. data/sig/autorender/models/folder_create_params.rbs +30 -0
  131. data/sig/autorender/models/folder_create_response.rbs +50 -0
  132. data/sig/autorender/models/folder_delete_params.rbs +23 -0
  133. data/sig/autorender/models/folder_list_params.rbs +57 -0
  134. data/sig/autorender/models/folder_list_response.rbs +65 -0
  135. data/sig/autorender/models/folder_rename_params.rbs +28 -0
  136. data/sig/autorender/models/folder_rename_response.rbs +50 -0
  137. data/sig/autorender/models/multipart_upload_complete_params.rbs +30 -0
  138. data/sig/autorender/models/multipart_upload_complete_response.rbs +131 -0
  139. data/sig/autorender/models/multipart_upload_start_params.rbs +90 -0
  140. data/sig/autorender/models/multipart_upload_start_response.rbs +92 -0
  141. data/sig/autorender/models/upload_create_from_url_params.rbs +75 -0
  142. data/sig/autorender/models/upload_create_from_url_response.rbs +131 -0
  143. data/sig/autorender/models/upload_create_params.rbs +80 -0
  144. data/sig/autorender/models/upload_create_response.rbs +131 -0
  145. data/sig/autorender/models.rbs +25 -0
  146. data/sig/autorender/request_options.rbs +36 -0
  147. data/sig/autorender/resources/files.rbs +32 -0
  148. data/sig/autorender/resources/folders.rbs +31 -0
  149. data/sig/autorender/resources/multipart_uploads.rbs +26 -0
  150. data/sig/autorender/resources/uploads.rbs +32 -0
  151. data/sig/autorender/version.rbs +3 -0
  152. metadata +223 -0
@@ -0,0 +1,138 @@
1
+ # typed: strong
2
+
3
+ module Autorender
4
+ module Models
5
+ class MultipartUploadStartParams < Autorender::Internal::Type::BaseModel
6
+ extend Autorender::Internal::Type::RequestParameters::Converter
7
+ include Autorender::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Autorender::MultipartUploadStartParams,
13
+ Autorender::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :file_name
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :format_
22
+
23
+ sig { returns(Integer) }
24
+ attr_accessor :size
25
+
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :custom_id
28
+
29
+ sig { params(custom_id: String).void }
30
+ attr_writer :custom_id
31
+
32
+ sig { returns(T.nilable(String)) }
33
+ attr_reader :folder
34
+
35
+ sig { params(folder: String).void }
36
+ attr_writer :folder
37
+
38
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
39
+ attr_reader :metadata
40
+
41
+ sig { params(metadata: T::Hash[Symbol, T.anything]).void }
42
+ attr_writer :metadata
43
+
44
+ sig { returns(T.nilable(T::Boolean)) }
45
+ attr_reader :random_prefix
46
+
47
+ sig { params(random_prefix: T::Boolean).void }
48
+ attr_writer :random_prefix
49
+
50
+ sig do
51
+ returns(
52
+ T.nilable(Autorender::MultipartUploadStartParams::Tags::Variants)
53
+ )
54
+ end
55
+ attr_reader :tags
56
+
57
+ sig do
58
+ params(
59
+ tags: Autorender::MultipartUploadStartParams::Tags::Variants
60
+ ).void
61
+ end
62
+ attr_writer :tags
63
+
64
+ sig { returns(T.nilable(Integer)) }
65
+ attr_reader :ttl_seconds
66
+
67
+ sig { params(ttl_seconds: Integer).void }
68
+ attr_writer :ttl_seconds
69
+
70
+ sig do
71
+ params(
72
+ file_name: String,
73
+ format_: String,
74
+ size: Integer,
75
+ custom_id: String,
76
+ folder: String,
77
+ metadata: T::Hash[Symbol, T.anything],
78
+ random_prefix: T::Boolean,
79
+ tags: Autorender::MultipartUploadStartParams::Tags::Variants,
80
+ ttl_seconds: Integer,
81
+ request_options: Autorender::RequestOptions::OrHash
82
+ ).returns(T.attached_class)
83
+ end
84
+ def self.new(
85
+ file_name:,
86
+ format_:,
87
+ size:,
88
+ custom_id: nil,
89
+ folder: nil,
90
+ metadata: nil,
91
+ random_prefix: nil,
92
+ tags: nil,
93
+ ttl_seconds: nil,
94
+ request_options: {}
95
+ )
96
+ end
97
+
98
+ sig do
99
+ override.returns(
100
+ {
101
+ file_name: String,
102
+ format_: String,
103
+ size: Integer,
104
+ custom_id: String,
105
+ folder: String,
106
+ metadata: T::Hash[Symbol, T.anything],
107
+ random_prefix: T::Boolean,
108
+ tags: Autorender::MultipartUploadStartParams::Tags::Variants,
109
+ ttl_seconds: Integer,
110
+ request_options: Autorender::RequestOptions
111
+ }
112
+ )
113
+ end
114
+ def to_hash
115
+ end
116
+
117
+ module Tags
118
+ extend Autorender::Internal::Type::Union
119
+
120
+ Variants = T.type_alias { T.any(T::Array[String], String) }
121
+
122
+ sig do
123
+ override.returns(
124
+ T::Array[Autorender::MultipartUploadStartParams::Tags::Variants]
125
+ )
126
+ end
127
+ def self.variants
128
+ end
129
+
130
+ StringArray =
131
+ T.let(
132
+ Autorender::Internal::Type::ArrayOf[String],
133
+ Autorender::Internal::Type::Converter
134
+ )
135
+ end
136
+ end
137
+ end
138
+ end
@@ -0,0 +1,146 @@
1
+ # typed: strong
2
+
3
+ module Autorender
4
+ module Models
5
+ class MultipartUploadStartResponse < Autorender::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Autorender::Models::MultipartUploadStartResponse,
10
+ Autorender::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Unix timestamp when the session expires
15
+ sig { returns(Integer) }
16
+ attr_accessor :expire_at
17
+
18
+ sig { returns(Integer) }
19
+ attr_accessor :min_part_size
20
+
21
+ sig { returns(Integer) }
22
+ attr_accessor :part_size
23
+
24
+ # Pre-signed S3 upload URLs, one per part
25
+ sig { returns(T::Array[String]) }
26
+ attr_accessor :parts
27
+
28
+ sig { returns(Autorender::Models::MultipartUploadStartResponse::Policy) }
29
+ attr_reader :policy
30
+
31
+ sig do
32
+ params(
33
+ policy:
34
+ Autorender::Models::MultipartUploadStartResponse::Policy::OrHash
35
+ ).void
36
+ end
37
+ attr_writer :policy
38
+
39
+ sig { returns(String) }
40
+ attr_accessor :public_key
41
+
42
+ sig { returns(String) }
43
+ attr_accessor :session_id
44
+
45
+ sig { returns(String) }
46
+ attr_accessor :uuid
47
+
48
+ sig { returns(String) }
49
+ attr_accessor :workspace_id
50
+
51
+ # Session created
52
+ sig do
53
+ params(
54
+ expire_at: Integer,
55
+ min_part_size: Integer,
56
+ part_size: Integer,
57
+ parts: T::Array[String],
58
+ policy:
59
+ Autorender::Models::MultipartUploadStartResponse::Policy::OrHash,
60
+ public_key: String,
61
+ session_id: String,
62
+ uuid: String,
63
+ workspace_id: String
64
+ ).returns(T.attached_class)
65
+ end
66
+ def self.new(
67
+ # Unix timestamp when the session expires
68
+ expire_at:,
69
+ min_part_size:,
70
+ part_size:,
71
+ # Pre-signed S3 upload URLs, one per part
72
+ parts:,
73
+ policy:,
74
+ public_key:,
75
+ session_id:,
76
+ uuid:,
77
+ workspace_id:
78
+ )
79
+ end
80
+
81
+ sig do
82
+ override.returns(
83
+ {
84
+ expire_at: Integer,
85
+ min_part_size: Integer,
86
+ part_size: Integer,
87
+ parts: T::Array[String],
88
+ policy: Autorender::Models::MultipartUploadStartResponse::Policy,
89
+ public_key: String,
90
+ session_id: String,
91
+ uuid: String,
92
+ workspace_id: String
93
+ }
94
+ )
95
+ end
96
+ def to_hash
97
+ end
98
+
99
+ class Policy < Autorender::Internal::Type::BaseModel
100
+ OrHash =
101
+ T.type_alias do
102
+ T.any(
103
+ Autorender::Models::MultipartUploadStartResponse::Policy,
104
+ Autorender::Internal::AnyHash
105
+ )
106
+ end
107
+
108
+ sig { returns(String) }
109
+ attr_accessor :folder
110
+
111
+ sig { returns(String) }
112
+ attr_accessor :format_
113
+
114
+ sig { returns(Integer) }
115
+ attr_accessor :size
116
+
117
+ sig { returns(T::Array[String]) }
118
+ attr_accessor :tags
119
+
120
+ sig do
121
+ params(
122
+ folder: String,
123
+ format_: String,
124
+ size: Integer,
125
+ tags: T::Array[String]
126
+ ).returns(T.attached_class)
127
+ end
128
+ def self.new(folder:, format_:, size:, tags:)
129
+ end
130
+
131
+ sig do
132
+ override.returns(
133
+ {
134
+ folder: String,
135
+ format_: String,
136
+ size: Integer,
137
+ tags: T::Array[String]
138
+ }
139
+ )
140
+ end
141
+ def to_hash
142
+ end
143
+ end
144
+ end
145
+ end
146
+ end
@@ -0,0 +1,119 @@
1
+ # typed: strong
2
+
3
+ module Autorender
4
+ module Models
5
+ class UploadCreateFromURLParams < Autorender::Internal::Type::BaseModel
6
+ extend Autorender::Internal::Type::RequestParameters::Converter
7
+ include Autorender::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Autorender::UploadCreateFromURLParams,
13
+ Autorender::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # HTTP/HTTPS URL to fetch
18
+ sig { returns(String) }
19
+ attr_accessor :remote_url
20
+
21
+ sig { returns(T.nilable(String)) }
22
+ attr_reader :custom_id
23
+
24
+ sig { params(custom_id: String).void }
25
+ attr_writer :custom_id
26
+
27
+ # Override file name
28
+ sig { returns(T.nilable(String)) }
29
+ attr_reader :file_name
30
+
31
+ sig { params(file_name: String).void }
32
+ attr_writer :file_name
33
+
34
+ # Destination folder path
35
+ sig { returns(T.nilable(String)) }
36
+ attr_reader :folder
37
+
38
+ sig { params(folder: String).void }
39
+ attr_writer :folder
40
+
41
+ # JSON string of metadata object
42
+ sig { returns(T.nilable(String)) }
43
+ attr_reader :metadata
44
+
45
+ sig { params(metadata: String).void }
46
+ attr_writer :metadata
47
+
48
+ # true/false to append random suffix
49
+ sig { returns(T.nilable(String)) }
50
+ attr_reader :random_prefix
51
+
52
+ sig { params(random_prefix: String).void }
53
+ attr_writer :random_prefix
54
+
55
+ # Comma-separated tags
56
+ sig { returns(T.nilable(String)) }
57
+ attr_reader :tags
58
+
59
+ sig { params(tags: String).void }
60
+ attr_writer :tags
61
+
62
+ sig { returns(T.nilable(String)) }
63
+ attr_reader :webhook_url
64
+
65
+ sig { params(webhook_url: String).void }
66
+ attr_writer :webhook_url
67
+
68
+ sig do
69
+ params(
70
+ remote_url: String,
71
+ custom_id: String,
72
+ file_name: String,
73
+ folder: String,
74
+ metadata: String,
75
+ random_prefix: String,
76
+ tags: String,
77
+ webhook_url: String,
78
+ request_options: Autorender::RequestOptions::OrHash
79
+ ).returns(T.attached_class)
80
+ end
81
+ def self.new(
82
+ # HTTP/HTTPS URL to fetch
83
+ remote_url:,
84
+ custom_id: nil,
85
+ # Override file name
86
+ file_name: nil,
87
+ # Destination folder path
88
+ folder: nil,
89
+ # JSON string of metadata object
90
+ metadata: nil,
91
+ # true/false to append random suffix
92
+ random_prefix: nil,
93
+ # Comma-separated tags
94
+ tags: nil,
95
+ webhook_url: nil,
96
+ request_options: {}
97
+ )
98
+ end
99
+
100
+ sig do
101
+ override.returns(
102
+ {
103
+ remote_url: String,
104
+ custom_id: String,
105
+ file_name: String,
106
+ folder: String,
107
+ metadata: String,
108
+ random_prefix: String,
109
+ tags: String,
110
+ webhook_url: String,
111
+ request_options: Autorender::RequestOptions
112
+ }
113
+ )
114
+ end
115
+ def to_hash
116
+ end
117
+ end
118
+ end
119
+ end
@@ -0,0 +1,174 @@
1
+ # typed: strong
2
+
3
+ module Autorender
4
+ module Models
5
+ class UploadCreateFromURLResponse < Autorender::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Autorender::Models::UploadCreateFromURLResponse,
10
+ Autorender::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
17
+ sig { returns(Time) }
18
+ attr_accessor :created_at
19
+
20
+ sig { returns(T.nilable(String)) }
21
+ attr_accessor :custom_id
22
+
23
+ sig { returns(String) }
24
+ attr_accessor :extension
25
+
26
+ sig { returns(String) }
27
+ attr_accessor :file_no
28
+
29
+ sig { returns(T.nilable(String)) }
30
+ attr_accessor :folder_no
31
+
32
+ sig { returns(T.nilable(Integer)) }
33
+ attr_accessor :height
34
+
35
+ sig { returns(T::Boolean) }
36
+ attr_accessor :is_duplicate
37
+
38
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
39
+ attr_accessor :metadata
40
+
41
+ sig { returns(String) }
42
+ attr_accessor :mime_type
43
+
44
+ sig { returns(String) }
45
+ attr_accessor :name
46
+
47
+ sig { returns(String) }
48
+ attr_accessor :path
49
+
50
+ sig { returns(Integer) }
51
+ attr_accessor :size
52
+
53
+ sig { returns(T::Array[String]) }
54
+ attr_accessor :tags
55
+
56
+ sig { returns(String) }
57
+ attr_accessor :thumbnail
58
+
59
+ sig { returns(String) }
60
+ attr_accessor :upload_source
61
+
62
+ sig { returns(String) }
63
+ attr_accessor :url
64
+
65
+ sig { returns(T.nilable(Integer)) }
66
+ attr_accessor :width
67
+
68
+ sig { returns(String) }
69
+ attr_accessor :workspace_id
70
+
71
+ sig { returns(T.nilable(String)) }
72
+ attr_reader :format_
73
+
74
+ sig { params(format_: String).void }
75
+ attr_writer :format_
76
+
77
+ sig { returns(T.nilable(String)) }
78
+ attr_reader :hash_
79
+
80
+ sig { params(hash_: String).void }
81
+ attr_writer :hash_
82
+
83
+ sig { returns(T.nilable(T::Boolean)) }
84
+ attr_reader :is_private
85
+
86
+ sig { params(is_private: T::Boolean).void }
87
+ attr_writer :is_private
88
+
89
+ # Upload created
90
+ sig do
91
+ params(
92
+ id: String,
93
+ created_at: Time,
94
+ custom_id: T.nilable(String),
95
+ extension: String,
96
+ file_no: String,
97
+ folder_no: T.nilable(String),
98
+ height: T.nilable(Integer),
99
+ is_duplicate: T::Boolean,
100
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
101
+ mime_type: String,
102
+ name: String,
103
+ path: String,
104
+ size: Integer,
105
+ tags: T::Array[String],
106
+ thumbnail: String,
107
+ upload_source: String,
108
+ url: String,
109
+ width: T.nilable(Integer),
110
+ workspace_id: String,
111
+ format_: String,
112
+ hash_: String,
113
+ is_private: T::Boolean
114
+ ).returns(T.attached_class)
115
+ end
116
+ def self.new(
117
+ id:,
118
+ created_at:,
119
+ custom_id:,
120
+ extension:,
121
+ file_no:,
122
+ folder_no:,
123
+ height:,
124
+ is_duplicate:,
125
+ metadata:,
126
+ mime_type:,
127
+ name:,
128
+ path:,
129
+ size:,
130
+ tags:,
131
+ thumbnail:,
132
+ upload_source:,
133
+ url:,
134
+ width:,
135
+ workspace_id:,
136
+ format_: nil,
137
+ hash_: nil,
138
+ is_private: nil
139
+ )
140
+ end
141
+
142
+ sig do
143
+ override.returns(
144
+ {
145
+ id: String,
146
+ created_at: Time,
147
+ custom_id: T.nilable(String),
148
+ extension: String,
149
+ file_no: String,
150
+ folder_no: T.nilable(String),
151
+ height: T.nilable(Integer),
152
+ is_duplicate: T::Boolean,
153
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
154
+ mime_type: String,
155
+ name: String,
156
+ path: String,
157
+ size: Integer,
158
+ tags: T::Array[String],
159
+ thumbnail: String,
160
+ upload_source: String,
161
+ url: String,
162
+ width: T.nilable(Integer),
163
+ workspace_id: String,
164
+ format_: String,
165
+ hash_: String,
166
+ is_private: T::Boolean
167
+ }
168
+ )
169
+ end
170
+ def to_hash
171
+ end
172
+ end
173
+ end
174
+ end
@@ -0,0 +1,128 @@
1
+ # typed: strong
2
+
3
+ module Autorender
4
+ module Models
5
+ class UploadCreateParams < Autorender::Internal::Type::BaseModel
6
+ extend Autorender::Internal::Type::RequestParameters::Converter
7
+ include Autorender::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Autorender::UploadCreateParams, Autorender::Internal::AnyHash)
12
+ end
13
+
14
+ # File to upload.
15
+ sig { returns(Autorender::Internal::FileInput) }
16
+ attr_accessor :file
17
+
18
+ # File name (e.g. product.jpg)
19
+ sig { returns(String) }
20
+ attr_accessor :file_name
21
+
22
+ # Custom identifier
23
+ sig { returns(T.nilable(String)) }
24
+ attr_reader :custom_id
25
+
26
+ sig { params(custom_id: String).void }
27
+ attr_writer :custom_id
28
+
29
+ # Optional folder path
30
+ sig { returns(T.nilable(String)) }
31
+ attr_reader :folder
32
+
33
+ sig { params(folder: String).void }
34
+ attr_writer :folder
35
+
36
+ # JSON string of metadata
37
+ sig { returns(T.nilable(String)) }
38
+ attr_reader :metadata
39
+
40
+ sig { params(metadata: String).void }
41
+ attr_writer :metadata
42
+
43
+ # true/false to append random suffix
44
+ sig { returns(T.nilable(String)) }
45
+ attr_reader :random_prefix
46
+
47
+ sig { params(random_prefix: String).void }
48
+ attr_writer :random_prefix
49
+
50
+ # Comma-separated tags
51
+ sig { returns(T.nilable(String)) }
52
+ attr_reader :tags
53
+
54
+ sig { params(tags: String).void }
55
+ attr_writer :tags
56
+
57
+ # Transform string (w_300,h_300,c_crop,...)
58
+ sig { returns(T.nilable(String)) }
59
+ attr_reader :transform
60
+
61
+ sig { params(transform: String).void }
62
+ attr_writer :transform
63
+
64
+ # URL to notify on success
65
+ sig { returns(T.nilable(String)) }
66
+ attr_reader :webhook_url
67
+
68
+ sig { params(webhook_url: String).void }
69
+ attr_writer :webhook_url
70
+
71
+ sig do
72
+ params(
73
+ file: Autorender::Internal::FileInput,
74
+ file_name: String,
75
+ custom_id: String,
76
+ folder: String,
77
+ metadata: String,
78
+ random_prefix: String,
79
+ tags: String,
80
+ transform: String,
81
+ webhook_url: String,
82
+ request_options: Autorender::RequestOptions::OrHash
83
+ ).returns(T.attached_class)
84
+ end
85
+ def self.new(
86
+ # File to upload.
87
+ file:,
88
+ # File name (e.g. product.jpg)
89
+ file_name:,
90
+ # Custom identifier
91
+ custom_id: nil,
92
+ # Optional folder path
93
+ folder: nil,
94
+ # JSON string of metadata
95
+ metadata: nil,
96
+ # true/false to append random suffix
97
+ random_prefix: nil,
98
+ # Comma-separated tags
99
+ tags: nil,
100
+ # Transform string (w_300,h_300,c_crop,...)
101
+ transform: nil,
102
+ # URL to notify on success
103
+ webhook_url: nil,
104
+ request_options: {}
105
+ )
106
+ end
107
+
108
+ sig do
109
+ override.returns(
110
+ {
111
+ file: Autorender::Internal::FileInput,
112
+ file_name: String,
113
+ custom_id: String,
114
+ folder: String,
115
+ metadata: String,
116
+ random_prefix: String,
117
+ tags: String,
118
+ transform: String,
119
+ webhook_url: String,
120
+ request_options: Autorender::RequestOptions
121
+ }
122
+ )
123
+ end
124
+ def to_hash
125
+ end
126
+ end
127
+ end
128
+ end