@forge/util

2.0.12.0.1-experimental-7890858
packages/ari/teams/index.js
~packages/ari/teams/index.jsModified
+105−6
Index: package/packages/ari/teams/index.js
===================================================================
--- package/packages/ari/teams/index.js
+++ package/packages/ari/teams/index.js
@@ -16,9 +16,11 @@
 
 // src/teams/index.ts
 var teams_exports = {};
 __export(teams_exports, {
-  TeamsTeamAri: () => TeamsTeamAri
+  TeamsRoleAri: () => TeamsRoleAri,
+  TeamsTeamAri: () => TeamsTeamAri,
+  TeamsWorkspaceAri: () => TeamsWorkspaceAri
 });
 module.exports = __toCommonJS(teams_exports);
 
 // src/errors.ts
@@ -274,31 +276,77 @@
     return AnyAri.parse(this.toString());
   }
 };
 
+// src/teams/role/types.ts
+var TeamsRoleAriResourceOwner = "teams", TeamsRoleAriResourceType = "role";
+
+// src/teams/role/manifest.ts
+var teamsRoleAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^$"),
+  resourceOwner: TeamsRoleAriResourceOwner,
+  resourceType: TeamsRoleAriResourceType,
+  resourceIdSlug: "product/{roleType}",
+  resourceIdSegmentFormats: {
+    roleType: /(?:member|admin|user-admin)/
+  }
+};
+
+// src/teams/role/index.ts
+var TeamsRoleAri = class _TeamsRoleAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts), this._roleType = opts.resourceIdSegmentValues.roleType;
+  }
+  get roleType() {
+    return this._roleType;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: teamsRoleAriStaticOpts.qualifier,
+      platformQualifier: teamsRoleAriStaticOpts.platformQualifier,
+      cloudId: void 0,
+      resourceOwner: teamsRoleAriStaticOpts.resourceOwner,
+      resourceType: teamsRoleAriStaticOpts.resourceType,
+      resourceId: `product/${opts.roleType}`,
+      resourceIdSegmentValues: {
+        roleType: opts.roleType
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, teamsRoleAriStaticOpts);
+    return new _TeamsRoleAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, teamsRoleAriStaticOpts);
+    return new _TeamsRoleAri(opts);
+  }
+  getVariables() {
+    return {
+      roleType: this.roleType
+    };
+  }
+};
+
 // src/teams/team/types.ts
 var TeamsTeamAriResourceOwner = "teams", TeamsTeamAriResourceType = "team";
 
 // src/teams/team/manifest.ts
 var teamsTeamAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
-  // eslint-disable-line no-useless-escape
   resourceOwner: TeamsTeamAriResourceOwner,
   resourceType: TeamsTeamAriResourceType,
   resourceIdSlug: "{teamId}",
   resourceIdSegmentFormats: {
     teamId: /[a-zA-Z0-9.\-_~]+/
-    // eslint-disable-line no-useless-escape
   }
 };
 
 // src/teams/team/index.ts
 var TeamsTeamAri = class _TeamsTeamAri extends RegisteredAri {
   constructor(opts) {
-    super(opts);
-    this._teamId = opts.resourceIdSegmentValues.teamId;
+    super(opts), this._teamId = opts.resourceIdSegmentValues.teamId;
   }
   get teamId() {
     return this._teamId;
   }
@@ -325,8 +373,59 @@
       teamId: this.teamId
     };
   }
 };
+
+// src/teams/workspace/types.ts
+var TeamsWorkspaceAriResourceOwner = "teams", TeamsWorkspaceAriResourceType = "workspace";
+
+// src/teams/workspace/manifest.ts
+var teamsWorkspaceAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^$"),
+  resourceOwner: TeamsWorkspaceAriResourceOwner,
+  resourceType: TeamsWorkspaceAriResourceType,
+  resourceIdSlug: "{workspaceId}",
+  resourceIdSegmentFormats: {
+    workspaceId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}/
+  }
+};
+
+// src/teams/workspace/index.ts
+var TeamsWorkspaceAri = class _TeamsWorkspaceAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts), this._workspaceId = opts.resourceIdSegmentValues.workspaceId;
+  }
+  get workspaceId() {
+    return this._workspaceId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: teamsWorkspaceAriStaticOpts.qualifier,
+      platformQualifier: teamsWorkspaceAriStaticOpts.platformQualifier,
+      cloudId: void 0,
+      resourceOwner: teamsWorkspaceAriStaticOpts.resourceOwner,
+      resourceType: teamsWorkspaceAriStaticOpts.resourceType,
+      resourceId: `${opts.workspaceId}`,
+      resourceIdSegmentValues: {
+        workspaceId: opts.workspaceId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, teamsWorkspaceAriStaticOpts);
+    return new _TeamsWorkspaceAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, teamsWorkspaceAriStaticOpts);
+    return new _TeamsWorkspaceAri(opts);
+  }
+  getVariables() {
+    return {
+      workspaceId: this.workspaceId
+    };
+  }
+};
 // Annotate the CommonJS export names for ESM import in node:
 0 && (module.exports = {
-  TeamsTeamAri
+  TeamsRoleAri,
+  TeamsTeamAri,
+  TeamsWorkspaceAri
 });