@carlonicora/nextjs-jsonapi 1.52.0 → 1.53.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.
Files changed (99) hide show
  1. package/dist/{AuthComponent-BkK4Sf3q.d.mts → AuthComponent-CK9aRRW2.d.mts} +1 -1
  2. package/dist/{AuthComponent-DCfP4o32.d.ts → AuthComponent-IqFWLNIU.d.ts} +1 -1
  3. package/dist/{BlockNoteEditor-KQPSJCYG.js → BlockNoteEditor-AROKR3J6.js} +14 -14
  4. package/dist/{BlockNoteEditor-KQPSJCYG.js.map → BlockNoteEditor-AROKR3J6.js.map} +1 -1
  5. package/dist/{BlockNoteEditor-WUVRCTQI.mjs → BlockNoteEditor-CNMSBGCL.mjs} +4 -4
  6. package/dist/ModulePathsInterface-49EWvbWy.d.mts +31 -0
  7. package/dist/ModulePathsInterface-wVS5Raa4.d.ts +31 -0
  8. package/dist/{auth.interface-C4kEZscm.d.ts → auth.interface-C1WjZ0fM.d.ts} +1 -1
  9. package/dist/{auth.interface-24ID4yhT.d.mts → auth.interface-fBFqIrw4.d.mts} +1 -1
  10. package/dist/billing/index.js +346 -346
  11. package/dist/billing/index.mjs +3 -3
  12. package/dist/{chunk-BUCV5VFT.mjs → chunk-FE26PIZK.mjs} +53 -2
  13. package/dist/chunk-FE26PIZK.mjs.map +1 -0
  14. package/dist/{chunk-BTLJZIDS.mjs → chunk-G5473JP3.mjs} +869 -40
  15. package/dist/chunk-G5473JP3.mjs.map +1 -0
  16. package/dist/{chunk-XNISXVQL.mjs → chunk-J2PYGXVD.mjs} +70 -1
  17. package/dist/chunk-J2PYGXVD.mjs.map +1 -0
  18. package/dist/{chunk-YKPIFJOB.js → chunk-PQIXFKHT.js} +1457 -628
  19. package/dist/chunk-PQIXFKHT.js.map +1 -0
  20. package/dist/{chunk-QIA5FOQB.js → chunk-QOLVON35.js} +71 -2
  21. package/dist/chunk-QOLVON35.js.map +1 -0
  22. package/dist/{chunk-V63TFESU.js → chunk-UJBUJALX.js} +53 -2
  23. package/dist/chunk-UJBUJALX.js.map +1 -0
  24. package/dist/client/index.d.mts +25 -7
  25. package/dist/client/index.d.ts +25 -7
  26. package/dist/client/index.js +10 -4
  27. package/dist/client/index.js.map +1 -1
  28. package/dist/client/index.mjs +9 -3
  29. package/dist/components/index.d.mts +52 -10
  30. package/dist/components/index.d.ts +52 -10
  31. package/dist/components/index.js +16 -4
  32. package/dist/components/index.js.map +1 -1
  33. package/dist/components/index.mjs +15 -3
  34. package/dist/{config-CPN6QZfo.d.ts → config-DZWAFB7H.d.ts} +1 -1
  35. package/dist/{config-DaxjKdIo.d.mts → config-ndRJIQsP.d.mts} +1 -1
  36. package/dist/{content.interface-DvPs_JbX.d.mts → content.interface-B5ySfiOE.d.mts} +1 -1
  37. package/dist/{content.interface-Czin-YRh.d.ts → content.interface-mmz0uMwm.d.ts} +1 -1
  38. package/dist/contexts/index.d.mts +2 -2
  39. package/dist/contexts/index.d.ts +2 -2
  40. package/dist/contexts/index.js +4 -4
  41. package/dist/contexts/index.mjs +3 -3
  42. package/dist/core/index.d.mts +15 -10
  43. package/dist/core/index.d.ts +15 -10
  44. package/dist/core/index.js +6 -2
  45. package/dist/core/index.js.map +1 -1
  46. package/dist/core/index.mjs +5 -1
  47. package/dist/index.d.mts +47 -10
  48. package/dist/index.d.ts +47 -10
  49. package/dist/index.js +17 -3
  50. package/dist/index.js.map +1 -1
  51. package/dist/index.mjs +16 -2
  52. package/dist/{notification.interface-DEW8hR8g.d.ts → notification.interface-COKHDQeE.d.ts} +1 -1
  53. package/dist/{notification.interface-DKR5WGKH.d.mts → notification.interface-DG7cq9oG.d.mts} +1 -1
  54. package/dist/{s3.service-BHjcTA0t.d.mts → s3.service-BoRPFx82.d.mts} +4 -4
  55. package/dist/{s3.service-C_K1VHyx.d.ts → s3.service-ppn9iGJU.d.ts} +4 -4
  56. package/dist/server/index.d.mts +4 -4
  57. package/dist/server/index.d.ts +4 -4
  58. package/dist/server/index.js +3 -3
  59. package/dist/server/index.mjs +1 -1
  60. package/dist/useRbacState-DhuYYr0S.d.mts +77 -0
  61. package/dist/useRbacState-NnzNL2ED.d.ts +77 -0
  62. package/dist/{useSocket-BW6haECW.d.mts → useSocket-CtfuR5wD.d.mts} +1 -1
  63. package/dist/{useSocket-C9FmYuRM.d.ts → useSocket-bsV-K4qR.d.ts} +1 -1
  64. package/package.json +1 -1
  65. package/src/client/index.ts +4 -0
  66. package/src/components/containers/RoundPageContainer.tsx +1 -1
  67. package/src/components/containers/RoundPageContainerTitle.tsx +1 -1
  68. package/src/components/index.ts +6 -0
  69. package/src/core/index.ts +1 -0
  70. package/src/core/registry/ModuleRegistry.ts +3 -0
  71. package/src/features/rbac/components/RbacContainer.tsx +82 -0
  72. package/src/features/rbac/components/RbacFeatureSection.tsx +66 -0
  73. package/src/features/rbac/components/RbacModuleTable.tsx +121 -0
  74. package/src/features/rbac/components/RbacPermissionCell.tsx +97 -0
  75. package/src/features/rbac/components/RbacPermissionPicker.tsx +179 -0
  76. package/src/features/rbac/components/RbacToolbar.tsx +40 -0
  77. package/src/features/rbac/data/ModulePaths.ts +25 -0
  78. package/src/features/rbac/data/ModulePathsInterface.ts +6 -0
  79. package/src/features/rbac/data/PermissionMapping.ts +43 -0
  80. package/src/features/rbac/data/PermissionMappingInterface.ts +12 -0
  81. package/src/features/rbac/data/RbacService.ts +47 -0
  82. package/src/features/rbac/data/RbacTypes.ts +15 -0
  83. package/src/features/rbac/data/index.ts +6 -0
  84. package/src/features/rbac/hooks/useRbacState.test.ts +178 -0
  85. package/src/features/rbac/hooks/useRbacState.ts +319 -0
  86. package/src/features/rbac/index.ts +19 -0
  87. package/src/features/rbac/rbac.module.ts +19 -0
  88. package/src/features/rbac/utils/RbacMigrationGenerator.test.ts +124 -0
  89. package/src/features/rbac/utils/RbacMigrationGenerator.ts +184 -0
  90. package/src/index.ts +4 -0
  91. package/dist/chunk-BTLJZIDS.mjs.map +0 -1
  92. package/dist/chunk-BUCV5VFT.mjs.map +0 -1
  93. package/dist/chunk-QIA5FOQB.js.map +0 -1
  94. package/dist/chunk-V63TFESU.js.map +0 -1
  95. package/dist/chunk-XNISXVQL.mjs.map +0 -1
  96. package/dist/chunk-YKPIFJOB.js.map +0 -1
  97. package/dist/useDataListRetriever-BqJSFBck.d.mts +0 -33
  98. package/dist/useDataListRetriever-BqJSFBck.d.ts +0 -33
  99. /package/dist/{BlockNoteEditor-WUVRCTQI.mjs.map → BlockNoteEditor-CNMSBGCL.mjs.map} +0 -0
