60 lines
2.5 KiB
TypeScript
60 lines
2.5 KiB
TypeScript
/**
|
|
* DerechohabienteService - Servicio de gestión de derechohabientes INFONAVIT
|
|
*
|
|
* Gestión de trabajadores con crédito INFONAVIT.
|
|
*
|
|
* @module Infonavit
|
|
*/
|
|
import { Repository } from 'typeorm';
|
|
import { Derechohabiente, DerechohabienteStatus } from '../entities/derechohabiente.entity';
|
|
import { HistoricoPuntos } from '../entities/historico-puntos.entity';
|
|
import { ServiceContext, PaginatedResult } from '../../../shared/services/base.service';
|
|
export interface CreateDerechohabienteDto {
|
|
nss: string;
|
|
curp: string;
|
|
rfc?: string;
|
|
firstName: string;
|
|
lastName: string;
|
|
secondLastName?: string;
|
|
phone?: string;
|
|
email?: string;
|
|
address?: string;
|
|
creditPoints?: number;
|
|
notes?: string;
|
|
}
|
|
export interface UpdateDerechohabienteDto {
|
|
phone?: string;
|
|
email?: string;
|
|
address?: string;
|
|
notes?: string;
|
|
}
|
|
export interface PrecalificationDto {
|
|
precalificationDate: Date;
|
|
precalificationAmount: number;
|
|
creditType: string;
|
|
creditPoints: number;
|
|
}
|
|
export interface DerechohabienteFilters {
|
|
nss?: string;
|
|
curp?: string;
|
|
status?: DerechohabienteStatus;
|
|
search?: string;
|
|
minPoints?: number;
|
|
}
|
|
export declare class DerechohabienteService {
|
|
private readonly derechohabienteRepository;
|
|
private readonly historicoPuntosRepository;
|
|
constructor(derechohabienteRepository: Repository<Derechohabiente>, historicoPuntosRepository: Repository<HistoricoPuntos>);
|
|
findWithFilters(ctx: ServiceContext, filters?: DerechohabienteFilters, page?: number, limit?: number): Promise<PaginatedResult<Derechohabiente>>;
|
|
findById(ctx: ServiceContext, id: string): Promise<Derechohabiente | null>;
|
|
findByNss(ctx: ServiceContext, nss: string): Promise<Derechohabiente | null>;
|
|
findWithDetails(ctx: ServiceContext, id: string): Promise<Derechohabiente | null>;
|
|
create(ctx: ServiceContext, dto: CreateDerechohabienteDto): Promise<Derechohabiente>;
|
|
update(ctx: ServiceContext, id: string, dto: UpdateDerechohabienteDto): Promise<Derechohabiente | null>;
|
|
updatePoints(ctx: ServiceContext, id: string, newPoints: number, source: string, notes?: string): Promise<Derechohabiente | null>;
|
|
precalify(ctx: ServiceContext, id: string, dto: PrecalificationDto): Promise<Derechohabiente | null>;
|
|
qualify(ctx: ServiceContext, id: string): Promise<Derechohabiente | null>;
|
|
softDelete(ctx: ServiceContext, id: string): Promise<boolean>;
|
|
getPointsHistory(ctx: ServiceContext, derechohabienteId: string): Promise<HistoricoPuntos[]>;
|
|
}
|
|
//# sourceMappingURL=derechohabiente.service.d.ts.map
|