You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
const{ PanamahModels, PanamahAdmin }=require('panamah-sdk-javascript');const{ PanamahAssinante }=PanamahModels;(async()=>{//inicializando a api administrativa PanamahAdmin.init({authorizationToken: process.env.MY_AUTH_TOKEN});try{//buscando um assinanteconstassinante=awaitPanamahAdmin.getAssinante('18475929000132');}catch(e){//caso não existaif(e.name==='PanamahNotFoundError'){//instanciando um modelo de assinanteconstassinante=newPanamahAssinante({id: '18475929000132',fantasia: 'Supermercado Exemplo',nome: 'Supermercado Exemplo Ltda',bairro: 'Rua Poebla',cidade: 'Caucaia',uf: 'CE'});//criando o assinante no PanamahawaitPanamahAdmin.createAssinante(assinante);}}})();
Exemplo de uso da API de streaming com apenas um assinanteId
const{ PanamahModels, PanamahStream }=require('panamah-sdk-javascript');const{ PanamahProduto }=PanamahModels;(async()=>{//inicializando a api de streamingPanamahStream.init({assinanteId: '18475929000132',authorizationToken: process.env.MY_AUTHORIZATION_TOKEN,//(opcional) caso não seja passado, é considerado a variável de ambiente PANAMAH_AUTHORIZATION_TOKENsecret: process.env.MY_SECRET,//(opcional) caso não seja passado, é considerado a variável de ambiente PANAMAH_SECRET});PanamahStream.on('before_save',(model,_,preventSave)=>{console.log('Before save',model);//preventSave(); //essa linha cancelaria o salvamento});PanamahStream.on('before_delete',(model,_,preventDelete)=>{console.log('Before delete',model);//preventDelete(); //essa linha cancelaria a deleção});constproduto=newPanamahProduto({id: '1111',descricao: 'Coca-cola',dataInclusao: newDate().toISOString(),secaoId: '999',composicao: {quantidade: 2,itens: [{produtoId: '432',quantidade: 1},{produtoId: '567',quantidade: 1}]},fornecedores: [{id: '222',principal: true}]});try{//salvando um produtoPanamahStream.save(produto);}catch(e){if(e.name==='PanamahValidationError'){console.error(e);//um erro de validação seria tratado aqui}}//deletando um produtoPanamahStream.delete(produto);//sempre chamar antes de finalizar a aplicaçãoawaitPanamahStream.flush();})();
Exemplo de uso da API de streaming com multi-tenancy
const{ PanamahModels, PanamahStream }=require('panamah-sdk-javascript');const{ PanamahProduto }=PanamahModels;(async()=>{//inicializando a api de streamingPanamahStream.init({authorizationToken: process.env.MY_AUTHORIZATION_TOKEN,//(opcional) caso não seja passado, é considerado a variável de ambiente PANAMAH_AUTHORIZATION_TOKENsecret: process.env.MY_SECRET,//(opcional) caso não seja passado, é considerado a variável de ambiente PANAMAH_SECRET});PanamahStream.on('before_save',(model,assinanteId,preventSave)=>{console.log('Before save',model,assinanteId);//preventSave(); //essa linha cancelaria o salvamento});PanamahStream.on('before_delete',(model,assinanteId,preventDelete)=>{console.log('Before delete',model,assinanteId);//preventDelete(); //essa linha cancelaria a deleção});constproduto=newPanamahProduto({id: '1111',descricao: 'Coca-cola',dataInclusao: newDate().toISOString(),secaoId: '999',composicao: {quantidade: 2,itens: [{produtoId: '432',quantidade: 1},{produtoId: '567',quantidade: 1}]},fornecedores: [{id: '222',principal: true}]});try{//salvando um produto para 3 assinantes diferentesPanamahStream.save(produto,'18475929000132');PanamahStream.save(produto,'02541926375');PanamahStream.save(produto,'12345678901');}catch(e){if(e.name==='PanamahValidationError'){console.error(e);//um erro de validação seria tratado aqui}}//deletando um produto nos 3 assinantesPanamahStream.delete(produto,'18475929000132');PanamahStream.delete(produto,'02541926375');PanamahStream.delete(produto,'12345678901');//sempre chamar antes de finalizar a aplicaçãoawaitPanamahStream.flush();})();