@carlonicora/nextjs-jsonapi 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -108,11 +108,11 @@
108
108
 
109
109
 
110
110
 
111
- var _chunkKPRHIJO6js = require('../chunk-KPRHIJO6.js');
111
+ var _chunkKDFDGXCXjs = require('../chunk-KDFDGXCX.js');
112
112
  require('../chunk-IBS6NI7D.js');
113
113
  require('../chunk-EZK3H6EJ.js');
114
114
  require('../chunk-LJRD4SRV.js');
115
- require('../chunk-FYRFMABS.js');
115
+ require('../chunk-L6LH7WA4.js');
116
116
  require('../chunk-LXKSUWAV.js');
117
117
  require('../chunk-AYHKQWHH.js');
118
118
  require('../chunk-5ZEADNNP.js');
@@ -231,5 +231,5 @@ require('../chunk-7QVYU63E.js');
231
231
 
232
232
 
233
233
 
234
- exports.AcceptInvitation = _chunkKPRHIJO6js.AcceptInvitation; exports.ActivateAccount = _chunkKPRHIJO6js.ActivateAccount; exports.AddUserToRole = _chunkKPRHIJO6js.AddUserToRole; exports.AdminCompanyContainer = _chunkKPRHIJO6js.AdminCompanyContainer; exports.AdminUsersList = _chunkKPRHIJO6js.AdminUsersList; exports.AllowedUsersDetails = _chunkKPRHIJO6js.AllowedUsersDetails; exports.AttributeElement = _chunkKPRHIJO6js.AttributeElement; exports.AuthContainer = _chunkKPRHIJO6js.AuthContainer; exports.BlockNoteEditorContainer = _chunkKPRHIJO6js.BlockNoteEditorContainer; exports.Breadcrumb = _chunkKPRHIJO6js.Breadcrumb; exports.CommonAssociationCommandDialog = _chunkKPRHIJO6js.CommonAssociationCommandDialog; exports.CommonAssociationTrigger = _chunkKPRHIJO6js.CommonAssociationTrigger; exports.CommonDeleter = _chunkKPRHIJO6js.CommonDeleter; exports.CommonEditorButtons = _chunkKPRHIJO6js.CommonEditorButtons; exports.CommonEditorHeader = _chunkKPRHIJO6js.CommonEditorHeader; exports.CommonEditorTrigger = _chunkKPRHIJO6js.CommonEditorTrigger; exports.CompaniesList = _chunkKPRHIJO6js.CompaniesList; exports.CompanyConfigurationEditor = _chunkKPRHIJO6js.CompanyConfigurationEditor; exports.CompanyConfigurationSecurityForm = _chunkKPRHIJO6js.CompanyConfigurationSecurityForm; exports.CompanyContainer = _chunkKPRHIJO6js.CompanyContainer; exports.CompanyDeleter = _chunkKPRHIJO6js.CompanyDeleter; exports.CompanyDetails = _chunkKPRHIJO6js.CompanyDetails; exports.CompanyEditor = _chunkKPRHIJO6js.CompanyEditor; exports.CompanyUsersList = _chunkKPRHIJO6js.CompanyUsersList; exports.ContentListTable = _chunkKPRHIJO6js.ContentListTable; exports.ContentTableSearch = _chunkKPRHIJO6js.ContentTableSearch; exports.ContentTitle = _chunkKPRHIJO6js.ContentTitle; exports.ContentsList = _chunkKPRHIJO6js.ContentsList; exports.ContentsListById = _chunkKPRHIJO6js.ContentsListById; exports.ContributorsList = _chunkKPRHIJO6js.ContributorsList; exports.Cookies = _chunkKPRHIJO6js.Cookies; exports.DatePickerPopover = _chunkKPRHIJO6js.DatePickerPopover; exports.DateRangeSelector = _chunkKPRHIJO6js.DateRangeSelector; exports.ErrorDetails = _chunkKPRHIJO6js.ErrorDetails; exports.FileInput = _chunkKPRHIJO6js.FileInput; exports.FileUploader = _chunkKPRHIJO6js.FileUploader; exports.FileUploaderContent = _chunkKPRHIJO6js.FileUploaderContent; exports.FileUploaderItem = _chunkKPRHIJO6js.FileUploaderItem; exports.ForgotPassword = _chunkKPRHIJO6js.ForgotPassword; exports.FormCheckbox = _chunkKPRHIJO6js.FormCheckbox; exports.FormContainerGeneric = _chunkKPRHIJO6js.FormContainerGeneric; exports.FormDate = _chunkKPRHIJO6js.FormDate; exports.FormDateTime = _chunkKPRHIJO6js.FormDateTime; exports.FormFeatures = _chunkKPRHIJO6js.FormFeatures; exports.FormInput = _chunkKPRHIJO6js.FormInput; exports.FormPassword = _chunkKPRHIJO6js.FormPassword; exports.FormPlaceAutocomplete = _chunkKPRHIJO6js.FormPlaceAutocomplete; exports.FormRoles = _chunkKPRHIJO6js.FormRoles; exports.FormSelect = _chunkKPRHIJO6js.FormSelect; exports.FormSlider = _chunkKPRHIJO6js.FormSlider; exports.FormSwitch = _chunkKPRHIJO6js.FormSwitch; exports.FormTextarea = _chunkKPRHIJO6js.FormTextarea; exports.Header = _chunkKPRHIJO6js.Header; exports.LandingComponent = _chunkKPRHIJO6js.LandingComponent; exports.Login = _chunkKPRHIJO6js.Login; exports.Logout = _chunkKPRHIJO6js.Logout; exports.ModeToggleSwitch = _chunkKPRHIJO6js.ModeToggleSwitch; exports.NotificationErrorBoundary = _chunkKPRHIJO6js.NotificationErrorBoundary; exports.NotificationMenuItem = _chunkKPRHIJO6js.NotificationMenuItem; exports.NotificationModal = _chunkKPRHIJO6js.NotificationModal; exports.NotificationToast = _chunkKPRHIJO6js.NotificationToast; exports.NotificationsList = _chunkKPRHIJO6js.NotificationsList; exports.NotificationsListContainer = _chunkKPRHIJO6js.NotificationsListContainer; exports.PageContainer = _chunkKPRHIJO6js.PageContainer; exports.PageContainerContentDetails = _chunkKPRHIJO6js.PageContainerContentDetails; exports.PageContentContainer = _chunkKPRHIJO6js.PageContentContainer; exports.PageSection = _chunkKPRHIJO6js.PageSection; exports.PasswordInput = _chunkKPRHIJO6js.PasswordInput; exports.PushNotificationProvider = _chunkKPRHIJO6js.PushNotificationProvider; exports.ReactMarkdownContainer = _chunkKPRHIJO6js.ReactMarkdownContainer; exports.RecentPagesNavigator = _chunkKPRHIJO6js.RecentPagesNavigator; exports.RefreshUser = _chunkKPRHIJO6js.RefreshUser; exports.RelevantContentsList = _chunkKPRHIJO6js.RelevantContentsList; exports.RelevantUsersList = _chunkKPRHIJO6js.RelevantUsersList; exports.RemoveUserFromRole = _chunkKPRHIJO6js.RemoveUserFromRole; exports.ResetPassword = _chunkKPRHIJO6js.ResetPassword; exports.RoleContainer = _chunkKPRHIJO6js.RoleContainer; exports.RoleDetails = _chunkKPRHIJO6js.RoleDetails; exports.RoleUsersList = _chunkKPRHIJO6js.RoleUsersList; exports.RolesList = _chunkKPRHIJO6js.RolesList; exports.TabsContainer = _chunkKPRHIJO6js.TabsContainer; exports.UserAvatar = _chunkKPRHIJO6js.UserAvatar; exports.UserAvatarEditor = _chunkKPRHIJO6js.UserAvatarEditor; exports.UserContainer = _chunkKPRHIJO6js.UserContainer; exports.UserDeleter = _chunkKPRHIJO6js.UserDeleter; exports.UserDetails = _chunkKPRHIJO6js.UserDetails; exports.UserEditor = _chunkKPRHIJO6js.UserEditor; exports.UserIndexContainer = _chunkKPRHIJO6js.UserIndexContainer; exports.UserIndexDetails = _chunkKPRHIJO6js.UserIndexDetails; exports.UserListInAdd = _chunkKPRHIJO6js.UserListInAdd; exports.UserMultiSelect = _chunkKPRHIJO6js.UserMultiSelect; exports.UserReactivator = _chunkKPRHIJO6js.UserReactivator; exports.UserResentInvitationEmail = _chunkKPRHIJO6js.UserResentInvitationEmail; exports.UserRoleAdd = _chunkKPRHIJO6js.UserRoleAdd; exports.UserRolesList = _chunkKPRHIJO6js.UserRolesList; exports.UserSelector = _chunkKPRHIJO6js.UserSelector; exports.UsersList = _chunkKPRHIJO6js.UsersList; exports.UsersListByContentIds = _chunkKPRHIJO6js.UsersListByContentIds; exports.UsersListContainer = _chunkKPRHIJO6js.UsersListContainer; exports.cellComponent = _chunkKPRHIJO6js.cellComponent; exports.cellDate = _chunkKPRHIJO6js.cellDate; exports.cellId = _chunkKPRHIJO6js.cellId; exports.cellLink = _chunkKPRHIJO6js.cellLink; exports.cellUrl = _chunkKPRHIJO6js.cellUrl; exports.errorToast = _chunkKPRHIJO6js.errorToast; exports.generateNotificationData = _chunkKPRHIJO6js.generateNotificationData; exports.triggerAssociationToast = _chunkKPRHIJO6js.triggerAssociationToast; exports.useFileUpload = _chunkKPRHIJO6js.useFileUpload;
234
+ exports.AcceptInvitation = _chunkKDFDGXCXjs.AcceptInvitation; exports.ActivateAccount = _chunkKDFDGXCXjs.ActivateAccount; exports.AddUserToRole = _chunkKDFDGXCXjs.AddUserToRole; exports.AdminCompanyContainer = _chunkKDFDGXCXjs.AdminCompanyContainer; exports.AdminUsersList = _chunkKDFDGXCXjs.AdminUsersList; exports.AllowedUsersDetails = _chunkKDFDGXCXjs.AllowedUsersDetails; exports.AttributeElement = _chunkKDFDGXCXjs.AttributeElement; exports.AuthContainer = _chunkKDFDGXCXjs.AuthContainer; exports.BlockNoteEditorContainer = _chunkKDFDGXCXjs.BlockNoteEditorContainer; exports.Breadcrumb = _chunkKDFDGXCXjs.Breadcrumb; exports.CommonAssociationCommandDialog = _chunkKDFDGXCXjs.CommonAssociationCommandDialog; exports.CommonAssociationTrigger = _chunkKDFDGXCXjs.CommonAssociationTrigger; exports.CommonDeleter = _chunkKDFDGXCXjs.CommonDeleter; exports.CommonEditorButtons = _chunkKDFDGXCXjs.CommonEditorButtons; exports.CommonEditorHeader = _chunkKDFDGXCXjs.CommonEditorHeader; exports.CommonEditorTrigger = _chunkKDFDGXCXjs.CommonEditorTrigger; exports.CompaniesList = _chunkKDFDGXCXjs.CompaniesList; exports.CompanyConfigurationEditor = _chunkKDFDGXCXjs.CompanyConfigurationEditor; exports.CompanyConfigurationSecurityForm = _chunkKDFDGXCXjs.CompanyConfigurationSecurityForm; exports.CompanyContainer = _chunkKDFDGXCXjs.CompanyContainer; exports.CompanyDeleter = _chunkKDFDGXCXjs.CompanyDeleter; exports.CompanyDetails = _chunkKDFDGXCXjs.CompanyDetails; exports.CompanyEditor = _chunkKDFDGXCXjs.CompanyEditor; exports.CompanyUsersList = _chunkKDFDGXCXjs.CompanyUsersList; exports.ContentListTable = _chunkKDFDGXCXjs.ContentListTable; exports.ContentTableSearch = _chunkKDFDGXCXjs.ContentTableSearch; exports.ContentTitle = _chunkKDFDGXCXjs.ContentTitle; exports.ContentsList = _chunkKDFDGXCXjs.ContentsList; exports.ContentsListById = _chunkKDFDGXCXjs.ContentsListById; exports.ContributorsList = _chunkKDFDGXCXjs.ContributorsList; exports.Cookies = _chunkKDFDGXCXjs.Cookies; exports.DatePickerPopover = _chunkKDFDGXCXjs.DatePickerPopover; exports.DateRangeSelector = _chunkKDFDGXCXjs.DateRangeSelector; exports.ErrorDetails = _chunkKDFDGXCXjs.ErrorDetails; exports.FileInput = _chunkKDFDGXCXjs.FileInput; exports.FileUploader = _chunkKDFDGXCXjs.FileUploader; exports.FileUploaderContent = _chunkKDFDGXCXjs.FileUploaderContent; exports.FileUploaderItem = _chunkKDFDGXCXjs.FileUploaderItem; exports.ForgotPassword = _chunkKDFDGXCXjs.ForgotPassword; exports.FormCheckbox = _chunkKDFDGXCXjs.FormCheckbox; exports.FormContainerGeneric = _chunkKDFDGXCXjs.FormContainerGeneric; exports.FormDate = _chunkKDFDGXCXjs.FormDate; exports.FormDateTime = _chunkKDFDGXCXjs.FormDateTime; exports.FormFeatures = _chunkKDFDGXCXjs.FormFeatures; exports.FormInput = _chunkKDFDGXCXjs.FormInput; exports.FormPassword = _chunkKDFDGXCXjs.FormPassword; exports.FormPlaceAutocomplete = _chunkKDFDGXCXjs.FormPlaceAutocomplete; exports.FormRoles = _chunkKDFDGXCXjs.FormRoles; exports.FormSelect = _chunkKDFDGXCXjs.FormSelect; exports.FormSlider = _chunkKDFDGXCXjs.FormSlider; exports.FormSwitch = _chunkKDFDGXCXjs.FormSwitch; exports.FormTextarea = _chunkKDFDGXCXjs.FormTextarea; exports.Header = _chunkKDFDGXCXjs.Header; exports.LandingComponent = _chunkKDFDGXCXjs.LandingComponent; exports.Login = _chunkKDFDGXCXjs.Login; exports.Logout = _chunkKDFDGXCXjs.Logout; exports.ModeToggleSwitch = _chunkKDFDGXCXjs.ModeToggleSwitch; exports.NotificationErrorBoundary = _chunkKDFDGXCXjs.NotificationErrorBoundary; exports.NotificationMenuItem = _chunkKDFDGXCXjs.NotificationMenuItem; exports.NotificationModal = _chunkKDFDGXCXjs.NotificationModal; exports.NotificationToast = _chunkKDFDGXCXjs.NotificationToast; exports.NotificationsList = _chunkKDFDGXCXjs.NotificationsList; exports.NotificationsListContainer = _chunkKDFDGXCXjs.NotificationsListContainer; exports.PageContainer = _chunkKDFDGXCXjs.PageContainer; exports.PageContainerContentDetails = _chunkKDFDGXCXjs.PageContainerContentDetails; exports.PageContentContainer = _chunkKDFDGXCXjs.PageContentContainer; exports.PageSection = _chunkKDFDGXCXjs.PageSection; exports.PasswordInput = _chunkKDFDGXCXjs.PasswordInput; exports.PushNotificationProvider = _chunkKDFDGXCXjs.PushNotificationProvider; exports.ReactMarkdownContainer = _chunkKDFDGXCXjs.ReactMarkdownContainer; exports.RecentPagesNavigator = _chunkKDFDGXCXjs.RecentPagesNavigator; exports.RefreshUser = _chunkKDFDGXCXjs.RefreshUser; exports.RelevantContentsList = _chunkKDFDGXCXjs.RelevantContentsList; exports.RelevantUsersList = _chunkKDFDGXCXjs.RelevantUsersList; exports.RemoveUserFromRole = _chunkKDFDGXCXjs.RemoveUserFromRole; exports.ResetPassword = _chunkKDFDGXCXjs.ResetPassword; exports.RoleContainer = _chunkKDFDGXCXjs.RoleContainer; exports.RoleDetails = _chunkKDFDGXCXjs.RoleDetails; exports.RoleUsersList = _chunkKDFDGXCXjs.RoleUsersList; exports.RolesList = _chunkKDFDGXCXjs.RolesList; exports.TabsContainer = _chunkKDFDGXCXjs.TabsContainer; exports.UserAvatar = _chunkKDFDGXCXjs.UserAvatar; exports.UserAvatarEditor = _chunkKDFDGXCXjs.UserAvatarEditor; exports.UserContainer = _chunkKDFDGXCXjs.UserContainer; exports.UserDeleter = _chunkKDFDGXCXjs.UserDeleter; exports.UserDetails = _chunkKDFDGXCXjs.UserDetails; exports.UserEditor = _chunkKDFDGXCXjs.UserEditor; exports.UserIndexContainer = _chunkKDFDGXCXjs.UserIndexContainer; exports.UserIndexDetails = _chunkKDFDGXCXjs.UserIndexDetails; exports.UserListInAdd = _chunkKDFDGXCXjs.UserListInAdd; exports.UserMultiSelect = _chunkKDFDGXCXjs.UserMultiSelect; exports.UserReactivator = _chunkKDFDGXCXjs.UserReactivator; exports.UserResentInvitationEmail = _chunkKDFDGXCXjs.UserResentInvitationEmail; exports.UserRoleAdd = _chunkKDFDGXCXjs.UserRoleAdd; exports.UserRolesList = _chunkKDFDGXCXjs.UserRolesList; exports.UserSelector = _chunkKDFDGXCXjs.UserSelector; exports.UsersList = _chunkKDFDGXCXjs.UsersList; exports.UsersListByContentIds = _chunkKDFDGXCXjs.UsersListByContentIds; exports.UsersListContainer = _chunkKDFDGXCXjs.UsersListContainer; exports.cellComponent = _chunkKDFDGXCXjs.cellComponent; exports.cellDate = _chunkKDFDGXCXjs.cellDate; exports.cellId = _chunkKDFDGXCXjs.cellId; exports.cellLink = _chunkKDFDGXCXjs.cellLink; exports.cellUrl = _chunkKDFDGXCXjs.cellUrl; exports.errorToast = _chunkKDFDGXCXjs.errorToast; exports.generateNotificationData = _chunkKDFDGXCXjs.generateNotificationData; exports.triggerAssociationToast = _chunkKDFDGXCXjs.triggerAssociationToast; exports.useFileUpload = _chunkKDFDGXCXjs.useFileUpload;
235
235
  //# sourceMappingURL=index.js.map
