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,144 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Autorender
4
+ module Models
5
+ # @see Autorender::Resources::Uploads#create_from_url
6
+ class UploadCreateFromURLResponse < Autorender::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ #
9
+ # @return [String]
10
+ required :id, String
11
+
12
+ # @!attribute created_at
13
+ #
14
+ # @return [Time]
15
+ required :created_at, Time
16
+
17
+ # @!attribute custom_id
18
+ #
19
+ # @return [String, nil]
20
+ required :custom_id, String, nil?: true
21
+
22
+ # @!attribute extension
23
+ #
24
+ # @return [String]
25
+ required :extension, String
26
+
27
+ # @!attribute file_no
28
+ #
29
+ # @return [String]
30
+ required :file_no, String
31
+
32
+ # @!attribute folder_no
33
+ #
34
+ # @return [String, nil]
35
+ required :folder_no, String, nil?: true
36
+
37
+ # @!attribute height
38
+ #
39
+ # @return [Integer, nil]
40
+ required :height, Integer, nil?: true
41
+
42
+ # @!attribute is_duplicate
43
+ #
44
+ # @return [Boolean]
45
+ required :is_duplicate, Autorender::Internal::Type::Boolean
46
+
47
+ # @!attribute metadata
48
+ #
49
+ # @return [Hash{Symbol=>Object}, nil]
50
+ required :metadata, Autorender::Internal::Type::HashOf[Autorender::Internal::Type::Unknown], nil?: true
51
+
52
+ # @!attribute mime_type
53
+ #
54
+ # @return [String]
55
+ required :mime_type, String
56
+
57
+ # @!attribute name
58
+ #
59
+ # @return [String]
60
+ required :name, String
61
+
62
+ # @!attribute path
63
+ #
64
+ # @return [String]
65
+ required :path, String
66
+
67
+ # @!attribute size
68
+ #
69
+ # @return [Integer]
70
+ required :size, Integer
71
+
72
+ # @!attribute tags
73
+ #
74
+ # @return [Array<String>]
75
+ required :tags, Autorender::Internal::Type::ArrayOf[String]
76
+
77
+ # @!attribute thumbnail
78
+ #
79
+ # @return [String]
80
+ required :thumbnail, String
81
+
82
+ # @!attribute upload_source
83
+ #
84
+ # @return [String]
85
+ required :upload_source, String
86
+
87
+ # @!attribute url
88
+ #
89
+ # @return [String]
90
+ required :url, String
91
+
92
+ # @!attribute width
93
+ #
94
+ # @return [Integer, nil]
95
+ required :width, Integer, nil?: true
96
+
97
+ # @!attribute workspace_id
98
+ #
99
+ # @return [String]
100
+ required :workspace_id, String
101
+
102
+ # @!attribute format_
103
+ #
104
+ # @return [String, nil]
105
+ optional :format_, String, api_name: :format
106
+
107
+ # @!attribute hash_
108
+ #
109
+ # @return [String, nil]
110
+ optional :hash_, String, api_name: :hash
111
+
112
+ # @!attribute is_private
113
+ #
114
+ # @return [Boolean, nil]
115
+ optional :is_private, Autorender::Internal::Type::Boolean
116
+
117
+ # @!method initialize(id:, created_at:, custom_id:, extension:, file_no:, folder_no:, height:, is_duplicate:, metadata:, mime_type:, name:, path:, size:, tags:, thumbnail:, upload_source:, url:, width:, workspace_id:, format_: nil, hash_: nil, is_private: nil)
118
+ # Upload created
119
+ #
120
+ # @param id [String]
121
+ # @param created_at [Time]
122
+ # @param custom_id [String, nil]
123
+ # @param extension [String]
124
+ # @param file_no [String]
125
+ # @param folder_no [String, nil]
126
+ # @param height [Integer, nil]
127
+ # @param is_duplicate [Boolean]
128
+ # @param metadata [Hash{Symbol=>Object}, nil]
129
+ # @param mime_type [String]
130
+ # @param name [String]
131
+ # @param path [String]
132
+ # @param size [Integer]
133
+ # @param tags [Array<String>]
134
+ # @param thumbnail [String]
135
+ # @param upload_source [String]
136
+ # @param url [String]
137
+ # @param width [Integer, nil]
138
+ # @param workspace_id [String]
139
+ # @param format_ [String]
140
+ # @param hash_ [String]
141
+ # @param is_private [Boolean]
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Autorender
4
+ module Models
5
+ # @see Autorender::Resources::Uploads#create
6
+ class UploadCreateParams < Autorender::Internal::Type::BaseModel
7
+ extend Autorender::Internal::Type::RequestParameters::Converter
8
+ include Autorender::Internal::Type::RequestParameters
9
+
10
+ # @!attribute file
11
+ # File to upload.
12
+ #
13
+ # @return [Pathname, StringIO, IO, String, Autorender::FilePart]
14
+ required :file, Autorender::Internal::Type::FileInput
15
+
16
+ # @!attribute file_name
17
+ # File name (e.g. product.jpg)
18
+ #
19
+ # @return [String]
20
+ required :file_name, String
21
+
22
+ # @!attribute custom_id
23
+ # Custom identifier
24
+ #
25
+ # @return [String, nil]
26
+ optional :custom_id, String
27
+
28
+ # @!attribute folder
29
+ # Optional folder path
30
+ #
31
+ # @return [String, nil]
32
+ optional :folder, String
33
+
34
+ # @!attribute metadata
35
+ # JSON string of metadata
36
+ #
37
+ # @return [String, nil]
38
+ optional :metadata, String
39
+
40
+ # @!attribute random_prefix
41
+ # true/false to append random suffix
42
+ #
43
+ # @return [String, nil]
44
+ optional :random_prefix, String
45
+
46
+ # @!attribute tags
47
+ # Comma-separated tags
48
+ #
49
+ # @return [String, nil]
50
+ optional :tags, String
51
+
52
+ # @!attribute transform
53
+ # Transform string (w_300,h_300,c_crop,...)
54
+ #
55
+ # @return [String, nil]
56
+ optional :transform, String
57
+
58
+ # @!attribute webhook_url
59
+ # URL to notify on success
60
+ #
61
+ # @return [String, nil]
62
+ optional :webhook_url, String
63
+
64
+ # @!method initialize(file:, file_name:, custom_id: nil, folder: nil, metadata: nil, random_prefix: nil, tags: nil, transform: nil, webhook_url: nil, request_options: {})
65
+ # @param file [Pathname, StringIO, IO, String, Autorender::FilePart] File to upload.
66
+ #
67
+ # @param file_name [String] File name (e.g. product.jpg)
68
+ #
69
+ # @param custom_id [String] Custom identifier
70
+ #
71
+ # @param folder [String] Optional folder path
72
+ #
73
+ # @param metadata [String] JSON string of metadata
74
+ #
75
+ # @param random_prefix [String] true/false to append random suffix
76
+ #
77
+ # @param tags [String] Comma-separated tags
78
+ #
79
+ # @param transform [String] Transform string (w_300,h_300,c_crop,...)
80
+ #
81
+ # @param webhook_url [String] URL to notify on success
82
+ #
83
+ # @param request_options [Autorender::RequestOptions, Hash{Symbol=>Object}]
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,144 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Autorender
4
+ module Models
5
+ # @see Autorender::Resources::Uploads#create
6
+ class UploadCreateResponse < Autorender::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ #
9
+ # @return [String]
10
+ required :id, String
11
+
12
+ # @!attribute created_at
13
+ #
14
+ # @return [Time]
15
+ required :created_at, Time
16
+
17
+ # @!attribute custom_id
18
+ #
19
+ # @return [String, nil]
20
+ required :custom_id, String, nil?: true
21
+
22
+ # @!attribute extension
23
+ #
24
+ # @return [String]
25
+ required :extension, String
26
+
27
+ # @!attribute file_no
28
+ #
29
+ # @return [String]
30
+ required :file_no, String
31
+
32
+ # @!attribute folder_no
33
+ #
34
+ # @return [String, nil]
35
+ required :folder_no, String, nil?: true
36
+
37
+ # @!attribute height
38
+ #
39
+ # @return [Integer, nil]
40
+ required :height, Integer, nil?: true
41
+
42
+ # @!attribute is_duplicate
43
+ #
44
+ # @return [Boolean]
45
+ required :is_duplicate, Autorender::Internal::Type::Boolean
46
+
47
+ # @!attribute metadata
48
+ #
49
+ # @return [Hash{Symbol=>Object}, nil]
50
+ required :metadata, Autorender::Internal::Type::HashOf[Autorender::Internal::Type::Unknown], nil?: true
51
+
52
+ # @!attribute mime_type
53
+ #
54
+ # @return [String]
55
+ required :mime_type, String
56
+
57
+ # @!attribute name
58
+ #
59
+ # @return [String]
60
+ required :name, String
61
+
62
+ # @!attribute path
63
+ #
64
+ # @return [String]
65
+ required :path, String
66
+
67
+ # @!attribute size
68
+ #
69
+ # @return [Integer]
70
+ required :size, Integer
71
+
72
+ # @!attribute tags
73
+ #
74
+ # @return [Array<String>]
75
+ required :tags, Autorender::Internal::Type::ArrayOf[String]
76
+
77
+ # @!attribute thumbnail
78
+ #
79
+ # @return [String]
80
+ required :thumbnail, String
81
+
82
+ # @!attribute upload_source
83
+ #
84
+ # @return [String]
85
+ required :upload_source, String
86
+
87
+ # @!attribute url
88
+ #
89
+ # @return [String]
90
+ required :url, String
91
+
92
+ # @!attribute width
93
+ #
94
+ # @return [Integer, nil]
95
+ required :width, Integer, nil?: true
96
+
97
+ # @!attribute workspace_id
98
+ #
99
+ # @return [String]
100
+ required :workspace_id, String
101
+
102
+ # @!attribute format_
103
+ #
104
+ # @return [String, nil]
105
+ optional :format_, String, api_name: :format
106
+
107
+ # @!attribute hash_
108
+ #
109
+ # @return [String, nil]
110
+ optional :hash_, String, api_name: :hash
111
+
112
+ # @!attribute is_private
113
+ #
114
+ # @return [Boolean, nil]
115
+ optional :is_private, Autorender::Internal::Type::Boolean
116
+
117
+ # @!method initialize(id:, created_at:, custom_id:, extension:, file_no:, folder_no:, height:, is_duplicate:, metadata:, mime_type:, name:, path:, size:, tags:, thumbnail:, upload_source:, url:, width:, workspace_id:, format_: nil, hash_: nil, is_private: nil)
118
+ # Upload created
119
+ #
120
+ # @param id [String]
121
+ # @param created_at [Time]
122
+ # @param custom_id [String, nil]
123
+ # @param extension [String]
124
+ # @param file_no [String]
125
+ # @param folder_no [String, nil]
126
+ # @param height [Integer, nil]
127
+ # @param is_duplicate [Boolean]
128
+ # @param metadata [Hash{Symbol=>Object}, nil]
129
+ # @param mime_type [String]
130
+ # @param name [String]
131
+ # @param path [String]
132
+ # @param size [Integer]
133
+ # @param tags [Array<String>]
134
+ # @param thumbnail [String]
135
+ # @param upload_source [String]
136
+ # @param url [String]
137
+ # @param width [Integer, nil]
138
+ # @param workspace_id [String]
139
+ # @param format_ [String]
140
+ # @param hash_ [String]
141
+ # @param is_private [Boolean]
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Autorender
4
+ [Autorender::Internal::Type::BaseModel, *Autorender::Internal::Type::BaseModel.subclasses].each do |cls|
5
+ cls.define_sorbet_constant!(:OrHash) { T.type_alias { T.any(cls, Autorender::Internal::AnyHash) } }
6
+ end
7
+
8
+ Autorender::Internal::Util.walk_namespaces(Autorender::Models).each do |mod|
9
+ case mod
10
+ in Autorender::Internal::Type::Enum | Autorender::Internal::Type::Union
11
+ mod.constants.each do |name|
12
+ case mod.const_get(name)
13
+ in true | false
14
+ mod.define_sorbet_constant!(:TaggedBoolean) { T.type_alias { T::Boolean } }
15
+ mod.define_sorbet_constant!(:OrBoolean) { T.type_alias { T::Boolean } }
16
+ in Integer
17
+ mod.define_sorbet_constant!(:TaggedInteger) { T.type_alias { Integer } }
18
+ mod.define_sorbet_constant!(:OrInteger) { T.type_alias { Integer } }
19
+ in Float
20
+ mod.define_sorbet_constant!(:TaggedFloat) { T.type_alias { Float } }
21
+ mod.define_sorbet_constant!(:OrFloat) { T.type_alias { Float } }
22
+ in Symbol
23
+ mod.define_sorbet_constant!(:TaggedSymbol) { T.type_alias { Symbol } }
24
+ mod.define_sorbet_constant!(:OrSymbol) { T.type_alias { T.any(Symbol, String) } }
25
+ else
26
+ end
27
+ end
28
+ else
29
+ end
30
+ end
31
+
32
+ Autorender::Internal::Util.walk_namespaces(Autorender::Models)
33
+ .lazy
34
+ .grep(Autorender::Internal::Type::Union)
35
+ .each do |mod|
36
+ const = :Variants
37
+ next if mod.sorbet_constant_defined?(const)
38
+
39
+ mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } }
40
+ end
41
+
42
+ FileDeleteParams = Autorender::Models::FileDeleteParams
43
+
44
+ FileListParams = Autorender::Models::FileListParams
45
+
46
+ FileRenameParams = Autorender::Models::FileRenameParams
47
+
48
+ FileRetrieveParams = Autorender::Models::FileRetrieveParams
49
+
50
+ FolderCreateParams = Autorender::Models::FolderCreateParams
51
+
52
+ FolderDeleteParams = Autorender::Models::FolderDeleteParams
53
+
54
+ FolderListParams = Autorender::Models::FolderListParams
55
+
56
+ FolderRenameParams = Autorender::Models::FolderRenameParams
57
+
58
+ MultipartUploadCompleteParams = Autorender::Models::MultipartUploadCompleteParams
59
+
60
+ MultipartUploadStartParams = Autorender::Models::MultipartUploadStartParams
61
+
62
+ UploadCreateFromURLParams = Autorender::Models::UploadCreateFromURLParams
63
+
64
+ UploadCreateParams = Autorender::Models::UploadCreateParams
65
+ end
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Autorender
4
+ # Specify HTTP behaviour to use for a specific request. These options supplement
5
+ # or override those provided at the client level.
6
+ #
7
+ # When making a request, you can pass an actual {RequestOptions} instance, or
8
+ # simply pass a Hash with symbol keys matching the attributes on this class.
9
+ class RequestOptions < Autorender::Internal::Type::BaseModel
10
+ # @api private
11
+ #
12
+ # @param opts [Autorender::RequestOptions, Hash{Symbol=>Object}]
13
+ #
14
+ # @raise [ArgumentError]
15
+ def self.validate!(opts)
16
+ case opts
17
+ in Autorender::RequestOptions | Hash
18
+ opts.to_h.each_key do |k|
19
+ unless fields.include?(k)
20
+ raise ArgumentError.new("Request `opts` keys must be one of #{fields.keys}, got #{k.inspect}")
21
+ end
22
+ end
23
+ else
24
+ raise ArgumentError.new("Request `opts` must be a Hash or RequestOptions, got #{opts.inspect}")
25
+ end
26
+ end
27
+
28
+ # @!attribute idempotency_key
29
+ # Idempotency key to send with request and all associated retries. Will only be
30
+ # sent for write requests.
31
+ #
32
+ # @return [String, nil]
33
+ optional :idempotency_key, String
34
+
35
+ # @!attribute extra_query
36
+ # Extra query params to send with the request. These are `.merge`’d into any
37
+ # `query` given at the client level.
38
+ #
39
+ # @return [Hash{String=>Array<String>, String, nil}, nil]
40
+ optional :extra_query, Autorender::Internal::Type::HashOf[Autorender::Internal::Type::ArrayOf[String]]
41
+
42
+ # @!attribute extra_headers
43
+ # Extra headers to send with the request. These are `.merged`’d into any
44
+ # `extra_headers` given at the client level.
45
+ #
46
+ # @return [Hash{String=>String, nil}, nil]
47
+ optional :extra_headers, Autorender::Internal::Type::HashOf[String, nil?: true]
48
+
49
+ # @!attribute extra_body
50
+ # Extra data to send with the request. These are deep merged into any data
51
+ # generated as part of the normal request.
52
+ #
53
+ # @return [Object, nil]
54
+ optional :extra_body, Autorender::Internal::Type::HashOf[Autorender::Internal::Type::Unknown]
55
+
56
+ # @!attribute max_retries
57
+ # Maximum number of retries to attempt after a failed initial request.
58
+ #
59
+ # @return [Integer, nil]
60
+ optional :max_retries, Integer
61
+
62
+ # @!attribute timeout
63
+ # Request timeout in seconds.
64
+ #
65
+ # @return [Float, nil]
66
+ optional :timeout, Float
67
+
68
+ # @!method initialize(values = {})
69
+ # Returns a new instance of RequestOptions.
70
+ #
71
+ # @param values [Hash{Symbol=>Object}]
72
+
73
+ define_sorbet_constant!(:OrHash) do
74
+ T.type_alias { T.any(Autorender::RequestOptions, Autorender::Internal::AnyHash) }
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,108 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Autorender
4
+ module Resources
5
+ # File management endpoints (API key required)
6
+ class Files
7
+ # Get file details
8
+ #
9
+ # @overload retrieve(file_no, request_options: {})
10
+ #
11
+ # @param file_no [String]
12
+ # @param request_options [Autorender::RequestOptions, Hash{Symbol=>Object}, nil]
13
+ #
14
+ # @return [Autorender::Models::FileRetrieveResponse]
15
+ #
16
+ # @see Autorender::Models::FileRetrieveParams
17
+ def retrieve(file_no, params = {})
18
+ @client.request(
19
+ method: :get,
20
+ path: ["api/v1/files/%1$s", file_no],
21
+ model: Autorender::Models::FileRetrieveResponse,
22
+ options: params[:request_options]
23
+ )
24
+ end
25
+
26
+ # List/search files with pagination, filtering, and sorting.
27
+ #
28
+ # @overload list(folder_no: nil, limit: nil, page: nil, search: nil, sort: nil, request_options: {})
29
+ #
30
+ # @param folder_no [String] Filter by folder number
31
+ #
32
+ # @param limit [Integer]
33
+ #
34
+ # @param page [Integer]
35
+ #
36
+ # @param search [String] Partial name match (case-insensitive)
37
+ #
38
+ # @param sort [Symbol, Autorender::Models::FileListParams::Sort]
39
+ #
40
+ # @param request_options [Autorender::RequestOptions, Hash{Symbol=>Object}, nil]
41
+ #
42
+ # @return [Autorender::Models::FileListResponse]
43
+ #
44
+ # @see Autorender::Models::FileListParams
45
+ def list(params = {})
46
+ parsed, options = Autorender::FileListParams.dump_request(params)
47
+ query = Autorender::Internal::Util.encode_query_params(parsed)
48
+ @client.request(
49
+ method: :get,
50
+ path: "api/v1/files",
51
+ query: query,
52
+ model: Autorender::Models::FileListResponse,
53
+ options: options
54
+ )
55
+ end
56
+
57
+ # Delete file
58
+ #
59
+ # @overload delete(file_no, request_options: {})
60
+ #
61
+ # @param file_no [String]
62
+ # @param request_options [Autorender::RequestOptions, Hash{Symbol=>Object}, nil]
63
+ #
64
+ # @return [nil]
65
+ #
66
+ # @see Autorender::Models::FileDeleteParams
67
+ def delete(file_no, params = {})
68
+ @client.request(
69
+ method: :delete,
70
+ path: ["api/v1/files/%1$s", file_no],
71
+ model: NilClass,
72
+ options: params[:request_options]
73
+ )
74
+ end
75
+
76
+ # Rename file
77
+ #
78
+ # @overload rename(file_no, name:, request_options: {})
79
+ #
80
+ # @param file_no [String]
81
+ #
82
+ # @param name [String] New file name without extension or path separators
83
+ #
84
+ # @param request_options [Autorender::RequestOptions, Hash{Symbol=>Object}, nil]
85
+ #
86
+ # @return [Autorender::Models::FileRenameResponse]
87
+ #
88
+ # @see Autorender::Models::FileRenameParams
89
+ def rename(file_no, params)
90
+ parsed, options = Autorender::FileRenameParams.dump_request(params)
91
+ @client.request(
92
+ method: :patch,
93
+ path: ["api/v1/files/%1$s/rename", file_no],
94
+ body: parsed,
95
+ model: Autorender::Models::FileRenameResponse,
96
+ options: options
97
+ )
98
+ end
99
+
100
+ # @api private
101
+ #
102
+ # @param client [Autorender::Client]
103
+ def initialize(client:)
104
+ @client = client
105
+ end
106
+ end
107
+ end
108
+ end