@solidstarters/solid-core 1.2.169 → 1.2.171
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/config/iam.config.d.ts +2 -0
- package/dist/config/iam.config.d.ts.map +1 -1
- package/dist/config/iam.config.js +2 -1
- package/dist/config/iam.config.js.map +1 -1
- package/dist/controllers/authentication.controller.d.ts.map +1 -1
- package/dist/controllers/authentication.controller.js +0 -8
- package/dist/controllers/authentication.controller.js.map +1 -1
- package/dist/controllers/email-template.controller.d.ts +1 -1
- package/dist/controllers/email-template.controller.d.ts.map +1 -1
- package/dist/controllers/email-template.controller.js +3 -6
- package/dist/controllers/email-template.controller.js.map +1 -1
- package/dist/controllers/google-authentication.controller.d.ts +3 -3
- package/dist/controllers/google-authentication.controller.d.ts.map +1 -1
- package/dist/controllers/google-authentication.controller.js +5 -8
- package/dist/controllers/google-authentication.controller.js.map +1 -1
- package/dist/controllers/media.controller.d.ts +1 -1
- package/dist/controllers/media.controller.d.ts.map +1 -1
- package/dist/controllers/media.controller.js +1 -5
- package/dist/controllers/media.controller.js.map +1 -1
- package/dist/controllers/model-metadata.controller.d.ts.map +1 -1
- package/dist/controllers/model-metadata.controller.js +0 -5
- package/dist/controllers/model-metadata.controller.js.map +1 -1
- package/dist/controllers/otp-authentication.controller.js +0 -3
- package/dist/controllers/otp-authentication.controller.js.map +1 -1
- package/dist/controllers/service.controller.d.ts +2 -2
- package/dist/controllers/service.controller.d.ts.map +1 -1
- package/dist/controllers/service.controller.js +3 -7
- package/dist/controllers/service.controller.js.map +1 -1
- package/dist/controllers/sms-template.controller.d.ts.map +1 -1
- package/dist/controllers/sms-template.controller.js +0 -3
- package/dist/controllers/sms-template.controller.js.map +1 -1
- package/dist/entities/user.entity.d.ts +3 -0
- package/dist/entities/user.entity.d.ts.map +1 -1
- package/dist/entities/user.entity.js +13 -1
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/filters/http-exception.filter.js +1 -1
- package/dist/filters/http-exception.filter.js.map +1 -1
- package/dist/helpers/error-mapper.service.d.ts.map +1 -1
- package/dist/helpers/error-mapper.service.js +1 -1
- package/dist/helpers/error-mapper.service.js.map +1 -1
- package/dist/helpers/field-crud-managers/PasswordFieldCrudManager.d.ts +2 -1
- package/dist/helpers/field-crud-managers/PasswordFieldCrudManager.d.ts.map +1 -1
- package/dist/helpers/field-crud-managers/PasswordFieldCrudManager.js +3 -3
- package/dist/helpers/field-crud-managers/PasswordFieldCrudManager.js.map +1 -1
- package/dist/helpers/model-metadata-helper.service.js.map +1 -1
- package/dist/passport-strategies/local.strategy.js +1 -1
- package/dist/passport-strategies/local.strategy.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +43 -0
- package/dist/services/authentication.service.d.ts +2 -1
- package/dist/services/authentication.service.d.ts.map +1 -1
- package/dist/services/authentication.service.js +28 -5
- package/dist/services/authentication.service.js.map +1 -1
- package/dist/services/bcrypt.service.d.ts +11 -1
- package/dist/services/bcrypt.service.d.ts.map +1 -1
- package/dist/services/bcrypt.service.js +35 -5
- package/dist/services/bcrypt.service.js.map +1 -1
- package/dist/services/crud.service.d.ts.map +1 -1
- package/dist/services/crud.service.js +2 -1
- package/dist/services/crud.service.js.map +1 -1
- package/dist/services/export-transaction.service.d.ts +3 -1
- package/dist/services/export-transaction.service.d.ts.map +1 -1
- package/dist/services/export-transaction.service.js +70 -16
- package/dist/services/export-transaction.service.js.map +1 -1
- package/dist/services/hashing.service.d.ts +4 -1
- package/dist/services/hashing.service.d.ts.map +1 -1
- package/dist/services/hashing.service.js.map +1 -1
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +46 -61
- package/dist/solid-core.module.js.map +1 -1
- package/dist/subscribers/audit.subscriber.d.ts.map +1 -1
- package/dist/subscribers/audit.subscriber.js +1 -1
- package/dist/subscribers/audit.subscriber.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/config/iam.config.ts +2 -1
- package/src/controllers/authentication.controller.ts +8 -10
- package/src/controllers/email-template.controller.ts +7 -10
- package/src/controllers/google-authentication.controller.ts +9 -10
- package/src/controllers/media.controller.ts +5 -6
- package/src/controllers/model-metadata.controller.ts +5 -6
- package/src/controllers/otp-authentication.controller.ts +2 -2
- package/src/controllers/service.controller.ts +8 -9
- package/src/controllers/sms-template.controller.ts +3 -4
- package/src/entities/user.entity.ts +9 -0
- package/src/filters/http-exception.filter.ts +1 -1
- package/src/helpers/error-mapper.service.ts +1 -35
- package/src/helpers/field-crud-managers/PasswordFieldCrudManager.ts +4 -3
- package/src/helpers/model-metadata-helper.service.ts +1 -1
- package/src/passport-strategies/local.strategy.ts +1 -1
- package/src/seeders/seed-data/solid-core-metadata.json +43 -0
- package/src/services/authentication.service.ts +32 -3
- package/src/services/bcrypt.service.ts +45 -7
- package/src/services/crud.service.ts +2 -1
- package/src/services/export-transaction.service.ts +118 -55
- package/src/services/hashing.service.ts +5 -2
- package/src/solid-core.module.ts +59 -61
- package/src/subscribers/audit.subscriber.ts +6 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-transaction.service.js","sourceRoot":"","sources":["../../src/services/export-transaction.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { EntityManager, Repository } from 'typeorm';\n\nimport { ConfigService } from '@nestjs/config';\nimport { CrudHelperService } from 'src/services/crud-helper.service';\nimport { CRUDService } from 'src/services/crud.service';\nimport { FileService } from 'src/services/file.service';\nimport { MediaStorageProviderMetadataService } from 'src/services/media-storage-provider-metadata.service';\nimport { MediaService } from 'src/services/media.service';\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\n\n\nimport { classify, dasherize } from '@angular-devkit/core/src/utils/strings';\nimport { InstanceWrapper } from '@nestjs/core/injector/instance-wrapper';\nimport { validate } from 'class-validator';\nimport { BasicFilterDto } from 'src/dtos/basic-filters.dto';\nimport { CreateExportTransactionDto } from 'src/dtos/create-export-transaction.dto';\nimport { MediaStorageProviderType } from 'src/dtos/create-media-storage-provider-metadata.dto';\nimport { FieldMetadata } from 'src/entities/field-metadata.entity';\nimport { Readable } from 'stream';\nimport { ExportTransaction } from '../entities/export-transaction.entity';\nimport { CsvService } from './csv.service';\nimport { ExcelService } from './excel.service';\nimport { getMediaStorageProvider } from './mediaStorageProviders';\nimport { SolidIntrospectService } from './solid-introspect.service';\nimport { ModelMetadata } from 'src/entities/model-metadata.entity';\nimport { UpdateExportTemplateDto } from 'src/dtos/update-export-template.dto';\nimport { ERROR_MESSAGES } from 'src/constants/error-messages';\n\nconst EXPORT_CHUNK_SIZE = 100;\nenum ExportStatus {\n STARTED = 'started',\n COMPLETED = 'completed',\n FAILED = 'failed',\n}\n\nenum ExportFormat {\n CSV = 'csv',\n EXCEL = 'excel',\n}\n\nexport interface ExportTransactionFileInfo {\n exportStream: Readable;\n fileName: string;\n mimeType: string;\n exportTransaction: ExportTransaction;\n}\n\n@Injectable()\nexport class ExportTransactionService extends CRUDService<ExportTransaction> {\n private logger = new Logger(ExportTransactionService.name);\n\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(ExportTransaction, 'default')\n readonly repo: Repository<ExportTransaction>,\n readonly introspectService: SolidIntrospectService,\n readonly excelService: ExcelService,\n readonly csvService: CsvService,\n // readonly fieldMetadataService: FieldMetadataService,\n @InjectRepository(FieldMetadata, 'default')\n readonly fieldRepo: Repository<FieldMetadata>,\n @InjectRepository(ModelMetadata, 'default')\n readonly ModelMetadataRepo : Repository<ModelMetadata>,\n readonly moduleRef: ModuleRef\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'exportTransaction', 'solid-core',moduleRef);\n }\n\n // Return the export stream\n async triggerExportSync(id: number, exportTransactionEntity: any, updateDto: UpdateExportTemplateDto , filters: any): Promise<ExportTransactionFileInfo> {\n try {\n // const loadedExportTransaction = await this.loadExportTransaction(id);\n // from updateDto, get modelId and get modelMetadata\n const modeldata = await this.ModelMetadataRepo.findOne({\n where: { id: updateDto?.modelMetadataId},\n relations: { fields: true},\n })\n const modelName = modeldata?.singularName;\n const modelTemplateName = modelName;\n const fields = JSON.parse(updateDto?.fields);\n const templateFormat = updateDto?.templateFormat;\n const { exportStream, templateName, uuid, exportTransaction } = await this.getExportStreamDetails(modelName, modelTemplateName, fields, modeldata, templateFormat, id, exportTransactionEntity, filters);\n this.updateExportTransaction(id, ExportStatus.COMPLETED);\n const fileName = this.getFileName(templateName, uuid, templateFormat);\n const mimeType = this.getMimeType(templateFormat);\n return { exportStream, fileName, mimeType, exportTransaction };\n } catch (error) {\n this.updateExportTransaction(id, ExportStatus.FAILED, error.message);\n throw error;\n }\n }\n\n // Store the export stream using the appropriate storage provider\n async triggerExportAsync(id: number, exportTransactionEntity: any, updateDto: UpdateExportTemplateDto, filters:any): Promise<void> {\n try {\n // const loadedExportTransaction = await this.loadExportTransaction(id)\n // from updateDto, get modelId and get modelMetadata\n const modeldata = await this.ModelMetadataRepo.findOne({\n where: { id: updateDto?.modelMetadataId},\n relations: { fields: true},\n })\n const modelName = modeldata?.singularName;\n const modelTemplateName = modelName;\n const fields = JSON.parse(updateDto?.fields);\n const templateFormat = updateDto?.templateFormat;\n const { exportStream, templateName, uuid, exportTransaction } = await this.getExportStreamDetails(modelName, modelTemplateName, fields, modeldata, templateFormat, id, exportTransactionEntity, filters);\n // const fileFormat = loadedExportTransaction.exportTemplate.templateFormat;\n // Store the file using the appropriate storage provider\n await this.storeExportStream(exportStream, exportTransaction, this.getFileName(templateName, uuid, templateFormat));\n this.updateExportTransaction(id, ExportStatus.COMPLETED);\n } catch (error) {\n this.updateExportTransaction(id, ExportStatus.FAILED, error.message);\n throw error;\n\n }\n }\n\n private async loadExportTransaction(id: number) {\n return await this.repo.findOne({\n where: { id: id },\n relations: { exportTemplate: { modelMetadata: {fields: true} }},\n }\n );\n }\n\n private async updateExportTransaction(id: number, status: string, error?: string) {\n await this.repo.update(id, { status, error });\n }\n\n private async getExportStreamDetails(modelName: string, templateName: string, fields:any, modelData:any, templateFormat:string, id:number, exportTransaction: any, filters: any) {\n // Get the columns which need to be exported & the model id\n // const fields = JSON.parse(exportTransaction.exportTemplate.fields);\n\n // // Get the appropriate service for the model by trying to fetch a model service matching a particular name\n // const modelName = exportTransaction.exportTemplate.modelMetadata.singularName;\n const modelService = this.introspectService.getProvider(`${classify(modelName)}Service`);\n // const templateName = exportTransaction.exportTemplate.templateName;\n const uuid = String(id); //TODO can be renamed to exportTransactionUUID\n // const modelData = exportTransaction.exportTemplate.modelMetadata;\n\n // Get the data records function\n //const dataRecordsFunc = await this.getDataRecordsFunc(fields, modelService,modelData, filters);\n const dataRecordsFunc = await this.getDataRecordsFunc(fields, modelService, modelData, filters);\n\n // Get the export passthru stream (since it is a passthru stream, nothing is stored in memory & it is streamed directly when the stream is read)\n // let exportStream = await this.getExportStream(exportTransaction.exportTemplate.templateFormat, dataRecordsFunc);\n // return { exportStream, templateName, uuid, exportTransaction };\n\n let exportStream = await this.getExportStream(templateFormat, dataRecordsFunc);\n return { exportStream, templateName, uuid, exportTransaction };\n }\n\n private async getExportStream(templateFormat: string, dataRecordsFunc: (chunkIndex: number, chunkSize: number) => Promise<any[]>) {\n let exportStream = null;\n switch (templateFormat) {\n case ExportFormat.EXCEL:\n exportStream = await this.excelService.createExcelStream(dataRecordsFunc, EXPORT_CHUNK_SIZE);\n break;\n case ExportFormat.CSV:\n exportStream = await this.csvService.createCsvStream(dataRecordsFunc, EXPORT_CHUNK_SIZE);\n break;\n default:\n throw new Error(ERROR_MESSAGES.INVALID_FORMAT('export' + templateFormat));\n }\n return exportStream;\n }\n\n private async storeExportStream(exportStream: Readable, exportTransaction: ExportTransaction, fileName: string) {\n const exportedFileMediaField = await this.fieldRepo.findOne({\n where: {\n name: 'exportedFile',\n model: {\n singularName: 'exportTransaction'\n },\n },\n relations: ['model', 'mediaStorageProvider'],\n });\n // const storageProvider = new FileStorageProvider<ExportTransaction>(this.configService, this.fileService, this.mediaService);\n const storageProviderMetadata = exportedFileMediaField.mediaStorageProvider;\n\n // // Use the storage provider metadata to get the appropriate storage provider implementation\n const storageProviderType = storageProviderMetadata.type as MediaStorageProviderType;\n\n // // Get the storage provider implementation\n const storageProvider = await getMediaStorageProvider(this.moduleRef, storageProviderType);\n\n //Commented the below code since we will be direclty images from server on call from ui \n await storageProvider.storeStreams([[exportStream, fileName]], exportTransaction, exportedFileMediaField)\n }\n\n private getFileName(templateName: string, exportTransactionUUID: string, fileFormat: string): string {\n const extension = (fileFormat === ExportFormat.EXCEL) ? 'xlsx' : 'csv';\n return `${dasherize(templateName)}-${exportTransactionUUID}.${extension}`;\n }\n\n private getMimeType(fileFormat: string): string {\n return (fileFormat === ExportFormat.EXCEL) ? 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' : 'text/csv';\n }\n\n private async getDataRecordsFunc(fields: any, modelService: InstanceWrapper<any>, modelMetadata: any, filters:any): Promise<(chunkIndex: number, chunkSize: number) => Promise<any[]>> {\n // Return a function which will take the chunkIndex & chunkSize and return the data\n // Get the relation fields to populate\n const relatedFieldNames = modelMetadata?.fields\n .filter((field: { relationType: any; }) => field.relationType !== null)\n .map((field: { name: any; }) => field.name);\n\n //Get the model metadata of relation field with userKey details\n const relatedModelsUserKeyMap = new Map<string, string>();\n for (const field of modelMetadata?.fields || []) {\n if (field.relationType && field.relationCoModelSingularName && fields.includes(field.name)) {\n const relatedModelMetadata = await this.ModelMetadataRepo.findOne({\n where: { singularName: field.relationCoModelSingularName },\n relations: ['userKeyField'],\n });\n\n if (relatedModelMetadata?.userKeyField?.name) {\n relatedModelsUserKeyMap.set(field.name, relatedModelMetadata.userKeyField.name);\n }\n }\n }\n\n return async (chunkIndex: number, chunkSize: number) => {\n const offset = chunkIndex * chunkSize;\n const recordFilterDto: BasicFilterDto = {\n limit: chunkSize,\n offset,\n populate: relatedFieldNames\n };\n const cleanedFilters = cleanNullsFromObject(filters);\n\n if (cleanedFilters && Object.keys(cleanedFilters).length > 0) {\n recordFilterDto.filters = cleanedFilters;\n }\n\n //Get the non relation fields which are in fields array passed to this function\n const nonRelationalFieldSet = new Set(\n modelMetadata?.fields\n .filter((field: { name: any; relationType: any; }) => fields.includes(field.name) && field.relationType === null)\n .map((field: { name: any; }) => field.name)\n );\n const data = await modelService.instance.find(recordFilterDto);\n const records = data.records ?? [];\n const cleanedRecords = records.map((record: Record<string, any>) => {\n const newRecord: Record<string, any> = {};\n \n // Include non-relational fields\n for (const key of nonRelationalFieldSet as Set<string>) {\n newRecord[key] = record[key];\n }\n \n // Include userKey from each related field\n for (const [relatedFieldName, userKeyFieldName] of relatedModelsUserKeyMap.entries()) {\n const relatedData = record[relatedFieldName];\n \n if (Array.isArray(relatedData)) {\n // For many-to-many or one-to-many\n const values = relatedData.map(item => item?.[userKeyFieldName]).filter(Boolean);\n newRecord[relatedFieldName] = values.join(', ');\n } else if (relatedData && typeof relatedData === 'object') {\n // For many-to-one or one-to-one\n newRecord[relatedFieldName] = relatedData?.[userKeyFieldName] ?? null;\n } else {\n newRecord[relatedFieldName] = null;\n }\n }\n \n return newRecord;\n });\n return cleanedRecords\n }\n}\n\n async toDto(data: Partial<CreateExportTransactionDto>): Promise<CreateExportTransactionDto> {\n const dto = new CreateExportTransactionDto(data);\n const errors = await validate(dto);\n if (errors.length > 0) {\n console.error(\"Validation failed:\", errors);\n return null;\n }\n return dto;\n }\n}\n\nfunction cleanNullsFromObject(obj: any): any {\n if (Array.isArray(obj)) {\n return obj\n .filter(item => item !== null && item !== undefined)\n .map(cleanNullsFromObject);\n } else if (typeof obj === 'object' && obj !== null) {\n const newObj: any = {};\n for (const key in obj) {\n const value = obj[key];\n if (value !== null && value !== undefined) {\n const cleanedValue = cleanNullsFromObject(value);\n // Only assign non-empty objects/arrays or non-null primitives\n if (\n (typeof cleanedValue === 'object' && Object.keys(cleanedValue).length > 0) ||\n (Array.isArray(cleanedValue) && cleanedValue.length > 0) ||\n typeof cleanedValue !== 'object'\n ) {\n newObj[key] = cleanedValue;\n }\n }\n }\n return newObj;\n }\n return obj;\n}\n\n"]}
|
|
1
|
+
{"version":3,"file":"export-transaction.service.js","sourceRoot":"","sources":["../../src/services/export-transaction.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { EntityManager, Repository } from 'typeorm';\n\nimport { ConfigService } from '@nestjs/config';\nimport { CrudHelperService } from 'src/services/crud-helper.service';\nimport { CRUDService } from 'src/services/crud.service';\nimport { FileService } from 'src/services/file.service';\nimport { MediaStorageProviderMetadataService } from 'src/services/media-storage-provider-metadata.service';\nimport { MediaService } from 'src/services/media.service';\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\n\n\nimport { classify, dasherize } from '@angular-devkit/core/src/utils/strings';\nimport { InstanceWrapper } from '@nestjs/core/injector/instance-wrapper';\nimport { validate } from 'class-validator';\nimport { BasicFilterDto } from 'src/dtos/basic-filters.dto';\nimport { CreateExportTransactionDto } from 'src/dtos/create-export-transaction.dto';\nimport { MediaStorageProviderType } from 'src/dtos/create-media-storage-provider-metadata.dto';\nimport { FieldMetadata } from 'src/entities/field-metadata.entity';\nimport { Readable } from 'stream';\nimport { ExportTransaction } from '../entities/export-transaction.entity';\nimport { CsvService } from './csv.service';\nimport { ExcelService } from './excel.service';\nimport { getMediaStorageProvider } from './mediaStorageProviders';\nimport { SolidIntrospectService } from './solid-introspect.service';\nimport { ModelMetadata } from 'src/entities/model-metadata.entity';\nimport { UpdateExportTemplateDto } from 'src/dtos/update-export-template.dto';\nimport { ERROR_MESSAGES } from 'src/constants/error-messages';\nimport { ModelMetadataHelperService } from 'src/helpers/model-metadata-helper.service';\n\nconst EXPORT_CHUNK_SIZE = 100;\nenum ExportStatus {\n STARTED = 'started',\n COMPLETED = 'completed',\n FAILED = 'failed',\n}\n\nenum ExportFormat {\n CSV = 'csv',\n EXCEL = 'excel',\n}\n\nexport interface ExportTransactionFileInfo {\n exportStream: Readable;\n fileName: string;\n mimeType: string;\n exportTransaction: ExportTransaction;\n}\n\n@Injectable()\nexport class ExportTransactionService extends CRUDService<ExportTransaction> {\n private logger = new Logger(ExportTransactionService.name);\n\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(ExportTransaction, 'default')\n readonly repo: Repository<ExportTransaction>,\n readonly introspectService: SolidIntrospectService,\n readonly excelService: ExcelService,\n readonly csvService: CsvService,\n // readonly fieldMetadataService: FieldMetadataService,\n @InjectRepository(FieldMetadata, 'default')\n readonly fieldRepo: Repository<FieldMetadata>,\n @InjectRepository(ModelMetadata, 'default')\n readonly ModelMetadataRepo: Repository<ModelMetadata>,\n readonly moduleRef: ModuleRef,\n private readonly modelMetadataHelperService: ModelMetadataHelperService,\n\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'exportTransaction', 'solid-core', moduleRef);\n }\n\n // Return the export stream\n async triggerExportSync(id: number, exportTransactionEntity: any, updateDto: UpdateExportTemplateDto, filters: any): Promise<ExportTransactionFileInfo> {\n try {\n // const loadedExportTransaction = await this.loadExportTransaction(id);\n // from updateDto, get modelId and get modelMetadata\n const modeldata = await this.ModelMetadataRepo.findOne({\n where: { id: updateDto?.modelMetadataId },\n relations: { fields: true },\n })\n const modelName = modeldata?.singularName;\n const modelTemplateName = modelName;\n const fields = JSON.parse(updateDto?.fields);\n const templateFormat = updateDto?.templateFormat;\n const { exportStream, templateName, uuid, exportTransaction } = await this.getExportStreamDetails(modelName, modelTemplateName, fields, modeldata, templateFormat, id, exportTransactionEntity, filters);\n this.updateExportTransaction(id, ExportStatus.COMPLETED);\n const fileName = this.getFileName(templateName, uuid, templateFormat);\n const mimeType = this.getMimeType(templateFormat);\n return { exportStream, fileName, mimeType, exportTransaction };\n } catch (error) {\n this.updateExportTransaction(id, ExportStatus.FAILED, error.message);\n throw error;\n }\n }\n\n // Store the export stream using the appropriate storage provider\n async triggerExportAsync(id: number, exportTransactionEntity: any, updateDto: UpdateExportTemplateDto, filters: any): Promise<void> {\n try {\n // const loadedExportTransaction = await this.loadExportTransaction(id)\n // from updateDto, get modelId and get modelMetadata\n const modeldata = await this.ModelMetadataRepo.findOne({\n where: { id: updateDto?.modelMetadataId },\n relations: { fields: true },\n })\n const modelName = modeldata?.singularName;\n const modelTemplateName = modelName;\n const fields = JSON.parse(updateDto?.fields);\n const templateFormat = updateDto?.templateFormat;\n const { exportStream, templateName, uuid, exportTransaction } = await this.getExportStreamDetails(modelName, modelTemplateName, fields, modeldata, templateFormat, id, exportTransactionEntity, filters);\n // const fileFormat = loadedExportTransaction.exportTemplate.templateFormat;\n // Store the file using the appropriate storage provider\n await this.storeExportStream(exportStream, exportTransaction, this.getFileName(templateName, uuid, templateFormat));\n this.updateExportTransaction(id, ExportStatus.COMPLETED);\n } catch (error) {\n this.updateExportTransaction(id, ExportStatus.FAILED, error.message);\n throw error;\n\n }\n }\n\n private async loadExportTransaction(id: number) {\n return await this.repo.findOne({\n where: { id: id },\n relations: { exportTemplate: { modelMetadata: { fields: true } } },\n }\n );\n }\n\n private async updateExportTransaction(id: number, status: string, error?: string) {\n await this.repo.update(id, { status, error });\n }\n\n private async getExportStreamDetails(modelName: string, templateName: string, fields: any, modelData: any, templateFormat: string, id: number, exportTransaction: any, filters: any) {\n // Get the columns which need to be exported & the model id\n // const fields = JSON.parse(exportTransaction.exportTemplate.fields);\n\n // // Get the appropriate service for the model by trying to fetch a model service matching a particular name\n // const modelName = exportTransaction.exportTemplate.modelMetadata.singularName;\n const modelService = this.introspectService.getProvider(`${classify(modelName)}Service`);\n // const templateName = exportTransaction.exportTemplate.templateName;\n const uuid = String(id); //TODO can be renamed to exportTransactionUUID\n // const modelData = exportTransaction.exportTemplate.modelMetadata;\n\n // Get the data records function\n //const dataRecordsFunc = await this.getDataRecordsFunc(fields, modelService,modelData, filters);\n const dataRecordsFunc = await this.getDataRecordsFunc(fields, modelService, modelData, filters);\n\n // Get the export passthru stream (since it is a passthru stream, nothing is stored in memory & it is streamed directly when the stream is read)\n // let exportStream = await this.getExportStream(exportTransaction.exportTemplate.templateFormat, dataRecordsFunc);\n // return { exportStream, templateName, uuid, exportTransaction };\n\n let exportStream = await this.getExportStream(templateFormat, dataRecordsFunc);\n return { exportStream, templateName, uuid, exportTransaction };\n }\n\n private async getExportStream(templateFormat: string, dataRecordsFunc: (chunkIndex: number, chunkSize: number) => Promise<any[]>) {\n let exportStream = null;\n switch (templateFormat) {\n case ExportFormat.EXCEL:\n exportStream = await this.excelService.createExcelStream(dataRecordsFunc, EXPORT_CHUNK_SIZE);\n break;\n case ExportFormat.CSV:\n exportStream = await this.csvService.createCsvStream(dataRecordsFunc, EXPORT_CHUNK_SIZE);\n break;\n default:\n throw new Error(ERROR_MESSAGES.INVALID_FORMAT('export' + templateFormat));\n }\n return exportStream;\n }\n\n private async storeExportStream(exportStream: Readable, exportTransaction: ExportTransaction, fileName: string) {\n const exportedFileMediaField = await this.fieldRepo.findOne({\n where: {\n name: 'exportedFile',\n model: {\n singularName: 'exportTransaction'\n },\n },\n relations: ['model', 'mediaStorageProvider'],\n });\n // const storageProvider = new FileStorageProvider<ExportTransaction>(this.configService, this.fileService, this.mediaService);\n const storageProviderMetadata = exportedFileMediaField.mediaStorageProvider;\n\n // // Use the storage provider metadata to get the appropriate storage provider implementation\n const storageProviderType = storageProviderMetadata.type as MediaStorageProviderType;\n\n // // Get the storage provider implementation\n const storageProvider = await getMediaStorageProvider(this.moduleRef, storageProviderType);\n\n //Commented the below code since we will be direclty images from server on call from ui \n await storageProvider.storeStreams([[exportStream, fileName]], exportTransaction, exportedFileMediaField)\n }\n\n private getFileName(templateName: string, exportTransactionUUID: string, fileFormat: string): string {\n const extension = (fileFormat === ExportFormat.EXCEL) ? 'xlsx' : 'csv';\n return `${dasherize(templateName)}-${exportTransactionUUID}.${extension}`;\n }\n\n private getMimeType(fileFormat: string): string {\n return (fileFormat === ExportFormat.EXCEL) ? 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' : 'text/csv';\n }\n\n private async getDataRecordsFunc(fields: any, modelService: InstanceWrapper<any>, modelMetadata: any, filters: any): Promise<(chunkIndex: number, chunkSize: number) => Promise<any[]>> {\n //Load all possible fields for the model\n const allModelFields = await this.modelMetadataHelperService.loadFieldHierarchy(\n modelMetadata.singularName,\n );\n\n // Filter only the fields requested in the export payload\n const modelFields = allModelFields.filter((f: any) =>\n fields.includes(f.name),\n );\n\n //Get the model metadata of relation field with userKey details\n const relatedModelsUserKeyMap = new Map<string, string>();\n for (const field of modelFields) {\n if (field.relationType && field.relationCoModelSingularName) {\n const relatedModelMetadata = await this.ModelMetadataRepo.findOne({\n where: { singularName: field.relationCoModelSingularName },\n relations: ['userKeyField'],\n });\n\n if (relatedModelMetadata?.userKeyField?.name) {\n relatedModelsUserKeyMap.set(field.name, relatedModelMetadata.userKeyField.name);\n }\n }\n }\n\n // Build fieldName -> displayName map\n const fieldNameToDisplayName = new Map<string, string>();\n for (const field of modelFields || []) {\n if (field.name) {\n fieldNameToDisplayName.set(field.name, field.displayName ?? field.name);\n }\n }\n\n\n return async (chunkIndex: number, chunkSize: number) => {\n const offset = chunkIndex * chunkSize;\n const recordFilterDto: BasicFilterDto = {\n limit: chunkSize,\n offset,\n //only contains relational fields (so TypeORM includes relations in the result).\n populate: modelFields\n .filter((f: any) => f.relationType !== null)\n .map((f: any) => f.name),\n };\n const cleanedFilters = cleanNullsFromObject(filters);\n\n if (cleanedFilters && Object.keys(cleanedFilters).length > 0) {\n recordFilterDto.filters = cleanedFilters;\n }\n\n const data = await modelService.instance.find(recordFilterDto);\n const records = data.records ?? [];\n const cleanedRecords = records.map((record: Record<string, any>) => {\n const newRecord: Record<string, any> = {};\n\n // Include non-relational fields\n for (const field of modelFields) {\n if (!field.relationType) {\n // newRecord[field.name] = record[field.name];\n const displayKey = fieldNameToDisplayName.get(field.name) ?? field.name;\n const fieldMeta = modelFields.find(f => f.name === field.name);\n\n if ((fieldMeta?.type === 'datetime' || fieldMeta?.type === 'date') && record[field.name]) {\n newRecord[displayKey] = new Date(record[field.name]).toISOString();\n } else {\n newRecord[displayKey] = record[field.name];\n }\n }\n }\n\n // Include userKey from each related field\n for (const [relatedFieldName, userKeyFieldName] of relatedModelsUserKeyMap.entries()) {\n const relatedData = record[relatedFieldName];\n const displayKey = fieldNameToDisplayName.get(relatedFieldName) ?? relatedFieldName;\n\n if (Array.isArray(relatedData)) {\n // For many-to-many or one-to-many\n const values = relatedData\n .map(item => {\n let val = item?.[userKeyFieldName];\n const relatedFieldMeta = modelFields.find(f => f.name === relatedFieldName);\n if ((relatedFieldMeta?.type === 'datetime' || relatedFieldMeta?.type === 'date') && val) {\n val = new Date(val).toISOString();\n }\n return val;\n })\n .filter(Boolean);\n newRecord[displayKey] = values.join(', ');\n } else if (relatedData && typeof relatedData === 'object') {\n // For many-to-one or one-to-one\n newRecord[relatedFieldName] = relatedData?.[userKeyFieldName] ?? null;\n } else {\n newRecord[displayKey] = null;\n }\n }\n\n // Include userKey from each related field (with displayName)\n for (const [relatedFieldName, userKeyFieldName] of relatedModelsUserKeyMap.entries()) {\n const relatedData = record[relatedFieldName];\n const displayKey = fieldNameToDisplayName.get(relatedFieldName) ?? relatedFieldName;\n\n if (Array.isArray(relatedData)) {\n // For many-to-many or one-to-many\n const values = relatedData\n .map(item => {\n const val = item?.[userKeyFieldName];\n // Convert datetime to ISO if needed\n const relatedFieldMeta = modelFields.find(f => f.name === relatedFieldName);\n if ((relatedFieldMeta?.type === 'datetime' || relatedFieldMeta?.type === 'date') && val) {\n return new Date(val).toISOString();\n }\n return val;\n })\n .filter(Boolean);\n newRecord[displayKey] = values.join(', ');\n } else if (relatedData && typeof relatedData === 'object') {\n let val = relatedData?.[userKeyFieldName] ?? null;\n const relatedFieldMeta = modelFields.find(f => f.name === relatedFieldName);\n if ((relatedFieldMeta?.type === 'datetime' || relatedFieldMeta?.type === 'date') && val) {\n val = new Date(val).toISOString();\n }\n newRecord[displayKey] = val;\n } else {\n newRecord[displayKey] = null;\n }\n }\n return newRecord;\n });\n return cleanedRecords\n }\n }\n\n async toDto(data: Partial<CreateExportTransactionDto>): Promise<CreateExportTransactionDto> {\n const dto = new CreateExportTransactionDto(data);\n const errors = await validate(dto);\n if (errors.length > 0) {\n console.error(\"Validation failed:\", errors);\n return null;\n }\n return dto;\n }\n}\n\nfunction cleanNullsFromObject(obj: any): any {\n if (Array.isArray(obj)) {\n return obj\n .filter(item => item !== null && item !== undefined)\n .map(cleanNullsFromObject);\n } else if (typeof obj === 'object' && obj !== null) {\n const newObj: any = {};\n for (const key in obj) {\n const value = obj[key];\n if (value !== null && value !== undefined) {\n const cleanedValue = cleanNullsFromObject(value);\n // Only assign non-empty objects/arrays or non-null primitives\n if (\n (typeof cleanedValue === 'object' && Object.keys(cleanedValue).length > 0) ||\n (Array.isArray(cleanedValue) && cleanedValue.length > 0) ||\n typeof cleanedValue !== 'object'\n ) {\n newObj[key] = cleanedValue;\n }\n }\n }\n return newObj;\n }\n return obj;\n}\n\n"]}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export declare abstract class HashingService {
|
|
2
2
|
abstract hash(data: string | Buffer): Promise<string>;
|
|
3
|
-
abstract compare(data: string | Buffer,
|
|
3
|
+
abstract compare(data: string | Buffer, hash: string, hashVersion: number): Promise<boolean>;
|
|
4
|
+
abstract needsRehash(hash: string, hashVersion: number): boolean;
|
|
5
|
+
abstract currentVersion(): number;
|
|
6
|
+
abstract name(): string;
|
|
4
7
|
}
|
|
5
8
|
//# sourceMappingURL=hashing.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hashing.service.d.ts","sourceRoot":"","sources":["../../src/services/hashing.service.ts"],"names":[],"mappings":"AAEA,8BACsB,cAAc;IAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACrD,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"hashing.service.d.ts","sourceRoot":"","sources":["../../src/services/hashing.service.ts"],"names":[],"mappings":"AAEA,8BACsB,cAAc;IAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACrD,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAC5F,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAChE,QAAQ,CAAC,cAAc,IAAI,MAAM;IACjC,QAAQ,CAAC,IAAI,IAAI,MAAM;CAC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hashing.service.js","sourceRoot":"","sources":["../../src/services/hashing.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAGrC,IAAe,cAAc,GAA7B,MAAe,cAAc;
|
|
1
|
+
{"version":3,"file":"hashing.service.js","sourceRoot":"","sources":["../../src/services/hashing.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAGrC,IAAe,cAAc,GAA7B,MAAe,cAAc;CAMnC,CAAA;AANqB,wCAAc;yBAAd,cAAc;IADnC,IAAA,mBAAU,GAAE;GACS,cAAc,CAMnC","sourcesContent":["import { Injectable } from '@nestjs/common';\n\n@Injectable()\nexport abstract class HashingService {\n abstract hash(data: string | Buffer): Promise<string>;\n abstract compare(data: string | Buffer, hash: string, hashVersion: number): Promise<boolean>;\n abstract needsRehash(hash: string, hashVersion: number): boolean;\n abstract currentVersion(): number;\n abstract name(): string;\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":"AAwSA,qBA8Ya,eAAe;CAAI"}
|
|
@@ -83,16 +83,16 @@ const api_email_publisher_service_1 = require("./jobs/api-email-publisher.servic
|
|
|
83
83
|
const api_email_subscriber_service_1 = require("./jobs/api-email-subscriber.service");
|
|
84
84
|
const test_queue_publisher_database_service_1 = require("./jobs/database/test-queue-publisher-database.service");
|
|
85
85
|
const test_queue_subscriber_database_service_1 = require("./jobs/database/test-queue-subscriber-database.service");
|
|
86
|
-
const
|
|
87
|
-
const
|
|
86
|
+
const msg91_whatsapp_publisher_service_1 = require("./jobs/msg91-whatsapp-publisher.service");
|
|
87
|
+
const msg91_whatsapp_subscriber_service_1 = require("./jobs/msg91-whatsapp-subscriber.service");
|
|
88
88
|
const otp_publisher_service_1 = require("./jobs/otp-publisher.service");
|
|
89
89
|
const otp_subscriber_service_1 = require("./jobs/otp-subscriber.service");
|
|
90
90
|
const sms_publisher_service_1 = require("./jobs/sms-publisher.service");
|
|
91
91
|
const sms_subscriber_service_1 = require("./jobs/sms-subscriber.service");
|
|
92
|
+
const smtp_email_publisher_service_1 = require("./jobs/smtp-email-publisher.service");
|
|
93
|
+
const smtp_email_subscriber_service_1 = require("./jobs/smtp-email-subscriber.service");
|
|
92
94
|
const test_queue_publisher_service_1 = require("./jobs/test-queue-publisher.service");
|
|
93
95
|
const test_queue_subscriber_service_1 = require("./jobs/test-queue-subscriber.service");
|
|
94
|
-
const msg91_whatsapp_publisher_service_1 = require("./jobs/msg91-whatsapp-publisher.service");
|
|
95
|
-
const msg91_whatsapp_subscriber_service_1 = require("./jobs/msg91-whatsapp-subscriber.service");
|
|
96
96
|
const user_registration_listener_1 = require("./listeners/user-registration.listener");
|
|
97
97
|
const google_oauth_strategy_1 = require("./passport-strategies/google-oauth.strategy");
|
|
98
98
|
const local_strategy_1 = require("./passport-strategies/local.strategy");
|
|
@@ -172,33 +172,58 @@ const api_email_publisher_database_service_1 = require("./jobs/database/api-emai
|
|
|
172
172
|
const api_email_subscriber_database_service_1 = require("./jobs/database/api-email-subscriber-database.service");
|
|
173
173
|
const computed_field_evaluation_publisher_database_service_1 = require("./jobs/database/computed-field-evaluation-publisher-database.service");
|
|
174
174
|
const computed_field_evaluation_subscriber_database_service_1 = require("./jobs/database/computed-field-evaluation-subscriber-database.service");
|
|
175
|
-
const smtp_email_publisher_database_service_1 = require("./jobs/database/smtp-email-publisher-database.service");
|
|
176
|
-
const smtp_email_subscriber_database_service_1 = require("./jobs/database/smtp-email-subscriber-database.service");
|
|
177
175
|
const generate_code_publisher_database_service_1 = require("./jobs/database/generate-code-publisher-database.service");
|
|
178
176
|
const generate_code_subscriber_database_service_1 = require("./jobs/database/generate-code-subscriber-database.service");
|
|
179
177
|
const otp_publisher_database_service_1 = require("./jobs/database/otp-publisher-database.service");
|
|
180
178
|
const otp_subscriber_database_service_1 = require("./jobs/database/otp-subscriber-database.service");
|
|
181
179
|
const sms_publisher_database_service_1 = require("./jobs/database/sms-publisher-database.service");
|
|
182
180
|
const sms_subscriber_database_service_1 = require("./jobs/database/sms-subscriber-database.service");
|
|
181
|
+
const smtp_email_publisher_database_service_1 = require("./jobs/database/smtp-email-publisher-database.service");
|
|
182
|
+
const smtp_email_subscriber_database_service_1 = require("./jobs/database/smtp-email-subscriber-database.service");
|
|
183
183
|
const twilio_sms_publisher_database_service_1 = require("./jobs/database/twilio-sms-publisher-database.service");
|
|
184
184
|
const twilio_sms_subscriber_database_service_1 = require("./jobs/database/twilio-sms-subscriber-database.service");
|
|
185
|
-
const
|
|
186
|
-
const
|
|
185
|
+
const throttler_1 = require("@nestjs/throttler");
|
|
186
|
+
const ingest_command_1 = require("./commands/ingest.command");
|
|
187
|
+
const mail_factory_1 = require("./factories/mail.factory");
|
|
188
|
+
const error_mapper_service_1 = require("./helpers/error-mapper.service");
|
|
189
|
+
const solid_core_error_codes_provider_service_1 = require("./helpers/solid-core-error-codes-provider.service");
|
|
190
|
+
const computed_field_evaluation_publisher_service_1 = require("./jobs/computed-field-evaluation-publisher.service");
|
|
191
|
+
const computed_field_evaluation_subscriber_service_1 = require("./jobs/computed-field-evaluation-subscriber.service");
|
|
187
192
|
const msg91_whatsapp_publisher_database_service_1 = require("./jobs/database/msg91-whatsapp-publisher-database.service");
|
|
188
193
|
const msg91_whatsapp_subscriber_database_service_1 = require("./jobs/database/msg91-whatsapp-subscriber-database.service");
|
|
194
|
+
const three60_whatsapp_publisher_database_service_1 = require("./jobs/database/three60-whatsapp-publisher-database.service");
|
|
195
|
+
const three60_whatsapp_subscriber_database_service_1 = require("./jobs/database/three60-whatsapp-subscriber-database.service");
|
|
196
|
+
const trigger_mcp_client_publisher_database_service_1 = require("./jobs/database/trigger-mcp-client-publisher-database.service");
|
|
197
|
+
const trigger_mcp_client_subscriber_database_service_1 = require("./jobs/database/trigger-mcp-client-subscriber-database.service");
|
|
198
|
+
const generate_code_publisher_service_1 = require("./jobs/generate-code-publisher.service");
|
|
199
|
+
const generate_code_subscriber_service_1 = require("./jobs/generate-code-subscriber.service");
|
|
200
|
+
const three60_whatsapp_publisher_service_1 = require("./jobs/three60-whatsapp-publisher.service");
|
|
201
|
+
const three60_whatsapp_subscriber_service_1 = require("./jobs/three60-whatsapp-subscriber.service");
|
|
202
|
+
const trigger_mcp_client_publisher_service_1 = require("./jobs/trigger-mcp-client-publisher.service");
|
|
203
|
+
const trigger_mcp_client_subscriber_service_1 = require("./jobs/trigger-mcp-client-subscriber.service");
|
|
204
|
+
const twilio_sms_publisher_service_1 = require("./jobs/twilio-sms-publisher.service");
|
|
205
|
+
const twilio_sms_subscriber_service_1 = require("./jobs/twilio-sms-subscriber.service");
|
|
189
206
|
const dashboard_mapper_1 = require("./mappers/dashboard-mapper");
|
|
207
|
+
const list_of_values_mapper_1 = require("./mappers/list-of-values-mapper");
|
|
208
|
+
const chatter_message_details_repository_1 = require("./repository/chatter-message-details.repository");
|
|
209
|
+
const chatter_message_repository_1 = require("./repository/chatter-message.repository");
|
|
190
210
|
const dashboard_repository_1 = require("./repository/dashboard.repository");
|
|
191
211
|
const field_metadata_repository_1 = require("./repository/field-metadata.repository");
|
|
192
212
|
const field_repository_1 = require("./repository/field.repository");
|
|
193
213
|
const media_repository_1 = require("./repository/media.repository");
|
|
214
|
+
const scheduled_job_repository_1 = require("./repository/scheduled-job.repository");
|
|
194
215
|
const security_rule_repository_1 = require("./repository/security-rule.repository");
|
|
216
|
+
const user_repository_1 = require("./repository/user.repository");
|
|
217
|
+
const view_metadata_repository_1 = require("./repository/view-metadata.repository");
|
|
195
218
|
const permission_metadata_seeder_service_1 = require("./seeders/permission-metadata-seeder.service");
|
|
196
219
|
const system_fields_seeder_service_1 = require("./seeders/system-fields-seeder.service");
|
|
197
220
|
const ai_interaction_service_1 = require("./services/ai-interaction.service");
|
|
198
221
|
const chatter_message_details_service_1 = require("./services/chatter-message-details.service");
|
|
199
222
|
const chatter_message_service_1 = require("./services/chatter-message.service");
|
|
200
223
|
const concat_computed_field_provider_service_1 = require("./services/computed-fields/concat-computed-field-provider.service");
|
|
224
|
+
const alpha_num_external_id_computed_field_provider_1 = require("./services/computed-fields/entity/alpha-num-external-id-computed-field-provider");
|
|
201
225
|
const concat_entity_computed_field_provider_service_1 = require("./services/computed-fields/entity/concat-entity-computed-field-provider.service");
|
|
226
|
+
const noops_entity_computed_field_provider_service_1 = require("./services/computed-fields/entity/noops-entity-computed-field-provider.service");
|
|
202
227
|
const crud_service_1 = require("./services/crud.service");
|
|
203
228
|
const csv_service_1 = require("./services/csv.service");
|
|
204
229
|
const dashboard_question_sql_dataset_config_service_1 = require("./services/dashboard-question-sql-dataset-config.service");
|
|
@@ -210,16 +235,24 @@ const dashboard_service_1 = require("./services/dashboard.service");
|
|
|
210
235
|
const excel_service_1 = require("./services/excel.service");
|
|
211
236
|
const export_template_service_1 = require("./services/export-template.service");
|
|
212
237
|
const export_transaction_service_1 = require("./services/export-transaction.service");
|
|
238
|
+
const ingest_metadata_service_1 = require("./services/genai/ingest-metadata.service");
|
|
239
|
+
const r2r_helper_service_1 = require("./services/genai/r2r-helper.service");
|
|
213
240
|
const import_transaction_error_log_service_1 = require("./services/import-transaction-error-log.service");
|
|
214
241
|
const import_transaction_service_1 = require("./services/import-transaction.service");
|
|
242
|
+
const list_of_values_metadata_service_1 = require("./services/list-of-values-metadata.service");
|
|
215
243
|
const locale_service_1 = require("./services/locale.service");
|
|
216
244
|
const mcp_tool_response_handler_factory_service_1 = require("./services/mcp-tool-response-handlers/mcp-tool-response-handler-factory.service");
|
|
245
|
+
const solid_add_field_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-add-field-mcp-tool-response-handler.service");
|
|
217
246
|
const solid_create_dashboard_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-create-dashboard-mcp-tool-response-handler.service");
|
|
218
247
|
const solid_create_dashboard_question_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-create-dashboard-question-mcp-tool-response-handler.service");
|
|
219
248
|
const solid_create_dashboard_question_sql_dataset_config_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service");
|
|
249
|
+
const solid_create_dashboard_widget_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-create-dashboard-widget-mcp-tool-response-handler.service");
|
|
250
|
+
const solid_create_model_with_fields_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-create-model-with-fields-mcp-tool-response-handler.service");
|
|
220
251
|
const solid_create_module_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-create-module-mcp-tool-response-handler.service");
|
|
252
|
+
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");
|
|
221
253
|
const file_s3_storage_provider_1 = require("./services/mediaStorageProviders/file-s3-storage-provider");
|
|
222
254
|
const file_storage_provider_1 = require("./services/mediaStorageProviders/file-storage-provider");
|
|
255
|
+
const poller_service_1 = require("./services/poller.service");
|
|
223
256
|
const chartjs_sql_data_provider_service_1 = require("./services/question-data-providers/chartjs-sql-data-provider.service");
|
|
224
257
|
const prime_react_datatable_sql_data_provider_service_1 = require("./services/question-data-providers/prime-react-datatable-sql-data-provider.service");
|
|
225
258
|
const prime_react_meter_group_sql_data_provider_service_1 = require("./services/question-data-providers/prime-react-meter-group-sql-data-provider.service");
|
|
@@ -235,10 +268,13 @@ const list_of_dashboard_variable_providers_selection_provider_service_1 = requir
|
|
|
235
268
|
const list_of_scheduled_jobs_selection_provider_service_1 = require("./services/selection-providers/list-of-scheduled-jobs-selection-provider.service");
|
|
236
269
|
const locale_list_selection_provider_service_1 = require("./services/selection-providers/locale-list-selection-provider.service");
|
|
237
270
|
const setting_service_1 = require("./services/setting.service");
|
|
271
|
+
const TwilioSMSService_1 = require("./services/sms/TwilioSMSService");
|
|
238
272
|
const sql_expression_resolver_service_1 = require("./services/sql-expression-resolver.service");
|
|
273
|
+
const textract_service_1 = require("./services/textract.service");
|
|
239
274
|
const user_activity_history_service_1 = require("./services/user-activity-history.service");
|
|
240
275
|
const user_view_metadata_service_1 = require("./services/user-view-metadata.service");
|
|
241
276
|
const user_service_1 = require("./services/user.service");
|
|
277
|
+
const Three60WhatsappService_1 = require("./services/whatsapp/Three60WhatsappService");
|
|
242
278
|
const audit_subscriber_1 = require("./subscribers/audit.subscriber");
|
|
243
279
|
const computed_entity_field_subscriber_1 = require("./subscribers/computed-entity-field.subscriber");
|
|
244
280
|
const created_by_updated_by_subscriber_1 = require("./subscribers/created-by-updated-by.subscriber");
|
|
@@ -246,48 +282,10 @@ const dashboard_question_sql_dataset_config_subscriber_1 = require("./subscriber
|
|
|
246
282
|
const dashboard_question_subscriber_1 = require("./subscribers/dashboard-question.subscriber");
|
|
247
283
|
const dashboard_variable_subscriber_1 = require("./subscribers/dashboard-variable.subscriber");
|
|
248
284
|
const dashboard_subscriber_1 = require("./subscribers/dashboard.subscriber");
|
|
285
|
+
const list_of_values_metadata_subscriber_1 = require("./subscribers/list-of-values-metadata.subscriber");
|
|
286
|
+
const scheduled_job_subscriber_1 = require("./subscribers/scheduled-job.subscriber");
|
|
249
287
|
const security_rule_subscriber_1 = require("./subscribers/security-rule.subscriber");
|
|
250
288
|
const view_metadata_subscriber_1 = require("./subscribers/view-metadata.subscriber");
|
|
251
|
-
const solid_create_dashboard_widget_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-create-dashboard-widget-mcp-tool-response-handler.service");
|
|
252
|
-
const solid_create_model_with_fields_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-create-model-with-fields-mcp-tool-response-handler.service");
|
|
253
|
-
const solid_add_field_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-add-field-mcp-tool-response-handler.service");
|
|
254
|
-
const view_metadata_repository_1 = require("./repository/view-metadata.repository");
|
|
255
|
-
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");
|
|
256
|
-
const noops_entity_computed_field_provider_service_1 = require("./services/computed-fields/entity/noops-entity-computed-field-provider.service");
|
|
257
|
-
const scheduled_job_repository_1 = require("./repository/scheduled-job.repository");
|
|
258
|
-
const scheduled_job_subscriber_1 = require("./subscribers/scheduled-job.subscriber");
|
|
259
|
-
const alpha_num_external_id_computed_field_provider_1 = require("./services/computed-fields/entity/alpha-num-external-id-computed-field-provider");
|
|
260
|
-
const list_of_values_mapper_1 = require("./mappers/list-of-values-mapper");
|
|
261
|
-
const list_of_values_metadata_subscriber_1 = require("./subscribers/list-of-values-metadata.subscriber");
|
|
262
|
-
const list_of_values_metadata_service_1 = require("./services/list-of-values-metadata.service");
|
|
263
|
-
const mail_factory_1 = require("./factories/mail.factory");
|
|
264
|
-
const TwilioSMSService_1 = require("./services/sms/TwilioSMSService");
|
|
265
|
-
const poller_service_1 = require("./services/poller.service");
|
|
266
|
-
const textract_service_1 = require("./services/textract.service");
|
|
267
|
-
const throttler_1 = require("@nestjs/throttler");
|
|
268
|
-
const chatter_message_repository_1 = require("./repository/chatter-message.repository");
|
|
269
|
-
const chatter_message_details_repository_1 = require("./repository/chatter-message-details.repository");
|
|
270
|
-
const three60_whatsapp_publisher_service_1 = require("./jobs/three60-whatsapp-publisher.service");
|
|
271
|
-
const three60_whatsapp_subscriber_service_1 = require("./jobs/three60-whatsapp-subscriber.service");
|
|
272
|
-
const three60_whatsapp_publisher_database_service_1 = require("./jobs/database/three60-whatsapp-publisher-database.service");
|
|
273
|
-
const three60_whatsapp_subscriber_database_service_1 = require("./jobs/database/three60-whatsapp-subscriber-database.service");
|
|
274
|
-
const Three60WhatsappService_1 = require("./services/whatsapp/Three60WhatsappService");
|
|
275
|
-
const throttler_storage_redis_service_1 = require("@nest-lab/throttler-storage-redis/src/throttler-storage-redis.service");
|
|
276
|
-
const environment_helper_1 = require("./helpers/environment.helper");
|
|
277
|
-
const user_repository_1 = require("./repository/user.repository");
|
|
278
|
-
const error_mapper_service_1 = require("./helpers/error-mapper.service");
|
|
279
|
-
const ingest_command_1 = require("./commands/ingest.command");
|
|
280
|
-
const r2r_helper_service_1 = require("./services/genai/r2r-helper.service");
|
|
281
|
-
const ingest_metadata_service_1 = require("./services/genai/ingest-metadata.service");
|
|
282
|
-
const computed_field_evaluation_publisher_service_1 = require("./jobs/computed-field-evaluation-publisher.service");
|
|
283
|
-
const computed_field_evaluation_subscriber_service_1 = require("./jobs/computed-field-evaluation-subscriber.service");
|
|
284
|
-
const generate_code_publisher_service_1 = require("./jobs/generate-code-publisher.service");
|
|
285
|
-
const generate_code_subscriber_service_1 = require("./jobs/generate-code-subscriber.service");
|
|
286
|
-
const trigger_mcp_client_publisher_service_1 = require("./jobs/trigger-mcp-client-publisher.service");
|
|
287
|
-
const trigger_mcp_client_subscriber_service_1 = require("./jobs/trigger-mcp-client-subscriber.service");
|
|
288
|
-
const twilio_sms_publisher_service_1 = require("./jobs/twilio-sms-publisher.service");
|
|
289
|
-
const twilio_sms_subscriber_service_1 = require("./jobs/twilio-sms-subscriber.service");
|
|
290
|
-
const solid_core_error_codes_provider_service_1 = require("./helpers/solid-core-error-codes-provider.service");
|
|
291
289
|
let SolidCoreModule = class SolidCoreModule {
|
|
292
290
|
};
|
|
293
291
|
exports.SolidCoreModule = SolidCoreModule;
|
|
@@ -358,19 +356,6 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
|
|
|
358
356
|
axios_1.HttpModule,
|
|
359
357
|
config_1.ConfigModule,
|
|
360
358
|
nestjs_cls_1.ClsModule,
|
|
361
|
-
throttler_1.ThrottlerModule.forRootAsync({
|
|
362
|
-
imports: [config_1.ConfigModule],
|
|
363
|
-
inject: [config_1.ConfigService],
|
|
364
|
-
useFactory: (configService) => ({
|
|
365
|
-
throttlers: [
|
|
366
|
-
{ name: 'short', ttl: (0, throttler_1.seconds)(10), limit: 10 },
|
|
367
|
-
{ name: 'login', ttl: (0, throttler_1.seconds)(10), limit: 5 },
|
|
368
|
-
{ name: 'burst', ttl: (0, throttler_1.seconds)(1), limit: 100 },
|
|
369
|
-
{ name: 'sustained', ttl: (0, throttler_1.seconds)(300), limit: 500 },
|
|
370
|
-
],
|
|
371
|
-
storage: (0, environment_helper_1.isRedisConfigured)(configService) ? new throttler_storage_redis_service_1.ThrottlerStorageRedisService(`redis://${configService.get('REDIS_HOST')}:${configService.get('REDIS_PORT')}`) : undefined,
|
|
372
|
-
}),
|
|
373
|
-
}),
|
|
374
359
|
],
|
|
375
360
|
controllers: [
|
|
376
361
|
module_metadata_controller_1.ModuleMetadataController,
|