@solidstarters/solid-core 1.2.188 → 1.2.191
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-list-of-values.dto.d.ts.map +1 -1
- package/dist/dtos/create-list-of-values.dto.js +1 -0
- package/dist/dtos/create-list-of-values.dto.js.map +1 -1
- package/dist/dtos/update-list-of-values.dto.d.ts.map +1 -1
- package/dist/dtos/update-list-of-values.dto.js +1 -0
- package/dist/dtos/update-list-of-values.dto.js.map +1 -1
- package/dist/entities/list-of-values.entity.js +1 -1
- package/dist/entities/list-of-values.entity.js.map +1 -1
- package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.d.ts.map +1 -1
- package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.js +12 -2
- package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +236 -119
- package/dist/services/file.service.d.ts.map +1 -1
- package/dist/services/file.service.js +1 -17
- package/dist/services/file.service.js.map +1 -1
- package/dist/services/list-of-values-metadata.service.d.ts.map +1 -1
- package/dist/services/list-of-values-metadata.service.js.map +1 -1
- package/dist/services/model-metadata.service.js +2 -2
- package/dist/services/model-metadata.service.js.map +1 -1
- package/dist/services/selection-providers/list-of-models-selection-provider.service.js +2 -2
- package/dist/services/selection-providers/list-of-models-selection-provider.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/dtos/create-list-of-values.dto.ts +1 -0
- package/src/dtos/update-list-of-values.dto.ts +1 -0
- package/src/entities/list-of-values.entity.ts +1 -1
- package/src/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.ts +17 -6
- package/src/seeders/seed-data/solid-core-metadata.json +238 -119
- package/src/services/file.service.ts +1 -24
- package/src/services/list-of-values-metadata.service.ts +0 -3
- package/src/services/model-metadata.service.ts +2 -2
- package/src/services/selection-providers/list-of-models-selection-provider.service.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.service.d.ts","sourceRoot":"","sources":["../../src/services/file.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,YAA6B,MAAM,yBAAyB,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAIlC,qBACa,WAAW;IAOpB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IALtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;gBAIpC,mBAAmB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC;IAavE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAWpD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAYhD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpE,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjE,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA2B5G,OAAO,CAAC,qBAAqB;IAIvB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"file.service.d.ts","sourceRoot":"","sources":["../../src/services/file.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,YAA6B,MAAM,yBAAyB,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAIlC,qBACa,WAAW;IAOpB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IALtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;gBAIpC,mBAAmB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC;IAavE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAWpD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAYhD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpE,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjE,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA2B5G,OAAO,CAAC,qBAAqB;IAIvB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAYzE,OAAO,CAAC,eAAe;IAUV,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBpE,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS9C,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAS/F"}
|
|
@@ -152,23 +152,7 @@ let FileService = FileService_1 = class FileService {
|
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
async copyToS3WithPublic(filePath, ContentType, fileName, bucketName) {
|
|
155
|
-
this.
|
|
156
|
-
try {
|
|
157
|
-
const data = await this.readImageFile(filePath);
|
|
158
|
-
const params = {
|
|
159
|
-
Bucket: bucketName,
|
|
160
|
-
Key: fileName,
|
|
161
|
-
Body: data,
|
|
162
|
-
ContentType: ContentType,
|
|
163
|
-
ACL: "public-read"
|
|
164
|
-
};
|
|
165
|
-
const command = new client_s3_1.PutObjectCommand(params);
|
|
166
|
-
const response = await this.s3Client.send(command);
|
|
167
|
-
return fileName;
|
|
168
|
-
}
|
|
169
|
-
catch (error) {
|
|
170
|
-
throw new Error(`${error_messages_1.ERROR_MESSAGES.FILE_COPY_ERROR}: ${error.message}`);
|
|
171
|
-
}
|
|
155
|
+
return this.copyToS3(filePath, ContentType, fileName, bucketName);
|
|
172
156
|
}
|
|
173
157
|
async deleteFromS3(fileName, bucketName) {
|
|
174
158
|
this.checkIfS3ClientExists();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.service.js","sourceRoot":"","sources":["../../src/services/file.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Inject, Injectable, Logger } from '@nestjs/common';\nimport * as fs from 'fs';\n// import * as AWS from 'aws-sdk';\nimport { S3Client, PutObjectCommand, DeleteObjectCommand, ObjectCannedACL, GetObjectCommand } from '@aws-sdk/client-s3';\nimport { ConfigType } from '@nestjs/config';\nimport commonConfig, { AwsS3Config } from '../config/common.config';\nimport path from 'path';\nimport { Readable } from 'stream';\nimport { getSignedUrl as awsGetSignedUrl } from '@aws-sdk/s3-request-presigner';\nimport { ERROR_MESSAGES } from 'src/constants/error-messages';\n\n@Injectable()\nexport class FileService {\n\n private readonly s3Client: S3Client;\n private readonly logger = new Logger(FileService.name);\n\n constructor(\n @Inject(commonConfig.KEY)\n private readonly commonConfiguration: ConfigType<typeof commonConfig>,\n\n ) {\n if (!this.isValidS3Config(this.commonConfiguration.awsS3Credentials)) { return }\n this.s3Client = new S3Client({\n region: this.commonConfiguration.awsS3Credentials.S3_AWS_REGION_NAME,\n credentials: {\n accessKeyId: this.commonConfiguration.awsS3Credentials.S3_AWS_ACCESS_KEY,\n secretAccessKey: this.commonConfiguration.awsS3Credentials.S3_AWS_SECRET_KEY,\n },\n });\n }\n\n readFile(filePath: string): Promise<string | Buffer> {\n return new Promise((resolve, reject) => {\n fs.readFile(filePath, (err, data) => {\n if (err) {\n return reject(err);\n }\n resolve(data);\n });\n });\n }\n\n readImageFile(filePath: string): Promise<Buffer> {\n return new Promise((resolve, reject) => {\n fs.readFile(filePath, (err, data) => {\n if (err) {\n return reject(err);\n }\n resolve(data); // Resolve with Buffer instead of string\n });\n\n });\n }\n\n writeFile(filePath: string, data: string | Buffer): Promise<void> {\n return new Promise((resolve, reject) => {\n fs.writeFile(filePath, data, (err) => {\n if (err) {\n return reject(err);\n }\n resolve();\n });\n });\n }\n\n async copyFile(sourcePath: string, destinationPath: string): Promise<void> {\n try {\n const data = await this.readFile(sourcePath);\n await this.createDirectoryIfNotExists(destinationPath);\n await this.writeFile(destinationPath, data);\n } catch (error) {\n throw new Error(`${ERROR_MESSAGES.FILE_COPY_ERROR}: ${error.message}`);\n }\n }\n\n async createDirectoryIfNotExists(filePath: string): Promise<void> {\n const dir = path.dirname(filePath);\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir, { recursive: true });\n }\n }\n\n deleteFile(filePath: string): Promise<void> {\n return new Promise((resolve, reject) => {\n fs.unlink(filePath, (err) => {\n if (err) {\n return reject(err);\n }\n resolve();\n });\n });\n }\n\n async copyToS3(filePath: string, ContentType: string, fileName: string, bucketName: string): Promise<string> {\n this.checkIfS3ClientExists();\n try {\n // Read Image File TO Fetch Buffer \n const data = await this.readImageFile(filePath);\n\n const params = {\n Bucket: bucketName,\n Key: fileName,\n Body: data,\n ContentType: ContentType, // Set the correct MIME type\n\n };\n // Upload it to S3\n // const response = await this.s3.upload(params).promise();\n const command = new PutObjectCommand(params);\n const response = await this.s3Client.send(command);\n\n // Return the URL file Name\n // To access the file - https://rep-public-files.s3.amazonaws.com/${fileName}\n return fileName\n\n } catch (error) {\n throw new Error(`${ERROR_MESSAGES.FILE_COPY_ERROR}: ${error.message}`);\n }\n }\n\n private checkIfS3ClientExists() {\n if (!this.s3Client) { throw new Error(ERROR_MESSAGES.S3_CLIENT_NOT_INITIALIZED); }\n }\n\n async copyToS3WithPublic(filePath: string, ContentType: string, fileName: string, bucketName: string): Promise<string> {\n this.checkIfS3ClientExists();\n try {\n // Read Image File TO Fetch Buffer \n const data = await this.readImageFile(filePath);\n\n const params = {\n Bucket: bucketName,\n Key: fileName,\n Body: data,\n ContentType: ContentType, // Set the correct MIME type\n ACL: \"public-read\" as ObjectCannedACL\n };\n // Upload it to S3\n // const response = await this.s3.upload(params).promise();\n const command = new PutObjectCommand(params);\n const response = await this.s3Client.send(command);\n\n // Return the URL file Name\n // To access the file - https://rep-public-files.s3.amazonaws.com/${fileName}\n return fileName\n\n } catch (error) {\n throw new Error(`${ERROR_MESSAGES.FILE_COPY_ERROR}: ${error.message}`);\n }\n }\n\n async deleteFromS3(fileName: string, bucketName: string): Promise<string> {\n this.checkIfS3ClientExists();\n const params = {\n Bucket: bucketName, // your S3 bucket name\n Key: fileName // the name of the file you want to delete \n };\n\n const command = new DeleteObjectCommand(params)\n const response = await this.s3Client.send(command);\n return fileName\n }\n\n private isValidS3Config(config: AwsS3Config): boolean {\n return !!config.S3_AWS_ACCESS_KEY && !!config.S3_AWS_SECRET_KEY && !!config.S3_AWS_REGION_NAME;\n }\n\n /**\n * Save a stream to a file\n * @param stream - Readable stream\n * @param filePath - Destination file path\n * @returns Promise<void>\n */\n public async writeStreamToFile(stream: Readable, filePath: string): Promise<void> {\n return new Promise((resolve, reject) => {\n const writeStream = fs.createWriteStream(filePath);\n stream.pipe(writeStream);\n\n writeStream.on('finish', () => {\n this.logger.debug(`✅ File saved: ${filePath}`);\n resolve();\n });\n\n writeStream.on('error', (err) => {\n this.logger.debug(`❌ Error saving file: ${filePath}`, err);\n reject(err);\n });\n });\n }\n\n public async fileExists(filePath: string): Promise<boolean> {\n try {\n await fs.promises.access(filePath, fs.constants.F_OK);\n return true;\n } catch {\n return false;\n }\n }\n\n public async getSignedUrl(key: string, expiresIn: number, bucketName: string): Promise<string> {\n const command = new GetObjectCommand({\n Bucket: bucketName,\n Key: key,\n });\n\n return awsGetSignedUrl(this.s3Client, command, { expiresIn });\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"file.service.js","sourceRoot":"","sources":["../../src/services/file.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Inject, Injectable, Logger } from '@nestjs/common';\nimport * as fs from 'fs';\n// import * as AWS from 'aws-sdk';\nimport { S3Client, PutObjectCommand, DeleteObjectCommand, ObjectCannedACL, GetObjectCommand } from '@aws-sdk/client-s3';\nimport { ConfigType } from '@nestjs/config';\nimport commonConfig, { AwsS3Config } from '../config/common.config';\nimport path from 'path';\nimport { Readable } from 'stream';\nimport { getSignedUrl as awsGetSignedUrl } from '@aws-sdk/s3-request-presigner';\nimport { ERROR_MESSAGES } from 'src/constants/error-messages';\n\n@Injectable()\nexport class FileService {\n\n private readonly s3Client: S3Client;\n private readonly logger = new Logger(FileService.name);\n\n constructor(\n @Inject(commonConfig.KEY)\n private readonly commonConfiguration: ConfigType<typeof commonConfig>,\n\n ) {\n if (!this.isValidS3Config(this.commonConfiguration.awsS3Credentials)) { return }\n this.s3Client = new S3Client({\n region: this.commonConfiguration.awsS3Credentials.S3_AWS_REGION_NAME,\n credentials: {\n accessKeyId: this.commonConfiguration.awsS3Credentials.S3_AWS_ACCESS_KEY,\n secretAccessKey: this.commonConfiguration.awsS3Credentials.S3_AWS_SECRET_KEY,\n },\n });\n }\n\n readFile(filePath: string): Promise<string | Buffer> {\n return new Promise((resolve, reject) => {\n fs.readFile(filePath, (err, data) => {\n if (err) {\n return reject(err);\n }\n resolve(data);\n });\n });\n }\n\n readImageFile(filePath: string): Promise<Buffer> {\n return new Promise((resolve, reject) => {\n fs.readFile(filePath, (err, data) => {\n if (err) {\n return reject(err);\n }\n resolve(data); // Resolve with Buffer instead of string\n });\n\n });\n }\n\n writeFile(filePath: string, data: string | Buffer): Promise<void> {\n return new Promise((resolve, reject) => {\n fs.writeFile(filePath, data, (err) => {\n if (err) {\n return reject(err);\n }\n resolve();\n });\n });\n }\n\n async copyFile(sourcePath: string, destinationPath: string): Promise<void> {\n try {\n const data = await this.readFile(sourcePath);\n await this.createDirectoryIfNotExists(destinationPath);\n await this.writeFile(destinationPath, data);\n } catch (error) {\n throw new Error(`${ERROR_MESSAGES.FILE_COPY_ERROR}: ${error.message}`);\n }\n }\n\n async createDirectoryIfNotExists(filePath: string): Promise<void> {\n const dir = path.dirname(filePath);\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir, { recursive: true });\n }\n }\n\n deleteFile(filePath: string): Promise<void> {\n return new Promise((resolve, reject) => {\n fs.unlink(filePath, (err) => {\n if (err) {\n return reject(err);\n }\n resolve();\n });\n });\n }\n\n async copyToS3(filePath: string, ContentType: string, fileName: string, bucketName: string): Promise<string> {\n this.checkIfS3ClientExists();\n try {\n // Read Image File TO Fetch Buffer \n const data = await this.readImageFile(filePath);\n\n const params = {\n Bucket: bucketName,\n Key: fileName,\n Body: data,\n ContentType: ContentType, // Set the correct MIME type\n\n };\n // Upload it to S3\n // const response = await this.s3.upload(params).promise();\n const command = new PutObjectCommand(params);\n const response = await this.s3Client.send(command);\n\n // Return the URL file Name\n // To access the file - https://rep-public-files.s3.amazonaws.com/${fileName}\n return fileName\n\n } catch (error) {\n throw new Error(`${ERROR_MESSAGES.FILE_COPY_ERROR}: ${error.message}`);\n }\n }\n\n private checkIfS3ClientExists() {\n if (!this.s3Client) { throw new Error(ERROR_MESSAGES.S3_CLIENT_NOT_INITIALIZED); }\n }\n\n async copyToS3WithPublic(filePath: string, ContentType: string, fileName: string, bucketName: string): Promise<string> {\n return this.copyToS3(filePath, ContentType, fileName, bucketName);\n }\n\n async deleteFromS3(fileName: string, bucketName: string): Promise<string> {\n this.checkIfS3ClientExists();\n const params = {\n Bucket: bucketName, // your S3 bucket name\n Key: fileName // the name of the file you want to delete \n };\n\n const command = new DeleteObjectCommand(params)\n const response = await this.s3Client.send(command);\n return fileName\n }\n\n private isValidS3Config(config: AwsS3Config): boolean {\n return !!config.S3_AWS_ACCESS_KEY && !!config.S3_AWS_SECRET_KEY && !!config.S3_AWS_REGION_NAME;\n }\n\n /**\n * Save a stream to a file\n * @param stream - Readable stream\n * @param filePath - Destination file path\n * @returns Promise<void>\n */\n public async writeStreamToFile(stream: Readable, filePath: string): Promise<void> {\n return new Promise((resolve, reject) => {\n const writeStream = fs.createWriteStream(filePath);\n stream.pipe(writeStream);\n\n writeStream.on('finish', () => {\n this.logger.debug(`✅ File saved: ${filePath}`);\n resolve();\n });\n\n writeStream.on('error', (err) => {\n this.logger.debug(`❌ Error saving file: ${filePath}`, err);\n reject(err);\n });\n });\n }\n\n public async fileExists(filePath: string): Promise<boolean> {\n try {\n await fs.promises.access(filePath, fs.constants.F_OK);\n return true;\n } catch {\n return false;\n }\n }\n\n public async getSignedUrl(key: string, expiresIn: number, bucketName: string): Promise<string> {\n const command = new GetObjectCommand({\n Bucket: bucketName,\n Key: key,\n });\n\n return awsGetSignedUrl(this.s3Client, command, { expiresIn });\n }\n\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-of-values-metadata.service.d.ts","sourceRoot":"","sources":["../../src/services/list-of-values-metadata.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAI7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AAEzF,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAIvE,qBACa,2BAA4B,SAAQ,WAAW,CAAC,YAAY,CAAC;IAGtE,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAC7C,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB;IAE/C,QAAQ,CAAC,aAAa,EAAE,aAAa;IAErC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,SAAS;IAC7B,QAAQ,CAAC,2BAA2B,EAAE,2BAA2B;IAdnE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAEjD,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,kBAAkB,EAEtC,aAAa,EAAE,aAAa,EAE5B,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,EAC9B,SAAS,EAAE,SAAS,EACpB,2BAA2B,EAAE,2BAA2B;IAM7D,wBAAwB,CAAC,MAAM,EAAE,YAAY;IAuB7C,0BAA0B,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY;IAwBxE,4BAA4B,CAAC,MAAM,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"list-of-values-metadata.service.d.ts","sourceRoot":"","sources":["../../src/services/list-of-values-metadata.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAI7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AAEzF,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAIvE,qBACa,2BAA4B,SAAQ,WAAW,CAAC,YAAY,CAAC;IAGtE,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAC7C,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB;IAE/C,QAAQ,CAAC,aAAa,EAAE,aAAa;IAErC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,SAAS;IAC7B,QAAQ,CAAC,2BAA2B,EAAE,2BAA2B;IAdnE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAEjD,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,kBAAkB,EAEtC,aAAa,EAAE,aAAa,EAE5B,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,EAC9B,SAAS,EAAE,SAAS,EACpB,2BAA2B,EAAE,2BAA2B;IAM7D,wBAAwB,CAAC,MAAM,EAAE,YAAY;IAuB7C,0BAA0B,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY;IAwBxE,4BAA4B,CAAC,MAAM,EAAE,YAAY;YAuBzC,oBAAoB;YAWpB,aAAa;YAoCb,cAAc;YAyBd,gBAAgB;CA8B/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-of-values-metadata.service.js","sourceRoot":"","sources":["../../src/services/list-of-values-metadata.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 { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\n\n\nimport * as fs from 'fs/promises'; // Use the Promise-based version of fs for async/await\nimport { ModuleMetadataHelperService } from 'src/helpers/module-metadata-helper.service';\n\nimport { ListOfValues } from 'src/entities/list-of-values.entity';\nimport { ListOfValuesMapper } from 'src/mappers/list-of-values-mapper';\n\n\n\n@Injectable()\nexport class ListOfValuesMetadataService extends CRUDService<ListOfValues> {\n private readonly logger = new Logger(this.constructor.name);\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 readonly listOfValuesMapper: ListOfValuesMapper,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n @InjectRepository(ListOfValues, 'default')\n readonly repo: Repository<ListOfValues>,\n readonly moduleRef: ModuleRef,\n readonly moduleMetadataHelperService: ModuleMetadataHelperService,\n\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'listOfValues', 'solid-core', moduleRef);\n }\n\n async saveListofValuesToConfig(entity: ListOfValues) {\n if (!entity) {\n this.logger.debug('No entity found in the ListofValuesSubscriber saveListofvalueToConfig method');\n return;\n }\n\n // Validate list of value details\n const listofvalue = entity as ListOfValues;\n const moduleMetadata = entity.module;\n if (!moduleMetadata) {\n throw new Error(`Module metadata not found for listofvalue id ${entity.id}`);\n }\n\n // Get config file details\n const { filePath, metaData } = await this.getConfigFileDetails(moduleMetadata.name); // sting expected module name\n if (!filePath || !metaData) {\n throw new Error(`Configuration details not found for module: ${moduleMetadata.name}`);\n }\n\n // Write the listofvalue to the config file\n await this.writeToConfig(metaData, listofvalue, filePath);\n }\n\n async updateListofValuesToConfig(oldentity: ListOfValues, entity: ListOfValues) {\n if (!entity) {\n this.logger.debug('No entity found in the ListofValuesSubscriber saveListofvalueToConfig method');\n return;\n }\n\n // Validate list of value details\n const oldlistofvalue = oldentity as ListOfValues;\n const listofvalue = entity as ListOfValues;\n const moduleMetadata = entity.module;\n if (!moduleMetadata) {\n throw new Error(`Module metadata not found for listofvalue id ${entity.id}`);\n }\n\n // Get config file details\n const { filePath, metaData } = await this.getConfigFileDetails(moduleMetadata.name); // sting expected module name\n if (!filePath || !metaData) {\n throw new Error(`Configuration details not found for module: ${moduleMetadata.name}`);\n }\n\n // Write the listofvalue to the config file\n await this.updateToConfig(metaData, oldlistofvalue, listofvalue, filePath);\n }\n\n async deleteListOfValuesFromConfig(entity: ListOfValues) {\n if (!entity) {\n this.logger.debug('No entity found in the ListofValuesSubscriber saveListofvalueToConfig method');\n return;\n }\n\n // Validate list of value details\n const listofvalue = entity as ListOfValues;\n const moduleMetadata = entity.module;\n if (!moduleMetadata) {\n throw new Error(`Module metadata not found for listofvalue id ${entity.id}`);\n }\n\n // Get config file details\n const { filePath, metaData } = await this.getConfigFileDetails(moduleMetadata.name); // sting expected module name\n if (!filePath || !metaData) {\n throw new Error(`Configuration details not found for module: ${moduleMetadata.name}`);\n }\n\n // delete the listofvalue to the config file\n await this.deleteFromConfig(metaData, listofvalue, filePath);\n }\n\n\n\n private async getConfigFileDetails(moduleName: string): Promise<{ filePath: string; metaData: any }> {\n const filePath = await this.moduleMetadataHelperService.getModuleMetadataFilePath(moduleName);\n try {\n await fs.access(filePath);\n } catch (error) {\n throw new Error(`Configuration file not found for module: ${moduleName}`);\n }\n const metaData = await this.moduleMetadataHelperService.getModuleMetadataConfiguration(filePath);\n return { filePath, metaData };\n }\n\n private async writeToConfig(metaData: any, listofvalues: ListOfValues, filePath: string) {\n const dto = await this.listOfValuesMapper.toDto(listofvalues);\n\n if (!Array.isArray(metaData.listOfValues)) {\n metaData.listOfValues = [];\n }\n\n // Match by type + value + module\n const existingIndex = metaData.listOfValues.findIndex(\n (item: { type: string; value: string; module: number }) =>\n item.type === dto.type &&\n item.value === dto.value &&\n item.module === dto.module\n );\n\n if (existingIndex !== -1) {\n // Replace existing entry\n metaData.listOfValues[existingIndex] = dto;\n } else {\n // Insert new entry\n // metaData.listOfValues.unshift(dto);\n\n if (metaData.listOfValues.length === 0) {\n // Case 1: Empty array → add first item\n metaData.listOfValues.push(dto);\n } else {\n // Case 2: Insert new item right after index 0\n metaData.listOfValues.unshift(dto);\n }\n\n }\n\n const updatedContent = JSON.stringify(metaData, null, 2);\n await fs.writeFile(filePath, updatedContent);\n }\n\n private async updateToConfig(metaData: any, oldlistofvalues: ListOfValues, listofvalues: ListOfValues, filePath: string) {\n const newvalue = await this.listOfValuesMapper.toDto(listofvalues);\n const oldvalue = await this.listOfValuesMapper.toDto(oldlistofvalues);\n\n if (!Array.isArray(metaData.listOfValues)) {\n metaData.listOfValues = [];\n }\n\n const searchType = oldvalue.type || newvalue.type;\n const searchValue = oldvalue.value || newvalue.value;\n const searchModule = oldvalue.module || newvalue.module;\n\n const existingIndex = metaData.listOfValues.findIndex(\n (item: { type: string; value: string; module: number }) =>\n item.type === searchType && item.value === searchValue && item.module === searchModule\n );\n if (existingIndex !== -1) {\n // Replace existing match\n metaData.listOfValues[existingIndex] = newvalue;\n }\n\n const updatedContent = JSON.stringify(metaData, null, 2);\n await fs.writeFile(filePath, updatedContent);\n }\n\n\n private async deleteFromConfig(metaData: any, listofvalues: ListOfValues, filePath: string) {\n const dto = await this.listOfValuesMapper.toDto(listofvalues);\n\n if (!Array.isArray(metaData.listOfValues)) {\n metaData.listOfValues = [];\n }\n\n // Match by type + value + module\n const existingIndex = metaData.listOfValues.findIndex(\n (item: { type: string; value: string; module: number }) =>\n item.type === dto.type &&\n item.value === dto.value &&\n item.module === dto.module\n );\n\n if (existingIndex !== -1) {\n // Remove the item\n metaData.listOfValues.splice(existingIndex, 1);\n this.logger.debug(`Deleted LOV ${dto.type}:${dto.value} (module ${dto.module}) from config`);\n } else {\n this.logger.warn(\n `LOV ${dto.type}:${dto.value} (module ${dto.module}) not found in config during delete`\n );\n }\n const updatedContent = JSON.stringify(metaData, null, 2);\n await fs.writeFile(filePath, updatedContent);\n\n }\n\n\n}"]}
|
|
1
|
+
{"version":3,"file":"list-of-values-metadata.service.js","sourceRoot":"","sources":["../../src/services/list-of-values-metadata.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 { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\n\n\nimport * as fs from 'fs/promises'; // Use the Promise-based version of fs for async/await\nimport { ModuleMetadataHelperService } from 'src/helpers/module-metadata-helper.service';\n\nimport { ListOfValues } from 'src/entities/list-of-values.entity';\nimport { ListOfValuesMapper } from 'src/mappers/list-of-values-mapper';\n\n\n\n@Injectable()\nexport class ListOfValuesMetadataService extends CRUDService<ListOfValues> {\n private readonly logger = new Logger(this.constructor.name);\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 readonly listOfValuesMapper: ListOfValuesMapper,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n @InjectRepository(ListOfValues, 'default')\n readonly repo: Repository<ListOfValues>,\n readonly moduleRef: ModuleRef,\n readonly moduleMetadataHelperService: ModuleMetadataHelperService,\n\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'listOfValues', 'solid-core', moduleRef);\n }\n\n async saveListofValuesToConfig(entity: ListOfValues) {\n if (!entity) {\n this.logger.debug('No entity found in the ListofValuesSubscriber saveListofvalueToConfig method');\n return;\n }\n\n // Validate list of value details\n const listofvalue = entity as ListOfValues;\n const moduleMetadata = entity.module;\n if (!moduleMetadata) {\n throw new Error(`Module metadata not found for listofvalue id ${entity.id}`);\n }\n\n // Get config file details\n const { filePath, metaData } = await this.getConfigFileDetails(moduleMetadata.name); // sting expected module name\n if (!filePath || !metaData) {\n throw new Error(`Configuration details not found for module: ${moduleMetadata.name}`);\n }\n\n // Write the listofvalue to the config file\n await this.writeToConfig(metaData, listofvalue, filePath);\n }\n\n async updateListofValuesToConfig(oldentity: ListOfValues, entity: ListOfValues) {\n if (!entity) {\n this.logger.debug('No entity found in the ListofValuesSubscriber saveListofvalueToConfig method');\n return;\n }\n\n // Validate list of value details\n const oldlistofvalue = oldentity as ListOfValues;\n const listofvalue = entity as ListOfValues;\n const moduleMetadata = entity.module;\n if (!moduleMetadata) {\n throw new Error(`Module metadata not found for listofvalue id ${entity.id}`);\n }\n\n // Get config file details\n const { filePath, metaData } = await this.getConfigFileDetails(moduleMetadata.name); // sting expected module name\n if (!filePath || !metaData) {\n throw new Error(`Configuration details not found for module: ${moduleMetadata.name}`);\n }\n\n // Write the listofvalue to the config file\n await this.updateToConfig(metaData, oldlistofvalue, listofvalue, filePath);\n }\n\n async deleteListOfValuesFromConfig(entity: ListOfValues) {\n if (!entity) {\n this.logger.debug('No entity found in the ListofValuesSubscriber saveListofvalueToConfig method');\n return;\n }\n\n // Validate list of value details\n const listofvalue = entity as ListOfValues;\n const moduleMetadata = entity.module;\n if (!moduleMetadata) {\n throw new Error(`Module metadata not found for listofvalue id ${entity.id}`);\n }\n\n // Get config file details\n const { filePath, metaData } = await this.getConfigFileDetails(moduleMetadata.name); // sting expected module name\n if (!filePath || !metaData) {\n throw new Error(`Configuration details not found for module: ${moduleMetadata.name}`);\n }\n\n // delete the listofvalue to the config file\n await this.deleteFromConfig(metaData, listofvalue, filePath);\n }\n\n private async getConfigFileDetails(moduleName: string): Promise<{ filePath: string; metaData: any }> {\n const filePath = await this.moduleMetadataHelperService.getModuleMetadataFilePath(moduleName);\n try {\n await fs.access(filePath);\n } catch (error) {\n throw new Error(`Configuration file not found for module: ${moduleName}`);\n }\n const metaData = await this.moduleMetadataHelperService.getModuleMetadataConfiguration(filePath);\n return { filePath, metaData };\n }\n\n private async writeToConfig(metaData: any, listofvalues: ListOfValues, filePath: string) {\n const dto = await this.listOfValuesMapper.toDto(listofvalues);\n\n if (!Array.isArray(metaData.listOfValues)) {\n metaData.listOfValues = [];\n }\n\n // Match by type + value + module\n const existingIndex = metaData.listOfValues.findIndex(\n (item: { type: string; value: string; module: number }) =>\n item.type === dto.type &&\n item.value === dto.value &&\n item.module === dto.module\n );\n\n if (existingIndex !== -1) {\n // Replace existing entry\n metaData.listOfValues[existingIndex] = dto;\n } else {\n // Insert new entry\n // metaData.listOfValues.unshift(dto);\n\n if (metaData.listOfValues.length === 0) {\n // Case 1: Empty array → add first item\n metaData.listOfValues.push(dto);\n } else {\n // Case 2: Insert new item right after index 0\n metaData.listOfValues.unshift(dto);\n }\n\n }\n\n const updatedContent = JSON.stringify(metaData, null, 2);\n await fs.writeFile(filePath, updatedContent);\n }\n\n private async updateToConfig(metaData: any, oldlistofvalues: ListOfValues, listofvalues: ListOfValues, filePath: string) {\n const newvalue = await this.listOfValuesMapper.toDto(listofvalues);\n const oldvalue = await this.listOfValuesMapper.toDto(oldlistofvalues);\n\n if (!Array.isArray(metaData.listOfValues)) {\n metaData.listOfValues = [];\n }\n\n const searchType = oldvalue.type || newvalue.type;\n const searchValue = oldvalue.value || newvalue.value;\n const searchModule = oldvalue.module || newvalue.module;\n\n const existingIndex = metaData.listOfValues.findIndex(\n (item: { type: string; value: string; module: number }) =>\n item.type === searchType && item.value === searchValue && item.module === searchModule\n );\n if (existingIndex !== -1) {\n // Replace existing match\n metaData.listOfValues[existingIndex] = newvalue;\n }\n\n const updatedContent = JSON.stringify(metaData, null, 2);\n await fs.writeFile(filePath, updatedContent);\n }\n\n private async deleteFromConfig(metaData: any, listofvalues: ListOfValues, filePath: string) {\n const dto = await this.listOfValuesMapper.toDto(listofvalues);\n\n if (!Array.isArray(metaData.listOfValues)) {\n metaData.listOfValues = [];\n }\n\n // Match by type + value + module\n const existingIndex = metaData.listOfValues.findIndex(\n (item: { type: string; value: string; module: number }) =>\n item.type === dto.type &&\n item.value === dto.value &&\n item.module === dto.module\n );\n\n if (existingIndex !== -1) {\n // Remove the item\n metaData.listOfValues.splice(existingIndex, 1);\n this.logger.debug(`Deleted LOV ${dto.type}:${dto.value} (module ${dto.module}) from config`);\n } else {\n this.logger.warn(\n `LOV ${dto.type}:${dto.value} (module ${dto.module}) not found in config during delete`\n );\n }\n const updatedContent = JSON.stringify(metaData, null, 2);\n await fs.writeFile(filePath, updatedContent);\n\n }\n\n\n}"]}
|
|
@@ -823,8 +823,8 @@ let ModelMetadataService = class ModelMetadataService {
|
|
|
823
823
|
}
|
|
824
824
|
let view = await viewRepo.findOne({ where: { name: `${model.singularName}-list-view` } });
|
|
825
825
|
const actionData = {
|
|
826
|
-
displayName: `${model.displayName} List
|
|
827
|
-
name: `${model.singularName}-list-
|
|
826
|
+
displayName: `${model.displayName} List Action`,
|
|
827
|
+
name: `${model.singularName}-list-action`,
|
|
828
828
|
type: "solid",
|
|
829
829
|
domain: "",
|
|
830
830
|
context: "",
|