@getjones/test-infra 1.3.501 → 1.4.1
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/package.json +1 -1
- package/src/common/validations/typeValidations.js +7 -1
- package/src/index.js +4 -4
- package/src/saas/internal-api/accounts/api/settings/{settings.setup.js → settings.service.js} +1 -1
- package/src/saas/internal-api/accounts/index.js +5 -4
- package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +0 -2
- package/src/saas/internal-api/accounts/utils/utils.js +32 -0
- package/src/saas/internal-api/auth/api/{auth.setup.js → auth.service.js} +5 -5
- package/src/saas/internal-api/auth/index.js +1 -1
- package/src/saas/internal-api/coi/consts/uploaderTypes.js +7 -0
- package/src/saas/internal-api/coi/index.js +11 -4
- package/src/saas/internal-api/coi/utils/utils.js +48 -0
- package/src/saas/internal-api/compliance/index.js +6 -11
- package/src/saas/internal-api/contractors/api/contractors.api.js +3 -3
- package/src/saas/internal-api/contractors/api/{contractors.setup.js → contractors.service.js} +5 -3
- package/src/saas/internal-api/contractors/index.js +3 -2
- package/src/saas/internal-api/contractors/models/verification.contractor.model.js +33 -0
- package/src/saas/internal-api/globalRecord/api/global.record.api.js +10 -4
- package/src/saas/internal-api/globalRecord/api/{global.record.setup.js → global.record.service.js} +8 -3
- package/src/saas/internal-api/globalRecord/index.js +2 -2
- package/src/saas/internal-api/globalRecord/models/global.record.model.js +3 -1
- package/src/saas/internal-api/globalRecord/utils/util.js +55 -33
- package/src/saas/internal-api/homepageCharts/index.js +1 -1
- package/src/saas/internal-api/projects/api/core/{projects.setup.js → projects.service.js} +19 -20
- package/src/saas/internal-api/projects/consts/defaultProject.js +3 -0
- package/src/saas/internal-api/projects/index.js +8 -3
- package/src/saas/internal-api/projects/models/core/create.project.model.js +18 -3
- package/src/saas/internal-api/projects/models/core/update.project.model.js +20 -3
- package/src/saas/internal-api/projects/utils/utils.js +61 -0
- package/src/saas/internal-api/recordNotes/index.js +3 -0
- package/src/saas/internal-api/reports/index.js +1 -1
- package/src/saas/internal-api/requirements/index.js +1 -1
- package/src/saas/internal-api/tabs/index.js +1 -1
- package/src/saas/internal-api/users/index.js +1 -1
- package/src/saas/internal-api/vendorProfile/index.js +3 -0
- package/src/saas/openapi/requirements/index.js +1 -1
- package/tests/validation.test.js +42 -0
- /package/src/saas/internal-api/accounts/api/core/{accounts.core.setup.js → accounts.core.service.js} +0 -0
- /package/src/saas/internal-api/accounts/api/openapi/{accounts.openapi.setup.js → accounts.openapi.service.js} +0 -0
- /package/src/saas/internal-api/coi/api/{coi.setup.js → coi.service.js} +0 -0
- /package/src/saas/internal-api/compliance/api/audit/{audit.setup.js → audit.service.js} +0 -0
- /package/src/saas/internal-api/compliance/api/convert/{convert.setup.js → convert.service.js} +0 -0
- /package/src/saas/internal-api/compliance/api/coverage/{coverage.setup.js → coverage.service.js} +0 -0
- /package/src/saas/internal-api/compliance/api/waive/{waive.setup.js → waive.service.js} +0 -0
- /package/src/saas/internal-api/homepageCharts/api/{charts.setup.js → charts.service.js} +0 -0
- /package/src/saas/internal-api/projects/api/settings/{project.settings.setup.js → project.settings.service.js} +0 -0
- /package/src/saas/internal-api/recordNotes/api/{record.notes.setup.js → record.notes.service.js} +0 -0
- /package/src/saas/internal-api/reports/api/{reports.setup.js → reports.service.js} +0 -0
- /package/src/saas/internal-api/requirements/api/{requirements.setup.js → requirements.service.js} +0 -0
- /package/src/saas/internal-api/tabs/api/{tabs.setup.js → tabs.service.js} +0 -0
- /package/src/saas/internal-api/users/api/{users.setup.js → users.service.js} +0 -0
- /package/src/saas/internal-api/vendorProfile/api/{vendor.profile.setup.js → vendor.profile.service.js} +0 -0
- /package/src/saas/openapi/accounts/{accounts.setup.js → accounts.service.js} +0 -0
- /package/src/saas/openapi/contractors/{contractors.setup.js → contractors.service.js} +0 -0
- /package/src/saas/openapi/projects/{projects.setup.js → projects.service.js} +0 -0
- /package/src/saas/openapi/requirements/{requirements.setup.js → requirements.service.js} +0 -0
- /package/src/saas/openapi/tabs/{tabs.setup.js → tabs.service.js} +0 -0
package/package.json
CHANGED
|
@@ -4,4 +4,10 @@ const validateType = (input, expectedType) => {
|
|
|
4
4
|
}
|
|
5
5
|
};
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
const validateDateString = dateString => {
|
|
8
|
+
if (isNaN(Date.parse(dateString))) {
|
|
9
|
+
throw TypeError(`Invalid date string '${dateString}'`);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
module.exports = { validateType, validateDateString };
|
package/src/index.js
CHANGED
|
@@ -49,10 +49,10 @@ const getInternalAPI = () => {
|
|
|
49
49
|
};
|
|
50
50
|
|
|
51
51
|
const getOpenAPI = () => {
|
|
52
|
-
const accounts = require('./saas/openapi/accounts/accounts.
|
|
53
|
-
const tabs = require('./saas/openapi/tabs/tabs.
|
|
54
|
-
const contractors = require('./saas/openapi/contractors/contractors.
|
|
55
|
-
const projects = require('./saas/openapi/projects/projects.
|
|
52
|
+
const accounts = require('./saas/openapi/accounts/accounts.service');
|
|
53
|
+
const tabs = require('./saas/openapi/tabs/tabs.service');
|
|
54
|
+
const contractors = require('./saas/openapi/contractors/contractors.service');
|
|
55
|
+
const projects = require('./saas/openapi/projects/projects.service');
|
|
56
56
|
const requirements = require('./saas/openapi/requirements');
|
|
57
57
|
const openAPI = { accounts, tabs, contractors, projects, requirements };
|
|
58
58
|
return openAPI;
|
package/src/saas/internal-api/accounts/api/settings/{settings.setup.js → settings.service.js}
RENAMED
|
@@ -12,7 +12,7 @@ const updateAccountSettings = (updateAccountSettingsModel, context) => {
|
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
const restoreAccountSettings = (accountId, context) => {
|
|
15
|
-
const updateAccountSettingsModel = new UpdateAccountSettingsModel(accountId, false, false, false
|
|
15
|
+
const updateAccountSettingsModel = new UpdateAccountSettingsModel(accountId, false, false, false);
|
|
16
16
|
return accountsAPI.updateAccountSettings(updateAccountSettingsModel, context);
|
|
17
17
|
};
|
|
18
18
|
|
|
@@ -5,10 +5,11 @@ const UpdateAccountSettingsModel = require('./models/settings/update.settings.mo
|
|
|
5
5
|
const settingsModels = { UpdateAccountSettingsModel };
|
|
6
6
|
|
|
7
7
|
const models = { core: coreModels, settings: settingsModels };
|
|
8
|
+
const utils = require('./utils/utils');
|
|
8
9
|
|
|
9
|
-
const coreService = require('./api/core/accounts.core.
|
|
10
|
-
const openApiServices = require('./api/openapi/accounts.openapi.
|
|
11
|
-
const settingsServices = require('./api/settings/settings.
|
|
10
|
+
const coreService = require('./api/core/accounts.core.service');
|
|
11
|
+
const openApiServices = require('./api/openapi/accounts.openapi.service');
|
|
12
|
+
const settingsServices = require('./api/settings/settings.service');
|
|
12
13
|
|
|
13
14
|
const services = {
|
|
14
15
|
core: coreService,
|
|
@@ -16,4 +17,4 @@ const services = {
|
|
|
16
17
|
settings: settingsServices
|
|
17
18
|
};
|
|
18
19
|
|
|
19
|
-
module.exports = { services, models };
|
|
20
|
+
module.exports = { services, models, utils };
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
class UpdateAccountSettingsModel {
|
|
2
2
|
constructor(
|
|
3
3
|
accountId,
|
|
4
|
-
isMultiPropertyTenants,
|
|
5
4
|
isHighPriority,
|
|
6
5
|
hasAnalyticsDashboard,
|
|
7
6
|
isExcludedFromNetwork
|
|
8
7
|
) {
|
|
9
8
|
this.accountId = accountId;
|
|
10
|
-
this.isMultiPropertyTenants = isMultiPropertyTenants;
|
|
11
9
|
this.isHighPriority = isHighPriority;
|
|
12
10
|
this.hasAnalyticsDashboard = hasAnalyticsDashboard;
|
|
13
11
|
this.isExcludedFromNetwork = isExcludedFromNetwork;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const coreService = require('../api/core/accounts.core.service');
|
|
2
|
+
const CreateAccountModel = require('../models/core/create.account.model');
|
|
3
|
+
|
|
4
|
+
const getOrCreateAccount = (context, accountName, email, { password, type } = {}) => {
|
|
5
|
+
const createAccountModel = new CreateAccountModel(
|
|
6
|
+
accountName,
|
|
7
|
+
email,
|
|
8
|
+
password,
|
|
9
|
+
propertyType = type
|
|
10
|
+
);
|
|
11
|
+
return coreService.getOrCreateAccount(createAccountModel, context);
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const createAccount = async (context, accountName, email, { password, type } = {}) => {
|
|
15
|
+
const createAccountModel = new CreateAccountModel(
|
|
16
|
+
accountName,
|
|
17
|
+
email,
|
|
18
|
+
password,
|
|
19
|
+
propertyType = type
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
const response = await coreService.createAccount(createAccountModel, context);
|
|
23
|
+
return response.data;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const deleteAccountByName = async (context, accountName) => {
|
|
27
|
+
const existingAccount = await coreService.getAccount(accountName, context);
|
|
28
|
+
|
|
29
|
+
return existingAccount && coreService.deleteAccountById(existingAccount.userId, context);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
module.exports = { getOrCreateAccount, createAccount, deleteAccountByName };
|
|
@@ -4,8 +4,8 @@ const authApi = require('./auth.api');
|
|
|
4
4
|
|
|
5
5
|
const getAuthCookie = async (email, password) => {
|
|
6
6
|
try {
|
|
7
|
-
const
|
|
8
|
-
const authCookie =
|
|
7
|
+
const response = await authApi.login(email, password);
|
|
8
|
+
const authCookie = response.headers['set-cookie'].find(item => item.startsWith('JonesToken='));
|
|
9
9
|
|
|
10
10
|
return authCookie;
|
|
11
11
|
} catch (error) {
|
|
@@ -13,7 +13,7 @@ const getAuthCookie = async (email, password) => {
|
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
15
|
|
|
16
|
-
const getIcsCookie =
|
|
16
|
+
const getIcsCookie = () => {
|
|
17
17
|
requiredValidation({
|
|
18
18
|
'credentials.superUser': credentials.superUser,
|
|
19
19
|
'credentials.superUserPassword': credentials.superUserPassword
|
|
@@ -21,7 +21,7 @@ const getIcsCookie = async () => {
|
|
|
21
21
|
return getAuthCookie(credentials.superUser, credentials.superUserPassword);
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
-
const getAuditorCookie =
|
|
24
|
+
const getAuditorCookie = () => {
|
|
25
25
|
const { auditorUser, auditorPassword } = credentials;
|
|
26
26
|
requiredValidation({
|
|
27
27
|
'credentials.auditorUser': auditorUser,
|
|
@@ -30,7 +30,7 @@ const getAuditorCookie = async () => {
|
|
|
30
30
|
return getAuthCookie(auditorUser, auditorPassword);
|
|
31
31
|
};
|
|
32
32
|
|
|
33
|
-
const getOperatorCookie =
|
|
33
|
+
const getOperatorCookie = () => {
|
|
34
34
|
const { operatorUser, operatorPassword } = credentials;
|
|
35
35
|
requiredValidation({
|
|
36
36
|
'credentials.operatorUser': operatorUser,
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
const
|
|
2
|
-
const services = require('./api/coi.setup');
|
|
1
|
+
const services = require('./api/coi.service');
|
|
3
2
|
|
|
4
|
-
const models = {
|
|
3
|
+
const models = {
|
|
4
|
+
submit: require('./models/submit.coi.model')
|
|
5
|
+
};
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
const utils = require('./utils/utils');
|
|
8
|
+
|
|
9
|
+
const consts = {
|
|
10
|
+
UPLOADER_TYPES: require('./consts/uploaderTypes')
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
module.exports = { services, models, utils, consts };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
|
|
3
|
+
const services = require('../api/coi.service');
|
|
4
|
+
const { SubmitCoiModel } = require('../models/submit.coi.model');
|
|
5
|
+
|
|
6
|
+
const uploadFileToStorage = (recordId, filePath) => {
|
|
7
|
+
const fileData = fs.createReadStream(filePath);
|
|
8
|
+
return services.uploadToS3(recordId, fileData);
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const submitCoiFilesUpload = (recordId, fileIds, uploaderType, uploaderEmail) => {
|
|
12
|
+
const submitCoiModel = new SubmitCoiModel(
|
|
13
|
+
recordId,
|
|
14
|
+
fileIds,
|
|
15
|
+
uploaderType,
|
|
16
|
+
uploaderEmail
|
|
17
|
+
);
|
|
18
|
+
return services.submitCoi(submitCoiModel);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const uploadCoi = async (
|
|
22
|
+
recordId,
|
|
23
|
+
filePath,
|
|
24
|
+
uploaderType,
|
|
25
|
+
uploaderEmail,
|
|
26
|
+
{
|
|
27
|
+
markAsScaned, // Should be passed with context
|
|
28
|
+
context
|
|
29
|
+
} = {}
|
|
30
|
+
) => {
|
|
31
|
+
const uploadResponse = await uploadFileToStorage(recordId, filePath);
|
|
32
|
+
const fileId = uploadResponse.data.fileId;
|
|
33
|
+
|
|
34
|
+
const submitResponse = fileId && await submitCoiFilesUpload(recordId, [fileId], uploaderType, uploaderEmail);
|
|
35
|
+
const uploadedCoi = !!submitResponse.data.fileName && { id: fileId, name: submitResponse.data.fileName };
|
|
36
|
+
|
|
37
|
+
if (uploadedCoi.name && markAsScaned && context) {
|
|
38
|
+
await services.completeScan(recordId, uploadedCoi.name, context);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return uploadedCoi;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
module.exports = {
|
|
45
|
+
uploadCoi,
|
|
46
|
+
uploadFileToStorage,
|
|
47
|
+
submitCoiFilesUpload
|
|
48
|
+
};
|
|
@@ -1,27 +1,22 @@
|
|
|
1
1
|
const auditModels = require('./models/audit/audit.model');
|
|
2
|
-
const auditServices = require('./api/audit/audit.
|
|
2
|
+
const auditServices = require('./api/audit/audit.service');
|
|
3
3
|
|
|
4
4
|
const waiveModels = require('./models/waive/waive.model');
|
|
5
|
-
const waiveServices = require('./api/waive/waive.
|
|
5
|
+
const waiveServices = require('./api/waive/waive.service');
|
|
6
6
|
|
|
7
|
-
const convertServices = require('./api/convert/convert.
|
|
8
|
-
const coverageServices = require('./api/coverage/coverage.
|
|
9
|
-
|
|
10
|
-
const globalRecordModels = require('../globalRecord/models/global.record.model');
|
|
11
|
-
const globalRecordServices = require('../globalRecord/api/global.record.setup');
|
|
7
|
+
const convertServices = require('./api/convert/convert.service');
|
|
8
|
+
const coverageServices = require('./api/coverage/coverage.service');
|
|
12
9
|
|
|
13
10
|
const models = {
|
|
14
11
|
audit: auditModels,
|
|
15
|
-
waive: waiveModels
|
|
16
|
-
globalRecord: globalRecordModels
|
|
12
|
+
waive: waiveModels
|
|
17
13
|
};
|
|
18
14
|
|
|
19
15
|
const services = {
|
|
20
16
|
audit: auditServices,
|
|
21
17
|
waive: waiveServices,
|
|
22
18
|
convert: convertServices,
|
|
23
|
-
coverage: coverageServices
|
|
24
|
-
globalRecord: globalRecordServices
|
|
19
|
+
coverage: coverageServices
|
|
25
20
|
};
|
|
26
21
|
|
|
27
22
|
module.exports = { services, models };
|
|
@@ -35,8 +35,8 @@ const archiveByContractorId = (contractorId, context) => {
|
|
|
35
35
|
return requests.deleteRequestHandler(Endpoints.archive(contractorId), context);
|
|
36
36
|
};
|
|
37
37
|
|
|
38
|
-
const
|
|
39
|
-
return requests.postRequestHandler(Endpoints.restore(contractorId),
|
|
38
|
+
const restoreContractor = (recordVerificationModel, context) => {
|
|
39
|
+
return requests.postRequestHandler(Endpoints.restore(recordVerificationModel.contractorId), recordVerificationModel, context);
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
const editContractor = (editContractorModel, context) => {
|
|
@@ -75,7 +75,7 @@ module.exports = {
|
|
|
75
75
|
getContractorById,
|
|
76
76
|
deleteByContractorId,
|
|
77
77
|
archiveByContractorId,
|
|
78
|
-
|
|
78
|
+
restoreContractor,
|
|
79
79
|
editContractor,
|
|
80
80
|
updateExpiryDate,
|
|
81
81
|
assignMptToProperties,
|
package/src/saas/internal-api/contractors/api/{contractors.setup.js → contractors.service.js}
RENAMED
|
@@ -2,6 +2,7 @@ const contractorsAPI = require('./contractors.api');
|
|
|
2
2
|
const { CreateContractorModel } = require('../models/create.contractor.model');
|
|
3
3
|
const { ContractorModel, MptModel } = require('../models/edit.contractor.model');
|
|
4
4
|
const { validateType } = require('../../../../common/validations/typeValidations');
|
|
5
|
+
const { RecordModifyDateVerificationModel } = require('../models/verification.contractor.model');
|
|
5
6
|
|
|
6
7
|
const createContractor = async (createContractorModel, context) => {
|
|
7
8
|
validateType(createContractorModel, CreateContractorModel);
|
|
@@ -28,8 +29,9 @@ const archiveByContractorId = (contractorId, context) => {
|
|
|
28
29
|
return contractorsAPI.archiveByContractorId(contractorId, context);
|
|
29
30
|
};
|
|
30
31
|
|
|
31
|
-
const
|
|
32
|
-
|
|
32
|
+
const restoreContractor = (recordVerificationModel, context) => {
|
|
33
|
+
validateType(recordVerificationModel, RecordModifyDateVerificationModel);
|
|
34
|
+
return contractorsAPI.restoreContractor(recordVerificationModel, context);
|
|
33
35
|
};
|
|
34
36
|
|
|
35
37
|
const editContractor = (editContractorModel, context) => {
|
|
@@ -60,7 +62,7 @@ module.exports = {
|
|
|
60
62
|
getContractorById,
|
|
61
63
|
deleteByContractorId,
|
|
62
64
|
archiveByContractorId,
|
|
63
|
-
|
|
65
|
+
restoreContractor,
|
|
64
66
|
editContractor,
|
|
65
67
|
updateExpiryDate,
|
|
66
68
|
getContractorsByTabId,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
const createModel = require('./models/create.contractor.model');
|
|
2
2
|
const editModel = require('./models/edit.contractor.model');
|
|
3
|
-
const
|
|
3
|
+
const verificationModel = require('./models/verification.contractor.model');
|
|
4
|
+
const services = require('./api/contractors.service');
|
|
4
5
|
|
|
5
|
-
const models = { create: createModel, edit: editModel };
|
|
6
|
+
const models = { create: createModel, edit: editModel, verification: verificationModel };
|
|
6
7
|
|
|
7
8
|
module.exports = { services, models };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
const { validateDateString } = require('../../../../common/validations/typeValidations');
|
|
2
|
+
|
|
3
|
+
class RecordModifyDateVerificationModel {
|
|
4
|
+
constructor(
|
|
5
|
+
contractorId,
|
|
6
|
+
contractorDateModified,
|
|
7
|
+
{
|
|
8
|
+
contractorOverrideDateModified,
|
|
9
|
+
requirementId,
|
|
10
|
+
requirementDateModified
|
|
11
|
+
} = {}
|
|
12
|
+
) {
|
|
13
|
+
validateDateString(contractorDateModified);
|
|
14
|
+
|
|
15
|
+
if (contractorOverrideDateModified) {
|
|
16
|
+
validateDateString(contractorOverrideDateModified);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
if (requirementId) {
|
|
20
|
+
validateDateString(requirementDateModified);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
this.contractorId = contractorId;
|
|
24
|
+
this.contractorDateModified = contractorDateModified;
|
|
25
|
+
this.contractorOverrideDateModified = contractorOverrideDateModified;
|
|
26
|
+
this.requirementId = requirementId;
|
|
27
|
+
this.requirementDateModified = requirementDateModified;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
module.exports = {
|
|
32
|
+
RecordModifyDateVerificationModel
|
|
33
|
+
};
|
|
@@ -12,7 +12,8 @@ const Endpoints = {
|
|
|
12
12
|
updateGlobalRecord: id => `${nodeBackendUrl}/global-record/id/${id}`,
|
|
13
13
|
getRecordProfileDetails: id => `${nodeBackendUrl}/global-record/record-profile/id/${id}`,
|
|
14
14
|
getGlobalRecordByPolicyNumber: policyNumber => `${nodeBackendUrl}/global-record/policyNumber/${policyNumber}`,
|
|
15
|
-
publishGlobalRecord: `${backendUrl}/saas/global-record/publish
|
|
15
|
+
publishGlobalRecord: `${backendUrl}/saas/global-record/publish`,
|
|
16
|
+
getGlobalRecordLinkedRequests: id => `${backendUrl}/saas/global-record/${id}/linked-requests`
|
|
16
17
|
};
|
|
17
18
|
|
|
18
19
|
const getGlobalRecord = async (id, nodeBackendSecret) => {
|
|
@@ -27,8 +28,8 @@ const getAllGlobalRecords = async (data, pageNumber, itemsInPage, context) => {
|
|
|
27
28
|
return cookieAuthRequests.postRequestHandler(Endpoints.getAllGlobalRecords(pageNumber, itemsInPage), data, context);
|
|
28
29
|
};
|
|
29
30
|
|
|
30
|
-
const deleteGlobalRecord = async (id, nodeBackendSecret) => {
|
|
31
|
-
return apiKeyAuthRequests.deleteRequestHandler(Endpoints.deleteGlobalRecord(id), nodeBackendSecret);
|
|
31
|
+
const deleteGlobalRecord = async (id, nodeBackendSecret, globalRecordModel) => {
|
|
32
|
+
return apiKeyAuthRequests.deleteRequestHandler(Endpoints.deleteGlobalRecord(id), nodeBackendSecret, {}, {}, globalRecordModel);
|
|
32
33
|
};
|
|
33
34
|
|
|
34
35
|
const updateGlobalRecord = async (id, nodeBackendSecret, updatedGlobalRecord) => {
|
|
@@ -51,6 +52,10 @@ const getGlobalRecordByPolicyNumber = async (policyNumber, nodeBackendSecret) =>
|
|
|
51
52
|
return apiKeyAuthRequests.getRequestHandler(Endpoints.getGlobalRecordByPolicyNumber(policyNumber), nodeBackendSecret);
|
|
52
53
|
};
|
|
53
54
|
|
|
55
|
+
const getGlobalRecordLinkedRequests = async (id, context) => {
|
|
56
|
+
return cookieAuthRequests.getRequestHandler(Endpoints.getGlobalRecordLinkedRequests(id), {}, context);
|
|
57
|
+
};
|
|
58
|
+
|
|
54
59
|
module.exports = {
|
|
55
60
|
createGlobalRecord,
|
|
56
61
|
getGlobalRecord,
|
|
@@ -60,5 +65,6 @@ module.exports = {
|
|
|
60
65
|
updateGlobalRecord,
|
|
61
66
|
getRecordProfileDetails,
|
|
62
67
|
getGlobalRecordByPolicyNumber,
|
|
63
|
-
publishGlobalRecord
|
|
68
|
+
publishGlobalRecord,
|
|
69
|
+
getGlobalRecordLinkedRequests
|
|
64
70
|
};
|
package/src/saas/internal-api/globalRecord/api/{global.record.setup.js → global.record.service.js}
RENAMED
|
@@ -40,8 +40,8 @@ const getGlobalRecordServiceAreas = async context => {
|
|
|
40
40
|
return globalRecordAPI.getGlobalRecordServiceAreas(context);
|
|
41
41
|
};
|
|
42
42
|
|
|
43
|
-
const deleteGlobalRecord = async id => {
|
|
44
|
-
return globalRecordAPI.deleteGlobalRecord(id, nodeBackendSecret);
|
|
43
|
+
const deleteGlobalRecord = async (id, globalRecordModel) => {
|
|
44
|
+
return globalRecordAPI.deleteGlobalRecord(id, nodeBackendSecret, globalRecordModel);
|
|
45
45
|
};
|
|
46
46
|
|
|
47
47
|
const updateGlobalRecord = async (id, updatedGlobalRecordModel) => {
|
|
@@ -56,6 +56,10 @@ const publishGlobalRecord = async (globalRecordDetails, context) => {
|
|
|
56
56
|
return globalRecordAPI.publishGlobalRecord(globalRecordDetails, context);
|
|
57
57
|
};
|
|
58
58
|
|
|
59
|
+
const getGlobalRecordLinkedRequests = async (id, context) => {
|
|
60
|
+
return globalRecordAPI.getGlobalRecordLinkedRequests(id, context);
|
|
61
|
+
};
|
|
62
|
+
|
|
59
63
|
module.exports = {
|
|
60
64
|
createGlobalRecord,
|
|
61
65
|
getGlobalRecordById,
|
|
@@ -68,5 +72,6 @@ module.exports = {
|
|
|
68
72
|
updateGlobalRecord,
|
|
69
73
|
getRecordProfileDetails,
|
|
70
74
|
getGlobalRecordByPolicyNumber,
|
|
71
|
-
publishGlobalRecord
|
|
75
|
+
publishGlobalRecord,
|
|
76
|
+
getGlobalRecordLinkedRequests
|
|
72
77
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const models = require('
|
|
2
|
-
const services = require('
|
|
1
|
+
const models = require('./models/global.record.model');
|
|
2
|
+
const services = require('./api/global.record.service');
|
|
3
3
|
const consts = require('./consts');
|
|
4
4
|
const utils = require('./utils/util');
|
|
5
5
|
|
|
@@ -14,7 +14,8 @@ class CreateGlobalRecordModel {
|
|
|
14
14
|
serviceAreas,
|
|
15
15
|
primaryEmail,
|
|
16
16
|
dba,
|
|
17
|
-
lastPublishUserName
|
|
17
|
+
lastPublishUserName,
|
|
18
|
+
__v
|
|
18
19
|
} = {}
|
|
19
20
|
) {
|
|
20
21
|
this.id = id;
|
|
@@ -31,6 +32,7 @@ class CreateGlobalRecordModel {
|
|
|
31
32
|
this.primaryEmail = primaryEmail;
|
|
32
33
|
this.dba = dba;
|
|
33
34
|
this.lastPublishUserName = lastPublishUserName;
|
|
35
|
+
this.__v = __v;
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
38
|
|
|
@@ -1,51 +1,61 @@
|
|
|
1
|
-
const globalRecordServices = require('../api/global.record.
|
|
1
|
+
const globalRecordServices = require('../api/global.record.service');
|
|
2
2
|
const globalRecordModels = require('../models/global.record.model');
|
|
3
3
|
|
|
4
4
|
const { CreateGlobalRecordModel } = globalRecordModels;
|
|
5
5
|
const { createGlobalRecord, getAllGlobalRecordsInPage } = globalRecordServices;
|
|
6
6
|
|
|
7
|
-
const {
|
|
7
|
+
const {
|
|
8
|
+
getCapitalLetterUnicodeValueList,
|
|
9
|
+
getUniqueNumber
|
|
10
|
+
} = require('../../../../common/utils/numberUtils');
|
|
8
11
|
|
|
9
12
|
const { SERVICE_AREAS } = require('../consts');
|
|
10
13
|
|
|
11
|
-
const createGlobalRecordConfig = (
|
|
14
|
+
const createGlobalRecordConfig = (
|
|
15
|
+
name,
|
|
16
|
+
{ stateIndex, glPolicyNumbers } = {}
|
|
17
|
+
) => {
|
|
12
18
|
const serviceArea = getServiceAreaByIndex(stateIndex || 0);
|
|
13
19
|
const uniqueNumbers = glPolicyNumbers || getUniqueNumber();
|
|
14
20
|
const emailBase = name.replace(/\s+/g, '').toLowerCase();
|
|
15
21
|
return {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
'
|
|
24
|
-
'
|
|
25
|
-
'
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
header: `${name}Header`,
|
|
23
|
+
recordName: `${name}Name`,
|
|
24
|
+
additionalContacts: [
|
|
25
|
+
`${emailBase}@additional1.jon`,
|
|
26
|
+
`${emailBase}@additional2.jon`
|
|
27
|
+
],
|
|
28
|
+
brokerEmails: [`${emailBase}@broker1.jon`, `${emailBase}@broker2.jon`],
|
|
29
|
+
expirationDate: '2030-12-09',
|
|
30
|
+
publishDate: '',
|
|
31
|
+
lastPublishUserName: '',
|
|
32
|
+
glPolicyNumbers: [uniqueNumbers.toString()],
|
|
33
|
+
numberOfAssociatedRequests: 0,
|
|
34
|
+
numberOfFilledMandatory: 0,
|
|
35
|
+
dba: '',
|
|
36
|
+
primaryEmail: '',
|
|
37
|
+
serviceAreas: [getServiceArea(serviceArea)],
|
|
38
|
+
__v: 0
|
|
31
39
|
};
|
|
32
40
|
};
|
|
33
41
|
|
|
34
42
|
const getServiceArea = state => {
|
|
35
43
|
return {
|
|
36
|
-
|
|
37
|
-
|
|
44
|
+
city: `${state}TestCity`,
|
|
45
|
+
state: state
|
|
38
46
|
};
|
|
39
47
|
};
|
|
40
48
|
|
|
41
|
-
const createGlobalRecordConfigs = (
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
49
|
+
const createGlobalRecordConfigs = (
|
|
50
|
+
nameList,
|
|
51
|
+
{ stateIndexes, glPolicyNumbers } = {}
|
|
52
|
+
) => {
|
|
53
|
+
return nameList.map((name, index) =>
|
|
54
|
+
createGlobalRecordConfig(name, {
|
|
45
55
|
stateIndex: stateIndexes ? stateIndexes[index] : index,
|
|
46
56
|
glPolicyNumbers: glPolicyNumbers ? glPolicyNumbers[index] : null
|
|
47
|
-
}
|
|
48
|
-
)
|
|
57
|
+
})
|
|
58
|
+
);
|
|
49
59
|
};
|
|
50
60
|
|
|
51
61
|
const createGlobalRecordModel = config => {
|
|
@@ -64,7 +74,8 @@ const createGlobalRecordModel = config => {
|
|
|
64
74
|
serviceAreas: config.serviceAreas,
|
|
65
75
|
primaryEmail: config.primaryEmail,
|
|
66
76
|
dba: config.dba,
|
|
67
|
-
lastPublishUserName: config.lastPublishUserName
|
|
77
|
+
lastPublishUserName: config.lastPublishUserName,
|
|
78
|
+
__v: config.__v
|
|
68
79
|
}
|
|
69
80
|
);
|
|
70
81
|
};
|
|
@@ -81,18 +92,24 @@ const getCreateRandomGlobalRecordModels = nameList => {
|
|
|
81
92
|
const createGlobalRecords = async (globalRecordModelList, context) => {
|
|
82
93
|
const newGlobalRecodDetailsList = new Array();
|
|
83
94
|
for (globalRecordModel of globalRecordModelList) {
|
|
84
|
-
const newGlobalRecordDetails = await createGlobalRecord(
|
|
95
|
+
const newGlobalRecordDetails = await createGlobalRecord(
|
|
96
|
+
globalRecordModel,
|
|
97
|
+
context
|
|
98
|
+
);
|
|
85
99
|
newGlobalRecodDetailsList.push(newGlobalRecordDetails);
|
|
86
100
|
}
|
|
87
101
|
|
|
88
102
|
return newGlobalRecodDetailsList;
|
|
89
103
|
};
|
|
90
104
|
|
|
91
|
-
const
|
|
105
|
+
const getGlobalRecordsByNumberOfPages = async (numberOfPages, context) => {
|
|
92
106
|
const allGlobalRecords = new Array();
|
|
93
107
|
|
|
94
108
|
for (let pageNumber = 1; pageNumber <= numberOfPages; pageNumber++) {
|
|
95
|
-
const allGlobalRecordsInPage = await getAllGlobalRecordsInPage(
|
|
109
|
+
const allGlobalRecordsInPage = await getAllGlobalRecordsInPage(
|
|
110
|
+
pageNumber,
|
|
111
|
+
context
|
|
112
|
+
);
|
|
96
113
|
allGlobalRecords.push(allGlobalRecordsInPage);
|
|
97
114
|
}
|
|
98
115
|
|
|
@@ -104,11 +121,16 @@ const getServiceAreaByIndex = stateIndex => {
|
|
|
104
121
|
};
|
|
105
122
|
|
|
106
123
|
const getGlobalRecordsDefaultNameList = (nameBase, listLength) => {
|
|
107
|
-
const letterUnicodeValueList = getCapitalLetterUnicodeValueList({
|
|
124
|
+
const letterUnicodeValueList = getCapitalLetterUnicodeValueList({
|
|
125
|
+
listLength
|
|
126
|
+
});
|
|
108
127
|
|
|
109
128
|
//How much times same letter will appear in one index on the array
|
|
110
129
|
const repeatTimes = 4;
|
|
111
|
-
return letterUnicodeValueList.map(
|
|
130
|
+
return letterUnicodeValueList.map(
|
|
131
|
+
unicode =>
|
|
132
|
+
`${nameBase} ${String.fromCharCode(unicode).repeat(repeatTimes)}`
|
|
133
|
+
);
|
|
112
134
|
};
|
|
113
135
|
|
|
114
136
|
module.exports = {
|
|
@@ -119,6 +141,6 @@ module.exports = {
|
|
|
119
141
|
createGlobalRecordModels,
|
|
120
142
|
getCreateRandomGlobalRecordModels,
|
|
121
143
|
getGlobalRecordsDefaultNameList,
|
|
122
|
-
|
|
144
|
+
getGlobalRecordsByNumberOfPages,
|
|
123
145
|
getServiceArea
|
|
124
146
|
};
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
const projectsApi = require('./projects.api');
|
|
2
|
-
const accounts = require('../../../accounts/api/core/accounts.core.setup');
|
|
3
2
|
const { validateType } = require('../../../../../common/validations/typeValidations');
|
|
4
3
|
const CreateProjectModel = require('../../models/core/create.project.model');
|
|
5
4
|
const UpdateProjectModel = require('../../models/core/update.project.model');
|
|
6
5
|
|
|
7
|
-
const getProjectsByAccountName = async (accountName, context) => {
|
|
8
|
-
const accountId = await accounts.getAccountId(accountName, context);
|
|
9
|
-
return getProjectsByAccountId(accountId, context);
|
|
10
|
-
};
|
|
11
|
-
|
|
12
6
|
const getProjectsByAccountId = (accountId, context) => {
|
|
13
7
|
return projectsApi.getProjectsByAccountId(accountId, context);
|
|
14
8
|
};
|
|
@@ -17,15 +11,21 @@ const getProjectByProjectId = (projectId, context) => {
|
|
|
17
11
|
return projectsApi.getProjectByProjectId(projectId, context);
|
|
18
12
|
};
|
|
19
13
|
|
|
20
|
-
const
|
|
14
|
+
const getProjectByName = async (accountId, projectName, context) => {
|
|
21
15
|
const { data: projects } = await getProjectsByAccountId(accountId, context);
|
|
22
|
-
const
|
|
23
|
-
return
|
|
16
|
+
const requestedProject = projects.find(project => project.projectName === projectName);
|
|
17
|
+
return requestedProject ? requestedProject : null;
|
|
24
18
|
};
|
|
25
19
|
|
|
26
20
|
const deleteProjectByName = async (accountId, projectName, context) => {
|
|
27
|
-
const projects = await
|
|
28
|
-
projects.
|
|
21
|
+
const { data: projects } = await getProjectsByAccountId(accountId, context);
|
|
22
|
+
const filteredProjects = projects.filter(project => project.projectName === projectName);
|
|
23
|
+
|
|
24
|
+
await Promise.all(
|
|
25
|
+
filteredProjects.map(
|
|
26
|
+
async project => await projectsApi.deleteProjectById(project.projectId, context)
|
|
27
|
+
)
|
|
28
|
+
);
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
const createProject = (createProjectModel, context) => {
|
|
@@ -34,14 +34,14 @@ const createProject = (createProjectModel, context) => {
|
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
const getOrCreateProject = async (createProjectModel, context) => {
|
|
37
|
-
let
|
|
37
|
+
let project = await getProjectByName(createProjectModel.userId, createProjectModel.projectName, context);
|
|
38
38
|
|
|
39
|
-
if (!
|
|
39
|
+
if (!project) {
|
|
40
40
|
await createProject(createProjectModel, context);
|
|
41
|
-
|
|
41
|
+
project = await getProjectByName(createProjectModel.userId, createProjectModel.projectName, context);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
return
|
|
44
|
+
return project;
|
|
45
45
|
};
|
|
46
46
|
|
|
47
47
|
const updateProject = (updateProjectModel, context) => {
|
|
@@ -50,12 +50,11 @@ const updateProject = (updateProjectModel, context) => {
|
|
|
50
50
|
};
|
|
51
51
|
|
|
52
52
|
module.exports = {
|
|
53
|
-
|
|
53
|
+
getOrCreateProject,
|
|
54
54
|
getProjectsByAccountId,
|
|
55
|
+
getProjectByProjectId,
|
|
56
|
+
getProjectByName,
|
|
55
57
|
createProject,
|
|
56
58
|
deleteProjectByName,
|
|
57
|
-
|
|
58
|
-
updateProject,
|
|
59
|
-
getProjectsByName,
|
|
60
|
-
getProjectByProjectId
|
|
59
|
+
updateProject
|
|
61
60
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const projectService = require('./api/core/projects.
|
|
2
|
-
const projectSettingsService = require('./api/settings/project.settings.
|
|
1
|
+
const projectService = require('./api/core/projects.service');
|
|
2
|
+
const projectSettingsService = require('./api/settings/project.settings.service');
|
|
3
3
|
const CreateProjectModel = require('./models/core/create.project.model');
|
|
4
4
|
const UpdateProjectModel = require('./models/core/update.project.model');
|
|
5
5
|
const UpdateProjectSettingsModel = require('./models/settings/update.project.settings.model');
|
|
@@ -16,4 +16,9 @@ const models = {
|
|
|
16
16
|
settings: settingsModels
|
|
17
17
|
};
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
const utils = require('./utils/utils');
|
|
20
|
+
const consts = {
|
|
21
|
+
DEFAULT_PROJECT: require('./consts/defaultProject')
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
module.exports = { models, services, utils, consts };
|
|
@@ -1,6 +1,21 @@
|
|
|
1
|
-
function CreateProjectModel(
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
function CreateProjectModel(
|
|
2
|
+
accountId,
|
|
3
|
+
name,
|
|
4
|
+
description,
|
|
5
|
+
address,
|
|
6
|
+
number,
|
|
7
|
+
startDate,
|
|
8
|
+
endDate,
|
|
9
|
+
city,
|
|
10
|
+
state,
|
|
11
|
+
zipCode,
|
|
12
|
+
companyNameForProject,
|
|
13
|
+
certificateHolder = '',
|
|
14
|
+
additionalInsured = '',
|
|
15
|
+
tenantSolutionEnabled = 0,
|
|
16
|
+
onboardingEnabled = 0,
|
|
17
|
+
automaticRenewalEnabled = 0
|
|
18
|
+
) {
|
|
4
19
|
this.projectName = name;
|
|
5
20
|
this.userId = accountId;
|
|
6
21
|
this.regionOrDivision = description;
|
|
@@ -1,6 +1,23 @@
|
|
|
1
|
-
function UpdateProjectModel(
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
function UpdateProjectModel(
|
|
2
|
+
accountId,
|
|
3
|
+
projectId,
|
|
4
|
+
name,
|
|
5
|
+
description,
|
|
6
|
+
address,
|
|
7
|
+
number,
|
|
8
|
+
startDate,
|
|
9
|
+
endDate,
|
|
10
|
+
city,
|
|
11
|
+
state,
|
|
12
|
+
zipCode,
|
|
13
|
+
companyNameForProject,
|
|
14
|
+
certificateHolder = '',
|
|
15
|
+
additionalInsured = '',
|
|
16
|
+
tenantSolutionEnabled = 0,
|
|
17
|
+
onboardingEnabled = 0,
|
|
18
|
+
automaticRenewalEnabled = 0,
|
|
19
|
+
onboardedVendors = 0
|
|
20
|
+
) {
|
|
4
21
|
this.projectId = projectId;
|
|
5
22
|
this.projectName = name;
|
|
6
23
|
this.userId = accountId;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
const services = require('../api/core/projects.service');
|
|
2
|
+
|
|
3
|
+
const CreateProjectModel = require('../models/core/create.project.model');
|
|
4
|
+
const UpdateProjectModel = require('../models/core/update.project.model');
|
|
5
|
+
|
|
6
|
+
const { NAME: DEFAULT_PROJECT_NAME } = require('../consts/defaultProject');
|
|
7
|
+
|
|
8
|
+
const getDefaultProjectId = async (accountId, context) => {
|
|
9
|
+
const defaultProject = await services.getProjectByName(accountId, DEFAULT_PROJECT_NAME, context);
|
|
10
|
+
return defaultProject ? defaultProject.projectId : null;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const getOrCreateProject = (accountId, projectConfig, context) => {
|
|
14
|
+
const createProjectModel = getCreateProjectModel(accountId, projectConfig);
|
|
15
|
+
return services.getOrCreateProject(createProjectModel, context);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const getCreateProjectModel = (accountId, projectData) => {
|
|
19
|
+
const createProjectModel = new CreateProjectModel(
|
|
20
|
+
accountId,
|
|
21
|
+
projectData.name || projectData['Property Name'] || projectData['Project Name'],
|
|
22
|
+
projectData.description || projectData['Region/Division'] || 'N/A',
|
|
23
|
+
projectData.address || projectData['Address'] || 'N/A',
|
|
24
|
+
projectData.number || projectData['Property Number'] || projectData['Project Number'] || 'N/A',
|
|
25
|
+
projectData.startDate || projectData['Start Date'] || '01/01/2021',
|
|
26
|
+
projectData.endDate || projectData['End Date'] || '01/01/2021',
|
|
27
|
+
projectData.city || projectData['City'] || 'N/A',
|
|
28
|
+
projectData.state || projectData['State'] || 'Alabama',
|
|
29
|
+
projectData.zipCode || projectData['Zip Code'] || '11111',
|
|
30
|
+
projectData.companyNameForProject || projectData['Company Name (for external communications)']
|
|
31
|
+
);
|
|
32
|
+
return createProjectModel;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const getUpdateProjectModel = (accountId, projectId, projectData) => {
|
|
36
|
+
const updateProjectModel = new UpdateProjectModel(
|
|
37
|
+
accountId,
|
|
38
|
+
projectId,
|
|
39
|
+
projectData.name || projectData['Property Name'] || projectData['Project Name'],
|
|
40
|
+
projectData.description || projectData['Region/Division'],
|
|
41
|
+
projectData.address || projectData['Address'],
|
|
42
|
+
projectData.number || projectData['Property Number'] || projectData['Project Number'],
|
|
43
|
+
projectData.startDate || projectData['Start Date'],
|
|
44
|
+
projectData.endDate || projectData['End Date'],
|
|
45
|
+
projectData.city || projectData['City'],
|
|
46
|
+
projectData.state || projectData['State'],
|
|
47
|
+
projectData.zipCode || projectData['Zip Code'] || '11111',
|
|
48
|
+
projectData.companyNameForProject || projectData['Company Name (for external communications)']
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
return updateProjectModel;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
// combine the config handling in single func
|
|
55
|
+
|
|
56
|
+
module.exports = {
|
|
57
|
+
getOrCreateProject,
|
|
58
|
+
getDefaultProjectId,
|
|
59
|
+
getCreateProjectModel,
|
|
60
|
+
getUpdateProjectModel
|
|
61
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const { expect } = require('chai');;
|
|
2
|
+
|
|
3
|
+
const { validateDateString } = require('../src/common/validations/typeValidations');
|
|
4
|
+
const VALID_DATE_STRINGS = Object.freeze([
|
|
5
|
+
'2022-08-03T11:47:07.499Z',
|
|
6
|
+
'2022-08-03T14:16:27.000+0000'
|
|
7
|
+
|
|
8
|
+
]);
|
|
9
|
+
const INVALID_DATE_STRINGS = Object.freeze([
|
|
10
|
+
'2022-08-03T11:47:07.',
|
|
11
|
+
'2022-08-03T11:47:07.499Z1',
|
|
12
|
+
'2022-08-03T11:47:07.Z',
|
|
13
|
+
'2022-08-03T11:47:07.499Za',
|
|
14
|
+
'2022-0803T11:47:07.499Z',
|
|
15
|
+
'2022-08-03T100:47:07.499Z',
|
|
16
|
+
'2022-08-03T11:4:07.499Z',
|
|
17
|
+
'2022-08-03T11:47:7z.499Z',
|
|
18
|
+
'2022-08-03T11:47:07.a499Z',
|
|
19
|
+
'2022-0803T14:16:27.000+0000',
|
|
20
|
+
'2022-08-03T14:16:27.000+000a',
|
|
21
|
+
'2022-08-03T14:16:27.000+0000c',
|
|
22
|
+
'2022-08-0314:16:27.000+0000',
|
|
23
|
+
'2022-08-03x14:16:27.000+0000',
|
|
24
|
+
'2022-08-03a14:16:27.000+0000',
|
|
25
|
+
'2022-08-03T14:16:2.000+0000',
|
|
26
|
+
'asd1q2123'
|
|
27
|
+
|
|
28
|
+
]);
|
|
29
|
+
|
|
30
|
+
describe('Validation | Test Validation functions', function() {
|
|
31
|
+
it('Should validate date strings', () => {
|
|
32
|
+
for (const dateString of VALID_DATE_STRINGS) {
|
|
33
|
+
expect(() => validateDateString(dateString), `Expect string: '${dateString}' to pass date validation.`).to.not.throw(TypeError);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it('Should throw error for invalid date strings', () => {
|
|
38
|
+
for (const dateString of INVALID_DATE_STRINGS) {
|
|
39
|
+
expect(() => validateDateString(dateString), `Expect string: '${dateString}' to fail date validation.`).to.throw(TypeError);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
});
|
/package/src/saas/internal-api/accounts/api/core/{accounts.core.setup.js → accounts.core.service.js}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/src/saas/internal-api/compliance/api/convert/{convert.setup.js → convert.service.js}
RENAMED
|
File without changes
|
/package/src/saas/internal-api/compliance/api/coverage/{coverage.setup.js → coverage.service.js}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/src/saas/internal-api/recordNotes/api/{record.notes.setup.js → record.notes.service.js}
RENAMED
|
File without changes
|
|
File without changes
|
/package/src/saas/internal-api/requirements/api/{requirements.setup.js → requirements.service.js}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|