@@ -108,11 +108,11 @@ import {
108
108
  generateNotificationData,
109
109
  triggerAssociationToast,
110
110
  useFileUpload
111
- } from "../chunk-HP4Q5ZVG.mjs";
111
+ } from "../chunk-Y4XI3AZR.mjs";
112
112
  import "../chunk-C7C7VY4F.mjs";
113
113
  import "../chunk-X53MF5ZN.mjs";
114
114
  import "../chunk-JLN6UWII.mjs";
115
- import "../chunk-MA2L2PL2.mjs";
115
+ import "../chunk-MHVXFWZY.mjs";
116
116
  import "../chunk-AUXK7QSA.mjs";
117
117
  import "../chunk-SM63SZCP.mjs";
118
118
  import "../chunk-74F6BBHH.mjs";
@@ -17,11 +17,11 @@
17
17
 
18
18
 
19
19
 
20
- var _chunkKPRHIJO6js = require('../chunk-KPRHIJO6.js');
20
+ var _chunkKDFDGXCXjs = require('../chunk-KDFDGXCX.js');
21
21
  require('../chunk-IBS6NI7D.js');
22
22
  require('../chunk-EZK3H6EJ.js');
23
23
  require('../chunk-LJRD4SRV.js');
24
- require('../chunk-FYRFMABS.js');
24
+ require('../chunk-L6LH7WA4.js');
25
25
  require('../chunk-LXKSUWAV.js');
26
26
  require('../chunk-AYHKQWHH.js');
27
27
  require('../chunk-5ZEADNNP.js');
@@ -49,5 +49,5 @@ require('../chunk-7QVYU63E.js');
49
49
 
50
50
 
51
51
 
