@solidstarters/solid-core 1.2.112 → 1.2.113
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/services/import-transaction.service.d.ts +2 -0
- package/dist/services/import-transaction.service.d.ts.map +1 -1
- package/dist/services/import-transaction.service.js +23 -1
- package/dist/services/import-transaction.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/services/import-transaction.service.ts +26 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solidstarters/solid-core",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.113",
|
|
4
4
|
"description": "This module is a NestJS module containing all the required core providers required by a Solid application",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -411,18 +411,43 @@ export class ImportTransactionService extends CRUDService<ImportTransaction> {
|
|
|
411
411
|
const fieldType = fieldMetadata.type;
|
|
412
412
|
// const userKeyFieldName = userKeyField?.name || 'id'; // Default to 'id' if not found
|
|
413
413
|
|
|
414
|
+
// TODO Move this logic to field crud managers i.e add a parse method to the field crud manager interface
|
|
414
415
|
switch (fieldType) {
|
|
415
416
|
case SolidFieldType.relation: {
|
|
416
417
|
return await this.populateDtoForRelations(fieldMetadata, record, key, dtoRecord);
|
|
417
418
|
}
|
|
418
|
-
case SolidFieldType.date:
|
|
419
|
+
case SolidFieldType.date:
|
|
419
420
|
case SolidFieldType.datetime: return this.populateDtoForDate(record, key, fieldMetadata, dtoRecord);
|
|
421
|
+
case SolidFieldType.int:
|
|
422
|
+
case SolidFieldType.bigint:
|
|
423
|
+
case SolidFieldType.decimal:
|
|
424
|
+
return this.populateDtoForNumber(dtoRecord, fieldMetadata, record, key);
|
|
425
|
+
case SolidFieldType.boolean:
|
|
426
|
+
return this.populateDtoForBoolean(dtoRecord, fieldMetadata, record, key);
|
|
420
427
|
default:
|
|
421
428
|
dtoRecord[fieldMetadata.name] = record[key];
|
|
422
429
|
return dtoRecord;
|
|
423
430
|
}
|
|
424
431
|
}
|
|
425
432
|
|
|
433
|
+
private populateDtoForBoolean(dtoRecord: Record<string, any>, fieldMetadata: FieldMetadata, record: Record<string, any>, key: string) {
|
|
434
|
+
const booleanValue = Boolean(record[key]);
|
|
435
|
+
if (typeof booleanValue !== 'boolean') {
|
|
436
|
+
throw new Error(`Invalid boolean value for field ${fieldMetadata.name}: ${record[key]}`);
|
|
437
|
+
}
|
|
438
|
+
dtoRecord[fieldMetadata.name] = booleanValue;
|
|
439
|
+
return dtoRecord;
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
private populateDtoForNumber(dtoRecord: Record<string, any>, fieldMetadata: FieldMetadata, record: Record<string, any>, key: string) {
|
|
443
|
+
const numberValue = Number(record[key]);
|
|
444
|
+
if (isNaN(numberValue)) {
|
|
445
|
+
throw new Error(`Invalid number value for field ${fieldMetadata.name}: ${record[key]}`);
|
|
446
|
+
}
|
|
447
|
+
dtoRecord[fieldMetadata.name] = numberValue;
|
|
448
|
+
return dtoRecord;
|
|
449
|
+
}
|
|
450
|
+
|
|
426
451
|
private populateDtoForDate(record: Record<string, any>, key: string, fieldMetadata: FieldMetadata, dtoRecord: Record<string, any>) {
|
|
427
452
|
{
|
|
428
453
|
const dateValue = new Date(record[key]);
|