@getcommunity/gc-validators 0.0.231 → 0.0.233

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/schemas.mjs CHANGED
@@ -349,7 +349,7 @@ const QueryStrapiSearchClientReports = v.object({
349
349
  });
350
350
  const SCreateClientReportDocument = v.object({
351
351
  title: VStringMinMax(1, 255),
352
- report_id: v.pipe(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)),
352
+ report_id: VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG),
353
353
  is_active: v.optional(v.boolean(), true),
354
354
  is_external: v.optional(v.boolean(), false),
355
355
  is_hidden: v.optional(v.boolean(), false),
@@ -658,7 +658,7 @@ const QueryStrapiSearchGCFlyTourSnaps = v.object({
658
658
  });
659
659
  const SCreateGCFlyTourSnapDocument = v.object({
660
660
  title: VStringMinMax(1, 255),
661
- slug: v.pipe(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)),
661
+ slug: VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG),
662
662
  description: v.optional(v.nullable(VStringMax(255))),
663
663
  is_active: v.boolean(),
664
664
  is_hidden: v.boolean(),
@@ -767,6 +767,7 @@ const MediaContentTypeSortKeys = [
767
767
  "updatedAt",
768
768
  "media_platforms.title",
769
769
  "media_platforms.slug",
770
+ "media_platforms.utm_key",
770
771
  "media_platforms.is_active",
771
772
  "media_platforms.is_organic_social",
772
773
  "media_platforms.is_paid_media",
@@ -793,7 +794,7 @@ const QueryStrapiSearchMediaContentTypes = v.object({
793
794
  });
794
795
  const SCreateMediaContentTypeDocument = v.object({
795
796
  title: VStringMinMax(1, 255),
796
- slug: v.pipe(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)),
797
+ slug: VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG),
797
798
  is_active: v.boolean(),
798
799
  is_organic_social: v.boolean(),
799
800
  is_paid_media: v.boolean(),
@@ -844,7 +845,7 @@ const QueryStrapiSearchMediaCreativeFormats = v.object({
844
845
  });
845
846
  const SCreateMediaCreativeFormatDocument = v.object({
846
847
  title: VStringMinMax(1, 255),
847
- slug: v.pipe(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)),
848
+ slug: VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG),
848
849
  is_active: v.boolean(),
849
850
  description: v.optional(v.nullable(VStringMax(255))),
850
851
  media_content_types: v.optional(SAssociateManyEntities)
@@ -861,11 +862,66 @@ const SUpdateMediaCreativeFormatDocumentRequest = v.object({
861
862
  data: SUpdateMediaCreativeFormatDocument
862
863
  });
863
864
  //#endregion
865
+ //#region src/schemas/media-medium.schemas.ts
866
+ const MediaMediumSortKeys = [
867
+ "id",
868
+ "title",
869
+ "slug",
870
+ "is_active",
871
+ "is_organic_social",
872
+ "is_paid_media",
873
+ "createdAt",
874
+ "updatedAt",
875
+ "media_platforms.title",
876
+ "media_platforms.slug",
877
+ "media_platforms.utm_key",
878
+ "media_platforms.is_active",
879
+ "media_platforms.is_organic_social",
880
+ "media_platforms.is_paid_media",
881
+ "media_platforms.createdAt",
882
+ "media_platforms.updatedAt"
883
+ ];
884
+ const QuerySortMediaMedium = v.optional(v.pipe(v.array(v.picklist(MediaMediumSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(MediaMediumSortKeys.length)));
885
+ const QueryStrapiSearchMediaMediums = v.object({
886
+ page: VPage(),
887
+ size: VSize(LIMIT_PAGINATION_MAX_SIZE),
888
+ title: v.optional(VStringMax()),
889
+ slug: v.optional(VStringMax()),
890
+ is_active: v.optional(v.boolean()),
891
+ is_organic_social: v.optional(v.boolean()),
892
+ is_paid_media: v.optional(v.boolean()),
893
+ media_platforms: v.optional(SQueryManyEntities),
894
+ sort: QuerySortMediaMedium
895
+ });
896
+ const SCreateMediaMediumDocument = v.object({
897
+ title: VStringMinMax(1, 255),
898
+ slug: VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG),
899
+ is_active: v.boolean(),
900
+ is_organic_social: v.boolean(),
901
+ is_paid_media: v.boolean(),
902
+ description: v.optional(v.nullable(VStringMax(255))),
903
+ media_platforms: v.optional(SAssociateManyEntities)
904
+ });
905
+ const SUpdateMediaMediumDocument = v.object({
906
+ title: v.optional(VStringMinMax(1, 255)),
907
+ slug: v.optional(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)),
908
+ is_active: v.optional(v.boolean()),
909
+ is_organic_social: v.optional(v.boolean()),
910
+ is_paid_media: v.optional(v.boolean()),
911
+ description: v.optional(v.nullable(VStringMax(255))),
912
+ media_platforms: v.optional(SAssociateManyEntities)
913
+ });
914
+ const SUpdateMediaMediumDocumentRequest = v.object({
915
+ documentId: SAssociateOneEntity,
916
+ data: SUpdateMediaMediumDocument
917
+ });
918
+ //#endregion
864
919
  //#region src/schemas/media-platform.schemas.ts
865
920
  const MediaPlatformSortKeys = [
866
921
  "id",
867
922
  "title",
868
923
  "slug",
924
+ "utm_key",
869
925
  "is_active",
870
926
  "is_organic_social",
871
927
  "is_paid_media",
@@ -884,7 +940,14 @@ const MediaPlatformSortKeys = [
884
940
  "media_content_types.is_organic_social",
885
941
  "media_content_types.is_paid_media",
886
942
  "media_content_types.createdAt",
887
- "media_content_types.updatedAt"
943
+ "media_content_types.updatedAt",
944
+ "media_mediums.title",
945
+ "media_mediums.slug",
946
+ "media_mediums.is_active",
947
+ "media_mediums.is_organic_social",
948
+ "media_mediums.is_paid_media",
949
+ "media_mediums.createdAt",
950
+ "media_mediums.updatedAt"
888
951
  ];
889
952
  const QuerySortMediaPlatforms = v.optional(v.pipe(v.array(v.picklist(MediaPlatformSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(MediaPlatformSortKeys.length)));
890
953
  const QueryStrapiSearchMediaPlatforms = v.object({
@@ -892,32 +955,38 @@ const QueryStrapiSearchMediaPlatforms = v.object({
892
955
  size: VSize(LIMIT_PAGINATION_MAX_SIZE),
893
956
  title: v.optional(VStringMax()),
894
957
  slug: v.optional(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
958
+ utm_key: v.optional(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
895
959
  is_active: v.optional(v.boolean()),
896
960
  is_organic_social: v.optional(v.boolean()),
897
961
  is_paid_media: v.optional(v.boolean()),
898
962
  clients: v.optional(SQueryManyEntities),
899
963
  media_content_types: v.optional(SQueryManyEntities),
964
+ media_mediums: v.optional(SQueryManyEntities),
900
965
  sort: QuerySortMediaPlatforms
901
966
  });
902
967
  const SCreateMediaPlatformDocument = v.object({
903
968
  title: VStringMinMax(1, 255),
904
- slug: v.pipe(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)),
969
+ slug: VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG),
970
+ utm_key: VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG),
905
971
  is_active: v.boolean(),
906
972
  is_organic_social: v.boolean(),
907
973
  is_paid_media: v.boolean(),
908
974
  description: v.optional(v.nullable(VStringMax(255))),
909
975
  clients: v.optional(SAssociateManyEntities),
910
- media_content_types: v.optional(SAssociateManyEntities)
976
+ media_content_types: v.optional(SAssociateManyEntities),
977
+ media_mediums: v.optional(SAssociateManyEntities)
911
978
  });
912
979
  const SUpdateMediaPlatformDocument = v.object({
913
980
  title: v.optional(VStringMinMax(1, 255)),
914
981
  slug: v.optional(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)),
982
+ utm_key: v.optional(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)),
915
983
  is_active: v.optional(v.boolean()),
916
984
  is_organic_social: v.optional(v.boolean()),
917
985
  is_paid_media: v.optional(v.boolean()),
918
986
  description: v.optional(v.nullable(VStringMax(255))),
919
987
  clients: v.optional(SAssociateManyEntities),
920
- media_content_types: v.optional(SAssociateManyEntities)
988
+ media_content_types: v.optional(SAssociateManyEntities),
989
+ media_mediums: v.optional(SAssociateManyEntities)
921
990
  });
922
991
  const SUpdateMediaPlatformDocumentRequest = v.object({
923
992
  documentId: SAssociateOneEntity,
@@ -1147,7 +1216,7 @@ const QueryStrapiSearchTags = v.object({
1147
1216
  });
1148
1217
  const SCreateTagDocument = v.object({
1149
1218
  label: VStringMinMax(1, 255),
1150
- slug: v.pipe(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG))
1219
+ slug: VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)
1151
1220
  });
1152
1221
  const SUpdateTagDocument = v.object({
1153
1222
  label: v.optional(VStringMinMax(1, 255)),
@@ -1556,6 +1625,4 @@ const SUpdateUtmTrackingLinkDocumentRequest = v.object({
1556
1625
  data: SUpdateUtmTrackingLinkDocument
1557
1626
  });
1558
1627
  //#endregion
1559
- export { BlogPostSortKeys, CategorySortKeys, ClientContentPillarSortKeys, ClientMediaPlatformSortKeys, ClientProjectSortKeys, ClientReportSortKeys, ClientSortKeys, ClientStyleguideSortKeys, ClientUserSortKeys, ContentPillarSortKeys, EntitySortKeys, GCFlyTourSnapSortKeys, GCFlyTourSortKeys, MediaContentTypeSortKeys, MediaCreativeFormatSortKeys, MediaPlatformSortKeys, MondayWorkspaceSortKeys, QueryFilterStrapiComments, QuerySortBlogPosts, QuerySortCategories, QuerySortClientContentPillars, QuerySortClientMediaPlatforms, QuerySortClientProjects, QuerySortClientReports, QuerySortClientStyleguides, QuerySortClientUsers, QuerySortClients, QuerySortContentPillars, QuerySortEntities, QuerySortGCFlyTourSnaps, QuerySortGCFlyTours, QuerySortMediaContentType, QuerySortMediaCreativeFormat, QuerySortMediaPlatforms, QuerySortMondayWorkspaces, QuerySortStrapiComments, QuerySortTags, QuerySortTeamMembers, QuerySortTeamworkProjectHealth, QuerySortUrlRedirects, QuerySortUsers, QuerySortUtmTrackingLinks, QueryStrapiByDocumentId, QueryStrapiByEmail, QueryStrapiById, QueryStrapiByName, QueryStrapiByPhone, QueryStrapiBySlug, QueryStrapiCommentsFlat, QueryStrapiCommentsInHeirarchy, QueryStrapiPaginated, QueryStrapiPaginatedUrlRedirects, QueryStrapiSearchBlogPosts, QueryStrapiSearchBlogPostsBySlug, QueryStrapiSearchCategories, QueryStrapiSearchClientContentPillars, QueryStrapiSearchClientMediaPlatforms, QueryStrapiSearchClientProjects, QueryStrapiSearchClientReports, QueryStrapiSearchClientStyleguide, QueryStrapiSearchClients, QueryStrapiSearchContentPillars, QueryStrapiSearchGCFlyTourSnaps, QueryStrapiSearchGCFlyTours, QueryStrapiSearchMediaContentTypes, QueryStrapiSearchMediaCreativeFormats, QueryStrapiSearchMediaPlatforms, QueryStrapiSearchMondayWorkspaces, QueryStrapiSearchTags, QueryStrapiSearchTeamMembers, QueryStrapiSearchTeamworkProjectHealth, QueryStrapiSearchUtmTrackingLinks, QueryStrapiUrlRedirectsByFrom, QueryStrapiUsers, QueryStrapiUsersByIdentifier, SAssociateClientToClientProjectDocument, SAssociateManyEntities, SAssociateOneEntity, SAuthConnectProviderConfirmation, SAuthConnectProviderRedirectSearch, SAuthRawAccessToken, SChangePassword, SCreateCategoryDocument, SCreateClientContentPillarDocument, SCreateClientDocument, SCreateClientMediaPlatformDocument, SCreateClientProjectDocument, SCreateClientReportDocument, SCreateClientStyleguideDocument, SCreateClientUserDocument, SCreateCommentDocument, SCreateContentPillarDocument, SCreateGCFlyTourDocument, SCreateGCFlyTourSnapDocument, SCreateLeadDocument, SCreateMediaContentTypeDocument, SCreateMediaCreativeFormatDocument, SCreateMediaPlatformDocument, SCreateMondayWorkspaceDocument, SCreateMultipleStrapiMediaUploadDocument, SCreateNewsletterSignup, SCreateNewsletterSignupDocument, SCreateResume, SCreateResumeInfo, SCreateResumeInfoDocument, SCreateStrapiMediaUploadDocument, SCreateTagDocument, SCreateUserDocument, SCreateUtmTrackingLinkDocument, SCreateUtmTrackingLinkDocumentRequest, SCreateUtmTrackingLinkParts, SDeleteCommentDocument, SForgotUserPassword, SFormCreateMultipleUtmTrackingLinkDocuments, SLoginUser, SQueryListClientUserDocuments, SQueryManyEntities, SReadUserAccountByDocumentId, SReadUserAccountById, SReadUtmTrackingLinkDocumentByUrl, SRegisterUser, SReportCommentDocument, SRequestConfirmEmail, SResetUserPassword, SUpdateCategoryDocument, SUpdateCategoryDocumentRequest, SUpdateClientContentPillarDocument, SUpdateClientContentPillarDocumentRequest, SUpdateClientDocument, SUpdateClientDocumentRequest, SUpdateClientMediaPlatformDocument, SUpdateClientMediaPlatformDocumentRequest, SUpdateClientProjectDocument, SUpdateClientProjectDocumentRequest, SUpdateClientReportDocument, SUpdateClientReportDocumentRequest, SUpdateClientStyleguideDocument, SUpdateClientStyleguideDocumentRequest, SUpdateClientUserDocument, SUpdateClientUserDocumentRequest, SUpdateCommentDocument, SUpdateContentPillarDocument, SUpdateContentPillarDocumentRequest, SUpdateGCFlyTourDocument, SUpdateGCFlyTourDocumentRequest, SUpdateGCFlyTourSnapDocument, SUpdateGCFlyTourSnapDocumentRequest, SUpdateLeadDocument, SUpdateLeadRequest, SUpdateMediaContentTypeDocument, SUpdateMediaContentTypeDocumentRequest, SUpdateMediaCreativeFormatDocument, SUpdateMediaCreativeFormatDocumentRequest, SUpdateMediaPlatformDocument, SUpdateMediaPlatformDocumentRequest, SUpdateMondayWorkspaceDocument, SUpdateMondayWorkspaceDocumentRequest, SUpdateNewsletterSignupDocument, SUpdateNewsletterSignupRequest, SUpdateResumeInfo, SUpdateResumeInfoDocument, SUpdateResumeInfoRequest, SUpdateStrapiMediaFileInfo, SUpdateTagDocument, SUpdateTagDocumentRequest, SUpdateTrendsLikes, SUpdateUserAccount, SUpdateUserAccountFirstName, SUpdateUserAccountLastName, SUpdateUserAccountPreferredName, SUpdateUtmTrackingLinkDocument, SUpdateUtmTrackingLinkDocumentRequest, SUserToken, SUtmLinkBuilderPartCampaignDateOptions, SUtmLinkBuilderTableForm, SVerifyClientUserDocument, SharpSpringSignUpToDownload, StrapiCommentSortKeys, TagSortKeys, TeamMemberSortKeys, TeamworkProjectHealthProjectStatusOptions, TeamworkProjectHealthSelectSortOptions, UrlRedirectSortKeys, UserSortKeys, UtmTrackingLinkSortKeys, VIntegerNullable, VNumberNullable, VPage, VSize, VString, VStringEmail, VStringLong, VStringLongNullable, VStringMax, VStringMaxRegex, VStringMinMax, VStringMinMaxRegex, VStringPhone, VStringPhoneNullable, VStringShort, VStringShortNullable, VStringSlug, VStringUrl, VStringUrlNoUtm, VStringUrlNullable, VStringUrlUtm, checkIsValidUrlList };
1560
-
1561
- //# sourceMappingURL=schemas.mjs.map
1628
+ export { BlogPostSortKeys, CategorySortKeys, ClientContentPillarSortKeys, ClientMediaPlatformSortKeys, ClientProjectSortKeys, ClientReportSortKeys, ClientSortKeys, ClientStyleguideSortKeys, ClientUserSortKeys, ContentPillarSortKeys, EntitySortKeys, GCFlyTourSnapSortKeys, GCFlyTourSortKeys, MediaContentTypeSortKeys, MediaCreativeFormatSortKeys, MediaMediumSortKeys, MediaPlatformSortKeys, MondayWorkspaceSortKeys, QueryFilterStrapiComments, QuerySortBlogPosts, QuerySortCategories, QuerySortClientContentPillars, QuerySortClientMediaPlatforms, QuerySortClientProjects, QuerySortClientReports, QuerySortClientStyleguides, QuerySortClientUsers, QuerySortClients, QuerySortContentPillars, QuerySortEntities, QuerySortGCFlyTourSnaps, QuerySortGCFlyTours, QuerySortMediaContentType, QuerySortMediaCreativeFormat, QuerySortMediaMedium, QuerySortMediaPlatforms, QuerySortMondayWorkspaces, QuerySortStrapiComments, QuerySortTags, QuerySortTeamMembers, QuerySortTeamworkProjectHealth, QuerySortUrlRedirects, QuerySortUsers, QuerySortUtmTrackingLinks, QueryStrapiByDocumentId, QueryStrapiByEmail, QueryStrapiById, QueryStrapiByName, QueryStrapiByPhone, QueryStrapiBySlug, QueryStrapiCommentsFlat, QueryStrapiCommentsInHeirarchy, QueryStrapiPaginated, QueryStrapiPaginatedUrlRedirects, QueryStrapiSearchBlogPosts, QueryStrapiSearchBlogPostsBySlug, QueryStrapiSearchCategories, QueryStrapiSearchClientContentPillars, QueryStrapiSearchClientMediaPlatforms, QueryStrapiSearchClientProjects, QueryStrapiSearchClientReports, QueryStrapiSearchClientStyleguide, QueryStrapiSearchClients, QueryStrapiSearchContentPillars, QueryStrapiSearchGCFlyTourSnaps, QueryStrapiSearchGCFlyTours, QueryStrapiSearchMediaContentTypes, QueryStrapiSearchMediaCreativeFormats, QueryStrapiSearchMediaMediums, QueryStrapiSearchMediaPlatforms, QueryStrapiSearchMondayWorkspaces, QueryStrapiSearchTags, QueryStrapiSearchTeamMembers, QueryStrapiSearchTeamworkProjectHealth, QueryStrapiSearchUtmTrackingLinks, QueryStrapiUrlRedirectsByFrom, QueryStrapiUsers, QueryStrapiUsersByIdentifier, SAssociateClientToClientProjectDocument, SAssociateManyEntities, SAssociateOneEntity, SAuthConnectProviderConfirmation, SAuthConnectProviderRedirectSearch, SAuthRawAccessToken, SChangePassword, SCreateCategoryDocument, SCreateClientContentPillarDocument, SCreateClientDocument, SCreateClientMediaPlatformDocument, SCreateClientProjectDocument, SCreateClientReportDocument, SCreateClientStyleguideDocument, SCreateClientUserDocument, SCreateCommentDocument, SCreateContentPillarDocument, SCreateGCFlyTourDocument, SCreateGCFlyTourSnapDocument, SCreateLeadDocument, SCreateMediaContentTypeDocument, SCreateMediaCreativeFormatDocument, SCreateMediaMediumDocument, SCreateMediaPlatformDocument, SCreateMondayWorkspaceDocument, SCreateMultipleStrapiMediaUploadDocument, SCreateNewsletterSignup, SCreateNewsletterSignupDocument, SCreateResume, SCreateResumeInfo, SCreateResumeInfoDocument, SCreateStrapiMediaUploadDocument, SCreateTagDocument, SCreateUserDocument, SCreateUtmTrackingLinkDocument, SCreateUtmTrackingLinkDocumentRequest, SCreateUtmTrackingLinkParts, SDeleteCommentDocument, SForgotUserPassword, SFormCreateMultipleUtmTrackingLinkDocuments, SLoginUser, SQueryListClientUserDocuments, SQueryManyEntities, SReadUserAccountByDocumentId, SReadUserAccountById, SReadUtmTrackingLinkDocumentByUrl, SRegisterUser, SReportCommentDocument, SRequestConfirmEmail, SResetUserPassword, SUpdateCategoryDocument, SUpdateCategoryDocumentRequest, SUpdateClientContentPillarDocument, SUpdateClientContentPillarDocumentRequest, SUpdateClientDocument, SUpdateClientDocumentRequest, SUpdateClientMediaPlatformDocument, SUpdateClientMediaPlatformDocumentRequest, SUpdateClientProjectDocument, SUpdateClientProjectDocumentRequest, SUpdateClientReportDocument, SUpdateClientReportDocumentRequest, SUpdateClientStyleguideDocument, SUpdateClientStyleguideDocumentRequest, SUpdateClientUserDocument, SUpdateClientUserDocumentRequest, SUpdateCommentDocument, SUpdateContentPillarDocument, SUpdateContentPillarDocumentRequest, SUpdateGCFlyTourDocument, SUpdateGCFlyTourDocumentRequest, SUpdateGCFlyTourSnapDocument, SUpdateGCFlyTourSnapDocumentRequest, SUpdateLeadDocument, SUpdateLeadRequest, SUpdateMediaContentTypeDocument, SUpdateMediaContentTypeDocumentRequest, SUpdateMediaCreativeFormatDocument, SUpdateMediaCreativeFormatDocumentRequest, SUpdateMediaMediumDocument, SUpdateMediaMediumDocumentRequest, SUpdateMediaPlatformDocument, SUpdateMediaPlatformDocumentRequest, SUpdateMondayWorkspaceDocument, SUpdateMondayWorkspaceDocumentRequest, SUpdateNewsletterSignupDocument, SUpdateNewsletterSignupRequest, SUpdateResumeInfo, SUpdateResumeInfoDocument, SUpdateResumeInfoRequest, SUpdateStrapiMediaFileInfo, SUpdateTagDocument, SUpdateTagDocumentRequest, SUpdateTrendsLikes, SUpdateUserAccount, SUpdateUserAccountFirstName, SUpdateUserAccountLastName, SUpdateUserAccountPreferredName, SUpdateUtmTrackingLinkDocument, SUpdateUtmTrackingLinkDocumentRequest, SUserToken, SUtmLinkBuilderPartCampaignDateOptions, SUtmLinkBuilderTableForm, SVerifyClientUserDocument, SharpSpringSignUpToDownload, StrapiCommentSortKeys, TagSortKeys, TeamMemberSortKeys, TeamworkProjectHealthProjectStatusOptions, TeamworkProjectHealthSelectSortOptions, UrlRedirectSortKeys, UserSortKeys, UtmTrackingLinkSortKeys, VIntegerNullable, VNumberNullable, VPage, VSize, VString, VStringEmail, VStringLong, VStringLongNullable, VStringMax, VStringMaxRegex, VStringMinMax, VStringMinMaxRegex, VStringPhone, VStringPhoneNullable, VStringShort, VStringShortNullable, VStringSlug, VStringUrl, VStringUrlNoUtm, VStringUrlNullable, VStringUrlUtm, checkIsValidUrlList };
package/dist/types.d.cts CHANGED
@@ -1,2 +1,2 @@
1
- import { $a as SliderSettings, $i as LeadDocument, $o as StrapiAttributeErrorDetail, Aa as TeamMemberDocument, Ai as TeamworkProjectTaskStat, Ao as BlockButtonGroup, Ba as ComponentSlideshow, Bi as TeamworkResponseMetaPagination, Bo as MetaSocialNetwork, Ca as ClientProjectDocument, Ci as TeamworkResponseMetaProjectStats, Co as ComponentBlockVideo, Cs as StrapiTextColorOptions, Da as MediaCreativeFormatDocument, Di as TeamworkTagResponseMeta, Do as ComponentBlockCtaLink, Ea as MediaContentTypeDocument, Ei as TeamworkTagResponse, Eo as BlockCtaLink, Fa as CategoryDocument, Fi as TeamworkCompany, Fo as ComponentBlockAnnouncementBar, Ga as SlideshowComponentProps, Gi as FAQPageDocument, Go as ComponentSharedRichTextBlock, Ha as ComponentSlideContent, Hi as TeamPageDocument, Ho as SeoMeta, Ia as ComponentUtmOption, Ii as TeamworkActivePages, Io as ComponentMetaSocial, Ja as SlideshowMode, Ji as UrlRedirectDocument, Jo as SharedRichTextBlock, Ka as SlideshowComponentSlideSettings, Ki as CareersPageDocument, Ko as RichTextBlock, La as UtmClassificationKey, Li as TeamworkLockdown, Lo as ComponentOpenGraph, Ma as TeamMemberTier, Mi as TeamworkProjectCategory, Mo as BlockBrandLogos, Na as TrendDocument, Ni as TeamworkCustomField, No as ComponentBlockBrandLogos, Oa as BlogPostBlock, Oi as TeamworkTagsResponse, Oo as BlockContact, Pa as TagDocument, Pi as TeamworkCurrency, Po as BlockAnnouncementBar, Qa as SliderOrigin, Qi as NewsletterSignupDocument, Qo as SharedLink, Ra as UtmOption, Ri as TeamworkRelatedMeta, Ro as ComponentSeoMeta, Sa as ClientReportDocument, Si as TeamworkProjectsResponse, So as BlockVideoEmbed, Ss as StrapiLinkType, Ta as MediaPlatformDocument, Ti as TeamworkTag, To as ComponentBlockFaq, Ts as BaseDocument, Ua as SlideContent, Ui as PolicyPageDocument, Uo as ComponentSharedQuestionAnswer, Va as Slideshow, Vi as UtmMetaPageDocument, Vo as OpenGraph, Wa as SlideType, Wi as LandingPageDocument, Wo as SharedQuestionAnswer, Xa as ComponentSliderSettings, Xi as UrlRedirectStatusCode, Xo as SharedButton, Ya as SlideshowSettings, Yi as UrlRedirectQueryParams, Yo as ComponentSharedButton, Za as SliderBreakpoint, Zi as ResumeDocument, Zo as ComponentSharedLink, _a as UserAccountDocument, _i as TeamworkTaskUserPermissions, _o as BlockGraphicImage, _s as StrapiIconName, aa as ProductHighlightDocument, ao as FormDownload, as as StrapiListResponse, ba as PermissionDocument, bi as TeamworkProjectResponse, bo as BlockFullscreenContentType, bs as StrapiLinkRel, ca as GCFlyTourDocument, co as ComponentBrandStyleguideFont, cs as StrapiResponseMetaWithPagination, da as ClientUserDocumentStatus, di as TeamworkTasklistResponseMeta, do as BlockTextDetails, ds as MediaFormats, ea as CommentDocument, eo as SliderSpacing, es as StrapiAttributeErrorKey, fa as AuthorizedUserDocument, fi as TeamworkTasklistsResponse, fo as ComponentBlockTextDetails, fs as MediaUploadDocument, ga as UtmTrackingLinkDocument, gi as TeamworkTaskResponseMeta, go as ComponentBlockPullQuote, gs as StrapiGapSizes, ha as UserDocument, hi as TeamworkTaskResponse, ho as BlockPullQuote, hs as StrapiDirection, ia as ClientDocument, io as ComponentFormDownload, is as StrapiErrorResult, ja as TeamMemberGroup, ji as TeamworkProjectCustomField, jo as ComponentBlockButtonGroup, ka as BlogPostDocument, ki as TeamworkProjectUpdate, ko as ComponentBlockContact, la as GCFlyTourSnapDocument, li as TeamworkTasklist, lo as BrandStyleguideColor, ls as StrapiSingleResponse, ma as UserAuthorizationSuccessResponse, mi as TeamworkTaskCard, mo as ComponentBlockSectionTitle, ms as StrapiBgColorOptions, na as ClientContentPillarDocument, no as FormSelect, ns as StrapiErrorDetail, oa as ProductDocument, oo as FormDownloadKeys, os as StrapiPagination, pa as UserAuthorizationLoginResponse, pi as TeamworkTask, po as BlockSectionTitle, ps as FormSelectInputOption, qa as ComponentSlideshowSettings, qi as BlogPageDocument, qo as RichTextBlockChildren, ra as ContentPillarDocument, ro as FormUID, rs as StrapiErrorResponse, sa as MondayWorkspaceDocument, so as BrandStyleguideFont, ss as StrapiResponseMeta, ta as CommentReportDocument, to as ComponentFormSelect, ts as StrapiAttributeErrorResponse, ua as ClientUserDocument, ui as TeamworkTasklistResponse, uo as ComponentBrandStyleguideColor, us as MediaFormat, va as RoleDocument, vi as TeamworkTasksResponse, vo as ComponentBlockGraphicImage, vs as StrapiIconPosition, wa as ClientMediaPlatformDocument, wi as TeamworkUserAccount, wo as BlockFaq, ws as StrapiThemeOptions, xa as ClientStyleguideDocument, xi as TeamworkProjectResponseMeta, xo as ComponentBlockFullscreenContent, xs as StrapiLinkTarget, ya as RoleType, yi as TeamworkProject, yo as BlockFullscreenContent, ys as StrapiLinkReferrerPolicy, za as UtmSourceKey, zi as TeamworkResponseMeta, zo as MetaSocial } from "./index-DqB0LPlP.cjs";
2
- export { AuthorizedUserDocument, BaseDocument, BlockAnnouncementBar, BlockBrandLogos, BlockButtonGroup, BlockContact, BlockCtaLink, BlockFaq, BlockFullscreenContent, BlockFullscreenContentType, BlockGraphicImage, BlockPullQuote, BlockSectionTitle, BlockTextDetails, BlockVideoEmbed, BlogPageDocument, BlogPostBlock, BlogPostDocument, BrandStyleguideColor, BrandStyleguideFont, CareersPageDocument, CategoryDocument, ClientContentPillarDocument, ClientDocument, ClientMediaPlatformDocument, ClientProjectDocument, ClientReportDocument, ClientStyleguideDocument, ClientUserDocument, ClientUserDocumentStatus, CommentDocument, CommentReportDocument, ComponentBlockAnnouncementBar, ComponentBlockBrandLogos, ComponentBlockButtonGroup, ComponentBlockContact, ComponentBlockCtaLink, ComponentBlockFaq, ComponentBlockFullscreenContent, ComponentBlockGraphicImage, ComponentBlockPullQuote, ComponentBlockSectionTitle, ComponentBlockTextDetails, ComponentBlockVideo, ComponentBrandStyleguideColor, ComponentBrandStyleguideFont, ComponentFormDownload, ComponentFormSelect, ComponentMetaSocial, ComponentOpenGraph, ComponentSeoMeta, ComponentSharedButton, ComponentSharedLink, ComponentSharedQuestionAnswer, ComponentSharedRichTextBlock, ComponentSlideContent, ComponentSliderSettings, ComponentSlideshow, ComponentSlideshowSettings, ComponentUtmOption, ContentPillarDocument, FAQPageDocument, FormDownload, FormDownloadKeys, FormSelect, FormSelectInputOption, FormUID, GCFlyTourDocument, GCFlyTourSnapDocument, LandingPageDocument, LeadDocument, MediaContentTypeDocument, MediaCreativeFormatDocument, MediaFormat, MediaFormats, MediaPlatformDocument, MediaUploadDocument, MetaSocial, MetaSocialNetwork, MondayWorkspaceDocument, NewsletterSignupDocument, OpenGraph, PermissionDocument, PolicyPageDocument, ProductDocument, ProductHighlightDocument, ResumeDocument, RichTextBlock, RichTextBlockChildren, RoleDocument, RoleType, SeoMeta, SharedButton, SharedLink, SharedQuestionAnswer, SharedRichTextBlock, SlideContent, SlideType, SliderBreakpoint, SliderOrigin, SliderSettings, SliderSpacing, Slideshow, SlideshowComponentProps, SlideshowComponentSlideSettings, SlideshowMode, SlideshowSettings, StrapiAttributeErrorDetail, StrapiAttributeErrorKey, StrapiAttributeErrorResponse, StrapiBgColorOptions, StrapiDirection, StrapiErrorDetail, StrapiErrorResponse, StrapiErrorResult, StrapiGapSizes, StrapiIconName, StrapiIconPosition, StrapiLinkReferrerPolicy, StrapiLinkRel, StrapiLinkTarget, StrapiLinkType, StrapiListResponse, StrapiPagination, StrapiResponseMeta, StrapiResponseMetaWithPagination, StrapiSingleResponse, StrapiTextColorOptions, StrapiThemeOptions, TagDocument, TeamMemberDocument, TeamMemberGroup, TeamMemberTier, TeamPageDocument, TeamworkActivePages, TeamworkCompany, TeamworkCurrency, TeamworkCustomField, TeamworkLockdown, TeamworkProject, TeamworkProjectCategory, TeamworkProjectCustomField, TeamworkProjectResponse, TeamworkProjectResponseMeta, TeamworkProjectTaskStat, TeamworkProjectUpdate, TeamworkProjectsResponse, TeamworkRelatedMeta, TeamworkResponseMeta, TeamworkResponseMetaPagination, TeamworkResponseMetaProjectStats, TeamworkTag, TeamworkTagResponse, TeamworkTagResponseMeta, TeamworkTagsResponse, TeamworkTask, TeamworkTaskCard, TeamworkTaskResponse, TeamworkTaskResponseMeta, TeamworkTaskUserPermissions, TeamworkTasklist, TeamworkTasklistResponse, TeamworkTasklistResponseMeta, TeamworkTasklistsResponse, TeamworkTasksResponse, TeamworkUserAccount, TrendDocument, UrlRedirectDocument, UrlRedirectQueryParams, UrlRedirectStatusCode, UserAccountDocument, UserAuthorizationLoginResponse, UserAuthorizationSuccessResponse, UserDocument, UtmClassificationKey, UtmMetaPageDocument, UtmOption, UtmSourceKey, UtmTrackingLinkDocument };
1
+ import { $a as SlideshowComponentSlideSettings, $i as BlogPageDocument, $o as RichTextBlock, Aa as ClientMediaPlatformDocument, Ai as TeamworkUserAccount, Ao as ComponentBlockVideo, As as StrapiTextColorOptions, Ba as TrendDocument, Bi as TeamworkCurrency, Bo as ComponentBlockBrandLogos, Ca as UserAccountDocument, Ci as TeamworkTaskUserPermissions, Co as ComponentBlockPullQuote, Cs as StrapiGapSizes, Da as ClientStyleguideDocument, Di as TeamworkProjectResponseMeta, Do as BlockFullscreenContentType, Ds as StrapiLinkRel, Ea as PermissionDocument, Ei as TeamworkProjectResponse, Eo as BlockFullscreenContent, Es as StrapiLinkReferrerPolicy, Fa as BlogPostBlock, Fi as TeamworkProjectUpdate, Fo as BlockContact, Ga as UtmOption, Gi as TeamworkResponseMeta, Go as ComponentSeoMeta, Ha as CategoryDocument, Hi as TeamworkActivePages, Ho as ComponentBlockAnnouncementBar, Ia as BlogPostDocument, Ii as TeamworkProjectTaskStat, Io as ComponentBlockContact, Ja as Slideshow, Ji as TeamPageDocument, Jo as OpenGraph, Ka as UtmSourceKey, Ki as TeamworkResponseMetaPagination, Ko as MetaSocial, La as TeamMemberDocument, Li as TeamworkProjectCustomField, Lo as BlockButtonGroup, Ma as MediaMediumDocument, Mi as TeamworkTagResponse, Mo as ComponentBlockFaq, Ms as BaseDocument, Na as MediaContentTypeDocument, Ni as TeamworkTagResponseMeta, No as BlockCtaLink, Oa as ClientReportDocument, Oi as TeamworkProjectsResponse, Oo as ComponentBlockFullscreenContent, Os as StrapiLinkTarget, Pa as MediaCreativeFormatDocument, Pi as TeamworkTagsResponse, Po as ComponentBlockCtaLink, Qa as SlideshowComponentProps, Qi as CareersPageDocument, Qo as ComponentSharedRichTextBlock, Ra as TeamMemberGroup, Ri as TeamworkProjectCategory, Ro as ComponentBlockButtonGroup, Sa as UtmTrackingLinkDocument, Si as TeamworkTaskResponseMeta, So as BlockPullQuote, Ss as StrapiDirection, Ta as RoleType, Ti as TeamworkProject, To as ComponentBlockGraphicImage, Ts as StrapiIconPosition, Ua as ComponentUtmOption, Ui as TeamworkLockdown, Uo as ComponentMetaSocial, Va as TagDocument, Vi as TeamworkCompany, Vo as BlockAnnouncementBar, Wa as UtmClassificationKey, Wi as TeamworkRelatedMeta, Wo as ComponentOpenGraph, Xa as SlideContent, Xi as LandingPageDocument, Xo as ComponentSharedQuestionAnswer, Ya as ComponentSlideContent, Yi as PolicyPageDocument, Yo as SeoMeta, Za as SlideType, Zi as FAQPageDocument, Zo as SharedQuestionAnswer, _a as ClientUserDocumentStatus, _i as TeamworkTasklistResponseMeta, _o as ComponentBrandStyleguideColor, _s as MediaFormat, aa as LeadDocument, ao as SliderOrigin, as as SharedLink, ba as UserAuthorizationSuccessResponse, bi as TeamworkTaskCard, bo as BlockSectionTitle, bs as FormSelectInputOption, ca as ClientContentPillarDocument, co as ComponentFormSelect, cs as StrapiAttributeErrorResponse, da as ProductHighlightDocument, do as ComponentFormDownload, ds as StrapiErrorResult, ea as UrlRedirectDocument, eo as ComponentSlideshowSettings, es as RichTextBlockChildren, fa as ProductDocument, fo as FormDownload, fs as StrapiListResponse, ga as ClientUserDocument, gi as TeamworkTasklistResponse, go as BrandStyleguideColor, gs as StrapiSingleResponse, ha as GCFlyTourSnapDocument, hi as TeamworkTasklist, ho as ComponentBrandStyleguideFont, hs as StrapiResponseMetaWithPagination, ia as NewsletterSignupDocument, io as SliderBreakpoint, is as ComponentSharedLink, ja as MediaPlatformDocument, ji as TeamworkTag, jo as BlockFaq, js as StrapiThemeOptions, ka as ClientProjectDocument, ki as TeamworkResponseMetaProjectStats, ko as BlockVideoEmbed, ks as StrapiLinkType, la as ContentPillarDocument, lo as FormSelect, ls as StrapiErrorDetail, ma as GCFlyTourDocument, mo as BrandStyleguideFont, ms as StrapiResponseMeta, na as UrlRedirectStatusCode, no as SlideshowSettings, ns as ComponentSharedButton, oa as CommentDocument, oo as SliderSettings, os as StrapiAttributeErrorDetail, pa as MondayWorkspaceDocument, po as FormDownloadKeys, ps as StrapiPagination, qa as ComponentSlideshow, qi as UtmMetaPageDocument, qo as MetaSocialNetwork, ra as ResumeDocument, ro as ComponentSliderSettings, rs as SharedButton, sa as CommentReportDocument, so as SliderSpacing, ss as StrapiAttributeErrorKey, ta as UrlRedirectQueryParams, to as SlideshowMode, ts as SharedRichTextBlock, ua as ClientDocument, uo as FormUID, us as StrapiErrorResponse, va as AuthorizedUserDocument, vi as TeamworkTasklistsResponse, vo as BlockTextDetails, vs as MediaFormats, wa as RoleDocument, wi as TeamworkTasksResponse, wo as BlockGraphicImage, ws as StrapiIconName, xa as UserDocument, xi as TeamworkTaskResponse, xo as ComponentBlockSectionTitle, xs as StrapiBgColorOptions, ya as UserAuthorizationLoginResponse, yi as TeamworkTask, yo as ComponentBlockTextDetails, ys as MediaUploadDocument, za as TeamMemberTier, zi as TeamworkCustomField, zo as BlockBrandLogos } from "./index-CztHvKgd.cjs";
2
+ export { AuthorizedUserDocument, BaseDocument, BlockAnnouncementBar, BlockBrandLogos, BlockButtonGroup, BlockContact, BlockCtaLink, BlockFaq, BlockFullscreenContent, BlockFullscreenContentType, BlockGraphicImage, BlockPullQuote, BlockSectionTitle, BlockTextDetails, BlockVideoEmbed, BlogPageDocument, BlogPostBlock, BlogPostDocument, BrandStyleguideColor, BrandStyleguideFont, CareersPageDocument, CategoryDocument, ClientContentPillarDocument, ClientDocument, ClientMediaPlatformDocument, ClientProjectDocument, ClientReportDocument, ClientStyleguideDocument, ClientUserDocument, ClientUserDocumentStatus, CommentDocument, CommentReportDocument, ComponentBlockAnnouncementBar, ComponentBlockBrandLogos, ComponentBlockButtonGroup, ComponentBlockContact, ComponentBlockCtaLink, ComponentBlockFaq, ComponentBlockFullscreenContent, ComponentBlockGraphicImage, ComponentBlockPullQuote, ComponentBlockSectionTitle, ComponentBlockTextDetails, ComponentBlockVideo, ComponentBrandStyleguideColor, ComponentBrandStyleguideFont, ComponentFormDownload, ComponentFormSelect, ComponentMetaSocial, ComponentOpenGraph, ComponentSeoMeta, ComponentSharedButton, ComponentSharedLink, ComponentSharedQuestionAnswer, ComponentSharedRichTextBlock, ComponentSlideContent, ComponentSliderSettings, ComponentSlideshow, ComponentSlideshowSettings, ComponentUtmOption, ContentPillarDocument, FAQPageDocument, FormDownload, FormDownloadKeys, FormSelect, FormSelectInputOption, FormUID, GCFlyTourDocument, GCFlyTourSnapDocument, LandingPageDocument, LeadDocument, MediaContentTypeDocument, MediaCreativeFormatDocument, MediaFormat, MediaFormats, MediaMediumDocument, MediaPlatformDocument, MediaUploadDocument, MetaSocial, MetaSocialNetwork, MondayWorkspaceDocument, NewsletterSignupDocument, OpenGraph, PermissionDocument, PolicyPageDocument, ProductDocument, ProductHighlightDocument, ResumeDocument, RichTextBlock, RichTextBlockChildren, RoleDocument, RoleType, SeoMeta, SharedButton, SharedLink, SharedQuestionAnswer, SharedRichTextBlock, SlideContent, SlideType, SliderBreakpoint, SliderOrigin, SliderSettings, SliderSpacing, Slideshow, SlideshowComponentProps, SlideshowComponentSlideSettings, SlideshowMode, SlideshowSettings, StrapiAttributeErrorDetail, StrapiAttributeErrorKey, StrapiAttributeErrorResponse, StrapiBgColorOptions, StrapiDirection, StrapiErrorDetail, StrapiErrorResponse, StrapiErrorResult, StrapiGapSizes, StrapiIconName, StrapiIconPosition, StrapiLinkReferrerPolicy, StrapiLinkRel, StrapiLinkTarget, StrapiLinkType, StrapiListResponse, StrapiPagination, StrapiResponseMeta, StrapiResponseMetaWithPagination, StrapiSingleResponse, StrapiTextColorOptions, StrapiThemeOptions, TagDocument, TeamMemberDocument, TeamMemberGroup, TeamMemberTier, TeamPageDocument, TeamworkActivePages, TeamworkCompany, TeamworkCurrency, TeamworkCustomField, TeamworkLockdown, TeamworkProject, TeamworkProjectCategory, TeamworkProjectCustomField, TeamworkProjectResponse, TeamworkProjectResponseMeta, TeamworkProjectTaskStat, TeamworkProjectUpdate, TeamworkProjectsResponse, TeamworkRelatedMeta, TeamworkResponseMeta, TeamworkResponseMetaPagination, TeamworkResponseMetaProjectStats, TeamworkTag, TeamworkTagResponse, TeamworkTagResponseMeta, TeamworkTagsResponse, TeamworkTask, TeamworkTaskCard, TeamworkTaskResponse, TeamworkTaskResponseMeta, TeamworkTaskUserPermissions, TeamworkTasklist, TeamworkTasklistResponse, TeamworkTasklistResponseMeta, TeamworkTasklistsResponse, TeamworkTasksResponse, TeamworkUserAccount, TrendDocument, UrlRedirectDocument, UrlRedirectQueryParams, UrlRedirectStatusCode, UserAccountDocument, UserAuthorizationLoginResponse, UserAuthorizationSuccessResponse, UserDocument, UtmClassificationKey, UtmMetaPageDocument, UtmOption, UtmSourceKey, UtmTrackingLinkDocument };
package/dist/types.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { $a as SliderSettings, $i as LeadDocument, $o as StrapiAttributeErrorDetail, Aa as TeamMemberDocument, Ai as TeamworkProjectTaskStat, Ao as BlockButtonGroup, Ba as ComponentSlideshow, Bi as TeamworkResponseMetaPagination, Bo as MetaSocialNetwork, Ca as ClientProjectDocument, Ci as TeamworkResponseMetaProjectStats, Co as ComponentBlockVideo, Cs as StrapiTextColorOptions, Da as MediaCreativeFormatDocument, Di as TeamworkTagResponseMeta, Do as ComponentBlockCtaLink, Ea as MediaContentTypeDocument, Ei as TeamworkTagResponse, Eo as BlockCtaLink, Fa as CategoryDocument, Fi as TeamworkCompany, Fo as ComponentBlockAnnouncementBar, Ga as SlideshowComponentProps, Gi as FAQPageDocument, Go as ComponentSharedRichTextBlock, Ha as ComponentSlideContent, Hi as TeamPageDocument, Ho as SeoMeta, Ia as ComponentUtmOption, Ii as TeamworkActivePages, Io as ComponentMetaSocial, Ja as SlideshowMode, Ji as UrlRedirectDocument, Jo as SharedRichTextBlock, Ka as SlideshowComponentSlideSettings, Ki as CareersPageDocument, Ko as RichTextBlock, La as UtmClassificationKey, Li as TeamworkLockdown, Lo as ComponentOpenGraph, Ma as TeamMemberTier, Mi as TeamworkProjectCategory, Mo as BlockBrandLogos, Na as TrendDocument, Ni as TeamworkCustomField, No as ComponentBlockBrandLogos, Oa as BlogPostBlock, Oi as TeamworkTagsResponse, Oo as BlockContact, Pa as TagDocument, Pi as TeamworkCurrency, Po as BlockAnnouncementBar, Qa as SliderOrigin, Qi as NewsletterSignupDocument, Qo as SharedLink, Ra as UtmOption, Ri as TeamworkRelatedMeta, Ro as ComponentSeoMeta, Sa as ClientReportDocument, Si as TeamworkProjectsResponse, So as BlockVideoEmbed, Ss as StrapiLinkType, Ta as MediaPlatformDocument, Ti as TeamworkTag, To as ComponentBlockFaq, Ts as BaseDocument, Ua as SlideContent, Ui as PolicyPageDocument, Uo as ComponentSharedQuestionAnswer, Va as Slideshow, Vi as UtmMetaPageDocument, Vo as OpenGraph, Wa as SlideType, Wi as LandingPageDocument, Wo as SharedQuestionAnswer, Xa as ComponentSliderSettings, Xi as UrlRedirectStatusCode, Xo as SharedButton, Ya as SlideshowSettings, Yi as UrlRedirectQueryParams, Yo as ComponentSharedButton, Za as SliderBreakpoint, Zi as ResumeDocument, Zo as ComponentSharedLink, _a as UserAccountDocument, _i as TeamworkTaskUserPermissions, _o as BlockGraphicImage, _s as StrapiIconName, aa as ProductHighlightDocument, ao as FormDownload, as as StrapiListResponse, ba as PermissionDocument, bi as TeamworkProjectResponse, bo as BlockFullscreenContentType, bs as StrapiLinkRel, ca as GCFlyTourDocument, co as ComponentBrandStyleguideFont, cs as StrapiResponseMetaWithPagination, da as ClientUserDocumentStatus, di as TeamworkTasklistResponseMeta, do as BlockTextDetails, ds as MediaFormats, ea as CommentDocument, eo as SliderSpacing, es as StrapiAttributeErrorKey, fa as AuthorizedUserDocument, fi as TeamworkTasklistsResponse, fo as ComponentBlockTextDetails, fs as MediaUploadDocument, ga as UtmTrackingLinkDocument, gi as TeamworkTaskResponseMeta, go as ComponentBlockPullQuote, gs as StrapiGapSizes, ha as UserDocument, hi as TeamworkTaskResponse, ho as BlockPullQuote, hs as StrapiDirection, ia as ClientDocument, io as ComponentFormDownload, is as StrapiErrorResult, ja as TeamMemberGroup, ji as TeamworkProjectCustomField, jo as ComponentBlockButtonGroup, ka as BlogPostDocument, ki as TeamworkProjectUpdate, ko as ComponentBlockContact, la as GCFlyTourSnapDocument, li as TeamworkTasklist, lo as BrandStyleguideColor, ls as StrapiSingleResponse, ma as UserAuthorizationSuccessResponse, mi as TeamworkTaskCard, mo as ComponentBlockSectionTitle, ms as StrapiBgColorOptions, na as ClientContentPillarDocument, no as FormSelect, ns as StrapiErrorDetail, oa as ProductDocument, oo as FormDownloadKeys, os as StrapiPagination, pa as UserAuthorizationLoginResponse, pi as TeamworkTask, po as BlockSectionTitle, ps as FormSelectInputOption, qa as ComponentSlideshowSettings, qi as BlogPageDocument, qo as RichTextBlockChildren, ra as ContentPillarDocument, ro as FormUID, rs as StrapiErrorResponse, sa as MondayWorkspaceDocument, so as BrandStyleguideFont, ss as StrapiResponseMeta, ta as CommentReportDocument, to as ComponentFormSelect, ts as StrapiAttributeErrorResponse, ua as ClientUserDocument, ui as TeamworkTasklistResponse, uo as ComponentBrandStyleguideColor, us as MediaFormat, va as RoleDocument, vi as TeamworkTasksResponse, vo as ComponentBlockGraphicImage, vs as StrapiIconPosition, wa as ClientMediaPlatformDocument, wi as TeamworkUserAccount, wo as BlockFaq, ws as StrapiThemeOptions, xa as ClientStyleguideDocument, xi as TeamworkProjectResponseMeta, xo as ComponentBlockFullscreenContent, xs as StrapiLinkTarget, ya as RoleType, yi as TeamworkProject, yo as BlockFullscreenContent, ys as StrapiLinkReferrerPolicy, za as UtmSourceKey, zi as TeamworkResponseMeta, zo as MetaSocial } from "./index-DzbSf1Iw.mjs";
2
- export { AuthorizedUserDocument, BaseDocument, BlockAnnouncementBar, BlockBrandLogos, BlockButtonGroup, BlockContact, BlockCtaLink, BlockFaq, BlockFullscreenContent, BlockFullscreenContentType, BlockGraphicImage, BlockPullQuote, BlockSectionTitle, BlockTextDetails, BlockVideoEmbed, BlogPageDocument, BlogPostBlock, BlogPostDocument, BrandStyleguideColor, BrandStyleguideFont, CareersPageDocument, CategoryDocument, ClientContentPillarDocument, ClientDocument, ClientMediaPlatformDocument, ClientProjectDocument, ClientReportDocument, ClientStyleguideDocument, ClientUserDocument, ClientUserDocumentStatus, CommentDocument, CommentReportDocument, ComponentBlockAnnouncementBar, ComponentBlockBrandLogos, ComponentBlockButtonGroup, ComponentBlockContact, ComponentBlockCtaLink, ComponentBlockFaq, ComponentBlockFullscreenContent, ComponentBlockGraphicImage, ComponentBlockPullQuote, ComponentBlockSectionTitle, ComponentBlockTextDetails, ComponentBlockVideo, ComponentBrandStyleguideColor, ComponentBrandStyleguideFont, ComponentFormDownload, ComponentFormSelect, ComponentMetaSocial, ComponentOpenGraph, ComponentSeoMeta, ComponentSharedButton, ComponentSharedLink, ComponentSharedQuestionAnswer, ComponentSharedRichTextBlock, ComponentSlideContent, ComponentSliderSettings, ComponentSlideshow, ComponentSlideshowSettings, ComponentUtmOption, ContentPillarDocument, FAQPageDocument, FormDownload, FormDownloadKeys, FormSelect, FormSelectInputOption, FormUID, GCFlyTourDocument, GCFlyTourSnapDocument, LandingPageDocument, LeadDocument, MediaContentTypeDocument, MediaCreativeFormatDocument, MediaFormat, MediaFormats, MediaPlatformDocument, MediaUploadDocument, MetaSocial, MetaSocialNetwork, MondayWorkspaceDocument, NewsletterSignupDocument, OpenGraph, PermissionDocument, PolicyPageDocument, ProductDocument, ProductHighlightDocument, ResumeDocument, RichTextBlock, RichTextBlockChildren, RoleDocument, RoleType, SeoMeta, SharedButton, SharedLink, SharedQuestionAnswer, SharedRichTextBlock, SlideContent, SlideType, SliderBreakpoint, SliderOrigin, SliderSettings, SliderSpacing, Slideshow, SlideshowComponentProps, SlideshowComponentSlideSettings, SlideshowMode, SlideshowSettings, StrapiAttributeErrorDetail, StrapiAttributeErrorKey, StrapiAttributeErrorResponse, StrapiBgColorOptions, StrapiDirection, StrapiErrorDetail, StrapiErrorResponse, StrapiErrorResult, StrapiGapSizes, StrapiIconName, StrapiIconPosition, StrapiLinkReferrerPolicy, StrapiLinkRel, StrapiLinkTarget, StrapiLinkType, StrapiListResponse, StrapiPagination, StrapiResponseMeta, StrapiResponseMetaWithPagination, StrapiSingleResponse, StrapiTextColorOptions, StrapiThemeOptions, TagDocument, TeamMemberDocument, TeamMemberGroup, TeamMemberTier, TeamPageDocument, TeamworkActivePages, TeamworkCompany, TeamworkCurrency, TeamworkCustomField, TeamworkLockdown, TeamworkProject, TeamworkProjectCategory, TeamworkProjectCustomField, TeamworkProjectResponse, TeamworkProjectResponseMeta, TeamworkProjectTaskStat, TeamworkProjectUpdate, TeamworkProjectsResponse, TeamworkRelatedMeta, TeamworkResponseMeta, TeamworkResponseMetaPagination, TeamworkResponseMetaProjectStats, TeamworkTag, TeamworkTagResponse, TeamworkTagResponseMeta, TeamworkTagsResponse, TeamworkTask, TeamworkTaskCard, TeamworkTaskResponse, TeamworkTaskResponseMeta, TeamworkTaskUserPermissions, TeamworkTasklist, TeamworkTasklistResponse, TeamworkTasklistResponseMeta, TeamworkTasklistsResponse, TeamworkTasksResponse, TeamworkUserAccount, TrendDocument, UrlRedirectDocument, UrlRedirectQueryParams, UrlRedirectStatusCode, UserAccountDocument, UserAuthorizationLoginResponse, UserAuthorizationSuccessResponse, UserDocument, UtmClassificationKey, UtmMetaPageDocument, UtmOption, UtmSourceKey, UtmTrackingLinkDocument };
1
+ import { $a as SlideshowComponentSlideSettings, $i as BlogPageDocument, $o as RichTextBlock, Aa as ClientMediaPlatformDocument, Ai as TeamworkUserAccount, Ao as ComponentBlockVideo, As as StrapiTextColorOptions, Ba as TrendDocument, Bi as TeamworkCurrency, Bo as ComponentBlockBrandLogos, Ca as UserAccountDocument, Ci as TeamworkTaskUserPermissions, Co as ComponentBlockPullQuote, Cs as StrapiGapSizes, Da as ClientStyleguideDocument, Di as TeamworkProjectResponseMeta, Do as BlockFullscreenContentType, Ds as StrapiLinkRel, Ea as PermissionDocument, Ei as TeamworkProjectResponse, Eo as BlockFullscreenContent, Es as StrapiLinkReferrerPolicy, Fa as BlogPostBlock, Fi as TeamworkProjectUpdate, Fo as BlockContact, Ga as UtmOption, Gi as TeamworkResponseMeta, Go as ComponentSeoMeta, Ha as CategoryDocument, Hi as TeamworkActivePages, Ho as ComponentBlockAnnouncementBar, Ia as BlogPostDocument, Ii as TeamworkProjectTaskStat, Io as ComponentBlockContact, Ja as Slideshow, Ji as TeamPageDocument, Jo as OpenGraph, Ka as UtmSourceKey, Ki as TeamworkResponseMetaPagination, Ko as MetaSocial, La as TeamMemberDocument, Li as TeamworkProjectCustomField, Lo as BlockButtonGroup, Ma as MediaMediumDocument, Mi as TeamworkTagResponse, Mo as ComponentBlockFaq, Ms as BaseDocument, Na as MediaContentTypeDocument, Ni as TeamworkTagResponseMeta, No as BlockCtaLink, Oa as ClientReportDocument, Oi as TeamworkProjectsResponse, Oo as ComponentBlockFullscreenContent, Os as StrapiLinkTarget, Pa as MediaCreativeFormatDocument, Pi as TeamworkTagsResponse, Po as ComponentBlockCtaLink, Qa as SlideshowComponentProps, Qi as CareersPageDocument, Qo as ComponentSharedRichTextBlock, Ra as TeamMemberGroup, Ri as TeamworkProjectCategory, Ro as ComponentBlockButtonGroup, Sa as UtmTrackingLinkDocument, Si as TeamworkTaskResponseMeta, So as BlockPullQuote, Ss as StrapiDirection, Ta as RoleType, Ti as TeamworkProject, To as ComponentBlockGraphicImage, Ts as StrapiIconPosition, Ua as ComponentUtmOption, Ui as TeamworkLockdown, Uo as ComponentMetaSocial, Va as TagDocument, Vi as TeamworkCompany, Vo as BlockAnnouncementBar, Wa as UtmClassificationKey, Wi as TeamworkRelatedMeta, Wo as ComponentOpenGraph, Xa as SlideContent, Xi as LandingPageDocument, Xo as ComponentSharedQuestionAnswer, Ya as ComponentSlideContent, Yi as PolicyPageDocument, Yo as SeoMeta, Za as SlideType, Zi as FAQPageDocument, Zo as SharedQuestionAnswer, _a as ClientUserDocumentStatus, _i as TeamworkTasklistResponseMeta, _o as ComponentBrandStyleguideColor, _s as MediaFormat, aa as LeadDocument, ao as SliderOrigin, as as SharedLink, ba as UserAuthorizationSuccessResponse, bi as TeamworkTaskCard, bo as BlockSectionTitle, bs as FormSelectInputOption, ca as ClientContentPillarDocument, co as ComponentFormSelect, cs as StrapiAttributeErrorResponse, da as ProductHighlightDocument, do as ComponentFormDownload, ds as StrapiErrorResult, ea as UrlRedirectDocument, eo as ComponentSlideshowSettings, es as RichTextBlockChildren, fa as ProductDocument, fo as FormDownload, fs as StrapiListResponse, ga as ClientUserDocument, gi as TeamworkTasklistResponse, go as BrandStyleguideColor, gs as StrapiSingleResponse, ha as GCFlyTourSnapDocument, hi as TeamworkTasklist, ho as ComponentBrandStyleguideFont, hs as StrapiResponseMetaWithPagination, ia as NewsletterSignupDocument, io as SliderBreakpoint, is as ComponentSharedLink, ja as MediaPlatformDocument, ji as TeamworkTag, jo as BlockFaq, js as StrapiThemeOptions, ka as ClientProjectDocument, ki as TeamworkResponseMetaProjectStats, ko as BlockVideoEmbed, ks as StrapiLinkType, la as ContentPillarDocument, lo as FormSelect, ls as StrapiErrorDetail, ma as GCFlyTourDocument, mo as BrandStyleguideFont, ms as StrapiResponseMeta, na as UrlRedirectStatusCode, no as SlideshowSettings, ns as ComponentSharedButton, oa as CommentDocument, oo as SliderSettings, os as StrapiAttributeErrorDetail, pa as MondayWorkspaceDocument, po as FormDownloadKeys, ps as StrapiPagination, qa as ComponentSlideshow, qi as UtmMetaPageDocument, qo as MetaSocialNetwork, ra as ResumeDocument, ro as ComponentSliderSettings, rs as SharedButton, sa as CommentReportDocument, so as SliderSpacing, ss as StrapiAttributeErrorKey, ta as UrlRedirectQueryParams, to as SlideshowMode, ts as SharedRichTextBlock, ua as ClientDocument, uo as FormUID, us as StrapiErrorResponse, va as AuthorizedUserDocument, vi as TeamworkTasklistsResponse, vo as BlockTextDetails, vs as MediaFormats, wa as RoleDocument, wi as TeamworkTasksResponse, wo as BlockGraphicImage, ws as StrapiIconName, xa as UserDocument, xi as TeamworkTaskResponse, xo as ComponentBlockSectionTitle, xs as StrapiBgColorOptions, ya as UserAuthorizationLoginResponse, yi as TeamworkTask, yo as ComponentBlockTextDetails, ys as MediaUploadDocument, za as TeamMemberTier, zi as TeamworkCustomField, zo as BlockBrandLogos } from "./index-DnB7WzlI.mjs";
2
+ export { AuthorizedUserDocument, BaseDocument, BlockAnnouncementBar, BlockBrandLogos, BlockButtonGroup, BlockContact, BlockCtaLink, BlockFaq, BlockFullscreenContent, BlockFullscreenContentType, BlockGraphicImage, BlockPullQuote, BlockSectionTitle, BlockTextDetails, BlockVideoEmbed, BlogPageDocument, BlogPostBlock, BlogPostDocument, BrandStyleguideColor, BrandStyleguideFont, CareersPageDocument, CategoryDocument, ClientContentPillarDocument, ClientDocument, ClientMediaPlatformDocument, ClientProjectDocument, ClientReportDocument, ClientStyleguideDocument, ClientUserDocument, ClientUserDocumentStatus, CommentDocument, CommentReportDocument, ComponentBlockAnnouncementBar, ComponentBlockBrandLogos, ComponentBlockButtonGroup, ComponentBlockContact, ComponentBlockCtaLink, ComponentBlockFaq, ComponentBlockFullscreenContent, ComponentBlockGraphicImage, ComponentBlockPullQuote, ComponentBlockSectionTitle, ComponentBlockTextDetails, ComponentBlockVideo, ComponentBrandStyleguideColor, ComponentBrandStyleguideFont, ComponentFormDownload, ComponentFormSelect, ComponentMetaSocial, ComponentOpenGraph, ComponentSeoMeta, ComponentSharedButton, ComponentSharedLink, ComponentSharedQuestionAnswer, ComponentSharedRichTextBlock, ComponentSlideContent, ComponentSliderSettings, ComponentSlideshow, ComponentSlideshowSettings, ComponentUtmOption, ContentPillarDocument, FAQPageDocument, FormDownload, FormDownloadKeys, FormSelect, FormSelectInputOption, FormUID, GCFlyTourDocument, GCFlyTourSnapDocument, LandingPageDocument, LeadDocument, MediaContentTypeDocument, MediaCreativeFormatDocument, MediaFormat, MediaFormats, MediaMediumDocument, MediaPlatformDocument, MediaUploadDocument, MetaSocial, MetaSocialNetwork, MondayWorkspaceDocument, NewsletterSignupDocument, OpenGraph, PermissionDocument, PolicyPageDocument, ProductDocument, ProductHighlightDocument, ResumeDocument, RichTextBlock, RichTextBlockChildren, RoleDocument, RoleType, SeoMeta, SharedButton, SharedLink, SharedQuestionAnswer, SharedRichTextBlock, SlideContent, SlideType, SliderBreakpoint, SliderOrigin, SliderSettings, SliderSpacing, Slideshow, SlideshowComponentProps, SlideshowComponentSlideSettings, SlideshowMode, SlideshowSettings, StrapiAttributeErrorDetail, StrapiAttributeErrorKey, StrapiAttributeErrorResponse, StrapiBgColorOptions, StrapiDirection, StrapiErrorDetail, StrapiErrorResponse, StrapiErrorResult, StrapiGapSizes, StrapiIconName, StrapiIconPosition, StrapiLinkReferrerPolicy, StrapiLinkRel, StrapiLinkTarget, StrapiLinkType, StrapiListResponse, StrapiPagination, StrapiResponseMeta, StrapiResponseMetaWithPagination, StrapiSingleResponse, StrapiTextColorOptions, StrapiThemeOptions, TagDocument, TeamMemberDocument, TeamMemberGroup, TeamMemberTier, TeamPageDocument, TeamworkActivePages, TeamworkCompany, TeamworkCurrency, TeamworkCustomField, TeamworkLockdown, TeamworkProject, TeamworkProjectCategory, TeamworkProjectCustomField, TeamworkProjectResponse, TeamworkProjectResponseMeta, TeamworkProjectTaskStat, TeamworkProjectUpdate, TeamworkProjectsResponse, TeamworkRelatedMeta, TeamworkResponseMeta, TeamworkResponseMetaPagination, TeamworkResponseMetaProjectStats, TeamworkTag, TeamworkTagResponse, TeamworkTagResponseMeta, TeamworkTagsResponse, TeamworkTask, TeamworkTaskCard, TeamworkTaskResponse, TeamworkTaskResponseMeta, TeamworkTaskUserPermissions, TeamworkTasklist, TeamworkTasklistResponse, TeamworkTasklistResponseMeta, TeamworkTasklistsResponse, TeamworkTasksResponse, TeamworkUserAccount, TrendDocument, UrlRedirectDocument, UrlRedirectQueryParams, UrlRedirectStatusCode, UserAccountDocument, UserAuthorizationLoginResponse, UserAuthorizationSuccessResponse, UserDocument, UtmClassificationKey, UtmMetaPageDocument, UtmOption, UtmSourceKey, UtmTrackingLinkDocument };
@@ -74,5 +74,3 @@ exports.isValidationFailure = isValidationFailure;
74
74
  exports.isValidationSuccess = isValidationSuccess;
75
75
  exports.omitUndefined = omitUndefined;
76
76
  exports.validateAndClean = validateAndClean;
77
-
78
- //# sourceMappingURL=utilities.cjs.map
@@ -1,2 +1,2 @@
1
- import { a as isStrapiAttributeError, c as dateToday, i as validateAndClean, n as isValidationSuccess, o as isStrapiStandardError, r as omitUndefined, s as datePlusDays, t as isValidationFailure } from "./index-DqB0LPlP.cjs";
1
+ import { a as isStrapiAttributeError, c as dateToday, i as validateAndClean, n as isValidationSuccess, o as isStrapiStandardError, r as omitUndefined, s as datePlusDays, t as isValidationFailure } from "./index-CztHvKgd.cjs";
2
2
  export { datePlusDays, dateToday, isStrapiAttributeError, isStrapiStandardError, isValidationFailure, isValidationSuccess, omitUndefined, validateAndClean };
@@ -1,2 +1,2 @@
1
- import { a as isStrapiAttributeError, c as dateToday, i as validateAndClean, n as isValidationSuccess, o as isStrapiStandardError, r as omitUndefined, s as datePlusDays, t as isValidationFailure } from "./index-DzbSf1Iw.mjs";
1
+ import { a as isStrapiAttributeError, c as dateToday, i as validateAndClean, n as isValidationSuccess, o as isStrapiStandardError, r as omitUndefined, s as datePlusDays, t as isValidationFailure } from "./index-DnB7WzlI.mjs";
2
2
  export { datePlusDays, dateToday, isStrapiAttributeError, isStrapiStandardError, isValidationFailure, isValidationSuccess, omitUndefined, validateAndClean };
@@ -64,5 +64,3 @@ function omitUndefined(obj) {
64
64
  }
65
65
  //#endregion
66
66
  export { datePlusDays, dateToday, isStrapiAttributeError, isStrapiStandardError, isValidationFailure, isValidationSuccess, omitUndefined, validateAndClean };
67
-
68
- //# sourceMappingURL=utilities.mjs.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@getcommunity/gc-validators",
3
3
  "description": "Schema Validator for GetCommunity web-stack types",
4
- "version": "0.0.231",
4
+ "version": "0.0.233",
5
5
  "author": "Joey Grable <joey@getcommunity.com> (https://joeygrable.com)",
6
6
  "contributors": [],
7
7
  "type": "module",
@@ -101,7 +101,7 @@
101
101
  "prettier": "^3.8.1",
102
102
  "prettier-plugin-organize-imports": "^4.3.0",
103
103
  "tsdown": "^0.21.7",
104
- "typescript": "^5.9.3"
104
+ "typescript": "^6.0.2"
105
105
  },
106
106
  "bugs": {
107
107
  "url": "https://github.com/getcommunity/gc-validators/issues"
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.cjs","names":[],"sources":["../src/constants/client-project.constants.ts","../src/constants/client.constants.ts","../src/constants/comment.constants.ts","../src/constants/gc-contact-form-options.constants.ts","../src/constants/limits.constants.ts","../src/constants/message-response.constants.ts","../src/constants/pagination.constants.ts","../src/constants/regex.constants.ts"],"sourcesContent":["export const ClientProjectStatusOptions = [\n \"coming-soon\",\n \"now-open\",\n \"for-sale\",\n \"sold-out\",\n \"available\"\n] as const\n\nexport const ClientProjectPhaseSelectOptions = [\n {\n label: \"Brand\",\n value: \"brand\",\n description: \"General/Company branded content\"\n },\n {\n label: \"Phase 1\",\n value: \"p1\",\n description: \"Interest list building\"\n },\n {\n label: \"Phase 2\",\n value: \"p2\",\n description: \"Pre-qualification, pre-sales\"\n },\n {\n label: \"Phase 3\",\n value: \"p3\",\n description: \"Grand opening, now open, available\"\n },\n {\n label: \"Phase 4\",\n value: \"p4\",\n description: \"For sale, maintenance period\"\n },\n {\n label: \"Phase 5\",\n value: \"p5\",\n description: \"Final sale\"\n },\n {\n label: \"Closed\",\n value: \"closed\",\n description: \"Sold out, no longer available\"\n }\n] as const\n\nexport const ClientProjectPhaseOptions = [\n \"brand\",\n \"p1\",\n \"p2\",\n \"p3\",\n \"p4\",\n \"p5\",\n \"closed\"\n] as const\n","export const IsValidClientClassificationSelectOptions = [\"organic\", \"paid\"] as const\n","// Comment Report Document\nexport const ReportCommentReason = {\n BAD_LANGUAGE: \"BAD_LANGUAGE\",\n DISCRIMINATION: \"DISCRIMINATION\",\n OTHER: \"OTHER\"\n} as const\n\nexport const ReportCommentReasonOptions = Object.values(ReportCommentReason)\n\n// Comment Document\nexport const CommentApprovalStatus = {\n PENDING: \"PENDING\",\n APPROVED: \"APPROVED\",\n REJECTED: \"REJECTED\"\n} as const\n\nexport const CommentApprovalStatusOptions = Object.values(CommentApprovalStatus)\n","export const ValidNumberOfEmployeeOptions = [\n { label: \"0-10\", value: \"0-10\" },\n { label: \"11-20\", value: \"11-20\" },\n { label: \"21-50\", value: \"21-50\" },\n { label: \"51-100\", value: \"51-100\" },\n { label: \"101-500\", value: \"101-500\" },\n { label: \"501+\", value: \"501+\" }\n] as const\n\nexport const ValidJobRoleGroup = [\n {\n label: \"Founder / Owner\",\n value: \"founder,owner\"\n },\n {\n label: \"C-suite Executive\",\n value: \"executive\"\n },\n {\n label: \"Vice President\",\n value: \"vice president\"\n },\n {\n label: \"Director\",\n value: \"director\"\n },\n {\n label: \"Manager\",\n value: \"manager\"\n },\n {\n label: \"Solo-prenour\",\n value: \"solo-prenour\"\n },\n {\n label: \"Student\",\n value: \"student\"\n }\n] as const\n\nexport const ValidGcServiceOptions = [\n { label: \"Full Marketing Services\", value: \"Full Marketing Services\" },\n {\n label: \"Graphic Design / Marketing Design\",\n value: \"Graphic Design / Marketing Design\"\n },\n { label: \"Text Message Marketing\", value: \"Text Message Marketing\" },\n { label: \"Email Marketing\", value: \"Email Marketing\" },\n { label: \"Video Production\", value: \"Video Production\" },\n { label: \"Website Production\", value: \"Website Production\" },\n { label: \"Marketing Automation Software\", value: \"Marketing Automation Software\" },\n { label: \"Online Advertising\", value: \"Online Advertising\" },\n { label: \"Influencer Marketing\", value: \"Influencer Marketing\" }\n] as const\n\nexport const ValidGcVideoServiceOptions = [\n { label: \"Storyboarding\", value: \"Storyboarding\" },\n { label: \"Voiceovers\", value: \"Voiceovers\" },\n { label: \"Video Commercials / Interviews\", value: \"Video Commercials / Interviews\" },\n {\n label: \"Short Form Video Editing (social posts/stories)\",\n value: \"Short Form Video Editing (social posts/stories)\"\n },\n { label: \"Product Tours\", value: \"Product Tours\" },\n { label: \"Model Home / Community Tours\", value: \"Model Home / Community Tours\" },\n { label: \"Matterport Interactive Tours\", value: \"Matterport Interactive Tours\" },\n { label: \"3D Flyover Videos\", value: \"3D Flyover Videos\" }\n] as const\n\nexport const ValidGcDesiredContentOptions = [\n { label: \"Blog Posts\", value: \"Blog Posts\" },\n { label: \"Podcasting\", value: \"Podcasting\" },\n { label: \"Live Streams\", value: \"Live Streams\" },\n { label: \"Newsletters\", value: \"Newsletters\" },\n { label: \"Freebies / Toolkits\", value: \"Freebies / Toolkits\" },\n { label: \"Community Updates\", value: \"Community Updates\" }\n] as const\n\nexport const ValidRatingRange5 = [\n { label: \"1\", value: \"1\" },\n { label: \"2\", value: \"2\" },\n { label: \"3\", value: \"3\" },\n { label: \"4\", value: \"4\" },\n { label: \"5\", value: \"5\" }\n] as const\n","// Generics\nexport const LIMIT_MIN_VALUE = 1\nexport const LIMIT_SHORT_STRING_MAX_LENGTH = 255\nexport const LIMIT_MEDIUM_STRING_MAX_LENGTH = 500\nexport const LIMIT_LONG_STRING_MAX_LENGTH = 5000\nexport const LIMIT_VAL_10 = 10\nexport const LIMIT_VAL_100 = 100\n// Users\nexport const LIMIT_MIN_USERNAME = 3\nexport const LIMIT_MAX_USERNAME = 255\nexport const LIMIT_MIN_EMAIL = 5\nexport const LIMIT_MAX_EMAIL = 255\nexport const LIMIT_MIN_PASSWORD = 8\nexport const LIMIT_MAX_PASSWORD = 255\nexport const LIMIT_MAX_PROVIDER = 255\nexport const LIMIT_MIN_PHONE = 7\nexport const LIMIT_MAX_PHONE = 24\n// URLs\nexport const LIMIT_MIN_DESTINATION = 10\nexport const LIMIT_MAX_DESTINATION = 2048\nexport const LIMIT_MIN_DOMAIN = 10\nexport const LIMIT_MAX_DOMAIN = 253\nexport const LIMIT_MIN_PATH = 1\nexport const LIMIT_MAX_PATH = 2038\nexport const LIMIT_MIN_QUERY = 1\nexport const LIMIT_MAX_QUERY = 2038\nexport const LIMIT_MIN_FRAGMENT = 1\nexport const LIMIT_MAX_FRAGMENT = 2038\n// UTM Parameters\nexport const LIMIT_MIN_UTM_KEY = 1\nexport const LIMIT_MAX_UTM_KEY = 255\nexport const LIMIT_MIN_UTM_SOURCE = 1\nexport const LIMIT_MAX_UTM_SOURCE = 2026\nexport const LIMIT_MIN_UTM_MEDIUM = 1\nexport const LIMIT_MAX_UTM_MEDIUM = 2026\nexport const LIMIT_MIN_UTM_CAMPAIGN = 1\nexport const LIMIT_MAX_UTM_CAMPAIGN = 2024\nexport const LIMIT_MIN_UTM_CREATIVE_FORMAT = 1\nexport const LIMIT_MAX_UTM_CREATIVE_FORMAT = 2017\nexport const LIMIT_MIN_UTM_CONTENT = 1\nexport const LIMIT_MAX_UTM_CONTENT = 2025\nexport const LIMIT_MIN_UTM_TERM = 1\nexport const LIMIT_MAX_UTM_TERM = 2028\nexport const LIMIT_MIN_UTM_ID = 1\nexport const LIMIT_MAX_UTM_ID = 2030\n","export const ERROR_MESSAGE_ROBOT = \"It appears you are a robot, please try again.\"\nexport const ERROR_MESSAGE_COMMA_SEPPARATED_URLS = `Please enter a list of URLs separated by commas.`\nexport const ERROR_MESSAGE_INVALID_URL = `Please enter a valid URL.`\nexport const ERROR_MESSAGE_UTM_URL = `Please enter a valid URL with UTM parameters.`\nexport const ERROR_MESSAGE_URL_NO_QUERY_PARAMS = `Please remove any query parameters from the URL.`\nexport const ERROR_MESSAGE_ONE_PROJECT_STATUS = `You can only select one project status.`\nexport const ERROR_MESSAGE_URL_PREFIX = `Please enter a valid URL starting with http or https.`\n","// Generics\nexport const LIMIT_TABLE_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PAGINATION_DEFAULT_SIZE = 100\nexport const LIMIT_PAGINATION_MAX_SIZE = 10000\n// Entities\nexport const LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE = 6\nexport const LIMIT_BLOG_POST_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE = 20\nexport const LIMIT_CLIENT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_CLIENT_REPORT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_CLIENT_REPORT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_CLIENT_MEDIA_PLATFORM_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_CLIENT_MEDIA_PLATFORM_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_CLIENT_CONTENT_PILLAR_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_CLIENT_CONTENT_PILLAR_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_CLIENT_PROJECT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_CLIENT_PROJECT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_CLIENT_STYLEGUIDE_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_CLIENT_STYLEGUIDE_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_CLIENT_USER_PAGINATION_DEFAULT_SIZE_LIMIT = 10\nexport const LIMIT_CLIENT_USER_PAGINATION_MAX_SIZE_LIMIT = 100\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE = 1000\nexport const LIMIT_REDIRECT_PAGINATION_MAX_SIZE = 10000\nexport const LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_TREND_PAGINATION_DEFAULT_SIZE = 7\nexport const LIMIT_TREND_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_USER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_USER_PAGINATION_MAX_SIZE = 10\nexport const LIMIT_CATEGORIES_DEFAULT_SIZE = 100\nexport const LIMIT_CATEGORIES_MAX_SIZE = 1000\nexport const LIMIT_TAGS_DEFAULT_SIZE = 100\nexport const LIMIT_TAGS_MAX_SIZE = 1000\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE = 1000\nexport const LIMIT_MONDAY_WORKSPACE_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_MONDAY_WORKSPACE_PAGINATION_MAX_SIZE = 1000\n","export const ERROR_MESSAGE_REGEX_UTM_VALUE =\n \"can only contain letters, numbers, and the special characters: - _ .\"\nexport const REGEX_UTM_VALUE = /^([a-zA-Z0-9._-]+)?$/\nexport const REGEX_BRAND_COLOR_SLUG = /^([a-zA-Z0-9_-]+)?$/\n\nexport const ERROR_MESSAGE_REGEX_PHONE = \"Please provide a valid phone number.\"\nexport const REGEX_NANP_PHONE =\n /^(?:\\+?1[\\s.-]?)?(?:\\(?([2-9]\\d{2})\\)?[\\s.-]?)(?:([2-9](?!11)\\d{2}))[\\s.-]?(\\d{4})(?:\\s*(?:#|x|ext\\.?|extension)\\s*\\d+)?$/i\n\nexport const ERROR_MESSAGE_REGEX_URL_SLUG = `can only contain letters, numbers, and the special characters: - _ .`\nexport const REGEX_URL_SLUG = /^([a-zA-Z0-9._-]+)?$/\n"],"mappings":";;AAAA,MAAa,6BAA6B;CACxC;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,kCAAkC;CAC7C;EACE,OAAO;EACP,OAAO;EACP,aAAa;EACd;CACD;EACE,OAAO;EACP,OAAO;EACP,aAAa;EACd;CACD;EACE,OAAO;EACP,OAAO;EACP,aAAa;EACd;CACD;EACE,OAAO;EACP,OAAO;EACP,aAAa;EACd;CACD;EACE,OAAO;EACP,OAAO;EACP,aAAa;EACd;CACD;EACE,OAAO;EACP,OAAO;EACP,aAAa;EACd;CACD;EACE,OAAO;EACP,OAAO;EACP,aAAa;EACd;CACF;AAED,MAAa,4BAA4B;CACvC;CACA;CACA;CACA;CACA;CACA;CACA;CACD;;;ACtDD,MAAa,2CAA2C,CAAC,WAAW,OAAO;;;ACC3E,MAAa,sBAAsB;CACjC,cAAc;CACd,gBAAgB;CAChB,OAAO;CACR;AAED,MAAa,6BAA6B,OAAO,OAAO,oBAAoB;AAG5E,MAAa,wBAAwB;CACnC,SAAS;CACT,UAAU;CACV,UAAU;CACX;AAED,MAAa,+BAA+B,OAAO,OAAO,sBAAsB;;;AChBhF,MAAa,+BAA+B;CAC1C;EAAE,OAAO;EAAQ,OAAO;EAAQ;CAChC;EAAE,OAAO;EAAS,OAAO;EAAS;CAClC;EAAE,OAAO;EAAS,OAAO;EAAS;CAClC;EAAE,OAAO;EAAU,OAAO;EAAU;CACpC;EAAE,OAAO;EAAW,OAAO;EAAW;CACtC;EAAE,OAAO;EAAQ,OAAO;EAAQ;CACjC;AAED,MAAa,oBAAoB;CAC/B;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACF;AAED,MAAa,wBAAwB;CACnC;EAAE,OAAO;EAA2B,OAAO;EAA2B;CACtE;EACE,OAAO;EACP,OAAO;EACR;CACD;EAAE,OAAO;EAA0B,OAAO;EAA0B;CACpE;EAAE,OAAO;EAAmB,OAAO;EAAmB;CACtD;EAAE,OAAO;EAAoB,OAAO;EAAoB;CACxD;EAAE,OAAO;EAAsB,OAAO;EAAsB;CAC5D;EAAE,OAAO;EAAiC,OAAO;EAAiC;CAClF;EAAE,OAAO;EAAsB,OAAO;EAAsB;CAC5D;EAAE,OAAO;EAAwB,OAAO;EAAwB;CACjE;AAED,MAAa,6BAA6B;CACxC;EAAE,OAAO;EAAiB,OAAO;EAAiB;CAClD;EAAE,OAAO;EAAc,OAAO;EAAc;CAC5C;EAAE,OAAO;EAAkC,OAAO;EAAkC;CACpF;EACE,OAAO;EACP,OAAO;EACR;CACD;EAAE,OAAO;EAAiB,OAAO;EAAiB;CAClD;EAAE,OAAO;EAAgC,OAAO;EAAgC;CAChF;EAAE,OAAO;EAAgC,OAAO;EAAgC;CAChF;EAAE,OAAO;EAAqB,OAAO;EAAqB;CAC3D;AAED,MAAa,+BAA+B;CAC1C;EAAE,OAAO;EAAc,OAAO;EAAc;CAC5C;EAAE,OAAO;EAAc,OAAO;EAAc;CAC5C;EAAE,OAAO;EAAgB,OAAO;EAAgB;CAChD;EAAE,OAAO;EAAe,OAAO;EAAe;CAC9C;EAAE,OAAO;EAAuB,OAAO;EAAuB;CAC9D;EAAE,OAAO;EAAqB,OAAO;EAAqB;CAC3D;AAED,MAAa,oBAAoB;CAC/B;EAAE,OAAO;EAAK,OAAO;EAAK;CAC1B;EAAE,OAAO;EAAK,OAAO;EAAK;CAC1B;EAAE,OAAO;EAAK,OAAO;EAAK;CAC1B;EAAE,OAAO;EAAK,OAAO;EAAK;CAC1B;EAAE,OAAO;EAAK,OAAO;EAAK;CAC3B;;;ACnFD,MAAa,kBAAkB;AAC/B,MAAa,gCAAgC;AAC7C,MAAa,iCAAiC;AAC9C,MAAa,+BAA+B;AAC5C,MAAa,eAAe;AAC5B,MAAa,gBAAgB;AAE7B,MAAa,qBAAqB;AAClC,MAAa,qBAAqB;AAClC,MAAa,kBAAkB;AAC/B,MAAa,kBAAkB;AAC/B,MAAa,qBAAqB;AAClC,MAAa,qBAAqB;AAClC,MAAa,qBAAqB;AAClC,MAAa,kBAAkB;AAC/B,MAAa,kBAAkB;AAE/B,MAAa,wBAAwB;AACrC,MAAa,wBAAwB;AACrC,MAAa,mBAAmB;AAChC,MAAa,mBAAmB;AAChC,MAAa,iBAAiB;AAC9B,MAAa,iBAAiB;AAC9B,MAAa,kBAAkB;AAC/B,MAAa,kBAAkB;AAC/B,MAAa,qBAAqB;AAClC,MAAa,qBAAqB;AAElC,MAAa,oBAAoB;AACjC,MAAa,oBAAoB;AACjC,MAAa,uBAAuB;AACpC,MAAa,uBAAuB;AACpC,MAAa,uBAAuB;AACpC,MAAa,uBAAuB;AACpC,MAAa,yBAAyB;AACtC,MAAa,yBAAyB;AACtC,MAAa,gCAAgC;AAC7C,MAAa,gCAAgC;AAC7C,MAAa,wBAAwB;AACrC,MAAa,wBAAwB;AACrC,MAAa,qBAAqB;AAClC,MAAa,qBAAqB;AAClC,MAAa,mBAAmB;AAChC,MAAa,mBAAmB;;;AC5ChC,MAAa,sBAAsB;AACnC,MAAa,sCAAsC;AACnD,MAAa,4BAA4B;AACzC,MAAa,wBAAwB;AACrC,MAAa,oCAAoC;AACjD,MAAa,mCAAmC;AAChD,MAAa,2BAA2B;;;ACLxC,MAAa,sCAAsC;AACnD,MAAa,gCAAgC;AAC7C,MAAa,4BAA4B;AAEzC,MAAa,0CAA0C;AACvD,MAAa,sCAAsC;AACnD,MAAa,uCAAuC;AACpD,MAAa,mCAAmC;AAChD,MAAa,8CAA8C;AAC3D,MAAa,0CAA0C;AACvD,MAAa,sDAAsD;AACnE,MAAa,kDAAkD;AAC/D,MAAa,sDAAsD;AACnE,MAAa,kDAAkD;AAC/D,MAAa,+CAA+C;AAC5D,MAAa,2CAA2C;AACxD,MAAa,kDAAkD;AAC/D,MAAa,8CAA8C;AAC3D,MAAa,kDAAkD;AAC/D,MAAa,8CAA8C;AAC3D,MAAa,kDAAkD;AAC/D,MAAa,8CAA8C;AAC3D,MAAa,wCAAwC;AACrD,MAAa,oCAAoC;AACjD,MAAa,yCAAyC;AACtD,MAAa,qCAAqC;AAClD,MAAa,4CAA4C;AACzD,MAAa,wCAAwC;AACrD,MAAa,sCAAsC;AACnD,MAAa,kCAAkC;AAC/C,MAAa,qCAAqC;AAClD,MAAa,iCAAiC;AAC9C,MAAa,gCAAgC;AAC7C,MAAa,4BAA4B;AACzC,MAAa,0BAA0B;AACvC,MAAa,sBAAsB;AACnC,MAAa,kDAAkD;AAC/D,MAAa,8CAA8C;AAC3D,MAAa,iDAAiD;AAC9D,MAAa,6CAA6C;;;ACxC1D,MAAa,gCACX;AACF,MAAa,kBAAkB;AAC/B,MAAa,yBAAyB;AAEtC,MAAa,4BAA4B;AACzC,MAAa,mBACX;AAEF,MAAa,+BAA+B;AAC5C,MAAa,iBAAiB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.mjs","names":[],"sources":["../src/constants/client-project.constants.ts","../src/constants/client.constants.ts","../src/constants/comment.constants.ts","../src/constants/gc-contact-form-options.constants.ts","../src/constants/limits.constants.ts","../src/constants/message-response.constants.ts","../src/constants/pagination.constants.ts","../src/constants/regex.constants.ts"],"sourcesContent":["export const ClientProjectStatusOptions = [\n \"coming-soon\",\n \"now-open\",\n \"for-sale\",\n \"sold-out\",\n \"available\"\n] as const\n\nexport const ClientProjectPhaseSelectOptions = [\n {\n label: \"Brand\",\n value: \"brand\",\n description: \"General/Company branded content\"\n },\n {\n label: \"Phase 1\",\n value: \"p1\",\n description: \"Interest list building\"\n },\n {\n label: \"Phase 2\",\n value: \"p2\",\n description: \"Pre-qualification, pre-sales\"\n },\n {\n label: \"Phase 3\",\n value: \"p3\",\n description: \"Grand opening, now open, available\"\n },\n {\n label: \"Phase 4\",\n value: \"p4\",\n description: \"For sale, maintenance period\"\n },\n {\n label: \"Phase 5\",\n value: \"p5\",\n description: \"Final sale\"\n },\n {\n label: \"Closed\",\n value: \"closed\",\n description: \"Sold out, no longer available\"\n }\n] as const\n\nexport const ClientProjectPhaseOptions = [\n \"brand\",\n \"p1\",\n \"p2\",\n \"p3\",\n \"p4\",\n \"p5\",\n \"closed\"\n] as const\n","export const IsValidClientClassificationSelectOptions = [\"organic\", \"paid\"] as const\n","// Comment Report Document\nexport const ReportCommentReason = {\n BAD_LANGUAGE: \"BAD_LANGUAGE\",\n DISCRIMINATION: \"DISCRIMINATION\",\n OTHER: \"OTHER\"\n} as const\n\nexport const ReportCommentReasonOptions = Object.values(ReportCommentReason)\n\n// Comment Document\nexport const CommentApprovalStatus = {\n PENDING: \"PENDING\",\n APPROVED: \"APPROVED\",\n REJECTED: \"REJECTED\"\n} as const\n\nexport const CommentApprovalStatusOptions = Object.values(CommentApprovalStatus)\n","export const ValidNumberOfEmployeeOptions = [\n { label: \"0-10\", value: \"0-10\" },\n { label: \"11-20\", value: \"11-20\" },\n { label: \"21-50\", value: \"21-50\" },\n { label: \"51-100\", value: \"51-100\" },\n { label: \"101-500\", value: \"101-500\" },\n { label: \"501+\", value: \"501+\" }\n] as const\n\nexport const ValidJobRoleGroup = [\n {\n label: \"Founder / Owner\",\n value: \"founder,owner\"\n },\n {\n label: \"C-suite Executive\",\n value: \"executive\"\n },\n {\n label: \"Vice President\",\n value: \"vice president\"\n },\n {\n label: \"Director\",\n value: \"director\"\n },\n {\n label: \"Manager\",\n value: \"manager\"\n },\n {\n label: \"Solo-prenour\",\n value: \"solo-prenour\"\n },\n {\n label: \"Student\",\n value: \"student\"\n }\n] as const\n\nexport const ValidGcServiceOptions = [\n { label: \"Full Marketing Services\", value: \"Full Marketing Services\" },\n {\n label: \"Graphic Design / Marketing Design\",\n value: \"Graphic Design / Marketing Design\"\n },\n { label: \"Text Message Marketing\", value: \"Text Message Marketing\" },\n { label: \"Email Marketing\", value: \"Email Marketing\" },\n { label: \"Video Production\", value: \"Video Production\" },\n { label: \"Website Production\", value: \"Website Production\" },\n { label: \"Marketing Automation Software\", value: \"Marketing Automation Software\" },\n { label: \"Online Advertising\", value: \"Online Advertising\" },\n { label: \"Influencer Marketing\", value: \"Influencer Marketing\" }\n] as const\n\nexport const ValidGcVideoServiceOptions = [\n { label: \"Storyboarding\", value: \"Storyboarding\" },\n { label: \"Voiceovers\", value: \"Voiceovers\" },\n { label: \"Video Commercials / Interviews\", value: \"Video Commercials / Interviews\" },\n {\n label: \"Short Form Video Editing (social posts/stories)\",\n value: \"Short Form Video Editing (social posts/stories)\"\n },\n { label: \"Product Tours\", value: \"Product Tours\" },\n { label: \"Model Home / Community Tours\", value: \"Model Home / Community Tours\" },\n { label: \"Matterport Interactive Tours\", value: \"Matterport Interactive Tours\" },\n { label: \"3D Flyover Videos\", value: \"3D Flyover Videos\" }\n] as const\n\nexport const ValidGcDesiredContentOptions = [\n { label: \"Blog Posts\", value: \"Blog Posts\" },\n { label: \"Podcasting\", value: \"Podcasting\" },\n { label: \"Live Streams\", value: \"Live Streams\" },\n { label: \"Newsletters\", value: \"Newsletters\" },\n { label: \"Freebies / Toolkits\", value: \"Freebies / Toolkits\" },\n { label: \"Community Updates\", value: \"Community Updates\" }\n] as const\n\nexport const ValidRatingRange5 = [\n { label: \"1\", value: \"1\" },\n { label: \"2\", value: \"2\" },\n { label: \"3\", value: \"3\" },\n { label: \"4\", value: \"4\" },\n { label: \"5\", value: \"5\" }\n] as const\n","// Generics\nexport const LIMIT_MIN_VALUE = 1\nexport const LIMIT_SHORT_STRING_MAX_LENGTH = 255\nexport const LIMIT_MEDIUM_STRING_MAX_LENGTH = 500\nexport const LIMIT_LONG_STRING_MAX_LENGTH = 5000\nexport const LIMIT_VAL_10 = 10\nexport const LIMIT_VAL_100 = 100\n// Users\nexport const LIMIT_MIN_USERNAME = 3\nexport const LIMIT_MAX_USERNAME = 255\nexport const LIMIT_MIN_EMAIL = 5\nexport const LIMIT_MAX_EMAIL = 255\nexport const LIMIT_MIN_PASSWORD = 8\nexport const LIMIT_MAX_PASSWORD = 255\nexport const LIMIT_MAX_PROVIDER = 255\nexport const LIMIT_MIN_PHONE = 7\nexport const LIMIT_MAX_PHONE = 24\n// URLs\nexport const LIMIT_MIN_DESTINATION = 10\nexport const LIMIT_MAX_DESTINATION = 2048\nexport const LIMIT_MIN_DOMAIN = 10\nexport const LIMIT_MAX_DOMAIN = 253\nexport const LIMIT_MIN_PATH = 1\nexport const LIMIT_MAX_PATH = 2038\nexport const LIMIT_MIN_QUERY = 1\nexport const LIMIT_MAX_QUERY = 2038\nexport const LIMIT_MIN_FRAGMENT = 1\nexport const LIMIT_MAX_FRAGMENT = 2038\n// UTM Parameters\nexport const LIMIT_MIN_UTM_KEY = 1\nexport const LIMIT_MAX_UTM_KEY = 255\nexport const LIMIT_MIN_UTM_SOURCE = 1\nexport const LIMIT_MAX_UTM_SOURCE = 2026\nexport const LIMIT_MIN_UTM_MEDIUM = 1\nexport const LIMIT_MAX_UTM_MEDIUM = 2026\nexport const LIMIT_MIN_UTM_CAMPAIGN = 1\nexport const LIMIT_MAX_UTM_CAMPAIGN = 2024\nexport const LIMIT_MIN_UTM_CREATIVE_FORMAT = 1\nexport const LIMIT_MAX_UTM_CREATIVE_FORMAT = 2017\nexport const LIMIT_MIN_UTM_CONTENT = 1\nexport const LIMIT_MAX_UTM_CONTENT = 2025\nexport const LIMIT_MIN_UTM_TERM = 1\nexport const LIMIT_MAX_UTM_TERM = 2028\nexport const LIMIT_MIN_UTM_ID = 1\nexport const LIMIT_MAX_UTM_ID = 2030\n","export const ERROR_MESSAGE_ROBOT = \"It appears you are a robot, please try again.\"\nexport const ERROR_MESSAGE_COMMA_SEPPARATED_URLS = `Please enter a list of URLs separated by commas.`\nexport const ERROR_MESSAGE_INVALID_URL = `Please enter a valid URL.`\nexport const ERROR_MESSAGE_UTM_URL = `Please enter a valid URL with UTM parameters.`\nexport const ERROR_MESSAGE_URL_NO_QUERY_PARAMS = `Please remove any query parameters from the URL.`\nexport const ERROR_MESSAGE_ONE_PROJECT_STATUS = `You can only select one project status.`\nexport const ERROR_MESSAGE_URL_PREFIX = `Please enter a valid URL starting with http or https.`\n","// Generics\nexport const LIMIT_TABLE_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PAGINATION_DEFAULT_SIZE = 100\nexport const LIMIT_PAGINATION_MAX_SIZE = 10000\n// Entities\nexport const LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE = 6\nexport const LIMIT_BLOG_POST_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE = 20\nexport const LIMIT_CLIENT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_CLIENT_REPORT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_CLIENT_REPORT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_CLIENT_MEDIA_PLATFORM_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_CLIENT_MEDIA_PLATFORM_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_CLIENT_CONTENT_PILLAR_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_CLIENT_CONTENT_PILLAR_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_CLIENT_PROJECT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_CLIENT_PROJECT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_CLIENT_STYLEGUIDE_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_CLIENT_STYLEGUIDE_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_CLIENT_USER_PAGINATION_DEFAULT_SIZE_LIMIT = 10\nexport const LIMIT_CLIENT_USER_PAGINATION_MAX_SIZE_LIMIT = 100\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE = 1000\nexport const LIMIT_REDIRECT_PAGINATION_MAX_SIZE = 10000\nexport const LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_TREND_PAGINATION_DEFAULT_SIZE = 7\nexport const LIMIT_TREND_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_USER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_USER_PAGINATION_MAX_SIZE = 10\nexport const LIMIT_CATEGORIES_DEFAULT_SIZE = 100\nexport const LIMIT_CATEGORIES_MAX_SIZE = 1000\nexport const LIMIT_TAGS_DEFAULT_SIZE = 100\nexport const LIMIT_TAGS_MAX_SIZE = 1000\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE = 1000\nexport const LIMIT_MONDAY_WORKSPACE_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_MONDAY_WORKSPACE_PAGINATION_MAX_SIZE = 1000\n","export const ERROR_MESSAGE_REGEX_UTM_VALUE =\n \"can only contain letters, numbers, and the special characters: - _ .\"\nexport const REGEX_UTM_VALUE = /^([a-zA-Z0-9._-]+)?$/\nexport const REGEX_BRAND_COLOR_SLUG = /^([a-zA-Z0-9_-]+)?$/\n\nexport const ERROR_MESSAGE_REGEX_PHONE = \"Please provide a valid phone number.\"\nexport const REGEX_NANP_PHONE =\n /^(?:\\+?1[\\s.-]?)?(?:\\(?([2-9]\\d{2})\\)?[\\s.-]?)(?:([2-9](?!11)\\d{2}))[\\s.-]?(\\d{4})(?:\\s*(?:#|x|ext\\.?|extension)\\s*\\d+)?$/i\n\nexport const ERROR_MESSAGE_REGEX_URL_SLUG = `can only contain letters, numbers, and the special characters: - _ .`\nexport const REGEX_URL_SLUG = /^([a-zA-Z0-9._-]+)?$/\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"permissions.cjs","names":[],"sources":["../src/permissions/permission.abac.ts","../src/permissions/permission.constants.ts","../src/permissions/permission.utilities.ts"],"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-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 \"media-creative-format\": {\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-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 \"media-creative-format\": {\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-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 \"media-creative-format\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\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-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 \"media-creative-format\": {\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-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 \"media-creative-format\": {\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-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 userRole: RoleType,\n resource: Resource,\n action: Permissions[Resource][\"action\"]\n): boolean {\n if (!userRole) return false\n const permission = (ROLE_PERMISSIONS as RolesWithPermissions)[userRole][resource]?.[\n action\n ]\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"],"mappings":";;AAQA,MAAa,mBAAmB;CAC9B,eAAe;EACb,gBAAgB;GACd,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,SAAS;GACP,MAAM;GACN,QAAQ;GACR,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,OAAO,GAAG,QAAQ,GAAG;GACnD,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,OAAO,GAAG,QAAQ,GAAG;GACnD,QAAQ;GACT;EACD,QAAQ;GACN,QAAQ;GACR,SAAS;GACT,OAAO;GACP,SAAS;GACT,OAAO;GACP,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,eAAe;GACb,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,yBAAyB;GACvB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,yBAAyB;GACvB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,kBAAkB;GAChB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACR,QAAQ;GACT;EACD,iBAAiB;GACf,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,qBAAqB;GACnB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,kBAAkB;GAChB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,kBAAkB;GAChB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,sBAAsB;GACpB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,yBAAyB;GACvB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,oBAAoB;GAClB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,qBAAqB;GACnB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,WAAW;GACT,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,kBAAkB;GAChB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACF;CACD,QAAQ;EACN,gBAAgB;GACd,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,SAAS;GACP,MAAM;GACN,QAAQ;GACR,QAAQ;GACR,QAAQ;GACR,QAAQ;GACT;EACD,QAAQ;GACN,QAAQ;GACR,SAAS;GACT,OAAO;GACP,SAAS;GACT,OAAO;GACP,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,eAAe;GACb,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,yBAAyB;GACvB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,yBAAyB;GACvB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,kBAAkB;GAChB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACR,QAAQ;GACT;EACD,iBAAiB;GACf,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,qBAAqB;GACnB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,kBAAkB;GAChB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,kBAAkB;GAChB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,sBAAsB;GACpB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,yBAAyB;GACvB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,oBAAoB;GAClB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,qBAAqB;GACnB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,WAAW;GACT,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,kBAAkB;GAChB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACF;CACD,UAAU;EACR,gBAAgB;GACd,MAAM;GACN,QAAQ;GACR,MAAM;GACN,SAAS,GAAG,GAAG,MAAM,EAAE,QAAQ,eAAe,GAAG;GACjD,QAAQ;GACT;EACD,SAAS;GACP,MAAM;GACN,QAAQ;GACR,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,OAAO,GAAG,QAAQ,GAAG;GACnD,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,OAAO,GAAG,QAAQ,GAAG;GACnD,QAAQ;GACT;EACD,QAAQ;GACN,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,gBAAgB;GACvD,UAAU,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,iBAAiB;GACzD,QAAQ,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,eAAe;GACrD,UAAU,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,iBAAiB;GACzD,QAAQ,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,eAAe;GACrD,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,gBAAgB;GACrD,QAAQ;GACR,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,gBAAgB;GACrD,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,iBAAiB;GACxD,QAAQ;GACT;EACD,eAAe;GACb,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACR,QAAQ;GACT;EACD,yBAAyB;GACvB,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,6BAA6B;GAClE,SAAS,GAAG,MAAM,EAAE,OAAO,SAAS,+BAA+B;GACnE,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,6BAA6B;GAClE,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,+BAA+B;GACtE,QAAQ;GACT;EACD,yBAAyB;GACvB,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,6BAA6B;GAClE,SAAS,GAAG,MAAM,EAAE,OAAO,SAAS,+BAA+B;GACnE,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,6BAA6B;GAClE,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,+BAA+B;GACtE,QAAQ;GACT;EACD,kBAAkB;GAChB,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,sBAAsB;GAC3D,SAAS,GAAG,MAAM,EAAE,OAAO,SAAS,wBAAwB;GAC5D,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,sBAAsB;GAC3D,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,wBAAwB;GAC/D,QAAQ;GACR,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,wBAAwB;GAChE;EACD,iBAAiB;GACf,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,qBAAqB;GAC1D,SAAS,GAAG,MAAM,EAAE,OAAO,SAAS,uBAAuB;GAC3D,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,qBAAqB;GAC1D,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,uBAAuB;GAC9D,QAAQ;GACT;EACD,qBAAqB;GACnB,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,yBAAyB;GAC9D,QAAQ;GACR,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,yBAAyB;GAC9D,QAAQ;GACR,QAAQ;GACT;EACD,kBAAkB;GAChB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,kBAAkB;GAChB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,sBAAsB;GACpB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,yBAAyB;GACvB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,oBAAoB;GAClB,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,wBAAwB;GAC7D,SAAS,GAAG,MAAM,EAAE,OAAO,SAAS,0BAA0B;GAC9D,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,wBAAwB;GAC7D,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,0BAA0B;GACjE,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,0BAA0B;GAClE;EACD,qBAAqB;GACnB,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,yBAAyB;GAC9D,SAAS,GAAG,MAAM,EAAE,OAAO,SAAS,2BAA2B;GAC/D,OAAO,GAAG,GAAG,MACX,GAAG,SAAS,eAAe,EAAE,cAC7B,EAAE,OAAO,SAAS,yBAAyB;GAC7C,SAAS,GAAG,GAAG,MACb,GAAG,SAAS,eAAe,EAAE,cAC7B,EAAE,OAAO,SAAS,2BAA2B;GAC/C,SAAS,GAAG,GAAG,MACb,GAAG,SAAS,eAAe,EAAE,cAC7B,EAAE,OAAO,SAAS,2BAA2B;GAChD;EACD,WAAW;GACT,MAAM;GACN,SAAS,GAAG,MAAM,EAAE,OAAO,SAAS,mBAAmB;GACvD,MAAM;GACN,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,mBAAmB;GAC1D,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,mBAAmB;GAC3D;EACD,kBAAkB;GAChB,MAAM;GACN,SAAS,GAAG,MAAM,EAAE,OAAO,SAAS,wBAAwB;GAC5D,MAAM;GACN,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,wBAAwB;GAC/D,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,wBAAwB;GAChE;EACF;CACD,SAAS;EACP,gBAAgB;GACd,MAAM;GACN,QAAQ;GACR,MAAM;GACN,SAAS,GAAG,GAAG,MAAM,EAAE,QAAQ,eAAe,GAAG;GACjD,QAAQ;GACT;EACD,SAAS;GACP,MAAM;GACN,QAAQ;GACR,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,OAAO,GAAG,QAAQ,GAAG;GACnD,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,OAAO,GAAG,QAAQ,GAAG;GACnD,QAAQ;GACT;EACD,QAAQ;GACN,QAAQ;GACR,SAAS;GACT,OAAO;GACP,SAAS;GACT,OAAO;GACP,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,eAAe;GACb,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACR,QAAQ;GACT;EACD,yBAAyB;GACvB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,yBAAyB;GACvB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,kBAAkB;GAChB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACR,QAAQ;GACT;EACD,iBAAiB;GACf,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,qBAAqB;GACnB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,kBAAkB;GAChB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,kBAAkB;GAChB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,sBAAsB;GACpB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,yBAAyB;GACvB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,oBAAoB;GAClB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,qBAAqB;GACnB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,WAAW;GACT,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,kBAAkB;GAChB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACF;CACD,QAAQ;EACN,gBAAgB;GACd,MAAM;GACN,QAAQ;GACR,MAAM;GACN,SAAS,GAAG,GAAG,MAAM,EAAE,QAAQ,eAAe,GAAG;GACjD,QAAQ;GACT;EACD,SAAS;GACP,MAAM;GACN,QAAQ;GACR,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,OAAO,GAAG,QAAQ,GAAG;GACnD,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,OAAO,GAAG,QAAQ,GAAG;GACnD,QAAQ;GACT;EACD,QAAQ;GACN,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,gBAAgB;GACvD,UAAU,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,iBAAiB;GACzD,QAAQ,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,eAAe;GACrD,UAAU,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,iBAAiB;GACzD,QAAQ,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,eAAe;GACrD,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,gBAAgB;GACrD,QAAQ;GACR,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,gBAAgB;GACrD,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,iBAAiB;GACxD,QAAQ;GACT;EACD,eAAe;GACb,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACR,QAAQ;GACT;EACD,yBAAyB;GACvB,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,6BAA6B;GAClE,SAAS,GAAG,MAAM,EAAE,OAAO,SAAS,+BAA+B;GACnE,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,6BAA6B;GAClE,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,+BAA+B;GACtE,QAAQ;GACT;EACD,yBAAyB;GACvB,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,6BAA6B;GAClE,SAAS,GAAG,MAAM,EAAE,OAAO,SAAS,+BAA+B;GACnE,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,6BAA6B;GAClE,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,+BAA+B;GACtE,QAAQ;GACT;EACD,kBAAkB;GAChB,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,sBAAsB;GAC3D,SAAS,GAAG,MAAM,EAAE,OAAO,SAAS,wBAAwB;GAC5D,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,sBAAsB;GAC3D,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,wBAAwB;GAC/D,QAAQ;GACR,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,wBAAwB;GAChE;EACD,iBAAiB;GACf,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,qBAAqB;GAC1D,SAAS,GAAG,MAAM,EAAE,OAAO,SAAS,uBAAuB;GAC3D,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,qBAAqB;GAC1D,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,uBAAuB;GAC9D,QAAQ;GACT;EACD,qBAAqB;GACnB,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,yBAAyB;GAC9D,QAAQ;GACR,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,yBAAyB;GAC9D,QAAQ;GACR,QAAQ;GACT;EACD,kBAAkB;GAChB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,kBAAkB;GAChB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,sBAAsB;GACpB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,yBAAyB;GACvB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,oBAAoB;GAClB,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,wBAAwB;GAC7D,QAAQ;GACR,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,wBAAwB;GAC7D,QAAQ;GACR,QAAQ;GACT;EACD,qBAAqB;GACnB,OAAO,GAAG,GAAG,MAAM,EAAE,OAAO,SAAS,yBAAyB;GAC9D,SAAS,GAAG,MAAM,EAAE,OAAO,SAAS,2BAA2B;GAC/D,OAAO,GAAG,GAAG,MACX,GAAG,SAAS,eAAe,EAAE,cAC7B,EAAE,OAAO,SAAS,yBAAyB;GAC7C,SAAS,GAAG,GAAG,MACb,GAAG,SAAS,eAAe,EAAE,cAC7B,EAAE,OAAO,SAAS,2BAA2B;GAC/C,SAAS,GAAG,GAAG,MACb,GAAG,SAAS,eAAe,EAAE,cAC7B,EAAE,OAAO,SAAS,2BAA2B;GAChD;EACD,WAAW;GACT,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,kBAAkB;GAChB,MAAM;GACN,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACF;CACF;;;;;;;;;;AC3oBD,MAAa,4BAA4B;CACvC,QAAQ;EAAC;EAAS;EAAS;EAAW;EAAW;EAAS;CAC1D,kBAAkB;EAAC;EAAQ;EAAU;EAAQ;EAAU;EAAU;EAAS;CAC1E,yBAAyB;EAAC;EAAQ;EAAU;EAAQ;EAAU;EAAS;CACvE,yBAAyB;EAAC;EAAQ;EAAU;EAAQ;EAAU;EAAS;CACvE,iBAAiB;EAAC;EAAQ;EAAU;EAAQ;EAAU;EAAS;CAC/D,qBAAqB;EAAC;EAAQ;EAAU;EAAQ;EAAU;EAAS;CACnE,oBAAoB;EAAC;EAAQ;EAAU;EAAQ;EAAU;EAAS;CAClE,qBAAqB;EAAC;EAAQ;EAAU;EAAQ;EAAU;EAAS;CACnE,WAAW;EAAC;EAAQ;EAAU;EAAQ;EAAU;EAAS;CACzD,kBAAkB;EAAC;EAAQ;EAAU;EAAQ;EAAU;EAAS;CACjE;AAgBD,MAAa,qBAAqB,OAAO,KACvC,0BACD;AAED,MAAa,uBAA4C,OAAO,QAC9D,0BACD,CAAC,SAAS,CAAC,QAAQ,aAClB,QAAQ,KAAK,WAAW,GAAG,OAAO,GAAG,SAA8B,CACpE;;;ACjCD,SAAgB,cACd,MACA,aACA,UACA,QACA,MACA;AACA,KAAI,CAAC,KAAM,QAAO;CAClB,MAAM,aAAc,iBAClB,KAAK,KAAK,MACV,YAAY;AACd,KAAI,cAAc,KAAM,QAAO;AAE/B,KAAI,OAAO,eAAe,UAAW,QAAO;AAC5C,QAAO,WAAW,MAAM,aAAa,KAAK;;AAG5C,SAAgB,oBACd,UACA,UACA,QACS;AACT,KAAI,CAAC,SAAU,QAAO;CACtB,MAAM,aAAc,iBAA0C,UAAU,YACtE;AAEF,KAAI,cAAc,KAAM,QAAO;AAC/B,KAAI,OAAO,eAAe,UAAW,QAAO;AAC5C,KAAI,OAAO,eAAe,WAAY,QAAO;AAC7C,QAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"permissions.mjs","names":[],"sources":["../src/permissions/permission.abac.ts","../src/permissions/permission.constants.ts","../src/permissions/permission.utilities.ts"],"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-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 \"media-creative-format\": {\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-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 \"media-creative-format\": {\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-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 \"media-creative-format\": {\n list: true,\n create: true,\n read: true,\n update: true,\n delete: true\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-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 \"media-creative-format\": {\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-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 \"media-creative-format\": {\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-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 userRole: RoleType,\n resource: Resource,\n action: Permissions[Resource][\"action\"]\n): boolean {\n if (!userRole) return false\n const permission = (ROLE_PERMISSIONS as RolesWithPermissions)[userRole][resource]?.[\n action\n ]\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"],"mappings":"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"}