52
- exports.CommonProvider = _chunkKPRHIJO6js.CommonProvider; exports.CompanyProvider = _chunkKPRHIJO6js.CompanyProvider; exports.CurrentUserProvider = _chunkKPRHIJO6js.CurrentUserProvider; exports.NotificationContextProvider = _chunkKPRHIJO6js.NotificationContextProvider; exports.RoleProvider = _chunkKPRHIJO6js.RoleProvider; exports.SharedProvider = _chunkKPRHIJO6js.SharedProvider; exports.SocketContext = _chunkKPRHIJO6js.SocketContext; exports.SocketProvider = _chunkKPRHIJO6js.SocketProvider; exports.UserProvider = _chunkKPRHIJO6js.UserProvider; exports.useCommonContext = _chunkKPRHIJO6js.useCommonContext; exports.useCompanyContext = _chunkKPRHIJO6js.useCompanyContext; exports.useCurrentUserContext = _chunkKPRHIJO6js.useCurrentUserContext; exports.useNotificationContext = _chunkKPRHIJO6js.useNotificationContext; exports.useRoleContext = _chunkKPRHIJO6js.useRoleContext; exports.useSharedContext = _chunkKPRHIJO6js.useSharedContext; exports.useSocketContext = _chunkKPRHIJO6js.useSocketContext; exports.useUserContext = _chunkKPRHIJO6js.useUserContext;
52
+ exports.CommonProvider = _chunkKDFDGXCXjs.CommonProvider; exports.CompanyProvider = _chunkKDFDGXCXjs.CompanyProvider; exports.CurrentUserProvider = _chunkKDFDGXCXjs.CurrentUserProvider; exports.NotificationContextProvider = _chunkKDFDGXCXjs.NotificationContextProvider; exports.RoleProvider = _chunkKDFDGXCXjs.RoleProvider; exports.SharedProvider = _chunkKDFDGXCXjs.SharedProvider; exports.SocketContext = _chunkKDFDGXCXjs.SocketContext; exports.SocketProvider = _chunkKDFDGXCXjs.SocketProvider; exports.UserProvider = _chunkKDFDGXCXjs.UserProvider; exports.useCommonContext = _chunkKDFDGXCXjs.useCommonContext; exports.useCompanyContext = _chunkKDFDGXCXjs.useCompanyContext; exports.useCurrentUserContext = _chunkKDFDGXCXjs.useCurrentUserContext; exports.useNotificationContext = _chunkKDFDGXCXjs.useNotificationContext; exports.useRoleContext = _chunkKDFDGXCXjs.useRoleContext; exports.useSharedContext = _chunkKDFDGXCXjs.useSharedContext; exports.useSocketContext = _chunkKDFDGXCXjs.useSocketContext; exports.useUserContext = _chunkKDFDGXCXjs.useUserContext;
53
53
  //# sourceMappingURL=index.js.map
@@ -17,11 +17,11 @@ import {
17
17
  useSharedContext,
18
18
  useSocketContext,
19
19
  useUserContext
20
- } from "../chunk-HP4Q5ZVG.mjs";
20
+ } from "../chunk-Y4XI3AZR.mjs";
21
21
  import "../chunk-C7C7VY4F.mjs";
22
22
  import "../chunk-X53MF5ZN.mjs";
23
23
  import "../chunk-JLN6UWII.mjs";
24
- import "../chunk-MA2L2PL2.mjs";
24
+ import "../chunk-MHVXFWZY.mjs";
25
25
  import "../chunk-AUXK7QSA.mjs";
26
26
  import "../chunk-SM63SZCP.mjs";
27
27
  import "../chunk-74F6BBHH.mjs";
@@ -260,6 +260,8 @@ declare class UserService extends AbstractService {
260
260
  }): Promise<void>;
261
261
  }
262
262
 
263
+ declare const UserModule: (factory: ModuleFactory) => ModuleWithPermissions;
264
+
263
265
  declare class Content extends AbstractApiData implements ContentInterface, SearchResultInterface {
264
266
  private _contentType?;
265
267
  private _name?;
@@ -471,4 +473,4 @@ declare class S3Service extends AbstractService {
471
473
  }): Promise<void>;
472
474
  }
473
475
 
474
- export { Auth, type AuthInput, type AuthInterface, AuthModule, type AuthQuery, AuthService, AuthorModule, Company, CompanyFields, CompanyInput, CompanyInterface, CompanyModule, CompanyService, Content, ContentInput, ContentInterface, ContentModule, ContentService, Feature, FeatureInterface, FeatureModule, FeatureService, Module, ModuleInterface, ModuleModule, Notification, NotificationFields, NotificationInput, NotificationInterface, NotificationModule, NotificationService, Push, type PushInput, type PushInterface, PushModule, PushService, Role, RoleInput, RoleInterface, RoleModule, RoleService, S3, type S3Input, type S3Interface, S3Module, S3Service, type SearchResultInterface, User, UserInput, UserInterface, UserService };
476
+ export { Auth, type AuthInput, type AuthInterface, AuthModule, type AuthQuery, AuthService, AuthorModule, Company, CompanyFields, CompanyInput, CompanyInterface, CompanyModule, CompanyService, Content, ContentInput, ContentInterface, ContentModule, ContentService, Feature, FeatureInterface, FeatureModule, FeatureService, Module, ModuleInterface, ModuleModule, Notification, NotificationFields, NotificationInput, NotificationInterface, NotificationModule, NotificationService, Push, type PushInput, type PushInterface, PushModule, PushService, Role, RoleInput, RoleInterface, RoleModule, RoleService, S3, type S3Input, type S3Interface, S3Module, S3Service, type SearchResultInterface, User, UserInput, UserInterface, UserModule, UserService };
@@ -260,6 +260,8 @@ declare class UserService extends AbstractService {
260
260
  }): Promise<void>;
261
261
  }
262
262
 
263
+ declare const UserModule: (factory: ModuleFactory) => ModuleWithPermissions;
264
+
263
265
  declare class Content extends AbstractApiData implements ContentInterface, SearchResultInterface {
264
266
  private _contentType?;
265
267
  private _name?;
@@ -471,4 +473,4 @@ declare class S3Service extends AbstractService {
471
473
  }): Promise<void>;
472
474
  }
473
475
 
474
- export { Auth, type AuthInput, type AuthInterface, AuthModule, type AuthQuery, AuthService, AuthorModule, Company, CompanyFields, CompanyInput, CompanyInterface, CompanyModule, CompanyService, Content, ContentInput, ContentInterface, ContentModule, ContentService, Feature, FeatureInterface, FeatureModule, FeatureService, Module, ModuleInterface, ModuleModule, Notification, NotificationFields, NotificationInput, NotificationInterface, NotificationModule, NotificationService, Push, type PushInput, type PushInterface, PushModule, PushService, Role, RoleInput, RoleInterface, RoleModule, RoleService, S3, type S3Input, type S3Interface, S3Module, S3Service, type SearchResultInterface, User, UserInput, UserInterface, UserService };
476
+ export { Auth, type AuthInput, type AuthInterface, AuthModule, type AuthQuery, AuthService, AuthorModule, Company, CompanyFields, CompanyInput, CompanyInterface, CompanyModule, CompanyService, Content, ContentInput, ContentInterface, ContentModule, ContentService, Feature, FeatureInterface, FeatureModule, FeatureService, Module, ModuleInterface, ModuleModule, Notification, NotificationFields, NotificationInput, NotificationInterface, NotificationModule, NotificationService, Push, type PushInput, type PushInterface, PushModule, PushService, Role, RoleInput, RoleInterface, RoleModule, RoleService, S3, type S3Input, type S3Interface, S3Module, S3Service, type SearchResultInterface, User, UserInput, UserInterface, UserModule, UserService };
@@ -34,7 +34,8 @@
34
34
 
35
35
 
36
36
 
37
- var _chunkFYRFMABSjs = require('../chunk-FYRFMABS.js');
37
+
38
+ var _chunkL6LH7WA4js = require('../chunk-L6LH7WA4.js');
38
39
 
39
40
 
40
41
  var _chunkAYHKQWHHjs = require('../chunk-AYHKQWHH.js');
@@ -81,5 +82,6 @@ require('../chunk-7QVYU63E.js');
81
82
 
82
83
 
83
84
 
84
- exports.Auth = _chunkFYRFMABSjs.Auth; exports.AuthComponent = _chunkFYRFMABSjs.AuthComponent; exports.AuthModule = _chunkFYRFMABSjs.AuthModule; exports.AuthService = _chunkFYRFMABSjs.AuthService; exports.AuthorModule = _chunkFYRFMABSjs.AuthorModule; exports.Company = _chunkFYRFMABSjs.Company; exports.CompanyFields = _chunkFYRFMABSjs.CompanyFields; exports.CompanyModule = _chunkFYRFMABSjs.CompanyModule; exports.CompanyService = _chunkFYRFMABSjs.CompanyService; exports.Content = _chunkFYRFMABSjs.Content; exports.ContentFields = _chunkFYRFMABSjs.ContentFields; exports.ContentModule = _chunkFYRFMABSjs.ContentModule; exports.ContentService = _chunkFYRFMABSjs.ContentService; exports.Feature = _chunkFYRFMABSjs.Feature; exports.FeatureModule = _chunkFYRFMABSjs.FeatureModule; exports.FeatureService = _chunkFYRFMABSjs.FeatureService; exports.Module = _chunkFYRFMABSjs.Module; exports.ModuleModule = _chunkFYRFMABSjs.ModuleModule; exports.Notification = _chunkFYRFMABSjs.Notification; exports.NotificationFields = _chunkFYRFMABSjs.NotificationFields; exports.NotificationModule = _chunkFYRFMABSjs.NotificationModule; exports.NotificationService = _chunkFYRFMABSjs.NotificationService; exports.Push = _chunkFYRFMABSjs.Push; exports.PushModule = _chunkFYRFMABSjs.PushModule; exports.PushService = _chunkFYRFMABSjs.PushService; exports.Role = _chunkFYRFMABSjs.Role; exports.RoleFields = _chunkFYRFMABSjs.RoleFields; exports.RoleModule = _chunkFYRFMABSjs.RoleModule; exports.RoleService = _chunkFYRFMABSjs.RoleService; exports.S3 = _chunkFYRFMABSjs.S3; exports.S3Module = _chunkFYRFMABSjs.S3Module; exports.S3Service = _chunkFYRFMABSjs.S3Service; exports.User = _chunkFYRFMABSjs.User; exports.UserFields = _chunkFYRFMABSjs.UserFields; exports.UserService = _chunkFYRFMABSjs.UserService; exports.configureAuth = _chunkAYHKQWHHjs.configureAuth;
85
+
86
+ exports.Auth = _chunkL6LH7WA4js.Auth; exports.AuthComponent = _chunkL6LH7WA4js.AuthComponent; exports.AuthModule = _chunkL6LH7WA4js.AuthModule; exports.AuthService = _chunkL6LH7WA4js.AuthService; exports.AuthorModule = _chunkL6LH7WA4js.AuthorModule; exports.Company = _chunkL6LH7WA4js.Company; exports.CompanyFields = _chunkL6LH7WA4js.CompanyFields; exports.CompanyModule = _chunkL6LH7WA4js.CompanyModule; exports.CompanyService = _chunkL6LH7WA4js.CompanyService; exports.Content = _chunkL6LH7WA4js.Content; exports.ContentFields = _chunkL6LH7WA4js.ContentFields; exports.ContentModule = _chunkL6LH7WA4js.ContentModule; exports.ContentService = _chunkL6LH7WA4js.ContentService; exports.Feature = _chunkL6LH7WA4js.Feature; exports.FeatureModule = _chunkL6LH7WA4js.FeatureModule; exports.FeatureService = _chunkL6LH7WA4js.FeatureService; exports.Module = _chunkL6LH7WA4js.Module; exports.ModuleModule = _chunkL6LH7WA4js.ModuleModule; exports.Notification = _chunkL6LH7WA4js.Notification; exports.NotificationFields = _chunkL6LH7WA4js.NotificationFields; exports.NotificationModule = _chunkL6LH7WA4js.NotificationModule; exports.NotificationService = _chunkL6LH7WA4js.NotificationService; exports.Push = _chunkL6LH7WA4js.Push; exports.PushModule = _chunkL6LH7WA4js.PushModule; exports.PushService = _chunkL6LH7WA4js.PushService; exports.Role = _chunkL6LH7WA4js.Role; exports.RoleFields = _chunkL6LH7WA4js.RoleFields; exports.RoleModule = _chunkL6LH7WA4js.RoleModule; exports.RoleService = _chunkL6LH7WA4js.RoleService; exports.S3 = _chunkL6LH7WA4js.S3; exports.S3Module = _chunkL6LH7WA4js.S3Module; exports.S3Service = _chunkL6LH7WA4js.S3Service; exports.User = _chunkL6LH7WA4js.User; exports.UserFields = _chunkL6LH7WA4js.UserFields; exports.UserModule = _chunkL6LH7WA4js.UserModule; exports.UserService = _chunkL6LH7WA4js.UserService; exports.configureAuth = _chunkAYHKQWHHjs.configureAuth;
85
87
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/features/index.js"],"names":[],"mappings":"AAAA;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;AACF,uDAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;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;AACF,+yDAAC","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/features/index.js"}
1
+ {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/features/index.js"],"names":[],"mappings":"AAAA;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;AACF,uDAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;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;AACF,i2DAAC","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/features/index.js"}
@@ -33,8 +33,9 @@ import {
33
33
  S3Service,
34
34
  User,
35
35
  UserFields,
36
+ UserModule,
36
37
  UserService
37
- } from "../chunk-MA2L2PL2.mjs";
38
+ } from "../chunk-MHVXFWZY.mjs";
38
39
  import {
39
40
  configureAuth
40
41
  } from "../chunk-SM63SZCP.mjs";
