1068 lines
52 KiB
PHP
1068 lines
52 KiB
PHP
<?php
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| API Routes
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Here is where you can register API routes for your application. These
|
|
| routes are loaded by the RouteServiceProvider and all of them will
|
|
| be assigned to the "api" middleware group. Make something great!
|
|
|
|
|
*/
|
|
|
|
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
|
|
return $request->user();
|
|
});
|
|
|
|
Route::get('/cidadePorNome/{nome}', 'HelperController@cidadePorNome');
|
|
Route::get('/cidadePorCodigoIbge/{codigo}', 'HelperController@cidadePorCodigoIbge');
|
|
Route::get('/cidadePorId/{id}', 'HelperController@cidadePorId');
|
|
Route::get('/buscaCidades', 'HelperController@buscaCidades');
|
|
Route::get('/planos-conta', 'HelperController@planoContas');
|
|
Route::get('/contas-empresa', 'HelperController@contasEmpresa');
|
|
Route::get('/conta-boleto', 'HelperController@contaBoleto');
|
|
Route::get('/contas-empresa-count', 'HelperController@contasEmpresaCount');
|
|
Route::get('/video-suporte', 'HelperController@videoSuporte');
|
|
Route::get('/etiqueta', 'HelperController@etiqueta');
|
|
Route::post('/wc-store', 'WoocommercePedidoController@storePedido');
|
|
Route::post('/wc-update', 'WoocommercePedidoController@updatePedido');
|
|
|
|
Route::middleware(['valid'])->group(function () {
|
|
Route::group(['prefix' => 'nfe'], function () {
|
|
Route::post('/emitir', 'NFeController@emitir');
|
|
Route::post('/xml-temporario', 'NFeController@xmlTemporario');
|
|
Route::post('/danfe-temporario', 'NFeController@danfeTemporario');
|
|
Route::post('/consultar', 'NFeController@consultar');
|
|
Route::post('/corrigir', 'NFeController@corrigir');
|
|
Route::post('/cancelar', 'NFeController@cancelar');
|
|
Route::post('/inutilizar', 'NFeController@inutilizar');
|
|
Route::post('/gerarNfe', 'NFeController@gerarNfe');
|
|
});
|
|
});
|
|
|
|
Route::middleware(['validNfce'])->group(function () {
|
|
Route::group(['prefix' => 'nfce'], function () {
|
|
Route::post('/emitir', 'NFCeController@emitir');
|
|
Route::post('/xml-temporario', 'NFCeController@xmlTemporario');
|
|
Route::post('/cancelar', 'NFCeController@cancelar');
|
|
Route::post('/consultar', 'NFCeController@consultar');
|
|
Route::post('/inutilizar', 'NFCeController@inutilizar');
|
|
// Route::post('/gerarNfce', 'NFCeController@gerarNfce');
|
|
});
|
|
});
|
|
|
|
Route::post('/nfce/gerarVenda', 'NFCeController@gerarVenda');
|
|
Route::post('/nfce/gerarNfce', 'NFCeController@gerarNfce');
|
|
|
|
Route::middleware(['validaCTe'])->group(function () {
|
|
Route::group(['prefix' => 'cte'], function () {
|
|
Route::post('/emitir', 'CTeController@emitir');
|
|
Route::post('/xml-temporario', 'CTeController@xmlTemporario');
|
|
Route::post('/dacte-temporario', 'CTeController@dacteTemporario');
|
|
|
|
Route::post('/cancelar', 'CTeController@cancelar');
|
|
Route::post('/consultar', 'CTeController@consultar');
|
|
});
|
|
});
|
|
|
|
//grupo para emissão painel
|
|
Route::group(['prefix' => 'nfe_painel'], function () {
|
|
Route::post('/emitir', 'NFePainelController@emitir')->middleware('validaNFe');
|
|
Route::post('/cancelar', 'NFePainelController@cancelar');
|
|
Route::post('/corrigir', 'NFePainelController@corrigir');
|
|
Route::post('/consultar', 'NFePainelController@consultar');
|
|
Route::post('/inutilizar', 'NFePainelController@inutilizar');
|
|
Route::post('/consulta-status-sefaz', 'NFePainelController@consultaStatusSefaz');
|
|
Route::get('/find', 'NFePainelController@find');
|
|
Route::post('/send-mail', 'NFePainelController@sendMail');
|
|
Route::get('/consulta-fiscal', 'NFePainelController@consultaFiscal');
|
|
});
|
|
|
|
Route::group(['prefix' => 'nfce_painel'], function () {
|
|
Route::post('/emitir', 'NFCePainelController@emitir')->middleware('validaNFCe');
|
|
Route::post('/cancelar', 'NFCePainelController@cancelar');
|
|
Route::post('/consultar', 'NFCePainelController@consultar');
|
|
Route::post('/consulta-status-sefaz', 'NFCePainelController@consultaStatusSefaz');
|
|
Route::post('/transmitir-contigencia', 'NFCePainelController@transmitirContigencia');
|
|
|
|
Route::post('/send-mail', 'NFCePainelController@sendMail');
|
|
Route::get('/consulta-fiscal', 'NFCePainelController@consultaFiscal');
|
|
});
|
|
|
|
Route::group(['prefix' => 'cte_painel'], function () {
|
|
Route::post('/emitir', 'CTePainelController@emitir')->middleware('validaCTe');
|
|
Route::post('/cancelar', 'CTePainelController@cancelar');
|
|
Route::post('/corrigir', 'CTePainelController@corrigir');
|
|
Route::post('/consultar', 'CTePainelController@consultar');
|
|
});
|
|
|
|
Route::group(['prefix' => 'cte_os_painel'], function () {
|
|
Route::post('/emitir', 'CTeOsPainelController@emitir');
|
|
Route::post('/cancelar', 'CTeOsPainelController@cancelar');
|
|
Route::post('/corrigir', 'CTeOsPainelController@corrigir');
|
|
Route::post('/consultar', 'CTeOsPainelController@consultar');
|
|
});
|
|
|
|
Route::group(['prefix' => 'mdfe_painel'], function () {
|
|
Route::post('/emitir', 'MDFePainelController@emitir')->middleware('validaMDFe');
|
|
Route::post('/cancelar', 'MDFePainelController@cancelar');
|
|
Route::post('/corrigir', 'MDFePainelController@corrigir');
|
|
Route::post('/consultar', 'MDFePainelController@consultar');
|
|
});
|
|
|
|
Route::group(['prefix' => 'mdfe'], function () {
|
|
Route::get('/linhaInfoDescarregamento', 'MdfeController@linhaInfoDescarregamento');
|
|
Route::get('/vendas-aprovadas', 'MdfeController@vendasAprovadas');
|
|
Route::post('/cancelar', 'MdfeController@cancelar');
|
|
});
|
|
|
|
Route::group(['prefix' => 'contador'], function () {
|
|
Route::get('/empresas', 'ContadorController@empresas');
|
|
});
|
|
|
|
Route::group(['prefix' => 'graficos'], function () {
|
|
Route::get('/grafico-vendas-mes', 'GraficoController@graficoVendasMes');
|
|
Route::get('/grafico-compras-mes', 'GraficoController@graficoComprasMes');
|
|
Route::get('/grafico-mes', 'GraficoController@graficoMes');
|
|
Route::get('/grafico-mes-contador', 'GraficoController@graficoMesContador');
|
|
Route::get('/grafico-ult-meses', 'GraficoController@graficoUltMeses');
|
|
Route::get('/grafico-conta-receber', 'GraficoController@graficoContaReceber');
|
|
Route::get('/grafico-conta-pagar', 'GraficoController@graficoContaPagar');
|
|
Route::get('/grafico-mes-cte', 'GraficoController@graficoMesCte');
|
|
Route::get('/grafico-mes-mdfe', 'GraficoController@graficoMesMdfe');
|
|
Route::get('/dados-cards', 'GraficoController@dadosCards');
|
|
Route::get('/cards-contas', 'GraficoController@cardsConta');
|
|
});
|
|
|
|
Route::group(['prefix' => 'cardapio'], function () {
|
|
Route::get('/switch-categoria', 'ProdutoCardapioController@switchCategoria');
|
|
});
|
|
|
|
Route::group(['prefix' => 'servico-marketplace'], function () {
|
|
Route::get('/switch-categoria', 'MarketPlaceController@switchCategoria');
|
|
});
|
|
|
|
Route::group(['prefix' => 'produtos-delivery'], function () {
|
|
Route::get('/switch-categoria', 'ProdutoDeliveryController@switchCategoria');
|
|
});
|
|
|
|
Route::group(['prefix' => 'produtos-ecommerce'], function () {
|
|
Route::get('/switch-categoria', 'ProdutoEcommerceController@switchCategoria');
|
|
});
|
|
|
|
Route::get('/paymentStatus/{id}', 'PaymentController@status');
|
|
Route::get('/payment-status-asaas', 'PaymentController@statusAsaas');
|
|
Route::post('/asaas-confirmacao', 'FinanceiroBoletoController@confirmacao');
|
|
|
|
Route::group(['prefix' => 'empresas'], function () {
|
|
Route::get('/', 'EmpresaController@pesquisa');
|
|
Route::get('/find-all', 'EmpresaController@findAll');
|
|
Route::get('/find-boleto', 'EmpresaController@findBoleto');
|
|
Route::get('/find-user', 'EmpresaController@findUser');
|
|
Route::get('/find', 'EmpresaController@find');
|
|
});
|
|
|
|
Route::get('/servicos-reserva', 'ServicoController@pesquisaReserva');
|
|
Route::group(['prefix' => 'servicos'], function () {
|
|
Route::get('/', 'ServicoController@pesquisa');
|
|
Route::get('/find/{id}', 'ServicoController@find');
|
|
});
|
|
|
|
Route::group(['prefix' => 'veiculos'], function () {
|
|
Route::get('/', 'VeiculoController@pesquisa');
|
|
Route::post('/store', 'VeiculoController@store');
|
|
});
|
|
|
|
Route::group(['prefix' => 'variacoes'], function () {
|
|
Route::get('/modelo', 'VariacaoController@modelo');
|
|
Route::get('/modelo-subvariacoes', 'VariacaoController@modeloVariacoes');
|
|
Route::get('/find', 'VariacaoController@find');
|
|
Route::get('/findById', 'VariacaoController@findById');
|
|
});
|
|
|
|
Route::group(['prefix' => 'combos'], function () {
|
|
Route::get('/modelo', 'ComboController@modelo');
|
|
});
|
|
|
|
Route::group(['prefix' => 'crm'], function () {
|
|
Route::get('/referenciar-registro', 'CrmController@referenciaRegistro');
|
|
Route::get('/modal', 'CrmController@modal');
|
|
Route::get('/modal-log-mensagem', 'CrmController@modalLog');
|
|
});
|
|
|
|
Route::group(['prefix' => 'localizacao'], function () {
|
|
Route::get('/find-number-doc', 'LocalizacaoController@findNumberDoc');
|
|
});
|
|
|
|
Route::group(['prefix' => 'planos'], function () {
|
|
Route::get('/find', 'PlanoController@find');
|
|
Route::get('/findOne/{id}', 'PlanoController@findOne');
|
|
});
|
|
|
|
Route::group(['prefix' => 'vendas'], function () {
|
|
Route::get('/pesquisa', 'VendaController@pesquisa');
|
|
Route::get('/filtro-troca', 'VendaController@filtroTroca');
|
|
});
|
|
|
|
Route::group(['prefix' => 'orcamentos'], function () {
|
|
Route::get('/valida-desconto', 'OrcamentoController@validaDesconto');
|
|
Route::get('/verifica-faturas', 'OrcamentoController@verificaFaturas');
|
|
});
|
|
|
|
Route::group(['prefix' => 'metas'], function () {
|
|
Route::get('/vendas-funcionario', 'MetaController@vendasFuncionario');
|
|
Route::get('/vendas-funcionario-grafico', 'MetaController@vendasFuncionarioGrafico');
|
|
Route::get('/os-funcionario', 'MetaController@ordemServicoFuncionario');
|
|
Route::get('/os-funcionario-grafico', 'MetaController@ordemServicoFuncionarioGrafico');
|
|
|
|
Route::get('/vendas-periodo', 'MetaController@vendasPeriodo');
|
|
});
|
|
|
|
Route::get('/produtos-composto', 'ProdutoController@pesquisaCompostos');
|
|
Route::get('/produtos-combo', 'ProdutoController@pesquisaCombo');
|
|
Route::get('/produtos-filtro', 'ProdutoController@pesquisaFiltro');
|
|
Route::get('/produtos-reserva', 'ProdutoController@pesquisaReserva');
|
|
Route::get('/produtos-filtro-codigo-barras', 'ProdutoController@pesquisaCodigoBarras');
|
|
Route::group(['prefix' => 'produtos'], function () {
|
|
Route::get('/', 'ProdutoController@pesquisa');
|
|
Route::get('/com-estoque', 'ProdutoController@pesquisaComEstoque');
|
|
Route::get('/codigo-unico', 'ProdutoController@codigoUnico');
|
|
Route::get('/tipo-producao', 'ProdutoController@tipoProducao');
|
|
Route::get('/cardapio', 'ProdutoController@pesquisaCardapio');
|
|
Route::get('/delivery', 'ProdutoController@pesquisaDelivery');
|
|
Route::get('/find', 'ProdutoController@find');
|
|
Route::get('/findId/{id}', 'ProdutoController@findId');
|
|
Route::get('/modal/{id}', 'ProdutoController@modal');
|
|
Route::get('/findWithLista', 'ProdutoController@findWithLista');
|
|
Route::get('/padrao', 'ProdutoController@padrao');
|
|
Route::get('/findByCategory', 'ProdutoController@findByCategory');
|
|
Route::get('/all', 'ProdutoController@all');
|
|
Route::get('/descricao', 'ProdutoController@descricao');
|
|
|
|
Route::get('/get-pizzas', 'ProdutoController@getPizzas');
|
|
Route::get('/calculo-pizza', 'ProdutoController@calculoPizza');
|
|
|
|
Route::get('/findByBarcode', 'ProdutoController@findByBarcode');
|
|
Route::get('/findByBarcodeReference', 'ProdutoController@findByBarcodeReference');
|
|
Route::get('/findByBarcodeReference2', 'ProdutoController@findByBarcodeReference2');
|
|
Route::get('/info-vencimento/{id}', 'ProdutoController@infoVencimento');
|
|
Route::get('/valida-estoque', 'ProdutoController@validaEstoque');
|
|
Route::post('/marca-store', 'ProdutoController@marcaStore');
|
|
Route::post('/categoria-store', 'ProdutoController@categoriaStore');
|
|
Route::get('/valida-atacado', 'ProdutoController@validaAtacado');
|
|
Route::get('/dados-produto-unico/{id}', 'ProdutoController@dadosProdutoUnico');
|
|
Route::get('/info', 'ProdutoController@info');
|
|
Route::get('/linha-dimensao', 'ProdutoController@linhaDimensao');
|
|
Route::get('/get-dimensao-edit', 'ProdutoController@getDimensaoEdit');
|
|
Route::post('/alterar-gerencia-estoque', 'ProdutoController@alterarGerenciamentoEstoque');
|
|
Route::get('/get-adicionais-modal', 'ProdutoController@getAdicionaisModal');
|
|
|
|
});
|
|
|
|
Route::group(['prefix' => 'nfse'], function () {
|
|
Route::post('/transmitir', 'NotaServicoController@transmitir');
|
|
Route::post('/consultar', 'NotaServicoController@consultar');
|
|
Route::post('/cancelar', 'NotaServicoController@cancelar');
|
|
});
|
|
|
|
Route::group(['prefix' => 'ncm'], function () {
|
|
Route::get('/', 'NcmController@pesquisa');
|
|
Route::get('/valida', 'NcmController@valida');
|
|
Route::get('/carregar', 'NcmController@carregar');
|
|
});
|
|
|
|
Route::group(['prefix' => 'usuarios'], function () {
|
|
Route::post('/set-sidebar', 'UserController@setSidebar');
|
|
Route::get('/', 'UserController@usuarios');
|
|
Route::get('/update-theme', 'UserController@updateTheme');
|
|
});
|
|
|
|
Route::group(['prefix' => 'clientes'], function () {
|
|
Route::get('/find/{id}', 'ClienteController@find');
|
|
Route::get('/cashback/{id}', 'ClienteController@cashback');
|
|
Route::get('/pesquisa', 'ClienteController@pesquisa');
|
|
Route::get('/pesquisa-delivery', 'ClienteController@pesquisaDelivery');
|
|
Route::post('/store', 'ClienteController@store');
|
|
Route::get('/consulta-debito', 'ClienteController@consultaDebitos');
|
|
Route::get('/produtos-historico', 'ClienteController@produtosHistorico');
|
|
});
|
|
|
|
Route::group(['prefix' => 'motoboys'], function () {
|
|
Route::get('/calc-comissao', 'MotoboyController@calcComissao');
|
|
});
|
|
|
|
Route::group(['prefix' => 'fornecedores'], function () {
|
|
Route::get('/find/{id}', 'FornecedorController@find');
|
|
Route::get('/pesquisa', 'FornecedorController@pesquisa');
|
|
Route::post('/store', 'FornecedorController@store');
|
|
});
|
|
|
|
Route::group(['prefix' => 'envio-fatura-wpp'], function () {
|
|
Route::get('/', 'EnvioFaturaWppController@index');
|
|
Route::post('/create-files', 'EnvioFaturaWppController@createFiles');
|
|
});
|
|
|
|
Route::group(['prefix' => 'funcionarios'], function () {
|
|
Route::get('/pesquisa', 'FuncionarioController@pesquisa');
|
|
Route::get('/find', 'FuncionarioController@find');
|
|
Route::get('/valida-atendimento', 'FuncionarioController@validaAtendimento');
|
|
});
|
|
|
|
Route::group(['prefix' => 'lista-preco'], function () {
|
|
Route::get('/pesquisa', 'ListaPrecoController@pesquisa');
|
|
Route::get('/find', 'ListaPrecoController@find');
|
|
});
|
|
|
|
Route::group(['prefix' => 'transportadoras'], function () {
|
|
Route::get('/find/{id}', 'TransportadoraController@find');
|
|
Route::get('/pesquisa', 'TransportadoraController@pesquisa');
|
|
});
|
|
|
|
Route::group(['prefix' => 'interrupcao'], function () {
|
|
Route::post('/store-motivo', 'InterrupcaoController@storeMotivo');
|
|
});
|
|
|
|
Route::group(['prefix' => 'conta-receber'], function () {
|
|
Route::get('/recorrencia', 'ContaReceberController@recorrencia');
|
|
Route::get('/faturas-cliente', 'ContaReceberController@faturasDoCliente');
|
|
});
|
|
|
|
Route::group(['prefix' => 'conta-pagar'], function () {
|
|
Route::get('/recorrencia', 'ContaPagarController@recorrencia');
|
|
});
|
|
|
|
Route::group(['prefix' => 'ecommerce'], function () {
|
|
Route::get('/calcular-frete', 'EcommerceController@calcularFrete');
|
|
Route::get('/valida-email', 'EcommerceController@validaEmail');
|
|
Route::get('/consulta-pix', 'EcommerceController@consultaPix');
|
|
Route::get('/variacao', 'EcommerceController@variacao');
|
|
});
|
|
|
|
Route::group(['prefix' => 'planejamento-custo'], function () {
|
|
Route::get('/find-servico', 'PlanejamentoCustoController@findServico');
|
|
Route::get('/find-produto', 'PlanejamentoCustoController@findProduto');
|
|
});
|
|
|
|
Route::group(['prefix' => 'gestao-producao'], function () {
|
|
Route::get('/calcular', 'GestaoProducaoController@calcular');
|
|
});
|
|
|
|
Route::group(['prefix' => 'frenteCaixa'], function () {
|
|
Route::get('/linhaProdutoVenda', 'FrontBoxController@linhaProdutoVenda');
|
|
Route::get('/linhaProdutoVendaAdd', 'FrontBoxController@linhaProdutoVendaAdd');
|
|
Route::get('/linhaParcelaVenda', 'FrontBoxController@linhaParcelaVenda');
|
|
Route::post('/store', 'FrontBoxController@store');
|
|
Route::post('/pdf-log', 'FrontBoxController@pdvLog');
|
|
Route::post('/storepdv3', 'FrontBoxController@storePdv3');
|
|
Route::post('/updatepdv3', 'FrontBoxController@updatePdv3');
|
|
Route::post('/suspender3', 'FrontBoxController@suspender3');
|
|
Route::post('/store-comanda', 'FrontBoxController@storeComanda');
|
|
Route::post('/storeNfe', 'FrontBoxController@storeNfe');
|
|
Route::post('/suspender', 'FrontBoxController@suspender');
|
|
Route::post('/suspender-update', 'FrontBoxController@suspenderUpdate');
|
|
Route::put('/update/{id}', 'FrontBoxController@update');
|
|
Route::get('/buscaFuncionario/{id}', 'FrontBoxController@buscaFuncionario');
|
|
Route::get('/venda-suspensas', 'FrontBoxController@vendasSuspensas');
|
|
Route::get('/orcamentos', 'FrontBoxController@orcamentos');
|
|
Route::get('/gerar-fatura', 'FrontBoxController@gerarFatura');
|
|
Route::get('/gerar-fatura-pdv', 'FrontBoxController@gerarFaturaPdv');
|
|
Route::get('/gerar-fatura-pdv2', 'FrontBoxController@gerarFaturaPdv2');
|
|
Route::post('/store-suprimento', 'FrontBoxController@storeSuprimento');
|
|
Route::post('/store-sangria', 'FrontBoxController@storeSangria');
|
|
|
|
Route::get('/fatura-padrao-cliente', 'FrontBoxController@faturaPadraoCliente');
|
|
Route::get('/fatura-padrao-cliente-pdv', 'FrontBoxController@faturaPadraoClientePdv');
|
|
|
|
Route::get('/categorias-page', 'FrontBoxController@categoriasPage');
|
|
Route::get('/marcas-page', 'FrontBoxController@marcasPage');
|
|
Route::get('/produtos-page', 'FrontBoxController@produtosPage');
|
|
Route::get('/produtos-page2', 'FrontBoxController@produtosPage2');
|
|
Route::post('/add-produto', 'FrontBoxController@addProduto');
|
|
Route::post('/add-produto2', 'FrontBoxController@addProduto2');
|
|
Route::get('/pesquisa-produto', 'FrontBoxController@pesquisaProduto');
|
|
Route::get('/edit-item', 'FrontBoxController@editItem');
|
|
Route::post('/qr-code-pix', 'FrontBoxController@qrCodePix');
|
|
Route::get('/consulta-pix', 'FrontBoxController@consultaPix');
|
|
Route::post('/atualizar-comanda', 'FrontBoxController@atualizarComanda');
|
|
Route::get('/detalhes-item', 'FrontBoxController@detalhesItem');
|
|
Route::get('/teste-conexao', function(){
|
|
return response()->json("ok", 200);
|
|
});
|
|
});
|
|
|
|
Route::group(['prefix' => 'financeiro-boleto'], function () {
|
|
Route::post('/store', 'FinanceiroBoletoController@store');
|
|
Route::get('/modal', 'FinanceiroBoletoController@modal');
|
|
});
|
|
|
|
Route::group(['prefix' => 'tef'], function () {
|
|
Route::get('/verifica-ativo', 'TefController@verificaAtivo');
|
|
Route::post('/store', 'TefController@store');
|
|
Route::post('/consulta', 'TefController@consulta');
|
|
Route::post('/cancelar', 'TefController@cancelar');
|
|
Route::post('/consulta-cancelamento', 'TefController@consultaCancelamento');
|
|
Route::post('/imprimir', 'TefController@imprimir');
|
|
});
|
|
|
|
Route::group(['prefix' => 'trocas'], function () {
|
|
Route::post('/store', 'TrocaController@store');
|
|
});
|
|
|
|
Route::group(['prefix' => 'manifesto'], function () {
|
|
Route::post('/novos-documentos', 'ManifestoController@novosDocumentos');
|
|
});
|
|
|
|
Route::group(['prefix' => 'impressao-pedido'], function () {
|
|
Route::get('/', 'ImpressaoPedidoController@index');
|
|
});
|
|
|
|
Route::post('/mercado-livre-notification', 'MercadoLivreController@notification');
|
|
|
|
Route::group(['prefix' => 'mercadolivre'], function () {
|
|
Route::get('/get-categorias', 'MercadoLivreController@getCategorias');
|
|
Route::get('/get-tipo-publicacao', 'MercadoLivreController@getTiposPublicacao');
|
|
});
|
|
|
|
Route::group(['prefix' => 'nuvemshop'], function () {
|
|
Route::get('/get-categorias', 'NuvemShopController@getCategorias');
|
|
});
|
|
|
|
Route::group(['prefix' => 'categorias-produto-subcategoria'], function () {
|
|
Route::get('/', 'CategoriaProdutoController@categoriaParaSubcategoria');
|
|
});
|
|
|
|
Route::group(['prefix' => 'subcategorias'], function () {
|
|
Route::get('/', 'CategoriaProdutoController@subcategorias');
|
|
});
|
|
|
|
Route::group(['prefix' => 'reservas'], function () {
|
|
Route::get('/disponiveis', 'ReservaController@disponiveis');
|
|
Route::get('/dados-acomodacao', 'ReservaController@dadosAcomodacao');
|
|
Route::get('/dados-hospedes', 'ReservaController@dadosHospedes');
|
|
});
|
|
|
|
Route::get('/notificacoes-pedido', 'NotificacaoController@index');
|
|
Route::get('/notificacoes-delivery', 'NotificacaoController@delivery');
|
|
Route::get('/notificacoes-ecommerce', 'NotificacaoController@ecommerce');
|
|
Route::post('/notificacoes-set-status', 'NotificacaoController@setStatus');
|
|
Route::get('/notificacoes-alertas', 'NotificacaoController@alertas');
|
|
Route::get('/notificacoes-alertas-super', 'NotificacaoController@alertaSuper');
|
|
|
|
Route::group(['prefix' => 'ordemServico'], function () {
|
|
Route::get('/linhaServico', 'OrdemServicoController@linhaServico');
|
|
Route::get('/linhaProduto', 'OrdemServicoController@linhaProduto');
|
|
Route::get('/find/{id}', 'OrdemServicoController@find');
|
|
Route::get('/findProduto/{id}', 'OrdemServicoController@findProduto');
|
|
Route::get('/findFuncionario/{id}', 'OrdemServicoController@findFuncionario');
|
|
Route::get('/linhaFuncionario', 'OrdemServicoController@linhaFuncionario');
|
|
Route::get('/medicos', 'OrdemServicoController@medicos');
|
|
Route::get('/convenios', 'OrdemServicoController@convenios');
|
|
Route::get('/laboratorios', 'OrdemServicoController@laboratorios');
|
|
Route::get('/tipos-armacao', 'OrdemServicoController@tiposArmacao');
|
|
});
|
|
|
|
Route::group(['prefix' => 'ordemProducao'], function () {
|
|
Route::get('/linha', 'OrdemProducaoController@linha');
|
|
});
|
|
|
|
Route::group(['prefix' => 'agendamentos'], function () {
|
|
Route::get('/buscar-horarios', 'AgendamentoController@buscarHorarios');
|
|
Route::post('/verificaDia', 'AgendamentoController@verificaDia');
|
|
});
|
|
|
|
Route::group(['prefix' => 'funcionamentos'], function () {
|
|
Route::get('/diasDoFuncionario', 'FuncionamentoController@diasDoFuncionario');
|
|
});
|
|
|
|
Route::group(['prefix' => 'pedidos'], function () {
|
|
Route::get('/itens-pendentes', 'PedidoController@itensPendentes');
|
|
});
|
|
|
|
Route::post('/cardapio-set-config', 'CardapioController@setConfig');
|
|
Route::get('/get-tipos-pagamento', 'CardapioController@tiposDePagamento');
|
|
Route::get('/config-geral', 'ConfigGeralController@index');
|
|
|
|
Route::middleware(['authCardapio'])->group(function () {
|
|
Route::group(['prefix' => 'app-cardapio'], function () {
|
|
Route::get('/get-categorias', 'CardapioController@categorias');
|
|
Route::get('/get-categoria/{id}', 'CardapioController@categoria');
|
|
Route::get('/get-produto/{id}', 'CardapioController@produto');
|
|
Route::post('/get-ingredientes', 'CardapioController@ingredientes');
|
|
Route::get('/get-produtos-pesquisa', 'CardapioController@pesquisa');
|
|
Route::get('/get-destaques', 'CardapioController@destaques');
|
|
Route::get('/get-config', 'CardapioController@config');
|
|
Route::post('/store-pedido', 'CardapioController@storePedido');
|
|
Route::post('/store-mesa', 'CardapioController@storeMesa');
|
|
Route::get('/get-conta', 'CardapioController@conta');
|
|
Route::post('/call-garcom', 'CardapioController@chamarGarcom');
|
|
Route::post('/finalizar-conta', 'CardapioController@finalizarConta');
|
|
Route::get('/pedido-emAtendimento', 'CardapioController@emAtendimento');
|
|
Route::get('/tamanhos-pizza', 'CardapioController@tamanhosPizza');
|
|
});
|
|
});
|
|
|
|
Route::post('/comanda-set-config', 'Comanda\\ConfigController@setConfig');
|
|
|
|
Route::middleware(['authCardapio'])->group(function () {
|
|
// app garçom
|
|
Route::group(['prefix' => 'app-garcom'], function () {
|
|
Route::get('/home', 'Comanda\\HomeController@index');
|
|
Route::get('/get-comandas', 'Comanda\\ComandaController@comandas');
|
|
Route::get('/buscar-comandas', 'Comanda\\ComandaController@buscarComandas');
|
|
Route::get('/find-comanda', 'Comanda\\ComandaController@find');
|
|
|
|
Route::delete('/destroy-comanda/{id}', 'Comanda\\ComandaController@destroy');
|
|
|
|
Route::get('/find-produto', 'Comanda\\ComandaController@produto');
|
|
Route::get('/get-produtos', 'Comanda\\ComandaController@produtos');
|
|
Route::post('/store-item', 'Comanda\\ComandaController@storeItem');
|
|
Route::post('/store-itens-clear', 'Comanda\\ComandaController@storeItensClear');
|
|
Route::post('/remove-item', 'Comanda\\ComandaController@removeItem');
|
|
Route::get('/find-cliente', 'Comanda\\ClienteController@findCliente');
|
|
Route::post('/open-comanda', 'Comanda\\ComandaController@openComanda');
|
|
Route::post('/fechar-comanda', 'Comanda\\ComandaController@fecharComanda');
|
|
Route::get('/get-tamanhos', 'Comanda\\ComandaController@getTamanhos');
|
|
Route::post('/valor-pizza', 'Comanda\\ComandaController@valorPizza');
|
|
Route::get('/get-sabores', 'Comanda\\ComandaController@getSabores');
|
|
|
|
Route::get('/contas-receber', 'Comanda\\ContaReceberController@index');
|
|
Route::put('/contas-receber-update/{id}', 'Comanda\\ContaReceberController@update');
|
|
Route::delete('/contas-receber-destroy/{id}', 'Comanda\\ContaReceberController@destroy');
|
|
Route::post('/contas-receber-store', 'Comanda\\ContaReceberController@store');
|
|
Route::post('/contas-receber-receive', 'Comanda\\ContaReceberController@receive');
|
|
Route::get('/contas-receber-categorias', 'Comanda\\ContaReceberController@categorias');
|
|
|
|
Route::get('/clientes', 'Comanda\\ClienteController@index');
|
|
Route::post('/clientes-store', 'Comanda\\ClienteController@store');
|
|
Route::put('/clientes-update/{id}', 'Comanda\\ClienteController@update');
|
|
Route::delete('/clientes-destroy/{id}', 'Comanda\\ClienteController@destroy');
|
|
Route::get('/cidades', 'Comanda\\ClienteController@cidades');
|
|
Route::get('/cidades2', 'Comanda\\ClienteController@cidades2');
|
|
|
|
Route::get('/orcamentos', 'Comanda\\OrcamentoController@index');
|
|
Route::get('/orcamento', 'Comanda\\OrcamentoController@find');
|
|
Route::get('/orcamentos-produtos', 'Comanda\\OrcamentoController@produtos');
|
|
Route::get('/tipos-pagamento', 'Comanda\\OrcamentoController@tiposDePagamento');
|
|
Route::post('/store-orcamento', 'Comanda\\OrcamentoController@store');
|
|
Route::delete('/orcamentos-destroy', 'Comanda\\OrcamentoController@destroy');
|
|
Route::put('/update-orcamento/{id}', 'Comanda\\OrcamentoController@update');
|
|
|
|
Route::get('/pre-vendas', 'Comanda\\PreVendaController@index');
|
|
Route::post('/store-pre-venda', 'Comanda\\PreVendaController@store');
|
|
Route::put('/update-pre-venda/{id}', 'Comanda\\PreVendaController@update');
|
|
Route::delete('/pre-venda-destroy', 'Comanda\\PreVendaController@destroy');
|
|
|
|
Route::get('/listas-preco', 'Comanda\\OrcamentoController@listasDePreco');
|
|
Route::get('/dados-funcionario', 'Comanda\\OrcamentoController@dadosFuncionario');
|
|
|
|
Route::get('/produtos', 'Comanda\\ProdutoController@index');
|
|
Route::get('/categorias', 'Comanda\\ProdutoController@categorias');
|
|
Route::post('/produtos-store', 'Comanda\\ProdutoController@store');
|
|
Route::put('/produtos-update/{id}', 'Comanda\\ProdutoController@update');
|
|
Route::delete('/produtos-destroy/{id}', 'Comanda\\ProdutoController@destroy');
|
|
Route::post('/produtos-upload', 'Comanda\\ProdutoController@upload');
|
|
Route::get('/tipos-pagamento-pdv', 'Comanda\\FrontboxController@tiposDePagamento');
|
|
Route::post('/pdv-store', 'Comanda\\FrontboxController@store');
|
|
Route::post('/caixa', 'Comanda\\FrontboxController@caixa');
|
|
Route::post('/sangria-store', 'Comanda\\FrontboxController@sangriaStore');
|
|
Route::post('/suprimento-store', 'Comanda\\FrontboxController@suprimentoStore');
|
|
Route::post('/fechar-caixa', 'Comanda\\FrontboxController@fecharCaixa');
|
|
Route::post('/abrir-caixa', 'Comanda\\FrontboxController@abrirCaixa');
|
|
|
|
Route::post('/pdv-cupon-nao-fiscal', 'Comanda\\FrontboxController@cupomNaoFiscal');
|
|
Route::post('/pdv-cupon-fiscal', 'Comanda\\FrontboxController@cupomFiscal');
|
|
Route::post('/pdv-emitir-nfce', 'Comanda\\NFCeController@emitir');
|
|
|
|
});
|
|
});
|
|
|
|
Route::post('/auth-app', 'Kotlin\\AuthController@auth');
|
|
|
|
Route::middleware(['authApp'])->group(function () {
|
|
// app garçom
|
|
Route::group(['prefix' => 'app'], function () {
|
|
|
|
Route::post('/emitir-nfe', 'App\\NfeController@emitir');
|
|
Route::post('/cancelar-nfe', 'App\\NfeController@cancelar');
|
|
Route::post('/danfe', 'App\\NfeController@danfe');
|
|
Route::post('/danfe-cancela', 'App\\NfeController@danfeCancela');
|
|
Route::post('/imprimir-pedido-nfe', 'App\\NfeController@imprimirPedido');
|
|
|
|
Route::post('/relatorio-vendas', 'App\\RelatorioController@vendas');
|
|
Route::post('/relatorio-estoque', 'App\\RelatorioController@estoque');
|
|
|
|
Route::get('/naturezas-operacao', 'App\\NfeController@naturezaOperacao');
|
|
Route::get('/transportadoras', 'App\\NfeController@transportadoras');
|
|
Route::get('/nfe', 'App\\NfeController@all');
|
|
Route::get('/nfe-find', 'App\\NfeController@find');
|
|
Route::post('/nfe-store', 'App\\NfeController@store');
|
|
Route::post('/nfe-update', 'App\\NfeController@update');
|
|
|
|
Route::get('/contas-pagar', 'App\\ContaPagarController@index');
|
|
Route::put('/contas-pagar-update/{id}', 'App\\ContaPagarController@update');
|
|
Route::delete('/contas-pagar-destroy/{id}', 'App\\ContaPagarController@destroy');
|
|
Route::post('/contas-pagar-store', 'App\\ContaPagarController@store');
|
|
Route::post('/contas-pagar-receive', 'App\\ContaPagarController@pay');
|
|
Route::get('/contas-pagar-categorias', 'App\\ContaPagarController@categorias');
|
|
|
|
Route::get('/fornecedores', 'App\\FornecedorController@index');
|
|
Route::post('/fornecedores-store', 'App\\FornecedorController@store');
|
|
Route::put('/fornecedores-update/{id}', 'App\\FornecedorController@update');
|
|
Route::delete('/fornecedores-destroy/{id}', 'App\\FornecedorController@destroy');
|
|
});
|
|
});
|
|
|
|
Route::group(['prefix' => 'pre-venda'], function () {
|
|
Route::get('/finalizar/{id}', 'PreVendaController@finalizar');
|
|
});
|
|
|
|
Route::group(['prefix' => 'cardapio-link'], function () {
|
|
Route::post('/valida-estoque', 'Cardapio\\CarrinhoController@validaEstoque');
|
|
Route::post('/atualiza-quantidade', 'Cardapio\\CarrinhoController@atualizaQuantidade');
|
|
Route::post('/remove-item', 'Cardapio\\CarrinhoController@removeItem');
|
|
});
|
|
|
|
Route::group(['prefix' => 'delivery-link'], function () {
|
|
Route::get('/cupom', 'Delivery\\HelperController@cupom');
|
|
Route::get('/valida-fone', 'Delivery\\HelperController@validaFone');
|
|
Route::post('/cliente-store', 'Delivery\\HelperController@clienteStore');
|
|
Route::get('/set-endereco', 'Delivery\\HelperController@setEndereco');
|
|
Route::get('/hash-pizzas', 'Delivery\\HelperController@hashPizzas');
|
|
Route::get('/valor-pizza', 'Delivery\\HelperController@valorPizza');
|
|
|
|
Route::post('/store-order-pix', 'Delivery\\HelperController@storePix');
|
|
Route::get('/consulta-pix', 'Delivery\\HelperController@consultaPix');
|
|
Route::get('/consulta-pedido', 'Delivery\\HelperController@consultaPedido');
|
|
|
|
//novo
|
|
Route::get('/produto-modal/{hash}', 'Delivery\\ProdutoController@produtoModal')->name('produto-delivery.modal');
|
|
Route::get('/produto-cardapio-modal/{hash}', 'Cardapio\\ProdutoController@produtoModal')->name('produto-cardapio.modal');
|
|
Route::post('/remove-item', 'Delivery\\CarrinhoController@removeItem');
|
|
Route::post('/carrinho-count', 'Delivery\\CarrinhoController@carrinhoCount');
|
|
Route::post('/carrinho-count-cardapio', 'Cardapio\\CarrinhoController@carrinhoCount');
|
|
Route::post('/atualiza-quantidade', 'Delivery\\CarrinhoController@atualizaQuantidade');
|
|
|
|
Route::post('/valida-estoque', 'Delivery\\CarrinhoController@validaEstoque');
|
|
|
|
Route::get('/carrinho-modal', 'Delivery\\CarrinhoController@carrinhoModal')->name('carrinho.modal');
|
|
Route::post('/atualiza-carrinho', 'Delivery\\CarrinhoController@atualizaCarrinho');
|
|
Route::post('/comprovante-carrinho', 'Delivery\\CarrinhoController@comprovanteCarrinho');
|
|
Route::get('/find-endereco', 'Delivery\\CarrinhoController@findEndereco');
|
|
Route::get('/pesquisa-pizza', 'Delivery\\ProdutoController@pesquisaPizza');
|
|
Route::get('/monta-pizza', 'Delivery\\ProdutoController@montaPizza');
|
|
Route::get('/get-enderecos', 'Delivery\\CarrinhoController@getEnderecos');
|
|
|
|
Route::get('/servico-modal/{hash}', 'Delivery\\ServicoController@servicoModal')->name('servico-delivery.modal');
|
|
Route::get('/get-atendentes', 'Delivery\\ServicoController@getAtendentes');
|
|
|
|
|
|
});
|
|
|
|
//rotas de delivery
|
|
Route::middleware(['authDelivery'])->group(function () {
|
|
Route::group(['prefix' => 'delivery'], function(){
|
|
Route::get('/categorias', 'Delivery\\ProdutoController@all');
|
|
Route::get('/produto/{id}', 'Delivery\\ProdutoController@find');
|
|
Route::get('/config', 'Delivery\\ConfigController@index');
|
|
Route::get('/cupom', 'Delivery\\ConfigController@cupom');
|
|
|
|
Route::post('/endereco-save', 'Delivery\\ClienteController@enderecoSave');
|
|
Route::post('/endereco-update', 'Delivery\\ClienteController@enderecoUpdate');
|
|
Route::post('/update-endereco-padrao', 'Delivery\\ClienteController@updateEnderecoPadrao');
|
|
|
|
Route::post('/login', 'Delivery\\ClienteController@login');
|
|
Route::post('/send-code', 'Delivery\\ClienteController@sendCode');
|
|
Route::post('/refresh-code', 'Delivery\\ClienteController@refreshCode');
|
|
Route::post('/cliente-save', 'Delivery\\ClienteController@clienteSave');
|
|
Route::post('/cliente-update', 'Delivery\\ClienteController@clienteUpdate');
|
|
Route::post('/cliente-update-senha', 'Delivery\\ClienteController@clienteUpdateSenha');
|
|
Route::get('/find-cliente', 'Delivery\\ClienteController@findCliente');
|
|
Route::post('/pedido-save', 'Delivery\\PedidoController@save');
|
|
|
|
Route::get('/adicionais', 'Delivery\\ProdutoController@adicionais');
|
|
Route::get('/carrossel', 'Delivery\\ProdutoController@carrossel');
|
|
Route::get('/bairros', 'Delivery\\ConfigController@bairros');
|
|
Route::post('/gerar-qrcode', 'Delivery\\PedidoController@gerarQrcode');
|
|
Route::post('/status-pix', 'Delivery\\PedidoController@consultaPix');
|
|
Route::post('/ultimo-pedido-confirmar', 'Delivery\\PedidoController@ultimoPedidoParaConfirmar');
|
|
Route::post('/consulta-pedido-lido', 'Delivery\\PedidoController@consultaPedidoLido');
|
|
|
|
});
|
|
});
|
|
|
|
Route::post('/nfse-webhook', 'NfseWebHookController@index');
|
|
Route::post('/vendizap-webhook', 'VendizapWebHookController@index');
|
|
|
|
Route::group(['prefix' => 'pdv-mobo'], function () {
|
|
Route::post('/store', 'PdvMoboController@store');
|
|
Route::post('/suspender', 'PdvMoboController@suspender');
|
|
Route::get('/vendas-suspensa', 'PdvMoboController@vendasSuspensa');
|
|
Route::get('/vendas-diaria', 'PdvMoboController@vendasDiaria');
|
|
Route::get('/vendas-diaria-nfe', 'PdvMoboController@vendasDiariaNfe');
|
|
Route::get('/produtos-categoria', 'PdvMoboController@produtosCategoria');
|
|
Route::get('/produtos-codigo-barras', 'PdvMoboController@produtosCodigoBarras');
|
|
Route::get('/comandas', 'PdvMoboController@comandas');
|
|
|
|
Route::post('/update-comanda', 'PdvMoboController@updateComanda');
|
|
Route::get('/sabores-tamanhos', 'PdvMoboController@saboresTamanhos');
|
|
|
|
Route::post('/store-nfe', 'PdvMoboController@storeNfe');
|
|
});
|
|
|
|
Route::group(['prefix' => 'pdv'], function () {
|
|
Route::post('/login', 'PDV\\LoginController@login');
|
|
Route::post('/produtos', 'PDV\\ProdutoController@produtos');
|
|
Route::post('/categorias', 'PDV\\ProdutoController@categorias');
|
|
Route::post('/clientes', 'PDV\\ClienteController@all');
|
|
Route::post('/vendedores', 'PDV\\ClienteController@vendedores');
|
|
Route::post('/store-venda', 'PDV\\VendaController@store');
|
|
Route::get('/bandeiras-cartao', 'PDV\\VendaController@bandeirasCartao');
|
|
Route::get('/dados-empresa', 'PDV\\LoginController@dadosEmpresa');
|
|
Route::get('/contas-empresa', 'PDV\\VendaController@contasEmpresa');
|
|
Route::get('/tipos-pagamento', 'PDV\\VendaController@tiposPagamento');
|
|
Route::get('/get-caixa', 'PDV\\VendaController@getCaixa');
|
|
Route::get('/get-vendas-caixa', 'PDV\\VendaController@getVendasCaixa');
|
|
Route::post('/store-caixa', 'PDV\\VendaController@storeCaixa');
|
|
Route::post('/store-sangria', 'PDV\\VendaController@storeSangria');
|
|
Route::post('/store-suprimento', 'PDV\\VendaController@storeSuprimento');
|
|
Route::post('/fechar-caixa', 'PDV\\VendaController@fecharCaixa');
|
|
Route::get('/data-home', 'PDV\\VendaController@dataHome');
|
|
Route::get('/lista-preco', 'PDV\\ProdutoController@listaPreco');
|
|
Route::get('/empresa-ativa', 'PDV\\LoginController@empresaAtiva');
|
|
Route::get('/locais-usuario', 'PDV\\VendaController@locaisUsuario');
|
|
});
|
|
|
|
Route::middleware(['validaApiToken'])->group(function () {
|
|
Route::group(['prefix' => 'v1'], function () {
|
|
Route::group(['prefix' => 'categoria-produtos'], function () {
|
|
Route::get('/', 'Token\\CategoriaProdutoController@index');
|
|
Route::get('/{id}', 'Token\\CategoriaProdutoController@find');
|
|
Route::post('/store', 'Token\\CategoriaProdutoController@store');
|
|
Route::put('/update', 'Token\\CategoriaProdutoController@update');
|
|
Route::delete('/delete', 'Token\\CategoriaProdutoController@delete');
|
|
});
|
|
|
|
Route::group(['prefix' => 'clientes'], function () {
|
|
Route::get('/', 'Token\\ClienteController@index');
|
|
Route::get('/{id}', 'Token\\ClienteController@find');
|
|
Route::post('/store', 'Token\\ClienteController@store');
|
|
Route::put('/update', 'Token\\ClienteController@update');
|
|
Route::delete('/delete', 'Token\\ClienteController@delete');
|
|
});
|
|
|
|
Route::group(['prefix' => 'fornecedores'], function () {
|
|
Route::get('/', 'Token\\FornecedorController@index');
|
|
Route::get('/{id}', 'Token\\FornecedorController@find');
|
|
Route::post('/store', 'Token\\FornecedorController@store');
|
|
Route::put('/update', 'Token\\FornecedorController@update');
|
|
Route::delete('/delete', 'Token\\FornecedorController@delete');
|
|
});
|
|
|
|
Route::group(['prefix' => 'produtos'], function () {
|
|
Route::get('/', 'Token\\ProdutoController@index');
|
|
Route::get('/{id}', 'Token\\ProdutoController@find');
|
|
Route::post('/store', 'Token\\ProdutoController@store');
|
|
Route::put('/update', 'Token\\ProdutoController@update');
|
|
Route::delete('/delete', 'Token\\ProdutoController@delete');
|
|
});
|
|
|
|
Route::group(['prefix' => 'vendas-pdv'], function () {
|
|
Route::get('/', 'Token\\VendaPdvController@index');
|
|
Route::get('/{id}', 'Token\\VendaPdvController@find');
|
|
Route::post('/store', 'Token\\VendaPdvController@store');
|
|
Route::put('/update', 'Token\\VendaPdvController@update');
|
|
Route::delete('/delete', 'Token\\VendaPdvController@delete');
|
|
});
|
|
|
|
Route::group(['prefix' => 'vendas'], function () {
|
|
Route::get('/', 'Token\\VendaController@index');
|
|
Route::get('/{id}', 'Token\\VendaController@find');
|
|
Route::post('/store', 'Token\\VendaController@store');
|
|
Route::put('/update', 'Token\\VendaController@update');
|
|
Route::delete('/delete', 'Token\\VendaController@delete');
|
|
});
|
|
|
|
Route::group(['prefix' => 'cotacao'], function () {
|
|
Route::get('/', 'Token\\ContacaoController@index');
|
|
Route::get('/{id}', 'Token\\ContacaoController@find');
|
|
Route::post('/store', 'Token\\ContacaoController@store');
|
|
Route::put('/update', 'Token\\ContacaoController@update');
|
|
Route::delete('/delete', 'Token\\ContacaoController@delete');
|
|
});
|
|
|
|
Route::group(['prefix' => 'usuarios'], function () {
|
|
Route::get('/', 'Token\\UsuarioController@index');
|
|
Route::get('/{id}', 'Token\\UsuarioController@find');
|
|
});
|
|
|
|
Route::group(['prefix' => 'caixa'], function () {
|
|
Route::get('/open', 'Token\\CaixaController@open');
|
|
Route::post('/store', 'Token\\CaixaController@store');
|
|
Route::post('/close', 'Token\\CaixaController@close');
|
|
|
|
});
|
|
|
|
Route::group(['prefix' => 'natureza-operacao'], function () {
|
|
Route::get('/', 'Token\\NaturezaOperacaoController@index');
|
|
Route::get('/{id}', 'Token\\NaturezaOperacaoController@find');
|
|
Route::post('/store', 'Token\\NaturezaOperacaoController@store');
|
|
Route::put('/update', 'Token\\NaturezaOperacaoController@update');
|
|
Route::delete('/delete', 'Token\\NaturezaOperacaoController@delete');
|
|
});
|
|
|
|
Route::group(['prefix' => 'padrao-fiscal'], function () {
|
|
Route::get('/', 'Token\\PadraoFiscalController@index');
|
|
Route::get('/{id}', 'Token\\PadraoFiscalController@find');
|
|
Route::post('/store', 'Token\\PadraoFiscalController@store');
|
|
Route::put('/update', 'Token\\PadraoFiscalController@update');
|
|
Route::delete('/delete', 'Token\\PadraoFiscalController@delete');
|
|
});
|
|
|
|
Route::group(['prefix' => 'emitente'], function () {
|
|
Route::get('/', 'Token\\EmitenteController@index');
|
|
Route::put('/update', 'Token\\EmitenteController@update');
|
|
});
|
|
|
|
});
|
|
});
|
|
|
|
Route::middleware(['validaApiTokenSuperAdmin'])->group(function () {
|
|
Route::group(['prefix' => 'v1'], function () {
|
|
Route::group(['prefix' => 'planos'], function () {
|
|
Route::get('/', 'TokenSuperAdmin\\PlanoController@index');
|
|
Route::get('/{id}', 'TokenSuperAdmin\\PlanoController@find');
|
|
Route::post('/store', 'TokenSuperAdmin\\PlanoController@store');
|
|
Route::put('/update', 'TokenSuperAdmin\\PlanoController@update');
|
|
Route::delete('/delete', 'TokenSuperAdmin\\PlanoController@delete');
|
|
});
|
|
|
|
Route::group(['prefix' => 'empresas'], function () {
|
|
Route::get('/', 'TokenSuperAdmin\\EmpresaController@index');
|
|
Route::get('/{id}', 'TokenSuperAdmin\\EmpresaController@find');
|
|
Route::post('/store', 'TokenSuperAdmin\\EmpresaController@store');
|
|
Route::put('/update', 'TokenSuperAdmin\\EmpresaController@update');
|
|
Route::delete('/delete', 'TokenSuperAdmin\\EmpresaController@delete');
|
|
});
|
|
|
|
Route::group(['prefix' => 'usuarios'], function () {
|
|
Route::get('/', 'TokenSuperAdmin\\UsuarioController@index');
|
|
Route::get('/{id}', 'TokenSuperAdmin\\UsuarioController@find');
|
|
Route::post('/store', 'TokenSuperAdmin\\UsuarioController@store');
|
|
Route::put('/update', 'TokenSuperAdmin\\UsuarioController@update');
|
|
Route::delete('/delete', 'TokenSuperAdmin\\UsuarioController@delete');
|
|
});
|
|
|
|
Route::group(['prefix' => 'gerenciar-planos'], function () {
|
|
Route::post('/store', 'TokenSuperAdmin\\GerenciarPlanoController@store');
|
|
});
|
|
});
|
|
});
|
|
|
|
// Arcadia Suite Admin APIs (protected by internal token)
|
|
Route::group(['prefix' => 'suite', 'middleware' => ['api']], function () {
|
|
// Internal token for Suite-to-Plus authentication (set by proxy)
|
|
// SECURITY: Verify request comes via Suite proxy (X-Forwarded-Prefix) or has valid token
|
|
$SUITE_INTERNAL_TOKEN = env('SUITE_INTERNAL_TOKEN', null);
|
|
|
|
// Middleware to verify internal token for CRUD operations
|
|
$verifyInternalToken = function ($request, $next) use ($SUITE_INTERNAL_TOKEN) {
|
|
$token = $request->header('X-Suite-Internal-Token');
|
|
$hasProxyHeader = $request->header('X-Forwarded-Prefix') === '/plus';
|
|
|
|
// If token is configured, verify it matches
|
|
if ($SUITE_INTERNAL_TOKEN !== null && $token !== null) {
|
|
if ($token === $SUITE_INTERNAL_TOKEN) {
|
|
return $next($request);
|
|
}
|
|
}
|
|
|
|
// Allow if request comes through proxy (has X-Forwarded-Prefix from Suite)
|
|
if ($hasProxyHeader) {
|
|
return $next($request);
|
|
}
|
|
|
|
// Check if running in local/development environment
|
|
if (app()->environment('local', 'development')) {
|
|
return $next($request);
|
|
}
|
|
|
|
return response()->json([
|
|
'error' => 'Unauthorized',
|
|
'message' => 'Admin access not allowed from external sources'
|
|
], 401);
|
|
};
|
|
|
|
// Dashboard stats (read-only, public)
|
|
Route::get('/stats', function () {
|
|
$empresas = \App\Models\Empresa::count();
|
|
$planos = \App\Models\Plano::where('status', true)->count();
|
|
$usuarios = \App\Models\User::count();
|
|
$nfes = \App\Models\Nfe::count();
|
|
$nfces = \App\Models\Nfce::count();
|
|
$mrr = \App\Models\Empresa::join('planos', 'empresas.plano_id', '=', 'planos.id')
|
|
->where('empresas.status', true)
|
|
->sum('planos.valor');
|
|
return response()->json([
|
|
'empresas' => $empresas,
|
|
'planos' => $planos,
|
|
'usuarios' => $usuarios,
|
|
'nfes' => $nfes,
|
|
'nfces' => $nfces,
|
|
'mrr' => floatval($mrr),
|
|
]);
|
|
});
|
|
|
|
// Planos - Read (public)
|
|
Route::get('/planos', function () {
|
|
return \App\Models\Plano::orderBy('valor')->get();
|
|
});
|
|
Route::get('/planos/{id}', function ($id) {
|
|
return \App\Models\Plano::findOrFail($id);
|
|
});
|
|
|
|
// Planos - Write (protected by internal token)
|
|
Route::post('/planos', function (\Illuminate\Http\Request $request) use ($verifyInternalToken) {
|
|
// Verify token first
|
|
$authCheck = $verifyInternalToken($request, function($r) { return null; });
|
|
if ($authCheck !== null) return $authCheck;
|
|
|
|
$validated = $request->validate([
|
|
'nome' => 'required|string|max:255',
|
|
'descricao' => 'nullable|string',
|
|
'maximo_nfes' => 'required|integer|min:0',
|
|
'maximo_nfces' => 'required|integer|min:0',
|
|
'maximo_ctes' => 'nullable|integer|min:0',
|
|
'maximo_mdfes' => 'nullable|integer|min:0',
|
|
'maximo_usuarios' => 'required|integer|min:1',
|
|
'maximo_locais' => 'nullable|integer|min:1',
|
|
'valor' => 'required|numeric|min:0',
|
|
'valor_implantacao' => 'nullable|numeric|min:0',
|
|
'intervalo_dias' => 'nullable|integer|min:1',
|
|
'status' => 'nullable|boolean',
|
|
'fiscal' => 'nullable|boolean',
|
|
]);
|
|
$validated['imagem'] = $request->input('imagem', 'default.png');
|
|
$validated['visivel_clientes'] = $request->input('visivel_clientes', true);
|
|
$validated['visivel_contadores'] = $request->input('visivel_contadores', true);
|
|
$validated['modulos'] = $request->input('modulos', '[]');
|
|
$plano = \App\Models\Plano::create($validated);
|
|
return response()->json($plano, 201);
|
|
});
|
|
Route::put('/planos/{id}', function (\Illuminate\Http\Request $request, $id) use ($verifyInternalToken) {
|
|
// Verify token first
|
|
$authCheck = $verifyInternalToken($request, function($r) { return null; });
|
|
if ($authCheck !== null) return $authCheck;
|
|
|
|
$plano = \App\Models\Plano::findOrFail($id);
|
|
$validated = $request->validate([
|
|
'nome' => 'sometimes|string|max:255',
|
|
'descricao' => 'nullable|string',
|
|
'maximo_nfes' => 'sometimes|integer|min:0',
|
|
'maximo_nfces' => 'sometimes|integer|min:0',
|
|
'maximo_ctes' => 'nullable|integer|min:0',
|
|
'maximo_mdfes' => 'nullable|integer|min:0',
|
|
'maximo_usuarios' => 'sometimes|integer|min:1',
|
|
'maximo_locais' => 'nullable|integer|min:1',
|
|
'valor' => 'sometimes|numeric|min:0',
|
|
'valor_implantacao' => 'nullable|numeric|min:0',
|
|
'intervalo_dias' => 'nullable|integer|min:1',
|
|
'status' => 'nullable|boolean',
|
|
'fiscal' => 'nullable|boolean',
|
|
]);
|
|
$plano->update($validated);
|
|
return response()->json($plano);
|
|
});
|
|
Route::delete('/planos/{id}', function (\Illuminate\Http\Request $request, $id) use ($verifyInternalToken) {
|
|
// Verify token first
|
|
$authCheck = $verifyInternalToken($request, function($r) { return null; });
|
|
if ($authCheck !== null) return $authCheck;
|
|
|
|
$plano = \App\Models\Plano::findOrFail($id);
|
|
$plano->delete();
|
|
return response()->json(['message' => 'Plano removido']);
|
|
});
|
|
|
|
// Empresas - Read (public)
|
|
Route::get('/empresas', function () {
|
|
return \App\Models\Empresa::with('plano')->get();
|
|
});
|
|
Route::get('/empresas/{id}', function ($id) {
|
|
return \App\Models\Empresa::with('plano')->findOrFail($id);
|
|
});
|
|
|
|
// Empresas - Write (protected by internal token)
|
|
Route::post('/empresas', function (\Illuminate\Http\Request $request) use ($verifyInternalToken) {
|
|
// Verify token first
|
|
$authCheck = $verifyInternalToken($request, function($r) { return null; });
|
|
if ($authCheck !== null) return $authCheck;
|
|
|
|
$validated = $request->validate([
|
|
'nome' => 'required|string|max:255',
|
|
'nome_fantasia' => 'nullable|string|max:255',
|
|
'cpf_cnpj' => 'required|string|max:20',
|
|
'email' => 'required|email|max:255',
|
|
'celular' => 'nullable|string|max:20',
|
|
'plano_id' => 'nullable|exists:planos,id',
|
|
'status' => 'nullable|boolean',
|
|
'cep' => 'nullable|string|max:10',
|
|
'rua' => 'nullable|string|max:255',
|
|
'numero' => 'nullable|string|max:20',
|
|
'bairro' => 'nullable|string|max:100',
|
|
'cidade_id' => 'nullable|integer',
|
|
]);
|
|
$empresa = \App\Models\Empresa::create($validated);
|
|
return response()->json($empresa, 201);
|
|
});
|
|
Route::put('/empresas/{id}', function (\Illuminate\Http\Request $request, $id) use ($verifyInternalToken) {
|
|
// Verify token first
|
|
$authCheck = $verifyInternalToken($request, function($r) { return null; });
|
|
if ($authCheck !== null) return $authCheck;
|
|
|
|
$empresa = \App\Models\Empresa::findOrFail($id);
|
|
$validated = $request->validate([
|
|
'nome' => 'sometimes|string|max:255',
|
|
'nome_fantasia' => 'nullable|string|max:255',
|
|
'cpf_cnpj' => 'sometimes|string|max:20',
|
|
'email' => 'sometimes|email|max:255',
|
|
'celular' => 'nullable|string|max:20',
|
|
'plano_id' => 'nullable|exists:planos,id',
|
|
'status' => 'nullable|boolean',
|
|
]);
|
|
$empresa->update($validated);
|
|
return response()->json($empresa);
|
|
});
|
|
Route::delete('/empresas/{id}', function (\Illuminate\Http\Request $request, $id) use ($verifyInternalToken) {
|
|
// Verify token first
|
|
$authCheck = $verifyInternalToken($request, function($r) { return null; });
|
|
if ($authCheck !== null) return $authCheck;
|
|
|
|
$empresa = \App\Models\Empresa::findOrFail($id);
|
|
$empresa->delete();
|
|
return response()->json(['message' => 'Empresa removida']);
|
|
});
|
|
|
|
// Usuários (read-only for now)
|
|
Route::get('/usuarios', function () {
|
|
return \App\Models\User::with('empresa')->get();
|
|
});
|
|
Route::get('/usuarios/{id}', function ($id) {
|
|
return \App\Models\User::with('empresa')->findOrFail($id);
|
|
});
|
|
|
|
// Suite API Controller - Unified data for Arcádia Suite frontend
|
|
Route::get('/dashboard', '\App\Http\Controllers\SuiteApiController@dashboardStats');
|
|
Route::get('/clientes', '\App\Http\Controllers\SuiteApiController@clientes');
|
|
Route::get('/fornecedores', '\App\Http\Controllers\SuiteApiController@fornecedores');
|
|
Route::get('/produtos', '\App\Http\Controllers\SuiteApiController@produtos');
|
|
Route::get('/vendas', '\App\Http\Controllers\SuiteApiController@vendas');
|
|
Route::get('/compras', '\App\Http\Controllers\SuiteApiController@compras');
|
|
Route::get('/contas-receber', '\App\Http\Controllers\SuiteApiController@contasReceber');
|
|
Route::get('/contas-pagar', '\App\Http\Controllers\SuiteApiController@contasPagar');
|
|
});
|
|
|
|
|