UNPKG

mp-holistic

Version:

si prefigge l'umile compito di aiutare nella creazione di : - un server API REST mediante express - un semplice ORM per Postgres Questo tramite decoratori o classi particolari.

82 lines (65 loc) 5.17 kB
import { Request } from "express"; import { ListaMetadataParametro } from "../../metadata/parametro.metadata"; import { IReturn, IParametriEstratti, IRitornoValidatore } from "../utility/utility"; export interface IMetodoEventi { /** * se impostata permette di determinare cosa succedera nel momento dell'errore */ onChiamataInErrore?: (logOut: string, result: any, logIn: string, errore: any) => IReturn; onPrimaDiEseguireMetodo?: (parametri: IParametriEstratti) => IParametriEstratti | Promise<IParametriEstratti>; /** * se impostata permette di verificare lo stato quando il metodo va a buon fine. */ onChiamataCompletata?: (logOut: string, result: any, logIn: string, errore: any) => void; onLog?: (logOut: string, result: any, logIn: string, errore: any) => void; Validatore?: (parametri: IParametriEstratti, listaParametri: ListaMetadataParametro) => IRitornoValidatore | void; /** * funzione che viene chiamata perima di eseguire il metodo, questa dovra presumibilmente creare l'oggetto che poi sara fonte per attuare la risposta. * es: se voglio esporre un'api che esponga una proprieta che facciamo finta che sia il nome, questo dovra essere creato. */ Istanziatore?: (parametri: IParametriEstratti, listaParametri: ListaMetadataParametro) => Promise<any> | any; onRispostaControllatePradefinita?: (dati: IReturn) => IReturn | Promise<IReturn>; onPrimaDiTerminareLaChiamata?: (res: IReturn) => IReturn; onDopoAverTerminatoLaFunzione?: (item: any) => IReturn; onPrimaDiEseguire?: (req: Request) => Request | Promise<Request>; } export class MetodoEventi implements IMetodoEventi { onChiamataInErrore?: (logOut: any, result: any, logIn: any, errore: any) => IReturn; onPrimaDiEseguireMetodo?: (parametri: IParametriEstratti) => IParametriEstratti | Promise<IParametriEstratti>; onChiamataCompletata?: (logOut: any, result: any, logIn: any, errore: any) => void; onLog?: (logOut: any, result: any, logIn: any, errore: any) => void; onRispostaControllatePradefinita?: (dati: IReturn) => IReturn | Promise<IReturn>; onPrimaDiTerminareLaChiamata?: (res: IReturn) => IReturn; onDopoAverTerminatoLaFunzione?: (item: any) => IReturn; onPrimaDiEseguire?: (req: Request) => Request | Promise<Request>; Validatore?: (parametri: IParametriEstratti, listaParametri: ListaMetadataParametro) => IRitornoValidatore | void; Istanziatore?: (parametri: IParametriEstratti, listaParametri: ListaMetadataParametro) => Promise<any> | any; Init(init: IMetodoEventi) { if (init.onChiamataCompletata != null) this.onChiamataCompletata = init.onChiamataCompletata; if (init.onLog != null) this.onLog = init.onLog; if (init.onChiamataInErrore) this.onChiamataCompletata = init.onChiamataCompletata; if (init.onPrimaDiEseguireMetodo) this.onPrimaDiEseguireMetodo = init.onPrimaDiEseguireMetodo; if (init.onLog) this.onLog = init.onLog; if (init.onRispostaControllatePradefinita) this.onRispostaControllatePradefinita = init.onRispostaControllatePradefinita; if (init.onPrimaDiTerminareLaChiamata) this.onPrimaDiTerminareLaChiamata = init.onPrimaDiTerminareLaChiamata; if (init.onDopoAverTerminatoLaFunzione) this.onDopoAverTerminatoLaFunzione = init.onDopoAverTerminatoLaFunzione; if (init.onPrimaDiEseguire) this.onPrimaDiEseguire = init.onPrimaDiEseguire; if (init.Validatore != null) this.Validatore = init.Validatore; if (init.Istanziatore != null && init.Istanziatore != undefined) this.Istanziatore = init.Istanziatore; } PrintStruttura() { let parametri = ''; if (this.onChiamataCompletata) parametri = parametri + '\tonChiamataCompletata :' + this.onChiamataCompletata.toString(); if (this.onPrimaDiEseguireMetodo) parametri = parametri + '\tonLog :' + this.onPrimaDiEseguireMetodo.toString(); if (this.onChiamataInErrore) parametri = parametri + '\tonChiamataInErrore :' + this.onChiamataInErrore.toString(); if (this.onLog) parametri = parametri + '\tonLog :' + this.onLog.toString(); if (this.Validatore) parametri = parametri + '\tonLog :' + this.Validatore.toString(); if (this.Istanziatore) parametri = parametri + '\tonLog :' + this.Istanziatore.toString(); if (this.onPrimaDiEseguireMetodo) parametri = parametri + '\tonPrimaDiEseguireMetodo :' + this.onPrimaDiEseguireMetodo.toString(); if (this.onPrimaDiTerminareLaChiamata) parametri = parametri + '\tonPrimaDiTerminareLaChiamata :' + this.onPrimaDiTerminareLaChiamata.toString(); if (this.onRispostaControllatePradefinita) parametri = parametri + '\tonRispostaControllatePradefinita :' + this.onRispostaControllatePradefinita.toString(); if (this.onDopoAverTerminatoLaFunzione) parametri = parametri + '\tonLog :' + this.onDopoAverTerminatoLaFunzione.toString(); if (this.onPrimaDiEseguire) parametri = parametri + '\tonLog :' + this.onPrimaDiEseguire.toString(); return parametri; } }