Añadida la opcion "otro" en actividad productiva al registrar y ver los datos de OSP
This commit is contained in:
2
apps/api/src/database/migrations/0026_last_vampiro.sql
Normal file
2
apps/api/src/database/migrations/0026_last_vampiro.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
DROP VIEW "public"."v_training_surveys";--> statement-breakpoint
|
||||
ALTER TABLE "training_surveys" ADD COLUMN "productive_activity_other" text DEFAULT '';
|
||||
2099
apps/api/src/database/migrations/meta/0026_snapshot.json
Normal file
2099
apps/api/src/database/migrations/meta/0026_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -183,6 +183,13 @@
|
||||
"when": 1772643066120,
|
||||
"tag": "0025_funny_makkari",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 26,
|
||||
"version": "7",
|
||||
"when": 1774379641691,
|
||||
"tag": "0026_last_vampiro",
|
||||
"breakpoints": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -76,6 +76,7 @@ export const trainingSurveys = t.pgTable(
|
||||
.notNull()
|
||||
.default(''),
|
||||
productiveActivity: t.text('productive_activity').notNull(),
|
||||
productiveActivityOther: t.text('productive_activity_other').default(''),
|
||||
ospRif: t.text('osp_rif'),
|
||||
ospName: t.text('osp_name'),
|
||||
companyConstitutionYear: t.integer('company_constitution_year').notNull(),
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { Optional } from '@nestjs/common';
|
||||
import { ApiProperty } from '@nestjs/swagger';
|
||||
import { Transform, Type } from 'class-transformer';
|
||||
import {
|
||||
@@ -42,6 +43,11 @@ export class CreateTrainingDto {
|
||||
@IsString()
|
||||
productiveActivity: string;
|
||||
|
||||
@ApiProperty()
|
||||
@IsString()
|
||||
@IsOptional()
|
||||
productiveActivityOther: string;
|
||||
|
||||
@ApiProperty()
|
||||
@IsString()
|
||||
currentStatus: string;
|
||||
|
||||
@@ -16,7 +16,7 @@ export class TrainingService {
|
||||
constructor(
|
||||
@Inject(DRIZZLE_PROVIDER) private drizzle: NodePgDatabase<typeof schema>,
|
||||
private readonly minioService: MinioService,
|
||||
) {}
|
||||
) { }
|
||||
|
||||
async findAll(paginationDto?: PaginationDto) {
|
||||
const {
|
||||
@@ -268,7 +268,7 @@ export class TrainingService {
|
||||
|
||||
// 2. Extraer solo visitDate para formatearlo.
|
||||
// Ya NO extraemos state, municipality, etc. porque no vienen en el DTO.
|
||||
const { visitDate, state, municipality, parish, ...rest } =
|
||||
const { visitDate, state, municipality, parish, productiveActivityOther, ...rest } =
|
||||
createTrainingDto;
|
||||
|
||||
const [newRecord] = await this.drizzle
|
||||
@@ -280,6 +280,9 @@ export class TrainingService {
|
||||
// Conversión de fecha
|
||||
visitDate: new Date(visitDate),
|
||||
|
||||
// Borra las tildes y cambia el texto a mayusculas
|
||||
productiveActivityOther: productiveActivityOther.toUpperCase().normalize("NFD").replace(/[\u0300-\u036f]/g, ""),
|
||||
|
||||
// 3. Asignar fotos de forma segura
|
||||
photo1: photoPaths[0] ?? null,
|
||||
photo2: photoPaths[1] ?? null,
|
||||
|
||||
Reference in New Issue
Block a user