@carlonicora/nextjs-jsonapi 1.1.0 → 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.
Files changed (33) hide show
  1. package/dist/{BlockNoteEditor-BCPDRNLK.js → BlockNoteEditor-CNXQ3WL3.js} +7 -7
  2. package/dist/{BlockNoteEditor-BCPDRNLK.js.map → BlockNoteEditor-CNXQ3WL3.js.map} +1 -1
  3. package/dist/{BlockNoteEditor-6TBRDBCF.mjs → BlockNoteEditor-DC33K4IF.mjs} +3 -3
  4. package/dist/{chunk-FPMPTR7S.js → chunk-KDFDGXCX.js} +58 -58
  5. package/dist/chunk-KDFDGXCX.js.map +1 -0
  6. package/dist/{chunk-FYRFMABS.js → chunk-L6LH7WA4.js} +21 -2
  7. package/dist/chunk-L6LH7WA4.js.map +1 -0
  8. package/dist/{chunk-MA2L2PL2.mjs → chunk-MHVXFWZY.mjs} +20 -1
  9. package/dist/chunk-MHVXFWZY.mjs.map +1 -0
  10. package/dist/{chunk-LUHQILAI.mjs → chunk-Y4XI3AZR.mjs} +8 -8
  11. package/dist/chunk-Y4XI3AZR.mjs.map +1 -0
  12. package/dist/client/index.js +3 -3
  13. package/dist/client/index.mjs +2 -2
  14. package/dist/components/index.js +3 -3
  15. package/dist/components/index.mjs +2 -2
  16. package/dist/contexts/index.js +3 -3
  17. package/dist/contexts/index.mjs +2 -2
  18. package/dist/features/index.d.mts +3 -1
  19. package/dist/features/index.d.ts +3 -1
  20. package/dist/features/index.js +4 -2
  21. package/dist/features/index.js.map +1 -1
  22. package/dist/features/index.mjs +3 -1
  23. package/dist/hooks/index.js +3 -3
  24. package/dist/hooks/index.mjs +2 -2
  25. package/package.json +1 -1
  26. package/src/features/user/index.ts +1 -1
  27. package/src/hooks/usePageTracker.ts +1 -1
  28. package/src/hooks/useSocket.ts +4 -4
  29. package/dist/chunk-FPMPTR7S.js.map +0 -1
  30. package/dist/chunk-FYRFMABS.js.map +0 -1
  31. package/dist/chunk-LUHQILAI.mjs.map +0 -1
  32. package/dist/chunk-MA2L2PL2.mjs.map +0 -1
  33. /package/dist/{BlockNoteEditor-6TBRDBCF.mjs.map → BlockNoteEditor-DC33K4IF.mjs.map} +0 -0
@@ -1316,6 +1316,25 @@ var AuthorModule = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (factory
1316
1316
  moduleId: "04cfc677-0fd2-4f5e-adf4-2483a00c0277"
1317
1317
  }), "AuthorModule");
1318
1318
 
1319
+ // src/features/user/user.module.ts
1320
+ var UserModule = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (factory) => factory({
1321
+ pageUrl: "/users",
1322
+ name: "users",
1323
+ model: User,
1324
+ moduleId: "04cfc677-0fd2-4f5e-adf4-2483a00c0277",
1325
+ inclusions: {
1326
+ lists: {
1327
+ fields: [
1328
+ _chunkWZJDLITGjs.createJsonApiInclusion.call(void 0, "users", [`name`, `email`, `avatar`, `title`]),
1329
+ _chunkWZJDLITGjs.createJsonApiInclusion.call(void 0, "usertopics", [`level`]),
1330
+ _chunkWZJDLITGjs.createJsonApiInclusion.call(void 0, "userexpertises", [`level`]),
1331
+ _chunkWZJDLITGjs.createJsonApiInclusion.call(void 0, "topics", [`name`])
1332
+ ]
1333
+ }
1334
+ }
1335
+ }), "UserModule");
1336
+
1337
+
1319
1338
 
1320
1339
 
1321
1340
 
