@getcommunity/gc-validators 0.0.190 → 0.0.193
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/dist/constants/index.d.cts +14 -1
- package/dist/constants/index.d.ts +14 -1
- package/dist/constants/permission.constants.cjs.map +1 -1
- package/dist/constants/permission.constants.d.cts +17 -29
- package/dist/constants/permission.constants.d.ts +17 -29
- package/dist/constants/permission.constants.js.map +1 -1
- package/dist/index.d.cts +2 -4
- package/dist/index.d.ts +2 -4
- package/dist/{client-content-pillar.document-BmtrCuzt.d.cts → permission.constants-Cz0fuVJx.d.cts} +118 -4
- package/dist/{client-content-pillar.document-XoX1rNnY.d.ts → permission.constants-DVf4IlLp.d.ts} +118 -4
- package/dist/schemas/client-user.schemas.d.cts +17 -1
- package/dist/schemas/client-user.schemas.d.ts +17 -1
- package/dist/schemas/index.d.cts +17 -1
- package/dist/schemas/index.d.ts +17 -1
- package/dist/types/documents/blog-post.document.d.cts +2 -2
- package/dist/types/documents/blog-post.document.d.ts +2 -2
- package/dist/types/documents/category.document.d.cts +2 -2
- package/dist/types/documents/category.document.d.ts +2 -2
- package/dist/types/documents/client-content-pillar.document.d.cts +5 -4
- package/dist/types/documents/client-content-pillar.document.d.ts +5 -4
- package/dist/types/documents/client-media-platform-content-type.document.d.cts +5 -4
- package/dist/types/documents/client-media-platform-content-type.document.d.ts +5 -4
- package/dist/types/documents/client-media-platform.document.d.cts +5 -4
- package/dist/types/documents/client-media-platform.document.d.ts +5 -4
- package/dist/types/documents/client-project.document.d.cts +5 -4
- package/dist/types/documents/client-project.document.d.ts +5 -4
- package/dist/types/documents/client-report.document.d.cts +5 -4
- package/dist/types/documents/client-report.document.d.ts +5 -4
- package/dist/types/documents/client-styleguide.document.d.cts +5 -4
- package/dist/types/documents/client-styleguide.document.d.ts +5 -4
- package/dist/types/documents/client-user.document.d.cts +5 -4
- package/dist/types/documents/client-user.document.d.ts +5 -4
- package/dist/types/documents/client.document.d.cts +4 -3
- package/dist/types/documents/client.document.d.ts +4 -3
- package/dist/types/documents/content-pillar.document.d.cts +5 -4
- package/dist/types/documents/content-pillar.document.d.ts +5 -4
- package/dist/types/documents/gcflytour-snap.document.d.cts +5 -4
- package/dist/types/documents/gcflytour-snap.document.d.ts +5 -4
- package/dist/types/documents/gcflytour.document.d.cts +5 -4
- package/dist/types/documents/gcflytour.document.d.ts +5 -4
- package/dist/types/documents/index.d.cts +3 -4
- package/dist/types/documents/index.d.ts +3 -4
- package/dist/types/documents/media-content-type.document.d.cts +5 -4
- package/dist/types/documents/media-content-type.document.d.ts +5 -4
- package/dist/types/documents/media-platform.document.d.cts +5 -4
- package/dist/types/documents/media-platform.document.d.ts +5 -4
- package/dist/types/documents/permission.document.d.cts +5 -4
- package/dist/types/documents/permission.document.d.ts +5 -4
- package/dist/types/documents/product-highlight.document.d.cts +5 -4
- package/dist/types/documents/product-highlight.document.d.ts +5 -4
- package/dist/types/documents/role.document.d.cts +5 -4
- package/dist/types/documents/role.document.d.ts +5 -4
- package/dist/types/documents/team-member.document.d.cts +2 -2
- package/dist/types/documents/team-member.document.d.ts +2 -2
- package/dist/types/documents/trend.document.d.cts +2 -2
- package/dist/types/documents/trend.document.d.ts +2 -2
- package/dist/types/documents/user-account.document.d.cts +5 -4
- package/dist/types/documents/user-account.document.d.ts +5 -4
- package/dist/types/documents/user.document.d.cts +5 -4
- package/dist/types/documents/user.document.d.ts +5 -4
- package/dist/types/documents/utm-tracking-link.document.d.cts +5 -4
- package/dist/types/documents/utm-tracking-link.document.d.ts +5 -4
- package/dist/types/index.d.cts +2 -4
- package/dist/types/index.d.ts +2 -4
- package/dist/types/permissions/index.d.cts +3 -5
- package/dist/types/permissions/index.d.ts +3 -5
- package/dist/types/permissions/permission.types.d.cts +4 -89
- package/dist/types/permissions/permission.types.d.ts +4 -89
- package/dist/utilities/permission.utilities.d.cts +3 -5
- package/dist/utilities/permission.utilities.d.ts +3 -5
- package/package.json +1 -1
- package/dist/{blog-post.document-sRpXgwmw.d.ts → blog-post.document-DuONcTyz.d.ts} +1 -1
- package/dist/{blog-post.document-D-xEXtLS.d.cts → blog-post.document-psR2l_yP.d.cts} +1 -1
|
@@ -6,5 +6,18 @@ export { ValidGcDesiredContentOptions, ValidGcServiceOptions, ValidGcVideoServic
|
|
|
6
6
|
export { LIMIT_LONG_STRING_MAX_LENGTH, LIMIT_MAX_DESTINATION, LIMIT_MAX_DOMAIN, LIMIT_MAX_EMAIL, LIMIT_MAX_FRAGMENT, LIMIT_MAX_PASSWORD, LIMIT_MAX_PATH, LIMIT_MAX_PHONE, LIMIT_MAX_PROVIDER, LIMIT_MAX_QUERY, LIMIT_MAX_USERNAME, LIMIT_MAX_UTM_CAMPAIGN, LIMIT_MAX_UTM_CONTENT, LIMIT_MAX_UTM_CREATIVE_FORMAT, LIMIT_MAX_UTM_ID, LIMIT_MAX_UTM_KEY, LIMIT_MAX_UTM_MEDIUM, LIMIT_MAX_UTM_SOURCE, LIMIT_MAX_UTM_TERM, LIMIT_MEDIUM_STRING_MAX_LENGTH, LIMIT_MIN_DESTINATION, LIMIT_MIN_DOMAIN, LIMIT_MIN_EMAIL, LIMIT_MIN_FRAGMENT, LIMIT_MIN_PASSWORD, LIMIT_MIN_PATH, LIMIT_MIN_PHONE, LIMIT_MIN_QUERY, LIMIT_MIN_USERNAME, LIMIT_MIN_UTM_CAMPAIGN, LIMIT_MIN_UTM_CONTENT, LIMIT_MIN_UTM_CREATIVE_FORMAT, LIMIT_MIN_UTM_ID, LIMIT_MIN_UTM_KEY, LIMIT_MIN_UTM_MEDIUM, LIMIT_MIN_UTM_SOURCE, LIMIT_MIN_UTM_TERM, LIMIT_MIN_VALUE, LIMIT_SHORT_STRING_MAX_LENGTH, LIMIT_VAL_10, LIMIT_VAL_100 } from './limits.constants.cjs';
|
|
7
7
|
export { ERROR_MESSAGE_COMMA_SEPPARATED_URLS, ERROR_MESSAGE_INVALID_URL, ERROR_MESSAGE_ONE_PROJECT_STATUS, ERROR_MESSAGE_ROBOT, ERROR_MESSAGE_URL_NO_QUERY_PARAMS, ERROR_MESSAGE_URL_PREFIX, ERROR_MESSAGE_UTM_URL } from './message-response.constants.cjs';
|
|
8
8
|
export { LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE, LIMIT_BLOG_POST_PAGINATION_MAX_SIZE, LIMIT_CATEGORIES_DEFAULT_SIZE, LIMIT_CATEGORIES_MAX_SIZE, LIMIT_CLIENT_CONTENT_PILLAR_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_CONTENT_PILLAR_PAGINATION_MAX_SIZE, LIMIT_CLIENT_MEDIA_PLATFORM_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_MEDIA_PLATFORM_PAGINATION_MAX_SIZE, LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_PAGINATION_MAX_SIZE, LIMIT_CLIENT_PROJECT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_PROJECT_PAGINATION_MAX_SIZE, LIMIT_CLIENT_REPORT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_REPORT_PAGINATION_MAX_SIZE, LIMIT_CLIENT_STYLEGUIDE_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_STYLEGUIDE_PAGINATION_MAX_SIZE, LIMIT_CLIENT_USER_PAGINATION_DEFAULT_SIZE_LIMIT, LIMIT_CLIENT_USER_PAGINATION_MAX_SIZE_LIMIT, LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_PAGINATION_MAX_SIZE, LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE, LIMIT_REDIRECT_PAGINATION_MAX_SIZE, LIMIT_TABLE_PAGINATION_DEFAULT_SIZE, LIMIT_TAGS_DEFAULT_SIZE, LIMIT_TAGS_MAX_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE, LIMIT_TREND_PAGINATION_DEFAULT_SIZE, LIMIT_TREND_PAGINATION_MAX_SIZE, LIMIT_USER_PAGINATION_DEFAULT_SIZE, LIMIT_USER_PAGINATION_MAX_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE } from './pagination.constants.cjs';
|
|
9
|
-
export { CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS,
|
|
9
|
+
export { a as CLIENT_ENTITY_KEYS, C as CLIENT_ENTITY_PERMISSIONS, b as CLIENT_ENTITY_SCOPES } from '../permission.constants-Cz0fuVJx.cjs';
|
|
10
10
|
export { ERROR_MESSAGE_REGEX_PHONE, ERROR_MESSAGE_REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_UTM_VALUE, REGEX_BRAND_COLOR_SLUG, REGEX_NANP_PHONE, REGEX_URL_SLUG, REGEX_UTM_VALUE } from './regex.constants.cjs';
|
|
11
|
+
import '../types/core/document.cjs';
|
|
12
|
+
import '../types/components/blocks/brand-logos.cjs';
|
|
13
|
+
import '../types/core/media.cjs';
|
|
14
|
+
import '../types/components/shared/rich-text-block.cjs';
|
|
15
|
+
import '../types/components/brand/styleguide-color.cjs';
|
|
16
|
+
import '../types/components/brand/styleguide-font.cjs';
|
|
17
|
+
import '../types/components/blocks/fullscreen-content.cjs';
|
|
18
|
+
import '../types/components/blocks/video.cjs';
|
|
19
|
+
import '../types/documents/tag.document.cjs';
|
|
20
|
+
import '../types/documents/product.document.cjs';
|
|
21
|
+
import '../types/components/shared/seo.cjs';
|
|
22
|
+
import '../types/components/utm/utm-option.cjs';
|
|
23
|
+
import '../types/documents/comment.document.cjs';
|
|
@@ -6,5 +6,18 @@ export { ValidGcDesiredContentOptions, ValidGcServiceOptions, ValidGcVideoServic
|
|
|
6
6
|
export { LIMIT_LONG_STRING_MAX_LENGTH, LIMIT_MAX_DESTINATION, LIMIT_MAX_DOMAIN, LIMIT_MAX_EMAIL, LIMIT_MAX_FRAGMENT, LIMIT_MAX_PASSWORD, LIMIT_MAX_PATH, LIMIT_MAX_PHONE, LIMIT_MAX_PROVIDER, LIMIT_MAX_QUERY, LIMIT_MAX_USERNAME, LIMIT_MAX_UTM_CAMPAIGN, LIMIT_MAX_UTM_CONTENT, LIMIT_MAX_UTM_CREATIVE_FORMAT, LIMIT_MAX_UTM_ID, LIMIT_MAX_UTM_KEY, LIMIT_MAX_UTM_MEDIUM, LIMIT_MAX_UTM_SOURCE, LIMIT_MAX_UTM_TERM, LIMIT_MEDIUM_STRING_MAX_LENGTH, LIMIT_MIN_DESTINATION, LIMIT_MIN_DOMAIN, LIMIT_MIN_EMAIL, LIMIT_MIN_FRAGMENT, LIMIT_MIN_PASSWORD, LIMIT_MIN_PATH, LIMIT_MIN_PHONE, LIMIT_MIN_QUERY, LIMIT_MIN_USERNAME, LIMIT_MIN_UTM_CAMPAIGN, LIMIT_MIN_UTM_CONTENT, LIMIT_MIN_UTM_CREATIVE_FORMAT, LIMIT_MIN_UTM_ID, LIMIT_MIN_UTM_KEY, LIMIT_MIN_UTM_MEDIUM, LIMIT_MIN_UTM_SOURCE, LIMIT_MIN_UTM_TERM, LIMIT_MIN_VALUE, LIMIT_SHORT_STRING_MAX_LENGTH, LIMIT_VAL_10, LIMIT_VAL_100 } from './limits.constants.js';
|
|
7
7
|
export { ERROR_MESSAGE_COMMA_SEPPARATED_URLS, ERROR_MESSAGE_INVALID_URL, ERROR_MESSAGE_ONE_PROJECT_STATUS, ERROR_MESSAGE_ROBOT, ERROR_MESSAGE_URL_NO_QUERY_PARAMS, ERROR_MESSAGE_URL_PREFIX, ERROR_MESSAGE_UTM_URL } from './message-response.constants.js';
|
|
8
8
|
export { LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE, LIMIT_BLOG_POST_PAGINATION_MAX_SIZE, LIMIT_CATEGORIES_DEFAULT_SIZE, LIMIT_CATEGORIES_MAX_SIZE, LIMIT_CLIENT_CONTENT_PILLAR_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_CONTENT_PILLAR_PAGINATION_MAX_SIZE, LIMIT_CLIENT_MEDIA_PLATFORM_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_MEDIA_PLATFORM_PAGINATION_MAX_SIZE, LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_PAGINATION_MAX_SIZE, LIMIT_CLIENT_PROJECT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_PROJECT_PAGINATION_MAX_SIZE, LIMIT_CLIENT_REPORT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_REPORT_PAGINATION_MAX_SIZE, LIMIT_CLIENT_STYLEGUIDE_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_STYLEGUIDE_PAGINATION_MAX_SIZE, LIMIT_CLIENT_USER_PAGINATION_DEFAULT_SIZE_LIMIT, LIMIT_CLIENT_USER_PAGINATION_MAX_SIZE_LIMIT, LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_PAGINATION_MAX_SIZE, LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE, LIMIT_REDIRECT_PAGINATION_MAX_SIZE, LIMIT_TABLE_PAGINATION_DEFAULT_SIZE, LIMIT_TAGS_DEFAULT_SIZE, LIMIT_TAGS_MAX_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE, LIMIT_TREND_PAGINATION_DEFAULT_SIZE, LIMIT_TREND_PAGINATION_MAX_SIZE, LIMIT_USER_PAGINATION_DEFAULT_SIZE, LIMIT_USER_PAGINATION_MAX_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE } from './pagination.constants.js';
|
|
9
|
-
export { CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS,
|
|
9
|
+
export { a as CLIENT_ENTITY_KEYS, C as CLIENT_ENTITY_PERMISSIONS, b as CLIENT_ENTITY_SCOPES } from '../permission.constants-DVf4IlLp.js';
|
|
10
10
|
export { ERROR_MESSAGE_REGEX_PHONE, ERROR_MESSAGE_REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_UTM_VALUE, REGEX_BRAND_COLOR_SLUG, REGEX_NANP_PHONE, REGEX_URL_SLUG, REGEX_UTM_VALUE } from './regex.constants.js';
|
|
11
|
+
import '../types/core/document.js';
|
|
12
|
+
import '../types/components/blocks/brand-logos.js';
|
|
13
|
+
import '../types/core/media.js';
|
|
14
|
+
import '../types/components/shared/rich-text-block.js';
|
|
15
|
+
import '../types/components/brand/styleguide-color.js';
|
|
16
|
+
import '../types/components/brand/styleguide-font.js';
|
|
17
|
+
import '../types/components/blocks/fullscreen-content.js';
|
|
18
|
+
import '../types/components/blocks/video.js';
|
|
19
|
+
import '../types/documents/tag.document.js';
|
|
20
|
+
import '../types/documents/product.document.js';
|
|
21
|
+
import '../types/components/shared/seo.js';
|
|
22
|
+
import '../types/components/utm/utm-option.js';
|
|
23
|
+
import '../types/documents/comment.document.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/constants/permission.constants.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"sources":["../../src/constants/permission.constants.ts"],"names":[],"mappings":";;AAUO,MAAM,yBAAA,GAA4B;AAAA,EACvC,QAAQ,CAAC,OAAA,EAAS,OAAA,EAAS,SAAA,EAAW,WAAW,QAAQ,CAAA;AAAA,EACzD,kBAAkB,CAAC,MAAA,EAAQ,UAAU,MAAA,EAAQ,QAAA,EAAU,UAAU,QAAQ,CAAA;AAAA,EACzE,yBAAyB,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,UAAU,QAAQ,CAAA;AAAA,EACtE,sCAAsC,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,UAAU,QAAQ,CAAA;AAAA,EACnF,yBAAyB,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,UAAU,QAAQ,CAAA;AAAA,EACtE,iBAAiB,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,UAAU,QAAQ,CAAA;AAAA,EAC9D,qBAAqB,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,UAAU,QAAQ,CAAA;AAAA,EAClE,qBAAqB,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,UAAU,QAAQ,CAAA;AAAA,EAClE,WAAW,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,UAAU,QAAQ,CAAA;AAAA,EACxD,kBAAkB,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,UAAU,QAAQ;AACjE;AAEO,MAAM,qBAAqB,MAAA,CAAO,IAAA;AAAA,EACvC;AACF;AAEO,MAAM,uBAA4C,MAAA,CAAO,OAAA;AAAA,EAC9D;AACF,CAAA,CAAE,OAAA;AAAA,EAAQ,CAAC,CAAC,MAAA,EAAQ,OAAO,CAAA,KACzB,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,KAAW,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,MAAM,CAAA,CAAuB;AACpE","file":"permission.constants.cjs","sourcesContent":["/**\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\nimport { ClientEntityKey, ClientEntityScope } from \"../types\"\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 \"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 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"]}
|
|
@@ -1,29 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
readonly "gcflytour-snap": readonly ["list", "create", "read", "update", "delete"];
|
|
19
|
-
};
|
|
20
|
-
type ClientEntityKey = keyof typeof CLIENT_ENTITY_PERMISSIONS;
|
|
21
|
-
type ClientEntityActions<K extends ClientEntityKey = ClientEntityKey> = (typeof CLIENT_ENTITY_PERMISSIONS)[K][number];
|
|
22
|
-
type EntityActionJoin<K extends string, V extends string> = `${K}:${V}`;
|
|
23
|
-
type ClientEntityScope = {
|
|
24
|
-
[K in ClientEntityKey]: EntityActionJoin<K, (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]>;
|
|
25
|
-
}[ClientEntityKey];
|
|
26
|
-
declare const CLIENT_ENTITY_KEYS: ClientEntityKey[];
|
|
27
|
-
declare const CLIENT_ENTITY_SCOPES: ClientEntityScope[];
|
|
28
|
-
|
|
29
|
-
export { CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, type ClientEntityActions, type ClientEntityKey, type ClientEntityScope };
|
|
1
|
+
export { a as CLIENT_ENTITY_KEYS, C as CLIENT_ENTITY_PERMISSIONS, b as CLIENT_ENTITY_SCOPES } from '../permission.constants-Cz0fuVJx.cjs';
|
|
2
|
+
import '../types/core/document.cjs';
|
|
3
|
+
import '../types/components/blocks/brand-logos.cjs';
|
|
4
|
+
import '../types/core/media.cjs';
|
|
5
|
+
import '../types/components/shared/rich-text-block.cjs';
|
|
6
|
+
import './client-project.constants.cjs';
|
|
7
|
+
import '../types/components/brand/styleguide-color.cjs';
|
|
8
|
+
import '../types/components/brand/styleguide-font.cjs';
|
|
9
|
+
import './font.constants.cjs';
|
|
10
|
+
import '../types/components/blocks/fullscreen-content.cjs';
|
|
11
|
+
import '../types/components/blocks/video.cjs';
|
|
12
|
+
import '../types/documents/tag.document.cjs';
|
|
13
|
+
import '../types/documents/product.document.cjs';
|
|
14
|
+
import '../types/components/shared/seo.cjs';
|
|
15
|
+
import '../types/components/utm/utm-option.cjs';
|
|
16
|
+
import '../types/documents/comment.document.cjs';
|
|
17
|
+
import './comment.constants.cjs';
|
|
@@ -1,29 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
readonly "gcflytour-snap": readonly ["list", "create", "read", "update", "delete"];
|
|
19
|
-
};
|
|
20
|
-
type ClientEntityKey = keyof typeof CLIENT_ENTITY_PERMISSIONS;
|
|
21
|
-
type ClientEntityActions<K extends ClientEntityKey = ClientEntityKey> = (typeof CLIENT_ENTITY_PERMISSIONS)[K][number];
|
|
22
|
-
type EntityActionJoin<K extends string, V extends string> = `${K}:${V}`;
|
|
23
|
-
type ClientEntityScope = {
|
|
24
|
-
[K in ClientEntityKey]: EntityActionJoin<K, (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]>;
|
|
25
|
-
}[ClientEntityKey];
|
|
26
|
-
declare const CLIENT_ENTITY_KEYS: ClientEntityKey[];
|
|
27
|
-
declare const CLIENT_ENTITY_SCOPES: ClientEntityScope[];
|
|
28
|
-
|
|
29
|
-
export { CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, type ClientEntityActions, type ClientEntityKey, type ClientEntityScope };
|
|
1
|
+
export { a as CLIENT_ENTITY_KEYS, C as CLIENT_ENTITY_PERMISSIONS, b as CLIENT_ENTITY_SCOPES } from '../permission.constants-DVf4IlLp.js';
|
|
2
|
+
import '../types/core/document.js';
|
|
3
|
+
import '../types/components/blocks/brand-logos.js';
|
|
4
|
+
import '../types/core/media.js';
|
|
5
|
+
import '../types/components/shared/rich-text-block.js';
|
|
6
|
+
import './client-project.constants.js';
|
|
7
|
+
import '../types/components/brand/styleguide-color.js';
|
|
8
|
+
import '../types/components/brand/styleguide-font.js';
|
|
9
|
+
import './font.constants.js';
|
|
10
|
+
import '../types/components/blocks/fullscreen-content.js';
|
|
11
|
+
import '../types/components/blocks/video.js';
|
|
12
|
+
import '../types/documents/tag.document.js';
|
|
13
|
+
import '../types/documents/product.document.js';
|
|
14
|
+
import '../types/components/shared/seo.js';
|
|
15
|
+
import '../types/components/utm/utm-option.js';
|
|
16
|
+
import '../types/documents/comment.document.js';
|
|
17
|
+
import './comment.constants.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/constants/permission.constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/constants/permission.constants.ts"],"names":[],"mappings":"AAUO,MAAM,yBAAA,GAA4B;AAAA,EACvC,QAAQ,CAAC,OAAA,EAAS,OAAA,EAAS,SAAA,EAAW,WAAW,QAAQ,CAAA;AAAA,EACzD,kBAAkB,CAAC,MAAA,EAAQ,UAAU,MAAA,EAAQ,QAAA,EAAU,UAAU,QAAQ,CAAA;AAAA,EACzE,yBAAyB,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,UAAU,QAAQ,CAAA;AAAA,EACtE,sCAAsC,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,UAAU,QAAQ,CAAA;AAAA,EACnF,yBAAyB,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,UAAU,QAAQ,CAAA;AAAA,EACtE,iBAAiB,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,UAAU,QAAQ,CAAA;AAAA,EAC9D,qBAAqB,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,UAAU,QAAQ,CAAA;AAAA,EAClE,qBAAqB,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,UAAU,QAAQ,CAAA;AAAA,EAClE,WAAW,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,UAAU,QAAQ,CAAA;AAAA,EACxD,kBAAkB,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,UAAU,QAAQ;AACjE;AAEO,MAAM,qBAAqB,MAAA,CAAO,IAAA;AAAA,EACvC;AACF;AAEO,MAAM,uBAA4C,MAAA,CAAO,OAAA;AAAA,EAC9D;AACF,CAAA,CAAE,OAAA;AAAA,EAAQ,CAAC,CAAC,MAAA,EAAQ,OAAO,CAAA,KACzB,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,KAAW,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,MAAM,CAAA,CAAuB;AACpE","file":"permission.constants.js","sourcesContent":["/**\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\nimport { ClientEntityKey, ClientEntityScope } from \"../types\"\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 \"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 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"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -6,7 +6,7 @@ export { ValidGcDesiredContentOptions, ValidGcServiceOptions, ValidGcVideoServic
|
|
|
6
6
|
export { LIMIT_LONG_STRING_MAX_LENGTH, LIMIT_MAX_DESTINATION, LIMIT_MAX_DOMAIN, LIMIT_MAX_EMAIL, LIMIT_MAX_FRAGMENT, LIMIT_MAX_PASSWORD, LIMIT_MAX_PATH, LIMIT_MAX_PHONE, LIMIT_MAX_PROVIDER, LIMIT_MAX_QUERY, LIMIT_MAX_USERNAME, LIMIT_MAX_UTM_CAMPAIGN, LIMIT_MAX_UTM_CONTENT, LIMIT_MAX_UTM_CREATIVE_FORMAT, LIMIT_MAX_UTM_ID, LIMIT_MAX_UTM_KEY, LIMIT_MAX_UTM_MEDIUM, LIMIT_MAX_UTM_SOURCE, LIMIT_MAX_UTM_TERM, LIMIT_MEDIUM_STRING_MAX_LENGTH, LIMIT_MIN_DESTINATION, LIMIT_MIN_DOMAIN, LIMIT_MIN_EMAIL, LIMIT_MIN_FRAGMENT, LIMIT_MIN_PASSWORD, LIMIT_MIN_PATH, LIMIT_MIN_PHONE, LIMIT_MIN_QUERY, LIMIT_MIN_USERNAME, LIMIT_MIN_UTM_CAMPAIGN, LIMIT_MIN_UTM_CONTENT, LIMIT_MIN_UTM_CREATIVE_FORMAT, LIMIT_MIN_UTM_ID, LIMIT_MIN_UTM_KEY, LIMIT_MIN_UTM_MEDIUM, LIMIT_MIN_UTM_SOURCE, LIMIT_MIN_UTM_TERM, LIMIT_MIN_VALUE, LIMIT_SHORT_STRING_MAX_LENGTH, LIMIT_VAL_10, LIMIT_VAL_100 } from './constants/limits.constants.cjs';
|
|
7
7
|
export { ERROR_MESSAGE_COMMA_SEPPARATED_URLS, ERROR_MESSAGE_INVALID_URL, ERROR_MESSAGE_ONE_PROJECT_STATUS, ERROR_MESSAGE_ROBOT, ERROR_MESSAGE_URL_NO_QUERY_PARAMS, ERROR_MESSAGE_URL_PREFIX, ERROR_MESSAGE_UTM_URL } from './constants/message-response.constants.cjs';
|
|
8
8
|
export { LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE, LIMIT_BLOG_POST_PAGINATION_MAX_SIZE, LIMIT_CATEGORIES_DEFAULT_SIZE, LIMIT_CATEGORIES_MAX_SIZE, LIMIT_CLIENT_CONTENT_PILLAR_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_CONTENT_PILLAR_PAGINATION_MAX_SIZE, LIMIT_CLIENT_MEDIA_PLATFORM_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_MEDIA_PLATFORM_PAGINATION_MAX_SIZE, LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_PAGINATION_MAX_SIZE, LIMIT_CLIENT_PROJECT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_PROJECT_PAGINATION_MAX_SIZE, LIMIT_CLIENT_REPORT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_REPORT_PAGINATION_MAX_SIZE, LIMIT_CLIENT_STYLEGUIDE_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_STYLEGUIDE_PAGINATION_MAX_SIZE, LIMIT_CLIENT_USER_PAGINATION_DEFAULT_SIZE_LIMIT, LIMIT_CLIENT_USER_PAGINATION_MAX_SIZE_LIMIT, LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_PAGINATION_MAX_SIZE, LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE, LIMIT_REDIRECT_PAGINATION_MAX_SIZE, LIMIT_TABLE_PAGINATION_DEFAULT_SIZE, LIMIT_TAGS_DEFAULT_SIZE, LIMIT_TAGS_MAX_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE, LIMIT_TREND_PAGINATION_DEFAULT_SIZE, LIMIT_TREND_PAGINATION_MAX_SIZE, LIMIT_USER_PAGINATION_DEFAULT_SIZE, LIMIT_USER_PAGINATION_MAX_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE } from './constants/pagination.constants.cjs';
|
|
9
|
-
export { CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, ClientEntityActions, ClientEntityKey, ClientEntityScope } from './
|
|
9
|
+
export { A as AuthorizedUserDocument, a as CLIENT_ENTITY_KEYS, C as CLIENT_ENTITY_PERMISSIONS, b as CLIENT_ENTITY_SCOPES, c as ClientContentPillarDocument, k as ClientDocument, x as ClientEntityActions, w as ClientEntityKey, y as ClientEntityScope, d as ClientMediaPlatformContentTypeDocument, e as ClientMediaPlatformDocument, f as ClientProjectDocument, g as ClientReportDocument, h as ClientStyleguideDocument, i as ClientUserDocument, j as ClientUserDocumentStatus, l as ContentPillarDocument, m as GCFlyTourDocument, G as GCFlyTourSnapDocument, L as LCRUDActions, M as MediaContentTypeDocument, n as MediaPlatformDocument, P as PermissionDocument, v as Permissions, o as ProductHighlightDocument, p as RoleDocument, R as RoleType, u as RolesWithPermissions, U as UserAccountDocument, r as UserAuthorizationLoginResponse, s as UserAuthorizationSuccessResponse, q as UserDocument, t as UtmTrackingLinkDocument } from './permission.constants-Cz0fuVJx.cjs';
|
|
10
10
|
export { ERROR_MESSAGE_REGEX_PHONE, ERROR_MESSAGE_REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_UTM_VALUE, REGEX_BRAND_COLOR_SLUG, REGEX_NANP_PHONE, REGEX_URL_SLUG, REGEX_UTM_VALUE } from './constants/regex.constants.cjs';
|
|
11
11
|
export { QuerySortBlogPosts, QueryStrapiSearchBlogPosts, QueryStrapiSearchBlogPostsBySlug } from './schemas/blog.schemas.cjs';
|
|
12
12
|
export { QuerySortCategories, QueryStrapiSearchCategories, SCreateCategoryDocument, SUpdateCategoryDocument, SUpdateCategoryDocumentRequest } from './schemas/category.schemas.cjs';
|
|
@@ -72,8 +72,7 @@ export { StrapiBgColorOptions, StrapiDirection, StrapiGapSizes, StrapiIconName,
|
|
|
72
72
|
export { FormSelectInputOption } from './types/core/forms.cjs';
|
|
73
73
|
export { MediaFormat, MediaFormats, MediaUploadDocument } from './types/core/media.cjs';
|
|
74
74
|
export { StrapiAttributeErrorDetail, StrapiAttributeErrorKey, StrapiAttributeErrorResponse, StrapiErrorDetail, StrapiErrorResponse, StrapiErrorResult, StrapiListResponse, StrapiPagination, StrapiResponseMeta, StrapiResponseMetaWithPagination, StrapiSingleResponse } from './types/core/response.cjs';
|
|
75
|
-
export { B as BlogPostBlock, a as BlogPostDocument, C as CategoryDocument, c as TeamMemberDocument, b as TeamMemberGroup, T as TeamMemberTier, d as TrendDocument } from './blog-post.document-
|
|
76
|
-
export { A as AuthorizedUserDocument, C as ClientContentPillarDocument, h as ClientDocument, a as ClientMediaPlatformContentTypeDocument, b as ClientMediaPlatformDocument, c as ClientProjectDocument, d as ClientReportDocument, e as ClientStyleguideDocument, f as ClientUserDocument, g as ClientUserDocumentStatus, i as ContentPillarDocument, j as GCFlyTourDocument, G as GCFlyTourSnapDocument, M as MediaContentTypeDocument, k as MediaPlatformDocument, P as PermissionDocument, l as ProductHighlightDocument, m as RoleDocument, R as RoleType, U as UserAccountDocument, o as UserAuthorizationLoginResponse, p as UserAuthorizationSuccessResponse, n as UserDocument, q as UtmTrackingLinkDocument } from './client-content-pillar.document-BmtrCuzt.cjs';
|
|
75
|
+
export { B as BlogPostBlock, a as BlogPostDocument, C as CategoryDocument, c as TeamMemberDocument, b as TeamMemberGroup, T as TeamMemberTier, d as TrendDocument } from './blog-post.document-psR2l_yP.cjs';
|
|
77
76
|
export { CommentDocument, CommentReportDocument } from './types/documents/comment.document.cjs';
|
|
78
77
|
export { LeadDocument } from './types/documents/lead.document.cjs';
|
|
79
78
|
export { NewsletterSignupDocument } from './types/documents/newsletter-signup.document.cjs';
|
|
@@ -81,7 +80,6 @@ export { ProductDocument } from './types/documents/product.document.cjs';
|
|
|
81
80
|
export { ResumeDocument } from './types/documents/resume.document.cjs';
|
|
82
81
|
export { TagDocument } from './types/documents/tag.document.cjs';
|
|
83
82
|
export { UrlRedirectDocument, UrlRedirectQueryParams, UrlRedirectStatusCode } from './types/documents/url-redirect.document.cjs';
|
|
84
|
-
export { LCRUDActions, Permissions, RolesWithPermissions } from './types/permissions/permission.types.cjs';
|
|
85
83
|
export { BlogPageDocument } from './types/singles/blog-page.cjs';
|
|
86
84
|
export { CareersPageDocument } from './types/singles/careers-page.cjs';
|
|
87
85
|
export { FAQPageDocument } from './types/singles/faq-page.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export { ValidGcDesiredContentOptions, ValidGcServiceOptions, ValidGcVideoServic
|
|
|
6
6
|
export { LIMIT_LONG_STRING_MAX_LENGTH, LIMIT_MAX_DESTINATION, LIMIT_MAX_DOMAIN, LIMIT_MAX_EMAIL, LIMIT_MAX_FRAGMENT, LIMIT_MAX_PASSWORD, LIMIT_MAX_PATH, LIMIT_MAX_PHONE, LIMIT_MAX_PROVIDER, LIMIT_MAX_QUERY, LIMIT_MAX_USERNAME, LIMIT_MAX_UTM_CAMPAIGN, LIMIT_MAX_UTM_CONTENT, LIMIT_MAX_UTM_CREATIVE_FORMAT, LIMIT_MAX_UTM_ID, LIMIT_MAX_UTM_KEY, LIMIT_MAX_UTM_MEDIUM, LIMIT_MAX_UTM_SOURCE, LIMIT_MAX_UTM_TERM, LIMIT_MEDIUM_STRING_MAX_LENGTH, LIMIT_MIN_DESTINATION, LIMIT_MIN_DOMAIN, LIMIT_MIN_EMAIL, LIMIT_MIN_FRAGMENT, LIMIT_MIN_PASSWORD, LIMIT_MIN_PATH, LIMIT_MIN_PHONE, LIMIT_MIN_QUERY, LIMIT_MIN_USERNAME, LIMIT_MIN_UTM_CAMPAIGN, LIMIT_MIN_UTM_CONTENT, LIMIT_MIN_UTM_CREATIVE_FORMAT, LIMIT_MIN_UTM_ID, LIMIT_MIN_UTM_KEY, LIMIT_MIN_UTM_MEDIUM, LIMIT_MIN_UTM_SOURCE, LIMIT_MIN_UTM_TERM, LIMIT_MIN_VALUE, LIMIT_SHORT_STRING_MAX_LENGTH, LIMIT_VAL_10, LIMIT_VAL_100 } from './constants/limits.constants.js';
|
|
7
7
|
export { ERROR_MESSAGE_COMMA_SEPPARATED_URLS, ERROR_MESSAGE_INVALID_URL, ERROR_MESSAGE_ONE_PROJECT_STATUS, ERROR_MESSAGE_ROBOT, ERROR_MESSAGE_URL_NO_QUERY_PARAMS, ERROR_MESSAGE_URL_PREFIX, ERROR_MESSAGE_UTM_URL } from './constants/message-response.constants.js';
|
|
8
8
|
export { LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE, LIMIT_BLOG_POST_PAGINATION_MAX_SIZE, LIMIT_CATEGORIES_DEFAULT_SIZE, LIMIT_CATEGORIES_MAX_SIZE, LIMIT_CLIENT_CONTENT_PILLAR_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_CONTENT_PILLAR_PAGINATION_MAX_SIZE, LIMIT_CLIENT_MEDIA_PLATFORM_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_MEDIA_PLATFORM_PAGINATION_MAX_SIZE, LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_PAGINATION_MAX_SIZE, LIMIT_CLIENT_PROJECT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_PROJECT_PAGINATION_MAX_SIZE, LIMIT_CLIENT_REPORT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_REPORT_PAGINATION_MAX_SIZE, LIMIT_CLIENT_STYLEGUIDE_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_STYLEGUIDE_PAGINATION_MAX_SIZE, LIMIT_CLIENT_USER_PAGINATION_DEFAULT_SIZE_LIMIT, LIMIT_CLIENT_USER_PAGINATION_MAX_SIZE_LIMIT, LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_PAGINATION_MAX_SIZE, LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE, LIMIT_REDIRECT_PAGINATION_MAX_SIZE, LIMIT_TABLE_PAGINATION_DEFAULT_SIZE, LIMIT_TAGS_DEFAULT_SIZE, LIMIT_TAGS_MAX_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE, LIMIT_TREND_PAGINATION_DEFAULT_SIZE, LIMIT_TREND_PAGINATION_MAX_SIZE, LIMIT_USER_PAGINATION_DEFAULT_SIZE, LIMIT_USER_PAGINATION_MAX_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE } from './constants/pagination.constants.js';
|
|
9
|
-
export { CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, ClientEntityActions, ClientEntityKey, ClientEntityScope } from './
|
|
9
|
+
export { A as AuthorizedUserDocument, a as CLIENT_ENTITY_KEYS, C as CLIENT_ENTITY_PERMISSIONS, b as CLIENT_ENTITY_SCOPES, c as ClientContentPillarDocument, k as ClientDocument, x as ClientEntityActions, w as ClientEntityKey, y as ClientEntityScope, d as ClientMediaPlatformContentTypeDocument, e as ClientMediaPlatformDocument, f as ClientProjectDocument, g as ClientReportDocument, h as ClientStyleguideDocument, i as ClientUserDocument, j as ClientUserDocumentStatus, l as ContentPillarDocument, m as GCFlyTourDocument, G as GCFlyTourSnapDocument, L as LCRUDActions, M as MediaContentTypeDocument, n as MediaPlatformDocument, P as PermissionDocument, v as Permissions, o as ProductHighlightDocument, p as RoleDocument, R as RoleType, u as RolesWithPermissions, U as UserAccountDocument, r as UserAuthorizationLoginResponse, s as UserAuthorizationSuccessResponse, q as UserDocument, t as UtmTrackingLinkDocument } from './permission.constants-DVf4IlLp.js';
|
|
10
10
|
export { ERROR_MESSAGE_REGEX_PHONE, ERROR_MESSAGE_REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_UTM_VALUE, REGEX_BRAND_COLOR_SLUG, REGEX_NANP_PHONE, REGEX_URL_SLUG, REGEX_UTM_VALUE } from './constants/regex.constants.js';
|
|
11
11
|
export { QuerySortBlogPosts, QueryStrapiSearchBlogPosts, QueryStrapiSearchBlogPostsBySlug } from './schemas/blog.schemas.js';
|
|
12
12
|
export { QuerySortCategories, QueryStrapiSearchCategories, SCreateCategoryDocument, SUpdateCategoryDocument, SUpdateCategoryDocumentRequest } from './schemas/category.schemas.js';
|
|
@@ -72,8 +72,7 @@ export { StrapiBgColorOptions, StrapiDirection, StrapiGapSizes, StrapiIconName,
|
|
|
72
72
|
export { FormSelectInputOption } from './types/core/forms.js';
|
|
73
73
|
export { MediaFormat, MediaFormats, MediaUploadDocument } from './types/core/media.js';
|
|
74
74
|
export { StrapiAttributeErrorDetail, StrapiAttributeErrorKey, StrapiAttributeErrorResponse, StrapiErrorDetail, StrapiErrorResponse, StrapiErrorResult, StrapiListResponse, StrapiPagination, StrapiResponseMeta, StrapiResponseMetaWithPagination, StrapiSingleResponse } from './types/core/response.js';
|
|
75
|
-
export { B as BlogPostBlock, a as BlogPostDocument, C as CategoryDocument, c as TeamMemberDocument, b as TeamMemberGroup, T as TeamMemberTier, d as TrendDocument } from './blog-post.document-
|
|
76
|
-
export { A as AuthorizedUserDocument, C as ClientContentPillarDocument, h as ClientDocument, a as ClientMediaPlatformContentTypeDocument, b as ClientMediaPlatformDocument, c as ClientProjectDocument, d as ClientReportDocument, e as ClientStyleguideDocument, f as ClientUserDocument, g as ClientUserDocumentStatus, i as ContentPillarDocument, j as GCFlyTourDocument, G as GCFlyTourSnapDocument, M as MediaContentTypeDocument, k as MediaPlatformDocument, P as PermissionDocument, l as ProductHighlightDocument, m as RoleDocument, R as RoleType, U as UserAccountDocument, o as UserAuthorizationLoginResponse, p as UserAuthorizationSuccessResponse, n as UserDocument, q as UtmTrackingLinkDocument } from './client-content-pillar.document-XoX1rNnY.js';
|
|
75
|
+
export { B as BlogPostBlock, a as BlogPostDocument, C as CategoryDocument, c as TeamMemberDocument, b as TeamMemberGroup, T as TeamMemberTier, d as TrendDocument } from './blog-post.document-DuONcTyz.js';
|
|
77
76
|
export { CommentDocument, CommentReportDocument } from './types/documents/comment.document.js';
|
|
78
77
|
export { LeadDocument } from './types/documents/lead.document.js';
|
|
79
78
|
export { NewsletterSignupDocument } from './types/documents/newsletter-signup.document.js';
|
|
@@ -81,7 +80,6 @@ export { ProductDocument } from './types/documents/product.document.js';
|
|
|
81
80
|
export { ResumeDocument } from './types/documents/resume.document.js';
|
|
82
81
|
export { TagDocument } from './types/documents/tag.document.js';
|
|
83
82
|
export { UrlRedirectDocument, UrlRedirectQueryParams, UrlRedirectStatusCode } from './types/documents/url-redirect.document.js';
|
|
84
|
-
export { LCRUDActions, Permissions, RolesWithPermissions } from './types/permissions/permission.types.js';
|
|
85
83
|
export { BlogPageDocument } from './types/singles/blog-page.js';
|
|
86
84
|
export { CareersPageDocument } from './types/singles/careers-page.js';
|
|
87
85
|
export { FAQPageDocument } from './types/singles/faq-page.js';
|
package/dist/{client-content-pillar.document-BmtrCuzt.d.cts → permission.constants-Cz0fuVJx.d.cts}
RENAMED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { BaseDocument } from './types/core/document.cjs';
|
|
2
2
|
import { BlockBrandLogos } from './types/components/blocks/brand-logos.cjs';
|
|
3
|
-
import { UtmClassificationKey } from './types/components/utm/utm-option.cjs';
|
|
4
3
|
import { RichTextBlock } from './types/components/shared/rich-text-block.cjs';
|
|
5
4
|
import { ClientProjectStatus, ClientProjectPhase } from './constants/client-project.constants.cjs';
|
|
6
5
|
import { MediaUploadDocument } from './types/core/media.cjs';
|
|
7
6
|
import { ComponentBrandStyleguideColor } from './types/components/brand/styleguide-color.cjs';
|
|
8
7
|
import { ComponentBrandStyleguideFont } from './types/components/brand/styleguide-font.cjs';
|
|
9
|
-
import { ClientEntityScope } from './constants/permission.constants.cjs';
|
|
10
8
|
import { BlockFullscreenContent } from './types/components/blocks/fullscreen-content.cjs';
|
|
11
|
-
import { ProductDocument } from './types/documents/product.document.cjs';
|
|
12
9
|
import { TagDocument } from './types/documents/tag.document.cjs';
|
|
10
|
+
import { ProductDocument } from './types/documents/product.document.cjs';
|
|
11
|
+
import { UtmClassificationKey } from './types/components/utm/utm-option.cjs';
|
|
12
|
+
import { CommentDocument } from './types/documents/comment.document.cjs';
|
|
13
13
|
|
|
14
14
|
type ClientMediaPlatformContentTypeDocument = {
|
|
15
15
|
is_active: boolean;
|
|
@@ -245,4 +245,118 @@ type ClientContentPillarDocument = {
|
|
|
245
245
|
is_active: boolean;
|
|
246
246
|
} & BaseDocument;
|
|
247
247
|
|
|
248
|
-
|
|
248
|
+
/**
|
|
249
|
+
* Attribute-based access control (ABAC) permissions
|
|
250
|
+
*
|
|
251
|
+
* @reference https://github.com/WebDevSimplified/permission-system/blob/main/auth-abac.ts
|
|
252
|
+
*/
|
|
253
|
+
|
|
254
|
+
type LCRUDActions = "list" | "create" | "read" | "update" | "delete";
|
|
255
|
+
type PermissionCheck<Key extends keyof Permissions> = boolean | ((user: AuthorizedUserDocument, permissions: ClientUserDocumentStatus, data?: Permissions[Key]["dataType"]) => boolean);
|
|
256
|
+
type RolesWithPermissions = {
|
|
257
|
+
[R in RoleType]: Partial<{
|
|
258
|
+
[Key in keyof Permissions]: Partial<{
|
|
259
|
+
[Action in Permissions[Key]["action"]]: PermissionCheck<Key>;
|
|
260
|
+
}>;
|
|
261
|
+
}>;
|
|
262
|
+
};
|
|
263
|
+
type Permissions = {
|
|
264
|
+
"user-account": {
|
|
265
|
+
dataType: UserAccountDocument;
|
|
266
|
+
action: LCRUDActions;
|
|
267
|
+
};
|
|
268
|
+
comment: {
|
|
269
|
+
dataType: CommentDocument;
|
|
270
|
+
action: "list" | "create" | "update" | "delete" | "report";
|
|
271
|
+
};
|
|
272
|
+
client: {
|
|
273
|
+
dataType: ClientDocument;
|
|
274
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client"][number] | LCRUDActions;
|
|
275
|
+
};
|
|
276
|
+
"client-user": {
|
|
277
|
+
dataType: ClientUserDocument;
|
|
278
|
+
action: LCRUDActions | "verify";
|
|
279
|
+
};
|
|
280
|
+
"client-content-pillar": {
|
|
281
|
+
dataType: ClientContentPillarDocument;
|
|
282
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client-content-pillar"][number];
|
|
283
|
+
};
|
|
284
|
+
"client-media-platform": {
|
|
285
|
+
dataType: ClientMediaPlatformDocument;
|
|
286
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client-media-platform"][number];
|
|
287
|
+
};
|
|
288
|
+
"client-media-platform-content-type": {
|
|
289
|
+
dataType: ClientMediaPlatformContentTypeDocument;
|
|
290
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client-media-platform-content-type"][number];
|
|
291
|
+
};
|
|
292
|
+
"client-project": {
|
|
293
|
+
dataType: ClientProjectDocument;
|
|
294
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client-project"][number];
|
|
295
|
+
};
|
|
296
|
+
"client-report": {
|
|
297
|
+
dataType: ClientReportDocument;
|
|
298
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client-report"][number];
|
|
299
|
+
};
|
|
300
|
+
"client-styleguide": {
|
|
301
|
+
dataType: ClientStyleguideDocument;
|
|
302
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client-styleguide"][number];
|
|
303
|
+
};
|
|
304
|
+
"content-pillar": {
|
|
305
|
+
dataType: ContentPillarDocument;
|
|
306
|
+
action: LCRUDActions;
|
|
307
|
+
};
|
|
308
|
+
"media-platform": {
|
|
309
|
+
dataType: MediaPlatformDocument;
|
|
310
|
+
action: LCRUDActions;
|
|
311
|
+
};
|
|
312
|
+
"media-content-type": {
|
|
313
|
+
dataType: MediaContentTypeDocument;
|
|
314
|
+
action: LCRUDActions;
|
|
315
|
+
};
|
|
316
|
+
"utm-tracking-link": {
|
|
317
|
+
dataType: UtmTrackingLinkDocument;
|
|
318
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["utm-tracking-link"][number];
|
|
319
|
+
};
|
|
320
|
+
gcflytour: {
|
|
321
|
+
dataType: GCFlyTourDocument;
|
|
322
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["gcflytour"][number];
|
|
323
|
+
};
|
|
324
|
+
"gcflytour-snap": {
|
|
325
|
+
dataType: GCFlyTourSnapDocument;
|
|
326
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["gcflytour-snap"][number];
|
|
327
|
+
};
|
|
328
|
+
};
|
|
329
|
+
/**
|
|
330
|
+
* Example usage of ClientEntityScope type
|
|
331
|
+
*/
|
|
332
|
+
type ClientEntityKey = keyof typeof CLIENT_ENTITY_PERMISSIONS;
|
|
333
|
+
type ClientEntityActions<K extends ClientEntityKey = ClientEntityKey> = (typeof CLIENT_ENTITY_PERMISSIONS)[K][number];
|
|
334
|
+
type EntityActionJoin<K extends string, V extends string> = `${K}:${V}`;
|
|
335
|
+
type ClientEntityScope = {
|
|
336
|
+
[K in ClientEntityKey]: EntityActionJoin<K, (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]>;
|
|
337
|
+
}[ClientEntityKey];
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* Example usage of ClientEntityScope type
|
|
341
|
+
* @reference https://youtube.com/shorts/zOseJFD447U?si=xX8DYEHdl9YtN7S4
|
|
342
|
+
*
|
|
343
|
+
* > const validScope: ClientEntityScope = "utm-tracking-link:list"; // ✅
|
|
344
|
+
* > const invalidScope: ClientEntityScope = "blog-post:import"; // ❌ Type error!
|
|
345
|
+
*/
|
|
346
|
+
|
|
347
|
+
declare const CLIENT_ENTITY_PERMISSIONS: {
|
|
348
|
+
readonly client: readonly ["admin", "owner", "manager", "billing", "access"];
|
|
349
|
+
readonly "client-project": readonly ["list", "create", "read", "update", "delete", "assign"];
|
|
350
|
+
readonly "client-media-platform": readonly ["list", "create", "read", "update", "delete"];
|
|
351
|
+
readonly "client-media-platform-content-type": readonly ["list", "create", "read", "update", "delete"];
|
|
352
|
+
readonly "client-content-pillar": readonly ["list", "create", "read", "update", "delete"];
|
|
353
|
+
readonly "client-report": readonly ["list", "create", "read", "update", "delete"];
|
|
354
|
+
readonly "client-styleguide": readonly ["list", "create", "read", "update", "delete"];
|
|
355
|
+
readonly "utm-tracking-link": readonly ["list", "create", "read", "update", "delete"];
|
|
356
|
+
readonly gcflytour: readonly ["list", "create", "read", "update", "delete"];
|
|
357
|
+
readonly "gcflytour-snap": readonly ["list", "create", "read", "update", "delete"];
|
|
358
|
+
};
|
|
359
|
+
declare const CLIENT_ENTITY_KEYS: ClientEntityKey[];
|
|
360
|
+
declare const CLIENT_ENTITY_SCOPES: ClientEntityScope[];
|
|
361
|
+
|
|
362
|
+
export { type AuthorizedUserDocument as A, CLIENT_ENTITY_PERMISSIONS as C, type GCFlyTourSnapDocument as G, type LCRUDActions as L, type MediaContentTypeDocument as M, type PermissionDocument as P, type RoleType as R, type UserAccountDocument as U, CLIENT_ENTITY_KEYS as a, CLIENT_ENTITY_SCOPES as b, type ClientContentPillarDocument as c, type ClientMediaPlatformContentTypeDocument as d, type ClientMediaPlatformDocument as e, type ClientProjectDocument as f, type ClientReportDocument as g, type ClientStyleguideDocument as h, type ClientUserDocument as i, type ClientUserDocumentStatus as j, type ClientDocument as k, type ContentPillarDocument as l, type GCFlyTourDocument as m, type MediaPlatformDocument as n, type ProductHighlightDocument as o, type RoleDocument as p, type UserDocument as q, type UserAuthorizationLoginResponse as r, type UserAuthorizationSuccessResponse as s, type UtmTrackingLinkDocument as t, type RolesWithPermissions as u, type Permissions as v, type ClientEntityKey as w, type ClientEntityActions as x, type ClientEntityScope as y };
|
package/dist/{client-content-pillar.document-XoX1rNnY.d.ts → permission.constants-DVf4IlLp.d.ts}
RENAMED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { BaseDocument } from './types/core/document.js';
|
|
2
2
|
import { BlockBrandLogos } from './types/components/blocks/brand-logos.js';
|
|
3
|
-
import { UtmClassificationKey } from './types/components/utm/utm-option.js';
|
|
4
3
|
import { RichTextBlock } from './types/components/shared/rich-text-block.js';
|
|
5
4
|
import { ClientProjectStatus, ClientProjectPhase } from './constants/client-project.constants.js';
|
|
6
5
|
import { MediaUploadDocument } from './types/core/media.js';
|
|
7
6
|
import { ComponentBrandStyleguideColor } from './types/components/brand/styleguide-color.js';
|
|
8
7
|
import { ComponentBrandStyleguideFont } from './types/components/brand/styleguide-font.js';
|
|
9
|
-
import { ClientEntityScope } from './constants/permission.constants.js';
|
|
10
8
|
import { BlockFullscreenContent } from './types/components/blocks/fullscreen-content.js';
|
|
11
|
-
import { ProductDocument } from './types/documents/product.document.js';
|
|
12
9
|
import { TagDocument } from './types/documents/tag.document.js';
|
|
10
|
+
import { ProductDocument } from './types/documents/product.document.js';
|
|
11
|
+
import { UtmClassificationKey } from './types/components/utm/utm-option.js';
|
|
12
|
+
import { CommentDocument } from './types/documents/comment.document.js';
|
|
13
13
|
|
|
14
14
|
type ClientMediaPlatformContentTypeDocument = {
|
|
15
15
|
is_active: boolean;
|
|
@@ -245,4 +245,118 @@ type ClientContentPillarDocument = {
|
|
|
245
245
|
is_active: boolean;
|
|
246
246
|
} & BaseDocument;
|
|
247
247
|
|
|
248
|
-
|
|
248
|
+
/**
|
|
249
|
+
* Attribute-based access control (ABAC) permissions
|
|
250
|
+
*
|
|
251
|
+
* @reference https://github.com/WebDevSimplified/permission-system/blob/main/auth-abac.ts
|
|
252
|
+
*/
|
|
253
|
+
|
|
254
|
+
type LCRUDActions = "list" | "create" | "read" | "update" | "delete";
|
|
255
|
+
type PermissionCheck<Key extends keyof Permissions> = boolean | ((user: AuthorizedUserDocument, permissions: ClientUserDocumentStatus, data?: Permissions[Key]["dataType"]) => boolean);
|
|
256
|
+
type RolesWithPermissions = {
|
|
257
|
+
[R in RoleType]: Partial<{
|
|
258
|
+
[Key in keyof Permissions]: Partial<{
|
|
259
|
+
[Action in Permissions[Key]["action"]]: PermissionCheck<Key>;
|
|
260
|
+
}>;
|
|
261
|
+
}>;
|
|
262
|
+
};
|
|
263
|
+
type Permissions = {
|
|
264
|
+
"user-account": {
|
|
265
|
+
dataType: UserAccountDocument;
|
|
266
|
+
action: LCRUDActions;
|
|
267
|
+
};
|
|
268
|
+
comment: {
|
|
269
|
+
dataType: CommentDocument;
|
|
270
|
+
action: "list" | "create" | "update" | "delete" | "report";
|
|
271
|
+
};
|
|
272
|
+
client: {
|
|
273
|
+
dataType: ClientDocument;
|
|
274
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client"][number] | LCRUDActions;
|
|
275
|
+
};
|
|
276
|
+
"client-user": {
|
|
277
|
+
dataType: ClientUserDocument;
|
|
278
|
+
action: LCRUDActions | "verify";
|
|
279
|
+
};
|
|
280
|
+
"client-content-pillar": {
|
|
281
|
+
dataType: ClientContentPillarDocument;
|
|
282
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client-content-pillar"][number];
|
|
283
|
+
};
|
|
284
|
+
"client-media-platform": {
|
|
285
|
+
dataType: ClientMediaPlatformDocument;
|
|
286
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client-media-platform"][number];
|
|
287
|
+
};
|
|
288
|
+
"client-media-platform-content-type": {
|
|
289
|
+
dataType: ClientMediaPlatformContentTypeDocument;
|
|
290
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client-media-platform-content-type"][number];
|
|
291
|
+
};
|
|
292
|
+
"client-project": {
|
|
293
|
+
dataType: ClientProjectDocument;
|
|
294
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client-project"][number];
|
|
295
|
+
};
|
|
296
|
+
"client-report": {
|
|
297
|
+
dataType: ClientReportDocument;
|
|
298
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client-report"][number];
|
|
299
|
+
};
|
|
300
|
+
"client-styleguide": {
|
|
301
|
+
dataType: ClientStyleguideDocument;
|
|
302
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client-styleguide"][number];
|
|
303
|
+
};
|
|
304
|
+
"content-pillar": {
|
|
305
|
+
dataType: ContentPillarDocument;
|
|
306
|
+
action: LCRUDActions;
|
|
307
|
+
};
|
|
308
|
+
"media-platform": {
|
|
309
|
+
dataType: MediaPlatformDocument;
|
|
310
|
+
action: LCRUDActions;
|
|
311
|
+
};
|
|
312
|
+
"media-content-type": {
|
|
313
|
+
dataType: MediaContentTypeDocument;
|
|
314
|
+
action: LCRUDActions;
|
|
315
|
+
};
|
|
316
|
+
"utm-tracking-link": {
|
|
317
|
+
dataType: UtmTrackingLinkDocument;
|
|
318
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["utm-tracking-link"][number];
|
|
319
|
+
};
|
|
320
|
+
gcflytour: {
|
|
321
|
+
dataType: GCFlyTourDocument;
|
|
322
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["gcflytour"][number];
|
|
323
|
+
};
|
|
324
|
+
"gcflytour-snap": {
|
|
325
|
+
dataType: GCFlyTourSnapDocument;
|
|
326
|
+
action: (typeof CLIENT_ENTITY_PERMISSIONS)["gcflytour-snap"][number];
|
|
327
|
+
};
|
|
328
|
+
};
|
|
329
|
+
/**
|
|
330
|
+
* Example usage of ClientEntityScope type
|
|
331
|
+
*/
|
|
332
|
+
type ClientEntityKey = keyof typeof CLIENT_ENTITY_PERMISSIONS;
|
|
333
|
+
type ClientEntityActions<K extends ClientEntityKey = ClientEntityKey> = (typeof CLIENT_ENTITY_PERMISSIONS)[K][number];
|
|
334
|
+
type EntityActionJoin<K extends string, V extends string> = `${K}:${V}`;
|
|
335
|
+
type ClientEntityScope = {
|
|
336
|
+
[K in ClientEntityKey]: EntityActionJoin<K, (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]>;
|
|
337
|
+
}[ClientEntityKey];
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* Example usage of ClientEntityScope type
|
|
341
|
+
* @reference https://youtube.com/shorts/zOseJFD447U?si=xX8DYEHdl9YtN7S4
|
|
342
|
+
*
|
|
343
|
+
* > const validScope: ClientEntityScope = "utm-tracking-link:list"; // ✅
|
|
344
|
+
* > const invalidScope: ClientEntityScope = "blog-post:import"; // ❌ Type error!
|
|
345
|
+
*/
|
|
346
|
+
|
|
347
|
+
declare const CLIENT_ENTITY_PERMISSIONS: {
|
|
348
|
+
readonly client: readonly ["admin", "owner", "manager", "billing", "access"];
|
|
349
|
+
readonly "client-project": readonly ["list", "create", "read", "update", "delete", "assign"];
|
|
350
|
+
readonly "client-media-platform": readonly ["list", "create", "read", "update", "delete"];
|
|
351
|
+
readonly "client-media-platform-content-type": readonly ["list", "create", "read", "update", "delete"];
|
|
352
|
+
readonly "client-content-pillar": readonly ["list", "create", "read", "update", "delete"];
|
|
353
|
+
readonly "client-report": readonly ["list", "create", "read", "update", "delete"];
|
|
354
|
+
readonly "client-styleguide": readonly ["list", "create", "read", "update", "delete"];
|
|
355
|
+
readonly "utm-tracking-link": readonly ["list", "create", "read", "update", "delete"];
|
|
356
|
+
readonly gcflytour: readonly ["list", "create", "read", "update", "delete"];
|
|
357
|
+
readonly "gcflytour-snap": readonly ["list", "create", "read", "update", "delete"];
|
|
358
|
+
};
|
|
359
|
+
declare const CLIENT_ENTITY_KEYS: ClientEntityKey[];
|
|
360
|
+
declare const CLIENT_ENTITY_SCOPES: ClientEntityScope[];
|
|
361
|
+
|
|
362
|
+
export { type AuthorizedUserDocument as A, CLIENT_ENTITY_PERMISSIONS as C, type GCFlyTourSnapDocument as G, type LCRUDActions as L, type MediaContentTypeDocument as M, type PermissionDocument as P, type RoleType as R, type UserAccountDocument as U, CLIENT_ENTITY_KEYS as a, CLIENT_ENTITY_SCOPES as b, type ClientContentPillarDocument as c, type ClientMediaPlatformContentTypeDocument as d, type ClientMediaPlatformDocument as e, type ClientProjectDocument as f, type ClientReportDocument as g, type ClientStyleguideDocument as h, type ClientUserDocument as i, type ClientUserDocumentStatus as j, type ClientDocument as k, type ContentPillarDocument as l, type GCFlyTourDocument as m, type MediaPlatformDocument as n, type ProductHighlightDocument as o, type RoleDocument as p, type UserDocument as q, type UserAuthorizationLoginResponse as r, type UserAuthorizationSuccessResponse as s, type UtmTrackingLinkDocument as t, type RolesWithPermissions as u, type Permissions as v, type ClientEntityKey as w, type ClientEntityActions as x, type ClientEntityScope as y };
|
|
@@ -1,5 +1,21 @@
|
|
|
1
|
-
import { ClientEntityScope } from '../
|
|
1
|
+
import { y as ClientEntityScope } from '../permission.constants-Cz0fuVJx.cjs';
|
|
2
2
|
import * as v from 'valibot';
|
|
3
|
+
import '../types/core/document.cjs';
|
|
4
|
+
import '../types/components/blocks/brand-logos.cjs';
|
|
5
|
+
import '../types/core/media.cjs';
|
|
6
|
+
import '../types/components/shared/rich-text-block.cjs';
|
|
7
|
+
import '../constants/client-project.constants.cjs';
|
|
8
|
+
import '../types/components/brand/styleguide-color.cjs';
|
|
9
|
+
import '../types/components/brand/styleguide-font.cjs';
|
|
10
|
+
import '../constants/font.constants.cjs';
|
|
11
|
+
import '../types/components/blocks/fullscreen-content.cjs';
|
|
12
|
+
import '../types/components/blocks/video.cjs';
|
|
13
|
+
import '../types/documents/tag.document.cjs';
|
|
14
|
+
import '../types/documents/product.document.cjs';
|
|
15
|
+
import '../types/components/shared/seo.cjs';
|
|
16
|
+
import '../types/components/utm/utm-option.cjs';
|
|
17
|
+
import '../types/documents/comment.document.cjs';
|
|
18
|
+
import '../constants/comment.constants.cjs';
|
|
3
19
|
|
|
4
20
|
declare const QuerySortClientUsers: v.OptionalSchema<v.ObjectSchema<{
|
|
5
21
|
readonly key: v.PicklistSchema<["id", "createdAt", "updatedAt"], undefined>;
|
|
@@ -1,5 +1,21 @@
|
|
|
1
|
-
import { ClientEntityScope } from '../
|
|
1
|
+
import { y as ClientEntityScope } from '../permission.constants-DVf4IlLp.js';
|
|
2
2
|
import * as v from 'valibot';
|
|
3
|
+
import '../types/core/document.js';
|
|
4
|
+
import '../types/components/blocks/brand-logos.js';
|
|
5
|
+
import '../types/core/media.js';
|
|
6
|
+
import '../types/components/shared/rich-text-block.js';
|
|
7
|
+
import '../constants/client-project.constants.js';
|
|
8
|
+
import '../types/components/brand/styleguide-color.js';
|
|
9
|
+
import '../types/components/brand/styleguide-font.js';
|
|
10
|
+
import '../constants/font.constants.js';
|
|
11
|
+
import '../types/components/blocks/fullscreen-content.js';
|
|
12
|
+
import '../types/components/blocks/video.js';
|
|
13
|
+
import '../types/documents/tag.document.js';
|
|
14
|
+
import '../types/documents/product.document.js';
|
|
15
|
+
import '../types/components/shared/seo.js';
|
|
16
|
+
import '../types/components/utm/utm-option.js';
|
|
17
|
+
import '../types/documents/comment.document.js';
|
|
18
|
+
import '../constants/comment.constants.js';
|
|
3
19
|
|
|
4
20
|
declare const QuerySortClientUsers: v.OptionalSchema<v.ObjectSchema<{
|
|
5
21
|
readonly key: v.PicklistSchema<["id", "createdAt", "updatedAt"], undefined>;
|
package/dist/schemas/index.d.cts
CHANGED
|
@@ -31,4 +31,20 @@ export { QuerySortUsers, QueryStrapiUsers, QueryStrapiUsersByIdentifier, SCreate
|
|
|
31
31
|
export { SUtmLinkBuilderPartCampaignDateOptions, SUtmLinkBuilderPartCampaignDateValue, SUtmLinkBuilderTableForm, SUtmLinkBuilderTableFormInput } from './utm-link-builder.schemas.cjs';
|
|
32
32
|
export { QuerySortUtmTrackingLinks, QueryStrapiSearchUtmTrackingLinks, SCreateUtmTrackingLinkDocument, SCreateUtmTrackingLinkDocumentRequest, SCreateUtmTrackingLinkParts, SFormCreateMultipleUtmTrackingLinkDocuments, SReadUtmTrackingLinkDocumentByUrl, SUpdateUtmTrackingLinkDocument, SUpdateUtmTrackingLinkDocumentRequest } from './utm-tracking-link.schemas.cjs';
|
|
33
33
|
import 'valibot';
|
|
34
|
-
import '../
|
|
34
|
+
import '../permission.constants-Cz0fuVJx.cjs';
|
|
35
|
+
import '../types/core/document.cjs';
|
|
36
|
+
import '../types/components/blocks/brand-logos.cjs';
|
|
37
|
+
import '../types/core/media.cjs';
|
|
38
|
+
import '../types/components/shared/rich-text-block.cjs';
|
|
39
|
+
import '../constants/client-project.constants.cjs';
|
|
40
|
+
import '../types/components/brand/styleguide-color.cjs';
|
|
41
|
+
import '../types/components/brand/styleguide-font.cjs';
|
|
42
|
+
import '../constants/font.constants.cjs';
|
|
43
|
+
import '../types/components/blocks/fullscreen-content.cjs';
|
|
44
|
+
import '../types/components/blocks/video.cjs';
|
|
45
|
+
import '../types/documents/tag.document.cjs';
|
|
46
|
+
import '../types/documents/product.document.cjs';
|
|
47
|
+
import '../types/components/shared/seo.cjs';
|
|
48
|
+
import '../types/components/utm/utm-option.cjs';
|
|
49
|
+
import '../types/documents/comment.document.cjs';
|
|
50
|
+
import '../constants/comment.constants.cjs';
|