sr-npm 1.7.418 → 1.7.419
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/backend/consts.js +12 -1
- package/backend/data.js +5 -4
- package/backend/fetchPositionsFromSRAPI.js +8 -15
- package/package.json +1 -1
package/backend/consts.js
CHANGED
|
@@ -73,6 +73,15 @@ const TASKS = {
|
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
|
|
76
|
+
const TEMPLATE_TYPE = {
|
|
77
|
+
INTERNAL: 'INTERNAL',
|
|
78
|
+
EXTERNAL: 'PUBLIC',
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
const TOKEN_NAME = {
|
|
82
|
+
COMPANY_ID: 'companyId',
|
|
83
|
+
SMART_TOKEN: 'x-smarttoken',
|
|
84
|
+
}
|
|
76
85
|
|
|
77
86
|
const TASK_TYPE = {
|
|
78
87
|
SCHEDULED: 'scheduled',
|
|
@@ -83,5 +92,7 @@ const TASK_TYPE = {
|
|
|
83
92
|
TASKS_NAMES,
|
|
84
93
|
TASK_TYPE,
|
|
85
94
|
TASKS,
|
|
86
|
-
QUERY_MAX_LIMIT
|
|
95
|
+
QUERY_MAX_LIMIT,
|
|
96
|
+
TEMPLATE_TYPE,
|
|
97
|
+
TOKEN_NAME
|
|
87
98
|
};
|
package/backend/data.js
CHANGED
|
@@ -4,6 +4,7 @@ const { createCollectionIfMissing } = require('@hisense-staging/velo-npm/backend
|
|
|
4
4
|
const { COLLECTIONS, COLLECTIONS_FIELDS,JOBS_COLLECTION_FIELDS } = require('./collectionConsts');
|
|
5
5
|
const { chunkedBulkOperation, countJobsPerGivenField, fillCityLocationAndLocationAddress ,prepareToSaveArray,normalizeCityName} = require('./utils');
|
|
6
6
|
const { getAllPositions } = require('./queries');
|
|
7
|
+
const{TEMPLATE_TYPE,TOKEN_NAME} = require('./consts');
|
|
7
8
|
const { getCompanyId, getSmartToken } = require('./secretsData');
|
|
8
9
|
|
|
9
10
|
function validatePosition(position) {
|
|
@@ -348,14 +349,14 @@ async function clearCollections() {
|
|
|
348
349
|
async function markTemplateAsExternal() {
|
|
349
350
|
await createCollectionIfMissing(COLLECTIONS.TEMPLATE_TYPE, COLLECTIONS_FIELDS.TEMPLATE_TYPE,null,'singleItem');
|
|
350
351
|
await wixData.save(COLLECTIONS.TEMPLATE_TYPE, {
|
|
351
|
-
templateType:
|
|
352
|
+
templateType: TEMPLATE_TYPE.EXTERNAL
|
|
352
353
|
});
|
|
353
354
|
}
|
|
354
355
|
|
|
355
356
|
async function markTemplateAsInternal() {
|
|
356
357
|
await createCollectionIfMissing(COLLECTIONS.TEMPLATE_TYPE, COLLECTIONS_FIELDS.TEMPLATE_TYPE,null,'singleItem');
|
|
357
358
|
await wixData.save(COLLECTIONS.TEMPLATE_TYPE, {
|
|
358
|
-
templateType:
|
|
359
|
+
templateType: TEMPLATE_TYPE.INTERNAL
|
|
359
360
|
});
|
|
360
361
|
}
|
|
361
362
|
|
|
@@ -364,14 +365,14 @@ async function fillSecretManagerMirror() {
|
|
|
364
365
|
const companyId = await getCompanyId();
|
|
365
366
|
console.log("companyId is : ", companyId);
|
|
366
367
|
await wixData.insert(COLLECTIONS.SECRET_MANAGER_MIRROR, {
|
|
367
|
-
tokenName:
|
|
368
|
+
tokenName: TOKEN_NAME.COMPANY_ID,
|
|
368
369
|
tokenValue: companyId.value
|
|
369
370
|
});
|
|
370
371
|
console.log("companyId inserted into the SecretManagerMirror collection");
|
|
371
372
|
try{
|
|
372
373
|
const token = await getSmartToken();
|
|
373
374
|
await wixData.insert(COLLECTIONS.SECRET_MANAGER_MIRROR, {
|
|
374
|
-
tokenName:
|
|
375
|
+
tokenName: TOKEN_NAME.SMART_TOKEN,
|
|
375
376
|
tokenValue: token.value
|
|
376
377
|
});
|
|
377
378
|
console.log("x-smarttoken inserted into the SecretManagerMirror collection");
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const { fetch } = require('wix-fetch');
|
|
2
2
|
const { items: wixData } = require('@wix/data');
|
|
3
3
|
const { COLLECTIONS } = require('./collectionConsts');
|
|
4
|
+
const { TEMPLATE_TYPE,TOKEN_NAME } = require('./consts');
|
|
4
5
|
|
|
5
6
|
async function makeSmartRecruitersRequest(path,templateType) {
|
|
6
7
|
const baseUrl = 'https://api.smartrecruiters.com';
|
|
@@ -14,8 +15,8 @@ async function makeSmartRecruitersRequest(path,templateType) {
|
|
|
14
15
|
'Cookie': 'AWSALB=GYltFw3fLKortMxHR5vIOT1CuUROyhWNIX/qL8ZnPl1/8mhOcnIsBKYslzmNJPEzSy/jvNbO+6tXpH8yqcpQJagYt57MhbKlLqTSzoNq1G/w7TjOxPGR3UTdXW0d; AWSALBCORS=GYltFw3fLKortMxHR5vIOT1CuUROyhWNIX/qL8ZnPl1/8mhOcnIsBKYslzmNJPEzSy/jvNbO+6tXpH8yqcpQJagYt57MhbKlLqTSzoNq1G/w7TjOxPGR3UTdXW0d'
|
|
15
16
|
};
|
|
16
17
|
//here is the only place where we check templateType
|
|
17
|
-
if (templateType ===
|
|
18
|
-
const smartToken = await
|
|
18
|
+
if (templateType === TEMPLATE_TYPE.INTERNAL) {
|
|
19
|
+
const smartToken = await getTokenFromCMS(TOKEN_NAME.SMART_TOKEN);
|
|
19
20
|
headers['x-smarttoken'] = smartToken;
|
|
20
21
|
}
|
|
21
22
|
const response = await fetch(fullUrl, {
|
|
@@ -105,21 +106,13 @@ async function fetchJobDescription(jobId) {
|
|
|
105
106
|
return await makeSmartRecruitersRequest(`/v1/companies/${companyId}/postings/${jobId}`,templateType);
|
|
106
107
|
}
|
|
107
108
|
|
|
108
|
-
async function getCompanyIdFromCMS() {
|
|
109
|
-
const result = await wixData.query(COLLECTIONS.SECRET_MANAGER_MIRROR).eq('tokenName','companyId').find();
|
|
110
|
-
if (result.items.length > 0) {
|
|
111
|
-
return result.items[0].tokenValue;
|
|
112
|
-
} else {
|
|
113
|
-
throw new Error('[getCompanyIdFromCMS], No companyId found');
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
109
|
|
|
117
|
-
async function
|
|
118
|
-
const result = await wixData.query(COLLECTIONS.SECRET_MANAGER_MIRROR).eq('tokenName',
|
|
110
|
+
async function getTokenFromCMS(tokenName) {
|
|
111
|
+
const result = await wixData.query(COLLECTIONS.SECRET_MANAGER_MIRROR).eq('tokenName',tokenName).find();
|
|
119
112
|
if (result.items.length > 0) {
|
|
120
113
|
return result.items[0].tokenValue;
|
|
121
114
|
} else {
|
|
122
|
-
throw new Error(
|
|
115
|
+
throw new Error(`[getTokenFromCMS], No ${tokenName} found`);
|
|
123
116
|
}
|
|
124
117
|
}
|
|
125
118
|
async function getTemplateTypeFromCMS() {
|
|
@@ -132,7 +125,7 @@ async function getTemplateTypeFromCMS() {
|
|
|
132
125
|
}
|
|
133
126
|
|
|
134
127
|
async function getApiKeys() {
|
|
135
|
-
const companyId = await
|
|
128
|
+
const companyId = await getTokenFromCMS(TOKEN_NAME.COMPANY_ID);
|
|
136
129
|
const templateType = await getTemplateTypeFromCMS();
|
|
137
130
|
return {companyId,templateType};
|
|
138
131
|
}
|
|
@@ -140,5 +133,5 @@ async function getApiKeys() {
|
|
|
140
133
|
module.exports = {
|
|
141
134
|
fetchPositionsFromSRAPI,
|
|
142
135
|
fetchJobDescription,
|
|
143
|
-
|
|
136
|
+
getTokenFromCMS
|
|
144
137
|
};
|