@forge/lint
5.15.0-next.85.15.0-next.9
out/lint/linters/permission-linter/verifiers/notification-api-verifier.js+
out/lint/linters/permission-linter/verifiers/notification-api-verifier.jsNew file+44
Index: package/out/lint/linters/permission-linter/verifiers/notification-api-verifier.js
===================================================================
--- package/out/lint/linters/permission-linter/verifiers/notification-api-verifier.js
+++ package/out/lint/linters/permission-linter/verifiers/notification-api-verifier.js
@@ -0,0 +1,44 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.NotificationVerifier = void 0;
+const linter_interface_1 = require("../../../linter-interface");
+const verifier_interface_1 = require("../../verifier-interface");
+const text_1 = require("../../../text");
+const utils_1 = require("../../utils");
+const JIRA_SCOPE = 'send:app-notification:jira';
+const CONFLUENCE_SCOPE = 'send:app-notification:confluence';
+class NotificationVerifier extends verifier_interface_1.BaseLintIssueVerifier {
+ getLintClass() {
+ return linter_interface_1.LintClass.Error;
+ }
+ async process(apiCalls) {
+ const rules = [];
+ const declaredScopes = (0, utils_1.getAllScopeKeys)(this.manifest.permissions?.scopes ?? []);
+ apiCalls.forEach((apiCall) => {
+ const { line, column } = apiCall;
+ if (!declaredScopes.includes(JIRA_SCOPE) && !declaredScopes.includes(CONFLUENCE_SCOPE)) {
+ rules.push({
+ class: this.getLintClass(),
+ message: text_1.messages.verifiers.notification.message(JIRA_SCOPE, 'Jira'),
+ reference: text_1.messages.verifiers.notification.reference,
+ line,
+ column,
+ metadata: {
+ missingPermission: JIRA_SCOPE
+ }
+ }, {
+ class: this.getLintClass(),
+ message: text_1.messages.verifiers.notification.message(CONFLUENCE_SCOPE, 'Confluence'),
+ reference: text_1.messages.verifiers.notification.reference,
+ line,
+ column,
+ metadata: {
+ missingPermission: CONFLUENCE_SCOPE
+ }
+ });
+ }
+ });
+ return rules;
+ }
+}
+exports.NotificationVerifier = NotificationVerifier;