@carlonicora/nextjs-jsonapi 3.3.1 → 3.3.2

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 (70) hide show
  1. package/dist/{BlockNoteEditor-G5A34EXN.mjs → BlockNoteEditor-SDVXTZRC.mjs} +5 -5
  2. package/dist/{BlockNoteEditor-JLMXCPGB.js → BlockNoteEditor-VV6DRWSA.js} +20 -20
  3. package/dist/{BlockNoteEditor-JLMXCPGB.js.map → BlockNoteEditor-VV6DRWSA.js.map} +1 -1
  4. package/dist/{JsonApiRequest-2OQCZAK6.mjs → JsonApiRequest-ADNIGXTP.mjs} +2 -2
  5. package/dist/JsonApiRequest-WWGSGV2I.js +26 -0
  6. package/dist/{JsonApiRequest-6TYNBVUL.js.map → JsonApiRequest-WWGSGV2I.js.map} +1 -1
  7. package/dist/billing/index.js +399 -399
  8. package/dist/billing/index.mjs +4 -4
  9. package/dist/{chunk-5AKDE5UW.js → chunk-4I3UORNT.js} +941 -938
  10. package/dist/chunk-4I3UORNT.js.map +1 -0
  11. package/dist/{chunk-PGARO3JT.mjs → chunk-KW6LYVFJ.mjs} +8 -7
  12. package/dist/chunk-KW6LYVFJ.mjs.map +1 -0
  13. package/dist/{chunk-UYENG3GT.js → chunk-OHG2YWNA.js} +22 -27
  14. package/dist/chunk-OHG2YWNA.js.map +1 -0
  15. package/dist/{chunk-LCMVARSP.mjs → chunk-RUEY6XSS.mjs} +8 -13
  16. package/dist/chunk-RUEY6XSS.mjs.map +1 -0
  17. package/dist/{chunk-CMGXH5SA.mjs → chunk-RVASYIQG.mjs} +47 -3
  18. package/dist/chunk-RVASYIQG.mjs.map +1 -0
  19. package/dist/{chunk-YKFXQOQA.js → chunk-S2C5V2XZ.js} +33 -32
  20. package/dist/chunk-S2C5V2XZ.js.map +1 -0
  21. package/dist/{chunk-PFAZPP54.js → chunk-W42MYR3Y.js} +59 -15
  22. package/dist/chunk-W42MYR3Y.js.map +1 -0
  23. package/dist/{chunk-O4LTJAAM.mjs → chunk-WPF4NFVV.mjs} +15 -12
  24. package/dist/{chunk-O4LTJAAM.mjs.map → chunk-WPF4NFVV.mjs.map} +1 -1
  25. package/dist/client/index.js +5 -5
  26. package/dist/client/index.mjs +4 -4
  27. package/dist/components/index.js +5 -5
  28. package/dist/components/index.mjs +4 -4
  29. package/dist/contexts/index.js +5 -5
  30. package/dist/contexts/index.mjs +4 -4
  31. package/dist/core/index.d.mts +59 -1
  32. package/dist/core/index.d.ts +59 -1
  33. package/dist/core/index.js +5 -3
  34. package/dist/core/index.js.map +1 -1
  35. package/dist/core/index.mjs +4 -2
  36. package/dist/features/help/index.js +38 -38
  37. package/dist/features/help/index.mjs +4 -4
  38. package/dist/features/tokenusage/index.js +102 -102
  39. package/dist/features/tokenusage/index.mjs +4 -4
  40. package/dist/index.d.mts +1 -1
  41. package/dist/index.d.ts +1 -1
  42. package/dist/index.js +6 -4
  43. package/dist/index.js.map +1 -1
  44. package/dist/index.mjs +5 -3
  45. package/dist/server/index.js +15 -14
  46. package/dist/server/index.js.map +1 -1
  47. package/dist/server/index.mjs +5 -4
  48. package/dist/server/index.mjs.map +1 -1
  49. package/package.json +1 -1
  50. package/src/client/JsonApiClient.ts +3 -2
  51. package/src/client/config.ts +5 -10
  52. package/src/components/forms/FormPlaceAutocomplete.tsx +2 -1
  53. package/src/core/env.ts +73 -0
  54. package/src/core/index.ts +1 -0
  55. package/src/features/auth/utils/AuthCookies.ts +2 -1
  56. package/src/features/company/components/forms/CompanyEditor.tsx +2 -1
  57. package/src/hooks/usePushNotifications.ts +2 -1
  58. package/src/hooks/useSocket.ts +4 -3
  59. package/src/server/JsonApiServer.ts +3 -2
  60. package/src/unified/JsonApiRequest.ts +3 -2
  61. package/dist/JsonApiRequest-6TYNBVUL.js +0 -26
  62. package/dist/chunk-5AKDE5UW.js.map +0 -1
  63. package/dist/chunk-CMGXH5SA.mjs.map +0 -1
  64. package/dist/chunk-LCMVARSP.mjs.map +0 -1
  65. package/dist/chunk-PFAZPP54.js.map +0 -1
  66. package/dist/chunk-PGARO3JT.mjs.map +0 -1
  67. package/dist/chunk-UYENG3GT.js.map +0 -1
  68. package/dist/chunk-YKFXQOQA.js.map +0 -1
  69. /package/dist/{BlockNoteEditor-G5A34EXN.mjs.map → BlockNoteEditor-SDVXTZRC.mjs.map} +0 -0
  70. /package/dist/{JsonApiRequest-2OQCZAK6.mjs.map → JsonApiRequest-ADNIGXTP.mjs.map} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { AppModuleDefinitions, Assistant, AssistantAction, AssistantActionInput, AssistantActionInterface, AssistantActionModule, AssistantActionService, AssistantActionStatus, AssistantMessage, AssistantMessageModule, AssistantMessageService, AssistantModule, AssistantService, AuditLog, AuditLogInterface, AuditLogModule, AuditLogService, Auth, AuthModule, AuthorModule, BackupCodeVerify, BackupCodeVerifyInput, BackupCodeVerifyModule, Billing, BillingModule, BillingService, BlockDiffOptions, BlockNoteDiffUtil, BlockNoteWordDiffRendererUtil, Chunk, ChunkInput, ChunkModule, ClientAbstractService, ClientHttpMethod, ClientNextRef, ClientPreviousRef, ClientSelfRef, ClientTotalRef, CodiceFiscaleValidationOptions, Company, CompanyFields, CompanyModule, Content, ContentModule, DataClass, DataClass as DataClassRegistry, DiffBlock, DiffResult, ENV, EndpointCreator, EndpointQuery, EntityAiStatus, EntityObject, Feature, FeatureModule, FormatOption, FoundationModuleDefinitions, HowTo, HowToFields, HowToModule, HowToService, InviteValidation, JsonApiDataFactory, MOBILE_BREAKPOINT, Module, ModuleDefinitions, ModuleModule, ModulePathsModule, ModuleRegistrar, ModuleRegistry, Modules, Notification, NotificationFields, NotificationModule, OAuthClient, OAuthModule, OAuthService, Passkey, PasskeyAuthenticationOptions, PasskeyAuthenticationOptionsInput, PasskeyAuthenticationOptionsInterface, PasskeyAuthenticationOptionsModule, PasskeyModule, PasskeyRegistrationOptions, PasskeyRegistrationOptionsInput, PasskeyRegistrationOptionsInterface, PasskeyRegistrationOptionsModule, PasskeyRegistrationVerify, PasskeyRegistrationVerifyInput, PasskeyRegistrationVerifyModule, PasskeyRename, PasskeyRenameInput, PasskeyRenameModule, PasskeyVerifyLogin, PasskeyVerifyLoginInput, PasskeyVerifyLoginModule, PaymentMethod, PermissionMappingModule, Push, PushInput, PushInterface, PushModule, RbacMatrixModule, ReferralModule, ReferralService, ReferralStats, ReferralStatsModule, RehydrationFactory, Role, RoleModule, S3, S3Module, SearchResultInterface, StripeCustomer, StripeCustomerModule, StripeCustomerService, StripeInvoice, StripeInvoiceModule, StripeInvoiceService, StripePaymentMethodModule, StripePrice, StripePriceFields, StripePriceModule, StripePriceService, StripeProduct, StripeProductFields, StripeProductModule, StripeProductService, StripePromotionCode, StripePromotionCodeModule, StripePromotionCodeService, StripeSubscription, StripeSubscriptionModule, StripeSubscriptionService, StripeUsage, StripeUsageModule, StripeUsageService, TableOptions, ToastOptions, TotpAuthenticator, TotpAuthenticatorModule, TotpSetup, TotpSetupInput, TotpSetupInterface, TotpSetupModule, TotpVerify, TotpVerifyInput, TotpVerifyLogin, TotpVerifyLoginInput, TotpVerifyLoginModule, TotpVerifyModule, TwoFactorChallenge, TwoFactorChallengeInput, TwoFactorChallengeModule, TwoFactorEnable, TwoFactorEnableInput, TwoFactorEnableModule, TwoFactorService, TwoFactorStatus, TwoFactorStatusInterface, TwoFactorStatusModule, User, UserModule, UserObject, VIEWPORT_COOKIE_NAME, Waitlist, WaitlistInput, WaitlistInterface, WaitlistModule, WaitlistService, WaitlistStats, WaitlistStatsInterface, WaitlistStatsModule, WaitlistStatus, WordDiff, checkPermissions, checkPermissionsFromServer, cn, composeRefs, dismissToast, entityObjectSchema, exists, formatCodiceFiscale, formatDate, formatLocalDate, formatPartitaIva, getBootstrapper, getClientGlobalErrorHandler, getTableComponents, getTableOptions, getValueFromPath, hasBootstrapper, isRemoteImageSrc, rehydrate, rehydrateList, resetBootstrapStore, setBootstrapper, setClientGlobalErrorHandler, showCustomToast, showError, showToast, translateData, translateResponse, tryBootstrap, useComposedRefs, useIsMobile, userObjectSchema, validateCodiceFiscale, validateItalianTaxCode, validatePartitaIva } from './core/index.js';
1
2
  export { A as ApiData } from './ApiData-DPKNfY-9.js';
2
3
  import { A as ApiDataInterface, J as JsonApiHydratedDataInterface } from './ApiDataInterface-BcZeXy5X.js';
3
4
  export { A as ApiRequestDataTypeInterface, F as FieldSelector, G as GetterKeys, c as createJsonApiInclusion } from './ApiRequestDataTypeInterface-CYEcRUrh.js';
@@ -5,7 +6,6 @@ export { A as ApiResponseInterface } from './ApiResponseInterface-CWLvSCvS.js';
5
6
  import { A as AbstractApiData } from './AbstractApiData-DtitRWPz.js';
6
7
  import { A as AbstractService } from './AbstractService-Cew0PD0L.js';
7
8
  export { H as HttpMethod, N as NextRef, P as PreviousRef, S as SelfRef, T as TotalRef, b as clearLastApiMeta, c as clearLastApiTotal, d as getGlobalErrorHandler, a as getLastApiMeta, g as getLastApiTotal, s as setGlobalErrorHandler } from './AbstractService-Cew0PD0L.js';
8
- export { AppModuleDefinitions, Assistant, AssistantAction, AssistantActionInput, AssistantActionInterface, AssistantActionModule, AssistantActionService, AssistantActionStatus, AssistantMessage, AssistantMessageModule, AssistantMessageService, AssistantModule, AssistantService, AuditLog, AuditLogInterface, AuditLogModule, AuditLogService, Auth, AuthModule, AuthorModule, BackupCodeVerify, BackupCodeVerifyInput, BackupCodeVerifyModule, Billing, BillingModule, BillingService, BlockDiffOptions, BlockNoteDiffUtil, BlockNoteWordDiffRendererUtil, Chunk, ChunkInput, ChunkModule, ClientAbstractService, ClientHttpMethod, ClientNextRef, ClientPreviousRef, ClientSelfRef, ClientTotalRef, CodiceFiscaleValidationOptions, Company, CompanyFields, CompanyModule, Content, ContentModule, DataClass, DataClass as DataClassRegistry, DiffBlock, DiffResult, EndpointCreator, EndpointQuery, EntityAiStatus, EntityObject, Feature, FeatureModule, FormatOption, FoundationModuleDefinitions, HowTo, HowToFields, HowToModule, HowToService, InviteValidation, JsonApiDataFactory, MOBILE_BREAKPOINT, Module, ModuleDefinitions, ModuleModule, ModulePathsModule, ModuleRegistrar, ModuleRegistry, Modules, Notification, NotificationFields, NotificationModule, OAuthClient, OAuthModule, OAuthService, Passkey, PasskeyAuthenticationOptions, PasskeyAuthenticationOptionsInput, PasskeyAuthenticationOptionsInterface, PasskeyAuthenticationOptionsModule, PasskeyModule, PasskeyRegistrationOptions, PasskeyRegistrationOptionsInput, PasskeyRegistrationOptionsInterface, PasskeyRegistrationOptionsModule, PasskeyRegistrationVerify, PasskeyRegistrationVerifyInput, PasskeyRegistrationVerifyModule, PasskeyRename, PasskeyRenameInput, PasskeyRenameModule, PasskeyVerifyLogin, PasskeyVerifyLoginInput, PasskeyVerifyLoginModule, PaymentMethod, PermissionMappingModule, Push, PushInput, PushInterface, PushModule, RbacMatrixModule, ReferralModule, ReferralService, ReferralStats, ReferralStatsModule, RehydrationFactory, Role, RoleModule, S3, S3Module, SearchResultInterface, StripeCustomer, StripeCustomerModule, StripeCustomerService, StripeInvoice, StripeInvoiceModule, StripeInvoiceService, StripePaymentMethodModule, StripePrice, StripePriceFields, StripePriceModule, StripePriceService, StripeProduct, StripeProductFields, StripeProductModule, StripeProductService, StripePromotionCode, StripePromotionCodeModule, StripePromotionCodeService, StripeSubscription, StripeSubscriptionModule, StripeSubscriptionService, StripeUsage, StripeUsageModule, StripeUsageService, TableOptions, ToastOptions, TotpAuthenticator, TotpAuthenticatorModule, TotpSetup, TotpSetupInput, TotpSetupInterface, TotpSetupModule, TotpVerify, TotpVerifyInput, TotpVerifyLogin, TotpVerifyLoginInput, TotpVerifyLoginModule, TotpVerifyModule, TwoFactorChallenge, TwoFactorChallengeInput, TwoFactorChallengeModule, TwoFactorEnable, TwoFactorEnableInput, TwoFactorEnableModule, TwoFactorService, TwoFactorStatus, TwoFactorStatusInterface, TwoFactorStatusModule, User, UserModule, UserObject, VIEWPORT_COOKIE_NAME, Waitlist, WaitlistInput, WaitlistInterface, WaitlistModule, WaitlistService, WaitlistStats, WaitlistStatsInterface, WaitlistStatsModule, WaitlistStatus, WordDiff, checkPermissions, checkPermissionsFromServer, cn, composeRefs, dismissToast, entityObjectSchema, exists, formatCodiceFiscale, formatDate, formatLocalDate, formatPartitaIva, getBootstrapper, getClientGlobalErrorHandler, getTableComponents, getTableOptions, getValueFromPath, hasBootstrapper, isRemoteImageSrc, rehydrate, rehydrateList, resetBootstrapStore, setBootstrapper, setClientGlobalErrorHandler, showCustomToast, showError, showToast, translateData, translateResponse, tryBootstrap, useComposedRefs, useIsMobile, userObjectSchema, validateCodiceFiscale, validateItalianTaxCode, validatePartitaIva } from './core/index.js';
9
9
  export { c as AssistantMessageInput, d as AssistantMessageInterface, A as AssistantMessageRole, b as AssistantMessageType, B as BreadcrumbItemData, e as ChunkInterface, C as ChunkRelationshipMeta, H as HowToInput, a as HowToInterface } from './AssistantMessageInterface-0zyVingf.js';
