@getjones/test-infra 1.1.2 → 1.1.4

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getjones/test-infra",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "Providing internal and openapi interface",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
package/src/env.js CHANGED
@@ -1,9 +1,12 @@
1
1
  let privateMembers = {
2
2
  backendUrl: null,
3
3
  openapiUrl: null,
4
+ nodeBackendUrl: null,
4
5
  credentials: null,
5
6
  environment: null,
6
7
  accountCreationSecret: null,
8
+ threadSchedulerSecret: null,
9
+ nodeBackendSecret: null
7
10
  };
8
11
 
9
12
  const init = conf => {
@@ -11,6 +14,7 @@ const init = conf => {
11
14
  requiredValidation({
12
15
  backendUrl: privateMembers.backendUrl,
13
16
  openapiUrl: privateMembers.openapiUrl,
17
+ nodeBackendUrl: privateMembers.nodeBackendUrl,
14
18
  environment: privateMembers.environment
15
19
  });
16
20
  };
package/src/index.js CHANGED
@@ -4,7 +4,9 @@ const init = conf => {
4
4
  env.init(conf);
5
5
  const internalAPI = getInternalAPI();
6
6
  const openAPI = getOpenAPI();
7
- return { internalAPI, openAPI };
7
+ const threadScheduler = require('./saas/thread-scheduler/runner');
8
+
9
+ return { internalAPI, openAPI, threadScheduler };
8
10
  };
9
11
 
10
12
  const getInternalAPI = () => {
@@ -19,6 +21,7 @@ const getInternalAPI = () => {
19
21
 
20
22
  const coi = require('./saas/internal-api/coi');
21
23
  const compliance = require('./saas/internal-api/compliance');
24
+ const users = require('./saas/internal-api/users');
22
25
 
23
26
  const reports = require('./saas/internal-api/reports');
24
27
 
@@ -31,7 +34,8 @@ const getInternalAPI = () => {
31
34
  contractors,
32
35
  coi,
33
36
  compliance,
34
- reports
37
+ reports,
38
+ users,
35
39
  };
36
40
 
37
41
  return internalAPI;
@@ -0,0 +1,17 @@
1
+ const requests = require('../../../../openapi/common/requests');
2
+ const { nodeBackendUrl, nodeBackendSecret } = require('../../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ ocrToCoverage: `${nodeBackendUrl}/compliance/convert/ocr-to-coverage`,
6
+ requirement: `${nodeBackendUrl}/compliance/convert/requirement`
7
+ };
8
+
9
+ const convertOcrToCoverage = async ocrData => {
10
+ return requests.postRequestHandler(Endpoints.ocrToCoverage, nodeBackendSecret, ocrData);
11
+ };
12
+
13
+ const convertRequirement = async oldRequirement => {
14
+ return requests.postRequestHandler(Endpoints.requirement, nodeBackendSecret, oldRequirement);
15
+ };
16
+
17
+ module.exports = { convertOcrToCoverage, convertRequirement };
@@ -0,0 +1,11 @@
1
+ const convertApi = require('./convert.api');
2
+
3
+ const convertOcrToCoverage = async ocrData => {
4
+ return convertApi.convertOcrToCoverage(ocrData).then(res => res && res.data);
5
+ };
6
+
7
+ const convertRequirement = async requirement => {
8
+ return convertApi.convertRequirement(requirement).then(res => res && res.data);
9
+ };
10
+
11
+ module.exports = { convertOcrToCoverage, convertRequirement };
@@ -0,0 +1,17 @@
1
+ const requests = require('../../../common/requests');
2
+ const { nodeBackendUrl } = require('../../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ saveCoverage: `${nodeBackendUrl}/coverage`,
6
+ getCoverageByCoiId: coiId => `${nodeBackendUrl}/coverage/${coiId}`
7
+ };
8
+
9
+ const saveCoverage = async (coverage, context) => {
10
+ return requests.postRequestHandler(Endpoints.saveCoverage, coverage, context);
11
+ };
12
+
13
+ const getCoverageByCoiId = async (coiId, context) => {
14
+ return requests.getRequestHandler(Endpoints.getCoverageByCoiId(coiId), {}, context);
15
+ };
16
+
17
+ module.exports = { saveCoverage, getCoverageByCoiId };
@@ -0,0 +1,11 @@
1
+ const coverageApi = require('./coverage.api');
2
+
3
+ const saveCoverage = async (coverage, context) => {
4
+ return coverageApi.saveCoverage(coverage, context);
5
+ };
6
+
7
+ const getCoverageByCoiId = async (coiId, context) => {
8
+ return coverageApi.getCoverageByCoiId(coiId, context).then(res => res && res.data);
9
+ };
10
+
11
+ module.exports = { saveCoverage, getCoverageByCoiId };
@@ -4,7 +4,15 @@ const auditServices = require('./api/audit/audit.setup');
4
4
  const waiveModels = require('./models/waive/waive.model');
5
5
  const waiveServices = require('./api/waive/waive.setup');
6
6
 
7
+ const convertServices = require('./api/convert/convert.setup');
8
+ const coverageServices = require('./api/coverage/coverage.setup');
9
+
7
10
  const models = { audit: auditModels, waive: waiveModels };
8
- const services = { audit: auditServices, waive: waiveServices };
11
+ const services = {
12
+ audit: auditServices,
13
+ waive: waiveServices,
14
+ convert: convertServices,
15
+ coverage: coverageServices
16
+ };
9
17
 
10
18
  module.exports = { services, models };
@@ -8,6 +8,8 @@ const Endpoints = {
8
8
  delete: contractorId => `${backendUrl}/saas/contractor/${contractorId}`,
9
9
  archive: contractorId => `${backendUrl}/saas/contractor/${contractorId}/archive`,
10
10
  restore: contractorId => `${backendUrl}/saas/contractor/${contractorId}/restore`,
11
+ edit: contractorId => `${backendUrl}/saas/contractors/${contractorId}/update`,
12
+ updateVendorExpiryDate: contractorId => `${backendUrl}/_saas/automation/contractor/${contractorId}/expiry-date`
11
13
  };
12
14
 
13
15
  const createContractors = async (createContractorModel, context) => {
@@ -34,11 +36,23 @@ const restoreByContractorId = async (contractorId, context) => {
34
36
  return requests.postRequestHandler(Endpoints.restore(contractorId), {}, context);
35
37
  };
36
38
 
39
+ const editContractor = async (editContractorModel, context) => {
40
+ const params = { updateInfoUser: 'EditVendor' };
41
+ return requests.postRequestHandler(Endpoints.edit(editContractorModel.contractorId), editContractorModel, context, {}, params).then(res => res.data);
42
+ };
43
+
44
+ const updateExpiryDate = async (contractorId, expiryDate, policyName) => {
45
+ const data = { [policyName]: expiryDate };
46
+ return requests.postRequestHandler(Endpoints.updateVendorExpiryDate(contractorId), data);
47
+ };
48
+
37
49
  module.exports = {
38
50
  createContractors,
39
51
  getContractorsByAccountId,
40
52
  getContractorById,
41
53
  deleteByContractorId,
42
54
  archiveByContractorId,
43
- restoreByContractorId
55
+ restoreByContractorId,
56
+ editContractor,
57
+ updateExpiryDate
44
58
  };
@@ -1,6 +1,8 @@
1
1
  const contractorsAPI = require('./contractors.api');
2
2
  const { CreateContractorModel } = require('../models/create.contractor.model');
3
+ const { ContractorModel } = require('../models/edit.contractor.model');
3
4
  const { validateType } = require('../../../../common/validations/typeValidations');
5
+ const requests = require('../../common/requests');
4
6
 
5
7
  const createContractors = async (createContractorsModel, context) => {
6
8
  validateType(createContractorsModel, CreateContractorModel);
@@ -30,11 +32,23 @@ const archiveByContractorId = (contractorId, context) => {
30
32
  const restoreByContractorId = (contractorId, context) => {
31
33
  return contractorsAPI.restoreByContractorId(contractorId, context);
32
34
  };
35
+
36
+ const editContractor = async (editContractorModel, context) => {
37
+ validateType(editContractorModel, ContractorModel);
38
+ return contractorsAPI.editContractor(editContractorModel, context);
39
+ };
40
+
41
+ const updateExpiryDate = async (contractorId, expiryDate, policyName) => {
42
+ return contractorsAPI.updateExpiryDate(contractorId, expiryDate, policyName);
43
+ };
44
+
33
45
  module.exports = {
34
46
  createContractors,
35
47
  getContractorsByAccountId,
36
48
  getContractorById,
37
49
  deleteByContractorId,
38
50
  archiveByContractorId,
39
- restoreByContractorId
51
+ restoreByContractorId,
52
+ editContractor,
53
+ updateExpiryDate
40
54
  };
@@ -1,6 +1,7 @@
1
1
  const createModel = require('./models/create.contractor.model');
2
+ const editModel = require('./models/edit.contractor.model');
2
3
  const services = require('./api/contractors.setup');
3
4
 
4
- const models = { create: createModel };
5
+ const models = { create: createModel, edit:editModel };
5
6
 
6
7
  module.exports = { services, models };
@@ -11,10 +11,11 @@ function CreateContractorModel(requirementId, inviterEmail, vendorsInfo) {
11
11
  vendorsInfo && validateType(vendorsInfo[0], ContractorInfo);
12
12
  }
13
13
 
14
- function ContractorInfo(email, companyName) {
14
+ function ContractorInfo(email, companyName, additionalEmails) {
15
15
  this.email = email;
16
16
  this.companyName = companyName;
17
17
  this.title = email;
18
+ this.additionalEmails = additionalEmails;
18
19
  }
19
20
 
20
21
  module.exports = { CreateContractorModel, ContractorInfo };
@@ -0,0 +1,25 @@
1
+ const { validateType } = require('../../../../common/validations/typeValidations');
2
+
3
+ function ContractorModel(contractorId, company, emailAddress, tab, tenantRecord, additionalEmails) {
4
+ this.contractorId = contractorId;
5
+ this.company = company;
6
+ this.emailAddress = emailAddress;
7
+ this.tab = tab;
8
+ this.tenantRecord = tenantRecord;
9
+ this.additionalEmails = additionalEmails;
10
+
11
+ validateType(tenantRecord, TenantRecordModel);
12
+ validateType(tab, VendorTabModel);
13
+ }
14
+
15
+ function TenantRecordModel(id, companyName, emailAddress) {
16
+ this.id = id;
17
+ this.companyName = companyName;
18
+ this.emailAddress = emailAddress;
19
+ }
20
+
21
+ function VendorTabModel(type){
22
+ this.type = type;
23
+ }
24
+
25
+ module.exports = { ContractorModel, TenantRecordModel, VendorTabModel };
@@ -14,9 +14,11 @@ const getTabsByProjectId = async (projectId, context) => {
14
14
  return tabsAPI.getTabsByProjectId(projectId, context);
15
15
  };
16
16
 
17
- const getTabsByName = async (projectId, tabName, context) => {
17
+ const getTabsByName = async (projectId, tabName, context,{ tabType }={}) => {
18
18
  const tabs = await tabsAPI.getTabsByProjectId(projectId, context);
19
- const requestedTab = tabs.find(tab => tab.tabName === tabName);
19
+ const requestedTab = tabType?
20
+ tabs.find(tab => tab.tabName === tabName && tab.type === tabType):
21
+ tabs.find(tab => tab.tabName === tabName);
20
22
  return requestedTab;
21
23
  };
22
24
 
@@ -0,0 +1,29 @@
1
+ const requests = require('../../common/requests');
2
+ const { backendUrl } = require('../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ invite: projectId => `${backendUrl}/saas/project/${projectId}/team-member`,
6
+ getByProjectId: projectId => `${backendUrl}/saas/project/${projectId}/team-members`,
7
+ getByEmail: email => `${backendUrl}/saas/team-member/by-email/${email}`,
8
+ delete: userId => `${backendUrl}/saas/users/${userId}`,
9
+ };
10
+
11
+ const invite = async (projectId, invitedUser, context) => {
12
+ return requests.putRequestHandler(Endpoints.invite(projectId), invitedUser, context).then(
13
+ res => res.data
14
+ );
15
+ };
16
+
17
+ const getUsersByProjectId = async (projectId, context) => {
18
+ return requests.getRequestHandler(Endpoints.getByProjectId(projectId), null, context).then(res => res.data);
19
+ };
20
+
21
+ const getUserByEmail = async (email, context) => {
22
+ return requests.getRequestHandler(Endpoints.getByEmail(email), null, context).then(res => res.data);
23
+ };
24
+
25
+ const deleteUser = async (userId, context) => {
26
+ return requests.deleteRequestHandler(Endpoints.delete(userId), context);
27
+ };
28
+
29
+ module.exports = { invite, getUsersByProjectId, getUserByEmail, deleteUser };
@@ -0,0 +1,19 @@
1
+ const inviteUserAPI = require('./invite.api');
2
+
3
+ const invite = async (projectId, invitedUser, context) => {
4
+ return inviteUserAPI.invite(projectId, invitedUser, context);
5
+ };
6
+
7
+ const getUsersByProjectId = async (projectId, context) => {
8
+ return inviteUserAPI.getUsersByProjectId(projectId, context);
9
+ };
10
+
11
+ const getUserByEmail = async (email, context) => {
12
+ return inviteUserAPI.getUserByEmail(email, context);
13
+ };
14
+
15
+ const deleteUser = (userId, context) => {
16
+ return inviteUserAPI.deleteUser(userId, context);
17
+ };
18
+
19
+ module.exports = { invite, getUsersByProjectId, getUserByEmail, deleteUser };
@@ -0,0 +1,3 @@
1
+ const services = require('./api/invite.setup');
2
+
3
+ module.exports = { services };
@@ -0,0 +1,17 @@
1
+ const requests = require('../internal-api/common/requests');
2
+ const { backendUrl, threadSchedulerSecret } = require('../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ run: `${backendUrl}/threadSchedular/${threadSchedulerSecret}`
6
+ };
7
+
8
+ const runThreadScheduler = ({ contractorIds = null } = {}) => {
9
+ if (contractorIds) {
10
+ contractorIds = contractorIds.reduce((f, s) => `${f},${s}`);
11
+ }
12
+
13
+ const params = { contractorIdsList: contractorIds };
14
+ return requests.getRequestHandler(Endpoints.run, params);
15
+ };
16
+
17
+ module.exports = { runThreadScheduler };