@getjones/test-infra 2.1.2 → 2.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.
Files changed (135) hide show
  1. package/package.json +29 -29
  2. package/src/common/commonFlows/index.js +3 -3
  3. package/src/common/commonFlows/records/records.js +71 -71
  4. package/src/common/httpResponseStatusCodes.json +11 -11
  5. package/src/common/requests/apiKeyAuth/requests.js +38 -38
  6. package/src/common/requests/cookieAuth/requests.js +40 -40
  7. package/src/common/requests/requestHandlers.js +60 -60
  8. package/src/common/utils/dataTypeUtils.js +41 -0
  9. package/src/common/utils/numberUtils.js +22 -22
  10. package/src/common/utils/timeUtils.js +167 -162
  11. package/src/common/validations/errorValidation.js +16 -16
  12. package/src/common/validations/typeValidations.js +36 -36
  13. package/src/env.js +45 -45
  14. package/src/index.js +71 -69
  15. package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +28 -28
  16. package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +77 -77
  17. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +48 -48
  18. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +74 -74
  19. package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
  20. package/src/saas/internal-api/accounts/api/settings/settings.service.js +24 -24
  21. package/src/saas/internal-api/accounts/index.js +20 -20
  22. package/src/saas/internal-api/accounts/models/core/create.account.model.js +15 -15
  23. package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +23 -21
  24. package/src/saas/internal-api/accounts/utils/utils.js +32 -32
  25. package/src/saas/internal-api/auth/api/auth.api.js +18 -12
  26. package/src/saas/internal-api/auth/api/auth.service.js +75 -47
  27. package/src/saas/internal-api/auth/index.js +3 -3
  28. package/src/saas/internal-api/coi/api/coi.api.js +34 -34
  29. package/src/saas/internal-api/coi/api/coi.service.js +22 -22
  30. package/src/saas/internal-api/coi/consts/uploaderTypes.js +7 -7
  31. package/src/saas/internal-api/coi/index.js +13 -13
  32. package/src/saas/internal-api/coi/models/submit.coi.model.js +9 -9
  33. package/src/saas/internal-api/coi/utils/utils.js +48 -48
  34. package/src/saas/internal-api/compliance/api/audit/audit.api.js +41 -40
  35. package/src/saas/internal-api/compliance/api/audit/audit.service.js +151 -33
  36. package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
  37. package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
  38. package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
  39. package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +24 -24
  40. package/src/saas/internal-api/compliance/api/waive/waive.api.js +21 -21
  41. package/src/saas/internal-api/compliance/api/waive/waive.service.js +15 -15
  42. package/src/saas/internal-api/compliance/consts/audit.js +81 -81
  43. package/src/saas/internal-api/compliance/index.js +28 -28
  44. package/src/saas/internal-api/compliance/models/audit/audit.model.js +84 -84
  45. package/src/saas/internal-api/compliance/models/waive/waive.model.js +45 -45
  46. package/src/saas/internal-api/compliance/utils/util.js +173 -218
  47. package/src/saas/internal-api/contractors/api/contractors.api.js +141 -141
  48. package/src/saas/internal-api/contractors/api/contractors.service.js +123 -123
  49. package/src/saas/internal-api/contractors/index.js +8 -8
  50. package/src/saas/internal-api/contractors/models/create.contractor.model.js +22 -22
  51. package/src/saas/internal-api/contractors/models/edit.contractor.model.js +60 -60
  52. package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
  53. package/src/saas/internal-api/dashboardInnerPage/api/recordList.api.js +12 -0
  54. package/src/saas/internal-api/dashboardInnerPage/api/recordList.service.js +7 -0
  55. package/src/saas/internal-api/dashboardInnerPage/index.js +5 -0
  56. package/src/saas/internal-api/dashboardInnerPage/models/dashboard.filter.criteria.model.js +38 -0
  57. package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
  58. package/src/saas/internal-api/dbEmails/api/db.emails.service.js +127 -127
  59. package/src/saas/internal-api/dbEmails/consts/consts.js +3 -3
  60. package/src/saas/internal-api/dbEmails/index.js +4 -4
  61. package/src/saas/internal-api/dbEmails/models/db.emails.model.js +21 -21
  62. package/src/saas/internal-api/dbEmails/utils/util.js +59 -59
  63. package/src/saas/internal-api/globalRecord/api/global.record.api.js +76 -76
  64. package/src/saas/internal-api/globalRecord/api/global.record.service.js +83 -83
  65. package/src/saas/internal-api/globalRecord/consts.js +20 -20
  66. package/src/saas/internal-api/globalRecord/index.js +6 -6
  67. package/src/saas/internal-api/globalRecord/models/global.record.model.js +43 -43
  68. package/src/saas/internal-api/globalRecord/utils/util.js +148 -148
  69. package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
  70. package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
  71. package/src/saas/internal-api/homepageCharts/index.js +3 -3
  72. package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
  73. package/src/saas/internal-api/projects/api/core/projects.service.js +65 -65
  74. package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
  75. package/src/saas/internal-api/projects/api/settings/project.settings.service.js +17 -17
  76. package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
  77. package/src/saas/internal-api/projects/index.js +24 -24
  78. package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
  79. package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
  80. package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +39 -39
  81. package/src/saas/internal-api/projects/utils/utils.js +82 -82
  82. package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
  83. package/src/saas/internal-api/recordNotes/api/record.notes.service.js +29 -29
  84. package/src/saas/internal-api/recordNotes/index.js +3 -3
  85. package/src/saas/internal-api/reports/api/reports.api.js +39 -39
  86. package/src/saas/internal-api/reports/api/reports.service.js +34 -34
  87. package/src/saas/internal-api/reports/consts/consts.js +63 -63
  88. package/src/saas/internal-api/reports/index.js +15 -15
  89. package/src/saas/internal-api/reports/models/report.model.js +27 -27
  90. package/src/saas/internal-api/requests/api/requests.api.js +54 -54
  91. package/src/saas/internal-api/requests/api/requests.service.js +51 -51
  92. package/src/saas/internal-api/requests/index.js +14 -14
  93. package/src/saas/internal-api/requests/models/create.request.model.js +22 -22
  94. package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
  95. package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
  96. package/src/saas/internal-api/requests/utils.js +8 -8
  97. package/src/saas/internal-api/requirements/api/requirements.api.js +27 -27
  98. package/src/saas/internal-api/requirements/api/requirements.service.js +23 -23
  99. package/src/saas/internal-api/requirements/consts/attributeTypes.json +6 -0
  100. package/src/saas/internal-api/requirements/index.js +6 -6
  101. package/src/saas/internal-api/requirements/models/create.requirement.model.js +45 -45
  102. package/src/saas/internal-api/requirements/utils/utils.js +88 -0
  103. package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
  104. package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
  105. package/src/saas/internal-api/serviceArea/index.js +4 -4
  106. package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
  107. package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
  108. package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
  109. package/src/saas/internal-api/tabs/index.js +3 -3
  110. package/src/saas/internal-api/tabs/models/tabs.model.js +18 -18
  111. package/src/saas/internal-api/thread-scheduler/runner.js +13 -13
  112. package/src/saas/internal-api/users/api/users.api.js +77 -77
  113. package/src/saas/internal-api/users/api/users.service.js +101 -101
  114. package/src/saas/internal-api/users/index.js +4 -4
  115. package/src/saas/internal-api/users/models/users.model.js +31 -31
  116. package/src/saas/internal-api/users/utils/util.js +14 -14
  117. package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +20 -20
  118. package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +14 -14
  119. package/src/saas/internal-api/vendorProfile/index.js +3 -3
  120. package/src/saas/openapi/accounts/accounts.api.js +17 -17
  121. package/src/saas/openapi/accounts/accounts.service.js +11 -11
  122. package/src/saas/openapi/projects/projects.api.js +59 -59
  123. package/src/saas/openapi/projects/projects.service.js +44 -44
  124. package/src/saas/openapi/requests/index.js +6 -6
  125. package/src/saas/openapi/requests/models/invite.request.model.js +37 -37
  126. package/src/saas/openapi/requests/requests.api.js +20 -20
  127. package/src/saas/openapi/requests/requests.service.js +18 -18
  128. package/src/saas/openapi/requirements/index.js +6 -6
  129. package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
  130. package/src/saas/openapi/requirements/requirements.api.js +12 -12
  131. package/src/saas/openapi/requirements/requirements.service.js +20 -20
  132. package/src/saas/openapi/tabs/tabs.api.js +13 -13
  133. package/src/saas/openapi/tabs/tabs.service.js +7 -7
  134. package/tests/env.test.js +40 -40
  135. package/tests/validation.test.js +83 -83
