UNPKG

@tsclean/scaffold

Version:

This CLI creates an initial structure of a project based on clean architecture.

53 lines (51 loc) 2.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AdaptersTemplate = void 0; const CommandUtils_1 = require("../commands/CommandUtils"); const constants_1 = require("../utils/constants"); const messages_1 = require("../utils/messages"); class AdaptersTemplate { /** * Metodo para crear el Adaptador de acuerdo al ORM que recibe como parametro * * @param param Nombre de la entidad * @param orm Nombre del orm (sequelize, mongo) * @param manager Nombre del gestor de base de datos (mysql, pg, mongoose) * @return * ```typescript * // Adapter * import {UserEntity} from "@/domain/entities/user"; * import {UserModelSchema} from "@/infrastructure/driven-adapters/adapters/orm/mongo/models/user-mongoose"; * * export class UserMongoRepositoryAdapter {} * ``` */ static getRepositoryAdapter(param, orm, manager) { const _param = CommandUtils_1.CommandUtils.capitalizeString(param); const _orm = CommandUtils_1.CommandUtils.capitalizeString(orm); switch (orm) { case constants_1.CONSTANTS.MONGO: return `import {${_param}Entity} from "@/domain/entities/${param}"; import {${_param}ModelSchema} from "@/infrastructure/driven-adapters/adapters/orm/${orm}/models/${param}-${manager}"; export class ${_param}${_orm}RepositoryAdapter { // Implementation } `; case constants_1.CONSTANTS.SEQUELIZE: if (manager === constants_1.CONSTANTS.MYSQL || manager === constants_1.CONSTANTS.POSTGRES) { const _manager = CommandUtils_1.CommandUtils.capitalizeString(manager); return `import {${_param}Entity} from "@/domain/entities/${param}"; import {${_param}Model${_manager}}from "@/infrastructure/driven-adapters/adapters/orm/${orm}/models/${param}-${manager}"; export class ${_param}${_manager}RepositoryAdapter { // Implementation } `; } else { throw messages_1.MESSAGES.ERROR_DATABASE(manager); } } } } exports.AdaptersTemplate = AdaptersTemplate; //# sourceMappingURL=AdaptersTemplate.js.map