@solidstarters/solid-core 1.2.141 → 1.2.143
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.
- package/dist/dtos/create-ai-interaction.dto.d.ts +1 -0
- package/dist/dtos/create-ai-interaction.dto.d.ts.map +1 -1
- package/dist/dtos/create-ai-interaction.dto.js +10 -1
- package/dist/dtos/create-ai-interaction.dto.js.map +1 -1
- package/dist/dtos/update-ai-interaction.dto.d.ts +1 -0
- package/dist/dtos/update-ai-interaction.dto.d.ts.map +1 -1
- package/dist/dtos/update-ai-interaction.dto.js +7 -1
- package/dist/dtos/update-ai-interaction.dto.js.map +1 -1
- package/dist/entities/ai-interaction.entity.d.ts +1 -0
- package/dist/entities/ai-interaction.entity.d.ts.map +1 -1
- package/dist/entities/ai-interaction.entity.js +9 -1
- package/dist/entities/ai-interaction.entity.js.map +1 -1
- package/dist/entities/dashboard-question-sql-dataset-config.entity.d.ts +1 -0
- package/dist/entities/dashboard-question-sql-dataset-config.entity.d.ts.map +1 -1
- package/dist/entities/dashboard-question-sql-dataset-config.entity.js +6 -1
- package/dist/entities/dashboard-question-sql-dataset-config.entity.js.map +1 -1
- package/dist/entities/dashboard-question.entity.d.ts +1 -0
- package/dist/entities/dashboard-question.entity.d.ts.map +1 -1
- package/dist/entities/dashboard-question.entity.js +6 -1
- package/dist/entities/dashboard-question.entity.js.map +1 -1
- package/dist/interfaces.d.ts +2 -2
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +4 -2
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -1
- package/dist/mappers/dashboard-mapper.d.ts.map +1 -1
- package/dist/mappers/dashboard-mapper.js +2 -0
- package/dist/mappers/dashboard-mapper.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +61 -0
- package/dist/services/ai-interaction.service.d.ts.map +1 -1
- package/dist/services/ai-interaction.service.js +1 -0
- package/dist/services/ai-interaction.service.js.map +1 -1
- package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.d.ts +10 -5
- package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.d.ts.map +1 -1
- package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js +25 -22
- package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js.map +1 -1
- package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.d.ts +2 -2
- package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.d.ts.map +1 -1
- package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.js +3 -3
- package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.js.map +1 -1
- package/dist/services/computed-fields/entity/noops-entity-computed-field-provider.service.d.ts +10 -0
- package/dist/services/computed-fields/entity/noops-entity-computed-field-provider.service.d.ts.map +1 -0
- package/dist/services/computed-fields/entity/noops-entity-computed-field-provider.service.js +34 -0
- package/dist/services/computed-fields/entity/noops-entity-computed-field-provider.service.js.map +1 -0
- package/dist/services/setting.service.d.ts.map +1 -1
- package/dist/services/setting.service.js +14 -2
- package/dist/services/setting.service.js.map +1 -1
- package/dist/services/user.service.d.ts +2 -0
- package/dist/services/user.service.d.ts.map +1 -1
- package/dist/services/user.service.js +15 -0
- package/dist/services/user.service.js.map +1 -1
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +4 -0
- package/dist/solid-core.module.js.map +1 -1
- package/dist/subscribers/computed-entity-field.subscriber.d.ts +1 -1
- package/dist/subscribers/computed-entity-field.subscriber.d.ts.map +1 -1
- package/dist/subscribers/computed-entity-field.subscriber.js +5 -3
- package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/dtos/create-ai-interaction.dto.ts +51 -55
- package/src/dtos/update-ai-interaction.dto.ts +51 -56
- package/src/entities/ai-interaction.entity.ts +29 -34
- package/src/entities/dashboard-question-sql-dataset-config.entity.ts +3 -0
- package/src/entities/dashboard-question.entity.ts +3 -0
- package/src/interfaces.ts +2 -2
- package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +4 -2
- package/src/mappers/dashboard-mapper.ts +2 -1
- package/src/seeders/seed-data/solid-core-metadata.json +61 -0
- package/src/services/ai-interaction.service.ts +3 -0
- package/src/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.ts +31 -33
- package/src/services/computed-fields/entity/concat-entity-computed-field-provider.service.ts +4 -5
- package/src/services/computed-fields/entity/noops-entity-computed-field-provider.service.ts +26 -0
- package/src/services/setting.service.ts +14 -2
- package/src/services/user.service.ts +22 -0
- package/src/solid-core.module.ts +4 -0
- package/src/subscribers/computed-entity-field.subscriber.ts +6 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/services/user.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { BadRequestException, Inject, Injectable } from '@nestjs/common';\nimport { ConfigService, ConfigType } from '@nestjs/config';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { CrudHelperService } from \"src/services/crud-helper.service\";\nimport { CRUDService } from 'src/services/crud.service';\nimport { FileService } from \"src/services/file.service\";\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\nimport { EntityManager, Repository } from 'typeorm';\n\n\nimport { OauthUserDto } from '../dtos/oauth-user-dto';\nimport { RoleMetadata } from '../entities/role-metadata.entity';\nimport { User } from '../entities/user.entity';\nimport { ActiveUserData } from '../interfaces/active-user-data.interface';\nimport { iamConfig } from 'src/config/iam.config';\n\n@Injectable()\nexport class UserService extends CRUDService<User> {\n constructor(\n readonly modelMetadataService: ModelMetadataService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly configService: ConfigService,\n readonly fileService: FileService,\n readonly discoveryService: DiscoveryService,\n readonly crudHelperService: CrudHelperService,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n @InjectRepository(User, 'default')\n readonly repo: Repository<User>,\n @InjectRepository(RoleMetadata)\n private readonly roleRepository: Repository<RoleMetadata>,\n readonly moduleRef: ModuleRef,\n @Inject(iamConfig.KEY)\n private readonly iamConfiguration: ConfigType<typeof iamConfig>,\n\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'user', 'solid-core', moduleRef);\n }\n\n\n async findOneByEmail(email: string): Promise<User> {\n return await this.repo.findOne({\n where: {\n email: email\n },\n relations: {}\n });\n // if (!entity) {\n // throw new NotFoundException(`user with email #${email} not found`);\n // }\n // return entity;\n }\n\n async findOneByAccessCode(accessCode: string): Promise<User> {\n return await this.repo.findOne({\n where: {\n accessCode: accessCode\n },\n relations: {}\n });\n }\n\n async findOneByUsername(username: string): Promise<User> {\n return await this.repo.findOne({\n where: {\n username: username\n },\n relations: {}\n });\n // if (!entity) {\n // throw new NotFoundException(`user with username ${username} not found`);\n // }\n // return entity;\n }\n\n async updateUser(id: any, updateDto, files, solidRequestContext: any = {}) {\n const user = await this.repo.findOne({\n where: { id: id },\n relations: {\n roles: true\n }\n });\n if (!user) {\n throw new Error(`User not found.`);\n }\n const roles = updateDto.roles ? updateDto.roles : [];\n await this.addRolesToUser(user.username, roles);\n await this.update(id, updateDto, files, true);\n }\n\n async addRoleToUser(username: string, roleName: string): Promise<User> {\n // Find the role, find the user and populate the many 2 many table.\n const user = await this.repo.findOne({\n where: { username: username },\n relations: {\n roles: true\n }\n });\n if (!user) {\n throw new Error(`User with username '${username}' not found.`);\n }\n const role = await this.roleRepository.findOne({ where: { name: roleName } });\n if (!role) {\n throw new Error(`Role '${roleName}' not found.`);\n }\n\n if (user.roles && user.roles.length > 0) {\n user.roles.push(role);\n }\n else {\n user.roles = [role];\n }\n\n return await this.repo.save(user);\n }\n\n async addRolesToUser(username: string, roleNames: string[]): Promise<User> {\n const user = await this.repo.findOne({\n where: { username: username },\n relations: { roles: true }\n });\n\n if (!user) {\n throw new Error(`User with username '${username}' not found.`);\n }\n\n const roles = await this.roleRepository.find({\n where: roleNames.map(roleName => ({ name: roleName }))\n });\n\n if (roles.length !== roleNames.length) {\n const foundRoleNames = roles.map(role => role.name);\n const missingRoles = roleNames.filter(roleName => !foundRoleNames.includes(roleName));\n throw new Error(`The following roles were not found: ${missingRoles.join(', ')}`);\n }\n\n const currentRoles = user.roles.map(role => role.name);\n\n const rolesToAdd = roles.filter(role => !currentRoles.includes(role.name));\n\n const rolesToRemove = user.roles.filter(role => !roleNames.includes(role.name));\n\n if (rolesToAdd.length > 0) {\n user.roles.push(...rolesToAdd);\n }\n\n if (rolesToRemove.length > 0) {\n user.roles = user.roles.filter(role => !rolesToRemove.includes(role));\n }\n\n return await this.repo.save(user);\n }\n\n\n async removeRoleFromUser(username: string, roleName: string): Promise<User> {\n\n // load the role with the respective permissions.\n const user = await this.repo.findOne({\n where: {\n username: username\n },\n relations: {\n roles: true\n }\n });\n\n if (!user) {\n throw new Error(`User with username '${username}' not found.`);\n }\n\n // modify the permissions array.\n user.roles = user.roles.filter(role => role.name !== roleName);\n\n return await this.repo.save(user);\n }\n\n // PROVIDER SPECIFIC CODE\n async resolveUserOnOauthGoogle(oauthUserDto: OauthUserDto): Promise<User> {\n const user = await this.repo.findOne({\n where: {\n email: oauthUserDto.email,\n },\n relations: {\n roles: true\n }\n });\n\n // if we are unable to find a user then we need to create one. \n if (!user) {\n const user = new User();\n user.username = oauthUserDto.email;\n user.email = oauthUserDto.email;\n user.lastLoginProvider = oauthUserDto.provider;\n user.accessCode = oauthUserDto.accessCode;\n user.googleAccessToken = oauthUserDto.accessToken;\n user.googleId = oauthUserDto.providerId;\n user.googleProfilePicture = oauthUserDto.picture;\n\n const savedUser = await this.repo.save(user);\n\n // Initialize the user roles\n this.initializeRolesForNewUser([this.iamConfiguration.defaultRole], savedUser);\n }\n // else we update the user and store the generated code & access token. \n else {\n const entity = await this.repo.preload({\n id: user.id,\n lastLoginProvider: oauthUserDto.provider,\n accessCode: oauthUserDto.accessCode,\n googleAccessToken: oauthUserDto.accessToken,\n googleId: oauthUserDto.providerId,\n googleProfilePicture: oauthUserDto.picture,\n });\n\n await this.repo.save(entity);\n }\n\n return user;\n }\n\n async findUsersByRole(roleName: string, relations: any = {}): Promise<User[]> {\n return await this.repo.find({\n where: {\n roles: {\n name: roleName\n }\n },\n relations: relations\n });\n }\n\n async checkIfPermissionExists(query: any, activeUser: ActiveUserData) {\n\n const matchingPermssions = activeUser.permissions.filter((p) => query.permissionNames.includes(p));\n return matchingPermssions\n }\n\n async initializeRolesForNewUser(roles: string[], user: User) {\n if (!user.id) {\n throw new BadRequestException('User must exist before initializing roles');\n }\n let userRoles = [];\n // Default Internal user role assigned \n userRoles.push(\"Internal User\");\n if (roles) {\n userRoles = [...userRoles, ...roles];\n }\n userRoles = Array.from(new Set([...userRoles]));\n if (userRoles.length > 0) {\n await this.addRolesToUser(user.username, userRoles);\n }\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/services/user.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { BadRequestException, Inject, Injectable } from '@nestjs/common';\nimport { ConfigService, ConfigType } from '@nestjs/config';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { CrudHelperService } from \"src/services/crud-helper.service\";\nimport { CRUDService } from 'src/services/crud.service';\nimport { FileService } from \"src/services/file.service\";\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\nimport { EntityManager, Repository } from 'typeorm';\n\n\nimport { OauthUserDto } from '../dtos/oauth-user-dto';\nimport { RoleMetadata } from '../entities/role-metadata.entity';\nimport { User } from '../entities/user.entity';\nimport { ActiveUserData } from '../interfaces/active-user-data.interface';\nimport { iamConfig } from 'src/config/iam.config';\n\n@Injectable()\nexport class UserService extends CRUDService<User> {\n constructor(\n readonly modelMetadataService: ModelMetadataService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly configService: ConfigService,\n readonly fileService: FileService,\n readonly discoveryService: DiscoveryService,\n readonly crudHelperService: CrudHelperService,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n @InjectRepository(User, 'default')\n readonly repo: Repository<User>,\n @InjectRepository(RoleMetadata)\n private readonly roleRepository: Repository<RoleMetadata>,\n readonly moduleRef: ModuleRef,\n @Inject(iamConfig.KEY)\n private readonly iamConfiguration: ConfigType<typeof iamConfig>,\n\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'user', 'solid-core', moduleRef);\n }\n\n override async delete(id: number, solidRequestContext: any = {}) {\n // Prevent user from deleting themselves\n if (solidRequestContext?.activeUser?.sub === id) {\n throw new BadRequestException('Deleting logged-in user is not allowed');\n }\n\n // ✅ Proceed with the default deletion logic\n return super.delete(id, solidRequestContext);\n }\n\n override async deleteMany(ids: number[], solidRequestContext: any = {}): Promise<any> {\n if (!ids || ids.length === 0) {\n throw new Error('At least one ID is required for deletion');\n }\n\n // ❌ If the active user is trying to delete themselves\n if (solidRequestContext?.activeUser?.sub && ids.includes(solidRequestContext.activeUser.id)) {\n throw new BadRequestException('Deleting logged-in user is not allowed');\n }\n\n return super.deleteMany(ids, solidRequestContext);\n }\n\n async findOneByEmail(email: string): Promise<User> {\n return await this.repo.findOne({\n where: {\n email: email\n },\n relations: {}\n });\n // if (!entity) {\n // throw new NotFoundException(`user with email #${email} not found`);\n // }\n // return entity;\n }\n\n async findOneByAccessCode(accessCode: string): Promise<User> {\n return await this.repo.findOne({\n where: {\n accessCode: accessCode\n },\n relations: {}\n });\n }\n\n async findOneByUsername(username: string): Promise<User> {\n return await this.repo.findOne({\n where: {\n username: username\n },\n relations: {}\n });\n // if (!entity) {\n // throw new NotFoundException(`user with username ${username} not found`);\n // }\n // return entity;\n }\n\n async updateUser(id: any, updateDto, files, solidRequestContext: any = {}) {\n const user = await this.repo.findOne({\n where: { id: id },\n relations: {\n roles: true\n }\n });\n if (!user) {\n throw new Error(`User not found.`);\n }\n const roles = updateDto.roles ? updateDto.roles : [];\n await this.addRolesToUser(user.username, roles);\n await this.update(id, updateDto, files, true);\n }\n\n async addRoleToUser(username: string, roleName: string): Promise<User> {\n // Find the role, find the user and populate the many 2 many table.\n const user = await this.repo.findOne({\n where: { username: username },\n relations: {\n roles: true\n }\n });\n if (!user) {\n throw new Error(`User with username '${username}' not found.`);\n }\n const role = await this.roleRepository.findOne({ where: { name: roleName } });\n if (!role) {\n throw new Error(`Role '${roleName}' not found.`);\n }\n\n if (user.roles && user.roles.length > 0) {\n user.roles.push(role);\n }\n else {\n user.roles = [role];\n }\n\n return await this.repo.save(user);\n }\n\n async addRolesToUser(username: string, roleNames: string[]): Promise<User> {\n const user = await this.repo.findOne({\n where: { username: username },\n relations: { roles: true }\n });\n\n if (!user) {\n throw new Error(`User with username '${username}' not found.`);\n }\n\n const roles = await this.roleRepository.find({\n where: roleNames.map(roleName => ({ name: roleName }))\n });\n\n if (roles.length !== roleNames.length) {\n const foundRoleNames = roles.map(role => role.name);\n const missingRoles = roleNames.filter(roleName => !foundRoleNames.includes(roleName));\n throw new Error(`The following roles were not found: ${missingRoles.join(', ')}`);\n }\n\n const currentRoles = user.roles.map(role => role.name);\n\n const rolesToAdd = roles.filter(role => !currentRoles.includes(role.name));\n\n const rolesToRemove = user.roles.filter(role => !roleNames.includes(role.name));\n\n if (rolesToAdd.length > 0) {\n user.roles.push(...rolesToAdd);\n }\n\n if (rolesToRemove.length > 0) {\n user.roles = user.roles.filter(role => !rolesToRemove.includes(role));\n }\n\n return await this.repo.save(user);\n }\n\n\n async removeRoleFromUser(username: string, roleName: string): Promise<User> {\n\n // load the role with the respective permissions.\n const user = await this.repo.findOne({\n where: {\n username: username\n },\n relations: {\n roles: true\n }\n });\n\n if (!user) {\n throw new Error(`User with username '${username}' not found.`);\n }\n\n // modify the permissions array.\n user.roles = user.roles.filter(role => role.name !== roleName);\n\n return await this.repo.save(user);\n }\n\n // PROVIDER SPECIFIC CODE\n async resolveUserOnOauthGoogle(oauthUserDto: OauthUserDto): Promise<User> {\n const user = await this.repo.findOne({\n where: {\n email: oauthUserDto.email,\n },\n relations: {\n roles: true\n }\n });\n\n // if we are unable to find a user then we need to create one. \n if (!user) {\n const user = new User();\n user.username = oauthUserDto.email;\n user.email = oauthUserDto.email;\n user.lastLoginProvider = oauthUserDto.provider;\n user.accessCode = oauthUserDto.accessCode;\n user.googleAccessToken = oauthUserDto.accessToken;\n user.googleId = oauthUserDto.providerId;\n user.googleProfilePicture = oauthUserDto.picture;\n\n const savedUser = await this.repo.save(user);\n\n // Initialize the user roles\n this.initializeRolesForNewUser([this.iamConfiguration.defaultRole], savedUser);\n }\n // else we update the user and store the generated code & access token. \n else {\n const entity = await this.repo.preload({\n id: user.id,\n lastLoginProvider: oauthUserDto.provider,\n accessCode: oauthUserDto.accessCode,\n googleAccessToken: oauthUserDto.accessToken,\n googleId: oauthUserDto.providerId,\n googleProfilePicture: oauthUserDto.picture,\n });\n\n await this.repo.save(entity);\n }\n\n return user;\n }\n\n async findUsersByRole(roleName: string, relations: any = {}): Promise<User[]> {\n return await this.repo.find({\n where: {\n roles: {\n name: roleName\n }\n },\n relations: relations\n });\n }\n\n async checkIfPermissionExists(query: any, activeUser: ActiveUserData) {\n\n const matchingPermssions = activeUser.permissions.filter((p) => query.permissionNames.includes(p));\n return matchingPermssions\n }\n\n async initializeRolesForNewUser(roles: string[], user: User) {\n if (!user.id) {\n throw new BadRequestException('User must exist before initializing roles');\n }\n let userRoles = [];\n // Default Internal user role assigned \n userRoles.push(\"Internal User\");\n if (roles) {\n userRoles = [...userRoles, ...roles];\n }\n userRoles = Array.from(new Set([...userRoles]));\n if (userRoles.length > 0) {\n await this.addRolesToUser(user.username, userRoles);\n }\n }\n\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solid-core.module.d.ts","sourceRoot":"","sources":["../src/solid-core.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"solid-core.module.d.ts","sourceRoot":"","sources":["../src/solid-core.module.ts"],"names":[],"mappings":"AAuQA,qBAwUa,eAAe;CAAI"}
|
|
@@ -252,6 +252,8 @@ const solid_create_model_with_fields_mcp_tool_response_handler_service_1 = requi
|
|
|
252
252
|
const solid_add_field_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-add-field-mcp-tool-response-handler.service");
|
|
253
253
|
const view_metadata_repository_1 = require("./repository/view-metadata.repository");
|
|
254
254
|
const solid_save_model_layout_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-save-model-layout-mcp-tool-response-handler.service");
|
|
255
|
+
const noops_entity_computed_field_provider_service_1 = require("./services/computed-fields/entity/noops-entity-computed-field-provider.service");
|
|
256
|
+
const alpha_num_external_id_computed_field_provider_1 = require("./services/computed-fields/entity/alpha-num-external-id-computed-field-provider");
|
|
255
257
|
let SolidCoreModule = class SolidCoreModule {
|
|
256
258
|
};
|
|
257
259
|
exports.SolidCoreModule = SolidCoreModule;
|
|
@@ -530,6 +532,7 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
|
|
|
530
532
|
dashboard_variable_subscriber_1.DashboardVariableSubscriber,
|
|
531
533
|
dashboard_question_subscriber_1.DashboardQuestionSubscriber,
|
|
532
534
|
dashboard_question_sql_dataset_config_subscriber_1.DashboardQuestionSqlDatasetConfigSubscriber,
|
|
535
|
+
noops_entity_computed_field_provider_service_1.NoopsEntityComputedFieldProviderService,
|
|
533
536
|
solid_create_dashboard_mcp_tool_response_handler_service_1.SolidCreateDashboardMcpToolResponseHandler,
|
|
534
537
|
solid_create_dashboard_question_mcp_tool_response_handler_service_1.SolidCreateDashboardQuestionMcpToolResponseHandler,
|
|
535
538
|
solid_create_dashboard_question_sql_dataset_config_mcp_tool_response_handler_service_1.SolidCreateDashboardQuestionSqlDatasetConfigMcpToolResponseHandler,
|
|
@@ -538,6 +541,7 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
|
|
|
538
541
|
solid_add_field_mcp_tool_response_handler_service_1.SolidAddFieldMcpToolResponseHandler,
|
|
539
542
|
view_metadata_repository_1.ViewMetadataRepository,
|
|
540
543
|
solid_save_model_layout_mcp_tool_response_handler_service_1.SolidCreateModelLayoutMcpToolResponseHandler,
|
|
544
|
+
alpha_num_external_id_computed_field_provider_1.AlphaNumExternalIdComputationProvider,
|
|
541
545
|
],
|
|
542
546
|
exports: [
|
|
543
547
|
module_metadata_service_1.ModuleMetadataService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solid-core.module.js","sourceRoot":"","sources":["../src/solid-core.module.ts"],"names":[],"mappings":"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","sourcesContent":["import { Global, Module } from '@nestjs/common';\nimport { ConfigModule, ConfigService } from '@nestjs/config';\nimport {\n APP_FILTER,\n APP_GUARD,\n APP_INTERCEPTOR,\n DiscoveryService,\n MetadataScanner,\n Reflector,\n} from '@nestjs/core';\nimport { MulterModule } from '@nestjs/platform-express';\nimport { TypeOrmModule } from '@nestjs/typeorm';\nimport { RemoveFieldsCommand } from './commands/remove-fields.command';\nimport appBuilderConfig from './config/app-builder.config';\nimport { FieldMetadataController } from './controllers/field-metadata.controller';\nimport { MediaStorageProviderMetadataController } from './controllers/media-storage-provider-metadata.controller';\nimport { ModelMetadataController } from './controllers/model-metadata.controller';\nimport { ModuleMetadataController } from './controllers/module-metadata.controller';\nimport { TestController } from './controllers/test.controller';\nimport { FieldMetadata } from './entities/field-metadata.entity';\nimport { ListOfValues } from './entities/list-of-values.entity';\nimport { MediaStorageProviderMetadata } from './entities/media-storage-provider-metadata.entity';\nimport { Media } from './entities/media.entity';\nimport { ModelMetadata } from './entities/model-metadata.entity';\nimport { ModuleMetadata } from './entities/module-metadata.entity';\nimport { CommandService } from './helpers/command.service';\nimport { SchematicService } from './helpers/schematic.service';\nimport { ListOfValuesSelectionProvider } from './providers/list-of-values-selection-providers.service';\nimport { ModuleMetadataSeederService } from './seeders/module-metadata-seeder.service';\nimport { CrudHelperService } from './services/crud-helper.service';\nimport { FieldMetadataService } from './services/field-metadata.service';\nimport { ListOfValuesService } from './services/list-of-values.service';\nimport { MediaStorageProviderMetadataSeederService } from './services/media-storage-provider-metadata-seeder.service';\nimport { MediaStorageProviderMetadataService } from './services/media-storage-provider-metadata.service';\nimport { MediaService } from './services/media.service';\nimport { ModelMetadataService } from './services/model-metadata.service';\nimport { ModuleMetadataService } from './services/module-metadata.service';\nimport { SolidIntrospectService } from './services/solid-introspect.service';\n// import { ListOfComputedFieldProvider } from './providers/list-of-computed-field-provider.service';\nimport { ServeStaticModule } from '@nestjs/serve-static';\nimport { join } from 'path';\nimport { RefreshModelCommand } from './commands/refresh-model.command';\nimport { MediaController } from './controllers/media.controller';\n\nimport { RefreshModuleCommand } from './commands/refresh-module.command';\nimport { ModelMetadataSubscriber } from './subscribers/model-metadata.subscriber';\n\nimport { ViewMetadataController } from './controllers/view-metadata.controller';\nimport { ViewMetadata } from './entities/view-metadata.entity';\nimport { ViewMetadataService } from './services/view-metadata.service';\n\nimport { ActionMetadataController } from './controllers/action-metadata.controller';\nimport { ActionMetadata } from './entities/action-metadata.entity';\nimport { ActionMetadataService } from './services/action-metadata.service';\n\nimport { HttpModule } from '@nestjs/axios';\nimport { JwtModule } from '@nestjs/jwt';\nimport { SeedCommand } from './commands/seed.command';\nimport commonConfig from './config/common.config';\nimport { iamConfig, jwtConfig } from './config/iam.config';\nimport { AuthenticationController } from './controllers/authentication.controller';\nimport { EmailTemplateController } from './controllers/email-template.controller';\nimport { GoogleAuthenticationController } from './controllers/google-authentication.controller';\nimport { MenuItemMetadataController } from './controllers/menu-item-metadata.controller';\nimport { MqMessageQueueController } from './controllers/mq-message-queue.controller';\nimport { MqMessageController } from './controllers/mq-message.controller';\nimport { OTPAuthenticationController } from './controllers/otp-authentication.controller';\nimport { ServiceController } from './controllers/service.controller';\nimport { SmsTemplateController } from './controllers/sms-template.controller';\nimport { TestQueueController } from './controllers/test-queue.controller';\n// import { UserController } from './controllers/user.controller';\nimport { EmailAttachment } from './entities/email-attachment.entity';\nimport { EmailTemplate } from './entities/email-template.entity';\nimport { MenuItemMetadata } from './entities/menu-item-metadata.entity';\nimport { MqMessageQueue } from './entities/mq-message-queue.entity';\nimport { MqMessage } from './entities/mq-message.entity';\nimport { SmsTemplate } from './entities/sms-template.entity';\nimport { UserPasswordHistory } from './entities/user-password-history.entity';\n// import { User } from './entities/user.entity';\nimport { AccessTokenGuard } from './guards/access-token.guard';\nimport { AuthenticationGuard } from './guards/authentication.guard';\nimport { PermissionsGuard } from './guards/permissions.guard';\nimport { SolidRegistry } from './helpers/solid-registry';\nimport { LoggingInterceptor } from './interceptors/logging.interceptor';\nimport { ApiEmailQueuePublisher } from './jobs/api-email-publisher.service';\nimport { ApiEmailQueueSubscriber } from './jobs/api-email-subscriber.service';\nimport { TestQueuePublisherDatabase } from './jobs/database/test-queue-publisher-database.service';\nimport { TestQueueSubscriberDatabase } from './jobs/database/test-queue-subscriber-database.service';\nimport { EmailQueuePublisher } from './jobs/email-publisher.service';\nimport { EmailQueueSubscriber } from './jobs/email-subscriber.service';\nimport { OTPQueuePublisher } from './jobs/otp-publisher.service';\nimport { OTPQueueSubscriber } from './jobs/otp-subscriber.service';\nimport { SmsQueuePublisher } from './jobs/sms-publisher.service';\nimport { SmsQueueSubscriber } from './jobs/sms-subscriber.service';\nimport { TestQueuePublisher } from './jobs/test-queue-publisher.service';\nimport { TestQueueSubscriber } from './jobs/test-queue-subscriber.service';\nimport { WhatsappQueuePublisher } from './jobs/whatsapp-publisher.service';\nimport { WhatsappQueueSubscriber } from './jobs/whatsapp-subscriber.service';\nimport { UserRegistrationListener } from './listeners/user-registration.listener';\nimport { GoogleOauthStrategy } from './passport-strategies/google-oauth.strategy';\nimport { LocalStrategy } from './passport-strategies/local.strategy';\nimport { EmailTemplateSeederService } from './seeders/email-template-seeder.service';\nimport { SmsTemplateSeederService } from './seeders/sms-template-seeder.service';\nimport { UserSeederService } from './seeders/user-seeder.service';\nimport { AuthenticationService } from './services/authentication.service';\nimport { BcryptService } from './services/bcrypt.service';\nimport { UuidExternalIdComputedFieldProvider } from './services/computed-fields/uuid-external-id-computed-field-provider.service';\nimport { EmailTemplateService } from './services/email-template.service';\nimport { FileService } from './services/file.service';\nimport { HashingService } from './services/hashing.service';\nimport { ElasticEmailService } from './services/mail/ElasticEmailService';\nimport { SMTPEMailService } from './services/mail/SMTPEmailService';\nimport { MenuItemMetadataService } from './services/menu-item-metadata.service';\nimport { MqMessageQueueService } from './services/mq-message-queue.service';\nimport { MqMessageService } from './services/mq-message.service';\nimport { PdfService } from './services/pdf.service';\nimport { RefreshTokenIdsStorageService } from './services/refresh-token-ids-storage.service';\nimport { ListOfModelsSelectionProvider } from './services/selection-providers/list-of-models-selection-provider.service';\nimport { TinyUrlService } from './services/short-url/tiny-url.service';\nimport { SmsTemplateService } from './services/sms-template.service';\nimport { Msg91OTPService } from './services/sms/Msg91OTPService';\nimport { Msg91SMSService } from './services/sms/Msg91SMSService';\n// import { UserService } from './services/user.service';\nimport { Msg91WhatsappService } from './services/whatsapp/Msg91WhatsappService';\nimport { SoftDeleteAwareEventSubscriber } from './subscribers/soft-delete-aware-event.subscriber';\n\nimport { PermissionMetadataController } from './controllers/permission-metadata.controller';\nimport { PermissionMetadata } from './entities/permission-metadata.entity';\nimport { PermissionMetadataService } from './services/permission-metadata.service';\n\nimport { ScheduleModule } from '@nestjs/schedule';\nimport { ClsModule } from 'nestjs-cls';\nimport { AiInteractionController } from './controllers/ai-interaction.controller';\nimport { ChatterMessageDetailsController } from './controllers/chatter-message-details.controller';\nimport { ChatterMessageController } from './controllers/chatter-message.controller';\nimport { DashboardQuestionSqlDatasetConfigController } from './controllers/dashboard-question-sql-dataset-config.controller';\nimport { DashboardQuestionController } from './controllers/dashboard-question.controller';\nimport { DashboardVariableController } from './controllers/dashboard-variable.controller';\nimport { DashboardController } from './controllers/dashboard.controller';\nimport { ExportTemplateController } from './controllers/export-template.controller';\nimport { ExportTransactionController } from './controllers/export-transaction.controller';\nimport { ImportTransactionErrorLogController } from './controllers/import-transaction-error-log.controller';\nimport { ImportTransactionController } from './controllers/import-transaction.controller';\nimport { ListOfValuesController } from './controllers/list-of-values.controller';\nimport { LocaleController } from './controllers/locale.controller';\nimport { RoleMetadataController } from './controllers/role-metadata.controller';\nimport { SavedFiltersController } from './controllers/saved-filters.controller';\nimport { ScheduledJobController } from './controllers/scheduled-job.controller';\nimport { SecurityRuleController } from './controllers/security-rule.controller';\nimport { SettingController } from './controllers/setting.controller';\nimport { UserActivityHistoryController } from './controllers/user-activity-history.controller';\nimport { UserViewMetadataController } from './controllers/user-view-metadata.controller';\nimport { UserController } from './controllers/user.controller';\nimport { AiInteraction } from './entities/ai-interaction.entity';\nimport { ChatterMessageDetails } from './entities/chatter-message-details.entity';\nimport { ChatterMessage } from './entities/chatter-message.entity';\nimport { DashboardQuestionSqlDatasetConfig } from './entities/dashboard-question-sql-dataset-config.entity';\nimport { DashboardQuestion } from './entities/dashboard-question.entity';\nimport { DashboardVariable } from './entities/dashboard-variable.entity';\nimport { Dashboard } from './entities/dashboard.entity';\nimport { ExportTemplate } from './entities/export-template.entity';\nimport { ExportTransaction } from './entities/export-transaction.entity';\nimport { ImportTransactionErrorLog } from './entities/import-transaction-error-log.entity';\nimport { ImportTransaction } from './entities/import-transaction.entity';\nimport { Locale } from './entities/locale.entity';\nimport { RoleMetadata } from './entities/role-metadata.entity';\nimport { SavedFilters } from './entities/saved-filters.entity';\nimport { ScheduledJob } from './entities/scheduled-job.entity';\nimport { SecurityRule } from './entities/security-rule.entity';\nimport { Setting } from './entities/setting.entity';\nimport { UserActivityHistory } from './entities/user-activity-history.entity';\nimport { UserViewMetadata } from './entities/user-view-metadata.entity';\nimport { User } from './entities/user.entity';\nimport { HttpExceptionFilter } from './filters/http-exception.filter';\nimport { ModelMetadataHelperService } from './helpers/model-metadata-helper.service';\nimport { ModuleMetadataHelperService } from './helpers/module-metadata-helper.service';\nimport { ApiEmailQueuePublisherDatabase } from './jobs/database/api-email-publisher-database.service';\nimport { ApiEmailQueueSubscriberDatabase } from './jobs/database/api-email-subscriber-database.service';\nimport { ComputedFieldEvaluationPublisher } from './jobs/database/computed-field-evaluation-publisher.service';\nimport { ComputedFieldEvaluationSubscriber } from './jobs/database/computed-field-evaluation-subscriber.service';\nimport { EmailQueuePublisherDatabase } from './jobs/database/email-publisher-database.service';\nimport { EmailQueueSubscriberDatabase } from './jobs/database/email-subscriber-database.service';\nimport { GenerateCodePublisherDatabase } from './jobs/database/generate-code-publisher-database.service';\nimport { GenerateCodeSubscriberDatabase } from './jobs/database/generate-code-subscriber-database.service';\nimport { OTPQueuePublisherDatabase } from './jobs/database/otp-publisher-database.service';\nimport { OTPQueueSubscriberDatabase } from './jobs/database/otp-subscriber-database.service';\nimport { SmsQueuePublisherDatabase } from './jobs/database/sms-publisher-database.service';\nimport { SmsQueueSubscriberDatabase } from './jobs/database/sms-subscriber-database.service';\nimport { TriggerMcpClientPublisherDatabase } from './jobs/database/trigger-mcp-client-publisher-database.service';\nimport { TriggerMcpClientSubscriberDatabase } from './jobs/database/trigger-mcp-client-subscriber-database.service';\nimport { WhatsappQueuePublisherDatabase } from './jobs/database/whatsapp-publisher-database.service';\nimport { WhatsappQueueSubscriberDatabase } from './jobs/database/whatsapp-subscriber-database.service';\nimport { DashboardMapper } from './mappers/dashboard-mapper';\nimport { DashboardRepository } from './repository/dashboard.repository';\nimport { FieldMetadataRepository } from './repository/field-metadata.repository';\nimport { FieldRepository } from './repository/field.repository';\nimport { MediaRepository } from './repository/media.repository';\nimport { SecurityRuleRepository } from './repository/security-rule.repository';\nimport { PermissionMetadataSeederService } from './seeders/permission-metadata-seeder.service';\nimport { SystemFieldsSeederService } from './seeders/system-fields-seeder.service';\nimport { AiInteractionService } from './services/ai-interaction.service';\nimport { ChatterMessageDetailsService } from './services/chatter-message-details.service';\nimport { ChatterMessageService } from './services/chatter-message.service';\nimport { ConcatComputedFieldProvider } from './services/computed-fields/concat-computed-field-provider.service';\nimport { ConcatEntityComputedFieldProvider } from './services/computed-fields/entity/concat-entity-computed-field-provider.service';\nimport { CRUDService } from './services/crud.service';\nimport { CsvService } from './services/csv.service';\nimport { DashboardQuestionSqlDatasetConfigService } from './services/dashboard-question-sql-dataset-config.service';\nimport { DashboardQuestionService } from './services/dashboard-question.service';\nimport { DashboardVariableSQLDynamicProvider } from './services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service';\nimport { DasbhoardVariableTestDynamicProvider } from './services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service';\nimport { DashboardVariableService } from './services/dashboard-variable.service';\nimport { DashboardService } from './services/dashboard.service';\nimport { ExcelService } from './services/excel.service';\nimport { ExportTemplateService } from './services/export-template.service';\nimport { ExportTransactionService } from './services/export-transaction.service';\nimport { ImportTransactionErrorLogService } from './services/import-transaction-error-log.service';\nimport { ImportTransactionService } from './services/import-transaction.service';\nimport { LocaleService } from './services/locale.service';\nimport { McpToolResponseHandlerFactory } from './services/mcp-tool-response-handlers/mcp-tool-response-handler-factory.service';\nimport { SolidCreateDashboardMcpToolResponseHandler } from './services/mcp-tool-response-handlers/solid-create-dashboard-mcp-tool-response-handler.service';\nimport { SolidCreateDashboardQuestionMcpToolResponseHandler } from './services/mcp-tool-response-handlers/solid-create-dashboard-question-mcp-tool-response-handler.service';\nimport { SolidCreateDashboardQuestionSqlDatasetConfigMcpToolResponseHandler } from './services/mcp-tool-response-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service';\nimport { SolidCreateModuleMcpToolResponseHandler } from './services/mcp-tool-response-handlers/solid-create-module-mcp-tool-response-handler.service';\nimport { FileS3StorageProvider } from './services/mediaStorageProviders/file-s3-storage-provider';\nimport { FileStorageProvider } from './services/mediaStorageProviders/file-storage-provider';\nimport { ChartJsSqlDataProvider } from './services/question-data-providers/chartjs-sql-data-provider.service';\nimport { PrimeReactDatatableSqlDataProvider } from './services/question-data-providers/prime-react-datatable-sql-data-provider.service';\nimport { PrimeReactMeterGroupSqlDataProvider } from './services/question-data-providers/prime-react-meter-group-sql-data-provider.service';\nimport { PublisherFactory } from './services/queues/publisher-factory.service';\nimport { RequestContextService } from './services/request-context.service';\nimport { RoleMetadataService } from './services/role-metadata.service';\nimport { SavedFiltersService } from './services/saved-filters.service';\nimport { ScheduledJobService } from './services/scheduled-job.service';\nimport { SchedulerServiceImpl } from './services/scheduled-jobs/scheduler.service';\nimport { SecurityRuleService } from './services/security-rule.service';\nimport { ListOfDashboardQuestionProvidersSelectionProvider } from './services/selection-providers/list-of-dashboard-question-providers-selection-provider.service';\nimport { ListOfDashboardVariableProvidersSelectionProvider } from './services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service';\nimport { ListOfScheduledJobsSelectionProvider } from './services/selection-providers/list-of-scheduled-jobs-selection-provider.service';\nimport { LocaleListSelectionProvider } from './services/selection-providers/locale-list-selection-provider.service';\nimport { SettingService } from './services/setting.service';\nimport { SqlExpressionResolverService } from './services/sql-expression-resolver.service';\nimport { UserActivityHistoryService } from './services/user-activity-history.service';\nimport { UserViewMetadataService } from './services/user-view-metadata.service';\nimport { UserService } from './services/user.service';\nimport { AuditSubscriber } from './subscribers/audit.subscriber';\nimport { ComputedEntityFieldSubscriber } from './subscribers/computed-entity-field.subscriber';\nimport { CreatedByUpdatedBySubscriber } from './subscribers/created-by-updated-by.subscriber';\nimport { DashboardQuestionSqlDatasetConfigSubscriber } from './subscribers/dashboard-question-sql-dataset-config.subscriber';\nimport { DashboardQuestionSubscriber } from './subscribers/dashboard-question.subscriber';\nimport { DashboardVariableSubscriber } from './subscribers/dashboard-variable.subscriber';\nimport { DashboardSubscriber } from './subscribers/dashboard.subscriber';\nimport { SecurityRuleSubscriber } from './subscribers/security-rule.subscriber';\nimport { ViewMetadataSubsciber } from './subscribers/view-metadata.subscriber';\nimport { SolidCreateDashboardWidgetMcpToolResponseHandler } from './services/mcp-tool-response-handlers/solid-create-dashboard-widget-mcp-tool-response-handler.service';\nimport { SolidCreateModelWithFieldsMcpToolResponseHandler } from './services/mcp-tool-response-handlers/solid-create-model-with-fields-mcp-tool-response-handler.service';\nimport { SolidAddFieldMcpToolResponseHandler } from './services/mcp-tool-response-handlers/solid-add-field-mcp-tool-response-handler.service';\nimport { ViewMetadataRepository } from './repository/view-metadata.repository';\nimport { SolidCreateModelLayoutMcpToolResponseHandler } from './services/mcp-tool-response-handlers/solid-save-model-layout-mcp-tool-response-handler.service';\n\n\n@Global()\n@Module({\n imports: [\n TypeOrmModule.forFeature([\n ModelMetadata,\n FieldMetadata,\n ModuleMetadata,\n ListOfValues,\n MediaStorageProviderMetadata,\n Media,\n EmailTemplate,\n SmsTemplate,\n EmailAttachment,\n User,\n UserPasswordHistory,\n ViewMetadata,\n ActionMetadata,\n MenuItemMetadata,\n MqMessageQueue,\n MqMessage,\n ScheduledJob,\n PermissionMetadata,\n RoleMetadata,\n Setting,\n SavedFilters,\n UserViewMetadata,\n SecurityRule,\n ListOfValues,\n ChatterMessage,\n ChatterMessageDetails,\n Locale,\n ExportTemplate,\n ExportTransaction,\n ImportTransaction,\n ImportTransactionErrorLog,\n UserActivityHistory,\n AiInteraction,\n ]),\n ConfigModule.forFeature(appBuilderConfig),\n ConfigModule.forFeature(commonConfig),\n ConfigModule.forFeature(iamConfig),\n ConfigModule.forFeature(jwtConfig),\n JwtModule.registerAsync(jwtConfig.asProvider()),\n ScheduleModule.forRoot(),\n ServeStaticModule.forRoot({\n rootPath: join(process.cwd(), 'media-files-storage'),\n serveRoot: '/media-files-storage',\n }),\n MulterModule.registerAsync({\n imports: [ConfigModule],\n useFactory: async (configService: ConfigService) => ({\n dest: configService.get<string>('app-builder.uploadDir'),\n }),\n inject: [ConfigService],\n }),\n HttpModule,\n ConfigModule,\n ClsModule,\n TypeOrmModule.forFeature([Dashboard]),\n TypeOrmModule.forFeature([DashboardVariable]),\n TypeOrmModule.forFeature([DashboardQuestion]),\n TypeOrmModule.forFeature([DashboardQuestionSqlDatasetConfig]),\n TypeOrmModule.forFeature([AiInteraction]),\n ],\n controllers: [\n ModuleMetadataController,\n ModelMetadataController,\n FieldMetadataController,\n TestController,\n MediaController,\n MediaStorageProviderMetadataController,\n ViewMetadataController,\n ActionMetadataController,\n MenuItemMetadataController,\n ServiceController,\n SmsTemplateController,\n EmailTemplateController,\n AuthenticationController,\n GoogleAuthenticationController,\n OTPAuthenticationController,\n TestQueueController,\n MqMessageQueueController,\n MqMessageController,\n ScheduledJobController,\n PermissionMetadataController,\n RoleMetadataController,\n UserController,\n SettingController,\n SavedFiltersController,\n UserViewMetadataController,\n SecurityRuleController,\n SavedFiltersController,\n ListOfValuesController,\n ChatterMessageController,\n ChatterMessageDetailsController,\n LocaleController,\n ExportTemplateController,\n ExportTransactionController,\n ImportTransactionController,\n ImportTransactionErrorLogController,\n UserActivityHistoryController,\n DashboardController,\n DashboardVariableController,\n DashboardQuestionController,\n DashboardQuestionSqlDatasetConfigController,\n AiInteractionController,\n ],\n providers: [\n {\n provide: APP_INTERCEPTOR,\n useClass: LoggingInterceptor,\n },\n {\n provide: HashingService,\n useClass: BcryptService,\n },\n {\n provide: APP_GUARD,\n useClass: AuthenticationGuard,\n },\n {\n provide: APP_GUARD,\n useClass: PermissionsGuard,\n },\n {\n provide: APP_FILTER,\n useClass: HttpExceptionFilter\n },\n ModuleMetadataService,\n ModuleMetadataHelperService,\n ModelMetadataService,\n ModelMetadataHelperService,\n FieldMetadataService,\n RemoveFieldsCommand,\n RefreshModelCommand,\n RefreshModuleCommand,\n SolidIntrospectService,\n DiscoveryService,\n CrudHelperService,\n CRUDService,\n Reflector,\n MetadataScanner,\n CommandService,\n SchematicService,\n MediaStorageProviderMetadataService,\n MediaService,\n MediaStorageProviderMetadataSeederService,\n ModuleMetadataSeederService,\n ListOfValuesService,\n ListOfValuesSelectionProvider,\n ModelMetadataSubscriber,\n ViewMetadataService,\n ActionMetadataService,\n MenuItemMetadataService,\n DiscoveryService,\n Reflector,\n MetadataScanner,\n FileService,\n SolidRegistry,\n SeedCommand,\n SMTPEMailService,\n ElasticEmailService,\n Msg91SMSService,\n Msg91OTPService,\n Msg91WhatsappService,\n SmsTemplateService,\n EmailTemplateService,\n PublisherFactory,\n\n McpToolResponseHandlerFactory,\n SolidCreateModuleMcpToolResponseHandler,\n\n TriggerMcpClientPublisherDatabase,\n TriggerMcpClientSubscriberDatabase,\n\n EmailQueuePublisher,\n EmailQueueSubscriber,\n EmailQueuePublisherDatabase,\n EmailQueueSubscriberDatabase,\n ApiEmailQueuePublisher,\n ApiEmailQueueSubscriber,\n ApiEmailQueuePublisherDatabase,\n ApiEmailQueueSubscriberDatabase,\n SmsQueuePublisher,\n SmsQueueSubscriber,\n SmsQueuePublisherDatabase,\n SmsQueueSubscriberDatabase,\n OTPQueuePublisher,\n OTPQueueSubscriber,\n OTPQueuePublisherDatabase,\n OTPQueueSubscriberDatabase,\n WhatsappQueuePublisher,\n WhatsappQueueSubscriber,\n WhatsappQueuePublisherDatabase,\n WhatsappQueueSubscriberDatabase,\n EmailTemplateSeederService,\n SmsTemplateSeederService,\n TinyUrlService,\n PdfService,\n UuidExternalIdComputedFieldProvider,\n ListOfModelsSelectionProvider,\n ListOfScheduledJobsSelectionProvider,\n LocaleListSelectionProvider,\n SoftDeleteAwareEventSubscriber,\n AccessTokenGuard,\n AuthenticationService,\n GoogleAuthenticationController,\n RefreshTokenIdsStorageService,\n UserSeederService,\n LocalStrategy,\n GoogleOauthStrategy,\n UserRegistrationListener,\n TestQueuePublisher,\n TestQueueSubscriber,\n TestQueuePublisherDatabase,\n TestQueueSubscriberDatabase,\n GenerateCodePublisherDatabase,\n GenerateCodeSubscriberDatabase,\n MqMessageQueueService,\n MqMessageService,\n ScheduledJobService,\n SchedulerServiceImpl,\n PermissionMetadataService,\n RoleMetadataService,\n PermissionMetadataSeederService,\n UserService,\n SettingService,\n ConcatComputedFieldProvider,\n FileStorageProvider,\n FileS3StorageProvider,\n MediaRepository,\n ViewMetadataSubsciber,\n SavedFiltersService,\n UserViewMetadataService,\n SecurityRuleService,\n SecurityRuleRepository,\n SecurityRuleSubscriber,\n RequestContextService,\n SavedFiltersService,\n ChatterMessageService,\n ChatterMessageDetailsService,\n LocaleService,\n AuditSubscriber,\n ExportTemplateService,\n ExportTransactionService,\n ExcelService,\n CsvService,\n FieldRepository,\n ImportTransactionService,\n ImportTransactionErrorLogService,\n CreatedByUpdatedBySubscriber,\n SystemFieldsSeederService,\n FieldMetadataRepository,\n ComputedEntityFieldSubscriber,\n ComputedFieldEvaluationPublisher,\n ComputedFieldEvaluationSubscriber,\n ConcatEntityComputedFieldProvider,\n UserActivityHistoryService,\n DashboardService,\n DashboardVariableService,\n DashboardQuestionService,\n DashboardVariableSQLDynamicProvider,\n DasbhoardVariableTestDynamicProvider,\n ListOfDashboardVariableProvidersSelectionProvider,\n ListOfDashboardQuestionProvidersSelectionProvider,\n DashboardQuestionSqlDatasetConfigService,\n ChartJsSqlDataProvider,\n PrimeReactMeterGroupSqlDataProvider,\n PrimeReactDatatableSqlDataProvider,\n SqlExpressionResolverService,\n AiInteractionService,\n DashboardMapper,\n DashboardRepository,\n DashboardSubscriber,\n DashboardVariableSubscriber,\n DashboardQuestionSubscriber,\n DashboardQuestionSqlDatasetConfigSubscriber,\n SolidCreateDashboardMcpToolResponseHandler,\n SolidCreateDashboardQuestionMcpToolResponseHandler,\n SolidCreateDashboardQuestionSqlDatasetConfigMcpToolResponseHandler,\n SolidCreateDashboardWidgetMcpToolResponseHandler,\n SolidCreateModelWithFieldsMcpToolResponseHandler,\n SolidAddFieldMcpToolResponseHandler,\n ViewMetadataRepository,\n SolidCreateModelLayoutMcpToolResponseHandler,\n ],\n exports: [\n ModuleMetadataService,\n ModelMetadataService,\n FieldMetadataService,\n MediaStorageProviderMetadataService,\n MediaService,\n DiscoveryService,\n CrudHelperService,\n CRUDService,\n MulterModule,\n FileService,\n SolidRegistry,\n SMTPEMailService,\n ElasticEmailService,\n Msg91SMSService,\n Msg91OTPService,\n Msg91WhatsappService,\n TinyUrlService,\n PdfService,\n EmailTemplateService,\n SmsTemplateService,\n UserSeederService,\n AuthenticationService,\n MqMessageQueueService,\n MqMessageService,\n RefreshModelCommand,\n RefreshModuleCommand,\n RequestContextService,\n SecurityRuleRepository,\n FieldRepository,\n SchedulerServiceImpl,\n UserActivityHistoryService,\n CsvService,\n ExcelService,\n SolidIntrospectService,\n ImportTransactionService,\n HttpModule,\n ListOfValuesService\n ],\n})\nexport class SolidCoreModule { }\n"]}
|
|
1
|
+
{"version":3,"file":"solid-core.module.js","sourceRoot":"","sources":["../src/solid-core.module.ts"],"names":[],"mappings":"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","sourcesContent":["import { Global, Module } from '@nestjs/common';\nimport { ConfigModule, ConfigService } from '@nestjs/config';\nimport {\n APP_FILTER,\n APP_GUARD,\n APP_INTERCEPTOR,\n DiscoveryService,\n MetadataScanner,\n Reflector,\n} from '@nestjs/core';\nimport { MulterModule } from '@nestjs/platform-express';\nimport { TypeOrmModule } from '@nestjs/typeorm';\nimport { RemoveFieldsCommand } from './commands/remove-fields.command';\nimport appBuilderConfig from './config/app-builder.config';\nimport { FieldMetadataController } from './controllers/field-metadata.controller';\nimport { MediaStorageProviderMetadataController } from './controllers/media-storage-provider-metadata.controller';\nimport { ModelMetadataController } from './controllers/model-metadata.controller';\nimport { ModuleMetadataController } from './controllers/module-metadata.controller';\nimport { TestController } from './controllers/test.controller';\nimport { FieldMetadata } from './entities/field-metadata.entity';\nimport { ListOfValues } from './entities/list-of-values.entity';\nimport { MediaStorageProviderMetadata } from './entities/media-storage-provider-metadata.entity';\nimport { Media } from './entities/media.entity';\nimport { ModelMetadata } from './entities/model-metadata.entity';\nimport { ModuleMetadata } from './entities/module-metadata.entity';\nimport { CommandService } from './helpers/command.service';\nimport { SchematicService } from './helpers/schematic.service';\nimport { ListOfValuesSelectionProvider } from './providers/list-of-values-selection-providers.service';\nimport { ModuleMetadataSeederService } from './seeders/module-metadata-seeder.service';\nimport { CrudHelperService } from './services/crud-helper.service';\nimport { FieldMetadataService } from './services/field-metadata.service';\nimport { ListOfValuesService } from './services/list-of-values.service';\nimport { MediaStorageProviderMetadataSeederService } from './services/media-storage-provider-metadata-seeder.service';\nimport { MediaStorageProviderMetadataService } from './services/media-storage-provider-metadata.service';\nimport { MediaService } from './services/media.service';\nimport { ModelMetadataService } from './services/model-metadata.service';\nimport { ModuleMetadataService } from './services/module-metadata.service';\nimport { SolidIntrospectService } from './services/solid-introspect.service';\n// import { ListOfComputedFieldProvider } from './providers/list-of-computed-field-provider.service';\nimport { ServeStaticModule } from '@nestjs/serve-static';\nimport { join } from 'path';\nimport { RefreshModelCommand } from './commands/refresh-model.command';\nimport { MediaController } from './controllers/media.controller';\n\nimport { RefreshModuleCommand } from './commands/refresh-module.command';\nimport { ModelMetadataSubscriber } from './subscribers/model-metadata.subscriber';\n\nimport { ViewMetadataController } from './controllers/view-metadata.controller';\nimport { ViewMetadata } from './entities/view-metadata.entity';\nimport { ViewMetadataService } from './services/view-metadata.service';\n\nimport { ActionMetadataController } from './controllers/action-metadata.controller';\nimport { ActionMetadata } from './entities/action-metadata.entity';\nimport { ActionMetadataService } from './services/action-metadata.service';\n\nimport { HttpModule } from '@nestjs/axios';\nimport { JwtModule } from '@nestjs/jwt';\nimport { SeedCommand } from './commands/seed.command';\nimport commonConfig from './config/common.config';\nimport { iamConfig, jwtConfig } from './config/iam.config';\nimport { AuthenticationController } from './controllers/authentication.controller';\nimport { EmailTemplateController } from './controllers/email-template.controller';\nimport { GoogleAuthenticationController } from './controllers/google-authentication.controller';\nimport { MenuItemMetadataController } from './controllers/menu-item-metadata.controller';\nimport { MqMessageQueueController } from './controllers/mq-message-queue.controller';\nimport { MqMessageController } from './controllers/mq-message.controller';\nimport { OTPAuthenticationController } from './controllers/otp-authentication.controller';\nimport { ServiceController } from './controllers/service.controller';\nimport { SmsTemplateController } from './controllers/sms-template.controller';\nimport { TestQueueController } from './controllers/test-queue.controller';\n// import { UserController } from './controllers/user.controller';\nimport { EmailAttachment } from './entities/email-attachment.entity';\nimport { EmailTemplate } from './entities/email-template.entity';\nimport { MenuItemMetadata } from './entities/menu-item-metadata.entity';\nimport { MqMessageQueue } from './entities/mq-message-queue.entity';\nimport { MqMessage } from './entities/mq-message.entity';\nimport { SmsTemplate } from './entities/sms-template.entity';\nimport { UserPasswordHistory } from './entities/user-password-history.entity';\n// import { User } from './entities/user.entity';\nimport { AccessTokenGuard } from './guards/access-token.guard';\nimport { AuthenticationGuard } from './guards/authentication.guard';\nimport { PermissionsGuard } from './guards/permissions.guard';\nimport { SolidRegistry } from './helpers/solid-registry';\nimport { LoggingInterceptor } from './interceptors/logging.interceptor';\nimport { ApiEmailQueuePublisher } from './jobs/api-email-publisher.service';\nimport { ApiEmailQueueSubscriber } from './jobs/api-email-subscriber.service';\nimport { TestQueuePublisherDatabase } from './jobs/database/test-queue-publisher-database.service';\nimport { TestQueueSubscriberDatabase } from './jobs/database/test-queue-subscriber-database.service';\nimport { EmailQueuePublisher } from './jobs/email-publisher.service';\nimport { EmailQueueSubscriber } from './jobs/email-subscriber.service';\nimport { OTPQueuePublisher } from './jobs/otp-publisher.service';\nimport { OTPQueueSubscriber } from './jobs/otp-subscriber.service';\nimport { SmsQueuePublisher } from './jobs/sms-publisher.service';\nimport { SmsQueueSubscriber } from './jobs/sms-subscriber.service';\nimport { TestQueuePublisher } from './jobs/test-queue-publisher.service';\nimport { TestQueueSubscriber } from './jobs/test-queue-subscriber.service';\nimport { WhatsappQueuePublisher } from './jobs/whatsapp-publisher.service';\nimport { WhatsappQueueSubscriber } from './jobs/whatsapp-subscriber.service';\nimport { UserRegistrationListener } from './listeners/user-registration.listener';\nimport { GoogleOauthStrategy } from './passport-strategies/google-oauth.strategy';\nimport { LocalStrategy } from './passport-strategies/local.strategy';\nimport { EmailTemplateSeederService } from './seeders/email-template-seeder.service';\nimport { SmsTemplateSeederService } from './seeders/sms-template-seeder.service';\nimport { UserSeederService } from './seeders/user-seeder.service';\nimport { AuthenticationService } from './services/authentication.service';\nimport { BcryptService } from './services/bcrypt.service';\nimport { UuidExternalIdComputedFieldProvider } from './services/computed-fields/uuid-external-id-computed-field-provider.service';\nimport { EmailTemplateService } from './services/email-template.service';\nimport { FileService } from './services/file.service';\nimport { HashingService } from './services/hashing.service';\nimport { ElasticEmailService } from './services/mail/ElasticEmailService';\nimport { SMTPEMailService } from './services/mail/SMTPEmailService';\nimport { MenuItemMetadataService } from './services/menu-item-metadata.service';\nimport { MqMessageQueueService } from './services/mq-message-queue.service';\nimport { MqMessageService } from './services/mq-message.service';\nimport { PdfService } from './services/pdf.service';\nimport { RefreshTokenIdsStorageService } from './services/refresh-token-ids-storage.service';\nimport { ListOfModelsSelectionProvider } from './services/selection-providers/list-of-models-selection-provider.service';\nimport { TinyUrlService } from './services/short-url/tiny-url.service';\nimport { SmsTemplateService } from './services/sms-template.service';\nimport { Msg91OTPService } from './services/sms/Msg91OTPService';\nimport { Msg91SMSService } from './services/sms/Msg91SMSService';\n// import { UserService } from './services/user.service';\nimport { Msg91WhatsappService } from './services/whatsapp/Msg91WhatsappService';\nimport { SoftDeleteAwareEventSubscriber } from './subscribers/soft-delete-aware-event.subscriber';\n\nimport { PermissionMetadataController } from './controllers/permission-metadata.controller';\nimport { PermissionMetadata } from './entities/permission-metadata.entity';\nimport { PermissionMetadataService } from './services/permission-metadata.service';\n\nimport { ScheduleModule } from '@nestjs/schedule';\nimport { ClsModule } from 'nestjs-cls';\nimport { AiInteractionController } from './controllers/ai-interaction.controller';\nimport { ChatterMessageDetailsController } from './controllers/chatter-message-details.controller';\nimport { ChatterMessageController } from './controllers/chatter-message.controller';\nimport { DashboardQuestionSqlDatasetConfigController } from './controllers/dashboard-question-sql-dataset-config.controller';\nimport { DashboardQuestionController } from './controllers/dashboard-question.controller';\nimport { DashboardVariableController } from './controllers/dashboard-variable.controller';\nimport { DashboardController } from './controllers/dashboard.controller';\nimport { ExportTemplateController } from './controllers/export-template.controller';\nimport { ExportTransactionController } from './controllers/export-transaction.controller';\nimport { ImportTransactionErrorLogController } from './controllers/import-transaction-error-log.controller';\nimport { ImportTransactionController } from './controllers/import-transaction.controller';\nimport { ListOfValuesController } from './controllers/list-of-values.controller';\nimport { LocaleController } from './controllers/locale.controller';\nimport { RoleMetadataController } from './controllers/role-metadata.controller';\nimport { SavedFiltersController } from './controllers/saved-filters.controller';\nimport { ScheduledJobController } from './controllers/scheduled-job.controller';\nimport { SecurityRuleController } from './controllers/security-rule.controller';\nimport { SettingController } from './controllers/setting.controller';\nimport { UserActivityHistoryController } from './controllers/user-activity-history.controller';\nimport { UserViewMetadataController } from './controllers/user-view-metadata.controller';\nimport { UserController } from './controllers/user.controller';\nimport { AiInteraction } from './entities/ai-interaction.entity';\nimport { ChatterMessageDetails } from './entities/chatter-message-details.entity';\nimport { ChatterMessage } from './entities/chatter-message.entity';\nimport { DashboardQuestionSqlDatasetConfig } from './entities/dashboard-question-sql-dataset-config.entity';\nimport { DashboardQuestion } from './entities/dashboard-question.entity';\nimport { DashboardVariable } from './entities/dashboard-variable.entity';\nimport { Dashboard } from './entities/dashboard.entity';\nimport { ExportTemplate } from './entities/export-template.entity';\nimport { ExportTransaction } from './entities/export-transaction.entity';\nimport { ImportTransactionErrorLog } from './entities/import-transaction-error-log.entity';\nimport { ImportTransaction } from './entities/import-transaction.entity';\nimport { Locale } from './entities/locale.entity';\nimport { RoleMetadata } from './entities/role-metadata.entity';\nimport { SavedFilters } from './entities/saved-filters.entity';\nimport { ScheduledJob } from './entities/scheduled-job.entity';\nimport { SecurityRule } from './entities/security-rule.entity';\nimport { Setting } from './entities/setting.entity';\nimport { UserActivityHistory } from './entities/user-activity-history.entity';\nimport { UserViewMetadata } from './entities/user-view-metadata.entity';\nimport { User } from './entities/user.entity';\nimport { HttpExceptionFilter } from './filters/http-exception.filter';\nimport { ModelMetadataHelperService } from './helpers/model-metadata-helper.service';\nimport { ModuleMetadataHelperService } from './helpers/module-metadata-helper.service';\nimport { ApiEmailQueuePublisherDatabase } from './jobs/database/api-email-publisher-database.service';\nimport { ApiEmailQueueSubscriberDatabase } from './jobs/database/api-email-subscriber-database.service';\nimport { ComputedFieldEvaluationPublisher } from './jobs/database/computed-field-evaluation-publisher.service';\nimport { ComputedFieldEvaluationSubscriber } from './jobs/database/computed-field-evaluation-subscriber.service';\nimport { EmailQueuePublisherDatabase } from './jobs/database/email-publisher-database.service';\nimport { EmailQueueSubscriberDatabase } from './jobs/database/email-subscriber-database.service';\nimport { GenerateCodePublisherDatabase } from './jobs/database/generate-code-publisher-database.service';\nimport { GenerateCodeSubscriberDatabase } from './jobs/database/generate-code-subscriber-database.service';\nimport { OTPQueuePublisherDatabase } from './jobs/database/otp-publisher-database.service';\nimport { OTPQueueSubscriberDatabase } from './jobs/database/otp-subscriber-database.service';\nimport { SmsQueuePublisherDatabase } from './jobs/database/sms-publisher-database.service';\nimport { SmsQueueSubscriberDatabase } from './jobs/database/sms-subscriber-database.service';\nimport { TriggerMcpClientPublisherDatabase } from './jobs/database/trigger-mcp-client-publisher-database.service';\nimport { TriggerMcpClientSubscriberDatabase } from './jobs/database/trigger-mcp-client-subscriber-database.service';\nimport { WhatsappQueuePublisherDatabase } from './jobs/database/whatsapp-publisher-database.service';\nimport { WhatsappQueueSubscriberDatabase } from './jobs/database/whatsapp-subscriber-database.service';\nimport { DashboardMapper } from './mappers/dashboard-mapper';\nimport { DashboardRepository } from './repository/dashboard.repository';\nimport { FieldMetadataRepository } from './repository/field-metadata.repository';\nimport { FieldRepository } from './repository/field.repository';\nimport { MediaRepository } from './repository/media.repository';\nimport { SecurityRuleRepository } from './repository/security-rule.repository';\nimport { PermissionMetadataSeederService } from './seeders/permission-metadata-seeder.service';\nimport { SystemFieldsSeederService } from './seeders/system-fields-seeder.service';\nimport { AiInteractionService } from './services/ai-interaction.service';\nimport { ChatterMessageDetailsService } from './services/chatter-message-details.service';\nimport { ChatterMessageService } from './services/chatter-message.service';\nimport { ConcatComputedFieldProvider } from './services/computed-fields/concat-computed-field-provider.service';\nimport { ConcatEntityComputedFieldProvider } from './services/computed-fields/entity/concat-entity-computed-field-provider.service';\nimport { CRUDService } from './services/crud.service';\nimport { CsvService } from './services/csv.service';\nimport { DashboardQuestionSqlDatasetConfigService } from './services/dashboard-question-sql-dataset-config.service';\nimport { DashboardQuestionService } from './services/dashboard-question.service';\nimport { DashboardVariableSQLDynamicProvider } from './services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service';\nimport { DasbhoardVariableTestDynamicProvider } from './services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service';\nimport { DashboardVariableService } from './services/dashboard-variable.service';\nimport { DashboardService } from './services/dashboard.service';\nimport { ExcelService } from './services/excel.service';\nimport { ExportTemplateService } from './services/export-template.service';\nimport { ExportTransactionService } from './services/export-transaction.service';\nimport { ImportTransactionErrorLogService } from './services/import-transaction-error-log.service';\nimport { ImportTransactionService } from './services/import-transaction.service';\nimport { LocaleService } from './services/locale.service';\nimport { McpToolResponseHandlerFactory } from './services/mcp-tool-response-handlers/mcp-tool-response-handler-factory.service';\nimport { SolidCreateDashboardMcpToolResponseHandler } from './services/mcp-tool-response-handlers/solid-create-dashboard-mcp-tool-response-handler.service';\nimport { SolidCreateDashboardQuestionMcpToolResponseHandler } from './services/mcp-tool-response-handlers/solid-create-dashboard-question-mcp-tool-response-handler.service';\nimport { SolidCreateDashboardQuestionSqlDatasetConfigMcpToolResponseHandler } from './services/mcp-tool-response-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service';\nimport { SolidCreateModuleMcpToolResponseHandler } from './services/mcp-tool-response-handlers/solid-create-module-mcp-tool-response-handler.service';\nimport { FileS3StorageProvider } from './services/mediaStorageProviders/file-s3-storage-provider';\nimport { FileStorageProvider } from './services/mediaStorageProviders/file-storage-provider';\nimport { ChartJsSqlDataProvider } from './services/question-data-providers/chartjs-sql-data-provider.service';\nimport { PrimeReactDatatableSqlDataProvider } from './services/question-data-providers/prime-react-datatable-sql-data-provider.service';\nimport { PrimeReactMeterGroupSqlDataProvider } from './services/question-data-providers/prime-react-meter-group-sql-data-provider.service';\nimport { PublisherFactory } from './services/queues/publisher-factory.service';\nimport { RequestContextService } from './services/request-context.service';\nimport { RoleMetadataService } from './services/role-metadata.service';\nimport { SavedFiltersService } from './services/saved-filters.service';\nimport { ScheduledJobService } from './services/scheduled-job.service';\nimport { SchedulerServiceImpl } from './services/scheduled-jobs/scheduler.service';\nimport { SecurityRuleService } from './services/security-rule.service';\nimport { ListOfDashboardQuestionProvidersSelectionProvider } from './services/selection-providers/list-of-dashboard-question-providers-selection-provider.service';\nimport { ListOfDashboardVariableProvidersSelectionProvider } from './services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service';\nimport { ListOfScheduledJobsSelectionProvider } from './services/selection-providers/list-of-scheduled-jobs-selection-provider.service';\nimport { LocaleListSelectionProvider } from './services/selection-providers/locale-list-selection-provider.service';\nimport { SettingService } from './services/setting.service';\nimport { SqlExpressionResolverService } from './services/sql-expression-resolver.service';\nimport { UserActivityHistoryService } from './services/user-activity-history.service';\nimport { UserViewMetadataService } from './services/user-view-metadata.service';\nimport { UserService } from './services/user.service';\nimport { AuditSubscriber } from './subscribers/audit.subscriber';\nimport { ComputedEntityFieldSubscriber } from './subscribers/computed-entity-field.subscriber';\nimport { CreatedByUpdatedBySubscriber } from './subscribers/created-by-updated-by.subscriber';\nimport { DashboardQuestionSqlDatasetConfigSubscriber } from './subscribers/dashboard-question-sql-dataset-config.subscriber';\nimport { DashboardQuestionSubscriber } from './subscribers/dashboard-question.subscriber';\nimport { DashboardVariableSubscriber } from './subscribers/dashboard-variable.subscriber';\nimport { DashboardSubscriber } from './subscribers/dashboard.subscriber';\nimport { SecurityRuleSubscriber } from './subscribers/security-rule.subscriber';\nimport { ViewMetadataSubsciber } from './subscribers/view-metadata.subscriber';\nimport { SolidCreateDashboardWidgetMcpToolResponseHandler } from './services/mcp-tool-response-handlers/solid-create-dashboard-widget-mcp-tool-response-handler.service';\nimport { SolidCreateModelWithFieldsMcpToolResponseHandler } from './services/mcp-tool-response-handlers/solid-create-model-with-fields-mcp-tool-response-handler.service';\nimport { SolidAddFieldMcpToolResponseHandler } from './services/mcp-tool-response-handlers/solid-add-field-mcp-tool-response-handler.service';\nimport { ViewMetadataRepository } from './repository/view-metadata.repository';\nimport { SolidCreateModelLayoutMcpToolResponseHandler } from './services/mcp-tool-response-handlers/solid-save-model-layout-mcp-tool-response-handler.service';\nimport { NoopsEntityComputedFieldProviderService } from './services/computed-fields/entity/noops-entity-computed-field-provider.service';\nimport { AlphaNumExternalIdComputationProvider } from './services/computed-fields/entity/alpha-num-external-id-computed-field-provider';\n\n\n@Global()\n@Module({\n imports: [\n TypeOrmModule.forFeature([\n ModelMetadata,\n FieldMetadata,\n ModuleMetadata,\n ListOfValues,\n MediaStorageProviderMetadata,\n Media,\n EmailTemplate,\n SmsTemplate,\n EmailAttachment,\n User,\n UserPasswordHistory,\n ViewMetadata,\n ActionMetadata,\n MenuItemMetadata,\n MqMessageQueue,\n MqMessage,\n ScheduledJob,\n PermissionMetadata,\n RoleMetadata,\n Setting,\n SavedFilters,\n UserViewMetadata,\n SecurityRule,\n ListOfValues,\n ChatterMessage,\n ChatterMessageDetails,\n Locale,\n ExportTemplate,\n ExportTransaction,\n ImportTransaction,\n ImportTransactionErrorLog,\n UserActivityHistory,\n AiInteraction,\n ]),\n ConfigModule.forFeature(appBuilderConfig),\n ConfigModule.forFeature(commonConfig),\n ConfigModule.forFeature(iamConfig),\n ConfigModule.forFeature(jwtConfig),\n JwtModule.registerAsync(jwtConfig.asProvider()),\n ScheduleModule.forRoot(),\n ServeStaticModule.forRoot({\n rootPath: join(process.cwd(), 'media-files-storage'),\n serveRoot: '/media-files-storage',\n }),\n MulterModule.registerAsync({\n imports: [ConfigModule],\n useFactory: async (configService: ConfigService) => ({\n dest: configService.get<string>('app-builder.uploadDir'),\n }),\n inject: [ConfigService],\n }),\n HttpModule,\n ConfigModule,\n ClsModule,\n TypeOrmModule.forFeature([Dashboard]),\n TypeOrmModule.forFeature([DashboardVariable]),\n TypeOrmModule.forFeature([DashboardQuestion]),\n TypeOrmModule.forFeature([DashboardQuestionSqlDatasetConfig]),\n TypeOrmModule.forFeature([AiInteraction]),\n ],\n controllers: [\n ModuleMetadataController,\n ModelMetadataController,\n FieldMetadataController,\n TestController,\n MediaController,\n MediaStorageProviderMetadataController,\n ViewMetadataController,\n ActionMetadataController,\n MenuItemMetadataController,\n ServiceController,\n SmsTemplateController,\n EmailTemplateController,\n AuthenticationController,\n GoogleAuthenticationController,\n OTPAuthenticationController,\n TestQueueController,\n MqMessageQueueController,\n MqMessageController,\n ScheduledJobController,\n PermissionMetadataController,\n RoleMetadataController,\n UserController,\n SettingController,\n SavedFiltersController,\n UserViewMetadataController,\n SecurityRuleController,\n SavedFiltersController,\n ListOfValuesController,\n ChatterMessageController,\n ChatterMessageDetailsController,\n LocaleController,\n ExportTemplateController,\n ExportTransactionController,\n ImportTransactionController,\n ImportTransactionErrorLogController,\n UserActivityHistoryController,\n DashboardController,\n DashboardVariableController,\n DashboardQuestionController,\n DashboardQuestionSqlDatasetConfigController,\n AiInteractionController,\n ],\n providers: [\n {\n provide: APP_INTERCEPTOR,\n useClass: LoggingInterceptor,\n },\n {\n provide: HashingService,\n useClass: BcryptService,\n },\n {\n provide: APP_GUARD,\n useClass: AuthenticationGuard,\n },\n {\n provide: APP_GUARD,\n useClass: PermissionsGuard,\n },\n {\n provide: APP_FILTER,\n useClass: HttpExceptionFilter\n },\n ModuleMetadataService,\n ModuleMetadataHelperService,\n ModelMetadataService,\n ModelMetadataHelperService,\n FieldMetadataService,\n RemoveFieldsCommand,\n RefreshModelCommand,\n RefreshModuleCommand,\n SolidIntrospectService,\n DiscoveryService,\n CrudHelperService,\n CRUDService,\n Reflector,\n MetadataScanner,\n CommandService,\n SchematicService,\n MediaStorageProviderMetadataService,\n MediaService,\n MediaStorageProviderMetadataSeederService,\n ModuleMetadataSeederService,\n ListOfValuesService,\n ListOfValuesSelectionProvider,\n ModelMetadataSubscriber,\n ViewMetadataService,\n ActionMetadataService,\n MenuItemMetadataService,\n DiscoveryService,\n Reflector,\n MetadataScanner,\n FileService,\n SolidRegistry,\n SeedCommand,\n SMTPEMailService,\n ElasticEmailService,\n Msg91SMSService,\n Msg91OTPService,\n Msg91WhatsappService,\n SmsTemplateService,\n EmailTemplateService,\n PublisherFactory,\n\n McpToolResponseHandlerFactory,\n SolidCreateModuleMcpToolResponseHandler,\n\n TriggerMcpClientPublisherDatabase,\n TriggerMcpClientSubscriberDatabase,\n\n EmailQueuePublisher,\n EmailQueueSubscriber,\n EmailQueuePublisherDatabase,\n EmailQueueSubscriberDatabase,\n ApiEmailQueuePublisher,\n ApiEmailQueueSubscriber,\n ApiEmailQueuePublisherDatabase,\n ApiEmailQueueSubscriberDatabase,\n SmsQueuePublisher,\n SmsQueueSubscriber,\n SmsQueuePublisherDatabase,\n SmsQueueSubscriberDatabase,\n OTPQueuePublisher,\n OTPQueueSubscriber,\n OTPQueuePublisherDatabase,\n OTPQueueSubscriberDatabase,\n WhatsappQueuePublisher,\n WhatsappQueueSubscriber,\n WhatsappQueuePublisherDatabase,\n WhatsappQueueSubscriberDatabase,\n EmailTemplateSeederService,\n SmsTemplateSeederService,\n TinyUrlService,\n PdfService,\n UuidExternalIdComputedFieldProvider,\n ListOfModelsSelectionProvider,\n ListOfScheduledJobsSelectionProvider,\n LocaleListSelectionProvider,\n SoftDeleteAwareEventSubscriber,\n AccessTokenGuard,\n AuthenticationService,\n GoogleAuthenticationController,\n RefreshTokenIdsStorageService,\n UserSeederService,\n LocalStrategy,\n GoogleOauthStrategy,\n UserRegistrationListener,\n TestQueuePublisher,\n TestQueueSubscriber,\n TestQueuePublisherDatabase,\n TestQueueSubscriberDatabase,\n GenerateCodePublisherDatabase,\n GenerateCodeSubscriberDatabase,\n MqMessageQueueService,\n MqMessageService,\n ScheduledJobService,\n SchedulerServiceImpl,\n PermissionMetadataService,\n RoleMetadataService,\n PermissionMetadataSeederService,\n UserService,\n SettingService,\n ConcatComputedFieldProvider,\n FileStorageProvider,\n FileS3StorageProvider,\n MediaRepository,\n ViewMetadataSubsciber,\n SavedFiltersService,\n UserViewMetadataService,\n SecurityRuleService,\n SecurityRuleRepository,\n SecurityRuleSubscriber,\n RequestContextService,\n SavedFiltersService,\n ChatterMessageService,\n ChatterMessageDetailsService,\n LocaleService,\n AuditSubscriber,\n ExportTemplateService,\n ExportTransactionService,\n ExcelService,\n CsvService,\n FieldRepository,\n ImportTransactionService,\n ImportTransactionErrorLogService,\n CreatedByUpdatedBySubscriber,\n SystemFieldsSeederService,\n FieldMetadataRepository,\n ComputedEntityFieldSubscriber,\n ComputedFieldEvaluationPublisher,\n ComputedFieldEvaluationSubscriber,\n ConcatEntityComputedFieldProvider,\n UserActivityHistoryService,\n DashboardService,\n DashboardVariableService,\n DashboardQuestionService,\n DashboardVariableSQLDynamicProvider,\n DasbhoardVariableTestDynamicProvider,\n ListOfDashboardVariableProvidersSelectionProvider,\n ListOfDashboardQuestionProvidersSelectionProvider,\n DashboardQuestionSqlDatasetConfigService,\n ChartJsSqlDataProvider,\n PrimeReactMeterGroupSqlDataProvider,\n PrimeReactDatatableSqlDataProvider,\n SqlExpressionResolverService,\n AiInteractionService,\n DashboardMapper,\n DashboardRepository,\n DashboardSubscriber,\n DashboardVariableSubscriber,\n DashboardQuestionSubscriber,\n DashboardQuestionSqlDatasetConfigSubscriber,\n NoopsEntityComputedFieldProviderService,\n SolidCreateDashboardMcpToolResponseHandler,\n SolidCreateDashboardQuestionMcpToolResponseHandler,\n SolidCreateDashboardQuestionSqlDatasetConfigMcpToolResponseHandler,\n SolidCreateDashboardWidgetMcpToolResponseHandler,\n SolidCreateModelWithFieldsMcpToolResponseHandler,\n SolidAddFieldMcpToolResponseHandler,\n ViewMetadataRepository,\n SolidCreateModelLayoutMcpToolResponseHandler,\n AlphaNumExternalIdComputationProvider,\n ],\n exports: [\n ModuleMetadataService,\n ModelMetadataService,\n FieldMetadataService,\n MediaStorageProviderMetadataService,\n MediaService,\n DiscoveryService,\n CrudHelperService,\n CRUDService,\n MulterModule,\n FileService,\n SolidRegistry,\n SMTPEMailService,\n ElasticEmailService,\n Msg91SMSService,\n Msg91OTPService,\n Msg91WhatsappService,\n TinyUrlService,\n PdfService,\n EmailTemplateService,\n SmsTemplateService,\n UserSeederService,\n AuthenticationService,\n MqMessageQueueService,\n MqMessageService,\n RefreshModelCommand,\n RefreshModuleCommand,\n RequestContextService,\n SecurityRuleRepository,\n FieldRepository,\n SchedulerServiceImpl,\n UserActivityHistoryService,\n CsvService,\n ExcelService,\n SolidIntrospectService,\n ImportTransactionService,\n HttpModule,\n ListOfValuesService\n ],\n})\nexport class SolidCoreModule { }\n"]}
|
|
@@ -19,7 +19,7 @@ export declare class ComputedEntityFieldSubscriber implements EntitySubscriberIn
|
|
|
19
19
|
private handleComputedFieldEvaluationJob;
|
|
20
20
|
private getComputedFieldsForEvaluation;
|
|
21
21
|
private evaluateComputedField;
|
|
22
|
-
private
|
|
22
|
+
private preComputeValue;
|
|
23
23
|
private enqueueComputedFieldEvaluationJob;
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=computed-entity-field.subscriber.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computed-entity-field.subscriber.d.ts","sourceRoot":"","sources":["../../src/subscribers/computed-entity-field.subscriber.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAElF,OAAO,EAAE,gCAAgC,EAAE,MAAM,+DAA+D,CAAC;AACjH,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAmB,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3G,MAAM,WAAW,8BAA+B,SAAQ,qBAAqB;IACzE,cAAc,EAAE,GAAG,CAAC;CACvB;AAED,qBAEa,6BAA8B,YAAW,yBAAyB;IAIvE,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAL3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAGvC,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,gCAAgC;IAKvE,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAInD,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAIzD,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;IAInC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;IAInC,WAAW,CAAC,KAAK,EAAE,GAAG;YAMR,6BAA6B;IAe3C,OAAO,CAAC,gCAAgC;IAiBxC,OAAO,CAAC,8BAA8B;YASxB,qBAAqB;
|
|
1
|
+
{"version":3,"file":"computed-entity-field.subscriber.d.ts","sourceRoot":"","sources":["../../src/subscribers/computed-entity-field.subscriber.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAElF,OAAO,EAAE,gCAAgC,EAAE,MAAM,+DAA+D,CAAC;AACjH,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAmB,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3G,MAAM,WAAW,8BAA+B,SAAQ,qBAAqB;IACzE,cAAc,EAAE,GAAG,CAAC;CACvB;AAED,qBAEa,6BAA8B,YAAW,yBAAyB;IAIvE,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAL3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAGvC,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,gCAAgC;IAKvE,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAInD,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAIzD,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;IAInC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;IAInC,WAAW,CAAC,KAAK,EAAE,GAAG;YAMR,6BAA6B;IAe3C,OAAO,CAAC,gCAAgC;IAiBxC,OAAO,CAAC,8BAA8B;YASxB,qBAAqB;YAOrB,eAAe;IAY7B,OAAO,CAAC,iCAAiC;CAU5C"}
|
|
@@ -64,10 +64,12 @@ let ComputedEntityFieldSubscriber = class ComputedEntityFieldSubscriber {
|
|
|
64
64
|
trigger.modelName === currentModelName));
|
|
65
65
|
}
|
|
66
66
|
async evaluateComputedField(computedFieldMetadata, entity) {
|
|
67
|
-
const computedValue = await this.
|
|
68
|
-
|
|
67
|
+
const computedValue = await this.preComputeValue(computedFieldMetadata, entity);
|
|
68
|
+
if (computedValue) {
|
|
69
|
+
entity[computedFieldMetadata.fieldName] = computedValue;
|
|
70
|
+
}
|
|
69
71
|
}
|
|
70
|
-
async
|
|
72
|
+
async preComputeValue(computedFieldMetadata, entity) {
|
|
71
73
|
try {
|
|
72
74
|
const provider = this.solidRegistry.getComputedFieldProvider(computedFieldMetadata.computedFieldValueProviderName);
|
|
73
75
|
const providerInstance = provider.instance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computed-entity-field.subscriber.js","sourceRoot":"","sources":["../../src/subscribers/computed-entity-field.subscriber.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"computed-entity-field.subscriber.js","sourceRoot":"","sources":["../../src/subscribers/computed-entity-field.subscriber.ts"],"names":[],"mappings":"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","sourcesContent":["import { camelize } from \"@angular-devkit/core/src/utils/strings\";\nimport { Injectable, InternalServerErrorException, Logger } from \"@nestjs/common\";\nimport { InjectDataSource } from \"@nestjs/typeorm\";\nimport { ComputedFieldTriggerOperation } from \"src/dtos/create-field-metadata.dto\";\nimport { ComputedFieldMetadata, SolidRegistry } from \"src/helpers/solid-registry\";\nimport { IEntityPreComputeFieldProvider } from \"src/interfaces\";\nimport { ComputedFieldEvaluationPublisher } from \"src/jobs/database/computed-field-evaluation-publisher.service\";\nimport { DataSource, EntitySubscriberInterface, EventSubscriber, InsertEvent, UpdateEvent } from \"typeorm\";\n\n// Create an interface i.e ComputedFieldEvaluationPayload which has same fields as the ComputedFieldMetadata and an additional field for the database entity\nexport interface ComputedFieldEvaluationPayload extends ComputedFieldMetadata {\n databaseEntity: any;\n}\n\n@Injectable()\n@EventSubscriber()\nexport class ComputedEntityFieldSubscriber implements EntitySubscriberInterface {\n private readonly logger = new Logger(this.constructor.name);\n constructor(\n @InjectDataSource()\n private readonly dataSource: DataSource,\n private readonly solidRegistry: SolidRegistry,\n private readonly computedFieldPublisher: ComputedFieldEvaluationPublisher,\n ) {\n this.dataSource.subscribers.push(this);\n }\n\n async beforeInsert(event: InsertEvent<any>): Promise<any> {\n await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeInsert);\n }\n\n async beforeUpdate(event: UpdateEvent<any>): Promise<any> {\n await this.handleComputedFieldEvaluation(event.databaseEntity, ComputedFieldTriggerOperation.beforeUpdate);\n }\n\n afterInsert(event: InsertEvent<any>) {\n this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterInsert);\n }\n\n afterUpdate(event: UpdateEvent<any>) {\n this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterUpdate);\n }\n\n afterRemove(event: any) {\n this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterRemove);\n }\n\n //FIXME: Need to add support for beforeRemove, beforeSoftRemove, afterSoftRemove, beforeRecover, afterRecover\n\n private async handleComputedFieldEvaluation(entity: any, currentOperation: ComputedFieldTriggerOperation): Promise<void> {\n if (!entity) {\n return;\n }\n const computedFieldsTobeEvaluated = this.getComputedFieldsForEvaluation(\n this.solidRegistry.getComputedFieldMetadata(),\n currentOperation,\n camelize(entity.constructor.name)\n );\n //TODO: We can add a feature i.e dependsOn, where we can check if the computed field depends on other computed fields and evaluate them first\n await Promise.all(\n computedFieldsTobeEvaluated.map(c => this.evaluateComputedField(c, entity))\n )\n }\n\n private handleComputedFieldEvaluationJob(entity: any, currentOperation: ComputedFieldTriggerOperation) {\n if (!entity) {\n return;\n }\n const computedFieldsTobeEvaluated = this.getComputedFieldsForEvaluation(\n this.solidRegistry.getComputedFieldMetadata(),\n currentOperation,\n camelize(entity.constructor.name)\n );\n //TODO: We can add a feature i.e dependsOn, where we can check if the computed field depends on other computed fields and evaluate them first\n for (const computedField of computedFieldsTobeEvaluated) {\n this.enqueueComputedFieldEvaluationJob(computedField, entity);\n }\n }\n\n // Based on the current model name and current operation, identify all the computed providers that need to be evaluated\n // Pass the database entity and the context to the provider of type IEntityComputedFieldProvider\n private getComputedFieldsForEvaluation(computedFieldMetadata: ComputedFieldMetadata[] = [], currentOperation: ComputedFieldTriggerOperation, currentModelName: string) {\n return computedFieldMetadata.filter(\n (computedField) => computedField.computedFieldTriggerConfig.some(\n (trigger) => trigger.operations.includes(currentOperation) &&\n trigger.modelName === currentModelName\n )\n );\n }\n\n private async evaluateComputedField(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any) {\n const computedValue = await this.preComputeValue(computedFieldMetadata, entity);\n if (computedValue) {\n entity[computedFieldMetadata.fieldName] = computedValue; //TODO: This line here is just for backward compatibility, once the pre compute interface is change to return void, we will get rid of it.\n }\n }\n\n private async preComputeValue(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any) {\n try {\n const provider = this.solidRegistry.getComputedFieldProvider(computedFieldMetadata.computedFieldValueProviderName);\n // Get the instance of the provider and assert it is of type IEntityComputedFieldProvider\n const providerInstance = provider.instance as IEntityPreComputeFieldProvider<any, any, any>; // IEntityComputedFieldProvider\n const computedValue = await providerInstance.preComputeValue(entity, computedFieldMetadata); //FIXME There should some way to check/assert if the provider actually has a postComputeAndSaveValue\n return computedValue; //TODO: This line here is just for backward compatibility, once the pre compute interface is change to return void, we will get rid of it.\n } catch (error) {\n throw new InternalServerErrorException(`Error evaluating computed field ${computedFieldMetadata.fieldName} for model ${computedFieldMetadata.modelName} for triggered entity ${entity.constructor.name}: ${error.message}`);\n }\n }\n\n private enqueueComputedFieldEvaluationJob(computedField: ComputedFieldMetadata<any>, databaseEntity: any) {\n const payload = {\n ...computedField,\n databaseEntity,\n };\n this.computedFieldPublisher.publish({\n payload\n });\n }\n\n}"]}
|