@forge/util

2.0.12.0.1-experimental-7890858
packages/ari/chunk-V2RSEP6L.mjs
+packages/ari/chunk-V2RSEP6L.mjsNew file
+89
Index: package/packages/ari/chunk-V2RSEP6L.mjs
===================================================================
--- package/packages/ari/chunk-V2RSEP6L.mjs
+++ package/packages/ari/chunk-V2RSEP6L.mjs
@@ -0,0 +1,89 @@
+import {
+  JiraBoardLayoutAriResourceOwner,
+  JiraBoardLayoutAriResourceType
+} from "./chunk-UBUCC5ZW.mjs";
+import {
+  RegisteredAri
+} from "./chunk-AB4PPISI.mjs";
+import {
+  AriParser
+} from "./chunk-S7RIZVFI.mjs";
+
+// src/jira/board-layout/manifest.ts
+var jiraBoardLayoutAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  resourceOwner: JiraBoardLayoutAriResourceOwner,
+  resourceType: JiraBoardLayoutAriResourceType,
+  resourceIdSlug: "activation/{activationId}/{containerType}/{containerId}/view/{viewId}/{layout}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    containerType: /(board|project)/,
+    containerId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
+    viewId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
+    layout: /(column|swimlane)/
+  }
+};
+
+// src/jira/board-layout/index.ts
+var JiraBoardLayoutAri = class _JiraBoardLayoutAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts), this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._containerType = opts.resourceIdSegmentValues.containerType, this._containerId = opts.resourceIdSegmentValues.containerId, this._viewId = opts.resourceIdSegmentValues.viewId, this._layout = opts.resourceIdSegmentValues.layout;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get containerType() {
+    return this._containerType;
+  }
+  get containerId() {
+    return this._containerId;
+  }
+  get viewId() {
+    return this._viewId;
+  }
+  get layout() {
+    return this._layout;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: jiraBoardLayoutAriStaticOpts.qualifier,
+      platformQualifier: jiraBoardLayoutAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: jiraBoardLayoutAriStaticOpts.resourceOwner,
+      resourceType: jiraBoardLayoutAriStaticOpts.resourceType,
+      resourceId: `activation/${opts.activationId}/${opts.containerType}/${opts.containerId}/view/${opts.viewId}/${opts.layout}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        containerType: opts.containerType,
+        containerId: opts.containerId,
+        viewId: opts.viewId,
+        layout: opts.layout
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, jiraBoardLayoutAriStaticOpts);
+    return new _JiraBoardLayoutAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, jiraBoardLayoutAriStaticOpts);
+    return new _JiraBoardLayoutAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      containerType: this.containerType,
+      containerId: this.containerId,
+      viewId: this.viewId,
+      layout: this.layout
+    };
+  }
+};
+
+export {
+  JiraBoardLayoutAri
+};