1
- const _ = require ( 'lodash' )
1
+ const _ = require ( 'lodash' ) ;
2
2
const axios = require ( 'axios' ) ;
3
3
const Promise = require ( 'bluebird' ) ;
4
4
5
5
if ( ! process . env . CONNECT_USER_TOKEN ) {
6
- console . error ( 'This script requires environment variable CONNECT_USER_TOKEN to be defined. Login to http://connect.topcoder-dev.com and get your user token from the requests headers.' )
6
+ console . error ( 'This script requires environment variable CONNECT_USER_TOKEN to be defined. Login to http://connect.topcoder-dev.com and get your user token from the requests headers.' ) ;
7
7
process . exit ( 1 ) ;
8
8
}
9
9
@@ -15,7 +15,7 @@ if (!process.env.CONNECT_USER_TOKEN) {
15
15
* @param {Object } o object
16
16
*/
17
17
function dummifyPrices ( o ) {
18
- Object . keys ( o ) . forEach ( function ( k ) {
18
+ Object . keys ( o ) . forEach ( ( k ) => {
19
19
if ( o [ k ] !== null && typeof o [ k ] === 'object' ) {
20
20
dummifyPrices ( o [ k ] ) ;
21
21
return ;
@@ -32,128 +32,120 @@ function dummifyPrices(o) {
32
32
// we need to know any logged in Connect user token to retrieve data from DEV
33
33
const CONNECT_USER_TOKEN = process . env . CONNECT_USER_TOKEN ;
34
34
35
- var url = 'https://api.topcoder-dev.com/v5/projects/metadata' ;
35
+ const url = 'https://api.topcoder-dev.com/v5/projects/metadata' ;
36
36
37
37
module . exports = ( targetUrl , token ) => {
38
- var destUrl = targetUrl + ' projects/' ;
39
- var destTimelines = targetUrl ;
38
+ const destUrl = ` ${ targetUrl } projects/` ;
39
+ const destTimelines = targetUrl ;
40
40
41
41
console . log ( 'Getting metadata from DEV environment...' ) ;
42
42
return axios . get ( url , {
43
43
headers : {
44
44
'Content-Type' : 'application/json' ,
45
- ' Authorization' : `Bearer ${ CONNECT_USER_TOKEN } `
46
- }
45
+ Authorization : `Bearer ${ CONNECT_USER_TOKEN } ` ,
46
+ } ,
47
47
} )
48
48
. catch ( ( err ) => {
49
49
const errMessage = _ . get ( err , 'response.data.message' ) ;
50
- throw errMessage ? new Error ( ' Error during obtaining data from DEV: ' + errMessage ) : err
50
+ throw errMessage ? new Error ( ` Error during obtaining data from DEV: ${ errMessage } ` ) : err ;
51
51
} )
52
- . then ( async function ( response ) {
53
- let data = response . data ;
54
- dummifyPrices ( data )
52
+ . then ( async ( response ) => {
53
+ const data = response . data ;
54
+ dummifyPrices ( data ) ;
55
55
56
56
console . log ( 'Creating metadata objects locally...' ) ;
57
57
58
- var headers = {
58
+ const headers = {
59
59
'Content-Type' : 'application/json' ,
60
- ' Authorization' : ' Bearer ' + token
61
- }
60
+ Authorization : ` Bearer ${ token } ` ,
61
+ } ;
62
62
63
- let promises
63
+ let promises ;
64
64
65
- promises = _ ( data . forms ) . orderBy ( [ 'key' , 'asc' ] , [ 'version' , 'asc' ] ) . map ( pt => {
65
+ promises = _ ( data . forms ) . orderBy ( [ 'key' , 'asc' ] , [ 'version' , 'asc' ] ) . map ( ( pt ) => {
66
66
const param = _ . omit ( pt , [ 'id' , 'version' , 'revision' , 'key' ] ) ;
67
67
return axios
68
- . post ( destUrl + ` metadata/form/${ pt . key } /versions`, param , { headers : headers } )
68
+ . post ( ` ${ destUrl } metadata/form/${ pt . key } /versions`, param , { headers } )
69
69
. catch ( ( err ) => {
70
70
const errMessage = _ . get ( err , 'response.data.message' , '' ) ;
71
- console . log ( `Failed to create form with key=${ pt . key } version=${ pt . version } .` , errMessage )
72
- } )
71
+ console . log ( `Failed to create form with key=${ pt . key } version=${ pt . version } .` , errMessage ) ;
72
+ } ) ;
73
73
} ) ;
74
74
75
75
await Promise . all ( promises ) ;
76
76
77
- promises = _ ( data . planConfigs ) . orderBy ( [ 'key' , 'asc' ] , [ 'version' , 'asc' ] ) . map ( pt => {
77
+ promises = _ ( data . planConfigs ) . orderBy ( [ 'key' , 'asc' ] , [ 'version' , 'asc' ] ) . map ( ( pt ) => {
78
78
const param = _ . omit ( pt , [ 'id' , 'version' , 'revision' , 'key' ] ) ;
79
79
return axios
80
- . post ( destUrl + ` metadata/planConfig/${ pt . key } /versions`, param , { headers : headers } )
80
+ . post ( ` ${ destUrl } metadata/planConfig/${ pt . key } /versions`, param , { headers } )
81
81
. catch ( ( err ) => {
82
82
const errMessage = _ . get ( err , 'response.data.message' , '' ) ;
83
- console . log ( `Failed to create planConfig with key=${ pt . key } version=${ pt . version } .` , errMessage )
84
- } )
83
+ console . log ( `Failed to create planConfig with key=${ pt . key } version=${ pt . version } .` , errMessage ) ;
84
+ } ) ;
85
85
} ) ;
86
86
87
87
await Promise . all ( promises ) ;
88
88
89
- promises = _ ( data . priceConfigs ) . orderBy ( [ 'key' , 'asc' ] , [ 'version' , 'asc' ] ) . map ( pt => {
89
+ promises = _ ( data . priceConfigs ) . orderBy ( [ 'key' , 'asc' ] , [ 'version' , 'asc' ] ) . map ( ( pt ) => {
90
90
const param = _ . omit ( pt , [ 'id' , 'version' , 'revision' , 'key' ] ) ;
91
91
return axios
92
- . post ( destUrl + ` metadata/priceConfig/${ pt . key } /versions`, param , { headers : headers } )
92
+ . post ( ` ${ destUrl } metadata/priceConfig/${ pt . key } /versions`, param , { headers } )
93
93
. catch ( ( err ) => {
94
94
const errMessage = _ . get ( err , 'response.data.message' , '' ) ;
95
- console . log ( `Failed to create priceConfig with key=${ pt . key } version=${ pt . version } .` , errMessage )
96
- } )
95
+ console . log ( `Failed to create priceConfig with key=${ pt . key } version=${ pt . version } .` , errMessage ) ;
96
+ } ) ;
97
97
} ) ;
98
98
99
99
await Promise . all ( promises ) ;
100
100
101
- promises = _ ( data . projectTypes ) . map ( pt => {
102
- return axios
103
- . post ( destUrl + 'metadata/projectTypes' , pt , { headers :headers } )
101
+ promises = _ ( data . projectTypes ) . map ( pt => axios
102
+ . post ( `${ destUrl } metadata/projectTypes` , pt , { headers } )
104
103
. catch ( ( err ) => {
105
104
const errMessage = _ . get ( err , 'response.data.message' , '' ) ;
106
- console . log ( `Failed to create projectType with key=${ pt . key } .` , errMessage )
107
- } )
108
- } ) ;
105
+ console . log ( `Failed to create projectType with key=${ pt . key } .` , errMessage ) ;
106
+ } ) ) ;
109
107
110
108
await Promise . all ( promises ) ;
111
109
112
- promises = _ ( data . productCategories ) . map ( pt => {
113
- return axios
114
- . post ( destUrl + 'metadata/productCategories' , pt , { headers :headers } )
110
+ promises = _ ( data . productCategories ) . map ( pt => axios
111
+ . post ( `${ destUrl } metadata/productCategories` , pt , { headers } )
115
112
. catch ( ( err ) => {
116
113
const errMessage = _ . get ( err , 'response.data.message' , '' ) ;
117
- console . log ( `Failed to create productCategory with key=${ pt . key } .` , errMessage )
118
- } )
119
- } ) ;
114
+ console . log ( `Failed to create productCategory with key=${ pt . key } .` , errMessage ) ;
115
+ } ) ) ;
120
116
121
117
await Promise . all ( promises ) ;
122
118
123
- promises = _ ( data . projectTemplates ) . map ( pt => {
124
- return axios
125
- . post ( destUrl + 'metadata/projectTemplates' , pt , { headers :headers } )
119
+ promises = _ ( data . projectTemplates ) . map ( pt => axios
120
+ . post ( `${ destUrl } metadata/projectTemplates` , pt , { headers } )
126
121
. catch ( ( err ) => {
127
122
const errMessage = _ . get ( err , 'response.data.message' , '' ) ;
128
- console . log ( `Failed to create projectTemplate with id=${ pt . id } .` , errMessage )
129
- } )
130
- } ) ;
123
+ console . log ( `Failed to create projectTemplate with id=${ pt . id } .` , errMessage ) ;
124
+ } ) ) ;
131
125
132
126
await Promise . all ( promises ) ;
133
127
134
- promises = _ ( data . productTemplates ) . map ( pt => {
135
- return axios
136
- . post ( destUrl + 'metadata/productTemplates' , pt , { headers :headers } )
128
+ promises = _ ( data . productTemplates ) . map ( pt => axios
129
+ . post ( `${ destUrl } metadata/productTemplates` , pt , { headers } )
137
130
. catch ( ( err ) => {
138
131
const errMessage = _ . get ( err , 'response.data.message' , '' ) ;
139
- console . log ( `Failed to create productTemplate with id=${ pt . id } .` , errMessage )
140
- } )
141
- } ) ;
132
+ console . log ( `Failed to create productTemplate with id=${ pt . id } .` , errMessage ) ;
133
+ } ) ) ;
142
134
143
135
await Promise . all ( promises ) ;
144
136
145
- await Promise . each ( data . milestoneTemplates , pt => (
137
+ await Promise . each ( data . milestoneTemplates , pt => (
146
138
axios
147
- . post ( destTimelines + ' timelines/metadata/milestoneTemplates' , pt , { headers : headers } )
139
+ . post ( ` ${ destTimelines } timelines/metadata/milestoneTemplates` , pt , { headers } )
148
140
. catch ( ( err ) => {
149
141
const errMessage = _ . get ( err , 'response.data.message' , '' ) ;
150
- console . log ( `Failed to create milestoneTemplate with id=${ pt . id } .` , errMessage )
142
+ console . log ( `Failed to create milestoneTemplate with id=${ pt . id } .` , errMessage ) ;
151
143
} )
152
144
) ) ;
153
145
154
146
// handle success
155
147
console . log ( 'Done metadata seed' ) ;
156
- } ) . catch ( err => {
148
+ } ) . catch ( ( err ) => {
157
149
console . error ( err && err . response ? err . response : err ) ;
158
150
} ) ;
159
- }
151
+ } ;
0 commit comments