10
10
  export { C as ContentFields, D as D3Link, a as D3Node, R as RoleFields, U as UserFields } from './content.fields-1AlHDtDb.js';
11
11
  export { ClassValue } from 'clsx';
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- var _chunkUYENG3GTjs = require('./chunk-UYENG3GT.js');
21
+ var _chunkOHG2YWNAjs = require('./chunk-OHG2YWNA.js');
22
22
 
23
23
 
24
24
 
@@ -225,7 +225,7 @@ var _chunkUYENG3GTjs = require('./chunk-UYENG3GT.js');
225
225
 
226
226
 
227
227
 
228
- var _chunkYKFXQOQAjs = require('./chunk-YKFXQOQA.js');
228
+ var _chunkS2C5V2XZjs = require('./chunk-S2C5V2XZ.js');
229
229
  require('./chunk-LXKSUWAV.js');
230
230
  require('./chunk-IBS6NI7D.js');
231
231
 
@@ -238,7 +238,8 @@ require('./chunk-IBS6NI7D.js');
238
238
 
239
239
 
240
240
 
241
- var _chunkPFAZPP54js = require('./chunk-PFAZPP54.js');
241
+
242
+ var _chunkW42MYR3Yjs = require('./chunk-W42MYR3Y.js');
242
243
  require('./chunk-7QVYU63E.js');
243
244
 
244
245
 
@@ -475,5 +476,6 @@ require('./chunk-7QVYU63E.js');
475
476
 
476
477
 
477
478
 
