UNPKG

@central-credit/engine

Version:

Engine to handle the Serasa requests

123 lines 6.02 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; result["default"] = mod; return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const rest_1 = require("@loopback/rest"); const core_1 = require("@loopback/core"); const repository_1 = require("@loopback/repository"); const base_layout_1 = __importStar(require("../layouts/base.layout")); const models_1 = require("../models"); const debug_1 = __importDefault(require("debug")); const debug_2 = require("../debug"); const repositories_1 = require("../repositories"); const record_builder_1 = require("../builders/record.builder"); // import { LayoutRecordType } from '../layouts/relato.layout' const debug = debug_1.default(debug_2.NAMESPACES.TEST); let PingController = class PingController { constructor(serasaService, recordRepository) { this.serasaService = serasaService; this.recordRepository = recordRepository; } async create(name, size, object, paramsObj) { const result = await this.recordRepository.create({ name, size, createdAt: new Date().toISOString(), fields: object.map(field => ({ seq: field.seq, size: field.size, type: field.type, description: field.description, value: field.value })), params: Object.values(paramsObj).map(value => { return { id: value.slice(1), type: models_1.RecordParameterType.STRING }; }) }); return result; } async ping() { const header = await this.create('Header', 400, base_layout_1.default.protocol, base_layout_1.LayoutParams); const queryOptions = await this.create('QueryOptions', 115, base_layout_1.default.options, base_layout_1.LayoutParamsoP); return { header, queryOptions }; } async run() { const headerRecord = await this.recordRepository.findOne({ where: { name: 'Header' } }); const optionsRecord = await this.recordRepository.findOne({ where: { name: 'QueryOptions' } }); if (headerRecord && optionsRecord) { debug(headerRecord); const headerBuilder = new record_builder_1.RecordBuilder(headerRecord); headerBuilder.addParameter(base_layout_1.LayoutParams.NumDoc, '69720010568'); headerBuilder.addParameter(base_layout_1.LayoutParams.TipoPessoa, 'F'); headerBuilder.addParameter(base_layout_1.LayoutParams.BaseCons, 'C'); headerBuilder.addParameter(base_layout_1.LayoutParams.Modalidade, 'FI'); headerBuilder.addParameter(base_layout_1.LayoutParams.VlrConsul, '1000'); headerBuilder.addParameter(base_layout_1.LayoutParams.Codificado, 'N'); headerBuilder.addParameter(base_layout_1.LayoutParams.QtdReg, '99'); headerBuilder.addParameter(base_layout_1.LayoutParams.Conversa, 'S'); headerBuilder.addParameter(base_layout_1.LayoutParams.Funcao, 'INI'); headerBuilder.addParameter(base_layout_1.LayoutParams.TpConsulta, 'A'); headerBuilder.addParameter(base_layout_1.LayoutParams.Atualiza, 'N'); headerBuilder.addParameter(base_layout_1.LayoutParams.EndTel, 'N'); headerBuilder.addParameter(base_layout_1.LayoutParams.Alerta, 'S'); const header = headerBuilder.build(); const optionsBuilder = new record_builder_1.RecordBuilder(optionsRecord); optionsBuilder.addParameter(base_layout_1.LayoutParamsoP.TipoReg, 'P002'); optionsBuilder.addParameter(base_layout_1.LayoutParamsoP.Cod1, 'RE02'); const options = optionsBuilder.build(); // const report = await this.serasaService.getReport(relato.build()) return { record: header.concat(options) }; } return {}; } }; __decorate([ rest_1.get('/create'), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise) ], PingController.prototype, "ping", null); __decorate([ rest_1.get('/run'), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise) ], PingController.prototype, "run", null); PingController = __decorate([ __param(0, core_1.inject('services.Serasa')), __param(1, repository_1.repository(repositories_1.RecordRepository)), __metadata("design:paramtypes", [Object, repositories_1.RecordRepository]) ], PingController); exports.PingController = PingController; //# sourceMappingURL=ping.controller.js.map