11const workerUtils = require ( '../utils/utils' ) ;
22const validator = require ( 'validator' ) ;
3- const mongo = require ( '../utils/mongo' ) ;
43const invalidJobDef = new Error ( 'job not valid' ) ;
54const invalidEnvironment = new Error (
65 'environment variables missing for jobtype'
@@ -14,22 +13,6 @@ function safeString(stringToCheck) {
1413 return validator . isAscii ( stringToCheck ) ;
1514}
1615
17- // retrieve the target map to upload to fastly
18- async function getTargetMap ( ) {
19- return mongo . getDochubArray ( ) ;
20- }
21-
22- async function filtermap ( map ) {
23- let filteredMap = [ ] ;
24- map . forEach ( element => {
25- let page = 'https://dochub.mongodb.org/core/' + element . name ;
26- if ( workerUtils . validateUrl ( page ) ) {
27- filteredMap . push ( element ) ;
28- }
29- } ) ;
30- return filteredMap ;
31- }
32-
3316function safePublishDochub ( currentJob ) {
3417 if (
3518 ! currentJob ||
@@ -67,7 +50,7 @@ async function runPublishDochub(currentJob) {
6750 ! currentJob . payload ||
6851 ! currentJob . payload . source ||
6952 ! currentJob . payload . target ||
70- ! currentJob . payload . email
53+ ! currentJob . email
7154 ) {
7255 workerUtils . logInMongo (
7356 currentJob ,
@@ -76,35 +59,27 @@ async function runPublishDochub(currentJob) {
7659 throw invalidJobDef ;
7760 }
7861
79- let map = await getTargetMap ( ) ;
80- if ( map === undefined ) {
81- console . log ( 'no docs in map' ) ;
82- workerUtils . logInMongo (
83- currentJob ,
84- `${ '(DOCHUB)' . padEnd ( 15 ) } failed due to no targets defined`
85- ) ;
86- throw invalidJobDef ;
87- }
62+ let map = {
63+ 'source' : currentJob . payload . source ,
64+ 'target' : currentJob . payload . target
65+ } ;
8866
89- map = await filtermap ( map ) ;
9067 if ( map === undefined ) {
9168 workerUtils . logInMongo (
9269 currentJob ,
93- `${ '(DOCHUB)' . padEnd ( 15 ) } failed due to no valid targets`
70+ `${ '(DOCHUB)' . padEnd ( 15 ) } failed due to no targets defined `
9471 ) ;
9572 throw invalidJobDef ;
9673 }
97-
98- const job = new FastlyJob ( currentJob ) ;
99- await job . connectAndUpsert ( map ) . catch ( err => {
100- console . log ( 'could not complete map' ) ;
74+
75+ const initFastly = new FastlyJob ( currentJob ) ;
76+ await initFastly . connectAndUpsert ( map ) . then ( ) . catch ( err => {
10177 workerUtils . logInMongo ( currentJob , `could not complete map ${ err } ` ) ;
78+ throw invalidEnvironment ;
10279 } ) ;
10380}
10481
10582module . exports = {
10683 runPublishDochub,
107- safePublishDochub,
108- filtermap,
109- getTargetMap
84+ safePublishDochub
11085} ;
0 commit comments