@carlonicora/nextjs-jsonapi 1.0.5 → 1.1.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 (111) hide show
  1. package/LICENSE +675 -0
  2. package/dist/{AbstractService-B2n_JdiC.d.mts → AbstractService-BsY6W3Ej.d.mts} +1 -1
  3. package/dist/{AbstractService-DtQTYovo.d.ts → AbstractService-wLid8dB0.d.ts} +1 -1
  4. package/dist/AuthComponent-hxOPs9o8.d.mts +11 -0
  5. package/dist/AuthComponent-hxOPs9o8.d.ts +11 -0
  6. package/dist/{BlockNoteEditor-BLVXQPXV.mjs → BlockNoteEditor-6TBRDBCF.mjs} +7 -7
  7. package/dist/{BlockNoteEditor-ZTDHULFT.js → BlockNoteEditor-BCPDRNLK.js} +17 -17
  8. package/dist/{BlockNoteEditor-ZTDHULFT.js.map → BlockNoteEditor-BCPDRNLK.js.map} +1 -1
  9. package/dist/{chunk-6GKHCVF6.js → chunk-32HM6MDD.js} +1 -1
  10. package/dist/chunk-32HM6MDD.js.map +1 -0
  11. package/dist/{chunk-A5DDIABK.js → chunk-EZK3H6EJ.js} +206 -206
  12. package/dist/{chunk-A5DDIABK.js.map → chunk-EZK3H6EJ.js.map} +1 -1
  13. package/dist/{chunk-WEC4YMOS.js → chunk-FPMPTR7S.js} +778 -590
  14. package/dist/chunk-FPMPTR7S.js.map +1 -0
  15. package/dist/{chunk-RZO2LOW4.js → chunk-FYRFMABS.js} +181 -183
  16. package/dist/chunk-FYRFMABS.js.map +1 -0
  17. package/dist/{chunk-DD3KISNB.mjs → chunk-HAG77QBV.mjs} +1 -1
  18. package/dist/chunk-HAG77QBV.mjs.map +1 -0
  19. package/dist/{chunk-2LM6LCJW.mjs → chunk-JLN6UWII.mjs} +41 -2
  20. package/dist/chunk-JLN6UWII.mjs.map +1 -0
  21. package/dist/{chunk-JC3WJK65.js → chunk-LJRD4SRV.js} +41 -2
  22. package/dist/chunk-LJRD4SRV.js.map +1 -0
  23. package/dist/{chunk-3APORDYP.mjs → chunk-LUHQILAI.mjs} +700 -512
  24. package/dist/chunk-LUHQILAI.mjs.map +1 -0
  25. package/dist/{chunk-7C5RAEBO.mjs → chunk-MA2L2PL2.mjs} +2 -4
  26. package/dist/chunk-MA2L2PL2.mjs.map +1 -0
  27. package/dist/{chunk-PYF2U6WG.mjs → chunk-NPPQNSXN.mjs} +11 -1
  28. package/dist/{chunk-PYF2U6WG.mjs.map → chunk-NPPQNSXN.mjs.map} +1 -1
  29. package/dist/{chunk-HMHGLXWC.js → chunk-WZJDLITG.js} +11 -1
  30. package/dist/chunk-WZJDLITG.js.map +1 -0
  31. package/dist/{chunk-IWFGEPAA.mjs → chunk-X53MF5ZN.mjs} +2 -2
  32. package/dist/client/index.d.mts +8 -4
  33. package/dist/client/index.d.ts +8 -4
  34. package/dist/client/index.js +9 -7
  35. package/dist/client/index.js.map +1 -1
  36. package/dist/client/index.mjs +8 -6
  37. package/dist/components/index.d.mts +20 -3
  38. package/dist/components/index.d.ts +20 -3
  39. package/dist/components/index.js +13 -7
  40. package/dist/components/index.js.map +1 -1
  41. package/dist/components/index.mjs +12 -6
  42. package/dist/{user.fields-CbdObSmS.d.mts → content.fields-cHPdM8GJ.d.mts} +10 -1
  43. package/dist/{user.fields-CbdObSmS.d.ts → content.fields-cHPdM8GJ.d.ts} +10 -1
  44. package/dist/{AuthComponent-m6Qp4Hz6.d.ts → content.interface-C_PGZMuy.d.ts} +1 -11
  45. package/dist/{AuthComponent-CPLvEerw.d.mts → content.interface-D_WS6CrB.d.mts} +1 -11
  46. package/dist/contexts/index.d.mts +2 -1
  47. package/dist/contexts/index.d.ts +2 -1
  48. package/dist/contexts/index.js +7 -7
  49. package/dist/contexts/index.mjs +6 -6
  50. package/dist/core/index.d.mts +6 -3
  51. package/dist/core/index.d.ts +6 -3
  52. package/dist/core/index.js +2 -2
  53. package/dist/core/index.mjs +1 -1
  54. package/dist/features/index.d.mts +7 -17
  55. package/dist/features/index.d.ts +7 -17
  56. package/dist/features/index.js +4 -4
  57. package/dist/features/index.mjs +3 -3
  58. package/dist/hooks/index.d.mts +4 -4
  59. package/dist/hooks/index.d.ts +4 -4
  60. package/dist/hooks/index.js +7 -7
  61. package/dist/hooks/index.mjs +6 -6
  62. package/dist/index.d.mts +4 -3
  63. package/dist/index.d.ts +4 -3
  64. package/dist/index.js +3 -3
  65. package/dist/index.mjs +2 -2
  66. package/dist/permissions/index.d.mts +3 -2
  67. package/dist/permissions/index.d.ts +3 -2
  68. package/dist/permissions/index.js +2 -2
  69. package/dist/permissions/index.mjs +1 -1
  70. package/dist/server/index.d.mts +2 -1
  71. package/dist/server/index.d.ts +2 -1
  72. package/dist/server/index.js +2 -2
  73. package/dist/server/index.mjs +1 -1
  74. package/dist/shadcnui/index.js +5 -3
  75. package/dist/shadcnui/index.js.map +1 -1
  76. package/dist/shadcnui/index.mjs +4 -2
  77. package/dist/{types-BUAlgqqh.d.ts → types-B2QRyqyK.d.ts} +1 -1
  78. package/dist/{types-iVdVY7ba.d.mts → types-CgvNmxTd.d.mts} +1 -1
  79. package/dist/{types-Bl61ob-7.d.mts → types-t2PyXhDu.d.mts} +4 -0
  80. package/dist/{types-Bl61ob-7.d.ts → types-t2PyXhDu.d.ts} +4 -0
  81. package/dist/utils/index.d.mts +27 -3
  82. package/dist/utils/index.d.ts +27 -3
  83. package/dist/utils/index.js +16 -2
  84. package/dist/utils/index.js.map +1 -1
  85. package/dist/utils/index.mjs +15 -1
  86. package/package.json +1 -1
  87. package/src/client/index.ts +3 -1
  88. package/src/components/index.ts +1 -0
  89. package/src/core/registry/ModuleRegistry.ts +16 -1
  90. package/src/features/content/components/index.ts +1 -0
  91. package/src/features/content/components/lists/ContentsList.tsx +67 -0
  92. package/src/features/content/components/lists/ContentsListById.tsx +30 -0
  93. package/src/features/content/components/lists/RelevantContentsList.tsx +30 -0
  94. package/src/features/content/components/lists/index.ts +3 -0
  95. package/src/features/content/data/content.fields.ts +0 -2
  96. package/src/features/content/hooks/index.ts +1 -0
  97. package/src/features/content/hooks/useContentTableStructure.tsx +132 -0
  98. package/src/permissions/types.ts +3 -0
  99. package/src/utils/icons.tsx +40 -0
  100. package/src/utils/index.ts +1 -0
  101. package/dist/chunk-2LM6LCJW.mjs.map +0 -1
  102. package/dist/chunk-3APORDYP.mjs.map +0 -1
  103. package/dist/chunk-6GKHCVF6.js.map +0 -1
  104. package/dist/chunk-7C5RAEBO.mjs.map +0 -1
  105. package/dist/chunk-DD3KISNB.mjs.map +0 -1
  106. package/dist/chunk-HMHGLXWC.js.map +0 -1
  107. package/dist/chunk-JC3WJK65.js.map +0 -1
  108. package/dist/chunk-RZO2LOW4.js.map +0 -1
  109. package/dist/chunk-WEC4YMOS.js.map +0 -1
  110. /package/dist/{BlockNoteEditor-BLVXQPXV.mjs.map → BlockNoteEditor-6TBRDBCF.mjs.map} +0 -0
  111. /package/dist/{chunk-IWFGEPAA.mjs.map → chunk-X53MF5ZN.mjs.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-RZO2LOW4.js","../src/features/auth/auth.module.ts","../src/features/auth/data/auth.ts","../src/features/auth/data/auth.service.ts","../src/features/auth/enums/AuthComponent.ts","../src/features/company/company.module.ts","../src/features/company/data/company.ts","../src/features/company/data/company.fields.ts","../src/features/company/data/company.service.ts","../src/features/content/content.module.ts","../src/features/content/data/content.ts","../src/features/content/data/content.fields.ts","../src/features/content/data/content.service.ts","../src/features/feature/data/feature.ts","../src/features/feature/feature.module.ts","../src/features/feature/data/feature.service.ts","../src/features/module/data/module.ts","../src/features/module/module.module.ts","../src/features/notification/data/notification.ts","../src/features/notification/notification.module.ts","../src/features/notification/data/notification.fields.ts","../src/features/notification/data/notification.service.ts","../src/features/push/data/push.ts","../src/features/push/push.module.ts","../src/features/push/data/push.service.ts","../src/features/role/data/role.ts","../src/features/role/data/role.fields.ts","../src/features/role/data/role.service.ts","../src/features/role/role.module.ts","../src/features/s3/data/s3.ts","../src/features/s3/s3.module.ts","../src/features/s3/data/s3.service.ts","../src/features/user/data/user.ts","../src/features/user/data/user.fields.ts","../src/features/user/data/user.service.ts","../src/features/user/author.module.ts"],"names":["AuthComponent","CompanyFields","ContentFields","NotificationFields","RoleFields","UserFields"],"mappings":"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","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-RZO2LOW4.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 topic = \"topic\",\n expertise = \"expertise\",\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"]}