@@ -24,6 +24,7 @@ import {
24
24
import config from '../../config' ;
25
25
import { ModuleClassParams } from '../../types' ;
26
26
import BaseClass , { CustomPromiseHandler , CustomPromiseHandlerInput } from './base-class' ;
27
+ import { PROCESS_NAMES , MODULE_CONTEXTS , PROCESS_STATUS , MODULE_NAMES } from '../../utils' ;
27
28
28
29
export default class ExportAssets extends BaseClass {
29
30
private assetsRootPath : string ;
@@ -33,8 +34,8 @@ export default class ExportAssets extends BaseClass {
33
34
34
35
constructor ( { exportConfig, stackAPIClient } : ModuleClassParams ) {
35
36
super ( { exportConfig, stackAPIClient } ) ;
36
- this . exportConfig . context . module = 'assets' ;
37
- this . currentModuleName = 'Assets' ;
37
+ this . exportConfig . context . module = MODULE_CONTEXTS . ASSETS ;
38
+ this . currentModuleName = MODULE_NAMES [ MODULE_CONTEXTS . ASSETS ] ;
38
39
}
39
40
40
41
get commonQueryParam ( ) : Record < string , unknown > {
@@ -64,41 +65,59 @@ export default class ExportAssets extends BaseClass {
64
65
65
66
// Add sub-processes
66
67
if ( typeof assetsFolderCount === 'number' && assetsFolderCount > 0 ) {
67
- progress . addProcess ( 'Folders' , assetsFolderCount ) ;
68
+ progress . addProcess ( PROCESS_NAMES . ASSET_FOLDERS , assetsFolderCount ) ;
68
69
}
69
70
if ( typeof assetsCount === 'number' && assetsCount > 0 ) {
70
- progress . addProcess ( 'Metadata' , assetsCount ) ;
71
- progress . addProcess ( 'Downloads' , assetsCount ) ;
71
+ progress . addProcess ( PROCESS_NAMES . ASSET_METADATA , assetsCount ) ;
72
+ progress . addProcess ( PROCESS_NAMES . ASSET_DOWNLOADS , assetsCount ) ;
72
73
}
73
74
74
75
try {
75
76
// Process asset folders
76
77
if ( typeof assetsFolderCount === 'number' && assetsFolderCount > 0 ) {
77
- progress . startProcess ( 'Folders' ) . updateStatus ( 'Fetching folder structure...' , 'Folders' ) ;
78
+ progress
79
+ . startProcess ( PROCESS_NAMES . ASSET_FOLDERS )
80
+ . updateStatus (
81
+ PROCESS_STATUS [ PROCESS_NAMES . ASSET_FOLDERS ] . FETCHING ,
82
+ PROCESS_NAMES . ASSET_FOLDERS ,
83
+ ) ;
78
84
await this . getAssetsFolders ( assetsFolderCount ) ;
79
- progress . completeProcess ( 'Folders' , true ) ;
85
+ progress . completeProcess ( PROCESS_NAMES . ASSET_FOLDERS , true ) ;
80
86
}
81
87
82
88
// Process asset metadata
83
89
if ( typeof assetsCount === 'number' && assetsCount > 0 ) {
84
- progress . startProcess ( 'Metadata' ) . updateStatus ( 'Fetching asset information...' , 'Metadata' ) ;
90
+ progress
91
+ . startProcess ( PROCESS_NAMES . ASSET_METADATA )
92
+ . updateStatus (
93
+ PROCESS_STATUS [ PROCESS_NAMES . ASSET_METADATA ] . FETCHING ,
94
+ PROCESS_NAMES . ASSET_METADATA ,
95
+ ) ;
85
96
await this . getAssets ( assetsCount ) ;
86
- progress . completeProcess ( 'Metadata' , true ) ;
97
+ progress . completeProcess ( PROCESS_NAMES . ASSET_METADATA , true ) ;
87
98
}
88
99
89
100
// Get versioned assets
90
101
if ( ! isEmpty ( this . versionedAssets ) && this . assetConfig . includeVersionedAssets ) {
91
102
log . debug ( 'Fetching versioned assets metadata...' , this . exportConfig . context ) ;
92
- progress . updateStatus ( 'Processing versioned assets...' , 'Metadata' ) ;
103
+ progress . updateStatus (
104
+ PROCESS_STATUS [ PROCESS_NAMES . ASSET_METADATA ] . FETCHING_VERSION ,
105
+ PROCESS_NAMES . ASSET_METADATA ,
106
+ ) ;
93
107
await this . getVersionedAssets ( ) ;
94
108
}
95
109
96
110
// Download all assets
97
111
if ( typeof assetsCount === 'number' && assetsCount > 0 ) {
98
- progress . startProcess ( 'Downloads' ) . updateStatus ( 'Downloading asset files...' , 'Downloads' ) ;
112
+ progress
113
+ . startProcess ( PROCESS_NAMES . ASSET_DOWNLOADS )
114
+ . updateStatus (
115
+ PROCESS_STATUS [ PROCESS_NAMES . ASSET_DOWNLOADS ] . DOWNLOADING ,
116
+ PROCESS_NAMES . ASSET_DOWNLOADS ,
117
+ ) ;
99
118
log . debug ( 'Starting download of all assets...' , this . exportConfig . context ) ;
100
119
await this . downloadAssets ( ) ;
101
- progress . completeProcess ( 'Downloads' , true ) ;
120
+ progress . completeProcess ( PROCESS_NAMES . ASSET_DOWNLOADS , true ) ;
102
121
}
103
122
104
123
this . completeProgress ( true ) ;
@@ -128,13 +147,23 @@ export default class ExportAssets extends BaseClass {
128
147
if ( ! isEmpty ( items ) ) {
129
148
this . assetsFolder . push ( ...items ) ;
130
149
items . forEach ( ( folder : any ) => {
131
- this . progressManager ?. tick ( true , `folder: ${ folder . name || folder . uid } ` , null , 'Folders' ) ;
150
+ this . progressManager ?. tick (
151
+ true ,
152
+ `folder: ${ folder . name || folder . uid } ` ,
153
+ null ,
154
+ PROCESS_NAMES . ASSET_FOLDERS ,
155
+ ) ;
132
156
} ) ;
133
157
}
134
158
} ;
135
159
136
160
const onReject = ( { error } : any ) => {
137
- this . progressManager ?. tick ( false , 'asset folder' , error ?. message || 'Failed to fetch folder' , 'Folders' ) ;
161
+ this . progressManager ?. tick (
162
+ false ,
163
+ 'asset folder' ,
164
+ error ?. message || PROCESS_STATUS [ PROCESS_NAMES . ASSET_FOLDERS ] . FAILED ,
165
+ PROCESS_NAMES . ASSET_FOLDERS ,
166
+ ) ;
138
167
handleAndLogError ( error , { ...this . exportConfig . context } ) ;
139
168
} ;
140
169
@@ -197,7 +226,12 @@ export default class ExportAssets extends BaseClass {
197
226
}
198
227
199
228
const onReject = ( { error } : any ) => {
200
- this . progressManager ?. tick ( false , 'asset' , error ?. message || 'Failed to fetch asset' , 'Metadata' ) ;
229
+ this . progressManager ?. tick (
230
+ false ,
231
+ 'asset' ,
232
+ error ?. message || PROCESS_STATUS [ PROCESS_NAMES . ASSET_METADATA ] . FAILED ,
233
+ PROCESS_NAMES . ASSET_METADATA ,
234
+ ) ;
201
235
handleAndLogError ( error , { ...this . exportConfig . context } , messageHandler . parse ( 'ASSET_QUERY_FAILED' ) ) ;
202
236
} ;
203
237
@@ -219,7 +253,12 @@ export default class ExportAssets extends BaseClass {
219
253
fs ?. writeIntoFile ( items , { mapKeyVal : true } ) ;
220
254
// Track progress for each asset with process name
221
255
items . forEach ( ( asset : any ) => {
222
- this . progressManager ?. tick ( true , `asset: ${ asset . filename || asset . uid } ` , null , 'Metadata' ) ;
256
+ this . progressManager ?. tick (
257
+ true ,
258
+ `asset: ${ asset . filename || asset . uid } ` ,
259
+ null ,
260
+ PROCESS_NAMES . ASSET_METADATA ,
261
+ ) ;
223
262
} ) ;
224
263
}
225
264
} ;
@@ -418,7 +457,12 @@ export default class ExportAssets extends BaseClass {
418
457
} else {
419
458
data . pipe ( assetWriterStream ) ;
420
459
}
421
- this . progressManager ?. tick ( true , `Downloaded asset: ${ asset . filename || asset . uid } ` , null , 'Downloads' ) ;
460
+ this . progressManager ?. tick (
461
+ true ,
462
+ `Downloaded asset: ${ asset . filename || asset . uid } ` ,
463
+ null ,
464
+ PROCESS_NAMES . ASSET_DOWNLOADS ,
465
+ ) ;
422
466
log . success ( messageHandler . parse ( 'ASSET_DOWNLOAD_SUCCESS' , asset . filename , asset . uid ) , this . exportConfig . context ) ;
423
467
} ;
424
468
@@ -428,7 +472,7 @@ export default class ExportAssets extends BaseClass {
428
472
false ,
429
473
`Failed to download asset: ${ asset . filename || asset . uid } ` ,
430
474
null ,
431
- 'Downloads' ,
475
+ PROCESS_NAMES . ASSET_DOWNLOADS ,
432
476
) ;
433
477
handleAndLogError (
434
478
error ,
0 commit comments