478
- exports.ACTION_TYPES = _chunkUYENG3GTjs.ACTION_TYPES; exports.AVAILABLE_OAUTH_SCOPES = _chunkYKFXQOQAjs.AVAILABLE_OAUTH_SCOPES; exports.AbstractApiData = _chunkYKFXQOQAjs.AbstractApiData; exports.AbstractService = _chunkYKFXQOQAjs.AbstractService; exports.Action = _chunkYKFXQOQAjs.Action; exports.AiConnection = _chunkYKFXQOQAjs.AiConnection; exports.AiConnectionFields = _chunkYKFXQOQAjs.AiConnectionFields; exports.AiConnectionModule = _chunkYKFXQOQAjs.AiConnectionModule; exports.AiConnectionService = _chunkYKFXQOQAjs.AiConnectionService; exports.Assistant = _chunkYKFXQOQAjs.Assistant; exports.AssistantAction = _chunkYKFXQOQAjs.AssistantAction; exports.AssistantActionModule = _chunkYKFXQOQAjs.AssistantActionModule; exports.AssistantActionService = _chunkYKFXQOQAjs.AssistantActionService; exports.AssistantMessage = _chunkYKFXQOQAjs.AssistantMessage; exports.AssistantMessageModule = _chunkYKFXQOQAjs.AssistantMessageModule; exports.AssistantMessageService = _chunkYKFXQOQAjs.AssistantMessageService; exports.AssistantModule = _chunkYKFXQOQAjs.AssistantModule; exports.AssistantService = _chunkYKFXQOQAjs.AssistantService; exports.AuditLog = _chunkYKFXQOQAjs.AuditLog; exports.AuditLogModule = _chunkYKFXQOQAjs.AuditLogModule; exports.AuditLogService = _chunkYKFXQOQAjs.AuditLogService; exports.Auth = _chunkYKFXQOQAjs.Auth; exports.AuthComponent = _chunkYKFXQOQAjs.AuthComponent; exports.AuthModule = _chunkYKFXQOQAjs.AuthModule; exports.AuthService = _chunkYKFXQOQAjs.AuthService; exports.AuthorModule = _chunkYKFXQOQAjs.AuthorModule; exports.BackupCodeVerify = _chunkYKFXQOQAjs.BackupCodeVerify; exports.BackupCodeVerifyModule = _chunkYKFXQOQAjs.BackupCodeVerifyModule; exports.Billing = _chunkYKFXQOQAjs.Billing; exports.BillingModule = _chunkYKFXQOQAjs.BillingModule; exports.BillingService = _chunkYKFXQOQAjs.BillingService; exports.BlockNoteDiffUtil = _chunkYKFXQOQAjs.BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = _chunkYKFXQOQAjs.BlockNoteWordDiffRendererUtil; exports.COMPANY_ADMINISTRATOR_ROLE_ID = _chunkUYENG3GTjs.COMPANY_ADMINISTRATOR_ROLE_ID; exports.Chunk = _chunkYKFXQOQAjs.Chunk; exports.ChunkModule = _chunkYKFXQOQAjs.ChunkModule; exports.ClientAbstractService = _chunkYKFXQOQAjs.ClientAbstractService; exports.ClientHttpMethod = _chunkYKFXQOQAjs.ClientHttpMethod; exports.Company = _chunkYKFXQOQAjs.Company; exports.CompanyFields = _chunkYKFXQOQAjs.CompanyFields; exports.CompanyModule = _chunkYKFXQOQAjs.CompanyModule; exports.CompanyService = _chunkYKFXQOQAjs.CompanyService; exports.Content = _chunkYKFXQOQAjs.Content; exports.ContentFields = _chunkYKFXQOQAjs.ContentFields; exports.ContentModule = _chunkYKFXQOQAjs.ContentModule; exports.ContentService = _chunkYKFXQOQAjs.ContentService; exports.DEFAULT_GRANT_TYPES = _chunkYKFXQOQAjs.DEFAULT_GRANT_TYPES; exports.DataClass = _chunkPFAZPP54js.DataClassRegistry; exports.DataClassRegistry = _chunkPFAZPP54js.DataClassRegistry; exports.EndpointCreator = _chunkYKFXQOQAjs.EndpointCreator; exports.EntityAiStatus = _chunkYKFXQOQAjs.EntityAiStatus; exports.Feature = _chunkYKFXQOQAjs.Feature; exports.FeatureModule = _chunkYKFXQOQAjs.FeatureModule; exports.FeatureService = _chunkYKFXQOQAjs.FeatureService; exports.HowTo = _chunkYKFXQOQAjs.HowTo; exports.HowToFields = _chunkYKFXQOQAjs.HowToFields; exports.HowToModule = _chunkYKFXQOQAjs.HowToModule; exports.HowToService = _chunkYKFXQOQAjs.HowToService; exports.HttpMethod = _chunkYKFXQOQAjs.HttpMethod; exports.InvoiceStatus = _chunkYKFXQOQAjs.InvoiceStatus; exports.JsonApiDataFactory = _chunkPFAZPP54js.JsonApiDataFactory; exports.MOBILE_BREAKPOINT = _chunkYKFXQOQAjs.MOBILE_BREAKPOINT; exports.Module = _chunkYKFXQOQAjs.Module; exports.ModuleModule = _chunkYKFXQOQAjs.ModuleModule; exports.ModulePaths = _chunkYKFXQOQAjs.ModulePaths; exports.ModulePathsModule = _chunkYKFXQOQAjs.ModulePathsModule; exports.ModuleRegistrar = _chunkYKFXQOQAjs.ModuleRegistrar; exports.ModuleRegistry = _chunkYKFXQOQAjs.ModuleRegistry; exports.Modules = _chunkYKFXQOQAjs.Modules; exports.Notification = _chunkYKFXQOQAjs.Notification; exports.NotificationFields = _chunkYKFXQOQAjs.NotificationFields; exports.NotificationModule = _chunkYKFXQOQAjs.NotificationModule; exports.NotificationService = _chunkYKFXQOQAjs.NotificationService; exports.OAUTH_SCOPE_DISPLAY = _chunkYKFXQOQAjs.OAUTH_SCOPE_DISPLAY; exports.OAuthClient = _chunkYKFXQOQAjs.OAuthClient; exports.OAuthModule = _chunkYKFXQOQAjs.OAuthModule; exports.OAuthService = _chunkYKFXQOQAjs.OAuthService; exports.Passkey = _chunkYKFXQOQAjs.Passkey; exports.PasskeyAuthenticationOptions = _chunkYKFXQOQAjs.PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = _chunkYKFXQOQAjs.PasskeyAuthenticationOptionsModule; exports.PasskeyModule = _chunkYKFXQOQAjs.PasskeyModule; exports.PasskeyRegistrationOptions = _chunkYKFXQOQAjs.PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = _chunkYKFXQOQAjs.PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = _chunkYKFXQOQAjs.PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = _chunkYKFXQOQAjs.PasskeyRegistrationVerifyModule; exports.PasskeyRename = _chunkYKFXQOQAjs.PasskeyRename; exports.PasskeyRenameModule = _chunkYKFXQOQAjs.PasskeyRenameModule; exports.PasskeyVerifyLogin = _chunkYKFXQOQAjs.PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = _chunkYKFXQOQAjs.PasskeyVerifyLoginModule; exports.PaymentMethod = _chunkYKFXQOQAjs.PaymentMethod; exports.PermissionMapping = _chunkYKFXQOQAjs.PermissionMapping; exports.PermissionMappingModule = _chunkYKFXQOQAjs.PermissionMappingModule; exports.Push = _chunkYKFXQOQAjs.Push; exports.PushModule = _chunkYKFXQOQAjs.PushModule; exports.PushService = _chunkYKFXQOQAjs.PushService; exports.RbacMatrixModel = _chunkYKFXQOQAjs.RbacMatrixModel; exports.RbacMatrixModule = _chunkYKFXQOQAjs.RbacMatrixModule; exports.RbacService = _chunkUYENG3GTjs.RbacService; exports.ReferralModule = _chunkYKFXQOQAjs.ReferralModule; exports.ReferralService = _chunkYKFXQOQAjs.ReferralService; exports.ReferralStats = _chunkYKFXQOQAjs.ReferralStats; exports.ReferralStatsModule = _chunkYKFXQOQAjs.ReferralStatsModule; exports.RehydrationFactory = _chunkYKFXQOQAjs.RehydrationFactory; exports.Role = _chunkYKFXQOQAjs.Role; exports.RoleFields = _chunkYKFXQOQAjs.RoleFields; exports.RoleModule = _chunkYKFXQOQAjs.RoleModule; exports.RoleService = _chunkYKFXQOQAjs.RoleService; exports.S3 = _chunkYKFXQOQAjs.S3; exports.S3Module = _chunkYKFXQOQAjs.S3Module; exports.S3Service = _chunkYKFXQOQAjs.S3Service; exports.StripeCustomer = _chunkYKFXQOQAjs.StripeCustomer; exports.StripeCustomerModule = _chunkYKFXQOQAjs.StripeCustomerModule; exports.StripeCustomerService = _chunkYKFXQOQAjs.StripeCustomerService; exports.StripeInvoice = _chunkYKFXQOQAjs.StripeInvoice; exports.StripeInvoiceModule = _chunkYKFXQOQAjs.StripeInvoiceModule; exports.StripeInvoiceService = _chunkYKFXQOQAjs.StripeInvoiceService; exports.StripePaymentMethodModule = _chunkYKFXQOQAjs.StripePaymentMethodModule; exports.StripePrice = _chunkYKFXQOQAjs.StripePrice; exports.StripePriceFields = _chunkYKFXQOQAjs.StripePriceFields; exports.StripePriceModule = _chunkYKFXQOQAjs.StripePriceModule; exports.StripePriceService = _chunkYKFXQOQAjs.StripePriceService; exports.StripeProduct = _chunkYKFXQOQAjs.StripeProduct; exports.StripeProductFields = _chunkYKFXQOQAjs.StripeProductFields; exports.StripeProductModule = _chunkYKFXQOQAjs.StripeProductModule; exports.StripeProductService = _chunkYKFXQOQAjs.StripeProductService; exports.StripePromotionCode = _chunkYKFXQOQAjs.StripePromotionCode; exports.StripePromotionCodeModule = _chunkYKFXQOQAjs.StripePromotionCodeModule; exports.StripePromotionCodeService = _chunkYKFXQOQAjs.StripePromotionCodeService; exports.StripeSubscription = _chunkYKFXQOQAjs.StripeSubscription; exports.StripeSubscriptionModule = _chunkYKFXQOQAjs.StripeSubscriptionModule; exports.StripeSubscriptionService = _chunkYKFXQOQAjs.StripeSubscriptionService; exports.StripeUsage = _chunkYKFXQOQAjs.StripeUsage; exports.StripeUsageModule = _chunkYKFXQOQAjs.StripeUsageModule; exports.StripeUsageService = _chunkYKFXQOQAjs.StripeUsageService; exports.SubscriptionStatus = _chunkYKFXQOQAjs.SubscriptionStatus; exports.TableOptions = _chunkYKFXQOQAjs.TableOptions; exports.TokenUsageAdminBreakdownModule = _chunkYKFXQOQAjs.TokenUsageAdminBreakdownModule; exports.TokenUsageAdminSummaryModule = _chunkYKFXQOQAjs.TokenUsageAdminSummaryModule; exports.TokenUsageAdminTimelineModule = _chunkYKFXQOQAjs.TokenUsageAdminTimelineModule; exports.TotpAuthenticator = _chunkYKFXQOQAjs.TotpAuthenticator; exports.TotpAuthenticatorModule = _chunkYKFXQOQAjs.TotpAuthenticatorModule; exports.TotpSetup = _chunkYKFXQOQAjs.TotpSetup; exports.TotpSetupModule = _chunkYKFXQOQAjs.TotpSetupModule; exports.TotpVerify = _chunkYKFXQOQAjs.TotpVerify; exports.TotpVerifyLogin = _chunkYKFXQOQAjs.TotpVerifyLogin; exports.TotpVerifyLoginModule = _chunkYKFXQOQAjs.TotpVerifyLoginModule; exports.TotpVerifyModule = _chunkYKFXQOQAjs.TotpVerifyModule; exports.TwoFactorChallenge = _chunkYKFXQOQAjs.TwoFactorChallenge; exports.TwoFactorChallengeModule = _chunkYKFXQOQAjs.TwoFactorChallengeModule; exports.TwoFactorEnable = _chunkYKFXQOQAjs.TwoFactorEnable; exports.TwoFactorEnableModule = _chunkYKFXQOQAjs.TwoFactorEnableModule; exports.TwoFactorService = _chunkYKFXQOQAjs.TwoFactorService; exports.TwoFactorStatus = _chunkYKFXQOQAjs.TwoFactorStatus; exports.TwoFactorStatusModule = _chunkYKFXQOQAjs.TwoFactorStatusModule; exports.User = _chunkYKFXQOQAjs.User; exports.UserFields = _chunkYKFXQOQAjs.UserFields; exports.UserModule = _chunkYKFXQOQAjs.UserModule; exports.UserService = _chunkYKFXQOQAjs.UserService; exports.VIEWPORT_COOKIE_NAME = _chunkYKFXQOQAjs.VIEWPORT_COOKIE_NAME; exports.Waitlist = _chunkYKFXQOQAjs.Waitlist; exports.WaitlistModule = _chunkYKFXQOQAjs.WaitlistModule; exports.WaitlistService = _chunkYKFXQOQAjs.WaitlistService; exports.WaitlistStats = _chunkYKFXQOQAjs.WaitlistStats; exports.WaitlistStatsModule = _chunkYKFXQOQAjs.WaitlistStatsModule; exports.checkPermissions = _chunkYKFXQOQAjs.checkPermissions; exports.checkPermissionsFromServer = _chunkYKFXQOQAjs.checkPermissionsFromServer; exports.clearLastApiMeta = _chunkYKFXQOQAjs.clearLastApiMeta; exports.clearLastApiTotal = _chunkYKFXQOQAjs.clearLastApiTotal; exports.cn = _chunkYKFXQOQAjs.cn; exports.composeRefs = _chunkYKFXQOQAjs.composeRefs; exports.configureAuth = _chunkYKFXQOQAjs.configureAuth; exports.configureI18n = _chunkUYENG3GTjs.configureI18n; exports.configureJsonApi = _chunkUYENG3GTjs.configureJsonApi; exports.configureLogin = _chunkUYENG3GTjs.configureLogin; exports.configureReferral = _chunkUYENG3GTjs.configureReferral; exports.configureRoles = _chunkUYENG3GTjs.configureRoles; exports.configureTokenUsage = _chunkYKFXQOQAjs.configureTokenUsage; exports.configureWaitlist = _chunkUYENG3GTjs.configureWaitlist; exports.createJsonApiInclusion = _chunkYKFXQOQAjs.createJsonApiInclusion; exports.dismissToast = _chunkYKFXQOQAjs.dismissToast; exports.entityObjectSchema = _chunkYKFXQOQAjs.entityObjectSchema; exports.exists = _chunkYKFXQOQAjs.exists; exports.formatCodiceFiscale = _chunkYKFXQOQAjs.formatCodiceFiscale; exports.formatDate = _chunkYKFXQOQAjs.formatDate; exports.formatLocalDate = _chunkYKFXQOQAjs.formatLocalDate; exports.formatPartitaIva = _chunkYKFXQOQAjs.formatPartitaIva; exports.getApiUrl = _chunkUYENG3GTjs.getApiUrl; exports.getAppUrl = _chunkUYENG3GTjs.getAppUrl; exports.getBootstrapper = _chunkPFAZPP54js.getBootstrapper; exports.getClientGlobalErrorHandler = _chunkYKFXQOQAjs.getClientGlobalErrorHandler; exports.getGlobalErrorHandler = _chunkYKFXQOQAjs.getGlobalErrorHandler; exports.getIcon = _chunkYKFXQOQAjs.getIcon; exports.getIconByModule = _chunkYKFXQOQAjs.getIconByModule; exports.getIconByModuleName = _chunkYKFXQOQAjs.getIconByModuleName; exports.getInitials = _chunkYKFXQOQAjs.getInitials; exports.getLastApiMeta = _chunkYKFXQOQAjs.getLastApiMeta; exports.getLastApiTotal = _chunkYKFXQOQAjs.getLastApiTotal; exports.getLucideIcon = _chunkYKFXQOQAjs.getLucideIcon; exports.getLucideIconByModule = _chunkYKFXQOQAjs.getLucideIconByModule; exports.getLucideIconByModuleName = _chunkYKFXQOQAjs.getLucideIconByModuleName; exports.getPublicApiUrl = _chunkUYENG3GTjs.getPublicApiUrl; exports.getReferralConfig = _chunkUYENG3GTjs.getReferralConfig; exports.getRoleId = _chunkUYENG3GTjs.getRoleId; exports.getStripePublishableKey = _chunkUYENG3GTjs.getStripePublishableKey; exports.getTableComponents = _chunkYKFXQOQAjs.getTableComponents; exports.getTableOptions = _chunkYKFXQOQAjs.getTableOptions; exports.getTokenHandler = _chunkYKFXQOQAjs.getTokenHandler; exports.getTokenUsageCurrency = _chunkYKFXQOQAjs.getTokenUsageCurrency; exports.getTrackablePages = _chunkUYENG3GTjs.getTrackablePages; exports.getValueFromPath = _chunkYKFXQOQAjs.getValueFromPath; exports.getWaitlistConfig = _chunkUYENG3GTjs.getWaitlistConfig; exports.hasBootstrapper = _chunkPFAZPP54js.hasBootstrapper; exports.isReferralEnabled = _chunkUYENG3GTjs.isReferralEnabled; exports.isRemoteImageSrc = _chunkYKFXQOQAjs.isRemoteImageSrc; exports.isRolesConfigured = _chunkUYENG3GTjs.isRolesConfigured; exports.rehydrate = _chunkYKFXQOQAjs.rehydrate; exports.rehydrateList = _chunkYKFXQOQAjs.rehydrateList; exports.resetBootstrapStore = _chunkPFAZPP54js.resetBootstrapStore; exports.setBootstrapper = _chunkPFAZPP54js.setBootstrapper; exports.setClientGlobalErrorHandler = _chunkYKFXQOQAjs.setClientGlobalErrorHandler; exports.setGlobalErrorHandler = _chunkYKFXQOQAjs.setGlobalErrorHandler; exports.showCustomToast = _chunkYKFXQOQAjs.showCustomToast; exports.showError = _chunkYKFXQOQAjs.showError; exports.showToast = _chunkYKFXQOQAjs.showToast; exports.tokenUsageModules = _chunkYKFXQOQAjs.tokenUsageModules; exports.translateData = _chunkPFAZPP54js.translateData; exports.translateResponse = _chunkPFAZPP54js.translateResponse; exports.tryBootstrap = _chunkPFAZPP54js.tryBootstrap; exports.useComposedRefs = _chunkYKFXQOQAjs.useComposedRefs; exports.useIsMobile = _chunkYKFXQOQAjs.useIsMobile; exports.userObjectSchema = _chunkYKFXQOQAjs.userObjectSchema; exports.validateCodiceFiscale = _chunkYKFXQOQAjs.validateCodiceFiscale; exports.validateItalianTaxCode = _chunkYKFXQOQAjs.validateItalianTaxCode; exports.validatePartitaIva = _chunkYKFXQOQAjs.validatePartitaIva;
479
+
480
+ exports.ACTION_TYPES = _chunkOHG2YWNAjs.ACTION_TYPES; exports.AVAILABLE_OAUTH_SCOPES = _chunkS2C5V2XZjs.AVAILABLE_OAUTH_SCOPES; exports.AbstractApiData = _chunkS2C5V2XZjs.AbstractApiData; exports.AbstractService = _chunkS2C5V2XZjs.AbstractService; exports.Action = _chunkS2C5V2XZjs.Action; exports.AiConnection = _chunkS2C5V2XZjs.AiConnection; exports.AiConnectionFields = _chunkS2C5V2XZjs.AiConnectionFields; exports.AiConnectionModule = _chunkS2C5V2XZjs.AiConnectionModule; exports.AiConnectionService = _chunkS2C5V2XZjs.AiConnectionService; exports.Assistant = _chunkS2C5V2XZjs.Assistant; exports.AssistantAction = _chunkS2C5V2XZjs.AssistantAction; exports.AssistantActionModule = _chunkS2C5V2XZjs.AssistantActionModule; exports.AssistantActionService = _chunkS2C5V2XZjs.AssistantActionService; exports.AssistantMessage = _chunkS2C5V2XZjs.AssistantMessage; exports.AssistantMessageModule = _chunkS2C5V2XZjs.AssistantMessageModule; exports.AssistantMessageService = _chunkS2C5V2XZjs.AssistantMessageService; exports.AssistantModule = _chunkS2C5V2XZjs.AssistantModule; exports.AssistantService = _chunkS2C5V2XZjs.AssistantService; exports.AuditLog = _chunkS2C5V2XZjs.AuditLog; exports.AuditLogModule = _chunkS2C5V2XZjs.AuditLogModule; exports.AuditLogService = _chunkS2C5V2XZjs.AuditLogService; exports.Auth = _chunkS2C5V2XZjs.Auth; exports.AuthComponent = _chunkS2C5V2XZjs.AuthComponent; exports.AuthModule = _chunkS2C5V2XZjs.AuthModule; exports.AuthService = _chunkS2C5V2XZjs.AuthService; exports.AuthorModule = _chunkS2C5V2XZjs.AuthorModule; exports.BackupCodeVerify = _chunkS2C5V2XZjs.BackupCodeVerify; exports.BackupCodeVerifyModule = _chunkS2C5V2XZjs.BackupCodeVerifyModule; exports.Billing = _chunkS2C5V2XZjs.Billing; exports.BillingModule = _chunkS2C5V2XZjs.BillingModule; exports.BillingService = _chunkS2C5V2XZjs.BillingService; exports.BlockNoteDiffUtil = _chunkS2C5V2XZjs.BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = _chunkS2C5V2XZjs.BlockNoteWordDiffRendererUtil; exports.COMPANY_ADMINISTRATOR_ROLE_ID = _chunkOHG2YWNAjs.COMPANY_ADMINISTRATOR_ROLE_ID; exports.Chunk = _chunkS2C5V2XZjs.Chunk; exports.ChunkModule = _chunkS2C5V2XZjs.ChunkModule; exports.ClientAbstractService = _chunkS2C5V2XZjs.ClientAbstractService; exports.ClientHttpMethod = _chunkS2C5V2XZjs.ClientHttpMethod; exports.Company = _chunkS2C5V2XZjs.Company; exports.CompanyFields = _chunkS2C5V2XZjs.CompanyFields; exports.CompanyModule = _chunkS2C5V2XZjs.CompanyModule; exports.CompanyService = _chunkS2C5V2XZjs.CompanyService; exports.Content = _chunkS2C5V2XZjs.Content; exports.ContentFields = _chunkS2C5V2XZjs.ContentFields; exports.ContentModule = _chunkS2C5V2XZjs.ContentModule; exports.ContentService = _chunkS2C5V2XZjs.ContentService; exports.DEFAULT_GRANT_TYPES = _chunkS2C5V2XZjs.DEFAULT_GRANT_TYPES; exports.DataClass = _chunkW42MYR3Yjs.DataClassRegistry; exports.DataClassRegistry = _chunkW42MYR3Yjs.DataClassRegistry; exports.ENV = _chunkW42MYR3Yjs.ENV; exports.EndpointCreator = _chunkS2C5V2XZjs.EndpointCreator; exports.EntityAiStatus = _chunkS2C5V2XZjs.EntityAiStatus; exports.Feature = _chunkS2C5V2XZjs.Feature; exports.FeatureModule = _chunkS2C5V2XZjs.FeatureModule; exports.FeatureService = _chunkS2C5V2XZjs.FeatureService; exports.HowTo = _chunkS2C5V2XZjs.HowTo; exports.HowToFields = _chunkS2C5V2XZjs.HowToFields; exports.HowToModule = _chunkS2C5V2XZjs.HowToModule; exports.HowToService = _chunkS2C5V2XZjs.HowToService; exports.HttpMethod = _chunkS2C5V2XZjs.HttpMethod; exports.InvoiceStatus = _chunkS2C5V2XZjs.InvoiceStatus; exports.JsonApiDataFactory = _chunkW42MYR3Yjs.JsonApiDataFactory; exports.MOBILE_BREAKPOINT = _chunkS2C5V2XZjs.MOBILE_BREAKPOINT; exports.Module = _chunkS2C5V2XZjs.Module; exports.ModuleModule = _chunkS2C5V2XZjs.ModuleModule; exports.ModulePaths = _chunkS2C5V2XZjs.ModulePaths; exports.ModulePathsModule = _chunkS2C5V2XZjs.ModulePathsModule; exports.ModuleRegistrar = _chunkS2C5V2XZjs.ModuleRegistrar; exports.ModuleRegistry = _chunkS2C5V2XZjs.ModuleRegistry; exports.Modules = _chunkS2C5V2XZjs.Modules; exports.Notification = _chunkS2C5V2XZjs.Notification; exports.NotificationFields = _chunkS2C5V2XZjs.NotificationFields; exports.NotificationModule = _chunkS2C5V2XZjs.NotificationModule; exports.NotificationService = _chunkS2C5V2XZjs.NotificationService; exports.OAUTH_SCOPE_DISPLAY = _chunkS2C5V2XZjs.OAUTH_SCOPE_DISPLAY; exports.OAuthClient = _chunkS2C5V2XZjs.OAuthClient; exports.OAuthModule = _chunkS2C5V2XZjs.OAuthModule; exports.OAuthService = _chunkS2C5V2XZjs.OAuthService; exports.Passkey = _chunkS2C5V2XZjs.Passkey; exports.PasskeyAuthenticationOptions = _chunkS2C5V2XZjs.PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = _chunkS2C5V2XZjs.PasskeyAuthenticationOptionsModule; exports.PasskeyModule = _chunkS2C5V2XZjs.PasskeyModule; exports.PasskeyRegistrationOptions = _chunkS2C5V2XZjs.PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = _chunkS2C5V2XZjs.PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = _chunkS2C5V2XZjs.PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = _chunkS2C5V2XZjs.PasskeyRegistrationVerifyModule; exports.PasskeyRename = _chunkS2C5V2XZjs.PasskeyRename; exports.PasskeyRenameModule = _chunkS2C5V2XZjs.PasskeyRenameModule; exports.PasskeyVerifyLogin = _chunkS2C5V2XZjs.PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = _chunkS2C5V2XZjs.PasskeyVerifyLoginModule; exports.PaymentMethod = _chunkS2C5V2XZjs.PaymentMethod; exports.PermissionMapping = _chunkS2C5V2XZjs.PermissionMapping; exports.PermissionMappingModule = _chunkS2C5V2XZjs.PermissionMappingModule; exports.Push = _chunkS2C5V2XZjs.Push; exports.PushModule = _chunkS2C5V2XZjs.PushModule; exports.PushService = _chunkS2C5V2XZjs.PushService; exports.RbacMatrixModel = _chunkS2C5V2XZjs.RbacMatrixModel; exports.RbacMatrixModule = _chunkS2C5V2XZjs.RbacMatrixModule; exports.RbacService = _chunkOHG2YWNAjs.RbacService; exports.ReferralModule = _chunkS2C5V2XZjs.ReferralModule; exports.ReferralService = _chunkS2C5V2XZjs.ReferralService; exports.ReferralStats = _chunkS2C5V2XZjs.ReferralStats; exports.ReferralStatsModule = _chunkS2C5V2XZjs.ReferralStatsModule; exports.RehydrationFactory = _chunkS2C5V2XZjs.RehydrationFactory; exports.Role = _chunkS2C5V2XZjs.Role; exports.RoleFields = _chunkS2C5V2XZjs.RoleFields; exports.RoleModule = _chunkS2C5V2XZjs.RoleModule; exports.RoleService = _chunkS2C5V2XZjs.RoleService; exports.S3 = _chunkS2C5V2XZjs.S3; exports.S3Module = _chunkS2C5V2XZjs.S3Module; exports.S3Service = _chunkS2C5V2XZjs.S3Service; exports.StripeCustomer = _chunkS2C5V2XZjs.StripeCustomer; exports.StripeCustomerModule = _chunkS2C5V2XZjs.StripeCustomerModule; exports.StripeCustomerService = _chunkS2C5V2XZjs.StripeCustomerService; exports.StripeInvoice = _chunkS2C5V2XZjs.StripeInvoice; exports.StripeInvoiceModule = _chunkS2C5V2XZjs.StripeInvoiceModule; exports.StripeInvoiceService = _chunkS2C5V2XZjs.StripeInvoiceService; exports.StripePaymentMethodModule = _chunkS2C5V2XZjs.StripePaymentMethodModule; exports.StripePrice = _chunkS2C5V2XZjs.StripePrice; exports.StripePriceFields = _chunkS2C5V2XZjs.StripePriceFields; exports.StripePriceModule = _chunkS2C5V2XZjs.StripePriceModule; exports.StripePriceService = _chunkS2C5V2XZjs.StripePriceService; exports.StripeProduct = _chunkS2C5V2XZjs.StripeProduct; exports.StripeProductFields = _chunkS2C5V2XZjs.StripeProductFields; exports.StripeProductModule = _chunkS2C5V2XZjs.StripeProductModule; exports.StripeProductService = _chunkS2C5V2XZjs.StripeProductService; exports.StripePromotionCode = _chunkS2C5V2XZjs.StripePromotionCode; exports.StripePromotionCodeModule = _chunkS2C5V2XZjs.StripePromotionCodeModule; exports.StripePromotionCodeService = _chunkS2C5V2XZjs.StripePromotionCodeService; exports.StripeSubscription = _chunkS2C5V2XZjs.StripeSubscription; exports.StripeSubscriptionModule = _chunkS2C5V2XZjs.StripeSubscriptionModule; exports.StripeSubscriptionService = _chunkS2C5V2XZjs.StripeSubscriptionService; exports.StripeUsage = _chunkS2C5V2XZjs.StripeUsage; exports.StripeUsageModule = _chunkS2C5V2XZjs.StripeUsageModule; exports.StripeUsageService = _chunkS2C5V2XZjs.StripeUsageService; exports.SubscriptionStatus = _chunkS2C5V2XZjs.SubscriptionStatus; exports.TableOptions = _chunkS2C5V2XZjs.TableOptions; exports.TokenUsageAdminBreakdownModule = _chunkS2C5V2XZjs.TokenUsageAdminBreakdownModule; exports.TokenUsageAdminSummaryModule = _chunkS2C5V2XZjs.TokenUsageAdminSummaryModule; exports.TokenUsageAdminTimelineModule = _chunkS2C5V2XZjs.TokenUsageAdminTimelineModule; exports.TotpAuthenticator = _chunkS2C5V2XZjs.TotpAuthenticator; exports.TotpAuthenticatorModule = _chunkS2C5V2XZjs.TotpAuthenticatorModule; exports.TotpSetup = _chunkS2C5V2XZjs.TotpSetup; exports.TotpSetupModule = _chunkS2C5V2XZjs.TotpSetupModule; exports.TotpVerify = _chunkS2C5V2XZjs.TotpVerify; exports.TotpVerifyLogin = _chunkS2C5V2XZjs.TotpVerifyLogin; exports.TotpVerifyLoginModule = _chunkS2C5V2XZjs.TotpVerifyLoginModule; exports.TotpVerifyModule = _chunkS2C5V2XZjs.TotpVerifyModule; exports.TwoFactorChallenge = _chunkS2C5V2XZjs.TwoFactorChallenge; exports.TwoFactorChallengeModule = _chunkS2C5V2XZjs.TwoFactorChallengeModule; exports.TwoFactorEnable = _chunkS2C5V2XZjs.TwoFactorEnable; exports.TwoFactorEnableModule = _chunkS2C5V2XZjs.TwoFactorEnableModule; exports.TwoFactorService = _chunkS2C5V2XZjs.TwoFactorService; exports.TwoFactorStatus = _chunkS2C5V2XZjs.TwoFactorStatus; exports.TwoFactorStatusModule = _chunkS2C5V2XZjs.TwoFactorStatusModule; exports.User = _chunkS2C5V2XZjs.User; exports.UserFields = _chunkS2C5V2XZjs.UserFields; exports.UserModule = _chunkS2C5V2XZjs.UserModule; exports.UserService = _chunkS2C5V2XZjs.UserService; exports.VIEWPORT_COOKIE_NAME = _chunkS2C5V2XZjs.VIEWPORT_COOKIE_NAME; exports.Waitlist = _chunkS2C5V2XZjs.Waitlist; exports.WaitlistModule = _chunkS2C5V2XZjs.WaitlistModule; exports.WaitlistService = _chunkS2C5V2XZjs.WaitlistService; exports.WaitlistStats = _chunkS2C5V2XZjs.WaitlistStats; exports.WaitlistStatsModule = _chunkS2C5V2XZjs.WaitlistStatsModule; exports.checkPermissions = _chunkS2C5V2XZjs.checkPermissions; exports.checkPermissionsFromServer = _chunkS2C5V2XZjs.checkPermissionsFromServer; exports.clearLastApiMeta = _chunkS2C5V2XZjs.clearLastApiMeta; exports.clearLastApiTotal = _chunkS2C5V2XZjs.clearLastApiTotal; exports.cn = _chunkS2C5V2XZjs.cn; exports.composeRefs = _chunkS2C5V2XZjs.composeRefs; exports.configureAuth = _chunkS2C5V2XZjs.configureAuth; exports.configureI18n = _chunkOHG2YWNAjs.configureI18n; exports.configureJsonApi = _chunkOHG2YWNAjs.configureJsonApi; exports.configureLogin = _chunkOHG2YWNAjs.configureLogin; exports.configureReferral = _chunkOHG2YWNAjs.configureReferral; exports.configureRoles = _chunkOHG2YWNAjs.configureRoles; exports.configureTokenUsage = _chunkS2C5V2XZjs.configureTokenUsage; exports.configureWaitlist = _chunkOHG2YWNAjs.configureWaitlist; exports.createJsonApiInclusion = _chunkS2C5V2XZjs.createJsonApiInclusion; exports.dismissToast = _chunkS2C5V2XZjs.dismissToast; exports.entityObjectSchema = _chunkS2C5V2XZjs.entityObjectSchema; exports.exists = _chunkS2C5V2XZjs.exists; exports.formatCodiceFiscale = _chunkS2C5V2XZjs.formatCodiceFiscale; exports.formatDate = _chunkS2C5V2XZjs.formatDate; exports.formatLocalDate = _chunkS2C5V2XZjs.formatLocalDate; exports.formatPartitaIva = _chunkS2C5V2XZjs.formatPartitaIva; exports.getApiUrl = _chunkOHG2YWNAjs.getApiUrl; exports.getAppUrl = _chunkOHG2YWNAjs.getAppUrl; exports.getBootstrapper = _chunkW42MYR3Yjs.getBootstrapper; exports.getClientGlobalErrorHandler = _chunkS2C5V2XZjs.getClientGlobalErrorHandler; exports.getGlobalErrorHandler = _chunkS2C5V2XZjs.getGlobalErrorHandler; exports.getIcon = _chunkS2C5V2XZjs.getIcon; exports.getIconByModule = _chunkS2C5V2XZjs.getIconByModule; exports.getIconByModuleName = _chunkS2C5V2XZjs.getIconByModuleName; exports.getInitials = _chunkS2C5V2XZjs.getInitials; exports.getLastApiMeta = _chunkS2C5V2XZjs.getLastApiMeta; exports.getLastApiTotal = _chunkS2C5V2XZjs.getLastApiTotal; exports.getLucideIcon = _chunkS2C5V2XZjs.getLucideIcon; exports.getLucideIconByModule = _chunkS2C5V2XZjs.getLucideIconByModule; exports.getLucideIconByModuleName = _chunkS2C5V2XZjs.getLucideIconByModuleName; exports.getPublicApiUrl = _chunkOHG2YWNAjs.getPublicApiUrl; exports.getReferralConfig = _chunkOHG2YWNAjs.getReferralConfig; exports.getRoleId = _chunkOHG2YWNAjs.getRoleId; exports.getStripePublishableKey = _chunkOHG2YWNAjs.getStripePublishableKey; exports.getTableComponents = _chunkS2C5V2XZjs.getTableComponents; exports.getTableOptions = _chunkS2C5V2XZjs.getTableOptions; exports.getTokenHandler = _chunkS2C5V2XZjs.getTokenHandler; exports.getTokenUsageCurrency = _chunkS2C5V2XZjs.getTokenUsageCurrency; exports.getTrackablePages = _chunkOHG2YWNAjs.getTrackablePages; exports.getValueFromPath = _chunkS2C5V2XZjs.getValueFromPath; exports.getWaitlistConfig = _chunkOHG2YWNAjs.getWaitlistConfig; exports.hasBootstrapper = _chunkW42MYR3Yjs.hasBootstrapper; exports.isReferralEnabled = _chunkOHG2YWNAjs.isReferralEnabled; exports.isRemoteImageSrc = _chunkS2C5V2XZjs.isRemoteImageSrc; exports.isRolesConfigured = _chunkOHG2YWNAjs.isRolesConfigured; exports.rehydrate = _chunkS2C5V2XZjs.rehydrate; exports.rehydrateList = _chunkS2C5V2XZjs.rehydrateList; exports.resetBootstrapStore = _chunkW42MYR3Yjs.resetBootstrapStore; exports.setBootstrapper = _chunkW42MYR3Yjs.setBootstrapper; exports.setClientGlobalErrorHandler = _chunkS2C5V2XZjs.setClientGlobalErrorHandler; exports.setGlobalErrorHandler = _chunkS2C5V2XZjs.setGlobalErrorHandler; exports.showCustomToast = _chunkS2C5V2XZjs.showCustomToast; exports.showError = _chunkS2C5V2XZjs.showError; exports.showToast = _chunkS2C5V2XZjs.showToast; exports.tokenUsageModules = _chunkS2C5V2XZjs.tokenUsageModules; exports.translateData = _chunkW42MYR3Yjs.translateData; exports.translateResponse = _chunkW42MYR3Yjs.translateResponse; exports.tryBootstrap = _chunkW42MYR3Yjs.tryBootstrap; exports.useComposedRefs = _chunkS2C5V2XZjs.useComposedRefs; exports.useIsMobile = _chunkS2C5V2XZjs.useIsMobile; exports.userObjectSchema = _chunkS2C5V2XZjs.userObjectSchema; exports.validateCodiceFiscale = _chunkS2C5V2XZjs.validateCodiceFiscale; exports.validateItalianTaxCode = _chunkS2C5V2XZjs.validateItalianTaxCode; exports.validatePartitaIva = _chunkS2C5V2XZjs.validatePartitaIva;
479
481
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/index.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,u/bAAC","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/index.js"}
1
+ {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/index.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,2hcAAC","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/index.js"}
package/dist/index.mjs CHANGED
@@ -18,7 +18,7 @@ import {
18
18
  getWaitlistConfig,
19
19
  isReferralEnabled,
20
20
  isRolesConfigured
21
- } from "./chunk-LCMVARSP.mjs";
21
+ } from "./chunk-RUEY6XSS.mjs";
22
22
  import {
23
23
  AVAILABLE_OAUTH_SCOPES,
24
24
  AbstractApiData,
@@ -225,11 +225,12 @@ import {
225
225
  validateCodiceFiscale,
226
226
  validateItalianTaxCode,
227
227
  validatePartitaIva
228
- } from "./chunk-PGARO3JT.mjs";
228
+ } from "./chunk-KW6LYVFJ.mjs";
229
229
  import "./chunk-AUXK7QSA.mjs";
