- ✅ Ticket 1.1: Estructura Clean Architecture en backend - ✅ Ticket 1.2: Schemas Zod compartidos - ✅ Ticket 1.3: Refactorización drugs.ts (1362 → 8 archivos modulares) - ✅ Ticket 1.4: Refactorización procedures.ts (3583 → 6 archivos modulares) - ✅ Ticket 1.5: Eliminación de duplicidades (~50 líneas) Cambios principales: - Creada estructura Clean Architecture en backend/src/ - Schemas Zod compartidos en backend/src/shared/schemas/ - Refactorización modular de drugs y procedures - Utilidades genéricas en src/utils/ (filter, validation) - Eliminados scripts obsoletos y documentación antigua - Corregidos errores: QueryClient, import test-error-handling - Build verificado y funcionando correctamente
38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
/// <reference types="node" />
|
|
import { NetStream, CommandItem } from "./types";
|
|
import Deque = require("denque");
|
|
import { EventEmitter } from "events";
|
|
import SubscriptionSet from "./SubscriptionSet";
|
|
export interface Condition {
|
|
select: number;
|
|
auth?: string | [string, string];
|
|
subscriber: false | SubscriptionSet;
|
|
}
|
|
export declare type FlushQueueOptions = {
|
|
offlineQueue?: boolean;
|
|
commandQueue?: boolean;
|
|
};
|
|
export interface DataHandledable extends EventEmitter {
|
|
stream: NetStream;
|
|
status: string;
|
|
condition: Condition | null;
|
|
commandQueue: Deque<CommandItem>;
|
|
disconnect(reconnect: boolean): void;
|
|
recoverFromFatalError(commandError: Error, err: Error, options: FlushQueueOptions): void;
|
|
handleReconnection(err: Error, item: CommandItem): void;
|
|
}
|
|
interface ParserOptions {
|
|
stringNumbers: boolean;
|
|
}
|
|
export default class DataHandler {
|
|
private redis;
|
|
constructor(redis: DataHandledable, parserOptions: ParserOptions);
|
|
private returnFatalError;
|
|
private returnError;
|
|
private returnReply;
|
|
private handleSubscriberReply;
|
|
private handleMonitorReply;
|
|
private shiftCommand;
|
|
}
|
|
export {};
|