@@ -79,6 +80,7 @@ export {
79
80
  S3Service,
80
81
  User,
81
82
  UserFields,
83
+ UserModule,
82
84
  UserService,
83
85
  configureAuth
84
86
  };
@@ -12,11 +12,11 @@
12
12
 
13
13
 
14
14
 
15
- var _chunkKPRHIJO6js = require('../chunk-KPRHIJO6.js');
15
+ var _chunkKDFDGXCXjs = require('../chunk-KDFDGXCX.js');
16
16
  require('../chunk-IBS6NI7D.js');
17
17
  require('../chunk-EZK3H6EJ.js');
18
18
  require('../chunk-LJRD4SRV.js');
19
- require('../chunk-FYRFMABS.js');
19
+ require('../chunk-L6LH7WA4.js');
20
20
  require('../chunk-LXKSUWAV.js');
21
21
 
22
22
 
@@ -52,5 +52,5 @@ require('../chunk-7QVYU63E.js');
52
52
 
53
53
 
54
54
 
55
- exports.TableGeneratorRegistry = _chunkKPRHIJO6js.TableGeneratorRegistry; exports.configureI18n = _chunkAYHKQWHHjs.configureI18n; exports.getI18nLink = _chunkAYHKQWHHjs.getI18nLink; exports.registerTableGenerator = _chunkKPRHIJO6js.registerTableGenerator; exports.tableGeneratorRegistry = _chunkKPRHIJO6js.tableGeneratorRegistry; exports.useCustomD3Graph = _chunkKPRHIJO6js.useCustomD3Graph; exports.useDataListRetriever = _chunkKPRHIJO6js.useDataListRetriever; exports.useDebounce = _chunkKPRHIJO6js.useDebounce; exports.useI18nDateFnsLocale = _chunkAYHKQWHHjs.useI18nDateFnsLocale; exports.useI18nLocale = _chunkAYHKQWHHjs.useI18nLocale; exports.useI18nRouter = _chunkAYHKQWHHjs.useI18nRouter; exports.useI18nTranslations = _chunkAYHKQWHHjs.useI18nTranslations; exports.useNotificationSync = _chunkKPRHIJO6js.useNotificationSync; exports.usePageTracker = _chunkKPRHIJO6js.usePageTracker; exports.usePageUrlGenerator = _chunkKPRHIJO6js.usePageUrlGenerator; exports.useSocket = _chunkKPRHIJO6js.useSocket; exports.useTableGenerator = _chunkKPRHIJO6js.useTableGenerator; exports.useUrlRewriter = _chunkKPRHIJO6js.useUrlRewriter;
55
+ exports.TableGeneratorRegistry = _chunkKDFDGXCXjs.TableGeneratorRegistry; exports.configureI18n = _chunkAYHKQWHHjs.configureI18n; exports.getI18nLink = _chunkAYHKQWHHjs.getI18nLink; exports.registerTableGenerator = _chunkKDFDGXCXjs.registerTableGenerator; exports.tableGeneratorRegistry = _chunkKDFDGXCXjs.tableGeneratorRegistry; exports.useCustomD3Graph = _chunkKDFDGXCXjs.useCustomD3Graph; exports.useDataListRetriever = _chunkKDFDGXCXjs.useDataListRetriever; exports.useDebounce = _chunkKDFDGXCXjs.useDebounce; exports.useI18nDateFnsLocale = _chunkAYHKQWHHjs.useI18nDateFnsLocale; exports.useI18nLocale = _chunkAYHKQWHHjs.useI18nLocale; exports.useI18nRouter = _chunkAYHKQWHHjs.useI18nRouter; exports.useI18nTranslations = _chunkAYHKQWHHjs.useI18nTranslations; exports.useNotificationSync = _chunkKDFDGXCXjs.useNotificationSync; exports.usePageTracker = _chunkKDFDGXCXjs.usePageTracker; exports.usePageUrlGenerator = _chunkKDFDGXCXjs.usePageUrlGenerator; exports.useSocket = _chunkKDFDGXCXjs.useSocket; exports.useTableGenerator = _chunkKDFDGXCXjs.useTableGenerator; exports.useUrlRewriter = _chunkKDFDGXCXjs.useUrlRewriter;
56
56
  //# sourceMappingURL=index.js.map
@@ -12,11 +12,11 @@ import {
12
12
  useSocket,
13
13
  useTableGenerator,
14
14
  useUrlRewriter
15
- } from "../chunk-HP4Q5ZVG.mjs";
15
+ } from "../chunk-Y4XI3AZR.mjs";
16
16
  import "../chunk-C7C7VY4F.mjs";
17
17
  import "../chunk-X53MF5ZN.mjs";
18
18
  import "../chunk-JLN6UWII.mjs";
19
- import "../chunk-MA2L2PL2.mjs";
19
+ import "../chunk-MHVXFWZY.mjs";
20
20
  import "../chunk-AUXK7QSA.mjs";
