npm package diff
Package: @forge/util
Versions: 1.4.10-next.0 - 1.4.10-next.0-experimental-effab31
File: package/packages/ari/platform/index.js
Index: package/packages/ari/platform/index.js
===================================================================
--- package/packages/ari/platform/index.js
+++ package/packages/ari/platform/index.js
@@ -17,25 +17,28 @@
// src/platform/index.ts
var platform_exports = {};
__export(platform_exports, {
PlatformClassificationTagAri: () => PlatformClassificationTagAri,
+ PlatformCollaborationContextAri: () => PlatformCollaborationContextAri,
PlatformIntegrationAri: () => PlatformIntegrationAri,
PlatformLifecycleResourceAri: () => PlatformLifecycleResourceAri,
PlatformLifecycleResourcePackageAri: () => PlatformLifecycleResourcePackageAri,
PlatformLifecycleResourcePackageTypeAri: () => PlatformLifecycleResourcePackageTypeAri,
PlatformOrgAri: () => PlatformOrgAri,
PlatformOrgUserAri: () => PlatformOrgUserAri,
+ PlatformProductAri: () => PlatformProductAri,
PlatformSecureTunnelAri: () => PlatformSecureTunnelAri,
- PlatformSiteAri: () => PlatformSiteAri
+ PlatformSiteAri: () => PlatformSiteAri,
+ PlatformTestProvisioningEntityAri: () => PlatformTestProvisioningEntityAri
});
module.exports = __toCommonJS(platform_exports);
// src/errors.ts
var ValidationError = class extends Error {
};
// src/core/rules/cloud-id.ts
-function validateCloudId(cloudId, format = new RegExp("^[a-zA-Z0-9\\-]*$")) {
+function validateCloudId(cloudId, format = new RegExp("^[a-zA-Z0-9_\\-.]{0,255}$")) {
if (!cloudId.match(format))
throw new ValidationError(`Invalid cloud ID, expected ID of format ${format}.`);
}
@@ -55,9 +58,9 @@
throw new ValidationError(`ARI must have a qualifier of 'ari'. Received: ${qualifier}`);
}
// src/core/rules/resource-id.ts
-function validateResourceId(id, format = new RegExp("[!a-zA-Z0-9\\-_.~@:{}=]+(/[!a-zA-Z0-9\\-_.~@:{}=]+)*" /* ANY_RESOURCE_ID */), key = "resourceId") {
+function validateResourceId(id, format = new RegExp("[!a-zA-Z0-9\\-_.~@:;{}=]+(/[!a-zA-Z0-9\\-_.~@:;{}=]+)*" /* ANY_RESOURCE_ID */), key = "resourceId") {
let formatWithCarets = new RegExp(`^${format.source}$`);
if (!id.match(formatWithCarets))
throw new ValidationError(`Invalid ${key} - ${id}, expected ID of format ${formatWithCarets}.`);
}
@@ -290,8 +293,9 @@
var platformClassificationTagAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: PlatformClassificationTagAriResourceOwner,
resourceType: PlatformClassificationTagAriResourceType,
resourceIdSlug: "{tagId}",
resourceIdSegmentFormats: {
@@ -333,21 +337,74 @@
};
}
};
+// src/platform/collaboration-context/types.ts
+var PlatformCollaborationContextAriResourceOwner = "platform", PlatformCollaborationContextAriResourceType = "collaboration-context";
+
+// src/platform/collaboration-context/manifest.ts
+var platformCollaborationContextAriStaticOpts = {
+ qualifier: "ari",
+ platformQualifier: "cloud",
+ cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
+ resourceOwner: PlatformCollaborationContextAriResourceOwner,
+ resourceType: PlatformCollaborationContextAriResourceType,
+ resourceIdSlug: "{collaborationContextId}",
+ resourceIdSegmentFormats: {
+ collaborationContextId: /[a-zA-Z0-9\-]+/
+ // eslint-disable-line no-useless-escape
+ }
+};
+
+// src/platform/collaboration-context/index.ts
+var PlatformCollaborationContextAri = class _PlatformCollaborationContextAri extends RegisteredAri {
+ constructor(opts) {
+ super(opts);
+ this._collaborationContextId = opts.resourceIdSegmentValues.collaborationContextId;
+ }
+ get collaborationContextId() {
+ return this._collaborationContextId;
+ }
+ static create(opts) {
+ let derivedOpts = {
+ qualifier: platformCollaborationContextAriStaticOpts.qualifier,
+ platformQualifier: platformCollaborationContextAriStaticOpts.platformQualifier,
+ cloudId: void 0,
+ resourceOwner: platformCollaborationContextAriStaticOpts.resourceOwner,
+ resourceType: platformCollaborationContextAriStaticOpts.resourceType,
+ resourceId: `${opts.collaborationContextId}`,
+ resourceIdSegmentValues: {
+ collaborationContextId: opts.collaborationContextId
+ }
+ }, ariOpts = AriParser.fromOpts(derivedOpts, platformCollaborationContextAriStaticOpts);
+ return new _PlatformCollaborationContextAri(ariOpts);
+ }
+ static parse(maybeAri) {
+ let opts = AriParser.fromString(maybeAri, platformCollaborationContextAriStaticOpts);
+ return new _PlatformCollaborationContextAri(opts);
+ }
+ getVariables() {
+ return {
+ collaborationContextId: this.collaborationContextId
+ };
+ }
+};
+
// src/platform/integration/types.ts
var PlatformIntegrationAriResourceOwner = "platform", PlatformIntegrationAriResourceType = "integration";
// src/platform/integration/manifest.ts
var platformIntegrationAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: PlatformIntegrationAriResourceOwner,
resourceType: PlatformIntegrationAriResourceType,
resourceIdSlug: "{integrationKey}",
resourceIdSegmentFormats: {
- integrationKey: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+ integrationKey: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
// eslint-disable-line no-useless-escape
}
};
@@ -392,13 +449,14 @@
var platformLifecycleResourceAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: PlatformLifecycleResourceAriResourceOwner,
resourceType: PlatformLifecycleResourceAriResourceType,
resourceIdSlug: "{lifecycleResourceId}",
resourceIdSegmentFormats: {
- lifecycleResourceId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+ lifecycleResourceId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
// eslint-disable-line no-useless-escape
}
};
@@ -443,13 +501,14 @@
var platformLifecycleResourcePackageAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: PlatformLifecycleResourcePackageAriResourceOwner,
resourceType: PlatformLifecycleResourcePackageAriResourceType,
resourceIdSlug: "{lifecycleResourcePackageId}",
resourceIdSegmentFormats: {
- lifecycleResourcePackageId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+ lifecycleResourcePackageId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
// eslint-disable-line no-useless-escape
}
};
@@ -494,8 +553,9 @@
var platformLifecycleResourcePackageTypeAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: PlatformLifecycleResourcePackageTypeAriResourceOwner,
resourceType: PlatformLifecycleResourcePackageTypeAriResourceType,
resourceIdSlug: "{resourcePackageTypeId}",
resourceIdSegmentFormats: {
@@ -545,8 +605,9 @@
var platformOrgAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: PlatformOrgAriResourceOwner,
resourceType: PlatformOrgAriResourceType,
resourceIdSlug: "{orgId}",
resourceIdSegmentFormats: {
@@ -596,8 +657,9 @@
var platformOrgUserAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: PlatformOrgUserAriResourceOwner,
resourceType: PlatformOrgUserAriResourceType,
resourceIdSlug: "{orgId}/{userId}",
resourceIdSegmentFormats: {
@@ -646,16 +708,76 @@
};
}
};
+// src/platform/product/types.ts
+var PlatformProductAriResourceOwner = "platform", PlatformProductAriResourceType = "product";
+
+// src/platform/product/manifest.ts
+var platformProductAriStaticOpts = {
+ qualifier: "ari",
+ platformQualifier: "cloud",
+ cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
+ resourceOwner: PlatformProductAriResourceOwner,
+ resourceType: PlatformProductAriResourceType,
+ resourceIdSlug: "{integrationKey}/{productKey}",
+ resourceIdSegmentFormats: {
+ integrationKey: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
+ // eslint-disable-line no-useless-escape
+ productKey: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
+ // eslint-disable-line no-useless-escape
+ }
+};
+
+// src/platform/product/index.ts
+var PlatformProductAri = class _PlatformProductAri extends RegisteredAri {
+ constructor(opts) {
+ super(opts);
+ this._integrationKey = opts.resourceIdSegmentValues.integrationKey, this._productKey = opts.resourceIdSegmentValues.productKey;
+ }
+ get integrationKey() {
+ return this._integrationKey;
+ }
+ get productKey() {
+ return this._productKey;
+ }
+ static create(opts) {
+ let derivedOpts = {
+ qualifier: platformProductAriStaticOpts.qualifier,
+ platformQualifier: platformProductAriStaticOpts.platformQualifier,
+ cloudId: void 0,
+ resourceOwner: platformProductAriStaticOpts.resourceOwner,
+ resourceType: platformProductAriStaticOpts.resourceType,
+ resourceId: `${opts.integrationKey}/${opts.productKey}`,
+ resourceIdSegmentValues: {
+ integrationKey: opts.integrationKey,
+ productKey: opts.productKey
+ }
+ }, ariOpts = AriParser.fromOpts(derivedOpts, platformProductAriStaticOpts);
+ return new _PlatformProductAri(ariOpts);
+ }
+ static parse(maybeAri) {
+ let opts = AriParser.fromString(maybeAri, platformProductAriStaticOpts);
+ return new _PlatformProductAri(opts);
+ }
+ getVariables() {
+ return {
+ integrationKey: this.integrationKey,
+ productKey: this.productKey
+ };
+ }
+};
+
// src/platform/secure-tunnel/types.ts
var PlatformSecureTunnelAriResourceOwner = "platform", PlatformSecureTunnelAriResourceType = "secure-tunnel";
// src/platform/secure-tunnel/manifest.ts
var platformSecureTunnelAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: PlatformSecureTunnelAriResourceOwner,
resourceType: PlatformSecureTunnelAriResourceType,
resourceIdSlug: "{secureTunnelId}",
resourceIdSegmentFormats: {
@@ -705,13 +827,14 @@
var platformSiteAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: PlatformSiteAriResourceOwner,
resourceType: PlatformSiteAriResourceType,
resourceIdSlug: "{siteId}",
resourceIdSegmentFormats: {
- siteId: /[a-zA-Z0-9\-]+/
+ siteId: /[a-zA-Z0-9_\-.]{1,255}/
// eslint-disable-line no-useless-escape
}
};
@@ -747,16 +870,71 @@
siteId: this.siteId
};
}
};
+
+// src/platform/test-provisioning-entity/types.ts
+var PlatformTestProvisioningEntityAriResourceOwner = "platform", PlatformTestProvisioningEntityAriResourceType = "test-provisioning-entity";
+
+// src/platform/test-provisioning-entity/manifest.ts
+var platformTestProvisioningEntityAriStaticOpts = {
+ qualifier: "ari",
+ platformQualifier: "cloud",
+ cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
+ resourceOwner: PlatformTestProvisioningEntityAriResourceOwner,
+ resourceType: PlatformTestProvisioningEntityAriResourceType,
+ resourceIdSlug: "{testEntityId}",
+ resourceIdSegmentFormats: {
+ testEntityId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
+ // eslint-disable-line no-useless-escape
+ }
+};
+
+// src/platform/test-provisioning-entity/index.ts
+var PlatformTestProvisioningEntityAri = class _PlatformTestProvisioningEntityAri extends RegisteredAri {
+ constructor(opts) {
+ super(opts);
+ this._testEntityId = opts.resourceIdSegmentValues.testEntityId;
+ }
+ get testEntityId() {
+ return this._testEntityId;
+ }
+ static create(opts) {
+ let derivedOpts = {
+ qualifier: platformTestProvisioningEntityAriStaticOpts.qualifier,
+ platformQualifier: platformTestProvisioningEntityAriStaticOpts.platformQualifier,
+ cloudId: void 0,
+ resourceOwner: platformTestProvisioningEntityAriStaticOpts.resourceOwner,
+ resourceType: platformTestProvisioningEntityAriStaticOpts.resourceType,
+ resourceId: `${opts.testEntityId}`,
+ resourceIdSegmentValues: {
+ testEntityId: opts.testEntityId
+ }
+ }, ariOpts = AriParser.fromOpts(derivedOpts, platformTestProvisioningEntityAriStaticOpts);
+ return new _PlatformTestProvisioningEntityAri(ariOpts);
+ }
+ static parse(maybeAri) {
+ let opts = AriParser.fromString(maybeAri, platformTestProvisioningEntityAriStaticOpts);
+ return new _PlatformTestProvisioningEntityAri(opts);
+ }
+ getVariables() {
+ return {
+ testEntityId: this.testEntityId
+ };
+ }
+};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
PlatformClassificationTagAri,
+ PlatformCollaborationContextAri,
PlatformIntegrationAri,
PlatformLifecycleResourceAri,
PlatformLifecycleResourcePackageAri,
PlatformLifecycleResourcePackageTypeAri,
PlatformOrgAri,
PlatformOrgUserAri,
+ PlatformProductAri,
PlatformSecureTunnelAri,
- PlatformSiteAri
+ PlatformSiteAri,
+ PlatformTestProvisioningEntityAri
});