npm package diff
Package: @forge/manifest
Versions: 7.7.2-next.1 - 7.8.0-next.2
File: package/out/validators/modules-validators/jira/validate-timetrackingprovider-module.js
Index: package/out/validators/modules-validators/jira/validate-timetrackingprovider-module.js
===================================================================
--- package/out/validators/modules-validators/jira/validate-timetrackingprovider-module.js
+++ package/out/validators/modules-validators/jira/validate-timetrackingprovider-module.js
@@ -0,0 +1,37 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.validateJiraTimeTrackingModule = void 0;
+const text_1 = require("../../../text");
+const utils_1 = require("../../../utils");
+const validateModuleLink = ({ key, modulesOfValidType, referencedModuleKey, yamlContentByLine, validReferencedModuleType }) => {
+ if (modulesOfValidType.find((m) => referencedModuleKey === m.key)) {
+ return [];
+ }
+ return [
+ {
+ message: `Module with key ${referencedModuleKey} does not exist or is not of the allowed type ${validReferencedModuleType}`,
+ reference: text_1.References.Modules,
+ level: 'error',
+ ...(0, utils_1.findPosition)(key, yamlContentByLine)
+ }
+ ];
+};
+const validateJiraTimeTrackingModule = (modules, yamlContentByLine) => {
+ const validationErrors = [];
+ modules['jira:timeTrackingProvider']?.forEach((module) => {
+ const adminPage = module?.adminPage;
+ if (adminPage) {
+ const expectedType = 'jira:adminPage';
+ const modulesOfValidType = modules[expectedType]?.map((mod) => ({ key: mod.key })) || [];
+ validationErrors.push(...validateModuleLink({
+ key: module.key,
+ modulesOfValidType,
+ referencedModuleKey: adminPage,
+ validReferencedModuleType: expectedType,
+ yamlContentByLine
+ }));
+ }
+ });
+ return validationErrors;
+};
+exports.validateJiraTimeTrackingModule = validateJiraTimeTrackingModule;