@@ -1352,5 +1371,5 @@ var AuthorModule = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (factory
1352
1371
 
1353
1372
 
1354
1373
 
1355
- exports.Role = Role; exports.RoleFields = RoleFields; exports.RoleService = RoleService; exports.RoleModule = RoleModule; exports.User = User; exports.UserFields = UserFields; exports.UserService = UserService; exports.S3 = S3; exports.S3Module = S3Module; exports.S3Service = S3Service; exports.AuthorModule = AuthorModule; exports.Company = Company; exports.CompanyFields = CompanyFields; exports.CompanyService = CompanyService; exports.Feature = Feature; exports.FeatureModule = FeatureModule; exports.FeatureService = FeatureService; exports.Notification = Notification; exports.NotificationFields = NotificationFields; exports.NotificationService = NotificationService; exports.AuthModule = AuthModule; exports.Auth = Auth; exports.AuthService = AuthService; exports.AuthComponent = AuthComponent; exports.CompanyModule = CompanyModule; exports.ContentModule = ContentModule; exports.Content = Content; exports.ContentFields = ContentFields; exports.ContentService = ContentService; exports.Module = Module; exports.ModuleModule = ModuleModule; exports.NotificationModule = NotificationModule; exports.Push = Push; exports.PushModule = PushModule; exports.PushService = PushService;
1356
- //# sourceMappingURL=chunk-FYRFMABS.js.map
1374
+ exports.Role = Role; exports.RoleFields = RoleFields; exports.RoleService = RoleService; exports.RoleModule = RoleModule; exports.User = User; exports.UserFields = UserFields; exports.UserService = UserService; exports.S3 = S3; exports.S3Module = S3Module; exports.S3Service = S3Service; exports.AuthorModule = AuthorModule; exports.UserModule = UserModule; exports.Company = Company; exports.CompanyFields = CompanyFields; exports.CompanyService = CompanyService; exports.Feature = Feature; exports.FeatureModule = FeatureModule; exports.FeatureService = FeatureService; exports.Notification = Notification; exports.NotificationFields = NotificationFields; exports.NotificationService = NotificationService; exports.AuthModule = AuthModule; exports.Auth = Auth; exports.AuthService = AuthService; exports.AuthComponent = AuthComponent; exports.CompanyModule = CompanyModule; exports.ContentModule = ContentModule; exports.Content = Content; exports.ContentFields = ContentFields; exports.ContentService = ContentService; exports.Module = Module; exports.ModuleModule = ModuleModule; exports.NotificationModule = NotificationModule; exports.Push = Push; exports.PushModule = PushModule; exports.PushService = PushService;
1375
+ //# sourceMappingURL=chunk-L6LH7WA4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-L6LH7WA4.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","../src/features/user/user.module.ts"],"names":["AuthComponent","CompanyFields","ContentFields","NotificationFields","RoleFields","UserFields"],"mappings":"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","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-L6LH7WA4.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","import { User } from \"./data/user\";\nimport { createJsonApiInclusion } from \"../../core\";\nimport { ModuleFactory } from \"../../permissions\";\n\nexport const UserModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/users\",\n name: \"users\",\n model: User,\n moduleId: \"04cfc677-0fd2-4f5e-adf4-2483a00c0277\",\n inclusions: {\n lists: {\n fields: [\n createJsonApiInclusion(\"users\", [`name`, `email`, `avatar`, `title`]),\n createJsonApiInclusion(\"usertopics\", [`level`]),\n createJsonApiInclusion(\"userexpertises\", [`level`]),\n createJsonApiInclusion(\"topics\", [`name`]),\n ],\n },\n },\n });\n"]}
@@ -1316,6 +1316,24 @@ var AuthorModule = /* @__PURE__ */ __name((factory) => factory({
1316
1316
  moduleId: "04cfc677-0fd2-4f5e-adf4-2483a00c0277"
1317
1317
  }), "AuthorModule");
1318
1318
 
1319
+ // src/features/user/user.module.ts
1320
+ var UserModule = /* @__PURE__ */ __name((factory) => factory({
1321
+ pageUrl: "/users",
1322
+ name: "users",
1323
+ model: User,
1324
+ moduleId: "04cfc677-0fd2-4f5e-adf4-2483a00c0277",
1325
+ inclusions: {
1326
+ lists: {
1327
+ fields: [
1328
+ createJsonApiInclusion("users", [`name`, `email`, `avatar`, `title`]),
1329
+ createJsonApiInclusion("usertopics", [`level`]),
1330
+ createJsonApiInclusion("userexpertises", [`level`]),
1331
+ createJsonApiInclusion("topics", [`name`])
1332
+ ]
1333
+ }
1334
+ }
1335
+ }), "UserModule");
1336
+
1319
1337
  export {
1320
1338
  Role,
1321
1339
  RoleFields,
@@ -1328,6 +1346,7 @@ export {
1328
1346
  S3Module,
1329
1347
  S3Service,
1330
1348
  AuthorModule,
1349
+ UserModule,
1331
1350
  Company,
1332
1351
  CompanyFields,
1333
1352
  CompanyService,
@@ -1353,4 +1372,4 @@ export {
1353
1372
  PushModule,
1354
1373
  PushService
1355
1374
  };
1356
- //# sourceMappingURL=chunk-MA2L2PL2.mjs.map
1375
+ //# sourceMappingURL=chunk-MHVXFWZY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../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","../src/features/user/user.module.ts"],"sourcesContent":["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","import { User } from \"./data/user\";\nimport { createJsonApiInclusion } from \"../../core\";\nimport { ModuleFactory } from \"../../permissions\";\n\nexport const UserModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/users\",\n name: \"users\",\n model: User,\n moduleId: \"04cfc677-0fd2-4f5e-adf4-2483a00c0277\",\n inclusions: {\n lists: {\n fields: [\n createJsonApiInclusion(\"users\", [`name`, `email`, `avatar`, `title`]),\n createJsonApiInclusion(\"usertopics\", [`level`]),\n createJsonApiInclusion(\"userexpertises\", [`level`]),\n createJsonApiInclusion(\"topics\", [`name`]),\n ],\n },\n },\n });\n"],"mappings":"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","names":["AuthComponent","CompanyFields","ContentFields","NotificationFields","RoleFields","UserFields"]}
@@ -109,7 +109,7 @@ import {
109
109
  RoleService,
110
110
  S3Service,
111
111
  UserService
112
- } from "./chunk-MA2L2PL2.mjs";
112
+ } from "./chunk-MHVXFWZY.mjs";
113
113
  import {
114
114
  getTokenHandler,
115
115
  useI18nDateFnsLocale,
@@ -957,7 +957,7 @@ import { useEffect as useEffect5 } from "react";
957
957
  var EXCLUDED_ROUTES = ["/", "/login", "/register", "/forgot-password", "/reset-password", "/activate"];
958
958
  function usePageTracker() {
959
959
  const pathname = usePathname();
960
- const [recentPages, setRecentPages] = useAtom(recentPagesAtom);
960
+ const [_recentPages, setRecentPages] = useAtom(recentPagesAtom);
961
961
  useEffect5(() => {
962
962
  if (!pathname) return;
963
963
  if (EXCLUDED_ROUTES.some((route) => pathname === route || pathname.endsWith(route))) {
@@ -1057,9 +1057,9 @@ __name(usePushNotifications, "usePushNotifications");
1057
1057
  import { useEffect as useEffect7, useRef as useRef4, useState as useState2 } from "react";
1058
1058
  import io from "socket.io-client";
1059
1059
  function useSocket({ token }) {
1060
- const errorCount = useRef4(0);
1060
+ const _errorCount = useRef4(0);
1061
1061
  const shouldConnect = useRef4(true);
1062
- const hookInstanceId = useRef4(Math.random().toString(36).substring(2, 11));
1062
+ const _hookInstanceId = useRef4(Math.random().toString(36).substring(2, 11));
1063
1063
  const [socket, setSocket] = useState2(null);
1064
1064
  const [isConnected, setIsConnected] = useState2(false);
1065
1065
  const [messages, setMessages] = useState2([]);
@@ -1069,7 +1069,7 @@ function useSocket({ token }) {
1069
1069
  if (!token) return;
1070
1070
  const globalSocketKey = `__socket_${process.env.NEXT_PUBLIC_API_URL?.replace(/[^a-zA-Z0-9]/g, "_")}`;
1071
1071
  if (typeof window !== "undefined") {
1072
- const allSocketKeys = Object.keys(window).filter((key) => key.startsWith("__socket_"));
1072
+ const _allSocketKeys = Object.keys(window).filter((key) => key.startsWith("__socket_"));
1073
1073
  const existingSocket = window[globalSocketKey];
1074
1074
  if (existingSocket) {
1075
1075
  if (existingSocket.connected) {
@@ -1105,7 +1105,7 @@ function useSocket({ token }) {
1105
1105
  }
1106
1106
  socketRef.current = currentSocket;
1107
1107
  setSocket(currentSocket);
1108
- } catch (error) {
1108
+ } catch {
1109
1109
  return () => {
1110
1110
  };
1111
1111
  }
@@ -1984,7 +1984,7 @@ __name(AllowedUsersDetails, "AllowedUsersDetails");
1984
1984
  import dynamic from "next/dynamic";
1985
1985
  import React3 from "react";
1986
1986
  import { jsx as jsx29 } from "react/jsx-runtime";
1987
- var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-6TBRDBCF.mjs"), {
1987
+ var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-DC33K4IF.mjs"), {
1988
1988
  ssr: false
1989
1989
  });
1990
1990
  var BlockNoteEditorContainer = React3.memo(/* @__PURE__ */ __name(function EditorContainer(props) {
@@ -7968,4 +7968,4 @@ export {
7968
7968
  RolesList,
7969
7969
  UserRolesList
7970
7970
  };
7971
- //# sourceMappingURL=chunk-LUHQILAI.mjs.map
7971
+ //# sourceMappingURL=chunk-Y4XI3AZR.mjs.map