@@ -52,15 +52,15 @@ var uploadCmd = &cobra.Command{
52
52
return errors .New ("owner and repo must be set" )
53
53
}
54
54
55
- refName , err := cmd .Flags ().GetString ("refName " )
55
+ refName , err := cmd .Flags ().GetString ("ref-name " )
56
56
if err != nil {
57
57
return err
58
58
}
59
59
if len (refName ) == 0 {
60
60
return errors .New ("refName must be set" )
61
61
}
62
62
63
- uploadPath , err := cmd .Flags ().GetString ("uploadPath " )
63
+ uploadPath , err := cmd .Flags ().GetString ("upload-path " )
64
64
if err != nil {
65
65
return err
66
66
}
@@ -69,7 +69,7 @@ var uploadCmd = &cobra.Command{
69
69
uploadPath = "/"
70
70
}
71
71
72
- ignoreRootName , err := cmd .Flags ().GetBool ("ignoreRootName " )
72
+ ignoreRootName , err := cmd .Flags ().GetBool ("ignore-root-name " )
73
73
if err != nil {
74
74
return err
75
75
}
@@ -143,14 +143,102 @@ var uploadCmd = &cobra.Command{
143
143
},
144
144
}
145
145
146
+ // versionCmd represents the version command
147
+ var downloadCmd = & cobra.Command {
148
+ Use : "download" ,
149
+ Short : "download files from server" ,
150
+ RunE : func (cmd * cobra.Command , _ []string ) error {
151
+ ctx := cmd .Context ()
152
+ client , err := GetClient (cmd )
153
+ if err != nil {
154
+ return err
155
+ }
156
+
157
+ path , err := cmd .Flags ().GetString ("path" )
158
+ if err != nil {
159
+ return err
160
+ }
161
+ if len (path ) == 0 {
162
+ return errors .New ("path must be set" )
163
+ }
164
+
165
+ owner , err := cmd .Flags ().GetString ("owner" )
166
+ if err != nil {
167
+ return err
168
+ }
169
+ if len (owner ) == 0 {
170
+ return errors .New ("owner must be set" )
171
+ }
172
+
173
+ repo , err := cmd .Flags ().GetString ("repo" )
174
+ if err != nil {
175
+ return err
176
+ }
177
+ if len (owner ) == 0 || len (repo ) == 0 {
178
+ return errors .New ("owner and repo must be set" )
179
+ }
180
+
181
+ refName , err := cmd .Flags ().GetString ("ref-name" )
182
+ if err != nil {
183
+ return err
184
+ }
185
+ if len (refName ) == 0 {
186
+ return errors .New ("ref-name must be set" )
187
+ }
188
+
189
+ refType , err := cmd .Flags ().GetString ("ref-type" )
190
+ if err != nil {
191
+ return err
192
+ }
193
+ if len (refType ) == 0 {
194
+ return errors .New ("ref-type must be set" )
195
+ }
196
+
197
+ fileName := filepath .Base (path )
198
+ output , err := cmd .Flags ().GetString ("output" )
199
+ if err != nil {
200
+ return err
201
+ }
202
+
203
+ if len (output ) == 0 {
204
+ fileName = output
205
+ }
206
+
207
+ opjResp , err := client .GetObject (ctx , owner , repo , & api.GetObjectParams {
208
+ // Type type indicate to retrieve from wip/branch/tag, default branch
209
+ Type : api .RefType (refType ),
210
+ RefName : refName ,
211
+ Path : path ,
212
+ })
213
+ if err != nil {
214
+ return err
215
+ }
216
+
217
+ headObj , err := api .ParseGetObjectResponse (opjResp )
218
+ if err != nil {
219
+ return err
220
+ }
221
+
222
+ return os .WriteFile (fileName , headObj .Body , 0666 )
223
+ },
224
+ }
225
+
146
226
func init () {
147
227
rootCmd .AddCommand (uploadCmd )
148
228
149
229
uploadCmd .Flags ().String ("path" , "" , "path of files to upload" )
150
230
uploadCmd .Flags ().String ("owner" , "" , "owner" )
151
231
uploadCmd .Flags ().String ("repo" , "" , "repo" )
152
- uploadCmd .Flags ().String ("refName " , "main" , "branch name" )
153
- uploadCmd .Flags ().String ("uploadPath " , "" , "path to save in server" )
232
+ uploadCmd .Flags ().String ("ref-name " , "main" , "branch name" )
233
+ uploadCmd .Flags ().String ("upload-path " , "" , "path to save in server" )
154
234
uploadCmd .Flags ().Bool ("replace" , true , "path to save in server" )
155
- uploadCmd .Flags ().Bool ("ignoreRootName" , false , "ignore root name" )
235
+ uploadCmd .Flags ().Bool ("ignore-root-name" , false , "ignore root name" )
236
+
237
+ rootCmd .AddCommand (downloadCmd )
238
+ downloadCmd .Flags ().String ("path" , "" , "path of files to upload" )
239
+ downloadCmd .Flags ().String ("owner" , "" , "owner" )
240
+ downloadCmd .Flags ().String ("repo" , "" , "repo" )
241
+ downloadCmd .Flags ().String ("ref-name" , "main" , "branch name" )
242
+ downloadCmd .Flags ().String ("ref-type" , "branch" , "reference type" )
243
+ downloadCmd .Flags ().String ("output" , "branch" , "reference type" )
156
244
}
0 commit comments