- ✅ 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 { EventEmitter } from "events";
|
|
import { RedisOptions, NodeKey, NodeRole } from "./util";
|
|
import Redis from "../Redis";
|
|
export default class ConnectionPool extends EventEmitter {
|
|
private redisOptions;
|
|
private nodes;
|
|
private specifiedOptions;
|
|
constructor(redisOptions: any);
|
|
getNodes(role?: NodeRole): Redis[];
|
|
getInstanceByKey(key: NodeKey): Redis;
|
|
getSampleInstance(role: NodeRole): Redis;
|
|
/**
|
|
* Add a master node to the pool
|
|
* @param node
|
|
*/
|
|
addMasterNode(node: RedisOptions): boolean;
|
|
/**
|
|
* Creates a Redis connection instance from the node options
|
|
* @param node
|
|
* @param readOnly
|
|
*/
|
|
createRedisFromOptions(node: RedisOptions, readOnly: boolean): Redis;
|
|
/**
|
|
* Find or create a connection to the node
|
|
*/
|
|
findOrCreate(node: RedisOptions, readOnly?: boolean): Redis;
|
|
/**
|
|
* Reset the pool with a set of nodes.
|
|
* The old node will be removed.
|
|
*/
|
|
reset(nodes: RedisOptions[]): void;
|
|
/**
|
|
* Remove a node from the pool.
|
|
*/
|
|
private removeNode;
|
|
}
|