@carlonicora/nextjs-jsonapi 6.31.0 → 6.32.1
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/{BlockNoteEditor-ICGGCW6N.js → BlockNoteEditor-RD3JNEV5.js} +24 -24
- package/dist/{BlockNoteEditor-ICGGCW6N.js.map → BlockNoteEditor-RD3JNEV5.js.map} +1 -1
- package/dist/{BlockNoteEditor-O4E67ECL.mjs → BlockNoteEditor-XIEMUQCO.mjs} +4 -4
- package/dist/{BlockNoteViewer-BNZEXGVT.mjs → BlockNoteViewer-NVSR67X5.mjs} +2 -2
- package/dist/{BlockNoteViewer-YONLBNXW.js → BlockNoteViewer-RQBYHBQL.js} +3 -3
- package/dist/{BlockNoteViewer-YONLBNXW.js.map → BlockNoteViewer-RQBYHBQL.js.map} +1 -1
- package/dist/billing/index.js +465 -465
- package/dist/billing/index.mjs +3 -3
- package/dist/{chunk-HNK2O6YE.mjs → chunk-4JVLLBRS.mjs} +4 -16
- package/dist/chunk-4JVLLBRS.mjs.map +1 -0
- package/dist/{chunk-NQL2NDKH.js → chunk-5H25LM2Z.js} +10 -10
- package/dist/chunk-5H25LM2Z.js.map +1 -0
- package/dist/{chunk-FDKAVSZ6.mjs → chunk-AEBZ67JJ.mjs} +8 -8
- package/dist/chunk-AEBZ67JJ.mjs.map +1 -0
- package/dist/{chunk-JL6XL5NK.mjs → chunk-AMQFKCAX.mjs} +2 -2
- package/dist/{chunk-BT3VFB3I.mjs → chunk-F25BVBEH.mjs} +9 -16
- package/dist/chunk-F25BVBEH.mjs.map +1 -0
- package/dist/{chunk-5XP5G45B.js → chunk-NPGX2GJD.js} +4 -16
- package/dist/chunk-NPGX2GJD.js.map +1 -0
- package/dist/{chunk-Q5SMFSE4.js → chunk-PNCO3HMJ.js} +3 -3
- package/dist/{chunk-Q5SMFSE4.js.map → chunk-PNCO3HMJ.js.map} +1 -1
- package/dist/{chunk-M7FA63QE.js → chunk-SQNFYMYE.js} +732 -739
- package/dist/chunk-SQNFYMYE.js.map +1 -0
- package/dist/client/index.js +4 -4
- package/dist/client/index.mjs +3 -3
- package/dist/components/index.js +4 -4
- package/dist/components/index.mjs +3 -3
- package/dist/contexts/index.js +4 -4
- package/dist/contexts/index.mjs +3 -3
- package/dist/core/index.js +2 -2
- package/dist/core/index.mjs +1 -1
- package/dist/email-automations/index.js +105 -105
- package/dist/email-automations/index.mjs +3 -3
- package/dist/features/analytics/index.js +114 -114
- package/dist/features/analytics/index.mjs +3 -3
- package/dist/features/analytics/server.js +4 -4
- package/dist/features/analytics/server.mjs +2 -2
- package/dist/features/auth/components/forms/Logout.d.ts +7 -1
- package/dist/features/auth/components/forms/Logout.d.ts.map +1 -1
- package/dist/features/auth/components/forms/RefreshUser.d.ts.map +1 -1
- package/dist/features/auth/config.d.ts +0 -9
- package/dist/features/auth/config.d.ts.map +1 -1
- package/dist/features/auth/data/auth.service.d.ts.map +1 -1
- package/dist/features/auth/data/two-factor.service.d.ts.map +1 -1
- package/dist/features/auth/utils/AuthCookies.d.ts +0 -9
- package/dist/features/auth/utils/AuthCookies.d.ts.map +1 -1
- package/dist/features/blog/index.js +129 -129
- package/dist/features/blog/index.mjs +3 -3
- package/dist/features/blog/server.js +7 -7
- package/dist/features/blog/server.mjs +1 -1
- package/dist/features/help/index.js +37 -37
- package/dist/features/help/index.mjs +3 -3
- package/dist/features/tokenusage/index.js +114 -114
- package/dist/features/tokenusage/index.mjs +3 -3
- package/dist/features/user/contexts/CurrentUserContext.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.mjs +2 -2
- package/dist/server/ServerSession.d.ts.map +1 -1
- package/dist/server/index.js +3 -3
- package/dist/server/index.mjs +2 -2
- package/package.json +1 -1
- package/src/features/auth/components/forms/Logout.tsx +8 -2
- package/src/features/auth/components/forms/RefreshUser.tsx +0 -3
- package/src/features/auth/config.ts +0 -9
- package/src/features/auth/data/auth.service.ts +0 -8
- package/src/features/auth/data/two-factor.service.ts +0 -4
- package/src/features/auth/utils/AuthCookies.ts +1 -23
- package/src/features/user/contexts/CurrentUserContext.tsx +0 -4
- package/src/features/user/contexts/__tests__/CurrentUserContext.spec.tsx +2 -0
- package/src/server/ServerSession.ts +10 -26
- package/src/server/__tests__/ServerSession.hasPermissionToModule.spec.ts +78 -0
- package/dist/chunk-5XP5G45B.js.map +0 -1
- package/dist/chunk-BT3VFB3I.mjs.map +0 -1
- package/dist/chunk-FDKAVSZ6.mjs.map +0 -1
- package/dist/chunk-HNK2O6YE.mjs.map +0 -1
- package/dist/chunk-M7FA63QE.js.map +0 -1
- package/dist/chunk-NQL2NDKH.js.map +0 -1
- /package/dist/{BlockNoteEditor-O4E67ECL.mjs.map → BlockNoteEditor-XIEMUQCO.mjs.map} +0 -0
- /package/dist/{BlockNoteViewer-BNZEXGVT.mjs.map → BlockNoteViewer-NVSR67X5.mjs.map} +0 -0
- /package/dist/{chunk-JL6XL5NK.mjs.map → chunk-AMQFKCAX.mjs.map} +0 -0
|
@@ -39,10 +39,10 @@ import {
|
|
|
39
39
|
seriesTheme,
|
|
40
40
|
usePageUrlGenerator,
|
|
41
41
|
useUsageFormatters
|
|
42
|
-
} from "../../chunk-
|
|
42
|
+
} from "../../chunk-F25BVBEH.mjs";
|
|
43
43
|
import "../../chunk-5T2AQMQ2.mjs";
|
|
44
44
|
import "../../chunk-VOXD3ZLY.mjs";
|
|
45
|
-
import "../../chunk-
|
|
45
|
+
import "../../chunk-AMQFKCAX.mjs";
|
|
46
46
|
import "../../chunk-PW42LRSL.mjs";
|
|
47
47
|
import {
|
|
48
48
|
AbstractService,
|
|
@@ -59,7 +59,7 @@ import {
|
|
|
59
59
|
configureTokenUsage,
|
|
60
60
|
getTokenUsageCurrency,
|
|
61
61
|
tokenUsageModules
|
|
62
|
-
} from "../../chunk-
|
|
62
|
+
} from "../../chunk-4JVLLBRS.mjs";
|
|
63
63
|
import "../../chunk-RW6XZGZG.mjs";
|
|
64
64
|
import "../../chunk-OY65RYD3.mjs";
|
|
65
65
|
import {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CurrentUserContext.d.ts","sourceRoot":"","sources":["../../../../src/features/user/contexts/CurrentUserContext.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAuF,MAAM,OAAO,CAAC;AAG5G,OAAO,EAAE,MAAM,EAAoB,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,EAAE,aAAa,EAAe,MAAM,SAAS,CAAC;AAGrD,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IAC7E,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,qBAAqB,EAAE,CAAC,CAAC,SAAS,qBAAqB,EAAE,MAAM,EAAE;QAC/D,MAAM,EAAE,CAAC,CAAC;QACV,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,GAAG,CAAC;KACZ,KAAK,OAAO,CAAC;IACd,sBAAsB,EAAE,CAAC,CAAC,SAAS,qBAAqB,EAAE,MAAM,EAAE;QAChE,OAAO,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,GAAG,CAAC;KACZ,KAAK,OAAO,CAAC;IACd,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D,gBAAgB,EAAE,CAAC,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,qBAAqB,GAAG,SAAS,CAAC;IACnF,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACrC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,YAAY,EAAE,OAAO,CAAC;CACvB;AAMD,eAAO,MAAM,mBAAmB,GAAI,cAAc;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"CurrentUserContext.d.ts","sourceRoot":"","sources":["../../../../src/features/user/contexts/CurrentUserContext.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAuF,MAAM,OAAO,CAAC;AAG5G,OAAO,EAAE,MAAM,EAAoB,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,EAAE,aAAa,EAAe,MAAM,SAAS,CAAC;AAGrD,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IAC7E,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,qBAAqB,EAAE,CAAC,CAAC,SAAS,qBAAqB,EAAE,MAAM,EAAE;QAC/D,MAAM,EAAE,CAAC,CAAC;QACV,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,GAAG,CAAC;KACZ,KAAK,OAAO,CAAC;IACd,sBAAsB,EAAE,CAAC,CAAC,SAAS,qBAAqB,EAAE,MAAM,EAAE;QAChE,OAAO,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,GAAG,CAAC;KACZ,KAAK,OAAO,CAAC;IACd,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D,gBAAgB,EAAE,CAAC,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,qBAAqB,GAAG,SAAS,CAAC;IACnF,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACrC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,YAAY,EAAE,OAAO,CAAC;CACvB;AAMD,eAAO,MAAM,mBAAmB,GAAI,cAAc;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,sBAyQ9E,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,KAAK,sBAAsB,CAAC,CAAC,CAAC,CAM1G;AAED;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,KACnF,sBAAsB,CAAC,CAAC,CAAC,GAAG,SAAS,CAEtC"}
|
package/dist/index.js
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
var
|
|
23
|
+
var _chunkPNCO3HMJjs = require('./chunk-PNCO3HMJ.js');
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
@@ -338,7 +338,7 @@ var _chunkG4JR3SFVjs = require('./chunk-G4JR3SFV.js');
|
|
|
338
338
|
|
|
339
339
|
|
|
340
340
|
|
|
341
|
-
var
|
|
341
|
+
var _chunkNPGX2GJDjs = require('./chunk-NPGX2GJD.js');
|
|
342
342
|
|
|
343
343
|
|
|
344
344
|
|
|
@@ -742,5 +742,5 @@ require('./chunk-7QVYU63E.js');
|
|
|
742
742
|
|
|
743
743
|
|
|
744
744
|
|
|
745
|
-
exports.ACCOUNT_DELETION_CANCELLED_KEY = _chunk5XP5G45Bjs.ACCOUNT_DELETION_CANCELLED_KEY; exports.ACTION_TYPES = _chunkQ5SMFSE4js.ACTION_TYPES; exports.AVAILABLE_OAUTH_SCOPES = _chunk5XP5G45Bjs.AVAILABLE_OAUTH_SCOPES; exports.AbstractApiData = _chunkZ6T2575Ajs.AbstractApiData; exports.AbstractService = _chunk5XP5G45Bjs.AbstractService; exports.AccountDeletion = _chunk5XP5G45Bjs.AccountDeletion; exports.AccountDeletionModule = _chunk5XP5G45Bjs.AccountDeletionModule; exports.AccountDeletionService = _chunk5XP5G45Bjs.AccountDeletionService; exports.Action = _chunk5XP5G45Bjs.Action; exports.AiConnection = _chunk5XP5G45Bjs.AiConnection; exports.AiConnectionFields = _chunk5XP5G45Bjs.AiConnectionFields; exports.AiConnectionModule = _chunk5XP5G45Bjs.AiConnectionModule; exports.AiConnectionService = _chunk5XP5G45Bjs.AiConnectionService; exports.Assistant = _chunk5XP5G45Bjs.Assistant; exports.AssistantAction = _chunk5XP5G45Bjs.AssistantAction; exports.AssistantActionModule = _chunk5XP5G45Bjs.AssistantActionModule; exports.AssistantActionService = _chunk5XP5G45Bjs.AssistantActionService; exports.AssistantMessage = _chunk5XP5G45Bjs.AssistantMessage; exports.AssistantMessageModule = _chunk5XP5G45Bjs.AssistantMessageModule; exports.AssistantMessageService = _chunk5XP5G45Bjs.AssistantMessageService; exports.AssistantModule = _chunk5XP5G45Bjs.AssistantModule; exports.AssistantService = _chunk5XP5G45Bjs.AssistantService; exports.AuditLog = _chunk5XP5G45Bjs.AuditLog; exports.AuditLogModule = _chunk5XP5G45Bjs.AuditLogModule; exports.AuditLogService = _chunk5XP5G45Bjs.AuditLogService; exports.Auth = _chunk5XP5G45Bjs.Auth; exports.AuthComponent = _chunk5XP5G45Bjs.AuthComponent; exports.AuthModule = _chunk5XP5G45Bjs.AuthModule; exports.AuthService = _chunk5XP5G45Bjs.AuthService; exports.AuthorModule = _chunk5XP5G45Bjs.AuthorModule; exports.BackupCodeVerify = _chunk5XP5G45Bjs.BackupCodeVerify; exports.BackupCodeVerifyModule = _chunk5XP5G45Bjs.BackupCodeVerifyModule; exports.Billing = _chunk5XP5G45Bjs.Billing; exports.BillingModule = _chunk5XP5G45Bjs.BillingModule; exports.BillingService = _chunk5XP5G45Bjs.BillingService; exports.BlockNoteDiffUtil = _chunk5XP5G45Bjs.BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = _chunk5XP5G45Bjs.BlockNoteWordDiffRendererUtil; exports.BlogCategory = _chunk5XP5G45Bjs.BlogCategory; exports.BlogCategoryFields = _chunk5XP5G45Bjs.BlogCategoryFields; exports.BlogCategoryModule = _chunk5XP5G45Bjs.BlogCategoryModule; exports.BlogCategoryService = _chunk5XP5G45Bjs.BlogCategoryService; exports.BlogCategoryTranslation = _chunk5XP5G45Bjs.BlogCategoryTranslation; exports.BlogCategoryTranslationModule = _chunk5XP5G45Bjs.BlogCategoryTranslationModule; exports.BlogCategoryTranslationService = _chunk5XP5G45Bjs.BlogCategoryTranslationService; exports.BlogPost = _chunk5XP5G45Bjs.BlogPost; exports.BlogPostFields = _chunk5XP5G45Bjs.BlogPostFields; exports.BlogPostModule = _chunk5XP5G45Bjs.BlogPostModule; exports.BlogPostService = _chunk5XP5G45Bjs.BlogPostService; exports.BlogPostTranslation = _chunk5XP5G45Bjs.BlogPostTranslation; exports.BlogPostTranslationModule = _chunk5XP5G45Bjs.BlogPostTranslationModule; exports.BlogPostTranslationService = _chunk5XP5G45Bjs.BlogPostTranslationService; exports.BlogSettings = _chunk5XP5G45Bjs.BlogSettings; exports.BlogSettingsModule = _chunk5XP5G45Bjs.BlogSettingsModule; exports.BlogSettingsService = _chunk5XP5G45Bjs.BlogSettingsService; exports.COMPANY_ADMINISTRATOR_ROLE_ID = _chunkQ5SMFSE4js.COMPANY_ADMINISTRATOR_ROLE_ID; exports.CREDIT_WARNING_DISMISS_SEGMENT = _chunk5XP5G45Bjs.CREDIT_WARNING_DISMISS_SEGMENT; exports.CURRENT_USER_STORAGE_KEY = _chunk3VNDFKT7js.CURRENT_USER_STORAGE_KEY; exports.Chunk = _chunk5XP5G45Bjs.Chunk; exports.ChunkModule = _chunk5XP5G45Bjs.ChunkModule; exports.ClientAbstractService = _chunk5XP5G45Bjs.ClientAbstractService; exports.ClientHttpMethod = _chunk5XP5G45Bjs.ClientHttpMethod; exports.Company = _chunk5XP5G45Bjs.Company; exports.CompanyFields = _chunk5XP5G45Bjs.CompanyFields; exports.CompanyModule = _chunk5XP5G45Bjs.CompanyModule; exports.CompanyService = _chunk5XP5G45Bjs.CompanyService; exports.Content = _chunk5XP5G45Bjs.Content; exports.ContentFields = _chunk5XP5G45Bjs.ContentFields; exports.ContentModule = _chunk5XP5G45Bjs.ContentModule; exports.ContentService = _chunk5XP5G45Bjs.ContentService; exports.DEFAULT_GRANT_TYPES = _chunk5XP5G45Bjs.DEFAULT_GRANT_TYPES; exports.DataClass = _chunkLNO2JLU3js.DataClassRegistry; exports.DataClassRegistry = _chunkLNO2JLU3js.DataClassRegistry; exports.DiscordConnectConfirmation = _chunk5XP5G45Bjs.DiscordConnectConfirmation; exports.DiscordConnectConfirmationModule = _chunk5XP5G45Bjs.DiscordConnectConfirmationModule; exports.DiscordConnectConfirmationService = _chunk5XP5G45Bjs.DiscordConnectConfirmationService; exports.DiscordConnectIntent = _chunk5XP5G45Bjs.DiscordConnectIntent; exports.DiscordConnectIntentModule = _chunk5XP5G45Bjs.DiscordConnectIntentModule; exports.DiscordConnectIntentService = _chunk5XP5G45Bjs.DiscordConnectIntentService; exports.DiscordConnection = _chunk5XP5G45Bjs.DiscordConnection; exports.DiscordConnectionModule = _chunk5XP5G45Bjs.DiscordConnectionModule; exports.DiscordConnectionService = _chunk5XP5G45Bjs.DiscordConnectionService; exports.EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE = _chunk5XP5G45Bjs.EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE; exports.EMAIL_BLAST_SEGMENTS = _chunk5XP5G45Bjs.EMAIL_BLAST_SEGMENTS; exports.EMAIL_BLAST_UNSUBSCRIBE_TYPE = _chunk5XP5G45Bjs.EMAIL_BLAST_UNSUBSCRIBE_TYPE; exports.ENV = _chunkLNO2JLU3js.ENV; exports.EmailAutomation = _chunk5XP5G45Bjs.EmailAutomation; exports.EmailAutomationCandidate = _chunk5XP5G45Bjs.EmailAutomationCandidate; exports.EmailAutomationCandidateModule = _chunk5XP5G45Bjs.EmailAutomationCandidateModule; exports.EmailAutomationEnrollment = _chunk5XP5G45Bjs.EmailAutomationEnrollment; exports.EmailAutomationEnrollmentFields = _chunk5XP5G45Bjs.EmailAutomationEnrollmentFields; exports.EmailAutomationEnrollmentModule = _chunk5XP5G45Bjs.EmailAutomationEnrollmentModule; exports.EmailAutomationEnrollmentService = _chunk5XP5G45Bjs.EmailAutomationEnrollmentService; exports.EmailAutomationFields = _chunk5XP5G45Bjs.EmailAutomationFields; exports.EmailAutomationModule = _chunk5XP5G45Bjs.EmailAutomationModule; exports.EmailAutomationService = _chunk5XP5G45Bjs.EmailAutomationService; exports.EmailAutomationStep = _chunk5XP5G45Bjs.EmailAutomationStep; exports.EmailAutomationStepModule = _chunk5XP5G45Bjs.EmailAutomationStepModule; exports.EmailAutomationStepService = _chunk5XP5G45Bjs.EmailAutomationStepService; exports.EmailAutomationTrigger = _chunk5XP5G45Bjs.EmailAutomationTrigger; exports.EmailAutomationTriggerModule = _chunk5XP5G45Bjs.EmailAutomationTriggerModule; exports.EmailBlast = _chunk5XP5G45Bjs.EmailBlast; exports.EmailBlastAudience = _chunk5XP5G45Bjs.EmailBlastAudience; exports.EmailBlastAudienceModule = _chunk5XP5G45Bjs.EmailBlastAudienceModule; exports.EmailBlastDelivery = _chunk5XP5G45Bjs.EmailBlastDelivery; exports.EmailBlastDeliveryModule = _chunk5XP5G45Bjs.EmailBlastDeliveryModule; exports.EmailBlastDeliveryService = _chunk5XP5G45Bjs.EmailBlastDeliveryService; exports.EmailBlastFields = _chunk5XP5G45Bjs.EmailBlastFields; exports.EmailBlastModule = _chunk5XP5G45Bjs.EmailBlastModule; exports.EmailBlastService = _chunk5XP5G45Bjs.EmailBlastService; exports.EndpointCreator = _chunkZ6T2575Ajs.EndpointCreator; exports.EntityAiStatus = _chunk5XP5G45Bjs.EntityAiStatus; exports.Feature = _chunk5XP5G45Bjs.Feature; exports.FeatureModule = _chunk5XP5G45Bjs.FeatureModule; exports.FeatureService = _chunk5XP5G45Bjs.FeatureService; exports.HandbookPage = _chunk5XP5G45Bjs.HandbookPage; exports.HandbookPageFields = _chunk5XP5G45Bjs.HandbookPageFields; exports.HandbookPageModule = _chunk5XP5G45Bjs.HandbookPageModule; exports.HandbookPageService = _chunk5XP5G45Bjs.HandbookPageService; exports.HandbookSection = _chunk5XP5G45Bjs.HandbookSection; exports.HandbookSectionModule = _chunk5XP5G45Bjs.HandbookSectionModule; exports.HandbookSectionService = _chunk5XP5G45Bjs.HandbookSectionService; exports.HandbookThread = _chunk5XP5G45Bjs.HandbookThread; exports.HandbookThreadMessage = _chunk5XP5G45Bjs.HandbookThreadMessage; exports.HandbookThreadMessageModule = _chunk5XP5G45Bjs.HandbookThreadMessageModule; exports.HandbookThreadMessageService = _chunk5XP5G45Bjs.HandbookThreadMessageService; exports.HandbookThreadModule = _chunk5XP5G45Bjs.HandbookThreadModule; exports.HandbookThreadService = _chunk5XP5G45Bjs.HandbookThreadService; exports.HowTo = _chunk5XP5G45Bjs.HowTo; exports.HowToFields = _chunk5XP5G45Bjs.HowToFields; exports.HowToModule = _chunk5XP5G45Bjs.HowToModule; exports.HowToService = _chunk5XP5G45Bjs.HowToService; exports.HttpMethod = _chunk5XP5G45Bjs.HttpMethod; exports.InvoiceStatus = _chunk5XP5G45Bjs.InvoiceStatus; exports.JsonApiDataFactory = _chunkLNO2JLU3js.JsonApiDataFactory; exports.MOBILE_BREAKPOINT = _chunk5XP5G45Bjs.MOBILE_BREAKPOINT; exports.Module = _chunk5XP5G45Bjs.Module; exports.ModuleModule = _chunk5XP5G45Bjs.ModuleModule; exports.ModulePaths = _chunk5XP5G45Bjs.ModulePaths; exports.ModulePathsModule = _chunk5XP5G45Bjs.ModulePathsModule; exports.ModuleRegistrar = _chunk5XP5G45Bjs.ModuleRegistrar; exports.ModuleRegistry = _chunkZ6T2575Ajs.ModuleRegistry; exports.Modules = _chunkZ6T2575Ajs.Modules; exports.Notification = _chunk5XP5G45Bjs.Notification; exports.NotificationFields = _chunk5XP5G45Bjs.NotificationFields; exports.NotificationModule = _chunk5XP5G45Bjs.NotificationModule; exports.NotificationService = _chunk5XP5G45Bjs.NotificationService; exports.OAUTH_SCOPE_DISPLAY = _chunk5XP5G45Bjs.OAUTH_SCOPE_DISPLAY; exports.OAuthClient = _chunk5XP5G45Bjs.OAuthClient; exports.OAuthModule = _chunk5XP5G45Bjs.OAuthModule; exports.OAuthService = _chunk5XP5G45Bjs.OAuthService; exports.OfflineChangeSet = _chunk5XP5G45Bjs.OfflineChangeSet; exports.Passkey = _chunk5XP5G45Bjs.Passkey; exports.PasskeyAuthenticationOptions = _chunk5XP5G45Bjs.PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = _chunk5XP5G45Bjs.PasskeyAuthenticationOptionsModule; exports.PasskeyModule = _chunk5XP5G45Bjs.PasskeyModule; exports.PasskeyRegistrationOptions = _chunk5XP5G45Bjs.PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = _chunk5XP5G45Bjs.PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = _chunk5XP5G45Bjs.PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = _chunk5XP5G45Bjs.PasskeyRegistrationVerifyModule; exports.PasskeyRename = _chunk5XP5G45Bjs.PasskeyRename; exports.PasskeyRenameModule = _chunk5XP5G45Bjs.PasskeyRenameModule; exports.PasskeyVerifyLogin = _chunk5XP5G45Bjs.PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = _chunk5XP5G45Bjs.PasskeyVerifyLoginModule; exports.PaymentMethod = _chunk5XP5G45Bjs.PaymentMethod; exports.PendingRegistration = _chunk5XP5G45Bjs.PendingRegistration; exports.PendingRegistrationModule = _chunk5XP5G45Bjs.PendingRegistrationModule; exports.PermissionMapping = _chunk5XP5G45Bjs.PermissionMapping; exports.PermissionMappingModule = _chunk5XP5G45Bjs.PermissionMappingModule; exports.Push = _chunk5XP5G45Bjs.Push; exports.PushModule = _chunk5XP5G45Bjs.PushModule; exports.PushService = _chunk5XP5G45Bjs.PushService; exports.ROOT_SYNC_ENDPOINT = _chunkZ6T2575Ajs.ROOT_SYNC_ENDPOINT; exports.RbacMatrixModel = _chunk5XP5G45Bjs.RbacMatrixModel; exports.RbacMatrixModule = _chunk5XP5G45Bjs.RbacMatrixModule; exports.RbacService = _chunkQ5SMFSE4js.RbacService; exports.ReferralAdminReferral = _chunk5XP5G45Bjs.ReferralAdminReferral; exports.ReferralAdminReferrer = _chunk5XP5G45Bjs.ReferralAdminReferrer; exports.ReferralAdminService = _chunk5XP5G45Bjs.ReferralAdminService; exports.ReferralAdminSummary = _chunk5XP5G45Bjs.ReferralAdminSummary; exports.ReferralModule = _chunk5XP5G45Bjs.ReferralModule; exports.ReferralService = _chunk5XP5G45Bjs.ReferralService; exports.ReferralStats = _chunk5XP5G45Bjs.ReferralStats; exports.ReferralStatsModule = _chunk5XP5G45Bjs.ReferralStatsModule; exports.ReferralVisit = _chunk5XP5G45Bjs.ReferralVisit; exports.RehydrationFactory = _chunkZ6T2575Ajs.RehydrationFactory; exports.Role = _chunk5XP5G45Bjs.Role; exports.RoleFields = _chunk5XP5G45Bjs.RoleFields; exports.RoleModule = _chunk5XP5G45Bjs.RoleModule; exports.RoleService = _chunk5XP5G45Bjs.RoleService; exports.RootSync = _chunkZ6T2575Ajs.RootSync; exports.S3 = _chunk5XP5G45Bjs.S3; exports.S3Module = _chunk5XP5G45Bjs.S3Module; exports.S3Service = _chunk5XP5G45Bjs.S3Service; exports.SIGNUP_SOURCE_COOKIE = _chunkQ5SMFSE4js.SIGNUP_SOURCE_COOKIE; exports.SIGNUP_SOURCE_COOKIE_MAX_AGE = _chunkQ5SMFSE4js.SIGNUP_SOURCE_COOKIE_MAX_AGE; exports.STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT = _chunk5XP5G45Bjs.STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT; exports.STRIPE_COUPON_DETAIL_PAGE_URL = _chunk5XP5G45Bjs.STRIPE_COUPON_DETAIL_PAGE_URL; exports.STRIPE_COUPON_REFRESH_SEGMENT = _chunk5XP5G45Bjs.STRIPE_COUPON_REFRESH_SEGMENT; exports.StripeCoupon = _chunk5XP5G45Bjs.StripeCoupon; exports.StripeCouponCode = _chunk5XP5G45Bjs.StripeCouponCode; exports.StripeCouponCodeFields = _chunk5XP5G45Bjs.StripeCouponCodeFields; exports.StripeCouponCodeModule = _chunk5XP5G45Bjs.StripeCouponCodeModule; exports.StripeCouponCodeService = _chunk5XP5G45Bjs.StripeCouponCodeService; exports.StripeCouponFields = _chunk5XP5G45Bjs.StripeCouponFields; exports.StripeCouponModule = _chunk5XP5G45Bjs.StripeCouponModule; exports.StripeCouponOffer = _chunk5XP5G45Bjs.StripeCouponOffer; exports.StripeCouponOfferModule = _chunk5XP5G45Bjs.StripeCouponOfferModule; exports.StripeCouponService = _chunk5XP5G45Bjs.StripeCouponService; exports.StripeCustomer = _chunk5XP5G45Bjs.StripeCustomer; exports.StripeCustomerModule = _chunk5XP5G45Bjs.StripeCustomerModule; exports.StripeCustomerService = _chunk5XP5G45Bjs.StripeCustomerService; exports.StripeInvoice = _chunk5XP5G45Bjs.StripeInvoice; exports.StripeInvoiceModule = _chunk5XP5G45Bjs.StripeInvoiceModule; exports.StripeInvoiceService = _chunk5XP5G45Bjs.StripeInvoiceService; exports.StripePaymentMethodModule = _chunk5XP5G45Bjs.StripePaymentMethodModule; exports.StripePrice = _chunk5XP5G45Bjs.StripePrice; exports.StripePriceFields = _chunk5XP5G45Bjs.StripePriceFields; exports.StripePriceModule = _chunk5XP5G45Bjs.StripePriceModule; exports.StripePriceService = _chunk5XP5G45Bjs.StripePriceService; exports.StripeProduct = _chunk5XP5G45Bjs.StripeProduct; exports.StripeProductFields = _chunk5XP5G45Bjs.StripeProductFields; exports.StripeProductModule = _chunk5XP5G45Bjs.StripeProductModule; exports.StripeProductService = _chunk5XP5G45Bjs.StripeProductService; exports.StripePromotionCode = _chunk5XP5G45Bjs.StripePromotionCode; exports.StripePromotionCodeModule = _chunk5XP5G45Bjs.StripePromotionCodeModule; exports.StripePromotionCodeService = _chunk5XP5G45Bjs.StripePromotionCodeService; exports.StripeSubscription = _chunk5XP5G45Bjs.StripeSubscription; exports.StripeSubscriptionModule = _chunk5XP5G45Bjs.StripeSubscriptionModule; exports.StripeSubscriptionService = _chunk5XP5G45Bjs.StripeSubscriptionService; exports.StripeUsage = _chunk5XP5G45Bjs.StripeUsage; exports.StripeUsageModule = _chunk5XP5G45Bjs.StripeUsageModule; exports.StripeUsageService = _chunk5XP5G45Bjs.StripeUsageService; exports.SubscriptionStatus = _chunk5XP5G45Bjs.SubscriptionStatus; exports.TableOptions = _chunk5XP5G45Bjs.TableOptions; exports.TokenUsageAdminBreakdownModule = _chunk5XP5G45Bjs.TokenUsageAdminBreakdownModule; exports.TokenUsageAdminSummaryModule = _chunk5XP5G45Bjs.TokenUsageAdminSummaryModule; exports.TokenUsageAdminTimelineModule = _chunk5XP5G45Bjs.TokenUsageAdminTimelineModule; exports.TotpAuthenticator = _chunk5XP5G45Bjs.TotpAuthenticator; exports.TotpAuthenticatorModule = _chunk5XP5G45Bjs.TotpAuthenticatorModule; exports.TotpSetup = _chunk5XP5G45Bjs.TotpSetup; exports.TotpSetupModule = _chunk5XP5G45Bjs.TotpSetupModule; exports.TotpVerify = _chunk5XP5G45Bjs.TotpVerify; exports.TotpVerifyLogin = _chunk5XP5G45Bjs.TotpVerifyLogin; exports.TotpVerifyLoginModule = _chunk5XP5G45Bjs.TotpVerifyLoginModule; exports.TotpVerifyModule = _chunk5XP5G45Bjs.TotpVerifyModule; exports.TwoFactorChallenge = _chunk5XP5G45Bjs.TwoFactorChallenge; exports.TwoFactorChallengeModule = _chunk5XP5G45Bjs.TwoFactorChallengeModule; exports.TwoFactorEnable = _chunk5XP5G45Bjs.TwoFactorEnable; exports.TwoFactorEnableModule = _chunk5XP5G45Bjs.TwoFactorEnableModule; exports.TwoFactorService = _chunk5XP5G45Bjs.TwoFactorService; exports.TwoFactorStatus = _chunk5XP5G45Bjs.TwoFactorStatus; exports.TwoFactorStatusModule = _chunk5XP5G45Bjs.TwoFactorStatusModule; exports.User = _chunk5XP5G45Bjs.User; exports.UserFields = _chunk5XP5G45Bjs.UserFields; exports.UserModule = _chunk5XP5G45Bjs.UserModule; exports.UserService = _chunk5XP5G45Bjs.UserService; exports.VIEWPORT_COOKIE_NAME = _chunk5XP5G45Bjs.VIEWPORT_COOKIE_NAME; exports.Waitlist = _chunk5XP5G45Bjs.Waitlist; exports.WaitlistFields = _chunk5XP5G45Bjs.WaitlistFields; exports.WaitlistModule = _chunk5XP5G45Bjs.WaitlistModule; exports.WaitlistService = _chunk5XP5G45Bjs.WaitlistService; exports.WaitlistStats = _chunk5XP5G45Bjs.WaitlistStats; exports.WaitlistStatsModule = _chunk5XP5G45Bjs.WaitlistStatsModule; exports.analyticsModules = _chunk5XP5G45Bjs.analyticsModules; exports.captureSignupSource = _chunkQ5SMFSE4js.captureSignupSource; exports.checkPermissions = _chunk5XP5G45Bjs.checkPermissions; exports.checkPermissionsFromServer = _chunk5XP5G45Bjs.checkPermissionsFromServer; exports.clearLastApiMeta = _chunk5XP5G45Bjs.clearLastApiMeta; exports.clearLastApiTotal = _chunk5XP5G45Bjs.clearLastApiTotal; exports.cn = _chunk5XP5G45Bjs.cn; exports.composeRefs = _chunk5XP5G45Bjs.composeRefs; exports.configureAuth = _chunk5XP5G45Bjs.configureAuth; exports.configureI18n = _chunkNP3AFULUjs.configureI18n; exports.configureJsonApi = _chunkQ5SMFSE4js.configureJsonApi; exports.configureLogin = _chunkQ5SMFSE4js.configureLogin; exports.configureReferral = _chunkQ5SMFSE4js.configureReferral; exports.configureRoles = _chunkG4JR3SFVjs.configureRoles; exports.configureTokenUsage = _chunk5XP5G45Bjs.configureTokenUsage; exports.configureWaitlist = _chunkQ5SMFSE4js.configureWaitlist; exports.consumeAccountDeletionCancelled = _chunk5XP5G45Bjs.consumeAccountDeletionCancelled; exports.couponPlacesLeft = _chunk5XP5G45Bjs.couponPlacesLeft; exports.couponPlacesTotal = _chunk5XP5G45Bjs.couponPlacesTotal; exports.createJsonApiInclusion = _chunk5XP5G45Bjs.createJsonApiInclusion; exports.dateFormatLocale = _chunkHROKKUBQjs.dateFormatLocale; exports.dismissToast = _chunk5XP5G45Bjs.dismissToast; exports.entityObjectSchema = _chunk5XP5G45Bjs.entityObjectSchema; exports.exists = _chunk5XP5G45Bjs.exists; exports.formatCodiceFiscale = _chunk5XP5G45Bjs.formatCodiceFiscale; exports.formatCouponDiscount = _chunk5XP5G45Bjs.formatCouponDiscount; exports.formatCurrency = _chunk5XP5G45Bjs.formatCurrency; exports.formatDate = _chunkHROKKUBQjs.formatDate; exports.formatDateStyle = _chunkHROKKUBQjs.formatDateStyle; exports.formatFixed = _chunk5XP5G45Bjs.formatFixed; exports.formatInterval = _chunk5XP5G45Bjs.formatInterval; exports.formatLocalDate = _chunkHROKKUBQjs.formatLocalDate; exports.formatPartitaIva = _chunk5XP5G45Bjs.formatPartitaIva; exports.formatRelativeDate = _chunkHROKKUBQjs.formatRelativeDate; exports.getApiUrl = _chunkQ5SMFSE4js.getApiUrl; exports.getAppUrl = _chunkQ5SMFSE4js.getAppUrl; exports.getBootstrapper = _chunkLNO2JLU3js.getBootstrapper; exports.getClientGlobalErrorHandler = _chunk5XP5G45Bjs.getClientGlobalErrorHandler; exports.getGlobalErrorHandler = _chunk5XP5G45Bjs.getGlobalErrorHandler; exports.getIcon = _chunk5XP5G45Bjs.getIcon; exports.getIconByModule = _chunk5XP5G45Bjs.getIconByModule; exports.getIconByModuleName = _chunk5XP5G45Bjs.getIconByModuleName; exports.getInitials = _chunk5XP5G45Bjs.getInitials; exports.getLastApiMeta = _chunk5XP5G45Bjs.getLastApiMeta; exports.getLastApiTotal = _chunk5XP5G45Bjs.getLastApiTotal; exports.getLucideIcon = _chunk5XP5G45Bjs.getLucideIcon; exports.getLucideIconByModule = _chunk5XP5G45Bjs.getLucideIconByModule; exports.getLucideIconByModuleName = _chunk5XP5G45Bjs.getLucideIconByModuleName; exports.getPublicApiUrl = _chunkQ5SMFSE4js.getPublicApiUrl; exports.getReferralConfig = _chunkQ5SMFSE4js.getReferralConfig; exports.getRoleId = _chunkG4JR3SFVjs.getRoleId; exports.getSignupSource = _chunkQ5SMFSE4js.getSignupSource; exports.getStripePublishableKey = _chunkQ5SMFSE4js.getStripePublishableKey; exports.getTableComponents = _chunk5XP5G45Bjs.getTableComponents; exports.getTableOptions = _chunk5XP5G45Bjs.getTableOptions; exports.getTokenHandler = _chunk5XP5G45Bjs.getTokenHandler; exports.getTokenUsageCurrency = _chunk5XP5G45Bjs.getTokenUsageCurrency; exports.getTrackablePages = _chunkQ5SMFSE4js.getTrackablePages; exports.getValueFromPath = _chunk5XP5G45Bjs.getValueFromPath; exports.getWaitlistConfig = _chunkQ5SMFSE4js.getWaitlistConfig; exports.handbookPageContent = _chunk5XP5G45Bjs.handbookPageContent; exports.handbookPageSummary = _chunk5XP5G45Bjs.handbookPageSummary; exports.handbookPageTitle = _chunk5XP5G45Bjs.handbookPageTitle; exports.handbookSectionSummary = _chunk5XP5G45Bjs.handbookSectionSummary; exports.handbookSectionTitle = _chunk5XP5G45Bjs.handbookSectionTitle; exports.hasBootstrapper = _chunkLNO2JLU3js.hasBootstrapper; exports.isCreditWarningActive = _chunk5XP5G45Bjs.isCreditWarningActive; exports.isDiscordAuthEnabled = _chunkQ5SMFSE4js.isDiscordAuthEnabled; exports.isReferralEnabled = _chunkQ5SMFSE4js.isReferralEnabled; exports.isRemoteImageSrc = _chunk5XP5G45Bjs.isRemoteImageSrc; exports.isRolesConfigured = _chunkG4JR3SFVjs.isRolesConfigured; exports.markAccountDeletionCancelled = _chunk5XP5G45Bjs.markAccountDeletionCancelled; exports.mergeMessages = _chunk5XP5G45Bjs.mergeMessages; exports.offlineModules = _chunk5XP5G45Bjs.offlineModules; exports.readSignupSourceFromLocation = _chunkQ5SMFSE4js.readSignupSourceFromLocation; exports.referralAdminModules = _chunk5XP5G45Bjs.referralAdminModules; exports.rehydrate = _chunk5XP5G45Bjs.rehydrate; exports.rehydrateList = _chunk5XP5G45Bjs.rehydrateList; exports.resetBootstrapStore = _chunkLNO2JLU3js.resetBootstrapStore; exports.resolveChangePlanTarget = _chunk5XP5G45Bjs.resolveChangePlanTarget; exports.resolveDateLocale = _chunkHROKKUBQjs.resolveDateLocale; exports.setBootstrapper = _chunkLNO2JLU3js.setBootstrapper; exports.setClientGlobalErrorHandler = _chunk5XP5G45Bjs.setClientGlobalErrorHandler; exports.setGlobalErrorHandler = _chunk5XP5G45Bjs.setGlobalErrorHandler; exports.showCustomToast = _chunk5XP5G45Bjs.showCustomToast; exports.showError = _chunk5XP5G45Bjs.showError; exports.showToast = _chunk5XP5G45Bjs.showToast; exports.toPromotionCodeResult = _chunk5XP5G45Bjs.toPromotionCodeResult; exports.tokenUsageModules = _chunk5XP5G45Bjs.tokenUsageModules; exports.translateData = _chunkLNO2JLU3js.translateData; exports.translateResponse = _chunkLNO2JLU3js.translateResponse; exports.tryBootstrap = _chunkLNO2JLU3js.tryBootstrap; exports.useComposedRefs = _chunk5XP5G45Bjs.useComposedRefs; exports.useIsMobile = _chunk5XP5G45Bjs.useIsMobile; exports.userObjectSchema = _chunk5XP5G45Bjs.userObjectSchema; exports.usesTwelveHourClock = _chunkHROKKUBQjs.usesTwelveHourClock; exports.validateCodiceFiscale = _chunk5XP5G45Bjs.validateCodiceFiscale; exports.validateItalianTaxCode = _chunk5XP5G45Bjs.validateItalianTaxCode; exports.validatePartitaIva = _chunk5XP5G45Bjs.validatePartitaIva;
|
|
745
|
+
exports.ACCOUNT_DELETION_CANCELLED_KEY = _chunkNPGX2GJDjs.ACCOUNT_DELETION_CANCELLED_KEY; exports.ACTION_TYPES = _chunkPNCO3HMJjs.ACTION_TYPES; exports.AVAILABLE_OAUTH_SCOPES = _chunkNPGX2GJDjs.AVAILABLE_OAUTH_SCOPES; exports.AbstractApiData = _chunkZ6T2575Ajs.AbstractApiData; exports.AbstractService = _chunkNPGX2GJDjs.AbstractService; exports.AccountDeletion = _chunkNPGX2GJDjs.AccountDeletion; exports.AccountDeletionModule = _chunkNPGX2GJDjs.AccountDeletionModule; exports.AccountDeletionService = _chunkNPGX2GJDjs.AccountDeletionService; exports.Action = _chunkNPGX2GJDjs.Action; exports.AiConnection = _chunkNPGX2GJDjs.AiConnection; exports.AiConnectionFields = _chunkNPGX2GJDjs.AiConnectionFields; exports.AiConnectionModule = _chunkNPGX2GJDjs.AiConnectionModule; exports.AiConnectionService = _chunkNPGX2GJDjs.AiConnectionService; exports.Assistant = _chunkNPGX2GJDjs.Assistant; exports.AssistantAction = _chunkNPGX2GJDjs.AssistantAction; exports.AssistantActionModule = _chunkNPGX2GJDjs.AssistantActionModule; exports.AssistantActionService = _chunkNPGX2GJDjs.AssistantActionService; exports.AssistantMessage = _chunkNPGX2GJDjs.AssistantMessage; exports.AssistantMessageModule = _chunkNPGX2GJDjs.AssistantMessageModule; exports.AssistantMessageService = _chunkNPGX2GJDjs.AssistantMessageService; exports.AssistantModule = _chunkNPGX2GJDjs.AssistantModule; exports.AssistantService = _chunkNPGX2GJDjs.AssistantService; exports.AuditLog = _chunkNPGX2GJDjs.AuditLog; exports.AuditLogModule = _chunkNPGX2GJDjs.AuditLogModule; exports.AuditLogService = _chunkNPGX2GJDjs.AuditLogService; exports.Auth = _chunkNPGX2GJDjs.Auth; exports.AuthComponent = _chunkNPGX2GJDjs.AuthComponent; exports.AuthModule = _chunkNPGX2GJDjs.AuthModule; exports.AuthService = _chunkNPGX2GJDjs.AuthService; exports.AuthorModule = _chunkNPGX2GJDjs.AuthorModule; exports.BackupCodeVerify = _chunkNPGX2GJDjs.BackupCodeVerify; exports.BackupCodeVerifyModule = _chunkNPGX2GJDjs.BackupCodeVerifyModule; exports.Billing = _chunkNPGX2GJDjs.Billing; exports.BillingModule = _chunkNPGX2GJDjs.BillingModule; exports.BillingService = _chunkNPGX2GJDjs.BillingService; exports.BlockNoteDiffUtil = _chunkNPGX2GJDjs.BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = _chunkNPGX2GJDjs.BlockNoteWordDiffRendererUtil; exports.BlogCategory = _chunkNPGX2GJDjs.BlogCategory; exports.BlogCategoryFields = _chunkNPGX2GJDjs.BlogCategoryFields; exports.BlogCategoryModule = _chunkNPGX2GJDjs.BlogCategoryModule; exports.BlogCategoryService = _chunkNPGX2GJDjs.BlogCategoryService; exports.BlogCategoryTranslation = _chunkNPGX2GJDjs.BlogCategoryTranslation; exports.BlogCategoryTranslationModule = _chunkNPGX2GJDjs.BlogCategoryTranslationModule; exports.BlogCategoryTranslationService = _chunkNPGX2GJDjs.BlogCategoryTranslationService; exports.BlogPost = _chunkNPGX2GJDjs.BlogPost; exports.BlogPostFields = _chunkNPGX2GJDjs.BlogPostFields; exports.BlogPostModule = _chunkNPGX2GJDjs.BlogPostModule; exports.BlogPostService = _chunkNPGX2GJDjs.BlogPostService; exports.BlogPostTranslation = _chunkNPGX2GJDjs.BlogPostTranslation; exports.BlogPostTranslationModule = _chunkNPGX2GJDjs.BlogPostTranslationModule; exports.BlogPostTranslationService = _chunkNPGX2GJDjs.BlogPostTranslationService; exports.BlogSettings = _chunkNPGX2GJDjs.BlogSettings; exports.BlogSettingsModule = _chunkNPGX2GJDjs.BlogSettingsModule; exports.BlogSettingsService = _chunkNPGX2GJDjs.BlogSettingsService; exports.COMPANY_ADMINISTRATOR_ROLE_ID = _chunkPNCO3HMJjs.COMPANY_ADMINISTRATOR_ROLE_ID; exports.CREDIT_WARNING_DISMISS_SEGMENT = _chunkNPGX2GJDjs.CREDIT_WARNING_DISMISS_SEGMENT; exports.CURRENT_USER_STORAGE_KEY = _chunk3VNDFKT7js.CURRENT_USER_STORAGE_KEY; exports.Chunk = _chunkNPGX2GJDjs.Chunk; exports.ChunkModule = _chunkNPGX2GJDjs.ChunkModule; exports.ClientAbstractService = _chunkNPGX2GJDjs.ClientAbstractService; exports.ClientHttpMethod = _chunkNPGX2GJDjs.ClientHttpMethod; exports.Company = _chunkNPGX2GJDjs.Company; exports.CompanyFields = _chunkNPGX2GJDjs.CompanyFields; exports.CompanyModule = _chunkNPGX2GJDjs.CompanyModule; exports.CompanyService = _chunkNPGX2GJDjs.CompanyService; exports.Content = _chunkNPGX2GJDjs.Content; exports.ContentFields = _chunkNPGX2GJDjs.ContentFields; exports.ContentModule = _chunkNPGX2GJDjs.ContentModule; exports.ContentService = _chunkNPGX2GJDjs.ContentService; exports.DEFAULT_GRANT_TYPES = _chunkNPGX2GJDjs.DEFAULT_GRANT_TYPES; exports.DataClass = _chunkLNO2JLU3js.DataClassRegistry; exports.DataClassRegistry = _chunkLNO2JLU3js.DataClassRegistry; exports.DiscordConnectConfirmation = _chunkNPGX2GJDjs.DiscordConnectConfirmation; exports.DiscordConnectConfirmationModule = _chunkNPGX2GJDjs.DiscordConnectConfirmationModule; exports.DiscordConnectConfirmationService = _chunkNPGX2GJDjs.DiscordConnectConfirmationService; exports.DiscordConnectIntent = _chunkNPGX2GJDjs.DiscordConnectIntent; exports.DiscordConnectIntentModule = _chunkNPGX2GJDjs.DiscordConnectIntentModule; exports.DiscordConnectIntentService = _chunkNPGX2GJDjs.DiscordConnectIntentService; exports.DiscordConnection = _chunkNPGX2GJDjs.DiscordConnection; exports.DiscordConnectionModule = _chunkNPGX2GJDjs.DiscordConnectionModule; exports.DiscordConnectionService = _chunkNPGX2GJDjs.DiscordConnectionService; exports.EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE = _chunkNPGX2GJDjs.EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE; exports.EMAIL_BLAST_SEGMENTS = _chunkNPGX2GJDjs.EMAIL_BLAST_SEGMENTS; exports.EMAIL_BLAST_UNSUBSCRIBE_TYPE = _chunkNPGX2GJDjs.EMAIL_BLAST_UNSUBSCRIBE_TYPE; exports.ENV = _chunkLNO2JLU3js.ENV; exports.EmailAutomation = _chunkNPGX2GJDjs.EmailAutomation; exports.EmailAutomationCandidate = _chunkNPGX2GJDjs.EmailAutomationCandidate; exports.EmailAutomationCandidateModule = _chunkNPGX2GJDjs.EmailAutomationCandidateModule; exports.EmailAutomationEnrollment = _chunkNPGX2GJDjs.EmailAutomationEnrollment; exports.EmailAutomationEnrollmentFields = _chunkNPGX2GJDjs.EmailAutomationEnrollmentFields; exports.EmailAutomationEnrollmentModule = _chunkNPGX2GJDjs.EmailAutomationEnrollmentModule; exports.EmailAutomationEnrollmentService = _chunkNPGX2GJDjs.EmailAutomationEnrollmentService; exports.EmailAutomationFields = _chunkNPGX2GJDjs.EmailAutomationFields; exports.EmailAutomationModule = _chunkNPGX2GJDjs.EmailAutomationModule; exports.EmailAutomationService = _chunkNPGX2GJDjs.EmailAutomationService; exports.EmailAutomationStep = _chunkNPGX2GJDjs.EmailAutomationStep; exports.EmailAutomationStepModule = _chunkNPGX2GJDjs.EmailAutomationStepModule; exports.EmailAutomationStepService = _chunkNPGX2GJDjs.EmailAutomationStepService; exports.EmailAutomationTrigger = _chunkNPGX2GJDjs.EmailAutomationTrigger; exports.EmailAutomationTriggerModule = _chunkNPGX2GJDjs.EmailAutomationTriggerModule; exports.EmailBlast = _chunkNPGX2GJDjs.EmailBlast; exports.EmailBlastAudience = _chunkNPGX2GJDjs.EmailBlastAudience; exports.EmailBlastAudienceModule = _chunkNPGX2GJDjs.EmailBlastAudienceModule; exports.EmailBlastDelivery = _chunkNPGX2GJDjs.EmailBlastDelivery; exports.EmailBlastDeliveryModule = _chunkNPGX2GJDjs.EmailBlastDeliveryModule; exports.EmailBlastDeliveryService = _chunkNPGX2GJDjs.EmailBlastDeliveryService; exports.EmailBlastFields = _chunkNPGX2GJDjs.EmailBlastFields; exports.EmailBlastModule = _chunkNPGX2GJDjs.EmailBlastModule; exports.EmailBlastService = _chunkNPGX2GJDjs.EmailBlastService; exports.EndpointCreator = _chunkZ6T2575Ajs.EndpointCreator; exports.EntityAiStatus = _chunkNPGX2GJDjs.EntityAiStatus; exports.Feature = _chunkNPGX2GJDjs.Feature; exports.FeatureModule = _chunkNPGX2GJDjs.FeatureModule; exports.FeatureService = _chunkNPGX2GJDjs.FeatureService; exports.HandbookPage = _chunkNPGX2GJDjs.HandbookPage; exports.HandbookPageFields = _chunkNPGX2GJDjs.HandbookPageFields; exports.HandbookPageModule = _chunkNPGX2GJDjs.HandbookPageModule; exports.HandbookPageService = _chunkNPGX2GJDjs.HandbookPageService; exports.HandbookSection = _chunkNPGX2GJDjs.HandbookSection; exports.HandbookSectionModule = _chunkNPGX2GJDjs.HandbookSectionModule; exports.HandbookSectionService = _chunkNPGX2GJDjs.HandbookSectionService; exports.HandbookThread = _chunkNPGX2GJDjs.HandbookThread; exports.HandbookThreadMessage = _chunkNPGX2GJDjs.HandbookThreadMessage; exports.HandbookThreadMessageModule = _chunkNPGX2GJDjs.HandbookThreadMessageModule; exports.HandbookThreadMessageService = _chunkNPGX2GJDjs.HandbookThreadMessageService; exports.HandbookThreadModule = _chunkNPGX2GJDjs.HandbookThreadModule; exports.HandbookThreadService = _chunkNPGX2GJDjs.HandbookThreadService; exports.HowTo = _chunkNPGX2GJDjs.HowTo; exports.HowToFields = _chunkNPGX2GJDjs.HowToFields; exports.HowToModule = _chunkNPGX2GJDjs.HowToModule; exports.HowToService = _chunkNPGX2GJDjs.HowToService; exports.HttpMethod = _chunkNPGX2GJDjs.HttpMethod; exports.InvoiceStatus = _chunkNPGX2GJDjs.InvoiceStatus; exports.JsonApiDataFactory = _chunkLNO2JLU3js.JsonApiDataFactory; exports.MOBILE_BREAKPOINT = _chunkNPGX2GJDjs.MOBILE_BREAKPOINT; exports.Module = _chunkNPGX2GJDjs.Module; exports.ModuleModule = _chunkNPGX2GJDjs.ModuleModule; exports.ModulePaths = _chunkNPGX2GJDjs.ModulePaths; exports.ModulePathsModule = _chunkNPGX2GJDjs.ModulePathsModule; exports.ModuleRegistrar = _chunkNPGX2GJDjs.ModuleRegistrar; exports.ModuleRegistry = _chunkZ6T2575Ajs.ModuleRegistry; exports.Modules = _chunkZ6T2575Ajs.Modules; exports.Notification = _chunkNPGX2GJDjs.Notification; exports.NotificationFields = _chunkNPGX2GJDjs.NotificationFields; exports.NotificationModule = _chunkNPGX2GJDjs.NotificationModule; exports.NotificationService = _chunkNPGX2GJDjs.NotificationService; exports.OAUTH_SCOPE_DISPLAY = _chunkNPGX2GJDjs.OAUTH_SCOPE_DISPLAY; exports.OAuthClient = _chunkNPGX2GJDjs.OAuthClient; exports.OAuthModule = _chunkNPGX2GJDjs.OAuthModule; exports.OAuthService = _chunkNPGX2GJDjs.OAuthService; exports.OfflineChangeSet = _chunkNPGX2GJDjs.OfflineChangeSet; exports.Passkey = _chunkNPGX2GJDjs.Passkey; exports.PasskeyAuthenticationOptions = _chunkNPGX2GJDjs.PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = _chunkNPGX2GJDjs.PasskeyAuthenticationOptionsModule; exports.PasskeyModule = _chunkNPGX2GJDjs.PasskeyModule; exports.PasskeyRegistrationOptions = _chunkNPGX2GJDjs.PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = _chunkNPGX2GJDjs.PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = _chunkNPGX2GJDjs.PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = _chunkNPGX2GJDjs.PasskeyRegistrationVerifyModule; exports.PasskeyRename = _chunkNPGX2GJDjs.PasskeyRename; exports.PasskeyRenameModule = _chunkNPGX2GJDjs.PasskeyRenameModule; exports.PasskeyVerifyLogin = _chunkNPGX2GJDjs.PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = _chunkNPGX2GJDjs.PasskeyVerifyLoginModule; exports.PaymentMethod = _chunkNPGX2GJDjs.PaymentMethod; exports.PendingRegistration = _chunkNPGX2GJDjs.PendingRegistration; exports.PendingRegistrationModule = _chunkNPGX2GJDjs.PendingRegistrationModule; exports.PermissionMapping = _chunkNPGX2GJDjs.PermissionMapping; exports.PermissionMappingModule = _chunkNPGX2GJDjs.PermissionMappingModule; exports.Push = _chunkNPGX2GJDjs.Push; exports.PushModule = _chunkNPGX2GJDjs.PushModule; exports.PushService = _chunkNPGX2GJDjs.PushService; exports.ROOT_SYNC_ENDPOINT = _chunkZ6T2575Ajs.ROOT_SYNC_ENDPOINT; exports.RbacMatrixModel = _chunkNPGX2GJDjs.RbacMatrixModel; exports.RbacMatrixModule = _chunkNPGX2GJDjs.RbacMatrixModule; exports.RbacService = _chunkPNCO3HMJjs.RbacService; exports.ReferralAdminReferral = _chunkNPGX2GJDjs.ReferralAdminReferral; exports.ReferralAdminReferrer = _chunkNPGX2GJDjs.ReferralAdminReferrer; exports.ReferralAdminService = _chunkNPGX2GJDjs.ReferralAdminService; exports.ReferralAdminSummary = _chunkNPGX2GJDjs.ReferralAdminSummary; exports.ReferralModule = _chunkNPGX2GJDjs.ReferralModule; exports.ReferralService = _chunkNPGX2GJDjs.ReferralService; exports.ReferralStats = _chunkNPGX2GJDjs.ReferralStats; exports.ReferralStatsModule = _chunkNPGX2GJDjs.ReferralStatsModule; exports.ReferralVisit = _chunkNPGX2GJDjs.ReferralVisit; exports.RehydrationFactory = _chunkZ6T2575Ajs.RehydrationFactory; exports.Role = _chunkNPGX2GJDjs.Role; exports.RoleFields = _chunkNPGX2GJDjs.RoleFields; exports.RoleModule = _chunkNPGX2GJDjs.RoleModule; exports.RoleService = _chunkNPGX2GJDjs.RoleService; exports.RootSync = _chunkZ6T2575Ajs.RootSync; exports.S3 = _chunkNPGX2GJDjs.S3; exports.S3Module = _chunkNPGX2GJDjs.S3Module; exports.S3Service = _chunkNPGX2GJDjs.S3Service; exports.SIGNUP_SOURCE_COOKIE = _chunkPNCO3HMJjs.SIGNUP_SOURCE_COOKIE; exports.SIGNUP_SOURCE_COOKIE_MAX_AGE = _chunkPNCO3HMJjs.SIGNUP_SOURCE_COOKIE_MAX_AGE; exports.STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT = _chunkNPGX2GJDjs.STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT; exports.STRIPE_COUPON_DETAIL_PAGE_URL = _chunkNPGX2GJDjs.STRIPE_COUPON_DETAIL_PAGE_URL; exports.STRIPE_COUPON_REFRESH_SEGMENT = _chunkNPGX2GJDjs.STRIPE_COUPON_REFRESH_SEGMENT; exports.StripeCoupon = _chunkNPGX2GJDjs.StripeCoupon; exports.StripeCouponCode = _chunkNPGX2GJDjs.StripeCouponCode; exports.StripeCouponCodeFields = _chunkNPGX2GJDjs.StripeCouponCodeFields; exports.StripeCouponCodeModule = _chunkNPGX2GJDjs.StripeCouponCodeModule; exports.StripeCouponCodeService = _chunkNPGX2GJDjs.StripeCouponCodeService; exports.StripeCouponFields = _chunkNPGX2GJDjs.StripeCouponFields; exports.StripeCouponModule = _chunkNPGX2GJDjs.StripeCouponModule; exports.StripeCouponOffer = _chunkNPGX2GJDjs.StripeCouponOffer; exports.StripeCouponOfferModule = _chunkNPGX2GJDjs.StripeCouponOfferModule; exports.StripeCouponService = _chunkNPGX2GJDjs.StripeCouponService; exports.StripeCustomer = _chunkNPGX2GJDjs.StripeCustomer; exports.StripeCustomerModule = _chunkNPGX2GJDjs.StripeCustomerModule; exports.StripeCustomerService = _chunkNPGX2GJDjs.StripeCustomerService; exports.StripeInvoice = _chunkNPGX2GJDjs.StripeInvoice; exports.StripeInvoiceModule = _chunkNPGX2GJDjs.StripeInvoiceModule; exports.StripeInvoiceService = _chunkNPGX2GJDjs.StripeInvoiceService; exports.StripePaymentMethodModule = _chunkNPGX2GJDjs.StripePaymentMethodModule; exports.StripePrice = _chunkNPGX2GJDjs.StripePrice; exports.StripePriceFields = _chunkNPGX2GJDjs.StripePriceFields; exports.StripePriceModule = _chunkNPGX2GJDjs.StripePriceModule; exports.StripePriceService = _chunkNPGX2GJDjs.StripePriceService; exports.StripeProduct = _chunkNPGX2GJDjs.StripeProduct; exports.StripeProductFields = _chunkNPGX2GJDjs.StripeProductFields; exports.StripeProductModule = _chunkNPGX2GJDjs.StripeProductModule; exports.StripeProductService = _chunkNPGX2GJDjs.StripeProductService; exports.StripePromotionCode = _chunkNPGX2GJDjs.StripePromotionCode; exports.StripePromotionCodeModule = _chunkNPGX2GJDjs.StripePromotionCodeModule; exports.StripePromotionCodeService = _chunkNPGX2GJDjs.StripePromotionCodeService; exports.StripeSubscription = _chunkNPGX2GJDjs.StripeSubscription; exports.StripeSubscriptionModule = _chunkNPGX2GJDjs.StripeSubscriptionModule; exports.StripeSubscriptionService = _chunkNPGX2GJDjs.StripeSubscriptionService; exports.StripeUsage = _chunkNPGX2GJDjs.StripeUsage; exports.StripeUsageModule = _chunkNPGX2GJDjs.StripeUsageModule; exports.StripeUsageService = _chunkNPGX2GJDjs.StripeUsageService; exports.SubscriptionStatus = _chunkNPGX2GJDjs.SubscriptionStatus; exports.TableOptions = _chunkNPGX2GJDjs.TableOptions; exports.TokenUsageAdminBreakdownModule = _chunkNPGX2GJDjs.TokenUsageAdminBreakdownModule; exports.TokenUsageAdminSummaryModule = _chunkNPGX2GJDjs.TokenUsageAdminSummaryModule; exports.TokenUsageAdminTimelineModule = _chunkNPGX2GJDjs.TokenUsageAdminTimelineModule; exports.TotpAuthenticator = _chunkNPGX2GJDjs.TotpAuthenticator; exports.TotpAuthenticatorModule = _chunkNPGX2GJDjs.TotpAuthenticatorModule; exports.TotpSetup = _chunkNPGX2GJDjs.TotpSetup; exports.TotpSetupModule = _chunkNPGX2GJDjs.TotpSetupModule; exports.TotpVerify = _chunkNPGX2GJDjs.TotpVerify; exports.TotpVerifyLogin = _chunkNPGX2GJDjs.TotpVerifyLogin; exports.TotpVerifyLoginModule = _chunkNPGX2GJDjs.TotpVerifyLoginModule; exports.TotpVerifyModule = _chunkNPGX2GJDjs.TotpVerifyModule; exports.TwoFactorChallenge = _chunkNPGX2GJDjs.TwoFactorChallenge; exports.TwoFactorChallengeModule = _chunkNPGX2GJDjs.TwoFactorChallengeModule; exports.TwoFactorEnable = _chunkNPGX2GJDjs.TwoFactorEnable; exports.TwoFactorEnableModule = _chunkNPGX2GJDjs.TwoFactorEnableModule; exports.TwoFactorService = _chunkNPGX2GJDjs.TwoFactorService; exports.TwoFactorStatus = _chunkNPGX2GJDjs.TwoFactorStatus; exports.TwoFactorStatusModule = _chunkNPGX2GJDjs.TwoFactorStatusModule; exports.User = _chunkNPGX2GJDjs.User; exports.UserFields = _chunkNPGX2GJDjs.UserFields; exports.UserModule = _chunkNPGX2GJDjs.UserModule; exports.UserService = _chunkNPGX2GJDjs.UserService; exports.VIEWPORT_COOKIE_NAME = _chunkNPGX2GJDjs.VIEWPORT_COOKIE_NAME; exports.Waitlist = _chunkNPGX2GJDjs.Waitlist; exports.WaitlistFields = _chunkNPGX2GJDjs.WaitlistFields; exports.WaitlistModule = _chunkNPGX2GJDjs.WaitlistModule; exports.WaitlistService = _chunkNPGX2GJDjs.WaitlistService; exports.WaitlistStats = _chunkNPGX2GJDjs.WaitlistStats; exports.WaitlistStatsModule = _chunkNPGX2GJDjs.WaitlistStatsModule; exports.analyticsModules = _chunkNPGX2GJDjs.analyticsModules; exports.captureSignupSource = _chunkPNCO3HMJjs.captureSignupSource; exports.checkPermissions = _chunkNPGX2GJDjs.checkPermissions; exports.checkPermissionsFromServer = _chunkNPGX2GJDjs.checkPermissionsFromServer; exports.clearLastApiMeta = _chunkNPGX2GJDjs.clearLastApiMeta; exports.clearLastApiTotal = _chunkNPGX2GJDjs.clearLastApiTotal; exports.cn = _chunkNPGX2GJDjs.cn; exports.composeRefs = _chunkNPGX2GJDjs.composeRefs; exports.configureAuth = _chunkNPGX2GJDjs.configureAuth; exports.configureI18n = _chunkNP3AFULUjs.configureI18n; exports.configureJsonApi = _chunkPNCO3HMJjs.configureJsonApi; exports.configureLogin = _chunkPNCO3HMJjs.configureLogin; exports.configureReferral = _chunkPNCO3HMJjs.configureReferral; exports.configureRoles = _chunkG4JR3SFVjs.configureRoles; exports.configureTokenUsage = _chunkNPGX2GJDjs.configureTokenUsage; exports.configureWaitlist = _chunkPNCO3HMJjs.configureWaitlist; exports.consumeAccountDeletionCancelled = _chunkNPGX2GJDjs.consumeAccountDeletionCancelled; exports.couponPlacesLeft = _chunkNPGX2GJDjs.couponPlacesLeft; exports.couponPlacesTotal = _chunkNPGX2GJDjs.couponPlacesTotal; exports.createJsonApiInclusion = _chunkNPGX2GJDjs.createJsonApiInclusion; exports.dateFormatLocale = _chunkHROKKUBQjs.dateFormatLocale; exports.dismissToast = _chunkNPGX2GJDjs.dismissToast; exports.entityObjectSchema = _chunkNPGX2GJDjs.entityObjectSchema; exports.exists = _chunkNPGX2GJDjs.exists; exports.formatCodiceFiscale = _chunkNPGX2GJDjs.formatCodiceFiscale; exports.formatCouponDiscount = _chunkNPGX2GJDjs.formatCouponDiscount; exports.formatCurrency = _chunkNPGX2GJDjs.formatCurrency; exports.formatDate = _chunkHROKKUBQjs.formatDate; exports.formatDateStyle = _chunkHROKKUBQjs.formatDateStyle; exports.formatFixed = _chunkNPGX2GJDjs.formatFixed; exports.formatInterval = _chunkNPGX2GJDjs.formatInterval; exports.formatLocalDate = _chunkHROKKUBQjs.formatLocalDate; exports.formatPartitaIva = _chunkNPGX2GJDjs.formatPartitaIva; exports.formatRelativeDate = _chunkHROKKUBQjs.formatRelativeDate; exports.getApiUrl = _chunkPNCO3HMJjs.getApiUrl; exports.getAppUrl = _chunkPNCO3HMJjs.getAppUrl; exports.getBootstrapper = _chunkLNO2JLU3js.getBootstrapper; exports.getClientGlobalErrorHandler = _chunkNPGX2GJDjs.getClientGlobalErrorHandler; exports.getGlobalErrorHandler = _chunkNPGX2GJDjs.getGlobalErrorHandler; exports.getIcon = _chunkNPGX2GJDjs.getIcon; exports.getIconByModule = _chunkNPGX2GJDjs.getIconByModule; exports.getIconByModuleName = _chunkNPGX2GJDjs.getIconByModuleName; exports.getInitials = _chunkNPGX2GJDjs.getInitials; exports.getLastApiMeta = _chunkNPGX2GJDjs.getLastApiMeta; exports.getLastApiTotal = _chunkNPGX2GJDjs.getLastApiTotal; exports.getLucideIcon = _chunkNPGX2GJDjs.getLucideIcon; exports.getLucideIconByModule = _chunkNPGX2GJDjs.getLucideIconByModule; exports.getLucideIconByModuleName = _chunkNPGX2GJDjs.getLucideIconByModuleName; exports.getPublicApiUrl = _chunkPNCO3HMJjs.getPublicApiUrl; exports.getReferralConfig = _chunkPNCO3HMJjs.getReferralConfig; exports.getRoleId = _chunkG4JR3SFVjs.getRoleId; exports.getSignupSource = _chunkPNCO3HMJjs.getSignupSource; exports.getStripePublishableKey = _chunkPNCO3HMJjs.getStripePublishableKey; exports.getTableComponents = _chunkNPGX2GJDjs.getTableComponents; exports.getTableOptions = _chunkNPGX2GJDjs.getTableOptions; exports.getTokenHandler = _chunkNPGX2GJDjs.getTokenHandler; exports.getTokenUsageCurrency = _chunkNPGX2GJDjs.getTokenUsageCurrency; exports.getTrackablePages = _chunkPNCO3HMJjs.getTrackablePages; exports.getValueFromPath = _chunkNPGX2GJDjs.getValueFromPath; exports.getWaitlistConfig = _chunkPNCO3HMJjs.getWaitlistConfig; exports.handbookPageContent = _chunkNPGX2GJDjs.handbookPageContent; exports.handbookPageSummary = _chunkNPGX2GJDjs.handbookPageSummary; exports.handbookPageTitle = _chunkNPGX2GJDjs.handbookPageTitle; exports.handbookSectionSummary = _chunkNPGX2GJDjs.handbookSectionSummary; exports.handbookSectionTitle = _chunkNPGX2GJDjs.handbookSectionTitle; exports.hasBootstrapper = _chunkLNO2JLU3js.hasBootstrapper; exports.isCreditWarningActive = _chunkNPGX2GJDjs.isCreditWarningActive; exports.isDiscordAuthEnabled = _chunkPNCO3HMJjs.isDiscordAuthEnabled; exports.isReferralEnabled = _chunkPNCO3HMJjs.isReferralEnabled; exports.isRemoteImageSrc = _chunkNPGX2GJDjs.isRemoteImageSrc; exports.isRolesConfigured = _chunkG4JR3SFVjs.isRolesConfigured; exports.markAccountDeletionCancelled = _chunkNPGX2GJDjs.markAccountDeletionCancelled; exports.mergeMessages = _chunkNPGX2GJDjs.mergeMessages; exports.offlineModules = _chunkNPGX2GJDjs.offlineModules; exports.readSignupSourceFromLocation = _chunkPNCO3HMJjs.readSignupSourceFromLocation; exports.referralAdminModules = _chunkNPGX2GJDjs.referralAdminModules; exports.rehydrate = _chunkNPGX2GJDjs.rehydrate; exports.rehydrateList = _chunkNPGX2GJDjs.rehydrateList; exports.resetBootstrapStore = _chunkLNO2JLU3js.resetBootstrapStore; exports.resolveChangePlanTarget = _chunkNPGX2GJDjs.resolveChangePlanTarget; exports.resolveDateLocale = _chunkHROKKUBQjs.resolveDateLocale; exports.setBootstrapper = _chunkLNO2JLU3js.setBootstrapper; exports.setClientGlobalErrorHandler = _chunkNPGX2GJDjs.setClientGlobalErrorHandler; exports.setGlobalErrorHandler = _chunkNPGX2GJDjs.setGlobalErrorHandler; exports.showCustomToast = _chunkNPGX2GJDjs.showCustomToast; exports.showError = _chunkNPGX2GJDjs.showError; exports.showToast = _chunkNPGX2GJDjs.showToast; exports.toPromotionCodeResult = _chunkNPGX2GJDjs.toPromotionCodeResult; exports.tokenUsageModules = _chunkNPGX2GJDjs.tokenUsageModules; exports.translateData = _chunkLNO2JLU3js.translateData; exports.translateResponse = _chunkLNO2JLU3js.translateResponse; exports.tryBootstrap = _chunkLNO2JLU3js.tryBootstrap; exports.useComposedRefs = _chunkNPGX2GJDjs.useComposedRefs; exports.useIsMobile = _chunkNPGX2GJDjs.useIsMobile; exports.userObjectSchema = _chunkNPGX2GJDjs.userObjectSchema; exports.usesTwelveHourClock = _chunkHROKKUBQjs.usesTwelveHourClock; exports.validateCodiceFiscale = _chunkNPGX2GJDjs.validateCodiceFiscale; exports.validateItalianTaxCode = _chunkNPGX2GJDjs.validateItalianTaxCode; exports.validatePartitaIva = _chunkNPGX2GJDjs.validatePartitaIva;
|
|
746
746
|
//# sourceMappingURL=index.js.map
|
package/dist/index.mjs
CHANGED
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
isDiscordAuthEnabled,
|
|
21
21
|
isReferralEnabled,
|
|
22
22
|
readSignupSourceFromLocation
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-AMQFKCAX.mjs";
|
|
24
24
|
import {
|
|
25
25
|
configureRoles,
|
|
26
26
|
getRoleId,
|
|
@@ -338,7 +338,7 @@ import {
|
|
|
338
338
|
validateCodiceFiscale,
|
|
339
339
|
validateItalianTaxCode,
|
|
340
340
|
validatePartitaIva
|
|
341
|
-
} from "./chunk-
|
|
341
|
+
} from "./chunk-4JVLLBRS.mjs";
|
|
342
342
|
import {
|
|
343
343
|
dateFormatLocale,
|
|
344
344
|
formatDate,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerSession.d.ts","sourceRoot":"","sources":["../../src/server/ServerSession.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ServerSession.d.ts","sourceRoot":"","sources":["../../src/server/ServerSession.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAA8B,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAS3F,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,qGAAqG;IACrG,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,aAAa;WACX,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC;WAkBhC,QAAQ;WAQR,SAAS;WAKT,MAAM;WAKN,eAAe,CAAC,CAAC,SAAS,qBAAqB,EAAE,MAAM,EAAE;QAAE,MAAM,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE;WAIlG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WASzC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAS/C,qBAAqB,CAAC,CAAC,SAAS,qBAAqB,EAAE,MAAM,EAAE;QAC1E,MAAM,EAAE,CAAC,CAAC;QACV,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,GAAG,CAAC;KACZ,GAAG,OAAO,CAAC,OAAO,CAAC;CAoBrB"}
|
package/dist/server/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunk5H25LM2Zjs = require('../chunk-5H25LM2Z.js');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
var _chunkIK65TDQHjs = require('../chunk-IK65TDQH.js');
|
|
@@ -36,7 +36,7 @@ require('../chunk-G4JR3SFV.js');
|
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
|
|
39
|
-
var
|
|
39
|
+
var _chunkNPGX2GJDjs = require('../chunk-NPGX2GJD.js');
|
|
40
40
|
require('../chunk-HROKKUBQ.js');
|
|
41
41
|
require('../chunk-Z6T2575A.js');
|
|
42
42
|
require('../chunk-3VNDFKT7.js');
|
|
@@ -78,5 +78,5 @@ require('../chunk-7QVYU63E.js');
|
|
|
78
78
|
|
|
79
79
|
|
|
80
80
|
|
|
81
|
-
exports.CACHE_PROFILES = _chunkIK65TDQHjs.CACHE_PROFILES; exports.DEFAULT_SQLITE_MODULE_URL = _chunkWUNSG3INjs.DEFAULT_SQLITE_MODULE_URL; exports.OFFLINE_SQLITE_FILES = _chunkWUNSG3INjs.OFFLINE_SQLITE_FILES; exports.ServerAuthService =
|
|
81
|
+
exports.CACHE_PROFILES = _chunkIK65TDQHjs.CACHE_PROFILES; exports.DEFAULT_SQLITE_MODULE_URL = _chunkWUNSG3INjs.DEFAULT_SQLITE_MODULE_URL; exports.OFFLINE_SQLITE_FILES = _chunkWUNSG3INjs.OFFLINE_SQLITE_FILES; exports.ServerAuthService = _chunkNPGX2GJDjs.AuthService; exports.ServerCompanyService = _chunkNPGX2GJDjs.CompanyService; exports.ServerContentService = _chunkNPGX2GJDjs.ContentService; exports.ServerFeatureService = _chunkNPGX2GJDjs.FeatureService; exports.ServerJsonApiDelete = _chunkN3NQS7X6js.ServerJsonApiDelete; exports.ServerJsonApiGet = _chunkN3NQS7X6js.ServerJsonApiGet; exports.ServerJsonApiPatch = _chunkN3NQS7X6js.ServerJsonApiPatch; exports.ServerJsonApiPost = _chunkN3NQS7X6js.ServerJsonApiPost; exports.ServerJsonApiPut = _chunkN3NQS7X6js.ServerJsonApiPut; exports.ServerNotificationService = _chunkNPGX2GJDjs.NotificationService; exports.ServerPushService = _chunkNPGX2GJDjs.PushService; exports.ServerRoleService = _chunkNPGX2GJDjs.RoleService; exports.ServerS3Service = _chunkNPGX2GJDjs.S3Service; exports.ServerSession = _chunk5H25LM2Zjs.ServerSession; exports.ServerUserService = _chunkNPGX2GJDjs.UserService; exports.buildOfflineManifest = _chunk5H25LM2Zjs.buildOfflineManifest; exports.configureServerJsonApi = _chunkN3NQS7X6js.configureServerJsonApi; exports.getServerApiUrl = _chunkN3NQS7X6js.getServerApiUrl; exports.getServerAppUrl = _chunkN3NQS7X6js.getServerAppUrl; exports.getServerToken = _chunkYUO55Q5Ajs.getServerToken; exports.getServerTrackablePages = _chunkN3NQS7X6js.getServerTrackablePages; exports.invalidateCacheTag = _chunk5H25LM2Zjs.invalidateCacheTag; exports.invalidateCacheTags = _chunk5H25LM2Zjs.invalidateCacheTags; exports.serverRequest = _chunk6TUB7Y6Tjs.serverRequest; exports.updateCacheTag = _chunk5H25LM2Zjs.updateCacheTag;
|
|
82
82
|
//# sourceMappingURL=index.js.map
|
package/dist/server/index.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
invalidateCacheTag,
|
|
5
5
|
invalidateCacheTags,
|
|
6
6
|
updateCacheTag
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-AEBZ67JJ.mjs";
|
|
8
8
|
import {
|
|
9
9
|
CACHE_PROFILES
|
|
10
10
|
} from "../chunk-T7SAW3UW.mjs";
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
RoleService,
|
|
37
37
|
S3Service,
|
|
38
38
|
UserService
|
|
39
|
-
} from "../chunk-
|
|
39
|
+
} from "../chunk-4JVLLBRS.mjs";
|
|
40
40
|
import "../chunk-RW6XZGZG.mjs";
|
|
41
41
|
import "../chunk-W7U6O3OE.mjs";
|
|
42
42
|
import "../chunk-47HNJQ7U.mjs";
|
package/package.json
CHANGED
|
@@ -18,9 +18,15 @@ interface LogoutProps {
|
|
|
18
18
|
* logout: storage, cookies and the current page are left as they are.
|
|
19
19
|
*/
|
|
20
20
|
beforeLogout?: () => Promise<boolean>;
|
|
21
|
+
/**
|
|
22
|
+
* Where to go once logged out: a path inside this app, already locale-resolved
|
|
23
|
+
* (the app's `getPathname` output), e.g. a link the user opened while logged in
|
|
24
|
+
* with another account. Omitted, the home page.
|
|
25
|
+
*/
|
|
26
|
+
redirectTo?: string;
|
|
21
27
|
}
|
|
22
28
|
|
|
23
|
-
export function Logout({ storageKeys, beforeLogout }: LogoutProps) {
|
|
29
|
+
export function Logout({ storageKeys, beforeLogout, redirectTo }: LogoutProps) {
|
|
24
30
|
const generateUrl = usePageUrlGenerator();
|
|
25
31
|
|
|
26
32
|
useEffect(() => {
|
|
@@ -33,7 +39,7 @@ export function Logout({ storageKeys, beforeLogout }: LogoutProps) {
|
|
|
33
39
|
// clearing it is this component's job — never the consuming app's.
|
|
34
40
|
clearClientStorage([CURRENT_USER_STORAGE_KEY, ...(storageKeys ?? [])]);
|
|
35
41
|
await AuthService.logout();
|
|
36
|
-
window.location.href = generateUrl({ page: `/` });
|
|
42
|
+
window.location.href = redirectTo ?? generateUrl({ page: `/` });
|
|
37
43
|
};
|
|
38
44
|
logOut();
|
|
39
45
|
}, []);
|
|
@@ -20,9 +20,6 @@ export function RefreshUser() {
|
|
|
20
20
|
companyId: fullUser.company?.id,
|
|
21
21
|
roles: fullUser.roles.map((role) => role.id),
|
|
22
22
|
features: fullUser.company?.features?.map((feature) => feature.id) ?? [],
|
|
23
|
-
modules: fullUser.modules.map((module) => {
|
|
24
|
-
return { id: module.id, permissions: module.permissions };
|
|
25
|
-
}),
|
|
26
23
|
};
|
|
27
24
|
|
|
28
25
|
await getTokenHandler()?.updateToken(token);
|
|
@@ -8,15 +8,6 @@ export interface TokenParams {
|
|
|
8
8
|
companyId?: string;
|
|
9
9
|
roles?: string[];
|
|
10
10
|
features?: string[];
|
|
11
|
-
modules?: {
|
|
12
|
-
id: string;
|
|
13
|
-
permissions: {
|
|
14
|
-
create: boolean | string;
|
|
15
|
-
read: boolean | string;
|
|
16
|
-
update: boolean | string;
|
|
17
|
-
delete: boolean | string;
|
|
18
|
-
};
|
|
19
|
-
}[];
|
|
20
11
|
}
|
|
21
12
|
|
|
22
13
|
/**
|
|
@@ -59,10 +59,6 @@ export class AuthService extends AbstractService {
|
|
|
59
59
|
companyId: auth.user.company?.id,
|
|
60
60
|
roles: auth.user.roles.map((role) => role.id),
|
|
61
61
|
features: auth.user.company?.features?.map((feature) => feature.id) ?? [],
|
|
62
|
-
modules: auth.user.modules.map((module) => ({
|
|
63
|
-
id: module.id,
|
|
64
|
-
permissions: module.permissions,
|
|
65
|
-
})),
|
|
66
62
|
});
|
|
67
63
|
}
|
|
68
64
|
|
|
@@ -169,10 +165,6 @@ export class AuthService extends AbstractService {
|
|
|
169
165
|
companyId: auth.user.company?.id,
|
|
170
166
|
roles: auth.user.roles.map((role) => role.id),
|
|
171
167
|
features: auth.user.company?.features?.map((feature) => feature.id) ?? [],
|
|
172
|
-
modules: auth.user.modules.map((module) => ({
|
|
173
|
-
id: module.id,
|
|
174
|
-
permissions: module.permissions,
|
|
175
|
-
})),
|
|
176
168
|
});
|
|
177
169
|
}
|
|
178
170
|
}
|
|
@@ -229,10 +229,6 @@ export class TwoFactorService extends AbstractService {
|
|
|
229
229
|
companyId: auth.user.company?.id,
|
|
230
230
|
roles: auth.user.roles.map((role) => role.id),
|
|
231
231
|
features: auth.user.company?.features?.map((feature) => feature.id) ?? [],
|
|
232
|
-
modules: auth.user.modules.map((module) => ({
|
|
233
|
-
id: module.id,
|
|
234
|
-
permissions: module.permissions,
|
|
235
|
-
})),
|
|
236
232
|
});
|
|
237
233
|
}
|
|
238
234
|
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import { ENV } from "../../../core/env";
|
|
4
4
|
import { cookies } from "next/headers";
|
|
5
|
-
import { gzip } from "pako";
|
|
6
5
|
|
|
7
6
|
export async function updateToken(params: {
|
|
8
7
|
token?: string;
|
|
@@ -11,15 +10,6 @@ export async function updateToken(params: {
|
|
|
11
10
|
companyId?: string;
|
|
12
11
|
roles?: string[];
|
|
13
12
|
features?: string[];
|
|
14
|
-
modules?: {
|
|
15
|
-
id: string;
|
|
16
|
-
permissions: {
|
|
17
|
-
create: boolean | string;
|
|
18
|
-
read: boolean | string;
|
|
19
|
-
update: boolean | string;
|
|
20
|
-
delete: boolean | string;
|
|
21
|
-
};
|
|
22
|
-
}[];
|
|
23
13
|
}): Promise<void> {
|
|
24
14
|
const isProduction = ENV.IS_PRODUCTION;
|
|
25
15
|
|
|
@@ -81,19 +71,6 @@ export async function updateToken(params: {
|
|
|
81
71
|
secure: isProduction,
|
|
82
72
|
expires: new Date(Date.now() + 1000 * 60 * 60 * 24 * 365),
|
|
83
73
|
});
|
|
84
|
-
|
|
85
|
-
if (params.modules) {
|
|
86
|
-
const compressedValue = Buffer.from(gzip(JSON.stringify(params.modules))).toString("base64");
|
|
87
|
-
|
|
88
|
-
(await cookies()).set({
|
|
89
|
-
name: "modules",
|
|
90
|
-
value: JSON.stringify(compressedValue),
|
|
91
|
-
httpOnly: true,
|
|
92
|
-
path: "/",
|
|
93
|
-
secure: isProduction,
|
|
94
|
-
expires: new Date(Date.now() + 1000 * 60 * 60 * 24 * 365),
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
74
|
}
|
|
98
75
|
|
|
99
76
|
export async function removeToken(): Promise<void> {
|
|
@@ -115,6 +92,7 @@ export async function removeToken(): Promise<void> {
|
|
|
115
92
|
(await cookies()).delete({
|
|
116
93
|
name: "features",
|
|
117
94
|
});
|
|
95
|
+
// Clears the modules cookie that sessions from older versions still carry.
|
|
118
96
|
(await cookies()).delete({
|
|
119
97
|
name: "modules",
|
|
120
98
|
});
|
|
@@ -173,10 +173,6 @@ export const CurrentUserProvider = ({ children }: { children: React.ReactNode })
|
|
|
173
173
|
companyId: fullUser.company?.id,
|
|
174
174
|
roles: fullUser.roles.map((role) => role.id),
|
|
175
175
|
features: fullUser.company?.features?.map((feature) => feature.id) ?? [],
|
|
176
|
-
modules: fullUser.modules.map((module) => ({
|
|
177
|
-
id: module.id,
|
|
178
|
-
permissions: module.permissions,
|
|
179
|
-
})),
|
|
180
176
|
});
|
|
181
177
|
}
|
|
182
178
|
|
|
@@ -233,6 +233,8 @@ describe("CurrentUserProvider", () => {
|
|
|
233
233
|
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
234
234
|
|
|
235
235
|
expect(updateToken).toHaveBeenCalledTimes(1);
|
|
236
|
+
// Modules no longer travel in a cookie: the server reads them from the api.
|
|
237
|
+
expect((updateToken.mock.calls[0] as unknown[])[0]).not.toHaveProperty("modules");
|
|
236
238
|
expect(getByTestId("current-user-id").textContent).toBe("old");
|
|
237
239
|
|
|
238
240
|
resolveUpdateToken();
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { cookies, headers } from "next/headers";
|
|
2
2
|
import { redirect } from "next/navigation";
|
|
3
3
|
import { userAgent } from "next/server";
|
|
4
|
-
import {
|
|
4
|
+
import { cache } from "react";
|
|
5
|
+
import { UserService } from "../features/user/data/user.service";
|
|
5
6
|
import { Action, checkPermissionsFromServer, ModuleWithPermissions } from "../permissions";
|
|
6
7
|
import { getRoleId } from "../roles/config";
|
|
7
8
|
import { VIEWPORT_COOKIE_NAME } from "../utils/use-mobile";
|
|
8
9
|
|
|
10
|
+
// The user's modules come from the api once per request. They no longer travel in a
|
|
11
|
+
// cookie: a non-admin user's scoped permissions push it past the browser's 4096-byte limit.
|
|
12
|
+
// No `cache` option on the request: it carries the user's token.
|
|
13
|
+
const getCachedFullUser = cache(async () => UserService.findFullUser());
|
|
14
|
+
|
|
9
15
|
export interface SessionSnapshot {
|
|
10
16
|
isLogged: boolean;
|
|
11
17
|
isAdministrator: boolean;
|
|
@@ -88,37 +94,15 @@ export class ServerSession {
|
|
|
88
94
|
if (features && !features.includes(params.module.feature)) return false;
|
|
89
95
|
}
|
|
90
96
|
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const modules: {
|
|
95
|
-
id: string;
|
|
96
|
-
permissions: {
|
|
97
|
-
create: boolean | string;
|
|
98
|
-
read: boolean | string;
|
|
99
|
-
update: boolean | string;
|
|
100
|
-
delete: boolean | string;
|
|
101
|
-
};
|
|
102
|
-
}[] = JSON.parse(ungzip(Buffer.from(rawModules, "base64"), { toText: true }));
|
|
103
|
-
|
|
104
|
-
const selectedModule = modules.find((module) => module.id === params.module.moduleId);
|
|
97
|
+
const user = await getCachedFullUser();
|
|
98
|
+
const selectedModule = user.modules.find((module) => module.id === params.module.moduleId);
|
|
105
99
|
|
|
106
100
|
return checkPermissionsFromServer({
|
|
107
101
|
module: params.module,
|
|
108
102
|
action: params.action,
|
|
109
103
|
data: params.data,
|
|
110
104
|
userId: await this.userId(),
|
|
111
|
-
selectedModule: selectedModule,
|
|
105
|
+
selectedModule: selectedModule ? { id: selectedModule.id, permissions: selectedModule.permissions } : undefined,
|
|
112
106
|
});
|
|
113
|
-
|
|
114
|
-
// if (!selectedModule) return false;
|
|
115
|
-
|
|
116
|
-
// if (!selectedModule.permissions[params.action]) return false;
|
|
117
|
-
// if (typeof selectedModule.permissions[params.action] === "boolean")
|
|
118
|
-
// return selectedModule.permissions[params.action] as boolean;
|
|
119
|
-
|
|
120
|
-
// if (!params.data) return false;
|
|
121
|
-
|
|
122
|
-
// return params.data[selectedModule.permissions[params.action] as string] === this.userId;
|
|
123
107
|
}
|
|
124
108
|
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `hasPermissionToModule` reads the user's modules from `UserService.findFullUser()`,
|
|
5
|
+
* never from a `modules` cookie: a non-admin user's scoped permissions made that
|
|
6
|
+
* cookie larger than the browser's 4096-byte limit, so it was dropped and every
|
|
7
|
+
* check denied. No test here sets a `modules` cookie.
|
|
8
|
+
*/
|
|
9
|
+
const mocks = vi.hoisted(() => ({
|
|
10
|
+
cookies: {} as Record<string, string>,
|
|
11
|
+
findFullUser: vi.fn(),
|
|
12
|
+
}));
|
|
13
|
+
|
|
14
|
+
vi.mock("next/headers", () => ({
|
|
15
|
+
cookies: async () => ({
|
|
16
|
+
get: (name: string) => (name in mocks.cookies ? { name, value: mocks.cookies[name] } : undefined),
|
|
17
|
+
}),
|
|
18
|
+
headers: async () => new Headers(),
|
|
19
|
+
}));
|
|
20
|
+
vi.mock("next/server", () => ({ userAgent: vi.fn(() => ({ device: {} })) }));
|
|
21
|
+
vi.mock("next/navigation", () => ({ redirect: vi.fn() }));
|
|
22
|
+
vi.mock("../../features/user/data/user.service", () => ({
|
|
23
|
+
UserService: { findFullUser: mocks.findFullUser },
|
|
24
|
+
}));
|
|
25
|
+
|
|
26
|
+
import { Action, type ModuleWithPermissions } from "../../permissions";
|
|
27
|
+
import { ServerSession } from "../ServerSession";
|
|
28
|
+
|
|
29
|
+
const MODULE = { name: "proceedings", model: class {}, moduleId: "module-proceeding" } as ModuleWithPermissions;
|
|
30
|
+
|
|
31
|
+
const userWith = (permissions: Record<string, boolean | string>) => ({
|
|
32
|
+
id: "user-1",
|
|
33
|
+
modules: [
|
|
34
|
+
{
|
|
35
|
+
id: "module-proceeding",
|
|
36
|
+
permissions: { create: false, read: false, update: false, delete: false, ...permissions },
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
describe("ServerSession.hasPermissionToModule", () => {
|
|
42
|
+
beforeEach(() => {
|
|
43
|
+
mocks.cookies = { userId: "user-1" };
|
|
44
|
+
mocks.findFullUser.mockReset();
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
it("allows read when the full user's module grants read: true", async () => {
|
|
48
|
+
mocks.findFullUser.mockResolvedValue(userWith({ read: true }));
|
|
49
|
+
|
|
50
|
+
await expect(ServerSession.hasPermissionToModule({ module: MODULE, action: Action.Read })).resolves.toBe(true);
|
|
51
|
+
expect(mocks.findFullUser).toHaveBeenCalled();
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it("allows read for a scoped permission when no data is passed", async () => {
|
|
55
|
+
mocks.findFullUser.mockResolvedValue(userWith({ read: "owner|proceeding.owner|proceeding.users" }));
|
|
56
|
+
|
|
57
|
+
await expect(ServerSession.hasPermissionToModule({ module: MODULE, action: Action.Read })).resolves.toBe(true);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it("denies when the full user lacks the module", async () => {
|
|
61
|
+
mocks.findFullUser.mockResolvedValue({ id: "user-1", modules: [] });
|
|
62
|
+
|
|
63
|
+
await expect(ServerSession.hasPermissionToModule({ module: MODULE, action: Action.Read })).resolves.toBe(false);
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
it("denies without loading the user when the features cookie lacks the module's feature", async () => {
|
|
67
|
+
mocks.cookies.features = JSON.stringify(["feature-other"]);
|
|
68
|
+
mocks.findFullUser.mockResolvedValue(userWith({ read: true }));
|
|
69
|
+
|
|
70
|
+
await expect(
|
|
71
|
+
ServerSession.hasPermissionToModule({
|
|
72
|
+
module: { ...MODULE, feature: "feature-proceedings" } as ModuleWithPermissions,
|
|
73
|
+
action: Action.Read,
|
|
74
|
+
}),
|
|
75
|
+
).resolves.toBe(false);
|
|
76
|
+
expect(mocks.findFullUser).not.toHaveBeenCalled();
|
|
77
|
+
});
|
|
78
|
+
});
|