/** * ManzanaService - Gestión de manzanas (bloques) * * CRUD de manzanas con soporte multi-tenant. * * @module Construction */ import { Repository } from 'typeorm'; import { Manzana } from '../entities/manzana.entity'; export interface CreateManzanaDto { etapaId: string; code: string; name?: string; totalLots?: number; } export interface UpdateManzanaDto extends Partial { } export interface ManzanaListOptions { tenantId: string; etapaId?: string; page?: number; limit?: number; search?: string; } export declare class ManzanaService { private readonly repository; constructor(repository: Repository); /** * Listar manzanas */ findAll(options: ManzanaListOptions): Promise<{ items: Manzana[]; total: number; }>; /** * Obtener manzana por ID */ findById(id: string, tenantId: string): Promise; /** * Obtener manzana por código dentro de una etapa */ findByCode(code: string, etapaId: string, tenantId: string): Promise; /** * Crear manzana */ create(tenantId: string, dto: CreateManzanaDto, createdBy?: string): Promise; /** * Actualizar manzana */ update(id: string, tenantId: string, dto: UpdateManzanaDto, updatedBy?: string): Promise; /** * Eliminar manzana (soft delete) */ delete(id: string, tenantId: string, _deletedBy?: string): Promise; /** * Obtener manzanas por etapa */ findByEtapa(etapaId: string, tenantId: string): Promise; } //# sourceMappingURL=manzana.service.d.ts.map