@carlonicora/nextjs-jsonapi 1.62.0 → 1.64.0
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-QQ4XFT4G.js → BlockNoteEditor-JF757BHH.js} +14 -14
- package/dist/{BlockNoteEditor-QQ4XFT4G.js.map → BlockNoteEditor-JF757BHH.js.map} +1 -1
- package/dist/{BlockNoteEditor-TS62AHRY.mjs → BlockNoteEditor-ZO3ZAPXU.mjs} +4 -4
- package/dist/billing/index.js +346 -346
- package/dist/billing/index.mjs +3 -3
- package/dist/{chunk-BQSMP4NU.js → chunk-2DFE325P.js} +11 -11
- package/dist/{chunk-BQSMP4NU.js.map → chunk-2DFE325P.js.map} +1 -1
- package/dist/{chunk-K3DKXOEU.mjs → chunk-55FJ5WKS.mjs} +1172 -1224
- package/dist/chunk-55FJ5WKS.mjs.map +1 -0
- package/dist/{chunk-ZRKQQLYI.js → chunk-5LZGQXBD.js} +769 -821
- package/dist/chunk-5LZGQXBD.js.map +1 -0
- package/dist/{chunk-NAST4OSM.js → chunk-6YKYRKVU.js} +8 -2
- package/dist/chunk-6YKYRKVU.js.map +1 -0
- package/dist/{chunk-HRG4EAOG.mjs → chunk-PBD6ZH46.mjs} +2 -2
- package/dist/{chunk-YHNDD34Z.mjs → chunk-REWN5GZP.mjs} +8 -2
- package/dist/{chunk-YHNDD34Z.mjs.map → chunk-REWN5GZP.mjs.map} +1 -1
- package/dist/client/index.js +4 -4
- package/dist/client/index.mjs +3 -3
- package/dist/components/index.d.mts +11 -8
- package/dist/components/index.d.ts +11 -8
- package/dist/components/index.js +4 -6
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +3 -5
- package/dist/contexts/index.d.mts +2 -1
- package/dist/contexts/index.d.ts +2 -1
- 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/index.js +3 -3
- package/dist/index.mjs +2 -2
- package/dist/scripts/generate-web-module/templates/components/selector.template.d.ts.map +1 -1
- package/dist/scripts/generate-web-module/templates/components/selector.template.js +52 -48
- package/dist/scripts/generate-web-module/templates/components/selector.template.js.map +1 -1
- package/dist/server/index.js +3 -3
- package/dist/server/index.mjs +1 -1
- package/package.json +1 -1
- package/scripts/generate-web-module/templates/components/selector.template.ts +52 -48
- package/src/features/company/company.module.ts +3 -1
- package/src/features/company/components/containers/CompanyContainer.tsx +7 -2
- package/src/features/company/components/details/CompanyDetails.tsx +16 -1
- package/src/features/company/components/forms/CompanyConfigurationEditor.tsx +19 -51
- package/src/features/company/components/forms/index.ts +0 -1
- package/src/features/company/contexts/CompanyContext.tsx +5 -3
- package/src/features/user/user.module.ts +3 -1
- package/dist/chunk-K3DKXOEU.mjs.map +0 -1
- package/dist/chunk-NAST4OSM.js.map +0 -1
- package/dist/chunk-ZRKQQLYI.js.map +0 -1
- package/src/features/company/components/forms/CompanyConfigurationSecurityForm.tsx +0 -83
- /package/dist/{BlockNoteEditor-TS62AHRY.mjs.map → BlockNoteEditor-ZO3ZAPXU.mjs.map} +0 -0
- /package/dist/{chunk-HRG4EAOG.mjs.map → chunk-PBD6ZH46.mjs.map} +0 -0
package/dist/billing/index.mjs
CHANGED
|
@@ -47,11 +47,11 @@ import {
|
|
|
47
47
|
TabsList,
|
|
48
48
|
TabsTrigger,
|
|
49
49
|
useCurrentUserContext
|
|
50
|
-
} from "../chunk-
|
|
50
|
+
} from "../chunk-55FJ5WKS.mjs";
|
|
51
51
|
import {
|
|
52
52
|
getRoleId,
|
|
53
53
|
getStripePublishableKey
|
|
54
|
-
} from "../chunk-
|
|
54
|
+
} from "../chunk-PBD6ZH46.mjs";
|
|
55
55
|
import {
|
|
56
56
|
FeatureService,
|
|
57
57
|
StripeCustomerService,
|
|
@@ -62,7 +62,7 @@ import {
|
|
|
62
62
|
StripeSubscriptionService,
|
|
63
63
|
StripeUsageService,
|
|
64
64
|
cn
|
|
65
|
-
} from "../chunk-
|
|
65
|
+
} from "../chunk-REWN5GZP.mjs";
|
|
66
66
|
import "../chunk-AUXK7QSA.mjs";
|
|
67
67
|
import "../chunk-C7C7VY4F.mjs";
|
|
68
68
|
import "../chunk-BTKJFMFL.mjs";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunk6YKYRKVUjs = require('./chunk-6YKYRKVU.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
var _chunk4MN547K7js = require('./chunk-4MN547K7.js');
|
|
@@ -190,38 +190,38 @@ var COMPANY_ADMINISTRATOR_ROLE_ID = "2e1eee00-6cba-4506-9059-ccd24e4ea5b0";
|
|
|
190
190
|
var ACTION_TYPES = ["read", "create", "update", "delete"];
|
|
191
191
|
|
|
192
192
|
// src/features/rbac/data/RbacService.ts
|
|
193
|
-
var RbacService = class extends
|
|
193
|
+
var RbacService = class extends _chunk6YKYRKVUjs.AbstractService {
|
|
194
194
|
static {
|
|
195
195
|
_chunk7QVYU63Ejs.__name.call(void 0, this, "RbacService");
|
|
196
196
|
}
|
|
197
197
|
static async getFeatures() {
|
|
198
|
-
const endpoint = new (0,
|
|
198
|
+
const endpoint = new (0, _chunk6YKYRKVUjs.EndpointCreator)({ endpoint: _chunk6YKYRKVUjs.Modules.Feature }).addAdditionalParam("fetchAll", "true");
|
|
199
199
|
return this.callApi({
|
|
200
|
-
type:
|
|
200
|
+
type: _chunk6YKYRKVUjs.Modules.Feature,
|
|
201
201
|
method: "GET" /* GET */,
|
|
202
202
|
endpoint: endpoint.generate()
|
|
203
203
|
});
|
|
204
204
|
}
|
|
205
205
|
static async getRoles() {
|
|
206
|
-
const endpoint = new (0,
|
|
206
|
+
const endpoint = new (0, _chunk6YKYRKVUjs.EndpointCreator)({ endpoint: _chunk6YKYRKVUjs.Modules.Role }).addAdditionalParam("fetchAll", "true");
|
|
207
207
|
return this.callApi({
|
|
208
|
-
type:
|
|
208
|
+
type: _chunk6YKYRKVUjs.Modules.Role,
|
|
209
209
|
method: "GET" /* GET */,
|
|
210
210
|
endpoint: endpoint.generate()
|
|
211
211
|
});
|
|
212
212
|
}
|
|
213
213
|
static async getPermissionMappings() {
|
|
214
|
-
const endpoint = new (0,
|
|
214
|
+
const endpoint = new (0, _chunk6YKYRKVUjs.EndpointCreator)({ endpoint: _chunk6YKYRKVUjs.Modules.PermissionMapping });
|
|
215
215
|
return this.callApi({
|
|
216
|
-
type:
|
|
216
|
+
type: _chunk6YKYRKVUjs.Modules.PermissionMapping,
|
|
217
217
|
method: "GET" /* GET */,
|
|
218
218
|
endpoint: endpoint.generate()
|
|
219
219
|
});
|
|
220
220
|
}
|
|
221
221
|
static async getModuleRelationshipPaths() {
|
|
222
|
-
const endpoint = new (0,
|
|
222
|
+
const endpoint = new (0, _chunk6YKYRKVUjs.EndpointCreator)({ endpoint: _chunk6YKYRKVUjs.Modules.ModulePaths });
|
|
223
223
|
return this.callApi({
|
|
224
|
-
type:
|
|
224
|
+
type: _chunk6YKYRKVUjs.Modules.ModulePaths,
|
|
225
225
|
method: "GET" /* GET */,
|
|
226
226
|
endpoint: endpoint.generate()
|
|
227
227
|
});
|
|
@@ -259,4 +259,4 @@ var RbacService = class extends _chunkNAST4OSMjs.AbstractService {
|
|
|
259
259
|
|
|
260
260
|
|
|
261
261
|
exports.configureJsonApi = configureJsonApi; exports.configureClientConfig = configureClientConfig; exports.getApiUrl = getApiUrl; exports.getAppUrl = getAppUrl; exports.getTrackablePages = getTrackablePages; exports.getStripePublishableKey = getStripePublishableKey; exports.configureI18n = configureI18n; exports.useI18nRouter = useI18nRouter; exports.useI18nTranslations = useI18nTranslations; exports.getI18nLink = getI18nLink; exports.useI18nLocale = useI18nLocale; exports.useI18nDateFnsLocale = useI18nDateFnsLocale; exports.configureLogin = configureLogin; exports.isDiscordAuthEnabled = isDiscordAuthEnabled; exports.isGoogleAuthEnabled = isGoogleAuthEnabled; exports.isInternalAuthEnabled = isInternalAuthEnabled; exports.isRegistrationAllowed = isRegistrationAllowed; exports.getRegistrationMode = getRegistrationMode; exports.configureRoles = configureRoles; exports.getRoleId = getRoleId; exports.isRolesConfigured = isRolesConfigured; exports.configureWaitlist = configureWaitlist; exports.getWaitlistConfig = getWaitlistConfig; exports.configureReferral = configureReferral; exports.getReferralConfig = getReferralConfig; exports.isReferralEnabled = isReferralEnabled; exports.COMPANY_ADMINISTRATOR_ROLE_ID = COMPANY_ADMINISTRATOR_ROLE_ID; exports.ACTION_TYPES = ACTION_TYPES; exports.RbacService = RbacService;
|
|
262
|
-
//# sourceMappingURL=chunk-
|
|
262
|
+
//# sourceMappingURL=chunk-2DFE325P.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-BQSMP4NU.js","../src/client/config.ts","../src/i18n/config.ts","../src/login/config.ts","../src/roles/config.ts","../src/features/waitlist/config/waitlist.config.ts","../src/features/referral/config.ts","../src/features/rbac/data/RbacTypes.ts","../src/features/rbac/data/RbacService.ts"],"names":[],"mappings":"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","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-BQSMP4NU.js","sourcesContent":[null,"\"use client\";\n\nimport { ModuleWithPermissions } from \"../permissions/types\";\nimport { setBootstrapper } from \"../core/registry/bootstrapStore\";\n\n// Config storage for client-side contexts\nlet _clientConfig: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n stripePublishableKey?: string;\n} | null = null;\n\n/**\n * Configure the JSON:API client. This is the main configuration function.\n * This is typically called during app initialization.\n */\nexport function configureJsonApi(config: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n stripePublishableKey?: string;\n}): void {\n _clientConfig = config;\n // Register and call bootstrapper to register all modules\n if (config.bootstrapper) {\n setBootstrapper(config.bootstrapper);\n config.bootstrapper();\n }\n}\n\n/**\n * Configure the client config. This is typically called during app initialization.\n * @deprecated Use configureJsonApi instead\n */\nexport function configureClientConfig(config: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n}): void {\n _clientConfig = config;\n}\n\n/**\n * Get the configured API URL.\n */\nexport function getApiUrl(): string {\n if (_clientConfig?.apiUrl) {\n return _clientConfig.apiUrl;\n }\n if (typeof process !== \"undefined\" && process.env?.NEXT_PUBLIC_API_URL) {\n return process.env.NEXT_PUBLIC_API_URL;\n }\n return \"\";\n}\n\n/**\n * Get the configured app URL.\n */\nexport function getAppUrl(): string {\n if (_clientConfig?.appUrl) {\n return _clientConfig.appUrl;\n }\n if (typeof process !== \"undefined\" && process.env?.NEXT_PUBLIC_APP_URL) {\n return process.env.NEXT_PUBLIC_APP_URL;\n }\n if (typeof window !== \"undefined\") {\n return window.location.origin;\n }\n return \"\";\n}\n\n/**\n * Get the configured trackable pages.\n */\nexport function getTrackablePages(): ModuleWithPermissions[] {\n return _clientConfig?.trackablePages ?? [];\n}\n\n/**\n * Get the configured Stripe publishable key.\n */\nexport function getStripePublishableKey(): string | undefined {\n return _clientConfig?.stripePublishableKey;\n}\n","import { ComponentType } from \"react\";\n\n// Types for injected hooks\nexport interface I18nRouter {\n push: (href: string) => void;\n replace: (href: string) => void;\n back: () => void;\n forward: () => void;\n refresh: () => void;\n prefetch: (href: string) => void;\n}\n\nexport type UseRouterHook = () => I18nRouter;\nexport type UseTranslationsHook = (namespace?: string) => (key: string, values?: Record<string, any>) => string;\nexport type UseLocaleHook = () => string;\n\nexport type UseDateFnsLocaleHook = () => any; // date-fns Locale type\nexport type LinkComponent = ComponentType<{ href: string; children: React.ReactNode; [key: string]: any }>;\n\nexport interface I18nConfig {\n useRouter: UseRouterHook;\n useTranslations: UseTranslationsHook;\n useLocale?: UseLocaleHook;\n useDateFnsLocale?: UseDateFnsLocaleHook;\n Link: LinkComponent;\n usePathname: () => string;\n}\n\n// Private storage\nlet _config: I18nConfig | null = null;\n\n// Configuration function (called by app at startup)\nexport function configureI18n(config: I18nConfig): void {\n _config = config;\n}\n\n// Hooks for library components to use\nexport function useI18nRouter(): I18nRouter {\n if (!_config?.useRouter) {\n throw new Error(\"i18n not configured. Call configureI18n() at app startup.\");\n }\n return _config.useRouter();\n}\n\nexport function useI18nTranslations(namespace?: string): (key: string, values?: Record<string, any>) => string {\n if (!_config?.useTranslations) {\n // Fallback: return key as-is (safe for server/client)\n return (key: string) => key;\n }\n return _config.useTranslations(namespace);\n}\n\nexport function getI18nLink(): LinkComponent {\n if (!_config?.Link) {\n throw new Error(\"i18n not configured. Call configureI18n() at app startup.\");\n }\n return _config.Link;\n}\n\nexport function useI18nLocale(): string {\n if (_config?.useLocale) {\n return _config.useLocale();\n }\n // Fallback to English (safe for server/client)\n return \"en\";\n}\n\nexport function useI18nDateFnsLocale(): any {\n if (_config?.useDateFnsLocale) {\n return _config.useDateFnsLocale();\n }\n // Fallback to undefined (Calendar will use default)\n return undefined;\n}\n","let _useDiscordAuth: boolean = false;\nlet _useGoogleAuth: boolean = false;\nlet _useInternalAuth: boolean = true;\nlet _allowRegistration: boolean = true;\nlet _registrationMode: \"open\" | \"closed\" | \"waitlist\" = \"open\";\n\nexport type RegistrationMode = \"open\" | \"closed\" | \"waitlist\";\n\nexport interface LoginConfig {\n discordClientId?: string;\n googleClientId?: string;\n useInternalAuth?: boolean;\n allowRegistration?: boolean;\n registrationMode?: RegistrationMode;\n}\n\nexport function configureLogin(params: LoginConfig): void {\n _useDiscordAuth = !!params.discordClientId;\n _useGoogleAuth = !!params.googleClientId;\n _useInternalAuth = params.useInternalAuth ?? true;\n _allowRegistration = params.allowRegistration ?? true;\n _registrationMode = params.registrationMode ?? \"open\";\n}\n\nexport function isDiscordAuthEnabled(): boolean {\n return _useDiscordAuth;\n}\n\nexport function isGoogleAuthEnabled(): boolean {\n return _useGoogleAuth;\n}\n\nexport function isInternalAuthEnabled(): boolean {\n return _useInternalAuth;\n}\n\nexport function isRegistrationAllowed(): boolean {\n return _allowRegistration;\n}\n\nexport function getRegistrationMode(): RegistrationMode {\n return _registrationMode;\n}\n","/**\n * Role ID configuration interface\n * Apps provide their role IDs via configureRoles()\n */\nexport interface RoleIdConfig {\n Administrator: string;\n CompanyAdministrator: string;\n [key: string]: string; // Allow additional roles\n}\n\n// Private storage for the injected role IDs\nlet _roleId: RoleIdConfig | null = null;\n\n/**\n * Configure role IDs for the library\n * Call this at app startup to provide role ID constants\n *\n * @example\n * ```typescript\n * import { configureRoles } from \"@carlonicora/nextjs-jsonapi\";\n * import { RoleId } from \"@phlow/shared\";\n *\n * configureRoles(RoleId);\n * ```\n */\nexport function configureRoles(roleId: RoleIdConfig): void {\n _roleId = roleId;\n}\n\n/**\n * Get configured role IDs\n * @throws Error if roles not configured\n */\nexport function getRoleId(): RoleIdConfig {\n if (!_roleId) {\n throw new Error(\"Roles not configured. Call configureRoles() at app startup.\");\n }\n return _roleId;\n}\n\n/**\n * Check if roles have been configured\n */\nexport function isRolesConfigured(): boolean {\n return _roleId !== null;\n}\n","export type QuestionnaireFieldType = \"text\" | \"textarea\" | \"select\" | \"checkbox\";\n\nexport interface QuestionnaireOption {\n value: string;\n label: string;\n description?: string;\n}\n\nexport interface QuestionnaireField {\n id: string;\n type: QuestionnaireFieldType;\n label: string;\n description?: string;\n placeholder?: string;\n required?: boolean;\n options?: QuestionnaireOption[];\n}\n\nexport interface WaitlistConfig {\n questionnaire?: QuestionnaireField[];\n heroTitle?: string;\n heroSubtitle?: string;\n heroDescription?: string;\n benefits?: string[];\n}\n\nlet _waitlistConfig: WaitlistConfig = {};\n\nexport function configureWaitlist(config: WaitlistConfig): void {\n _waitlistConfig = config;\n}\n\nexport function getWaitlistConfig(): WaitlistConfig {\n return _waitlistConfig;\n}\n","/**\n * Configuration interface for frontend referral feature.\n */\nexport interface ReferralConfig {\n /**\n * Whether the referral feature is enabled.\n * When false, components render nothing and hooks return null.\n * @default false\n */\n enabled?: boolean;\n\n /**\n * Name of the cookie used to store referral codes.\n * @default \"referral_code\"\n */\n cookieName?: string;\n\n /**\n * Number of days the referral cookie is valid.\n * @default 30\n */\n cookieDays?: number;\n\n /**\n * Query parameter name for referral code in URL.\n * @default \"ref\"\n */\n urlParamName?: string;\n\n /**\n * Base URL for referral links.\n * @default window.location.origin (client-side only)\n */\n referralUrlBase?: string;\n\n /**\n * Path to append to base URL for referral links.\n * @default \"/\"\n */\n referralPath?: string;\n}\n\n/**\n * Default configuration values\n */\nexport const DEFAULT_REFERRAL_CONFIG: Required<ReferralConfig> = {\n enabled: false,\n cookieName: \"referral_code\",\n cookieDays: 30,\n urlParamName: \"ref\",\n referralUrlBase: \"\",\n referralPath: \"/\",\n};\n\n// Private storage for configuration\nlet _referralConfig: Required<ReferralConfig> = { ...DEFAULT_REFERRAL_CONFIG };\n\n/**\n * Configure referral feature settings.\n * Call this at app startup to enable and configure referral functionality.\n *\n * @example\n * ```typescript\n * import { configureReferral } from \"@carlonicora/nextjs-jsonapi\";\n *\n * configureReferral({\n * enabled: process.env.NEXT_PUBLIC_REFERRAL_ENABLED === 'true',\n * cookieDays: 30,\n * });\n * ```\n */\nexport function configureReferral(config: ReferralConfig): void {\n _referralConfig = { ...DEFAULT_REFERRAL_CONFIG, ...config };\n}\n\n/**\n * Get the current referral configuration.\n * @internal\n */\nexport function getReferralConfig(): Required<ReferralConfig> {\n return _referralConfig;\n}\n\n/**\n * Check if referral feature is enabled.\n */\nexport function isReferralEnabled(): boolean {\n return _referralConfig.enabled;\n}\n","export const COMPANY_ADMINISTRATOR_ROLE_ID = \"2e1eee00-6cba-4506-9059-ccd24e4ea5b0\";\n\nexport type PermissionValue = boolean | string;\n\nexport type ActionType = \"read\" | \"create\" | \"update\" | \"delete\";\n\nexport const ACTION_TYPES: ActionType[] = [\"read\", \"create\", \"update\", \"delete\"];\n\n/** The permissions object shape used by both Module and PermissionMapping entities */\nexport type PermissionsMap = {\n create?: PermissionValue;\n read?: PermissionValue;\n update?: PermissionValue;\n delete?: PermissionValue;\n};\n","import { AbstractService, EndpointCreator, HttpMethod, Modules } from \"../../../core\";\nimport { FeatureInterface } from \"../../feature\";\nimport { RoleInterface } from \"../../role\";\nimport { PermissionMappingInterface } from \"./PermissionMappingInterface\";\nimport { ModulePathsInterface } from \"./ModulePathsInterface\";\n\nexport class RbacService extends AbstractService {\n static async getFeatures(): Promise<FeatureInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Feature }).addAdditionalParam(\"fetchAll\", \"true\");\n\n return this.callApi<FeatureInterface[]>({\n type: Modules.Feature,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n });\n }\n\n static async getRoles(): Promise<RoleInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Role }).addAdditionalParam(\"fetchAll\", \"true\");\n\n return this.callApi<RoleInterface[]>({\n type: Modules.Role,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n });\n }\n\n static async getPermissionMappings(): Promise<PermissionMappingInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.PermissionMapping });\n\n return this.callApi<PermissionMappingInterface[]>({\n type: Modules.PermissionMapping,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n });\n }\n\n static async getModuleRelationshipPaths(): Promise<ModulePathsInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.ModulePaths });\n\n return this.callApi<ModulePathsInterface[]>({\n type: Modules.ModulePaths,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-2DFE325P.js","../src/client/config.ts","../src/i18n/config.ts","../src/login/config.ts","../src/roles/config.ts","../src/features/waitlist/config/waitlist.config.ts","../src/features/referral/config.ts","../src/features/rbac/data/RbacTypes.ts","../src/features/rbac/data/RbacService.ts"],"names":[],"mappings":"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","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-2DFE325P.js","sourcesContent":[null,"\"use client\";\n\nimport { ModuleWithPermissions } from \"../permissions/types\";\nimport { setBootstrapper } from \"../core/registry/bootstrapStore\";\n\n// Config storage for client-side contexts\nlet _clientConfig: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n stripePublishableKey?: string;\n} | null = null;\n\n/**\n * Configure the JSON:API client. This is the main configuration function.\n * This is typically called during app initialization.\n */\nexport function configureJsonApi(config: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n stripePublishableKey?: string;\n}): void {\n _clientConfig = config;\n // Register and call bootstrapper to register all modules\n if (config.bootstrapper) {\n setBootstrapper(config.bootstrapper);\n config.bootstrapper();\n }\n}\n\n/**\n * Configure the client config. This is typically called during app initialization.\n * @deprecated Use configureJsonApi instead\n */\nexport function configureClientConfig(config: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n}): void {\n _clientConfig = config;\n}\n\n/**\n * Get the configured API URL.\n */\nexport function getApiUrl(): string {\n if (_clientConfig?.apiUrl) {\n return _clientConfig.apiUrl;\n }\n if (typeof process !== \"undefined\" && process.env?.NEXT_PUBLIC_API_URL) {\n return process.env.NEXT_PUBLIC_API_URL;\n }\n return \"\";\n}\n\n/**\n * Get the configured app URL.\n */\nexport function getAppUrl(): string {\n if (_clientConfig?.appUrl) {\n return _clientConfig.appUrl;\n }\n if (typeof process !== \"undefined\" && process.env?.NEXT_PUBLIC_APP_URL) {\n return process.env.NEXT_PUBLIC_APP_URL;\n }\n if (typeof window !== \"undefined\") {\n return window.location.origin;\n }\n return \"\";\n}\n\n/**\n * Get the configured trackable pages.\n */\nexport function getTrackablePages(): ModuleWithPermissions[] {\n return _clientConfig?.trackablePages ?? [];\n}\n\n/**\n * Get the configured Stripe publishable key.\n */\nexport function getStripePublishableKey(): string | undefined {\n return _clientConfig?.stripePublishableKey;\n}\n","import { ComponentType } from \"react\";\n\n// Types for injected hooks\nexport interface I18nRouter {\n push: (href: string) => void;\n replace: (href: string) => void;\n back: () => void;\n forward: () => void;\n refresh: () => void;\n prefetch: (href: string) => void;\n}\n\nexport type UseRouterHook = () => I18nRouter;\nexport type UseTranslationsHook = (namespace?: string) => (key: string, values?: Record<string, any>) => string;\nexport type UseLocaleHook = () => string;\n\nexport type UseDateFnsLocaleHook = () => any; // date-fns Locale type\nexport type LinkComponent = ComponentType<{ href: string; children: React.ReactNode; [key: string]: any }>;\n\nexport interface I18nConfig {\n useRouter: UseRouterHook;\n useTranslations: UseTranslationsHook;\n useLocale?: UseLocaleHook;\n useDateFnsLocale?: UseDateFnsLocaleHook;\n Link: LinkComponent;\n usePathname: () => string;\n}\n\n// Private storage\nlet _config: I18nConfig | null = null;\n\n// Configuration function (called by app at startup)\nexport function configureI18n(config: I18nConfig): void {\n _config = config;\n}\n\n// Hooks for library components to use\nexport function useI18nRouter(): I18nRouter {\n if (!_config?.useRouter) {\n throw new Error(\"i18n not configured. Call configureI18n() at app startup.\");\n }\n return _config.useRouter();\n}\n\nexport function useI18nTranslations(namespace?: string): (key: string, values?: Record<string, any>) => string {\n if (!_config?.useTranslations) {\n // Fallback: return key as-is (safe for server/client)\n return (key: string) => key;\n }\n return _config.useTranslations(namespace);\n}\n\nexport function getI18nLink(): LinkComponent {\n if (!_config?.Link) {\n throw new Error(\"i18n not configured. Call configureI18n() at app startup.\");\n }\n return _config.Link;\n}\n\nexport function useI18nLocale(): string {\n if (_config?.useLocale) {\n return _config.useLocale();\n }\n // Fallback to English (safe for server/client)\n return \"en\";\n}\n\nexport function useI18nDateFnsLocale(): any {\n if (_config?.useDateFnsLocale) {\n return _config.useDateFnsLocale();\n }\n // Fallback to undefined (Calendar will use default)\n return undefined;\n}\n","let _useDiscordAuth: boolean = false;\nlet _useGoogleAuth: boolean = false;\nlet _useInternalAuth: boolean = true;\nlet _allowRegistration: boolean = true;\nlet _registrationMode: \"open\" | \"closed\" | \"waitlist\" = \"open\";\n\nexport type RegistrationMode = \"open\" | \"closed\" | \"waitlist\";\n\nexport interface LoginConfig {\n discordClientId?: string;\n googleClientId?: string;\n useInternalAuth?: boolean;\n allowRegistration?: boolean;\n registrationMode?: RegistrationMode;\n}\n\nexport function configureLogin(params: LoginConfig): void {\n _useDiscordAuth = !!params.discordClientId;\n _useGoogleAuth = !!params.googleClientId;\n _useInternalAuth = params.useInternalAuth ?? true;\n _allowRegistration = params.allowRegistration ?? true;\n _registrationMode = params.registrationMode ?? \"open\";\n}\n\nexport function isDiscordAuthEnabled(): boolean {\n return _useDiscordAuth;\n}\n\nexport function isGoogleAuthEnabled(): boolean {\n return _useGoogleAuth;\n}\n\nexport function isInternalAuthEnabled(): boolean {\n return _useInternalAuth;\n}\n\nexport function isRegistrationAllowed(): boolean {\n return _allowRegistration;\n}\n\nexport function getRegistrationMode(): RegistrationMode {\n return _registrationMode;\n}\n","/**\n * Role ID configuration interface\n * Apps provide their role IDs via configureRoles()\n */\nexport interface RoleIdConfig {\n Administrator: string;\n CompanyAdministrator: string;\n [key: string]: string; // Allow additional roles\n}\n\n// Private storage for the injected role IDs\nlet _roleId: RoleIdConfig | null = null;\n\n/**\n * Configure role IDs for the library\n * Call this at app startup to provide role ID constants\n *\n * @example\n * ```typescript\n * import { configureRoles } from \"@carlonicora/nextjs-jsonapi\";\n * import { RoleId } from \"@phlow/shared\";\n *\n * configureRoles(RoleId);\n * ```\n */\nexport function configureRoles(roleId: RoleIdConfig): void {\n _roleId = roleId;\n}\n\n/**\n * Get configured role IDs\n * @throws Error if roles not configured\n */\nexport function getRoleId(): RoleIdConfig {\n if (!_roleId) {\n throw new Error(\"Roles not configured. Call configureRoles() at app startup.\");\n }\n return _roleId;\n}\n\n/**\n * Check if roles have been configured\n */\nexport function isRolesConfigured(): boolean {\n return _roleId !== null;\n}\n","export type QuestionnaireFieldType = \"text\" | \"textarea\" | \"select\" | \"checkbox\";\n\nexport interface QuestionnaireOption {\n value: string;\n label: string;\n description?: string;\n}\n\nexport interface QuestionnaireField {\n id: string;\n type: QuestionnaireFieldType;\n label: string;\n description?: string;\n placeholder?: string;\n required?: boolean;\n options?: QuestionnaireOption[];\n}\n\nexport interface WaitlistConfig {\n questionnaire?: QuestionnaireField[];\n heroTitle?: string;\n heroSubtitle?: string;\n heroDescription?: string;\n benefits?: string[];\n}\n\nlet _waitlistConfig: WaitlistConfig = {};\n\nexport function configureWaitlist(config: WaitlistConfig): void {\n _waitlistConfig = config;\n}\n\nexport function getWaitlistConfig(): WaitlistConfig {\n return _waitlistConfig;\n}\n","/**\n * Configuration interface for frontend referral feature.\n */\nexport interface ReferralConfig {\n /**\n * Whether the referral feature is enabled.\n * When false, components render nothing and hooks return null.\n * @default false\n */\n enabled?: boolean;\n\n /**\n * Name of the cookie used to store referral codes.\n * @default \"referral_code\"\n */\n cookieName?: string;\n\n /**\n * Number of days the referral cookie is valid.\n * @default 30\n */\n cookieDays?: number;\n\n /**\n * Query parameter name for referral code in URL.\n * @default \"ref\"\n */\n urlParamName?: string;\n\n /**\n * Base URL for referral links.\n * @default window.location.origin (client-side only)\n */\n referralUrlBase?: string;\n\n /**\n * Path to append to base URL for referral links.\n * @default \"/\"\n */\n referralPath?: string;\n}\n\n/**\n * Default configuration values\n */\nexport const DEFAULT_REFERRAL_CONFIG: Required<ReferralConfig> = {\n enabled: false,\n cookieName: \"referral_code\",\n cookieDays: 30,\n urlParamName: \"ref\",\n referralUrlBase: \"\",\n referralPath: \"/\",\n};\n\n// Private storage for configuration\nlet _referralConfig: Required<ReferralConfig> = { ...DEFAULT_REFERRAL_CONFIG };\n\n/**\n * Configure referral feature settings.\n * Call this at app startup to enable and configure referral functionality.\n *\n * @example\n * ```typescript\n * import { configureReferral } from \"@carlonicora/nextjs-jsonapi\";\n *\n * configureReferral({\n * enabled: process.env.NEXT_PUBLIC_REFERRAL_ENABLED === 'true',\n * cookieDays: 30,\n * });\n * ```\n */\nexport function configureReferral(config: ReferralConfig): void {\n _referralConfig = { ...DEFAULT_REFERRAL_CONFIG, ...config };\n}\n\n/**\n * Get the current referral configuration.\n * @internal\n */\nexport function getReferralConfig(): Required<ReferralConfig> {\n return _referralConfig;\n}\n\n/**\n * Check if referral feature is enabled.\n */\nexport function isReferralEnabled(): boolean {\n return _referralConfig.enabled;\n}\n","export const COMPANY_ADMINISTRATOR_ROLE_ID = \"2e1eee00-6cba-4506-9059-ccd24e4ea5b0\";\n\nexport type PermissionValue = boolean | string;\n\nexport type ActionType = \"read\" | \"create\" | \"update\" | \"delete\";\n\nexport const ACTION_TYPES: ActionType[] = [\"read\", \"create\", \"update\", \"delete\"];\n\n/** The permissions object shape used by both Module and PermissionMapping entities */\nexport type PermissionsMap = {\n create?: PermissionValue;\n read?: PermissionValue;\n update?: PermissionValue;\n delete?: PermissionValue;\n};\n","import { AbstractService, EndpointCreator, HttpMethod, Modules } from \"../../../core\";\nimport { FeatureInterface } from \"../../feature\";\nimport { RoleInterface } from \"../../role\";\nimport { PermissionMappingInterface } from \"./PermissionMappingInterface\";\nimport { ModulePathsInterface } from \"./ModulePathsInterface\";\n\nexport class RbacService extends AbstractService {\n static async getFeatures(): Promise<FeatureInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Feature }).addAdditionalParam(\"fetchAll\", \"true\");\n\n return this.callApi<FeatureInterface[]>({\n type: Modules.Feature,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n });\n }\n\n static async getRoles(): Promise<RoleInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Role }).addAdditionalParam(\"fetchAll\", \"true\");\n\n return this.callApi<RoleInterface[]>({\n type: Modules.Role,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n });\n }\n\n static async getPermissionMappings(): Promise<PermissionMappingInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.PermissionMapping });\n\n return this.callApi<PermissionMappingInterface[]>({\n type: Modules.PermissionMapping,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n });\n }\n\n static async getModuleRelationshipPaths(): Promise<ModulePathsInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.ModulePaths });\n\n return this.callApi<ModulePathsInterface[]>({\n type: Modules.ModulePaths,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n });\n }\n}\n"]}
|