230
230
  import "./chunk-C7C7VY4F.mjs";
231
231
  import {
232
232
  DataClassRegistry,
233
+ ENV,
233
234
  JsonApiDataFactory,
234
235
  getBootstrapper,
235
236
  hasBootstrapper,
@@ -238,7 +239,7 @@ import {
238
239
  translateData,
239
240
  translateResponse,
240
241
  tryBootstrap
241
- } from "./chunk-CMGXH5SA.mjs";
242
+ } from "./chunk-RVASYIQG.mjs";
242
243
  import "./chunk-PAWJFY3S.mjs";
243
244
  export {
244
245
  ACTION_TYPES,
@@ -290,6 +291,7 @@ export {
290
291
  DEFAULT_GRANT_TYPES,
291
292
  DataClassRegistry as DataClass,
292
293
  DataClassRegistry,
294
+ ENV,
293
295
  EndpointCreator,
294
296
  EntityAiStatus,
295
297
  Feature,
@@ -15,13 +15,14 @@ var _chunkIOLU4ASDjs = require('../chunk-IOLU4ASD.js');
15
15
 
16
16
 
17
17
 
18
- var _chunkYKFXQOQAjs = require('../chunk-YKFXQOQA.js');
18
+ var _chunkS2C5V2XZjs = require('../chunk-S2C5V2XZ.js');
19
19
  require('../chunk-LXKSUWAV.js');
20
20
  require('../chunk-IBS6NI7D.js');
21
21
 
22
22
 
23
23
 
24
- var _chunkPFAZPP54js = require('../chunk-PFAZPP54.js');
24
+
25
+ var _chunkW42MYR3Yjs = require('../chunk-W42MYR3Y.js');
25
26
 
26
27
 
27
28
  var _chunk7QVYU63Ejs = require('../chunk-7QVYU63E.js');
@@ -86,7 +87,7 @@ var ServerSession = class {
86
87
  if (!rawModules) return false;
87
88
  const modules = JSON.parse(_pako.ungzip.call(void 0, Buffer.from(rawModules, "base64"), { toText: true }));
88
89
  const selectedModule = modules.find((module) => module.id === params.module.moduleId);
89
- return _chunkYKFXQOQAjs.checkPermissionsFromServer.call(void 0, {
90
+ return _chunkS2C5V2XZjs.checkPermissionsFromServer.call(void 0, {
90
91
  module: params.module,
91
92
  action: params.action,
92
93
  data: params.data,
@@ -109,7 +110,7 @@ function getServerApiUrl() {
109
110
  if (_optionalChain([_serverConfig, 'optionalAccess', _19 => _19.apiUrl])) {
110
111
  return _serverConfig.apiUrl;
111
112
  }
112
- const envUrl = process.env.NEXT_PUBLIC_API_URL;
113
+ const envUrl = _chunkW42MYR3Yjs.ENV.API_URL;
113
114
  if (!envUrl) {
114
115
  throw new Error(
115
116
  "API URL not configured. Use configureServerJsonApi() or set NEXT_PUBLIC_API_URL environment variable."
@@ -122,7 +123,7 @@ function getServerAppUrl() {
122
123
  if (_optionalChain([_serverConfig, 'optionalAccess', _20 => _20.appUrl])) {
123
124
  return _serverConfig.appUrl;
124
125
  }
125
- const envUrl = process.env.NEXT_PUBLIC_ADDRESS;
126
+ const envUrl = _chunkW42MYR3Yjs.ENV.APP_URL;
126
127
  if (!envUrl) {
127
128
  throw new Error(
128
129
  "App URL not configured. Use configureServerJsonApi({ appUrl }) or set NEXT_PUBLIC_ADDRESS environment variable."
@@ -158,7 +159,7 @@ async function ServerJsonApiGet(params) {
158
159
  language: params.language,
159
160
  additionalHeaders: _optionalChain([_serverConfig, 'optionalAccess', _23 => _23.additionalHeaders])
160
161
  });
161
- return _chunkPFAZPP54js.translateResponse.call(void 0, {
162
+ return _chunkW42MYR3Yjs.translateResponse.call(void 0, {
162
163
  classKey: params.classKey,
163
164
  apiResponse,
164
165
  companyId: params.companyId,
@@ -179,7 +180,7 @@ async function ServerJsonApiPost(params) {
179
180
  if (!body) {
180
181
  body = {};
181
182
  } else if (params.overridesJsonApiCreation !== true) {
182
- body = _chunkPFAZPP54js.JsonApiDataFactory.create(params.classKey, body);
183
+ body = _chunkW42MYR3Yjs.JsonApiDataFactory.create(params.classKey, body);
183
184
  }
184
185
  const apiResponse = await _chunkIOLU4ASDjs.serverRequest.call(void 0, {
185
186
  method: "POST",
@@ -191,7 +192,7 @@ async function ServerJsonApiPost(params) {
191
192
  language: params.language,
192
193
  additionalHeaders: _optionalChain([_serverConfig, 'optionalAccess', _24 => _24.additionalHeaders])
193
194
  });
194
- return _chunkPFAZPP54js.translateResponse.call(void 0, {
195
+ return _chunkW42MYR3Yjs.translateResponse.call(void 0, {
195
196
  classKey: _nullishCoalesce(params.responseType, () => ( params.classKey)),
196
197
  apiResponse,
197
198
  companyId: params.companyId,
@@ -206,7 +207,7 @@ async function ServerJsonApiPut(params) {
206
207
  if (!body) {
207
208
  body = {};
208
209
  } else {
209
- body = _chunkPFAZPP54js.JsonApiDataFactory.create(params.classKey, body);
210
+ body = _chunkW42MYR3Yjs.JsonApiDataFactory.create(params.classKey, body);
210
211
  }
211
212
  const apiResponse = await _chunkIOLU4ASDjs.serverRequest.call(void 0, {
212
213
  method: "PUT",
@@ -218,7 +219,7 @@ async function ServerJsonApiPut(params) {
218
219
  language: params.language,
219
220
  additionalHeaders: _optionalChain([_serverConfig, 'optionalAccess', _25 => _25.additionalHeaders])
220
221
  });
221
- return _chunkPFAZPP54js.translateResponse.call(void 0, {
222
+ return _chunkW42MYR3Yjs.translateResponse.call(void 0, {
222
223
  classKey: _nullishCoalesce(params.responseType, () => ( params.classKey)),
223
224
  apiResponse,
224
225
  companyId: params.companyId,
@@ -233,7 +234,7 @@ async function ServerJsonApiPatch(params) {
233
234
  if (!body) {
234
235
  body = {};
235
236
  } else if (params.overridesJsonApiCreation !== true) {
236
- body = _chunkPFAZPP54js.JsonApiDataFactory.create(params.classKey, body);
237
+ body = _chunkW42MYR3Yjs.JsonApiDataFactory.create(params.classKey, body);
237
238
  }
238
239
  const apiResponse = await _chunkIOLU4ASDjs.serverRequest.call(void 0, {
239
240
  method: "PATCH",
@@ -245,7 +246,7 @@ async function ServerJsonApiPatch(params) {
245
246
  language: params.language,
246
247
  additionalHeaders: _optionalChain([_serverConfig, 'optionalAccess', _26 => _26.additionalHeaders])
247
248
  });
248
- return _chunkPFAZPP54js.translateResponse.call(void 0, {
249
+ return _chunkW42MYR3Yjs.translateResponse.call(void 0, {
249
250
  classKey: _nullishCoalesce(params.responseType, () => ( params.classKey)),
250
251
  apiResponse,
251
252
  companyId: params.companyId,
@@ -264,7 +265,7 @@ async function ServerJsonApiDelete(params) {
264
265
  language: params.language,
265
266
  additionalHeaders: _optionalChain([_serverConfig, 'optionalAccess', _27 => _27.additionalHeaders])
266
267
  });
267
- return _chunkPFAZPP54js.translateResponse.call(void 0, {
268
+ return _chunkW42MYR3Yjs.translateResponse.call(void 0, {
268
269
  classKey: _nullishCoalesce(params.responseType, () => ( params.classKey)),
269
270
  apiResponse,
270
271
  companyId: params.companyId,
@@ -296,5 +297,5 @@ _chunk7QVYU63Ejs.__name.call(void 0, ServerJsonApiDelete, "ServerJsonApiDelete")
296
297
 
297
298
 
298
299
 
299
- exports.ServerAuthService = _chunkYKFXQOQAjs.AuthService; exports.ServerCompanyService = _chunkYKFXQOQAjs.CompanyService; exports.ServerContentService = _chunkYKFXQOQAjs.ContentService; exports.ServerFeatureService = _chunkYKFXQOQAjs.FeatureService; exports.ServerJsonApiDelete = ServerJsonApiDelete; exports.ServerJsonApiGet = ServerJsonApiGet; exports.ServerJsonApiPatch = ServerJsonApiPatch; exports.ServerJsonApiPost = ServerJsonApiPost; exports.ServerJsonApiPut = ServerJsonApiPut; exports.ServerNotificationService = _chunkYKFXQOQAjs.NotificationService; exports.ServerPushService = _chunkYKFXQOQAjs.PushService; exports.ServerRoleService = _chunkYKFXQOQAjs.RoleService; exports.ServerS3Service = _chunkYKFXQOQAjs.S3Service; exports.ServerSession = ServerSession; exports.ServerUserService = _chunkYKFXQOQAjs.UserService; exports.configureServerJsonApi = configureServerJsonApi; exports.getServerApiUrl = getServerApiUrl; exports.getServerAppUrl = getServerAppUrl; exports.getServerToken = _chunkYUO55Q5Ajs.getServerToken; exports.getServerTrackablePages = getServerTrackablePages; exports.invalidateCacheTag = invalidateCacheTag; exports.invalidateCacheTags = invalidateCacheTags; exports.serverRequest = _chunkIOLU4ASDjs.serverRequest;
300
+ exports.ServerAuthService = _chunkS2C5V2XZjs.AuthService; exports.ServerCompanyService = _chunkS2C5V2XZjs.CompanyService; exports.ServerContentService = _chunkS2C5V2XZjs.ContentService; exports.ServerFeatureService = _chunkS2C5V2XZjs.FeatureService; exports.ServerJsonApiDelete = ServerJsonApiDelete; exports.ServerJsonApiGet = ServerJsonApiGet; exports.ServerJsonApiPatch = ServerJsonApiPatch; exports.ServerJsonApiPost = ServerJsonApiPost; exports.ServerJsonApiPut = ServerJsonApiPut; exports.ServerNotificationService = _chunkS2C5V2XZjs.NotificationService; exports.ServerPushService = _chunkS2C5V2XZjs.PushService; exports.ServerRoleService = _chunkS2C5V2XZjs.RoleService; exports.ServerS3Service = _chunkS2C5V2XZjs.S3Service; exports.ServerSession = ServerSession; exports.ServerUserService = _chunkS2C5V2XZjs.UserService; exports.configureServerJsonApi = configureServerJsonApi; exports.getServerApiUrl = getServerApiUrl; exports.getServerAppUrl = getServerAppUrl; exports.getServerToken = _chunkYUO55Q5Ajs.getServerToken; exports.getServerTrackablePages = getServerTrackablePages; exports.invalidateCacheTag = invalidateCacheTag; exports.invalidateCacheTags = invalidateCacheTags; exports.serverRequest = _chunkIOLU4ASDjs.serverRequest;
300
301
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/server/index.js","../../src/server/cache.ts","../../src/server/ServerSession.ts","../../src/server/JsonApiServer.ts"],"names":[],"mappings":"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EwC,EAAA;AAC9B,IAAA;AAC2B,IAAA;AACnC,IAAA;AACA,IAAA;AACc,IAAA;AACI,IAAA;AACD,IAAA;AACiB,IAAA;AACnC,EAAA;AAEwB,EAAA;AACiB,IAAA;AACxC,IAAA;AACkB,IAAA;AACD,IAAA;AAClB,EAAA;AACH;AApCsB;AA+CY;AACV,EAAA;AACa,EAAA;AAEjB,EAAA;AACP,EAAA;AACD,IAAA;AACqC,EAAA;AACL,IAAA;AAC1C,EAAA;AAEwC,EAAA;AAC9B,IAAA;AAC2B,IAAA;AACnC,IAAA;AACA,IAAA;AACc,IAAA;AACI,IAAA;AACD,IAAA;AACiB,IAAA;AACnC,EAAA;AAEwB,EAAA;AACiB,IAAA;AACxC,IAAA;AACkB,IAAA;AACD,IAAA;AAClB,EAAA;AACH;AArCsB;AA6CY;AACV,EAAA;AACa,EAAA;AAEK,EAAA;AAC9B,IAAA;AAC2B,IAAA;AACnC,IAAA;AACkB,IAAA;AACD,IAAA;AACiB,IAAA;AACnC,EAAA;AAEwB,EAAA;AACiB,IAAA;AACxC,IAAA;AACkB,IAAA;AACD,IAAA;AAClB,EAAA;AACH;AAzBsB;AH+C6B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/server/index.js","sourcesContent":[null,"// Server-only utilities (NOT server actions - these cannot be called from client components)\n\nimport { revalidateTag } from \"next/cache\";\n\nexport type CacheProfile = \"seconds\" | \"minutes\" | \"hours\" | \"days\" | \"weeks\" | \"max\" | \"default\";\n\n/**\n * Revalidate a cache tag to invalidate cached data.\n * Next.js 16+ requires a profile parameter.\n *\n * @param tag - The cache tag to invalidate\n * @param profile - The cache profile (defaults to \"max\" for immediate invalidation)\n */\nexport async function invalidateCacheTag(tag: string, profile: CacheProfile = \"max\"): Promise<void> {\n revalidateTag(tag, profile);\n}\n\n/**\n * Revalidate multiple cache tags.\n *\n * @param tags - Array of cache tags to invalidate\n * @param profile - The cache profile (defaults to \"max\" for immediate invalidation)\n */\nexport async function invalidateCacheTags(tags: string[], profile: CacheProfile = \"max\"): Promise<void> {\n for (const tag of tags) {\n revalidateTag(tag, profile);\n }\n}\n","import { cookies } from \"next/headers\";\nimport { redirect } from \"next/navigation\";\nimport { ungzip } from \"pako\";\nimport { Action, checkPermissionsFromServer, ModuleWithPermissions } from \"../permissions\";\n\nexport class ServerSession {\n static async isLogged() {\n const cookieStore = await cookies();\n const token = cookieStore.get(\"token\");\n\n if (!token || !token.value) return false;\n return true;\n }\n\n static async companyId() {\n const cookieStore = await cookies();\n return cookieStore.get(\"companyId\")?.value ?? \"\";\n }\n\n static async userId() {\n const cookieStore = await cookies();\n return cookieStore.get(\"userId\")?.value ?? \"\";\n }\n\n static async checkPermission<M extends ModuleWithPermissions>(params: { module: M; action: Action; data?: any }) {\n if (!(await this.hasPermissionToModule(params))) redirect(`/401`);\n }\n\n static async hasRole(roleId: string): Promise<boolean> {\n const cookieStore = await cookies();\n const roles = cookieStore.get(\"roles\")?.value;\n\n if (!roles || !roles.includes(roleId)) return false;\n\n return true;\n }\n\n static async hasFeature(featureId: string): Promise<boolean> {\n const cookieStore = await cookies();\n const features = cookieStore.get(\"features\")?.value;\n\n if (!features || !features.includes(featureId)) return false;\n\n return true;\n }\n\n static async hasPermissionToModule<M extends ModuleWithPermissions>(params: {\n module: M;\n action: Action;\n data?: any;\n }): Promise<boolean> {\n const cookieStore = await cookies();\n\n if (params.module.feature) {\n const features = cookieStore.get(\"features\")?.value;\n\n if (features && !features.includes(params.module.feature)) return false;\n }\n\n const rawModules = cookieStore.get(\"modules\")?.value;\n if (!rawModules) return false;\n\n const modules: {\n id: string;\n permissions: {\n create: boolean | string;\n read: boolean | string;\n update: boolean | string;\n delete: boolean | string;\n };\n }[] = JSON.parse(ungzip(Buffer.from(rawModules, \"base64\"), { toText: true }));\n\n const selectedModule = modules.find((module) => module.id === params.module.moduleId);\n\n return checkPermissionsFromServer({\n module: params.module,\n action: params.action,\n data: params.data,\n userId: await this.userId(),\n selectedModule: selectedModule,\n });\n\n // if (!selectedModule) return false;\n\n // if (!selectedModule.permissions[params.action]) return false;\n // if (typeof selectedModule.permissions[params.action] === \"boolean\")\n // return selectedModule.permissions[params.action] as boolean;\n\n // if (!params.data) return false;\n\n // return params.data[selectedModule.permissions[params.action] as string] === this.userId;\n }\n}\n","// Server-only utilities (NOT server actions - these cannot be called from client components)\n\nimport { JsonApiDataFactory } from \"../core/factories/JsonApiDataFactory\";\nimport { ApiRequestDataTypeInterface } from \"../core/interfaces/ApiRequestDataTypeInterface\";\nimport { ApiResponseInterface } from \"../core/interfaces/ApiResponseInterface\";\nimport { translateResponse } from \"../core/utils/translateResponse\";\nimport { ModuleWithPermissions } from \"../permissions/types\";\nimport { serverRequest } from \"./request\";\nimport { getServerToken } from \"./token\";\n\n// Config storage for server contexts\nlet _serverConfig: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n} | null = null;\n\n/**\n * Configure the JSON:API server client.\n * Call this in your Bootstrapper or server initialization.\n */\nexport function configureServerJsonApi(config: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n}): void {\n _serverConfig = config;\n if (config.bootstrapper) {\n config.bootstrapper();\n }\n}\n\nexport function getServerApiUrl(): string {\n if (_serverConfig?.apiUrl) {\n return _serverConfig.apiUrl;\n }\n const envUrl = process.env.NEXT_PUBLIC_API_URL;\n if (!envUrl) {\n throw new Error(\n \"API URL not configured. Use configureServerJsonApi() or set NEXT_PUBLIC_API_URL environment variable.\",\n );\n }\n return envUrl;\n}\n\nexport function getServerAppUrl(): string {\n if (_serverConfig?.appUrl) {\n return _serverConfig.appUrl;\n }\n const envUrl = process.env.NEXT_PUBLIC_ADDRESS;\n if (!envUrl) {\n throw new Error(\n \"App URL not configured. Use configureServerJsonApi({ appUrl }) or set NEXT_PUBLIC_ADDRESS environment variable.\",\n );\n }\n return envUrl.trim().replace(/\\/+$/, \"\");\n}\n\nexport function getServerTrackablePages(): ModuleWithPermissions[] {\n return _serverConfig?.trackablePages ?? [];\n}\n\nfunction runServerBootstrapper(): void {\n if (_serverConfig?.bootstrapper) {\n _serverConfig.bootstrapper();\n }\n}\n\nfunction buildServerUrl(endpoint: string): string {\n const apiUrl = getServerApiUrl();\n return endpoint.startsWith(\"http\") ? endpoint : `${apiUrl}${endpoint}`;\n}\n\nexport async function ServerJsonApiGet(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n language: string;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n const apiResponse = await serverRequest({\n method: \"GET\",\n url: buildServerUrl(params.endpoint),\n token,\n cache: params.classKey.cache,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n paginationHandler: async (endpoint: string) =>\n ServerJsonApiGet({\n classKey: params.classKey,\n endpoint,\n companyId: params.companyId,\n language: params.language,\n }),\n });\n}\n\nexport async function ServerJsonApiPost(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n body?: any;\n overridesJsonApiCreation?: boolean;\n files?: { [key: string]: File | Blob } | File | Blob;\n language: string;\n responseType?: ApiRequestDataTypeInterface;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n let body = params.body;\n if (!body) {\n body = {};\n } else if (params.overridesJsonApiCreation !== true) {\n body = JsonApiDataFactory.create(params.classKey, body);\n }\n\n const apiResponse = await serverRequest({\n method: \"POST\",\n url: buildServerUrl(params.endpoint),\n token,\n body,\n files: params.files,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n\nexport async function ServerJsonApiPut(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n body?: any;\n files?: { [key: string]: File | Blob } | File | Blob;\n language: string;\n responseType?: ApiRequestDataTypeInterface;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n let body = params.body;\n if (!body) {\n body = {};\n } else {\n body = JsonApiDataFactory.create(params.classKey, body);\n }\n\n const apiResponse = await serverRequest({\n method: \"PUT\",\n url: buildServerUrl(params.endpoint),\n token,\n body,\n files: params.files,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n\nexport async function ServerJsonApiPatch(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n body?: any;\n files?: { [key: string]: File | Blob } | File | Blob;\n overridesJsonApiCreation?: boolean;\n responseType?: ApiRequestDataTypeInterface;\n language: string;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n let body = params.body;\n if (!body) {\n body = {};\n } else if (params.overridesJsonApiCreation !== true) {\n body = JsonApiDataFactory.create(params.classKey, body);\n }\n\n const apiResponse = await serverRequest({\n method: \"PATCH\",\n url: buildServerUrl(params.endpoint),\n token,\n body,\n files: params.files,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n\nexport async function ServerJsonApiDelete(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n language: string;\n responseType?: ApiRequestDataTypeInterface;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n const apiResponse = await serverRequest({\n method: \"DELETE\",\n url: buildServerUrl(params.endpoint),\n token,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/server/index.js","../../src/server/cache.ts","../../src/server/ServerSession.ts","../../src/server/JsonApiServer.ts"],"names":[],"mappings":"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IAAA;AAC2B,IAAA;AACnC,IAAA;AACA,IAAA;AACc,IAAA;AACI,IAAA;AACD,IAAA;AACiB,IAAA;AACnC,EAAA;AAEwB,EAAA;AACiB,IAAA;AACxC,IAAA;AACkB,IAAA;AACD,IAAA;AAClB,EAAA;AACH;AApCsB;AA+CY;AACV,EAAA;AACa,EAAA;AAEjB,EAAA;AACP,EAAA;AACD,IAAA;AACqC,EAAA;AACL,IAAA;AAC1C,EAAA;AAEwC,EAAA;AAC9B,IAAA;AAC2B,IAAA;AACnC,IAAA;AACA,IAAA;AACc,IAAA;AACI,IAAA;AACD,IAAA;AACiB,IAAA;AACnC,EAAA;AAEwB,EAAA;AACiB,IAAA;AACxC,IAAA;AACkB,IAAA;AACD,IAAA;AAClB,EAAA;AACH;AArCsB;AA6CY;AACV,EAAA;AACa,EAAA;AAEK,EAAA;AAC9B,IAAA;AAC2B,IAAA;AACnC,IAAA;AACkB,IAAA;AACD,IAAA;AACiB,IAAA;AACnC,EAAA;AAEwB,EAAA;AACiB,IAAA;AACxC,IAAA;AACkB,IAAA;AACD,IAAA;AAClB,EAAA;AACH;AAzBsB;AH+C6B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/server/index.js","sourcesContent":[null,"// Server-only utilities (NOT server actions - these cannot be called from client components)\n\nimport { revalidateTag } from \"next/cache\";\n\nexport type CacheProfile = \"seconds\" | \"minutes\" | \"hours\" | \"days\" | \"weeks\" | \"max\" | \"default\";\n\n/**\n * Revalidate a cache tag to invalidate cached data.\n * Next.js 16+ requires a profile parameter.\n *\n * @param tag - The cache tag to invalidate\n * @param profile - The cache profile (defaults to \"max\" for immediate invalidation)\n */\nexport async function invalidateCacheTag(tag: string, profile: CacheProfile = \"max\"): Promise<void> {\n revalidateTag(tag, profile);\n}\n\n/**\n * Revalidate multiple cache tags.\n *\n * @param tags - Array of cache tags to invalidate\n * @param profile - The cache profile (defaults to \"max\" for immediate invalidation)\n */\nexport async function invalidateCacheTags(tags: string[], profile: CacheProfile = \"max\"): Promise<void> {\n for (const tag of tags) {\n revalidateTag(tag, profile);\n }\n}\n","import { cookies } from \"next/headers\";\nimport { redirect } from \"next/navigation\";\nimport { ungzip } from \"pako\";\nimport { Action, checkPermissionsFromServer, ModuleWithPermissions } from \"../permissions\";\n\nexport class ServerSession {\n static async isLogged() {\n const cookieStore = await cookies();\n const token = cookieStore.get(\"token\");\n\n if (!token || !token.value) return false;\n return true;\n }\n\n static async companyId() {\n const cookieStore = await cookies();\n return cookieStore.get(\"companyId\")?.value ?? \"\";\n }\n\n static async userId() {\n const cookieStore = await cookies();\n return cookieStore.get(\"userId\")?.value ?? \"\";\n }\n\n static async checkPermission<M extends ModuleWithPermissions>(params: { module: M; action: Action; data?: any }) {\n if (!(await this.hasPermissionToModule(params))) redirect(`/401`);\n }\n\n static async hasRole(roleId: string): Promise<boolean> {\n const cookieStore = await cookies();\n const roles = cookieStore.get(\"roles\")?.value;\n\n if (!roles || !roles.includes(roleId)) return false;\n\n return true;\n }\n\n static async hasFeature(featureId: string): Promise<boolean> {\n const cookieStore = await cookies();\n const features = cookieStore.get(\"features\")?.value;\n\n if (!features || !features.includes(featureId)) return false;\n\n return true;\n }\n\n static async hasPermissionToModule<M extends ModuleWithPermissions>(params: {\n module: M;\n action: Action;\n data?: any;\n }): Promise<boolean> {\n const cookieStore = await cookies();\n\n if (params.module.feature) {\n const features = cookieStore.get(\"features\")?.value;\n\n if (features && !features.includes(params.module.feature)) return false;\n }\n\n const rawModules = cookieStore.get(\"modules\")?.value;\n if (!rawModules) return false;\n\n const modules: {\n id: string;\n permissions: {\n create: boolean | string;\n read: boolean | string;\n update: boolean | string;\n delete: boolean | string;\n };\n }[] = JSON.parse(ungzip(Buffer.from(rawModules, \"base64\"), { toText: true }));\n\n const selectedModule = modules.find((module) => module.id === params.module.moduleId);\n\n return checkPermissionsFromServer({\n module: params.module,\n action: params.action,\n data: params.data,\n userId: await this.userId(),\n selectedModule: selectedModule,\n });\n\n // if (!selectedModule) return false;\n\n // if (!selectedModule.permissions[params.action]) return false;\n // if (typeof selectedModule.permissions[params.action] === \"boolean\")\n // return selectedModule.permissions[params.action] as boolean;\n\n // if (!params.data) return false;\n\n // return params.data[selectedModule.permissions[params.action] as string] === this.userId;\n }\n}\n","// Server-only utilities (NOT server actions - these cannot be called from client components)\n\nimport { ENV } from \"../core/env\";\nimport { JsonApiDataFactory } from \"../core/factories/JsonApiDataFactory\";\nimport { ApiRequestDataTypeInterface } from \"../core/interfaces/ApiRequestDataTypeInterface\";\nimport { ApiResponseInterface } from \"../core/interfaces/ApiResponseInterface\";\nimport { translateResponse } from \"../core/utils/translateResponse\";\nimport { ModuleWithPermissions } from \"../permissions/types\";\nimport { serverRequest } from \"./request\";\nimport { getServerToken } from \"./token\";\n\n// Config storage for server contexts\nlet _serverConfig: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n} | null = null;\n\n/**\n * Configure the JSON:API server client.\n * Call this in your Bootstrapper or server initialization.\n */\nexport function configureServerJsonApi(config: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n}): void {\n _serverConfig = config;\n if (config.bootstrapper) {\n config.bootstrapper();\n }\n}\n\nexport function getServerApiUrl(): string {\n if (_serverConfig?.apiUrl) {\n return _serverConfig.apiUrl;\n }\n const envUrl = ENV.API_URL;\n if (!envUrl) {\n throw new Error(\n \"API URL not configured. Use configureServerJsonApi() or set NEXT_PUBLIC_API_URL environment variable.\",\n );\n }\n return envUrl;\n}\n\nexport function getServerAppUrl(): string {\n if (_serverConfig?.appUrl) {\n return _serverConfig.appUrl;\n }\n const envUrl = ENV.APP_URL;\n if (!envUrl) {\n throw new Error(\n \"App URL not configured. Use configureServerJsonApi({ appUrl }) or set NEXT_PUBLIC_ADDRESS environment variable.\",\n );\n }\n return envUrl.trim().replace(/\\/+$/, \"\");\n}\n\nexport function getServerTrackablePages(): ModuleWithPermissions[] {\n return _serverConfig?.trackablePages ?? [];\n}\n\nfunction runServerBootstrapper(): void {\n if (_serverConfig?.bootstrapper) {\n _serverConfig.bootstrapper();\n }\n}\n\nfunction buildServerUrl(endpoint: string): string {\n const apiUrl = getServerApiUrl();\n return endpoint.startsWith(\"http\") ? endpoint : `${apiUrl}${endpoint}`;\n}\n\nexport async function ServerJsonApiGet(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n language: string;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n const apiResponse = await serverRequest({\n method: \"GET\",\n url: buildServerUrl(params.endpoint),\n token,\n cache: params.classKey.cache,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n paginationHandler: async (endpoint: string) =>\n ServerJsonApiGet({\n classKey: params.classKey,\n endpoint,\n companyId: params.companyId,\n language: params.language,\n }),\n });\n}\n\nexport async function ServerJsonApiPost(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n body?: any;\n overridesJsonApiCreation?: boolean;\n files?: { [key: string]: File | Blob } | File | Blob;\n language: string;\n responseType?: ApiRequestDataTypeInterface;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n let body = params.body;\n if (!body) {\n body = {};\n } else if (params.overridesJsonApiCreation !== true) {\n body = JsonApiDataFactory.create(params.classKey, body);\n }\n\n const apiResponse = await serverRequest({\n method: \"POST\",\n url: buildServerUrl(params.endpoint),\n token,\n body,\n files: params.files,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n\nexport async function ServerJsonApiPut(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n body?: any;\n files?: { [key: string]: File | Blob } | File | Blob;\n language: string;\n responseType?: ApiRequestDataTypeInterface;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n let body = params.body;\n if (!body) {\n body = {};\n } else {\n body = JsonApiDataFactory.create(params.classKey, body);\n }\n\n const apiResponse = await serverRequest({\n method: \"PUT\",\n url: buildServerUrl(params.endpoint),\n token,\n body,\n files: params.files,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n\nexport async function ServerJsonApiPatch(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n body?: any;\n files?: { [key: string]: File | Blob } | File | Blob;\n overridesJsonApiCreation?: boolean;\n responseType?: ApiRequestDataTypeInterface;\n language: string;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n let body = params.body;\n if (!body) {\n body = {};\n } else if (params.overridesJsonApiCreation !== true) {\n body = JsonApiDataFactory.create(params.classKey, body);\n }\n\n const apiResponse = await serverRequest({\n method: \"PATCH\",\n url: buildServerUrl(params.endpoint),\n token,\n body,\n files: params.files,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n\nexport async function ServerJsonApiDelete(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n language: string;\n responseType?: ApiRequestDataTypeInterface;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n const apiResponse = await serverRequest({\n method: \"DELETE\",\n url: buildServerUrl(params.endpoint),\n token,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n"]}
@@ -15,13 +15,14 @@ import {
15
15
  S3Service,
16
16
  UserService,
17
17
  checkPermissionsFromServer
18
- } from "../chunk-PGARO3JT.mjs";
18
+ } from "../chunk-KW6LYVFJ.mjs";
19
19
  import "../chunk-AUXK7QSA.mjs";
20
20
  import "../chunk-C7C7VY4F.mjs";
21
21
  import {
22
+ ENV,
22
23
  JsonApiDataFactory,
23
24
  translateResponse
24
- } from "../chunk-CMGXH5SA.mjs";
25
+ } from "../chunk-RVASYIQG.mjs";
25
26
  import {
26
27
  __name
27
28
  } from "../chunk-PAWJFY3S.mjs";
@@ -109,7 +110,7 @@ function getServerApiUrl() {
109
110
  if (_serverConfig?.apiUrl) {
110
111
  return _serverConfig.apiUrl;
111
112
  }
112
- const envUrl = process.env.NEXT_PUBLIC_API_URL;
113
+ const envUrl = ENV.API_URL;
113
114
  if (!envUrl) {
114
115
  throw new Error(
115
116
  "API URL not configured. Use configureServerJsonApi() or set NEXT_PUBLIC_API_URL environment variable."
@@ -122,7 +123,7 @@ function getServerAppUrl() {
122
123
  if (_serverConfig?.appUrl) {
123
124
  return _serverConfig.appUrl;
124
125
  }
125
- const envUrl = process.env.NEXT_PUBLIC_ADDRESS;
126
+ const envUrl = ENV.APP_URL;
126
127
  if (!envUrl) {
127
128
  throw new Error(
128
129
  "App URL not configured. Use configureServerJsonApi({ appUrl }) or set NEXT_PUBLIC_ADDRESS environment variable."
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/server/cache.ts","../../src/server/ServerSession.ts","../../src/server/JsonApiServer.ts"],"sourcesContent":["// Server-only utilities (NOT server actions - these cannot be called from client components)\n\nimport { revalidateTag } from \"next/cache\";\n\nexport type CacheProfile = \"seconds\" | \"minutes\" | \"hours\" | \"days\" | \"weeks\" | \"max\" | \"default\";\n\n/**\n * Revalidate a cache tag to invalidate cached data.\n * Next.js 16+ requires a profile parameter.\n *\n * @param tag - The cache tag to invalidate\n * @param profile - The cache profile (defaults to \"max\" for immediate invalidation)\n */\nexport async function invalidateCacheTag(tag: string, profile: CacheProfile = \"max\"): Promise<void> {\n revalidateTag(tag, profile);\n}\n\n/**\n * Revalidate multiple cache tags.\n *\n * @param tags - Array of cache tags to invalidate\n * @param profile - The cache profile (defaults to \"max\" for immediate invalidation)\n */\nexport async function invalidateCacheTags(tags: string[], profile: CacheProfile = \"max\"): Promise<void> {\n for (const tag of tags) {\n revalidateTag(tag, profile);\n }\n}\n","import { cookies } from \"next/headers\";\nimport { redirect } from \"next/navigation\";\nimport { ungzip } from \"pako\";\nimport { Action, checkPermissionsFromServer, ModuleWithPermissions } from \"../permissions\";\n\nexport class ServerSession {\n static async isLogged() {\n const cookieStore = await cookies();\n const token = cookieStore.get(\"token\");\n\n if (!token || !token.value) return false;\n return true;\n }\n\n static async companyId() {\n const cookieStore = await cookies();\n return cookieStore.get(\"companyId\")?.value ?? \"\";\n }\n\n static async userId() {\n const cookieStore = await cookies();\n return cookieStore.get(\"userId\")?.value ?? \"\";\n }\n\n static async checkPermission<M extends ModuleWithPermissions>(params: { module: M; action: Action; data?: any }) {\n if (!(await this.hasPermissionToModule(params))) redirect(`/401`);\n }\n\n static async hasRole(roleId: string): Promise<boolean> {\n const cookieStore = await cookies();\n const roles = cookieStore.get(\"roles\")?.value;\n\n if (!roles || !roles.includes(roleId)) return false;\n\n return true;\n }\n\n static async hasFeature(featureId: string): Promise<boolean> {\n const cookieStore = await cookies();\n const features = cookieStore.get(\"features\")?.value;\n\n if (!features || !features.includes(featureId)) return false;\n\n return true;\n }\n\n static async hasPermissionToModule<M extends ModuleWithPermissions>(params: {\n module: M;\n action: Action;\n data?: any;\n }): Promise<boolean> {\n const cookieStore = await cookies();\n\n if (params.module.feature) {\n const features = cookieStore.get(\"features\")?.value;\n\n if (features && !features.includes(params.module.feature)) return false;\n }\n\n const rawModules = cookieStore.get(\"modules\")?.value;\n if (!rawModules) return false;\n\n const modules: {\n id: string;\n permissions: {\n create: boolean | string;\n read: boolean | string;\n update: boolean | string;\n delete: boolean | string;\n };\n }[] = JSON.parse(ungzip(Buffer.from(rawModules, \"base64\"), { toText: true }));\n\n const selectedModule = modules.find((module) => module.id === params.module.moduleId);\n\n return checkPermissionsFromServer({\n module: params.module,\n action: params.action,\n data: params.data,\n userId: await this.userId(),\n selectedModule: selectedModule,\n });\n\n // if (!selectedModule) return false;\n\n // if (!selectedModule.permissions[params.action]) return false;\n // if (typeof selectedModule.permissions[params.action] === \"boolean\")\n // return selectedModule.permissions[params.action] as boolean;\n\n // if (!params.data) return false;\n\n // return params.data[selectedModule.permissions[params.action] as string] === this.userId;\n }\n}\n","// Server-only utilities (NOT server actions - these cannot be called from client components)\n\nimport { JsonApiDataFactory } from \"../core/factories/JsonApiDataFactory\";\nimport { ApiRequestDataTypeInterface } from \"../core/interfaces/ApiRequestDataTypeInterface\";\nimport { ApiResponseInterface } from \"../core/interfaces/ApiResponseInterface\";\nimport { translateResponse } from \"../core/utils/translateResponse\";\nimport { ModuleWithPermissions } from \"../permissions/types\";\nimport { serverRequest } from \"./request\";\nimport { getServerToken } from \"./token\";\n\n// Config storage for server contexts\nlet _serverConfig: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n} | null = null;\n\n/**\n * Configure the JSON:API server client.\n * Call this in your Bootstrapper or server initialization.\n */\nexport function configureServerJsonApi(config: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n}): void {\n _serverConfig = config;\n if (config.bootstrapper) {\n config.bootstrapper();\n }\n}\n\nexport function getServerApiUrl(): string {\n if (_serverConfig?.apiUrl) {\n return _serverConfig.apiUrl;\n }\n const envUrl = process.env.NEXT_PUBLIC_API_URL;\n if (!envUrl) {\n throw new Error(\n \"API URL not configured. Use configureServerJsonApi() or set NEXT_PUBLIC_API_URL environment variable.\",\n );\n }\n return envUrl;\n}\n\nexport function getServerAppUrl(): string {\n if (_serverConfig?.appUrl) {\n return _serverConfig.appUrl;\n }\n const envUrl = process.env.NEXT_PUBLIC_ADDRESS;\n if (!envUrl) {\n throw new Error(\n \"App URL not configured. Use configureServerJsonApi({ appUrl }) or set NEXT_PUBLIC_ADDRESS environment variable.\",\n );\n }\n return envUrl.trim().replace(/\\/+$/, \"\");\n}\n\nexport function getServerTrackablePages(): ModuleWithPermissions[] {\n return _serverConfig?.trackablePages ?? [];\n}\n\nfunction runServerBootstrapper(): void {\n if (_serverConfig?.bootstrapper) {\n _serverConfig.bootstrapper();\n }\n}\n\nfunction buildServerUrl(endpoint: string): string {\n const apiUrl = getServerApiUrl();\n return endpoint.startsWith(\"http\") ? endpoint : `${apiUrl}${endpoint}`;\n}\n\nexport async function ServerJsonApiGet(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n language: string;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n const apiResponse = await serverRequest({\n method: \"GET\",\n url: buildServerUrl(params.endpoint),\n token,\n cache: params.classKey.cache,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n paginationHandler: async (endpoint: string) =>\n ServerJsonApiGet({\n classKey: params.classKey,\n endpoint,\n companyId: params.companyId,\n language: params.language,\n }),\n });\n}\n\nexport async function ServerJsonApiPost(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n body?: any;\n overridesJsonApiCreation?: boolean;\n files?: { [key: string]: File | Blob } | File | Blob;\n language: string;\n responseType?: ApiRequestDataTypeInterface;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n let body = params.body;\n if (!body) {\n body = {};\n } else if (params.overridesJsonApiCreation !== true) {\n body = JsonApiDataFactory.create(params.classKey, body);\n }\n\n const apiResponse = await serverRequest({\n method: \"POST\",\n url: buildServerUrl(params.endpoint),\n token,\n body,\n files: params.files,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n\nexport async function ServerJsonApiPut(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n body?: any;\n files?: { [key: string]: File | Blob } | File | Blob;\n language: string;\n responseType?: ApiRequestDataTypeInterface;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n let body = params.body;\n if (!body) {\n body = {};\n } else {\n body = JsonApiDataFactory.create(params.classKey, body);\n }\n\n const apiResponse = await serverRequest({\n method: \"PUT\",\n url: buildServerUrl(params.endpoint),\n token,\n body,\n files: params.files,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n\nexport async function ServerJsonApiPatch(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n body?: any;\n files?: { [key: string]: File | Blob } | File | Blob;\n overridesJsonApiCreation?: boolean;\n responseType?: ApiRequestDataTypeInterface;\n language: string;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n let body = params.body;\n if (!body) {\n body = {};\n } else if (params.overridesJsonApiCreation !== true) {\n body = JsonApiDataFactory.create(params.classKey, body);\n }\n\n const apiResponse = await serverRequest({\n method: \"PATCH\",\n url: buildServerUrl(params.endpoint),\n token,\n body,\n files: params.files,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n\nexport async function ServerJsonApiDelete(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n language: string;\n responseType?: ApiRequestDataTypeInterface;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n const apiResponse = await serverRequest({\n method: \"DELETE\",\n url: buildServerUrl(params.endpoint),\n token,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/server/cache.ts","../../src/server/ServerSession.ts","../../src/server/JsonApiServer.ts"],"sourcesContent":["// Server-only utilities (NOT server actions - these cannot be called from client components)\n\nimport { revalidateTag } from \"next/cache\";\n\nexport type CacheProfile = \"seconds\" | \"minutes\" | \"hours\" | \"days\" | \"weeks\" | \"max\" | \"default\";\n\n/**\n * Revalidate a cache tag to invalidate cached data.\n * Next.js 16+ requires a profile parameter.\n *\n * @param tag - The cache tag to invalidate\n * @param profile - The cache profile (defaults to \"max\" for immediate invalidation)\n */\nexport async function invalidateCacheTag(tag: string, profile: CacheProfile = \"max\"): Promise<void> {\n revalidateTag(tag, profile);\n}\n\n/**\n * Revalidate multiple cache tags.\n *\n * @param tags - Array of cache tags to invalidate\n * @param profile - The cache profile (defaults to \"max\" for immediate invalidation)\n */\nexport async function invalidateCacheTags(tags: string[], profile: CacheProfile = \"max\"): Promise<void> {\n for (const tag of tags) {\n revalidateTag(tag, profile);\n }\n}\n","import { cookies } from \"next/headers\";\nimport { redirect } from \"next/navigation\";\nimport { ungzip } from \"pako\";\nimport { Action, checkPermissionsFromServer, ModuleWithPermissions } from \"../permissions\";\n\nexport class ServerSession {\n static async isLogged() {\n const cookieStore = await cookies();\n const token = cookieStore.get(\"token\");\n\n if (!token || !token.value) return false;\n return true;\n }\n\n static async companyId() {\n const cookieStore = await cookies();\n return cookieStore.get(\"companyId\")?.value ?? \"\";\n }\n\n static async userId() {\n const cookieStore = await cookies();\n return cookieStore.get(\"userId\")?.value ?? \"\";\n }\n\n static async checkPermission<M extends ModuleWithPermissions>(params: { module: M; action: Action; data?: any }) {\n if (!(await this.hasPermissionToModule(params))) redirect(`/401`);\n }\n\n static async hasRole(roleId: string): Promise<boolean> {\n const cookieStore = await cookies();\n const roles = cookieStore.get(\"roles\")?.value;\n\n if (!roles || !roles.includes(roleId)) return false;\n\n return true;\n }\n\n static async hasFeature(featureId: string): Promise<boolean> {\n const cookieStore = await cookies();\n const features = cookieStore.get(\"features\")?.value;\n\n if (!features || !features.includes(featureId)) return false;\n\n return true;\n }\n\n static async hasPermissionToModule<M extends ModuleWithPermissions>(params: {\n module: M;\n action: Action;\n data?: any;\n }): Promise<boolean> {\n const cookieStore = await cookies();\n\n if (params.module.feature) {\n const features = cookieStore.get(\"features\")?.value;\n\n if (features && !features.includes(params.module.feature)) return false;\n }\n\n const rawModules = cookieStore.get(\"modules\")?.value;\n if (!rawModules) return false;\n\n const modules: {\n id: string;\n permissions: {\n create: boolean | string;\n read: boolean | string;\n update: boolean | string;\n delete: boolean | string;\n };\n }[] = JSON.parse(ungzip(Buffer.from(rawModules, \"base64\"), { toText: true }));\n\n const selectedModule = modules.find((module) => module.id === params.module.moduleId);\n\n return checkPermissionsFromServer({\n module: params.module,\n action: params.action,\n data: params.data,\n userId: await this.userId(),\n selectedModule: selectedModule,\n });\n\n // if (!selectedModule) return false;\n\n // if (!selectedModule.permissions[params.action]) return false;\n // if (typeof selectedModule.permissions[params.action] === \"boolean\")\n // return selectedModule.permissions[params.action] as boolean;\n\n // if (!params.data) return false;\n\n // return params.data[selectedModule.permissions[params.action] as string] === this.userId;\n }\n}\n","// Server-only utilities (NOT server actions - these cannot be called from client components)\n\nimport { ENV } from \"../core/env\";\nimport { JsonApiDataFactory } from \"../core/factories/JsonApiDataFactory\";\nimport { ApiRequestDataTypeInterface } from \"../core/interfaces/ApiRequestDataTypeInterface\";\nimport { ApiResponseInterface } from \"../core/interfaces/ApiResponseInterface\";\nimport { translateResponse } from \"../core/utils/translateResponse\";\nimport { ModuleWithPermissions } from \"../permissions/types\";\nimport { serverRequest } from \"./request\";\nimport { getServerToken } from \"./token\";\n\n// Config storage for server contexts\nlet _serverConfig: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n} | null = null;\n\n/**\n * Configure the JSON:API server client.\n * Call this in your Bootstrapper or server initialization.\n */\nexport function configureServerJsonApi(config: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n}): void {\n _serverConfig = config;\n if (config.bootstrapper) {\n config.bootstrapper();\n }\n}\n\nexport function getServerApiUrl(): string {\n if (_serverConfig?.apiUrl) {\n return _serverConfig.apiUrl;\n }\n const envUrl = ENV.API_URL;\n if (!envUrl) {\n throw new Error(\n \"API URL not configured. Use configureServerJsonApi() or set NEXT_PUBLIC_API_URL environment variable.\",\n );\n }\n return envUrl;\n}\n\nexport function getServerAppUrl(): string {\n if (_serverConfig?.appUrl) {\n return _serverConfig.appUrl;\n }\n const envUrl = ENV.APP_URL;\n if (!envUrl) {\n throw new Error(\n \"App URL not configured. Use configureServerJsonApi({ appUrl }) or set NEXT_PUBLIC_ADDRESS environment variable.\",\n );\n }\n return envUrl.trim().replace(/\\/+$/, \"\");\n}\n\nexport function getServerTrackablePages(): ModuleWithPermissions[] {\n return _serverConfig?.trackablePages ?? [];\n}\n\nfunction runServerBootstrapper(): void {\n if (_serverConfig?.bootstrapper) {\n _serverConfig.bootstrapper();\n }\n}\n\nfunction buildServerUrl(endpoint: string): string {\n const apiUrl = getServerApiUrl();\n return endpoint.startsWith(\"http\") ? endpoint : `${apiUrl}${endpoint}`;\n}\n\nexport async function ServerJsonApiGet(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n language: string;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n const apiResponse = await serverRequest({\n method: \"GET\",\n url: buildServerUrl(params.endpoint),\n token,\n cache: params.classKey.cache,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n paginationHandler: async (endpoint: string) =>\n ServerJsonApiGet({\n classKey: params.classKey,\n endpoint,\n companyId: params.companyId,\n language: params.language,\n }),\n });\n}\n\nexport async function ServerJsonApiPost(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n body?: any;\n overridesJsonApiCreation?: boolean;\n files?: { [key: string]: File | Blob } | File | Blob;\n language: string;\n responseType?: ApiRequestDataTypeInterface;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n let body = params.body;\n if (!body) {\n body = {};\n } else if (params.overridesJsonApiCreation !== true) {\n body = JsonApiDataFactory.create(params.classKey, body);\n }\n\n const apiResponse = await serverRequest({\n method: \"POST\",\n url: buildServerUrl(params.endpoint),\n token,\n body,\n files: params.files,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n\nexport async function ServerJsonApiPut(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n body?: any;\n files?: { [key: string]: File | Blob } | File | Blob;\n language: string;\n responseType?: ApiRequestDataTypeInterface;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n let body = params.body;\n if (!body) {\n body = {};\n } else {\n body = JsonApiDataFactory.create(params.classKey, body);\n }\n\n const apiResponse = await serverRequest({\n method: \"PUT\",\n url: buildServerUrl(params.endpoint),\n token,\n body,\n files: params.files,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n\nexport async function ServerJsonApiPatch(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n body?: any;\n files?: { [key: string]: File | Blob } | File | Blob;\n overridesJsonApiCreation?: boolean;\n responseType?: ApiRequestDataTypeInterface;\n language: string;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n let body = params.body;\n if (!body) {\n body = {};\n } else if (params.overridesJsonApiCreation !== true) {\n body = JsonApiDataFactory.create(params.classKey, body);\n }\n\n const apiResponse = await serverRequest({\n method: \"PATCH\",\n url: buildServerUrl(params.endpoint),\n token,\n body,\n files: params.files,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n\nexport async function ServerJsonApiDelete(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n language: string;\n responseType?: ApiRequestDataTypeInterface;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n const apiResponse = await serverRequest({\n method: \"DELETE\",\n url: buildServerUrl(params.endpoint),\n token,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carlonicora/nextjs-jsonapi",
3
- "version": "3.3.1",
3
+ "version": "3.3.2",
4
4
  "description": "Next.js JSON:API client with server/client support and caching",
5
5
  "author": "Carlo Nicora",
6
6
  "license": "GPL-3.0-or-later",
@@ -1,5 +1,6 @@
1
1
  "use client";
2
2
 
3
+ import { ENV } from "../core/env";
3
4
  import { JsonApiDataFactory } from "../core/factories/JsonApiDataFactory";
4
5
  import { ApiRequestDataTypeInterface } from "../core/interfaces/ApiRequestDataTypeInterface";
5
6
  import { ApiResponseInterface } from "../core/interfaces/ApiResponseInterface";
@@ -40,7 +41,7 @@ export function getClientApiUrl(): string {
40
41
  if (_clientConfig?.apiUrl) {
41
42
  return _clientConfig.apiUrl;
42
43
  }
43
- const envUrl = process.env.NEXT_PUBLIC_API_URL;
44
+ const envUrl = ENV.API_URL;
44
45
  if (!envUrl) {
45
46
  throw new Error(
46
47
  "API URL not configured. Use configureClientJsonApi() or set NEXT_PUBLIC_API_URL environment variable.",
@@ -53,7 +54,7 @@ export function getClientAppUrl(): string {
53
54
  if (_clientConfig?.appUrl) {
54
55
  return _clientConfig.appUrl;
55
56
  }
56
- const envUrl = process.env.NEXT_PUBLIC_ADDRESS;
57
+ const envUrl = ENV.APP_URL;
57
58
  if (!envUrl) {
58
59
  throw new Error(
59
60
  "App URL not configured. Use configureClientJsonApi({ appUrl }) or set NEXT_PUBLIC_ADDRESS environment variable.",
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
 
3
3
  import { ModuleWithPermissions } from "../permissions/types";
4
+ import { ENV } from "../core/env";
4
5
  import { setBootstrapper } from "../core/registry/bootstrapStore";
5
6
  import { _setStaticHelpContent } from "../core/registry/helpStore";
6
7
  import type { HelpContentConfig } from "../features/help/interfaces/help-content-config.interface";
@@ -65,10 +66,7 @@ export function getApiUrl(): string {
65
66
  if (_clientConfig?.apiUrl) {
66
67
  return _clientConfig.apiUrl;
67
68
  }
68
- if (typeof process !== "undefined" && process.env?.NEXT_PUBLIC_API_URL) {
69
- return process.env.NEXT_PUBLIC_API_URL;
70
- }
71
- return "";
69
+ return ENV.API_URL;
72
70
  }
73
71
 
74
72
  /**
@@ -80,10 +78,7 @@ export function getApiUrl(): string {
80
78
  * OAuth hrefs).
81
79
  */
82
80
  export function getPublicApiUrl(): string {
83
- if (typeof process !== "undefined" && process.env?.NEXT_PUBLIC_API_URL) {
84
- return process.env.NEXT_PUBLIC_API_URL;
85
- }
86
- return "";
81
+ return ENV.API_URL;
87
82
  }
88
83
 
89
84
  /**
@@ -93,8 +88,8 @@ export function getAppUrl(): string {
93
88
  if (_clientConfig?.appUrl) {
94
89
  return _clientConfig.appUrl;
95
90
  }
96
- if (typeof process !== "undefined" && process.env?.NEXT_PUBLIC_APP_URL) {
97
- return process.env.NEXT_PUBLIC_APP_URL;
91
+ if (ENV.APP_URL_ALTERNATE) {
92
+ return ENV.APP_URL_ALTERNATE;
98
93
  }
99
94
  if (typeof window !== "undefined") {
100
95
  return window.location.origin;
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
 
3
3
  import { useEffect, useRef, useState } from "react";
4
+ import { ENV } from "../../core/env";
4
5
  import { Input } from "../../shadcnui";
5
6
  import { cn } from "../../utils";
6
7
  import { FormFieldWrapper } from "./FormFieldWrapper";
@@ -86,7 +87,7 @@ export function FormPlaceAutocomplete({
86
87
 
87
88
  // Initialize API key
88
89
  useEffect(() => {
89
- const key = process.env.NEXT_PUBLIC_GOOGLE_MAPS_API_KEY;
90
+ const key = ENV.GOOGLE_MAPS_API_KEY;
90
91
 
91
92
  if (!key) {
92
93
  console.error("Google Maps API key not found. Please set NEXT_PUBLIC_GOOGLE_MAPS_API_KEY environment variable.");