npm package diff
Package: @forge/lint
Versions: 5.3.5-next.2 - 5.4.0-next.3
File: package/out/lint/linters/permission-linter/verifiers/content-property-verifier.js
Index: package/out/lint/linters/permission-linter/verifiers/content-property-verifier.js
===================================================================
--- package/out/lint/linters/permission-linter/verifiers/content-property-verifier.js
+++ package/out/lint/linters/permission-linter/verifiers/content-property-verifier.js
@@ -1,95 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.ContentPropertyVerifier = exports.CONTENT_PROPERTY_PERMISSIONS_MAP = void 0;
-const linter_interface_1 = require("../../../linter-interface");
-const text_1 = require("../../../text");
-const verifier_interface_1 = require("../../verifier-interface");
-const manifest_1 = require("@forge/manifest");
-exports.CONTENT_PROPERTY_PERMISSIONS_MAP = {
- onJiraIssue: {
- get: {
- beta: ['read:issue.property:jira'],
- current: ['read:jira-work']
- },
- set: {
- beta: ['write:issue.property:jira'],
- current: ['write:jira-work']
- },
- delete: {
- beta: ['delete:issue.property:jira'],
- current: ['write:jira-work']
- }
- },
- onJiraProject: {
- get: {
- beta: ['read:project.property:jira'],
- current: ['read:jira-work']
- },
- set: {
- beta: ['write:project.property:jira'],
- current: ['manage:jira-project']
- },
- delete: {
- beta: ['delete:project.property:jira'],
- current: ['manage:jira-project']
- }
- },
- onConfluencePage: {
- get: {
- beta: ['read:content-details:confluence'],
- current: ['read:confluence-props']
- },
- set: {
- beta: ['read:content.property:confluence', 'write:content.property:confluence'],
- current: ['read:confluence-props', 'write:confluence-props']
- },
- delete: {
- beta: ['write:content.property:confluence'],
- current: ['write:confluence-props']
- }
- },
- onConfluenceSpace: {
- get: {
- beta: ['read:content-details:confluence'],
- current: ['read:confluence-props']
- },
- set: {
- beta: ['read:space.property:confluence', 'write:space.property:confluence'],
- current: ['read:confluence-props', 'write:confluence-props']
- },
- delete: {
- beta: ['write:space.property:confluence'],
- current: ['write:confluence-props']
- }
- }
-};
-class ContentPropertyVerifier extends verifier_interface_1.BaseLintIssueVerifier {
- getLintClass() {
- return linter_interface_1.LintClass.Error;
- }
- async process(apiCalls) {
- const lintErrors = [];
- for (const apiCall of apiCalls) {
- const missingScopes = await this.getMissingScopes(apiCall);
- for (const missingScope of missingScopes) {
- const { context, method, line, column } = apiCall;
- lintErrors.push({
- class: this.getLintClass(),
- message: text_1.messages.verifiers.contentProperty.message(context, method, missingScope),
- reference: text_1.messages.verifiers.contentProperty.reference,
- column,
- line,
- metadata: {
- missingPermission: missingScope
- }
- });
- }
- }
- return lintErrors;
- }
- getMissingScopes({ context, method }) {
- const existingScopes = this.manifest?.permissions?.scopes;
- return (0, manifest_1.getMissingScopes)(existingScopes, exports.CONTENT_PROPERTY_PERMISSIONS_MAP[context][method]);
- }
-}
-exports.ContentPropertyVerifier = ContentPropertyVerifier;