@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.
Files changed (32) hide show
  1. package/dist/dtos/create-list-of-values.dto.d.ts.map +1 -1
  2. package/dist/dtos/create-list-of-values.dto.js +1 -0
  3. package/dist/dtos/create-list-of-values.dto.js.map +1 -1
  4. package/dist/dtos/update-list-of-values.dto.d.ts.map +1 -1
  5. package/dist/dtos/update-list-of-values.dto.js +1 -0
  6. package/dist/dtos/update-list-of-values.dto.js.map +1 -1
  7. package/dist/entities/list-of-values.entity.js +1 -1
  8. package/dist/entities/list-of-values.entity.js.map +1 -1
  9. package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.d.ts.map +1 -1
  10. package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.js +12 -2
  11. package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.js.map +1 -1
  12. package/dist/seeders/seed-data/solid-core-metadata.json +236 -119
  13. package/dist/services/file.service.d.ts.map +1 -1
  14. package/dist/services/file.service.js +1 -17
  15. package/dist/services/file.service.js.map +1 -1
  16. package/dist/services/list-of-values-metadata.service.d.ts.map +1 -1
  17. package/dist/services/list-of-values-metadata.service.js.map +1 -1
  18. package/dist/services/model-metadata.service.js +2 -2
  19. package/dist/services/model-metadata.service.js.map +1 -1
  20. package/dist/services/selection-providers/list-of-models-selection-provider.service.js +2 -2
  21. package/dist/services/selection-providers/list-of-models-selection-provider.service.js.map +1 -1
  22. package/dist/tsconfig.tsbuildinfo +1 -1
  23. package/package.json +1 -1
  24. package/src/dtos/create-list-of-values.dto.ts +1 -0
  25. package/src/dtos/update-list-of-values.dto.ts +1 -0
  26. package/src/entities/list-of-values.entity.ts +1 -1
  27. package/src/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.ts +17 -6
  28. package/src/seeders/seed-data/solid-core-metadata.json +238 -119
  29. package/src/services/file.service.ts +1 -24
  30. package/src/services/list-of-values-metadata.service.ts +0 -3
  31. package/src/services/model-metadata.service.ts +2 -2
  32. package/src/services/selection-providers/list-of-models-selection-provider.service.ts +2 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidstarters/solid-core",
3
- "version": "1.2.188",
3
+ "version": "1.2.191",
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",
@@ -33,5 +33,6 @@ export class CreateListOfValuesDto {
33
33
  moduleId: number;
34
34
  @IsString()
35
35
  @IsOptional()
36
+ @ApiProperty()
36
37
  moduleUserKey: string;
37
38
  }
@@ -39,5 +39,6 @@ export class UpdateListOfValuesDto {
39
39
  moduleId: number;
40
40
  @IsString()
41
41
  @IsOptional()
42
+ @ApiProperty()
42
43
  moduleUserKey: string;
43
44
  }
@@ -14,7 +14,7 @@ export class ListOfValues extends CommonEntity {
14
14
  description: string;
15
15
  @Column({ type: "boolean", nullable: true, default: false })
16
16
  default: boolean = false;
17
- @Column({ type: "int", nullable: true })
17
+ @Column({ type: "integer", nullable: true })
18
18
  sequence: number;
19
19
  @ManyToOne(() => ModuleMetadata, { onDelete: "CASCADE", nullable: true })
20
20
  @JoinColumn()
@@ -58,7 +58,7 @@ export class SelectionDynamicFieldCrudManager implements FieldCrudManager {
58
58
  if (Array.isArray(fieldValue)) {
59
59
  return { isValid: true, values: fieldValue };
60
60
  }
61
-
61
+
62
62
  try {
63
63
  const parsed = typeof fieldValue === 'string' ? JSON.parse(fieldValue) : null;
64
64
  if (Array.isArray(parsed)) {
@@ -67,10 +67,10 @@ export class SelectionDynamicFieldCrudManager implements FieldCrudManager {
67
67
  } catch {
68
68
  // fall through
69
69
  }
70
-
70
+
71
71
  return { isValid: false, values: [] };
72
72
  }
73
-
73
+
74
74
 
75
75
  private async applyValidations(fieldValue: any): Promise<ValidationError[]> {
76
76
  const errors: ValidationError[] = [];
@@ -108,9 +108,20 @@ export class SelectionDynamicFieldCrudManager implements FieldCrudManager {
108
108
 
109
109
  private async isValidSelectionValue(fieldValue: any, selectionDynamicProvider: string): Promise<boolean> {
110
110
  const providerInstance = this.providerInstance<any>(selectionDynamicProvider);
111
- const values = await providerInstance.values('', JSON.parse(this.options.selectionDynamicProviderCtxt));
112
- // return values.map(v => v.split(":")[0]).includes(fieldValue);
113
- return values.map(v => v.value).includes(fieldValue);
111
+ try {
112
+ // Use the value method first
113
+ const valueOption = await providerInstance.value(fieldValue, JSON.parse(this.options.selectionDynamicProviderCtxt));
114
+ if (valueOption && valueOption.value === fieldValue) {
115
+ return true;
116
+ }
117
+ return false;
118
+ }
119
+ catch (error) {
120
+ // Use the values method as a fallback, if the value method is not implemented
121
+ const values = await providerInstance.values('', JSON.parse(this.options.selectionDynamicProviderCtxt));
122
+ const isValid = values.some(v => v.value === fieldValue);
123
+ return isValid;
124
+ }
114
125
  }
115
126
 
116
127
  private providerInstance<T extends ISelectionProviderContext>(selectionDynamicProvider: string): ISelectionProvider<T> {