Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Create new record.
- *
- * @param {Object} record
- * @return {Promise}
- */
- export function createRecord(record) {
- const tipoDocumento = record.tipo_documento;
- console.log(`createRecord ${tipoDocumento}`);
- let pessoa = RecordPessoa;
- let pessoaFisica = RecordPessoaFisica;
- let pessoaJuridica = RecordPessoaJuridica;
- let cliente = Record;
- // pessoa
- pessoa = {
- tipo_documento: tipoDocumento
- };
- if (tipoDocumento === 0) {
- // pessoa fisica
- pessoaFisica = {
- pessoa_id: pessoa.pessoa_id,
- cpf: record.cpf,
- nascimento: record.nascimento,
- nome_1: record.nome_1,
- nome_2: record.nome_2,
- genero: record.genero,
- estado_civil: record.estado_civil,
- identidade: record.identidade,
- orgao_emissor: record.orgao_emissor,
- emissao: record.emissao,
- nacionalidade: record.nacionalidade,
- naturalidade: record.naturalidade
- };
- } else {
- // pessoa juridica
- pessoaJuridica = {
- pessoa_id: pessoa.pessoa_id,
- cnpj: record.cnpj,
- nome_1: record.nome_1,
- nome_2: record.nome_2,
- cnae_id: record.cnae_id,
- crt: record.crt,
- insc_estadual: record.insc_estadual,
- insc_estadual_st: record.insc_estadual_st,
- insc_municipal: record.insc_municipal,
- insc_suframa: record.insc_suframa
- };
- }
- // cliente
- cliente = {
- pessoa_id: pessoaJuridica.pessoa_id
- };
- // With Promises
- return new Promise(async (resolve, reject) => {
- bookshelf.transaction(async t => {
- // const model = await Test.forge(object).save(null, { transacting: t });
- try {
- const objPessoa = await RecordPessoa.forge(pessoa).save(null, {
- transacting: t
- });
- if (tipoDocumento === 0) {
- console.log(JSON.stringify(objPessoa));
- pessoaFisica.pessoa_id = objPessoa.id;
- console.log(JSON.stringify(pessoaFisica));
- await RecordPessoaFisica.forge(pessoaFisica).save(null, {
- transacting: t
- });
- } else {
- await RecordPessoaJuridica.forge(pessoaJuridica).save(null, {
- transacting: t
- });
- }
- cliente.pessoa_id = objPessoa.id;
- const objCliente = await Record.forge(cliente).save(null, {
- transacting: t
- });
- resolve(objCliente);
- } catch (err) {
- await t.rollback(err);
- reject(err);
- }
- });
- });
- }
Add Comment
Please, Sign In to add comment