@@ -1,24 +1,24 @@
1
- const projectService = require('./api/core/projects.service');
2
- const projectSettingsService = require('./api/settings/project.settings.service');
3
- const CreateProjectModel = require('./models/core/create.project.model');
4
- const UpdateProjectModel = require('./models/core/update.project.model');
5
- const UpdateProjectSettingsModel = require('./models/settings/update.project.settings.model');
6
-
7
- const coreModels = { CreateProjectModel, UpdateProjectModel };
8
- const settingsModels = { UpdateProjectSettingsModel };
9
-
10
- const services = {
11
- core: projectService,
12
- settings: projectSettingsService
13
- };
14
- const models = {
15
- core: coreModels,
16
- settings: settingsModels
17
- };
18
-
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
+ const projectService = require('./api/core/projects.service');
2
+ const projectSettingsService = require('./api/settings/project.settings.service');
3
+ const CreateProjectModel = require('./models/core/create.project.model');
4
+ const UpdateProjectModel = require('./models/core/update.project.model');
5
+ const UpdateProjectSettingsModel = require('./models/settings/update.project.settings.model');
6
+
7
+ const coreModels = { CreateProjectModel, UpdateProjectModel };
8
+ const settingsModels = { UpdateProjectSettingsModel };
9
+
10
+ const services = {
11
+ core: projectService,
12
+ settings: projectSettingsService
13
+ };
14
+ const models = {
15
+ core: coreModels,
16
+ settings: settingsModels
17
+ };
18
+
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,41 +1,41 @@
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
- ) {
19
- this.projectName = name;
20
- this.userId = accountId;
21
- this.regionOrDivision = description;
22
-
23
- this.address = address;
24
- this.projectNumber = number;
25
- this.projectStartDate = startDate;
26
- this.projectEndDate = endDate;
27
-
28
- this.city = city;
29
- this.state = state;
30
- this.zipCode = zipCode;
31
- this.companyNameForProject = companyNameForProject;
32
-
33
- this.certificateHolder = certificateHolder;
34
- this.additionalInsured = additionalInsured;
35
-
36
- this.tenantSolutionEnabled = tenantSolutionEnabled;
37
- this.onboardingEnabled = onboardingEnabled;
38
- this.automaticRenewalEnabled = automaticRenewalEnabled;
39
- }
40
-
41
- module.exports = CreateProjectModel;
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
+ ) {
19
+ this.projectName = name;
20
+ this.userId = accountId;
21
+ this.regionOrDivision = description;
22
+
23
+ this.address = address;
24
+ this.projectNumber = number;
25
+ this.projectStartDate = startDate;
26
+ this.projectEndDate = endDate;
27
+
28
+ this.city = city;
29
+ this.state = state;
30
+ this.zipCode = zipCode;
31
+ this.companyNameForProject = companyNameForProject;
32
+
33
+ this.certificateHolder = certificateHolder;
34
+ this.additionalInsured = additionalInsured;
35
+
36
+ this.tenantSolutionEnabled = tenantSolutionEnabled;
37
+ this.onboardingEnabled = onboardingEnabled;
38
+ this.automaticRenewalEnabled = automaticRenewalEnabled;
39
+ }
40
+
41
+ module.exports = CreateProjectModel;
@@ -1,47 +1,47 @@
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
- compliantVendorQuotationEnabled = 0
21
- ) {
22
- this.projectId = projectId;
23
- this.projectName = name;
24
- this.userId = accountId;
25
- this.regionOrDivision = description;
26
-
27
- this.address = address;
28
- this.projectNumber = number;
29
- this.projectStartDate = startDate;
30
- this.projectEndDate = endDate;
31
- this.onboardedVendors = onboardedVendors;
32
- this.compliantVendorQuotationEnabled = compliantVendorQuotationEnabled;
33
-
34
- this.city = city;
35
- this.state = state;
36
- this.zipCode = zipCode;
37
- this.companyNameForProject = companyNameForProject;
38
-
39
- this.certificateHolder = certificateHolder;
40
- this.additionalInsured = additionalInsured;
41
-
42
- this.tenantSolutionEnabled = tenantSolutionEnabled;
43
- this.onboardingEnabled = onboardingEnabled;
44
- this.automaticRenewalEnabled = automaticRenewalEnabled;
45
- }
46
-
47
- module.exports = UpdateProjectModel;
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
+ compliantVendorQuotationEnabled = 0
21
+ ) {
22
+ this.projectId = projectId;
23
+ this.projectName = name;
24
+ this.userId = accountId;
25
+ this.regionOrDivision = description;
26
+
27
+ this.address = address;
28
+ this.projectNumber = number;
29
+ this.projectStartDate = startDate;
30
+ this.projectEndDate = endDate;
31
+ this.onboardedVendors = onboardedVendors;
32
+ this.compliantVendorQuotationEnabled = compliantVendorQuotationEnabled;
33
+
34
+ this.city = city;
35
+ this.state = state;
36
+ this.zipCode = zipCode;
37
+ this.companyNameForProject = companyNameForProject;
38
+
39
+ this.certificateHolder = certificateHolder;
40
+ this.additionalInsured = additionalInsured;
41
+
42
+ this.tenantSolutionEnabled = tenantSolutionEnabled;
43
+ this.onboardingEnabled = onboardingEnabled;
44
+ this.automaticRenewalEnabled = automaticRenewalEnabled;
45
+ }
46
+
47
+ module.exports = UpdateProjectModel;
@@ -1,39 +1,39 @@
1
- function UpdateProjectSettingsModel({
2
- autoGaps = defaultAutoGaps,
3
- autoRenewals = false,
4
- marketplace = defaultMarketplace,
5
- ocrEnabled = false,
6
- onboardingPhase = false,
7
- projectId = null,
8
- qrEnabled = false,
9
- tenantSolution = false,
10
- autocompleteAddVendors = defaultAutocompleteAddVendors
11
- }) {
12
- this.autoGaps = autoGaps;
13
- this.autoRenewals = autoRenewals;
14
- this.marketplace = marketplace;
15
- this.ocrEnabled = ocrEnabled;
16
- this.onboardingPhase = onboardingPhase;
17
- this.projectId = projectId;
18
- this.qrEnabled = qrEnabled;
19
- this.tenantSolution = tenantSolution;
20
- this.autocompleteAddVendors = autocompleteAddVendors;
21
- }
22
-
23
- module.exports = UpdateProjectSettingsModel;
24
-
25
- const defaultMarketplace = {
26
- marketplaceEnabled: false,
27
- marketplacePreApproved: false,
28
- marketplaceOnboardedVendors: false,
29
- marketplaceCompliantVendorQuotationEnabled: false
30
- };
31
- const defaultAutoGaps = {
32
- Guests: false,
33
- Tenants: false,
34
- Vendors: false
35
- };
36
- const defaultAutocompleteAddVendors = {
37
- autocompleteAddVendorsForPm: false,
38
- autocompleteAddVendorsForTenants: false
39
- };
1
+ function UpdateProjectSettingsModel({
2
+ autoGaps = defaultAutoGaps,
3
+ autoRenewals = false,
4
+ marketplace = defaultMarketplace,
5
+ ocrEnabled = false,
6
+ onboardingPhase = false,
7
+ projectId = null,
8
+ qrEnabled = false,
9
+ tenantSolution = false,
10
+ autocompleteAddVendors = defaultAutocompleteAddVendors
11
+ }) {
12
+ this.autoGaps = autoGaps;
13
+ this.autoRenewals = autoRenewals;
14
+ this.marketplace = marketplace;
15
+ this.ocrEnabled = ocrEnabled;
16
+ this.onboardingPhase = onboardingPhase;
17
+ this.projectId = projectId;
18
+ this.qrEnabled = qrEnabled;
19
+ this.tenantSolution = tenantSolution;
20
+ this.autocompleteAddVendors = autocompleteAddVendors;
21
+ }
22
+
23
+ module.exports = UpdateProjectSettingsModel;
24
+
25
+ const defaultMarketplace = {
26
+ marketplaceEnabled: false,
27
+ marketplacePreApproved: false,
28
+ marketplaceOnboardedVendors: false,
29
+ marketplaceCompliantVendorQuotationEnabled: false
30
+ };
31
+ const defaultAutoGaps = {
32
+ Guests: false,
33
+ Tenants: false,
34
+ Vendors: false
35
+ };
36
+ const defaultAutocompleteAddVendors = {
37
+ autocompleteAddVendorsForPm: false,
38
+ autocompleteAddVendorsForTenants: false
39
+ };
@@ -1,82 +1,82 @@
1
- const services = require('../api/core/projects.service');
2
-
3
- const numberUtils = require('../../../../common/utils/numberUtils');
4
-
5
- const CreateProjectModel = require('../models/core/create.project.model');
6
- const UpdateProjectModel = require('../models/core/update.project.model');
7
-
8
- const { NAME: DEFAULT_PROJECT_NAME } = require('../consts/defaultProject');
9
-
10
- const getDefaultProjectId = async (accountId, context) => {
11
- const defaultProject = await services.getProjectByName(accountId, DEFAULT_PROJECT_NAME, context);
12
- return defaultProject ? defaultProject.projectId : null;
13
- };
14
-
15
- const getOrCreateProject = (accountId, projectConfig, context) => {
16
- const createProjectModel = getCreateProjectModel(accountId, projectConfig);
17
- return services.getOrCreateProject(createProjectModel, context);
18
- };
19
-
20
- const getCreateProjectModel = (accountId, projectData) => {
21
- const createProjectModel = new CreateProjectModel(
22
- accountId,
23
- projectData.name || projectData['Property Name'] || projectData['Project Name'],
24
- projectData.description || projectData['Region/Division'] || 'N/A',
25
- projectData.address || projectData['Address'] || 'N/A',
26
- projectData.number || projectData['Property Number'] || projectData['Project Number'] || 'N/A',
27
- projectData.startDate || projectData['Start Date'] || '01/01/2021',
28
- projectData.endDate || projectData['End Date'] || '01/01/2021',
29
- projectData.city || projectData['City'] || 'N/A',
30
- projectData.state || projectData['State'] || 'Alabama',
31
- projectData.zipCode || projectData['Zip Code'] || '11111',
32
- projectData.companyNameForProject || projectData['Company Name (for external communications)']
33
- );
34
- return createProjectModel;
35
- };
36
-
37
- const getUpdateProjectModel = (accountId, projectId, projectData) => {
38
- const updateProjectModel = new UpdateProjectModel(
39
- accountId,
40
- projectId,
41
- projectData.name || projectData['Property Name'] || projectData['Project Name'],
42
- projectData.description || projectData['Region/Division'],
43
- projectData.address || projectData['Address'],
44
- projectData.number || projectData['Property Number'] || projectData['Project Number'],
45
- projectData.startDate || projectData['Start Date'],
46
- projectData.endDate || projectData['End Date'],
47
- projectData.city || projectData['City'],
48
- projectData.state || projectData['State'],
49
- projectData.zipCode || projectData['Zip Code'] || '11111',
50
- projectData.companyNameForProject || projectData['Company Name (for external communications)']
51
- );
52
-
53
- return updateProjectModel;
54
- };
55
-
56
- const getProjectConfig = (projectName, { city, state, accountName, projectNumber } = {}) => {
57
- return {
58
- 'name': projectName,
59
- 'description': `${projectName}Description`,
60
- 'address': `${projectName}Street 14.`,
61
- 'number': projectNumber || numberUtils.getRandomNumberInRange(10000, 99999),
62
- 'startDate': '01/01/2022',
63
- 'endDate': '01/01/2030',
64
- 'city': city || `${projectName}City`,
65
- 'state': state || 'Alabama',
66
- 'zipCode': '11111',
67
- 'companyNameForProject': accountName || `${projectName}Account`
68
- };
69
- };
70
-
71
- const deleteProjectByName = (accounId, projectName, context) => {
72
- return services.deleteProjectByName(accounId, projectName, context);
73
- };
74
-
75
- module.exports = {
76
- getProjectConfig,
77
- getOrCreateProject,
78
- getDefaultProjectId,
79
- getCreateProjectModel,
80
- getUpdateProjectModel,
81
- deleteProjectByName
82
- };
1
+ const services = require('../api/core/projects.service');
2
+
3
+ const numberUtils = require('../../../../common/utils/numberUtils');
4
+
5
+ const CreateProjectModel = require('../models/core/create.project.model');
6
+ const UpdateProjectModel = require('../models/core/update.project.model');
7
+
8
+ const { NAME: DEFAULT_PROJECT_NAME } = require('../consts/defaultProject');
9
+
10
+ const getDefaultProjectId = async (accountId, context) => {
11
+ const defaultProject = await services.getProjectByName(accountId, DEFAULT_PROJECT_NAME, context);
12
+ return defaultProject ? defaultProject.projectId : null;
13
+ };
14
+
15
+ const getOrCreateProject = (accountId, projectConfig, context) => {
16
+ const createProjectModel = getCreateProjectModel(accountId, projectConfig);
17
+ return services.getOrCreateProject(createProjectModel, context);
18
+ };
19
+
20
+ const getCreateProjectModel = (accountId, projectData) => {
21
+ const createProjectModel = new CreateProjectModel(
22
+ accountId,
23
+ projectData.name || projectData['Property Name'] || projectData['Project Name'],
24
+ projectData.description || projectData['Region/Division'] || 'N/A',
25
+ projectData.address || projectData['Address'] || 'N/A',
26
+ projectData.number || projectData['Property Number'] || projectData['Project Number'] || 'N/A',
27
+ projectData.startDate || projectData['Start Date'] || '01/01/2021',
28
+ projectData.endDate || projectData['End Date'] || '01/01/2021',
29
+ projectData.city || projectData['City'] || 'N/A',
30
+ projectData.state || projectData['State'] || 'Alabama',
31
+ projectData.zipCode || projectData['Zip Code'] || '11111',
32
+ projectData.companyNameForProject || projectData['Company Name (for external communications)']
33
+ );
34
+ return createProjectModel;
35
+ };
36
+
37
+ const getUpdateProjectModel = (accountId, projectId, projectData) => {
38
+ const updateProjectModel = new UpdateProjectModel(
39
+ accountId,
40
+ projectId,
41
+ projectData.name || projectData['Property Name'] || projectData['Project Name'],
42
+ projectData.description || projectData['Region/Division'],
43
+ projectData.address || projectData['Address'],
44
+ projectData.number || projectData['Property Number'] || projectData['Project Number'],
45
+ projectData.startDate || projectData['Start Date'],
46
+ projectData.endDate || projectData['End Date'],
47
+ projectData.city || projectData['City'],
48
+ projectData.state || projectData['State'],
49
+ projectData.zipCode || projectData['Zip Code'] || '11111',
50
+ projectData.companyNameForProject || projectData['Company Name (for external communications)']
51
+ );
52
+
53
+ return updateProjectModel;
54
+ };
55
+
56
+ const getProjectConfig = (projectName, { city, state, accountName, projectNumber } = {}) => {
57
+ return {
58
+ 'name': projectName,
59
+ 'description': `${projectName}Description`,
60
+ 'address': `${projectName}Street 14.`,
61
+ 'number': projectNumber || numberUtils.getRandomNumberInRange(10000, 99999),
62
+ 'startDate': '01/01/2022',
63
+ 'endDate': '01/01/2030',
64
+ 'city': city || `${projectName}City`,
65
+ 'state': state || 'Alabama',
66
+ 'zipCode': '11111',
67
+ 'companyNameForProject': accountName || `${projectName}Account`
68
+ };
69
+ };
70
+
71
+ const deleteProjectByName = (accounId, projectName, context) => {
72
+ return services.deleteProjectByName(accounId, projectName, context);
73
+ };
74
+
75
+ module.exports = {
76
+ getProjectConfig,
77
+ getOrCreateProject,
78
+ getDefaultProjectId,
79
+ getCreateProjectModel,
80
+ getUpdateProjectModel,
81
+ deleteProjectByName
82
+ };
@@ -1,38 +1,38 @@
1
- const requests = require('../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- create: recordId => `${backendUrl}/saas/contractors/${recordId}/notes`,
6
- getNotesByRecordId: recordId => `${backendUrl}/saas/contractors/${recordId}/notes`,
7
- getNotesCountByRecordId: recordId => `${backendUrl}/saas/contractors/${recordId}/notes/count`,
8
- deleteByNoteId: noteId => `${backendUrl}/saas/contractors/notes/${noteId}`,
9
- updateByNoteId: noteId => `${backendUrl}/saas/contractors/notes/${noteId}`
10
- };
11
-
12
- const createRecordNote = (recordId, data, context) => {
13
- return requests.postRequestHandler(Endpoints.create(recordId), data, context);
14
- };
15
-
16
- const getNotesByRecordId = (recordId, context) => {
17
- return requests.getRequestHandler(Endpoints.getNotesByRecordId(recordId), {}, context);
18
- };
19
-
20
- const getNotesCountByRecordId = (recordId, context) => {
21
- return requests.getRequestHandler(Endpoints.getNotesCountByRecordId(recordId), {}, context);
22
- };
23
-
24
- const deleteByNoteId = (id, data, context) => {
25
- return requests.deleteRequestHandler(Endpoints.deleteByNoteId(id), context, {}, {}, data);
26
- };
27
-
28
- const updateByNoteId = (id, data, context) => {
29
- return requests.putRequestHandler(Endpoints.updateByNoteId(id), data, context);
30
- };
31
-
32
- module.exports = {
33
- createRecordNote,
34
- getNotesByRecordId,
35
- getNotesCountByRecordId,
36
- deleteByNoteId,
37
- updateByNoteId
38
- };
1
+ const requests = require('../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ create: recordId => `${backendUrl}/saas/contractors/${recordId}/notes`,
6
+ getNotesByRecordId: recordId => `${backendUrl}/saas/contractors/${recordId}/notes`,
7
+ getNotesCountByRecordId: recordId => `${backendUrl}/saas/contractors/${recordId}/notes/count`,
8
+ deleteByNoteId: noteId => `${backendUrl}/saas/contractors/notes/${noteId}`,
9
+ updateByNoteId: noteId => `${backendUrl}/saas/contractors/notes/${noteId}`
10
+ };
11
+
12
+ const createRecordNote = (recordId, data, context) => {
13
+ return requests.postRequestHandler(Endpoints.create(recordId), data, context);
14
+ };
15
+
16
+ const getNotesByRecordId = (recordId, context) => {
17
+ return requests.getRequestHandler(Endpoints.getNotesByRecordId(recordId), {}, context);
18
+ };
19
+
20
+ const getNotesCountByRecordId = (recordId, context) => {
21
+ return requests.getRequestHandler(Endpoints.getNotesCountByRecordId(recordId), {}, context);
22
+ };
23
+
24
+ const deleteByNoteId = (id, data, context) => {
25
+ return requests.deleteRequestHandler(Endpoints.deleteByNoteId(id), context, {}, {}, data);
26
+ };
27
+
28
+ const updateByNoteId = (id, data, context) => {
29
+ return requests.putRequestHandler(Endpoints.updateByNoteId(id), data, context);
30
+ };
31
+
32
+ module.exports = {
33
+ createRecordNote,
34
+ getNotesByRecordId,
35
+ getNotesCountByRecordId,
36
+ deleteByNoteId,
37
+ updateByNoteId
38
+ };
@@ -1,29 +1,29 @@
1
- const recordNotesAPI = require('./record.notes.api');
2
-
3
- const createRecordNote = (recordId, data, context) => {
4
- return recordNotesAPI.createRecordNote(recordId, data, context);
5
- };
6
-
7
- const getNotesByRecordId = (recordId, context) => {
8
- return recordNotesAPI.getNotesByRecordId(recordId, context);
9
- };
10
-
11
- const getNotesCountByRecordId = (recordId, context) => {
12
- return recordNotesAPI.getNotesCountByRecordId(recordId, context);
13
- };
14
-
15
- const deleteByNoteId = (noteId, data, context) => {
16
- return recordNotesAPI.deleteByNoteId(noteId, data, context);
17
- };
18
-
19
- const updateByNoteId = (noteId, data, context) => {
20
- return recordNotesAPI.updateByNoteId(noteId, data, context);
21
- };
22
-
23
- module.exports = {
24
- createRecordNote,
25
- getNotesByRecordId,
26
- getNotesCountByRecordId,
27
- deleteByNoteId,
28
- updateByNoteId
29
- };
1
+ const recordNotesAPI = require('./record.notes.api');
2
+
3
+ const createRecordNote = (recordId, data, context) => {
4
+ return recordNotesAPI.createRecordNote(recordId, data, context);
5
+ };
6
+
7
+ const getNotesByRecordId = (recordId, context) => {
8
+ return recordNotesAPI.getNotesByRecordId(recordId, context);
9
+ };
10
+
11
+ const getNotesCountByRecordId = (recordId, context) => {
12
+ return recordNotesAPI.getNotesCountByRecordId(recordId, context);
13
+ };
14
+
15
+ const deleteByNoteId = (noteId, data, context) => {
16
+ return recordNotesAPI.deleteByNoteId(noteId, data, context);
17
+ };
18
+
19
+ const updateByNoteId = (noteId, data, context) => {
20
+ return recordNotesAPI.updateByNoteId(noteId, data, context);
21
+ };
22
+
23
+ module.exports = {
24
+ createRecordNote,
25
+ getNotesByRecordId,
26
+ getNotesCountByRecordId,
27
+ deleteByNoteId,
28
+ updateByNoteId
29
+ };
@@ -1,3 +1,3 @@
1
- const services = require('./api/record.notes.service');
2
-
3
- module.exports = { services };
1
+ const services = require('./api/record.notes.service');
2
+
3
+ module.exports = { services };