@getcommunity/gc-validators 0.0.214 → 0.0.216
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -124
- package/dist/{chunk-FZQDB4NR.js → chunk-BYTL5J7D.js} +3 -3
- package/dist/{chunk-FZQDB4NR.js.map → chunk-BYTL5J7D.js.map} +1 -1
- package/dist/{chunk-B4H2XFKV.js → chunk-DU5WCXJJ.js} +12 -3
- package/dist/{chunk-B4H2XFKV.js.map → chunk-DU5WCXJJ.js.map} +1 -1
- package/dist/{chunk-AFCN5IYK.cjs → chunk-IMI6XEMX.cjs} +7 -7
- package/dist/{chunk-AFCN5IYK.cjs.map → chunk-IMI6XEMX.cjs.map} +1 -1
- package/dist/{chunk-KUKR2YJV.cjs → chunk-NMDMJZPF.cjs} +12 -2
- package/dist/{chunk-KUKR2YJV.cjs.map → chunk-NMDMJZPF.cjs.map} +1 -1
- package/dist/index.cjs +233 -229
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/permissions.cjs +10 -6
- package/dist/permissions.d.cts +3 -2
- package/dist/permissions.d.ts +3 -2
- package/dist/permissions.js +1 -1
- package/dist/schemas.cjs +224 -224
- package/dist/schemas.js +2 -2
- package/package.json +2 -3
|
@@ -665,12 +665,21 @@ var CLIENT_ENTITY_SCOPES = Object.entries(
|
|
|
665
665
|
|
|
666
666
|
// src/permissions/permission.utilities.ts
|
|
667
667
|
function hasPermission(user, permissions, resource, action, data) {
|
|
668
|
+
if (!user) return false;
|
|
668
669
|
const permission = ROLE_PERMISSIONS[user.role.type][resource]?.[action];
|
|
669
670
|
if (permission == null) return false;
|
|
670
671
|
if (typeof permission === "boolean") return permission;
|
|
671
672
|
return permission(user, permissions, data);
|
|
672
673
|
}
|
|
674
|
+
function canAssignPermission(user, resource, action) {
|
|
675
|
+
if (!user) return false;
|
|
676
|
+
const permission = ROLE_PERMISSIONS[user.role.type][resource]?.[action];
|
|
677
|
+
if (permission == null) return false;
|
|
678
|
+
if (typeof permission === "boolean") return permission;
|
|
679
|
+
if (typeof permission === "function") return true;
|
|
680
|
+
return false;
|
|
681
|
+
}
|
|
673
682
|
|
|
674
|
-
export { CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, ROLE_PERMISSIONS, hasPermission };
|
|
675
|
-
//# sourceMappingURL=chunk-
|
|
676
|
-
//# sourceMappingURL=chunk-
|
|
683
|
+
export { CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, ROLE_PERMISSIONS, canAssignPermission, hasPermission };
|
|
684
|
+
//# sourceMappingURL=chunk-DU5WCXJJ.js.map
|
|
685
|
+
//# sourceMappingURL=chunk-DU5WCXJJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/permissions/permission.abac.ts","../src/permissions/permission.constants.ts","../src/permissions/permission.utilities.ts"],"names":[],"mappings":"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","file":"chunk-B4H2XFKV.js","sourcesContent":["/**\n * Attribute-based access control (ABAC) permissions\n *\n * @reference https://github.com/WebDevSimplified/permission-system/blob/main/auth-abac.ts\n */\n\nimport { RolesWithPermissions } from \"./permission.types\"\n\nexport const ROLE_PERMISSIONS = {\n authenticated: {\n \"user-account\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n comment: {\n list: true,\n create: true,\n update: (u, p, d) => u.id === Number(d?.author?.id),\n delete: (u, p, d) => u.id === Number(d?.author?.id),\n report: true\n },\n client: {\n access: false,\n billing: false,\n owner: false,\n manager: false,\n admin: false,\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-user\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-content-pillar\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-media-platform\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-media-platform-content-type\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-project\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false,\n assign: false\n },\n \"client-report\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-styleguide\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"content-pillar\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"media-platform\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"media-content-type\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"monday-workspace\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"utm-tracking-link\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n gcflytour: {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n },\n \"gcflytour-snap\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n }\n },\n public: {\n \"user-account\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n comment: {\n list: true,\n create: false,\n update: false,\n delete: false,\n report: false\n },\n client: {\n access: false,\n billing: false,\n owner: false,\n manager: false,\n admin: false,\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-user\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-content-pillar\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-media-platform\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-media-platform-content-type\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-project\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false,\n assign: false\n },\n \"client-report\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-styleguide\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"content-pillar\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"media-platform\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"media-content-type\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"monday-workspace\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"utm-tracking-link\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n gcflytour: {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n },\n \"gcflytour-snap\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n }\n },\n employee: {\n \"user-account\": {\n list: true,\n create: false,\n read: true,\n update: (u, p, d) => u.account.documentId === d?.documentId,\n delete: false\n },\n comment: {\n list: true,\n create: true,\n update: (u, p, d) => u.id === Number(d?.author?.id),\n delete: (u, p, d) => u.id === Number(d?.author?.id),\n report: true\n },\n client: {\n access: (u, p, d) => p.scopes.includes(\"client:access\"),\n billing: (u, p, d) => p.scopes.includes(\"client:billing\"),\n owner: (u, p, d) => p.scopes.includes(\"client:owner\"),\n manager: (u, p, d) => p.scopes.includes(\"client:manager\"),\n admin: (u, p, d) => p.scopes.includes(\"client:admin\"),\n list: (u, p, d) => p.scopes.includes(\"client:access\"),\n create: false,\n read: (u, p, d) => p.scopes.includes(\"client:access\"),\n update: (u, p, d) => p.scopes.includes(\"client:manager\"),\n delete: false\n },\n \"client-user\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false,\n verify: true\n },\n \"client-content-pillar\": {\n list: (u, p, d) => p.scopes.includes(\"client-content-pillar:list\"),\n create: (u, p) => p.scopes.includes(\"client-content-pillar:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-content-pillar:read\"),\n update: (u, p, d) => p.scopes.includes(\"client-content-pillar:update\"),\n delete: false\n },\n \"client-media-platform\": {\n list: (u, p, d) => p.scopes.includes(\"client-media-platform:list\"),\n create: (u, p) => p.scopes.includes(\"client-media-platform:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-media-platform:read\"),\n update: (u, p, d) => p.scopes.includes(\"client-media-platform:update\"),\n delete: false\n },\n \"client-media-platform-content-type\": {\n list: (u, p, d) => p.scopes.includes(\"client-media-platform-content-type:list\"),\n create: (u, p) => p.scopes.includes(\"client-media-platform-content-type:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-media-platform-content-type:read\"),\n update: (u, p, d) =>\n p.scopes.includes(\"client-media-platform-content-type:update\"),\n delete: false\n },\n \"client-project\": {\n list: (u, p, d) => p.scopes.includes(\"client-project:list\"),\n create: (u, p) => p.scopes.includes(\"client-project:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-project:read\"),\n update: (u, p, d) => p.scopes.includes(\"client-project:update\"),\n delete: false,\n assign: (u, p, d) => p.scopes.includes(\"client-project:assign\")\n },\n \"client-report\": {\n list: (u, p, d) => p.scopes.includes(\"client-report:list\"),\n create: (u, p) => p.scopes.includes(\"client-report:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-report:read\"),\n update: (u, p, d) => p.scopes.includes(\"client-report:update\"),\n delete: false\n },\n \"client-styleguide\": {\n list: (u, p, d) => p.scopes.includes(\"client-styleguide:list\"),\n create: false,\n read: (u, p, d) => p.scopes.includes(\"client-styleguide:read\"),\n update: false,\n delete: false\n },\n \"content-pillar\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n },\n \"media-platform\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n },\n \"media-content-type\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n },\n \"monday-workspace\": {\n list: (u, p, d) => p.scopes.includes(\"monday-workspace:list\"),\n create: (u, p) => p.scopes.includes(\"monday-workspace:create\"),\n read: (u, p, d) => p.scopes.includes(\"monday-workspace:read\"),\n update: (u, p, d) => p.scopes.includes(\"monday-workspace:update\"),\n delete: (u, p, d) => p.scopes.includes(\"monday-workspace:delete\")\n },\n \"utm-tracking-link\": {\n list: (u, p, d) => p.scopes.includes(\"utm-tracking-link:list\"),\n create: (u, p) => p.scopes.includes(\"utm-tracking-link:create\"),\n read: (u, p, d) =>\n d?.creator?.documentId === u.documentId ||\n p.scopes.includes(\"utm-tracking-link:read\"),\n update: (u, p, d) =>\n d?.creator?.documentId === u.documentId ||\n p.scopes.includes(\"utm-tracking-link:update\"),\n delete: (u, p, d) =>\n d?.creator?.documentId === u.documentId ||\n p.scopes.includes(\"utm-tracking-link:delete\")\n },\n gcflytour: {\n list: true,\n create: (u, p) => p.scopes.includes(\"gcflytour:create\"),\n read: true,\n update: (u, p, d) => p.scopes.includes(\"gcflytour:update\"),\n delete: (u, p, d) => p.scopes.includes(\"gcflytour:delete\")\n },\n \"gcflytour-snap\": {\n list: true,\n create: (u, p) => p.scopes.includes(\"gcflytour-snap:create\"),\n read: true,\n update: (u, p, d) => p.scopes.includes(\"gcflytour-snap:update\"),\n delete: (u, p, d) => p.scopes.includes(\"gcflytour-snap:delete\")\n }\n },\n manager: {\n \"user-account\": {\n list: true,\n create: false,\n read: true,\n update: (u, p, d) => u.account.documentId === d?.documentId,\n delete: false\n },\n comment: {\n list: true,\n create: true,\n update: (u, p, d) => u.id === Number(d?.author?.id),\n delete: (u, p, d) => u.id === Number(d?.author?.id),\n report: true\n },\n client: {\n access: true,\n billing: true,\n owner: true,\n manager: true,\n admin: true,\n list: true,\n create: true,\n read: true,\n update: true,\n delete: false\n },\n \"client-user\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true,\n verify: true\n },\n \"client-content-pillar\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"client-media-platform\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"client-media-platform-content-type\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"client-project\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true,\n assign: true\n },\n \"client-report\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"client-styleguide\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"content-pillar\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"media-platform\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"media-content-type\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"monday-workspace\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"utm-tracking-link\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n gcflytour: {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"gcflytour-snap\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n }\n },\n client: {\n \"user-account\": {\n list: true,\n create: false,\n read: true,\n update: (u, p, d) => u.account.documentId === d?.documentId,\n delete: false\n },\n comment: {\n list: true,\n create: true,\n update: (u, p, d) => u.id === Number(d?.author?.id),\n delete: (u, p, d) => u.id === Number(d?.author?.id),\n report: true\n },\n client: {\n access: (u, p, d) => p.scopes.includes(\"client:access\"),\n billing: (u, p, d) => p.scopes.includes(\"client:billing\"),\n owner: (u, p, d) => p.scopes.includes(\"client:owner\"),\n manager: (u, p, d) => p.scopes.includes(\"client:manager\"),\n admin: (u, p, d) => p.scopes.includes(\"client:admin\"),\n list: (u, p, d) => p.scopes.includes(\"client:access\"),\n create: false,\n read: (u, p, d) => p.scopes.includes(\"client:access\"),\n update: (u, p, d) => p.scopes.includes(\"client:manager\"),\n delete: false\n },\n \"client-user\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false,\n verify: true\n },\n \"client-content-pillar\": {\n list: (u, p, d) => p.scopes.includes(\"client-content-pillar:list\"),\n create: (u, p) => p.scopes.includes(\"client-content-pillar:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-content-pillar:read\"),\n update: (u, p, d) => p.scopes.includes(\"client-content-pillar:update\"),\n delete: false\n },\n \"client-media-platform\": {\n list: (u, p, d) => p.scopes.includes(\"client-media-platform:list\"),\n create: (u, p) => p.scopes.includes(\"client-media-platform:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-media-platform:read\"),\n update: (u, p, d) => p.scopes.includes(\"client-media-platform:update\"),\n delete: false\n },\n \"client-media-platform-content-type\": {\n list: (u, p, d) => p.scopes.includes(\"client-media-platform-content-type:list\"),\n create: (u, p) => p.scopes.includes(\"client-media-platform-content-type:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-media-platform-content-type:read\"),\n update: (u, p, d) =>\n p.scopes.includes(\"client-media-platform-content-type:update\"),\n delete: false\n },\n \"client-project\": {\n list: (u, p, d) => p.scopes.includes(\"client-project:list\"),\n create: (u, p) => p.scopes.includes(\"client-project:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-project:read\"),\n update: (u, p, d) => p.scopes.includes(\"client-project:update\"),\n delete: false,\n assign: (u, p, d) => p.scopes.includes(\"client-project:assign\")\n },\n \"client-report\": {\n list: (u, p, d) => p.scopes.includes(\"client-report:list\"),\n create: (u, p) => p.scopes.includes(\"client-report:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-report:read\"),\n update: (u, p, d) => p.scopes.includes(\"client-report:update\"),\n delete: false\n },\n \"client-styleguide\": {\n list: (u, p, d) => p.scopes.includes(\"client-styleguide:list\"),\n create: false,\n read: (u, p, d) => p.scopes.includes(\"client-styleguide:read\"),\n update: false,\n delete: false\n },\n \"content-pillar\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n },\n \"media-platform\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n },\n \"media-content-type\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n },\n \"monday-workspace\": {\n list: (u, p, d) => p.scopes.includes(\"monday-workspace:list\"),\n create: false,\n read: (u, p, d) => p.scopes.includes(\"monday-workspace:read\"),\n update: false,\n delete: false\n },\n \"utm-tracking-link\": {\n list: (u, p, d) => p.scopes.includes(\"utm-tracking-link:list\"),\n create: (u, p) => p.scopes.includes(\"utm-tracking-link:create\"),\n read: (u, p, d) =>\n d?.creator?.documentId === u.documentId ||\n p.scopes.includes(\"utm-tracking-link:read\"),\n update: (u, p, d) =>\n d?.creator?.documentId === u.documentId ||\n p.scopes.includes(\"utm-tracking-link:update\"),\n delete: (u, p, d) =>\n d?.creator?.documentId === u.documentId ||\n p.scopes.includes(\"utm-tracking-link:delete\")\n },\n gcflytour: {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n },\n \"gcflytour-snap\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n }\n }\n} as const satisfies RolesWithPermissions\n","/**\n * Example usage of ClientEntityScope type\n * @reference https://youtube.com/shorts/zOseJFD447U?si=xX8DYEHdl9YtN7S4\n *\n * > const validScope: ClientEntityScope = \"utm-tracking-link:list\"; // ✅\n * > const invalidScope: ClientEntityScope = \"blog-post:import\"; // ❌ Type error!\n */\n\nexport const CLIENT_ENTITY_PERMISSIONS = {\n client: [\"admin\", \"owner\", \"manager\", \"billing\", \"access\"],\n \"client-project\": [\"list\", \"create\", \"read\", \"update\", \"delete\", \"assign\"],\n \"client-media-platform\": [\"list\", \"create\", \"read\", \"update\", \"delete\"],\n \"client-media-platform-content-type\": [\"list\", \"create\", \"read\", \"update\", \"delete\"],\n \"client-content-pillar\": [\"list\", \"create\", \"read\", \"update\", \"delete\"],\n \"client-report\": [\"list\", \"create\", \"read\", \"update\", \"delete\"],\n \"client-styleguide\": [\"list\", \"create\", \"read\", \"update\", \"delete\"],\n \"monday-workspace\": [\"list\", \"create\", \"read\", \"update\", \"delete\"],\n \"utm-tracking-link\": [\"list\", \"create\", \"read\", \"update\", \"delete\"],\n gcflytour: [\"list\", \"create\", \"read\", \"update\", \"delete\"],\n \"gcflytour-snap\": [\"list\", \"create\", \"read\", \"update\", \"delete\"]\n} as const\n\nexport type ClientEntityKey = keyof typeof CLIENT_ENTITY_PERMISSIONS\n\nexport type ClientEntityActions<K extends ClientEntityKey = ClientEntityKey> =\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n\ntype EntityActionJoin<K extends string, V extends string> = `${K}:${V}`\n\nexport type ClientEntityScope = {\n [K in ClientEntityKey]: EntityActionJoin<\n K,\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n >\n}[ClientEntityKey]\n\nexport const CLIENT_ENTITY_KEYS = Object.keys(\n CLIENT_ENTITY_PERMISSIONS\n) as ClientEntityKey[]\n\nexport const CLIENT_ENTITY_SCOPES: ClientEntityScope[] = Object.entries(\n CLIENT_ENTITY_PERMISSIONS\n).flatMap(([entity, actions]) =>\n actions.map((action) => `${entity}:${action}` as ClientEntityScope)\n)\n","/**\n * Attribute-based access control (ABAC) permissions\n *\n * @reference https://github.com/WebDevSimplified/permission-system/blob/main/auth-abac.ts\n */\n\nimport { AuthorizedUserDocument, ClientUserDocumentStatus, RoleType } from \"../types\"\nimport { ROLE_PERMISSIONS } from \"./permission.abac\"\nimport { Permissions, RolesWithPermissions } from \"./permission.types\"\n\nexport function hasPermission<Resource extends keyof Permissions>(\n user: AuthorizedUserDocument,\n permissions: ClientUserDocumentStatus,\n resource: Resource,\n action: Permissions[Resource][\"action\"],\n data?: Permissions[Resource][\"dataType\"]\n) {\n const permission = (ROLE_PERMISSIONS as RolesWithPermissions)[\n user.role.type as RoleType\n ][resource]?.[action]\n if (permission == null) return false\n\n if (typeof permission === \"boolean\") return permission\n return permission(user, permissions, data)\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/permissions/permission.abac.ts","../src/permissions/permission.constants.ts","../src/permissions/permission.utilities.ts"],"names":[],"mappings":"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","file":"chunk-DU5WCXJJ.js","sourcesContent":["/**\n * Attribute-based access control (ABAC) permissions\n *\n * @reference https://github.com/WebDevSimplified/permission-system/blob/main/auth-abac.ts\n */\n\nimport { RolesWithPermissions } from \"./permission.types\"\n\nexport const ROLE_PERMISSIONS = {\n authenticated: {\n \"user-account\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n comment: {\n list: true,\n create: true,\n update: (u, p, d) => u.id === Number(d?.author?.id),\n delete: (u, p, d) => u.id === Number(d?.author?.id),\n report: true\n },\n client: {\n access: false,\n billing: false,\n owner: false,\n manager: false,\n admin: false,\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-user\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-content-pillar\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-media-platform\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-media-platform-content-type\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-project\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false,\n assign: false\n },\n \"client-report\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-styleguide\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"content-pillar\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"media-platform\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"media-content-type\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"monday-workspace\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"utm-tracking-link\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n gcflytour: {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n },\n \"gcflytour-snap\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n }\n },\n public: {\n \"user-account\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n comment: {\n list: true,\n create: false,\n update: false,\n delete: false,\n report: false\n },\n client: {\n access: false,\n billing: false,\n owner: false,\n manager: false,\n admin: false,\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-user\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-content-pillar\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-media-platform\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-media-platform-content-type\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-project\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false,\n assign: false\n },\n \"client-report\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"client-styleguide\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"content-pillar\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"media-platform\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"media-content-type\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"monday-workspace\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n \"utm-tracking-link\": {\n list: false,\n create: false,\n read: false,\n update: false,\n delete: false\n },\n gcflytour: {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n },\n \"gcflytour-snap\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n }\n },\n employee: {\n \"user-account\": {\n list: true,\n create: false,\n read: true,\n update: (u, p, d) => u.account.documentId === d?.documentId,\n delete: false\n },\n comment: {\n list: true,\n create: true,\n update: (u, p, d) => u.id === Number(d?.author?.id),\n delete: (u, p, d) => u.id === Number(d?.author?.id),\n report: true\n },\n client: {\n access: (u, p, d) => p.scopes.includes(\"client:access\"),\n billing: (u, p, d) => p.scopes.includes(\"client:billing\"),\n owner: (u, p, d) => p.scopes.includes(\"client:owner\"),\n manager: (u, p, d) => p.scopes.includes(\"client:manager\"),\n admin: (u, p, d) => p.scopes.includes(\"client:admin\"),\n list: (u, p, d) => p.scopes.includes(\"client:access\"),\n create: false,\n read: (u, p, d) => p.scopes.includes(\"client:access\"),\n update: (u, p, d) => p.scopes.includes(\"client:manager\"),\n delete: false\n },\n \"client-user\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false,\n verify: true\n },\n \"client-content-pillar\": {\n list: (u, p, d) => p.scopes.includes(\"client-content-pillar:list\"),\n create: (u, p) => p.scopes.includes(\"client-content-pillar:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-content-pillar:read\"),\n update: (u, p, d) => p.scopes.includes(\"client-content-pillar:update\"),\n delete: false\n },\n \"client-media-platform\": {\n list: (u, p, d) => p.scopes.includes(\"client-media-platform:list\"),\n create: (u, p) => p.scopes.includes(\"client-media-platform:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-media-platform:read\"),\n update: (u, p, d) => p.scopes.includes(\"client-media-platform:update\"),\n delete: false\n },\n \"client-media-platform-content-type\": {\n list: (u, p, d) => p.scopes.includes(\"client-media-platform-content-type:list\"),\n create: (u, p) => p.scopes.includes(\"client-media-platform-content-type:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-media-platform-content-type:read\"),\n update: (u, p, d) =>\n p.scopes.includes(\"client-media-platform-content-type:update\"),\n delete: false\n },\n \"client-project\": {\n list: (u, p, d) => p.scopes.includes(\"client-project:list\"),\n create: (u, p) => p.scopes.includes(\"client-project:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-project:read\"),\n update: (u, p, d) => p.scopes.includes(\"client-project:update\"),\n delete: false,\n assign: (u, p, d) => p.scopes.includes(\"client-project:assign\")\n },\n \"client-report\": {\n list: (u, p, d) => p.scopes.includes(\"client-report:list\"),\n create: (u, p) => p.scopes.includes(\"client-report:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-report:read\"),\n update: (u, p, d) => p.scopes.includes(\"client-report:update\"),\n delete: false\n },\n \"client-styleguide\": {\n list: (u, p, d) => p.scopes.includes(\"client-styleguide:list\"),\n create: false,\n read: (u, p, d) => p.scopes.includes(\"client-styleguide:read\"),\n update: false,\n delete: false\n },\n \"content-pillar\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n },\n \"media-platform\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n },\n \"media-content-type\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n },\n \"monday-workspace\": {\n list: (u, p, d) => p.scopes.includes(\"monday-workspace:list\"),\n create: (u, p) => p.scopes.includes(\"monday-workspace:create\"),\n read: (u, p, d) => p.scopes.includes(\"monday-workspace:read\"),\n update: (u, p, d) => p.scopes.includes(\"monday-workspace:update\"),\n delete: (u, p, d) => p.scopes.includes(\"monday-workspace:delete\")\n },\n \"utm-tracking-link\": {\n list: (u, p, d) => p.scopes.includes(\"utm-tracking-link:list\"),\n create: (u, p) => p.scopes.includes(\"utm-tracking-link:create\"),\n read: (u, p, d) =>\n d?.creator?.documentId === u.documentId ||\n p.scopes.includes(\"utm-tracking-link:read\"),\n update: (u, p, d) =>\n d?.creator?.documentId === u.documentId ||\n p.scopes.includes(\"utm-tracking-link:update\"),\n delete: (u, p, d) =>\n d?.creator?.documentId === u.documentId ||\n p.scopes.includes(\"utm-tracking-link:delete\")\n },\n gcflytour: {\n list: true,\n create: (u, p) => p.scopes.includes(\"gcflytour:create\"),\n read: true,\n update: (u, p, d) => p.scopes.includes(\"gcflytour:update\"),\n delete: (u, p, d) => p.scopes.includes(\"gcflytour:delete\")\n },\n \"gcflytour-snap\": {\n list: true,\n create: (u, p) => p.scopes.includes(\"gcflytour-snap:create\"),\n read: true,\n update: (u, p, d) => p.scopes.includes(\"gcflytour-snap:update\"),\n delete: (u, p, d) => p.scopes.includes(\"gcflytour-snap:delete\")\n }\n },\n manager: {\n \"user-account\": {\n list: true,\n create: false,\n read: true,\n update: (u, p, d) => u.account.documentId === d?.documentId,\n delete: false\n },\n comment: {\n list: true,\n create: true,\n update: (u, p, d) => u.id === Number(d?.author?.id),\n delete: (u, p, d) => u.id === Number(d?.author?.id),\n report: true\n },\n client: {\n access: true,\n billing: true,\n owner: true,\n manager: true,\n admin: true,\n list: true,\n create: true,\n read: true,\n update: true,\n delete: false\n },\n \"client-user\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true,\n verify: true\n },\n \"client-content-pillar\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"client-media-platform\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"client-media-platform-content-type\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"client-project\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true,\n assign: true\n },\n \"client-report\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"client-styleguide\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"content-pillar\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"media-platform\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"media-content-type\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"monday-workspace\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"utm-tracking-link\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n gcflytour: {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n },\n \"gcflytour-snap\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\n }\n },\n client: {\n \"user-account\": {\n list: true,\n create: false,\n read: true,\n update: (u, p, d) => u.account.documentId === d?.documentId,\n delete: false\n },\n comment: {\n list: true,\n create: true,\n update: (u, p, d) => u.id === Number(d?.author?.id),\n delete: (u, p, d) => u.id === Number(d?.author?.id),\n report: true\n },\n client: {\n access: (u, p, d) => p.scopes.includes(\"client:access\"),\n billing: (u, p, d) => p.scopes.includes(\"client:billing\"),\n owner: (u, p, d) => p.scopes.includes(\"client:owner\"),\n manager: (u, p, d) => p.scopes.includes(\"client:manager\"),\n admin: (u, p, d) => p.scopes.includes(\"client:admin\"),\n list: (u, p, d) => p.scopes.includes(\"client:access\"),\n create: false,\n read: (u, p, d) => p.scopes.includes(\"client:access\"),\n update: (u, p, d) => p.scopes.includes(\"client:manager\"),\n delete: false\n },\n \"client-user\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false,\n verify: true\n },\n \"client-content-pillar\": {\n list: (u, p, d) => p.scopes.includes(\"client-content-pillar:list\"),\n create: (u, p) => p.scopes.includes(\"client-content-pillar:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-content-pillar:read\"),\n update: (u, p, d) => p.scopes.includes(\"client-content-pillar:update\"),\n delete: false\n },\n \"client-media-platform\": {\n list: (u, p, d) => p.scopes.includes(\"client-media-platform:list\"),\n create: (u, p) => p.scopes.includes(\"client-media-platform:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-media-platform:read\"),\n update: (u, p, d) => p.scopes.includes(\"client-media-platform:update\"),\n delete: false\n },\n \"client-media-platform-content-type\": {\n list: (u, p, d) => p.scopes.includes(\"client-media-platform-content-type:list\"),\n create: (u, p) => p.scopes.includes(\"client-media-platform-content-type:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-media-platform-content-type:read\"),\n update: (u, p, d) =>\n p.scopes.includes(\"client-media-platform-content-type:update\"),\n delete: false\n },\n \"client-project\": {\n list: (u, p, d) => p.scopes.includes(\"client-project:list\"),\n create: (u, p) => p.scopes.includes(\"client-project:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-project:read\"),\n update: (u, p, d) => p.scopes.includes(\"client-project:update\"),\n delete: false,\n assign: (u, p, d) => p.scopes.includes(\"client-project:assign\")\n },\n \"client-report\": {\n list: (u, p, d) => p.scopes.includes(\"client-report:list\"),\n create: (u, p) => p.scopes.includes(\"client-report:create\"),\n read: (u, p, d) => p.scopes.includes(\"client-report:read\"),\n update: (u, p, d) => p.scopes.includes(\"client-report:update\"),\n delete: false\n },\n \"client-styleguide\": {\n list: (u, p, d) => p.scopes.includes(\"client-styleguide:list\"),\n create: false,\n read: (u, p, d) => p.scopes.includes(\"client-styleguide:read\"),\n update: false,\n delete: false\n },\n \"content-pillar\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n },\n \"media-platform\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n },\n \"media-content-type\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n },\n \"monday-workspace\": {\n list: (u, p, d) => p.scopes.includes(\"monday-workspace:list\"),\n create: false,\n read: (u, p, d) => p.scopes.includes(\"monday-workspace:read\"),\n update: false,\n delete: false\n },\n \"utm-tracking-link\": {\n list: (u, p, d) => p.scopes.includes(\"utm-tracking-link:list\"),\n create: (u, p) => p.scopes.includes(\"utm-tracking-link:create\"),\n read: (u, p, d) =>\n d?.creator?.documentId === u.documentId ||\n p.scopes.includes(\"utm-tracking-link:read\"),\n update: (u, p, d) =>\n d?.creator?.documentId === u.documentId ||\n p.scopes.includes(\"utm-tracking-link:update\"),\n delete: (u, p, d) =>\n d?.creator?.documentId === u.documentId ||\n p.scopes.includes(\"utm-tracking-link:delete\")\n },\n gcflytour: {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n },\n \"gcflytour-snap\": {\n list: true,\n create: false,\n read: true,\n update: false,\n delete: false\n }\n }\n} as const satisfies RolesWithPermissions\n","/**\n * Example usage of ClientEntityScope type\n * @reference https://youtube.com/shorts/zOseJFD447U?si=xX8DYEHdl9YtN7S4\n *\n * > const validScope: ClientEntityScope = \"utm-tracking-link:list\"; // ✅\n * > const invalidScope: ClientEntityScope = \"blog-post:import\"; // ❌ Type error!\n */\n\nexport const CLIENT_ENTITY_PERMISSIONS = {\n client: [\"admin\", \"owner\", \"manager\", \"billing\", \"access\"],\n \"client-project\": [\"list\", \"create\", \"read\", \"update\", \"delete\", \"assign\"],\n \"client-media-platform\": [\"list\", \"create\", \"read\", \"update\", \"delete\"],\n \"client-media-platform-content-type\": [\"list\", \"create\", \"read\", \"update\", \"delete\"],\n \"client-content-pillar\": [\"list\", \"create\", \"read\", \"update\", \"delete\"],\n \"client-report\": [\"list\", \"create\", \"read\", \"update\", \"delete\"],\n \"client-styleguide\": [\"list\", \"create\", \"read\", \"update\", \"delete\"],\n \"monday-workspace\": [\"list\", \"create\", \"read\", \"update\", \"delete\"],\n \"utm-tracking-link\": [\"list\", \"create\", \"read\", \"update\", \"delete\"],\n gcflytour: [\"list\", \"create\", \"read\", \"update\", \"delete\"],\n \"gcflytour-snap\": [\"list\", \"create\", \"read\", \"update\", \"delete\"]\n} as const\n\nexport type ClientEntityKey = keyof typeof CLIENT_ENTITY_PERMISSIONS\n\nexport type ClientEntityActions<K extends ClientEntityKey = ClientEntityKey> =\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n\ntype EntityActionJoin<K extends string, V extends string> = `${K}:${V}`\n\nexport type ClientEntityScope = {\n [K in ClientEntityKey]: EntityActionJoin<\n K,\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n >\n}[ClientEntityKey]\n\nexport const CLIENT_ENTITY_KEYS = Object.keys(\n CLIENT_ENTITY_PERMISSIONS\n) as ClientEntityKey[]\n\nexport const CLIENT_ENTITY_SCOPES: ClientEntityScope[] = Object.entries(\n CLIENT_ENTITY_PERMISSIONS\n).flatMap(([entity, actions]) =>\n actions.map((action) => `${entity}:${action}` as ClientEntityScope)\n)\n","/**\n * Attribute-based access control (ABAC) permissions\n *\n * @reference https://github.com/WebDevSimplified/permission-system/blob/main/auth-abac.ts\n */\n\nimport { AuthorizedUserDocument, ClientUserDocumentStatus, RoleType } from \"../types\"\nimport { ROLE_PERMISSIONS } from \"./permission.abac\"\nimport { Permissions, RolesWithPermissions } from \"./permission.types\"\n\nexport function hasPermission<Resource extends keyof Permissions>(\n user: AuthorizedUserDocument | null,\n permissions: ClientUserDocumentStatus,\n resource: Resource,\n action: Permissions[Resource][\"action\"],\n data?: Permissions[Resource][\"dataType\"]\n) {\n if (!user) return false\n const permission = (ROLE_PERMISSIONS as RolesWithPermissions)[\n user.role.type as RoleType\n ][resource]?.[action]\n if (permission == null) return false\n\n if (typeof permission === \"boolean\") return permission\n return permission(user, permissions, data)\n}\n\nexport function canAssignPermission<Resource extends keyof Permissions>(\n user: AuthorizedUserDocument | null,\n resource: Resource,\n action: Permissions[Resource][\"action\"]\n): boolean {\n if (!user) return false\n const permission = (ROLE_PERMISSIONS as RolesWithPermissions)[\n user.role.type as RoleType\n ][resource]?.[action]\n if (permission == null) return false\n if (typeof permission === \"boolean\") return permission\n if (typeof permission === \"function\") return true\n return false\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunk57PRSDKM_cjs = require('./chunk-57PRSDKM.cjs');
|
|
4
|
-
var
|
|
4
|
+
var chunkNMDMJZPF_cjs = require('./chunk-NMDMJZPF.cjs');
|
|
5
5
|
var v35 = require('valibot');
|
|
6
6
|
|
|
7
7
|
function _interopNamespace(e) {
|
|
@@ -648,11 +648,11 @@ var SCreateClientUserDocument = v35__namespace.object({
|
|
|
648
648
|
user: VStringMinMax(chunk57PRSDKM_cjs.LIMIT_MIN_VALUE, chunk57PRSDKM_cjs.LIMIT_SHORT_STRING_MAX_LENGTH),
|
|
649
649
|
scopes: v35__namespace.pipe(
|
|
650
650
|
v35__namespace.array(
|
|
651
|
-
v35__namespace.pipe(v35__namespace.string(), v35__namespace.picklist(
|
|
651
|
+
v35__namespace.pipe(v35__namespace.string(), v35__namespace.picklist(chunkNMDMJZPF_cjs.CLIENT_ENTITY_SCOPES)),
|
|
652
652
|
"Please provide a valid list of scopes."
|
|
653
653
|
),
|
|
654
654
|
v35__namespace.maxLength(
|
|
655
|
-
|
|
655
|
+
chunkNMDMJZPF_cjs.CLIENT_ENTITY_SCOPES.length,
|
|
656
656
|
"You cannot provide more scopes than there are available."
|
|
657
657
|
)
|
|
658
658
|
)
|
|
@@ -660,11 +660,11 @@ var SCreateClientUserDocument = v35__namespace.object({
|
|
|
660
660
|
var SUpdateClientUserDocument = v35__namespace.object({
|
|
661
661
|
scopes: v35__namespace.pipe(
|
|
662
662
|
v35__namespace.array(
|
|
663
|
-
v35__namespace.pipe(v35__namespace.string(), v35__namespace.picklist(
|
|
663
|
+
v35__namespace.pipe(v35__namespace.string(), v35__namespace.picklist(chunkNMDMJZPF_cjs.CLIENT_ENTITY_SCOPES)),
|
|
664
664
|
"Please provide a valid list of scopes."
|
|
665
665
|
),
|
|
666
666
|
v35__namespace.maxLength(
|
|
667
|
-
|
|
667
|
+
chunkNMDMJZPF_cjs.CLIENT_ENTITY_SCOPES.length,
|
|
668
668
|
"You cannot provide more scopes than there are available."
|
|
669
669
|
)
|
|
670
670
|
)
|
|
@@ -2845,5 +2845,5 @@ exports.VStringUrlNoUtm = VStringUrlNoUtm;
|
|
|
2845
2845
|
exports.VStringUrlNullable = VStringUrlNullable;
|
|
2846
2846
|
exports.VStringUrlUtm = VStringUrlUtm;
|
|
2847
2847
|
exports.checkIsValidUrlList = checkIsValidUrlList;
|
|
2848
|
-
//# sourceMappingURL=chunk-
|
|
2849
|
-
//# sourceMappingURL=chunk-
|
|
2848
|
+
//# sourceMappingURL=chunk-IMI6XEMX.cjs.map
|
|
2849
|
+
//# sourceMappingURL=chunk-IMI6XEMX.cjs.map
|