11import { RESTGetApiAppAllBackupResult , RESTGetApiAppBackupResult , Routes } from "@discloudapp/api-types/v2" ;
22import axios from "axios" ;
33import { GluegunCommand , GluegunToolbox } from "gluegun" ;
4- import { exit } from "node:process" ;
54import { apidiscloud , config , makeTable , RateLimit } from "../util" ;
65import { backupsPath } from "../util/constants" ;
76
@@ -32,63 +31,61 @@ export default new class Backups implements GluegunCommand {
3231
3332 new RateLimit ( apiRes . headers ) ;
3433
35- if ( apiRes . status ) {
36- if ( print . spinApiRes ( apiRes , spin ) > 399 ) return exit ( apiRes . status ) ;
34+ print . spinApiRes ( apiRes , spin , { exitOnError : true } ) ;
3735
38- if ( ! apiRes . data ) return ;
36+ if ( ! apiRes . data ) return ;
3937
40- if ( "backups" in apiRes . data ) {
41- if ( parameters . options . save || parameters . options . s )
42- if ( Array . isArray ( apiRes . data . backups ) ) {
43- for ( let i = 0 ; i < apiRes . data . backups . length ; i ++ ) {
44- const backup = apiRes . data . backups [ i ] ;
38+ if ( "backups" in apiRes . data ) {
39+ if ( parameters . options . save || parameters . options . s )
40+ if ( Array . isArray ( apiRes . data . backups ) ) {
41+ for ( let i = 0 ; i < apiRes . data . backups . length ; i ++ ) {
42+ const backup = apiRes . data . backups [ i ] ;
4543
46- if ( backup . status === "ok" ) {
47- const outFileName = `${ backupsPath } /${ backup . id } .zip` ;
44+ if ( backup . status === "ok" ) {
45+ const outFileName = `${ backupsPath } /${ backup . id } .zip` ;
4846
49- const spin = print . spin ( {
50- text : `Saving: ${ outFileName } ` ,
51- } ) ;
47+ const spin = print . spin ( {
48+ text : `Saving: ${ outFileName } ` ,
49+ } ) ;
5250
53- try {
54- const result = await axios . get ( backup . url , { responseType : "arraybuffer" } ) ;
51+ try {
52+ const result = await axios . get ( backup . url , { responseType : "arraybuffer" } ) ;
5553
56- filesystem . write ( outFileName , result . data ) ;
54+ filesystem . write ( outFileName , result . data ) ;
5755
58- spin . succeed ( ) ;
56+ spin . succeed ( ) ;
5957
60- apiRes . data . backups [ i ] . url = outFileName ;
61- } catch {
62- spin . fail ( ) ;
63- }
58+ apiRes . data . backups [ i ] . url = outFileName ;
59+ } catch {
60+ spin . fail ( ) ;
6461 }
6562 }
66- } else {
67- const backup = apiRes . data . backups ;
63+ }
64+ } else {
65+ const backup = apiRes . data . backups ;
6866
69- const outFileName = `${ backupsPath } /${ backup . id } .zip` ;
67+ const outFileName = `${ backupsPath } /${ backup . id } .zip` ;
7068
71- const spin = print . spin ( {
72- text : `Saving: ${ outFileName } ` ,
73- } ) ;
69+ const spin = print . spin ( {
70+ text : `Saving: ${ outFileName } ` ,
71+ } ) ;
7472
75- try {
76- const result = await axios . get ( backup . url , { responseType : "arraybuffer" } ) ;
73+ try {
74+ const result = await axios . get ( backup . url , { responseType : "arraybuffer" } ) ;
7775
78- filesystem . write ( outFileName , result . data ) ;
76+ filesystem . write ( outFileName , result . data ) ;
7977
80- spin . succeed ( ) ;
78+ spin . succeed ( ) ;
8179
82- apiRes . data . backups . url = outFileName ;
83- } catch {
84- spin . fail ( ) ;
85- }
80+ apiRes . data . backups . url = outFileName ;
81+ } catch {
82+ spin . fail ( ) ;
8683 }
84+ }
8785
88- print . table ( makeTable ( apiRes . data . backups ) , {
89- format : "lean" ,
90- } ) ;
91- }
86+ print . table ( makeTable ( apiRes . data . backups ) , {
87+ format : "lean" ,
88+ } ) ;
9289 }
9390 }
9491} ;
0 commit comments