UNPKG

@escueladigital/micro

Version:

Microservice manager for nodejs with kafka

120 lines (107 loc) 2.96 kB
export class JwtConfig { static getHeader(): string static middleware(): void } export type PubSub = { /** * * @param value - EL varlor que se enviará * @param topic - El nombre del topico al que se dirige la información. * @param responseKind - El nombre de la cabezera de respuesta(solo se usa internamente). */ writeMessageToTopic(value: Object, topic: string, responseKind?: string): void /** * * @param topic - El nombre del topico(método al que se desea consultar) de otro microservicio * @param args - Argumentos que requiere el método - formato */ rpc(topic: string, args?: Object): Promise<any> } export class Pubsub { private nameTopic(topic: string): string /** * * @param topics - Los el listado de topicos que son aplicables */ getMicroTopics(topics: Array<string>): Array<string> /** * Abre la conexión con el message broker. */ openConnection(): void /** * Cierra la conexión con el message broker. */ closeConnection(): void /** * * @param value - EL varlor que se enviará * @param topic - El nombre del topico al que se dirige la información. * @param responseKind - El nombre de la cabezera de respuesta(solo se usa internamente). */ writeMessageToTopic(value: Object, topic: string, responseKind?: string): void /** * * @param topic - El nombre del topico(método al que se desea consultar) de otro microservicio * @param args - Argumentos que requiere el método */ rpc(topic: string, args?: Object): void } export class db { static connect(logger: Object, Reporter: Object): Object } export interface Report { report(text: string): void } export class Logger { static Reporter: Report /** * * @param app - El objeto de la aplicación generado por koa * @param key - Key opcional de google. */ static logger(app: Object, key?: Object): void } type Logg = { /** * LOG DE NIVEL INFORMATIVO * @param text - Texto del log */ info(text: string): void /** * LOG DE NIVEL COMÚN * @param text - Texto del log */ log(text: string): void /** * LOG DE NIVEL ADVERTENCIA * @param text - Texto del log */ warn(text: string): void /** * LOG DE NIVEL ERROR * @param text - Texto del log */ error(text: string): void } type Reporter = { report(text: string): void; } export type App = { models: Object PubSub: PubSub logger: Logg name: string datasources: Object } export type Micro = { start(port: number, secret: string, googleKey?: Object): Function app: App, /** * * @param compensations - Arreglo de promesas para compensar las transacciones realizadas * @param [Attempts=3]- numero de intentos que se realizaran para tratar de compensar la transacción antes de lanzar error */ commitOffsets(compensations: Array<Promise<any>>, Attempts: number): Promise<any>, Reporter: Reporter, } export const micro: Micro