@@ -47,11 +47,11 @@ import {
47
47
  TabsList,
48
48
  TabsTrigger,
49
49
  useCurrentUserContext
50
- } from "../chunk-BTLJZIDS.mjs";
50
+ } from "../chunk-G5473JP3.mjs";
51
51
  import {
52
52
  getRoleId,
53
53
  getStripePublishableKey
54
- } from "../chunk-BUCV5VFT.mjs";
54
+ } from "../chunk-FE26PIZK.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-XNISXVQL.mjs";
65
+ } from "../chunk-J2PYGXVD.mjs";
66
66
  import "../chunk-AUXK7QSA.mjs";
67
67
  import "../chunk-C7C7VY4F.mjs";
68
68
  import "../chunk-BTKJFMFL.mjs";
@@ -1,3 +1,8 @@
1
+ import {
2
+ AbstractService,
3
+ EndpointCreator,
4
+ Modules
5
+ } from "./chunk-J2PYGXVD.mjs";
1
6
  import {
2
7
  setBootstrapper
3
8
  } from "./chunk-BTKJFMFL.mjs";
@@ -180,6 +185,49 @@ function isReferralEnabled() {
180
185
  }
181
186
  __name(isReferralEnabled, "isReferralEnabled");
182
187
 
188
+ // src/features/rbac/data/RbacTypes.ts
189
+ var COMPANY_ADMINISTRATOR_ROLE_ID = "2e1eee00-6cba-4506-9059-ccd24e4ea5b0";
190
+ var ACTION_TYPES = ["read", "create", "update", "delete"];
191
+
192
+ // src/features/rbac/data/RbacService.ts
193
+ var RbacService = class extends AbstractService {
194
+ static {
195
+ __name(this, "RbacService");
196
+ }
197
+ static async getFeatures() {
198
+ const endpoint = new EndpointCreator({ endpoint: Modules.Feature }).addAdditionalParam("fetchAll", "true");
199
+ return this.callApi({
200
+ type: Modules.Feature,
201
+ method: "GET" /* GET */,
202
+ endpoint: endpoint.generate()
203
+ });
204
+ }
205
+ static async getRoles() {
206
+ const endpoint = new EndpointCreator({ endpoint: Modules.Role }).addAdditionalParam("fetchAll", "true");
207
+ return this.callApi({
208
+ type: Modules.Role,
209
+ method: "GET" /* GET */,
210
+ endpoint: endpoint.generate()
211
+ });
212
+ }
213
+ static async getPermissionMappings() {
214
+ const endpoint = new EndpointCreator({ endpoint: Modules.PermissionMapping });
215
+ return this.callApi({
216
+ type: Modules.PermissionMapping,
217
+ method: "GET" /* GET */,
218
+ endpoint: endpoint.generate()
219
+ });
220
+ }
221
+ static async getModuleRelationshipPaths() {
222
+ const endpoint = new EndpointCreator({ endpoint: Modules.ModulePaths });
223
+ return this.callApi({
224
+ type: Modules.ModulePaths,
225
+ method: "GET" /* GET */,
226
+ endpoint: endpoint.generate()
227
+ });
228
+ }
229
+ };
230
+
183
231
  export {
184
232
  configureJsonApi,
185
233
  configureClientConfig,
@@ -206,6 +254,9 @@ export {
206
254
  getWaitlistConfig,
207
255
  configureReferral,
208
256
  getReferralConfig,
209
- isReferralEnabled
257
+ isReferralEnabled,
258
+ COMPANY_ADMINISTRATOR_ROLE_ID,
259
+ ACTION_TYPES,
260
+ RbacService
210
261
  };
211
- //# sourceMappingURL=chunk-BUCV5VFT.mjs.map
262
+ //# sourceMappingURL=chunk-FE26PIZK.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../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"],"sourcesContent":["\"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"],"mappings":"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","names":[]}