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.

49 lines 2.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DecoratoreProprieta = exports.decoratoreProprieta = void 0; const metadata_1 = require("../metadata"); const classe_metadata_1 = require("../metadata/classe.metadata"); const proprieta_metadata_1 = require("../metadata/proprieta.metadata"); const classe_postgres_1 = require("../postgres/classe.postgres"); const proprieta_postgres_1 = require("../postgres/proprieta.postgres"); function decoratoreProprieta(item) { return (target, propertyKey) => { const nomeClasse = target.constructor.name; const nomeProprieta = propertyKey.toString(); DecoratoreProprieta(nomeClasse, nomeProprieta, item); }; } exports.decoratoreProprieta = decoratoreProprieta; function DecoratoreProprieta(nomeClasse, nomeProprieta, item) { try { if (item) { if (item.itemMetaProprieta) { const list = (0, metadata_1.GetListaClasseMeta)('nomeMetadataKeyTargetFor_Metadata', () => { return new classe_metadata_1.ListaMetadataClasse(); }); const classe = list.CercaSeNoAggiungi(new classe_metadata_1.MetadataClasse({ nomeOriginale: nomeClasse })); const proprieta = classe.listaProprieta.CercaSeNoAggiungi(new proprieta_metadata_1.MetadataProprieta(item.itemMetaProprieta)); proprieta.nome = nomeProprieta; (0, metadata_1.SalvaListaMetaClasse)('nomeMetadataKeyTargetFor_Metadata', list); } if (item.itemPostgresProprieta) { const list = (0, metadata_1.GetListaClasseMeta)('nomeMetadataKeyTargetFor_Postgres', () => { return new classe_postgres_1.ListaPostgresClasse(); }); const classe = list.CercaSeNoAggiungi(new classe_postgres_1.PostgresClasse({ nomeOriginale: nomeClasse, creaId: true, abilitaUpdatedAt: true, abilitaDeletedAt: true, abilitaCreatedAt: true, nomeTabella: nomeClasse })); const proprieta = classe.listaProprieta.CercaSeNoAggiungi(new proprieta_postgres_1.PostgresProprieta(item.itemPostgresProprieta)); proprieta.nome = nomeProprieta; (0, metadata_1.SalvaListaMetaClasse)('nomeMetadataKeyTargetFor_Postgres', list); } } } catch (error) { console.log(error); throw error; } } exports.DecoratoreProprieta = DecoratoreProprieta; //# sourceMappingURL=proprieta.decoratore.js.map