21
21
  import {
22
22
  configureI18n,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carlonicora/nextjs-jsonapi",
3
- "version": "1.1.1",
3
+ "version": "1.2.0",
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,3 +1,3 @@
1
1
  export * from "./author.module";
2
- // Note: contexts are exported from @carlonicora/nextjs-jsonapi/contexts to avoid "use client" issues
3
2
  export * from "./data";
3
+ export * from "./user.module";
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-FYRFMABS.js","../src/features/auth/auth.module.ts","../src/features/auth/data/auth.ts","../src/features/auth/data/auth.service.ts","../src/features/auth/enums/AuthComponent.ts","../src/features/company/company.module.ts","../src/features/company/data/company.ts","../src/features/company/data/company.fields.ts","../src/features/company/data/company.service.ts","../src/features/content/content.module.ts","../src/features/content/data/content.ts","../src/features/content/data/content.fields.ts","../src/features/content/data/content.service.ts","../src/features/feature/data/feature.ts","../src/features/feature/feature.module.ts","../src/features/feature/data/feature.service.ts","../src/features/module/data/module.ts","../src/features/module/module.module.ts","../src/features/notification/data/notification.ts","../src/features/notification/notification.module.ts","../src/features/notification/data/notification.fields.ts","../src/features/notification/data/notification.service.ts","../src/features/push/data/push.ts","../src/features/push/push.module.ts","../src/features/push/data/push.service.ts","../src/features/role/data/role.ts","../src/features/role/data/role.fields.ts","../src/features/role/data/role.service.ts","../src/features/role/role.module.ts","../src/features/s3/data/s3.ts","../src/features/s3/s3.module.ts","../src/features/s3/data/s3.service.ts","../src/features/user/data/user.ts","../src/features/user/data/user.fields.ts","../src/features/user/data/user.service.ts","../src/features/user/author.module.ts"],"names":["AuthComponent","CompanyFields","ContentFields","NotificationFields","RoleFields","UserFields"],"mappings":"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","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-FYRFMABS.js","sourcesContent":[null,"import { ModuleFactory } from \"../../permissions\";\nimport { Auth } from \".\";\n\nexport const AuthModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/auth\",\n name: \"auth\",\n model: Auth,\n });\n","import { AbstractApiData, JsonApiHydratedDataInterface, Modules } from \"../../../core\";\nimport { UserInterface } from \"../../user/data/user.interface\";\nimport { AuthInput, AuthInterface } from \"./auth.interface\";\n\nexport class Auth extends AbstractApiData implements AuthInterface {\n private _token?: string;\n private _refreshToken?: string;\n private _user?: UserInterface;\n\n get token(): string {\n if (!this._token) throw new Error(\"Token is not defined\");\n return this._token;\n }\n\n get refreshToken(): string {\n if (!this._refreshToken) throw new Error(\"Refresh token is not defined\");\n return this._refreshToken;\n }\n\n get user(): UserInterface {\n if (!this._user) throw new Error(\"User is not defined\");\n return this._user;\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n this._token = data.jsonApi.attributes.token ?? undefined;\n this._refreshToken = data.jsonApi.attributes.refreshToken ?? undefined;\n\n this._user = this._readIncluded(data, \"user\", Modules.User) as UserInterface;\n\n return this;\n }\n\n createJsonApi(data: AuthInput) {\n const response: any = {\n data: {\n type: Modules.Auth.name,\n attributes: {},\n },\n };\n\n if (data.id) response.data.id = data.id;\n if (data.email !== undefined) response.data.attributes.email = data.email;\n if (data.name !== undefined) response.data.attributes.name = data.name;\n if (data.companyName !== undefined) response.data.attributes.companyName = data.companyName;\n if (data.password !== undefined) response.data.attributes.password = data.password;\n if (data.partitaIva !== undefined) response.data.attributes.partitaIva = data.partitaIva;\n if (data.codiceFiscale !== undefined) response.data.attributes.codiceFiscale = data.codiceFiscale;\n\n return response;\n }\n}\n","import { AuthInput, AuthInterface } from \".\";\nimport { JsonApiDelete, JsonApiGet, JsonApiPost } from \"../../../\";\nimport {\n AbstractService,\n ApiResponseInterface,\n EndpointCreator,\n HttpMethod,\n JsonApiHydratedDataInterface,\n Modules,\n rehydrate,\n} from \"../../../core\";\nimport { UserInterface } from \"../../user\";\nimport { getTokenHandler } from \"../config\";\n\nexport class AuthService extends AbstractService {\n static async login(params: { email: string; password: string; language?: string }): Promise<UserInterface> {\n const language = params.language || \"en-US\";\n\n const apiResponse: ApiResponseInterface = await JsonApiPost({\n classKey: Modules.Auth,\n endpoint: new EndpointCreator({ endpoint: Modules.Auth, id: \"login\" }).generate(),\n body: { email: params.email, password: params.password } as AuthInput,\n language: language,\n });\n\n if (!apiResponse.ok) throw new Error(apiResponse.error);\n\n const auth = apiResponse.data as AuthInterface;\n\n // Use injected token handler if configured\n const handler = getTokenHandler();\n if (handler) {\n await handler.updateToken({\n token: auth.token,\n refreshToken: auth.refreshToken,\n userId: auth.user.id,\n companyId: auth.user.company?.id,\n licenseExpirationDate: auth.user.company?.licenseExpirationDate,\n roles: auth.user.roles.map((role) => role.id),\n features: auth.user.company?.features?.map((feature) => feature.id) ?? [],\n modules: auth.user.modules.map((module) => ({\n id: module.id,\n permissions: module.permissions,\n })),\n });\n }\n\n return auth.user;\n }\n\n static async logout(params?: { language?: string }): Promise<void> {\n const language = params?.language || \"en-US\";\n\n await JsonApiDelete({\n classKey: Modules.Auth,\n endpoint: new EndpointCreator({ endpoint: Modules.Auth }).generate(),\n language: language,\n });\n\n // Use injected token handler if configured\n const handler = getTokenHandler();\n if (handler) {\n await handler.removeToken();\n }\n }\n\n static async initialiseForgotPassword(params: { email: string; language?: string }): Promise<void> {\n const language = params.language || \"en-US\";\n\n const response: ApiResponseInterface = await JsonApiPost({\n classKey: Modules.Auth,\n endpoint: new EndpointCreator({ endpoint: Modules.Auth, id: \"forgot\" }).generate(),\n body: { email: params.email } as AuthInput,\n language: language,\n });\n\n if (!response.ok) {\n throw new Error(response.error);\n }\n }\n\n static async register(params: AuthInput): Promise<void> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Auth, id: \"register\" });\n\n await this.callApi({\n type: Modules.Auth,\n method: HttpMethod.POST,\n endpoint: endpoint.generate(),\n input: params,\n });\n }\n\n static async activate(params: { activationCode: string }): Promise<void> {\n const endpoint = new EndpointCreator({\n endpoint: Modules.Auth,\n id: \"activate\",\n childEndpoint: params.activationCode,\n });\n\n await this.callApi({ type: Modules.Auth, method: HttpMethod.POST, endpoint: endpoint.generate() });\n }\n\n static async validateCode(params: { code: string; language?: string }): Promise<void> {\n const language = params.language || \"en-US\";\n\n const apiResponse: ApiResponseInterface = await JsonApiGet({\n classKey: Modules.Auth,\n endpoint: new EndpointCreator({ endpoint: Modules.Auth, id: \"validate\", childEndpoint: params.code }).generate(),\n language: language,\n });\n\n if (!apiResponse.ok) throw new Error(apiResponse.error);\n }\n\n static async resetPassword(params: { code: string; password: string }): Promise<void> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Auth, id: \"reset\", childEndpoint: params.code });\n\n const input: AuthInput = { password: params.password };\n\n await this.callApi({ type: Modules.Auth, method: HttpMethod.POST, endpoint: endpoint.generate(), input: input });\n }\n\n static async acceptInvitation(params: { code: string; password: string }): Promise<void> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Auth, id: \"invitation\", childEndpoint: params.code });\n\n const input: AuthInput = { password: params.password };\n\n await this.callApi({ type: Modules.Auth, method: HttpMethod.POST, endpoint: endpoint.generate(), input: input });\n }\n\n static async findToken(params: { tokenCode: string }): Promise<AuthInterface> {\n return await this.callApi<AuthInterface>({\n type: Modules.Auth,\n method: HttpMethod.POST,\n endpoint: new EndpointCreator({ endpoint: Modules.Auth }).addAdditionalParam(\"code\", params.tokenCode).generate(),\n });\n }\n\n static async saveToken(params: { dehydratedAuth: JsonApiHydratedDataInterface }): Promise<void> {\n const auth: AuthInterface = rehydrate(Modules.Auth, params.dehydratedAuth) as AuthInterface;\n\n const handler = getTokenHandler();\n if (handler) {\n await handler.updateToken({\n token: auth.token,\n refreshToken: auth.refreshToken,\n userId: auth.user.id,\n companyId: auth.user.company?.id,\n licenseExpirationDate: auth.user.company?.licenseExpirationDate,\n roles: auth.user.roles.map((role) => role.id),\n features: auth.user.company?.features?.map((feature) => feature.id) ?? [],\n modules: auth.user.modules.map((module) => ({\n id: module.id,\n permissions: module.permissions,\n })),\n });\n }\n }\n}\n","export enum AuthComponent {\n Login,\n ForgotPassword,\n ResetPassword,\n ActivateAccount,\n AcceptInvitation,\n Register,\n Landing,\n}\n","import { ModuleFactory } from \"../../permissions\";\nimport { Company } from \".\";\n\nexport const CompanyModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/companies\",\n name: \"companies\",\n model: Company,\n moduleId: \"f9e77c8f-bfd1-4fd4-80b0-e1d891ab7113\",\n });\n","import { AbstractApiData, JsonApiHydratedDataInterface, Modules } from \"../../../core\";\nimport { FeatureInterface } from \"../../feature\";\nimport { ModuleInterface } from \"../../module\";\nimport { CompanyInput, CompanyInterface } from \"./company.interface\";\n\nexport class Company extends AbstractApiData implements CompanyInterface {\n private _name?: string;\n private _logo?: string;\n private _logoUrl?: string;\n private _configurations?: any;\n\n private _licenseExpirationDate?: Date;\n\n private _features?: FeatureInterface[];\n private _modules?: ModuleInterface[];\n\n get name(): string {\n if (this._name === undefined) throw new Error(\"Name is not defined\");\n return this._name;\n }\n\n get logo(): string | undefined {\n return this._logo;\n }\n\n get logoUrl(): string | undefined {\n return this._logoUrl;\n }\n\n get licenseExpirationDate(): Date | undefined {\n return this._licenseExpirationDate;\n }\n\n get features(): FeatureInterface[] {\n return this._features ?? [];\n }\n\n get modules(): ModuleInterface[] {\n return this._modules ?? [];\n }\n\n get configurations(): any | undefined {\n return this._configurations;\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n this._name = data.jsonApi.attributes.name;\n this._configurations = data.jsonApi.attributes.configurations\n ? JSON.parse(data.jsonApi.attributes.configurations)\n : undefined;\n this._logo = data.jsonApi.attributes.logo;\n this._logoUrl = data.jsonApi.attributes.logoUrl;\n\n this._licenseExpirationDate = data.jsonApi.attributes.licenseExpirationDate\n ? new Date(data.jsonApi.attributes.licenseExpirationDate)\n : undefined;\n\n this._features = this._readIncluded<FeatureInterface>(data, \"features\", Modules.Feature) as FeatureInterface[];\n this._modules = this._readIncluded<ModuleInterface>(data, \"modules\", Modules.Module) as ModuleInterface[];\n\n return this;\n }\n\n createJsonApi(data: CompanyInput) {\n const response: any = {\n data: {\n type: Modules.Company.name,\n id: data.id,\n attributes: {},\n meta: {},\n relationships: {},\n },\n included: [],\n };\n\n if (data.name) response.data.attributes.name = data.name;\n if (data.configurations) response.data.attributes.configurations = JSON.stringify(data.configurations);\n if (data.logo) response.data.attributes.logo = data.logo;\n if (data.license) response.data.attributes.license = data.license;\n if (data.privateKey) response.data.attributes.privateKey = data.privateKey;\n\n if (data.featureIds && data.featureIds.length > 0) {\n response.data.relationships.features = {\n data: data.featureIds.map((featureId) => ({\n type: Modules.Feature.name,\n id: featureId,\n })),\n };\n }\n\n if (data.moduleIds && data.moduleIds.length > 0) {\n response.data.relationships.modules = {\n data: data.moduleIds.map((moduleId) => ({\n type: Modules.Module.name,\n id: moduleId,\n })),\n };\n }\n\n return response;\n }\n}\n","export enum CompanyFields {\n companyId = \"companyId\",\n name = \"name\",\n createdAt = \"createdAt\",\n updatedAt = \"updatedAt\",\n}\n","import { AbstractService, EndpointCreator, HttpMethod, Modules, NextRef } from \"../../../core\";\nimport { CompanyInput, CompanyInterface } from \"./company.interface\";\n\nexport class CompanyService extends AbstractService {\n static async findOne(params: { companyId: string }): Promise<CompanyInterface> {\n return this.callApi<CompanyInterface>({\n type: Modules.Company,\n method: HttpMethod.GET,\n endpoint: new EndpointCreator({ endpoint: Modules.Company, id: params.companyId }).generate(),\n });\n }\n\n static async findMany(params: { search?: string; next?: NextRef }): Promise<CompanyInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Company });\n\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi<CompanyInterface[]>({\n type: Modules.Company,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async delete(params: { companyId: string }): Promise<void> {\n await this.callApi({\n type: Modules.Company,\n method: HttpMethod.DELETE,\n endpoint: new EndpointCreator({ endpoint: Modules.Company, id: params.companyId }).generate(),\n });\n }\n\n static async create(params: CompanyInput): Promise<CompanyInterface> {\n return this.callApi({\n type: Modules.Company,\n method: HttpMethod.POST,\n endpoint: new EndpointCreator({ endpoint: Modules.Company }).generate(),\n input: params,\n });\n }\n\n static async update(params: CompanyInput): Promise<CompanyInterface> {\n return this.callApi({\n type: Modules.Company,\n method: HttpMethod.PUT,\n endpoint: new EndpointCreator({ endpoint: Modules.Company, id: params.id }).generate(),\n input: params,\n });\n }\n\n static async updateConfigurations(params: CompanyInput): Promise<CompanyInterface> {\n return this.callApi({\n type: Modules.Company,\n method: HttpMethod.PUT,\n endpoint: new EndpointCreator({\n endpoint: Modules.Company,\n id: params.id,\n childEndpoint: \"configurations\",\n }).generate(),\n input: params,\n });\n }\n\n static async activateLicense(params: CompanyInput): Promise<CompanyInterface> {\n return this.callApi({\n type: Modules.Company,\n method: HttpMethod.PUT,\n endpoint: new EndpointCreator({ endpoint: Modules.Company, id: params.id, childEndpoint: \"license\" }).generate(),\n input: params,\n });\n }\n}\n","import { createJsonApiInclusion } from \"../../core\";\nimport { ModuleFactory } from \"../../permissions\";\nimport { Content } from \".\";\n\nexport const ContentModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/contents\",\n name: \"contents\",\n model: Content,\n inclusions: {\n lists: {\n fields: [\n createJsonApiInclusion(\"content\", [`name`, `tldr`, `abstract`, `aiStatus`, `relevance`]),\n createJsonApiInclusion(\"users\", [`name`, `avatar`]),\n createJsonApiInclusion(\"topics\", [`name`]),\n createJsonApiInclusion(\"expertises\", [`name`]),\n ],\n },\n },\n });\n","import { AbstractApiData, JsonApiHydratedDataInterface, Modules } from \"../../../core\";\nimport { SearchResultInterface } from \"../../search/interfaces/search.result.interface\";\nimport { UserInterface } from \"../../user\";\nimport { ContentInput, ContentInterface } from \"./content.interface\";\n\nexport class Content extends AbstractApiData implements ContentInterface, SearchResultInterface {\n private _contentType?: string;\n\n private _name?: string;\n private _abstract?: string;\n private _tldr?: string;\n private _aiStatus?: string;\n private _relevance?: number;\n\n private _author?: UserInterface;\n private _editors?: UserInterface[];\n\n get searchResult(): string {\n return this._name ?? \"\";\n }\n\n get contentType(): string | undefined {\n return this._contentType;\n }\n\n get name(): string {\n if (this._name === undefined) throw new Error(\"JsonApi error: content name is missing\");\n return this._name;\n }\n\n get abstract(): string | undefined {\n return this._abstract;\n }\n\n get tldr(): string | undefined {\n return this._tldr;\n }\n\n get aiStatus(): string {\n return this._aiStatus ?? \"\";\n }\n\n get relevance(): number | undefined {\n return this._relevance;\n }\n\n get author(): UserInterface {\n if (this._author === undefined) throw new Error(\"JsonApi error: document author is missing\");\n return this._author;\n }\n\n get editors(): UserInterface[] {\n return this._editors ?? [];\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n this._contentType = data.jsonApi.meta.contentType;\n\n this._name = data.jsonApi.attributes.name;\n this._abstract = data.jsonApi.attributes.abstract;\n this._tldr = data.jsonApi.attributes.tldr;\n this._aiStatus = data.jsonApi.meta.aiStatus;\n this._relevance = data.jsonApi.meta.relevance;\n\n this._author = this._readIncluded(data, \"author\", Modules.User) as UserInterface;\n this._editors = this._readIncluded(data, \"editors\", Modules.User) as UserInterface[];\n\n return this;\n }\n\n protected addContentInput(response: any, data: ContentInput) {\n if (data.name) response.data.attributes.name = data.name;\n\n if (data.authorId) {\n response.data.relationships.author = {\n data: {\n type: Modules.User.name,\n id: data.authorId,\n },\n };\n }\n }\n}\n","export enum ContentFields {\n contentId = \"contentId\",\n\n name = \"name\",\n relevance = \"relevance\",\n\n authors = \"authors\",\n\n createdAt = \"createdAt\",\n updatedAt = \"updatedAt\",\n}\n","import { AbstractService, EndpointCreator, HttpMethod, Modules, NextRef, PreviousRef } from \"../../../core\";\nimport { ContentInterface } from \"./content.interface\";\n\nexport class ContentService extends AbstractService {\n static async findMany(params: {\n contentIds?: string[];\n search?: string;\n fetchAll?: boolean;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<ContentInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Content });\n\n if (params.contentIds) {\n endpoint.addAdditionalParam(\"contentIds\", params.contentIds.join(\",\"));\n endpoint.addAdditionalParam(\"fetchAll\", \"true\");\n } else {\n if (params.fetchAll) endpoint.addAdditionalParam(\"fetchAll\", \"true\");\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n }\n if (Modules.Content.inclusions?.lists?.fields) endpoint.limitToFields(Modules.Content.inclusions.lists.fields);\n if (Modules.Content.inclusions?.lists?.types) endpoint.limitToType(Modules.Content.inclusions.lists.types);\n\n return this.callApi({\n type: Modules.Content,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async findRelevant(params: { id: string; next?: NextRef; prev?: PreviousRef }): Promise<ContentInterface[]> {\n const endpoint: EndpointCreator = new EndpointCreator({\n endpoint: Modules.Content,\n id: params.id,\n childEndpoint: \"relevance\",\n });\n\n if (Modules.Content.inclusions?.lists?.fields) endpoint.limitToFields(Modules.Content.inclusions.lists.fields);\n if (Modules.Content.inclusions?.lists?.types) endpoint.limitToType(Modules.Content.inclusions.lists.types);\n\n return this.callApi<ContentInterface[]>({\n type: Modules.Content,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async findManyByAuthor(params: {\n userId: string;\n search?: string;\n fetchAll?: boolean;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<ContentInterface[]> {\n const endpoint = new EndpointCreator({\n endpoint: Modules.Author,\n id: params.userId,\n childEndpoint: Modules.Content,\n });\n\n if (params.fetchAll) endpoint.addAdditionalParam(\"fetchAll\", \"true\");\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n if (Modules.Content.inclusions?.lists?.fields) endpoint.limitToFields(Modules.Content.inclusions.lists.fields);\n if (Modules.Content.inclusions?.lists?.types) endpoint.limitToType(Modules.Content.inclusions.lists.types);\n\n return this.callApi({\n type: Modules.Content,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n}\n","import { AbstractApiData, JsonApiHydratedDataInterface, Modules } from \"../../../core\";\nimport { ModuleInterface } from \"../../module\";\nimport { FeatureInterface } from \"./feature.interface\";\n\nexport class Feature extends AbstractApiData implements FeatureInterface {\n private _name?: string;\n private _isProduction?: boolean;\n\n private _modules: ModuleInterface[] = [];\n\n get name(): string {\n return this._name ?? \"\";\n }\n\n get isProduction(): boolean {\n return this._isProduction == true ? true : false;\n }\n\n get modules(): ModuleInterface[] {\n return this._modules;\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n this._name = data.jsonApi.attributes.name;\n this._isProduction = data.jsonApi.attributes.isProduction ?? false;\n\n this._modules = this._readIncluded(data, `modules`, Modules.Module) as ModuleInterface[];\n\n return this;\n }\n}\n","import { ModuleFactory } from \"../../permissions\";\nimport { Feature } from \"./data/feature\";\n\nexport const FeatureModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/features\",\n name: \"features\",\n model: Feature,\n moduleId: \"025fdd23-2803-4360-9fd9-eaa3612c2e23\",\n });\n","import { AbstractService, EndpointCreator, HttpMethod, Modules, NextRef } from \"../../../core\";\nimport { FeatureInterface } from \"./feature.interface\";\n\nexport class FeatureService extends AbstractService {\n static async findMany(params: { companyId?: string; search?: string; next?: NextRef }): Promise<FeatureInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Feature });\n\n if (params.companyId) endpoint.endpoint(Modules.Company).id(params.companyId).childEndpoint(Modules.Feature);\n\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi<FeatureInterface[]>({\n type: Modules.Feature,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n}\n","import { AbstractApiData, JsonApiHydratedDataInterface } from \"../../../core\";\nimport { ModuleInterface } from \"./module.interface\";\n\nexport class Module extends AbstractApiData implements ModuleInterface {\n private _name?: string;\n private _isCore?: boolean;\n private _permissions?: {\n create: boolean | string;\n read: boolean | string;\n update: boolean | string;\n delete: boolean | string;\n };\n\n get name(): string {\n if (!this._name) throw new Error(\"Name is not defined\");\n return this._name ?? \"\";\n }\n\n get isCore(): boolean {\n return this._isCore ?? false;\n }\n\n get permissions(): {\n create: boolean | string;\n read: boolean | string;\n update: boolean | string;\n delete: boolean | string;\n } {\n if (!this._permissions) throw new Error(\"Permissions is not defined\");\n return this._permissions;\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n this._name = data.jsonApi.attributes.name;\n this._isCore = data.jsonApi.attributes.isCore;\n this._permissions = data.jsonApi.meta.permissions;\n\n return this;\n }\n}\n","import { ModuleFactory } from \"../../permissions\";\nimport { Module } from \"./data\";\n\nexport const ModuleModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/modules\",\n name: \"modules\",\n model: Module,\n moduleId: \"25ffd868-8341-4ca7-963b-6e1c56b03b1d\",\n });\n","import { AbstractApiData, JsonApiHydratedDataInterface, Modules } from \"../../../core\";\nimport { UserInterface } from \"../../user\";\nimport { NotificationInput, NotificationInterface } from \"./notification.interface\";\n\nexport class Notification extends AbstractApiData implements NotificationInterface {\n private _notificationType?: string;\n private _isRead?: boolean;\n\n private _actor?: UserInterface;\n\n get notificationType(): string {\n if (this._notificationType === undefined) throw new Error(\"notificationType is not set\");\n return this._notificationType;\n }\n\n get isRead(): boolean {\n return this._isRead === undefined ? false : this._isRead;\n }\n\n get actor(): UserInterface | undefined {\n return this._actor;\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n this._notificationType = data.jsonApi.attributes.notificationType;\n this._isRead = data.jsonApi.attributes.isRead;\n\n this._actor = this._readIncluded(data, \"actor\", Modules.User) as UserInterface;\n\n return this;\n }\n\n createJsonApi(data: NotificationInput) {\n const response: any = {\n data: {\n type: Modules.Notification.name,\n id: data.id,\n attributes: {\n isRead: data.isRead,\n },\n meta: {},\n relationships: {},\n },\n included: [],\n };\n\n return response;\n }\n}\n","import { ModuleFactory } from \"../../permissions\";\nimport { Notification } from \"./data/notification\";\n\nexport const NotificationModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/notifications\",\n name: \"notifications\",\n model: Notification,\n moduleId: \"9259d704-c670-4e77-a3a1-a728ffc5be3d\",\n });\n","export enum NotificationFields {\n notificationId = \"notificationId\",\n\n name = \"name\",\n\n createdAt = \"createdAt\",\n updatedAt = \"updatedAt\",\n}\n","import { AbstractService, EndpointCreator, HttpMethod, Modules, NextRef } from \"../../../core\";\nimport { NotificationInterface } from \"./notification.interface\";\n\nexport class NotificationService extends AbstractService {\n static async findMany(params: { isArchived?: boolean; next?: NextRef }): Promise<NotificationInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Notification });\n\n if (params.isArchived) endpoint.addAdditionalParam(\"isArchived\", \"true\");\n\n return this.callApi<NotificationInterface[]>({\n type: Modules.Notification,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async markAsRead(params: { data: any }): Promise<void> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Notification });\n await this.callApi({\n type: Modules.Notification,\n method: HttpMethod.PATCH,\n endpoint: endpoint.generate(),\n input: params.data,\n overridesJsonApiCreation: true,\n });\n }\n\n static async archive(params: { id: string }): Promise<void> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Notification, id: params.id, childEndpoint: \"archive\" });\n\n await this.callApi({ type: Modules.Notification, method: HttpMethod.POST, endpoint: endpoint.generate() });\n }\n}\n","import { AbstractApiData, Modules } from \"../../../core\";\nimport { PushInput, PushInterface } from \"./push.interface\";\n\nexport class Push extends AbstractApiData implements PushInterface {\n createJsonApi(data: PushInput) {\n const response: any = {\n data: {\n type: Modules.Push.name,\n attributes: {\n key: data.key,\n },\n },\n included: [],\n };\n\n return response;\n }\n}\n","import { ModuleFactory } from \"../../permissions\";\nimport { Push } from \"./data/push\";\n\nexport const PushModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/push\",\n name: \"push\",\n model: Push,\n moduleId: \"\",\n });\n","import { AbstractService, HttpMethod } from \"../../../core\";\nimport { EndpointCreator } from \"../../../core\";\nimport { Modules } from \"../../../core\";\n\nexport class PushService extends AbstractService {\n static async register(params: { data: any }): Promise<void> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Push });\n\n await this.callApi({\n type: Modules.Push,\n method: HttpMethod.POST,\n endpoint: endpoint.generate(),\n input: params.data,\n overridesJsonApiCreation: true,\n });\n }\n}\n","import { AbstractApiData, JsonApiHydratedDataInterface, Modules } from \"../../../core\";\nimport { FeatureInterface } from \"../../feature\";\nimport { RoleInput, RoleInterface } from \"./role.interface\";\n\nexport class Role extends AbstractApiData implements RoleInterface {\n private _name?: string;\n private _description?: string;\n private _isSelectable?: boolean;\n\n private _requiredFeature?: FeatureInterface;\n\n get name(): string {\n if (!this._name) throw new Error(\"Name is not defined\");\n return this._name;\n }\n\n get description(): string {\n return this._description ?? \"\";\n }\n\n get isSelectable(): boolean {\n return this._isSelectable ?? false;\n }\n\n get requiredFeature(): FeatureInterface | undefined {\n return this._requiredFeature;\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n this._name = data.jsonApi.attributes.name ?? undefined;\n this._description = data.jsonApi.attributes.description ?? undefined;\n this._isSelectable = data.jsonApi.attributes.isSelectable ?? undefined;\n\n this._requiredFeature = this._readIncluded<FeatureInterface>(\n data,\n \"requiredFeature\",\n Modules.Feature,\n ) as FeatureInterface;\n\n return this;\n }\n\n createJsonApi(data: RoleInput) {\n const response: any = {\n data: {\n type: Modules.Role.name,\n id: data.id,\n attributes: {\n name: data.name,\n },\n meta: {},\n },\n included: [],\n };\n\n if (data.description !== undefined) response.data.attributes.description = data.description;\n\n return response;\n }\n}\n","export enum RoleFields {\n roleId = \"roleId\",\n name = \"name\",\n description = \"description\",\n\n createdAt = \"createdAt\",\n updatedAt = \"updatedAt\",\n}\n","import { AbstractService, EndpointCreator, HttpMethod, Modules, NextRef, PreviousRef } from \"../../../core\";\nimport { RoleInput, RoleInterface } from \"./role.interface\";\n\nexport class RoleService extends AbstractService {\n static async findById(params: { roleId: string }): Promise<RoleInterface> {\n return this.callApi<RoleInterface>({\n type: Modules.Role,\n method: HttpMethod.GET,\n endpoint: new EndpointCreator({ endpoint: Modules.Role, id: params.roleId }).generate(),\n });\n }\n\n static async findAllRoles(params: { search?: string; next?: NextRef }): Promise<RoleInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Role });\n\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi({\n type: Modules.Role,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async findAllRolesByUser(params: {\n userId: string;\n search?: string;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<RoleInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.User, id: params.userId, childEndpoint: Modules.Role });\n\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi({\n type: Modules.Role,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async findAllRolesUserNotIn(params: {\n userId: string;\n search?: string;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<RoleInterface[]> {\n const endpoint = new EndpointCreator({\n endpoint: Modules.User,\n id: params.userId,\n childEndpoint: Modules.Role,\n }).addAdditionalParam(\"userNotIn\", \"true\");\n\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi({\n type: Modules.Role,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async addUserToRole(params: { userId: string; roleId: string }): Promise<void> {\n this.callApi<RoleInterface>({\n type: Modules.Role,\n method: HttpMethod.POST,\n endpoint: new EndpointCreator({\n endpoint: Modules.Role,\n id: params.roleId,\n childEndpoint: Modules.User,\n childId: params.userId,\n }).generate(),\n });\n }\n\n static async removeUserFromRole(params: { userId: string; roleId: string }): Promise<void> {\n this.callApi<RoleInterface>({\n type: Modules.Role,\n method: HttpMethod.DELETE,\n endpoint: new EndpointCreator({\n endpoint: Modules.Role,\n id: params.roleId,\n childEndpoint: Modules.User,\n childId: params.userId,\n }).generate(),\n });\n }\n\n static async create(params: { roleId: string; name: string; description?: string }): Promise<RoleInterface> {\n return this.callApi<RoleInterface>({\n type: Modules.Role,\n method: HttpMethod.POST,\n endpoint: new EndpointCreator({ endpoint: Modules.Role }).generate(),\n input: { id: params.roleId, name: params.name, description: params.description } as RoleInput,\n });\n }\n\n static async update(params: { roleId: string; name: string; description?: string }): Promise<RoleInterface> {\n return this.callApi<RoleInterface>({\n type: Modules.Role,\n method: HttpMethod.PUT,\n endpoint: new EndpointCreator({ endpoint: Modules.Role, id: params.roleId }).generate(),\n input: { id: params.roleId, name: params.name, description: params.description } as RoleInput,\n });\n }\n\n static async delete(params: { roleId: string }): Promise<RoleInterface> {\n return this.callApi<RoleInterface>({\n type: Modules.Role,\n method: HttpMethod.DELETE,\n endpoint: new EndpointCreator({ endpoint: Modules.Role, id: params.roleId }).generate(),\n });\n }\n}\n","import { ModuleFactory } from \"../../permissions\";\nimport { Role } from \"./data/role\";\n\nexport const RoleModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/roles\",\n name: \"roles\",\n model: Role,\n moduleId: \"9f6416e6-7b9b-4e1a-a99f-833191eca8a9\",\n });\n","import { AbstractApiData, JsonApiHydratedDataInterface, Modules } from \"../../../core\";\nimport { S3Input, S3Interface } from \"./s3.interface\";\n\nexport class S3 extends AbstractApiData implements S3Interface {\n private _url?: string;\n private _storageType?: string;\n private _contentType?: string;\n private _blobType?: string;\n private _acl?: string;\n\n get url(): string {\n if (!this._url) throw new Error(\"Image URL is not set.\");\n return this._url;\n }\n\n get headers(): Record<string, string> {\n const headers: Record<string, string> = {};\n\n if (this._contentType) {\n headers[\"Content-Type\"] = this._contentType;\n }\n\n if (this._blobType) {\n headers[\"x-ms-blob-type\"] = this._blobType;\n }\n\n if (this._acl) {\n headers[\"x-amz-acl\"] = this._acl;\n }\n\n return headers;\n }\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n this._url = data.jsonApi.attributes.url ?? undefined;\n this._storageType = data.jsonApi.attributes.storageType ?? undefined;\n this._contentType = data.jsonApi.attributes.contentType ?? undefined;\n this._blobType = data.jsonApi.attributes.blobType ?? undefined;\n this._acl = data.jsonApi.attributes.acl ?? undefined;\n\n return this;\n }\n\n createJsonApi(data: S3Input) {\n const response: any = {\n data: {\n type: Modules.S3.name,\n attributes: {\n key: data.key,\n },\n },\n included: [],\n };\n\n if (data.contentType) response.data.attributes.contentType = data.contentType;\n\n return response;\n }\n}\n","import { ModuleFactory } from \"../../permissions\";\nimport { S3 } from \"./data/s3\";\n\nexport const S3Module = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/s3\",\n name: \"s3\",\n model: S3,\n moduleId: \"db41ba46-e171-4324-8845-99353eba8568\",\n });\n","import { AbstractService, EndpointCreator, HttpMethod, Modules } from \"../../../core\";\nimport { S3Interface } from \"./s3.interface\";\n\nexport class S3Service extends AbstractService {\n static async getPreSignedUrl(params: { key: string; contentType: string; isPublic?: boolean }): Promise<S3Interface> {\n const endpoint = new EndpointCreator({ endpoint: Modules.S3 })\n .addAdditionalParam(\"key\", params.key)\n .addAdditionalParam(\"contentType\", params.contentType);\n\n if (params.isPublic) endpoint.addAdditionalParam(\"isPublic\", \"true\");\n\n return this.callApi<S3Interface>({ type: Modules.S3, method: HttpMethod.GET, endpoint: endpoint.generate() });\n }\n\n static async getSignedUrl(params: { key: string; isPublic?: boolean }): Promise<S3Interface> {\n const endpoint = new EndpointCreator({ endpoint: Modules.S3, id: \"sign\" }).addAdditionalParam(\"key\", params.key);\n\n if (params.isPublic) endpoint.addAdditionalParam(\"isPublic\", \"true\");\n\n return this.callApi<S3Interface>({ type: Modules.S3, method: HttpMethod.GET, endpoint: endpoint.generate() });\n }\n\n static async deleteFile(params: { key: string }): Promise<void> {\n this.callApi<S3Interface>({\n type: Modules.S3,\n method: HttpMethod.DELETE,\n endpoint: new EndpointCreator({ endpoint: Modules.S3 }).addAdditionalParam(\"key\", params.key).generate(),\n });\n }\n}\n","import { AbstractApiData, JsonApiHydratedDataInterface, Modules } from \"../../../core\";\nimport { CompanyInterface } from \"../../company\";\nimport { ModuleInterface } from \"../../module\";\nimport { RoleInterface } from \"../../role\";\nimport { SearchResultInterface } from \"../../search\";\nimport { UserInput, UserInterface } from \"./user.interface\";\n\nexport class User extends AbstractApiData implements UserInterface, SearchResultInterface {\n private _name?: string;\n private _email?: string;\n private _title?: string;\n private _bio?: string;\n private _avatar?: string;\n private _avatarUrl?: string;\n private _phone?: string;\n private _rate?: number;\n\n private _isActivated?: boolean;\n private _isDeleted?: boolean;\n private _lastLogin?: Date;\n\n private _relevance?: number;\n\n private _roles: RoleInterface[] = [];\n private _company?: CompanyInterface;\n private _modules: ModuleInterface[] = [];\n\n get searchResult(): string {\n return this._name ?? \"\";\n }\n\n get name(): string {\n return this._name ?? \"\";\n }\n\n get email(): string {\n return this._email ?? \"\";\n }\n\n get title(): string {\n return this._title ?? \"\";\n }\n\n get bio(): string {\n return this._bio ?? \"\";\n }\n\n get avatar(): string | undefined {\n return this._avatar;\n }\n\n get avatarUrl(): string | undefined {\n return this._avatarUrl;\n }\n\n get phone(): string | undefined {\n return this._phone;\n }\n\n get rate(): number | undefined {\n return this._rate;\n }\n\n get relevance(): number | undefined {\n return this._relevance;\n }\n\n get isActivated(): boolean {\n return this._isActivated ?? false;\n }\n\n get isDeleted(): boolean {\n return this._isDeleted ?? false;\n }\n\n get lastLogin(): Date | undefined {\n return this._lastLogin;\n }\n\n get roles(): RoleInterface[] {\n return this._roles;\n }\n\n get company(): CompanyInterface | undefined {\n return this._company;\n }\n\n get modules(): ModuleInterface[] {\n return this._modules;\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n this._name = data.jsonApi.attributes.name;\n this._email = data.jsonApi.attributes.email;\n this._title = data.jsonApi.attributes.title;\n this._bio = data.jsonApi.attributes.bio;\n this._phone = data.jsonApi.attributes.phone;\n this._rate = data.jsonApi.attributes.rate;\n\n this._avatar = data.jsonApi.attributes.avatar;\n this._avatarUrl = data.jsonApi.attributes.avatarUrl;\n\n this._isActivated = data.jsonApi.meta.isActive;\n this._isDeleted = data.jsonApi.meta.isDeleted;\n this._lastLogin = data.jsonApi.meta.lastLogin ? new Date(data.jsonApi.meta.lastLogin) : undefined;\n\n this._relevance = data.jsonApi.meta.relevance;\n\n this._roles = this._readIncluded(data, \"roles\", Modules.Role) as RoleInterface[];\n this._company = this._readIncluded(data, \"company\", Modules.Company) as CompanyInterface;\n this._modules = this._readIncluded(data, \"modules\", Modules.Module) as ModuleInterface[];\n\n return this;\n }\n\n createJsonApi(data: UserInput) {\n const response: any = {\n data: {\n type: Modules.User.name,\n id: data.id,\n attributes: {\n name: data.name,\n },\n meta: {},\n relationships: {},\n },\n included: [],\n };\n\n if (data.email !== undefined) response.data.attributes.email = data.email;\n if (data.title !== undefined) response.data.attributes.title = data.title;\n if (data.bio !== undefined) response.data.attributes.bio = data.bio;\n if (data.phone !== undefined) response.data.attributes.phone = data.phone;\n if (data.password !== undefined) response.data.attributes.password = data.password;\n if (data.sendInvitationEmail) response.data.attributes.sendInvitationEmail = true;\n if (data.adminCreated) response.data.attributes.adminCreated = true;\n if (data.avatar) response.data.attributes.avatar = data.avatar;\n if (data.rate !== undefined) response.data.attributes.rate = data.rate;\n\n if (data.roleIds) {\n response.data.relationships.roles = {\n data: data.roleIds.map((roleId) => ({\n type: Modules.Role.name,\n id: roleId,\n })),\n };\n }\n\n if (data.companyId) {\n response.data.relationships.company = {\n data: {\n type: Modules.Company.name,\n id: data.companyId,\n },\n };\n }\n\n return response;\n }\n}\n","export enum UserFields {\n userId = \"userId\",\n name = \"name\",\n email = \"email\",\n relevance = \"relevance\",\n createdAt = \"createdAt\",\n updatedAt = \"updatedAt\",\n}\n","import { AbstractService, EndpointCreator, HttpMethod, Modules, NextRef, PreviousRef } from \"../../../core\";\nimport { UserInput, UserInterface } from \"./user.interface\";\n\nexport class UserService extends AbstractService {\n static async findFullUser(): Promise<UserInterface> {\n const endpoint = new EndpointCreator({ endpoint: Modules.User, id: \"me\", childEndpoint: \"full\" });\n\n return this.callApi<UserInterface>({\n type: Modules.User,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n });\n }\n\n static async findById(params: { userId: string }): Promise<UserInterface> {\n return this.callApi<UserInterface>({\n type: Modules.User,\n method: HttpMethod.GET,\n endpoint: new EndpointCreator({ endpoint: Modules.User, id: params.userId }).generate(),\n });\n }\n\n static async findByEmail(params: { email: string }): Promise<UserInterface> {\n const endpoint = new EndpointCreator({ endpoint: Modules.User, id: \"email\", childEndpoint: params.email });\n\n return this.callApi<UserInterface>({ type: Modules.User, method: HttpMethod.GET, endpoint: endpoint.generate() });\n }\n\n static async findMany(params: {\n roleId?: string;\n search?: string;\n fetchAll?: boolean;\n includeDeleted?: boolean;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<UserInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.User });\n\n if (params.roleId) endpoint.addAdditionalParam(\"roleId\", params.roleId);\n\n if (params.includeDeleted) endpoint.addAdditionalParam(\"includeDeleted\", \"true\");\n if (params.fetchAll) endpoint.addAdditionalParam(\"fetchAll\", \"true\");\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async findManyByContentIds(params: {\n contentIds: string[];\n search?: string;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<UserInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.User });\n\n endpoint.addAdditionalParam(\"contentIds\", params.contentIds.map((id) => id).join(\",\"));\n endpoint.addAdditionalParam(\"includeDeleted\", \"true\");\n endpoint.addAdditionalParam(\"fetchAll\", \"true\");\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async findRelevant(params: { id: string; next?: NextRef; prev?: PreviousRef }): Promise<UserInterface[]> {\n const endpoint: EndpointCreator = new EndpointCreator({\n endpoint: Modules.Content,\n id: params.id,\n childEndpoint: \"user-relevance\",\n });\n\n if (Modules.User.inclusions?.lists?.fields) endpoint.limitToFields(Modules.User.inclusions.lists.fields);\n if (Modules.User.inclusions?.lists?.types) endpoint.limitToType(Modules.User.inclusions.lists.types);\n\n return this.callApi<UserInterface[]>({\n type: Modules.User,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async findManyForAmin(params: {\n companyId?: string;\n search?: string;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<UserInterface[]> {\n if (!params.companyId) return [];\n\n const endpoint = new EndpointCreator({\n endpoint: Modules.Company,\n id: params.companyId,\n childEndpoint: Modules.User,\n });\n\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n previous: params.prev,\n });\n }\n\n static async findAllUsers(params: {\n companyId: string;\n search?: string;\n limitToRoles?: string[];\n isDeleted?: boolean;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<UserInterface[]> {\n const endpoint = new EndpointCreator({\n endpoint: Modules.Company,\n id: params.companyId,\n childEndpoint: Modules.User,\n });\n\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n if (params.isDeleted) endpoint.addAdditionalParam(\"isDeleted\", \"true\");\n if (params.limitToRoles && params.limitToRoles.length > 0)\n endpoint.addAdditionalParam(\"limitToRoles\", params.limitToRoles.join(\",\"));\n\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async findAllUsersByRole(params: {\n roleId: string;\n search?: string;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<UserInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Role, id: params.roleId, childEndpoint: Modules.User });\n\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async findAllUsersNotInRole(params: {\n roleId: string;\n search?: string;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<UserInterface[]> {\n const endpoint = new EndpointCreator({\n endpoint: Modules.Role,\n id: params.roleId,\n childEndpoint: Modules.User,\n }).addAdditionalParam(\"notInRole\", \"true\");\n\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async create(params: UserInput): Promise<UserInterface> {\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.POST,\n endpoint: new EndpointCreator({ endpoint: Modules.User }).generate(),\n companyId: params.companyId,\n input: params,\n });\n }\n\n static async reactivate(params: { userId: string }): Promise<UserInterface> {\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.PATCH,\n endpoint: new EndpointCreator({ endpoint: Modules.User, id: params.userId }).generate(),\n });\n }\n\n static async sendInvitation(params: { userId: string; companyId?: string }): Promise<void> {\n const endpoint = new EndpointCreator({\n endpoint: Modules.User,\n id: params.userId,\n childEndpoint: \"send-invitation-email\",\n });\n\n if (params.companyId) endpoint.addAdditionalParam(\"companyId\", params.companyId);\n\n this.callApi({\n type: Modules.User,\n method: HttpMethod.POST,\n endpoint: endpoint.generate(),\n });\n }\n\n static async update(params: UserInput): Promise<UserInterface> {\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.PUT,\n endpoint: new EndpointCreator({ endpoint: Modules.User, id: params.id }).generate(),\n companyId: params.companyId,\n input: params,\n });\n }\n\n static async patchRate(params: UserInput): Promise<UserInterface> {\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.PATCH,\n endpoint: new EndpointCreator({ endpoint: Modules.User, id: params.id, childEndpoint: \"rates\" }).generate(),\n companyId: params.companyId,\n input: params,\n });\n }\n\n static async delete(params: { userId: string; companyId: string }): Promise<void> {\n await this.callApi({\n type: Modules.User,\n method: HttpMethod.DELETE,\n endpoint: new EndpointCreator({ endpoint: Modules.User, id: params.userId }).generate(),\n companyId: params.companyId,\n });\n }\n}\n","import { ModuleFactory } from \"../../permissions\";\nimport { User } from \"./data\";\n\nexport const AuthorModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/authors\",\n name: \"authors\",\n model: User,\n moduleId: \"04cfc677-0fd2-4f5e-adf4-2483a00c0277\",\n });\n"]}