Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Freeline PDV

Pacote Laravel do PDV Freeline para uso dentro do SimplesLaravel ou em uma instalacao standalone. O pacote registra rotas, views, assets, middlewares e migrations pelo Freeline\Pdv\PdvServiceProvider.

Requisitos

  • PHP 8.2 ou superior.
  • Laravel 12.
  • notagil/integration-sdk na versao exigida pelo pacote.
  • Acesso ao pacote Composer freeline/pdv.

Instalacao no SimplesLaravel

No diretorio raiz do SimplesLaravel, instale ou atualize o pacote:

composer require freeline/pdv:^0.2.3 notagil/integration-sdk:^0.4.3 -W

Se o Composer ainda nao conhecer o repositorio do pacote, registre o repositorio VCS antes do require:

composer config repositories.freeline-pdv vcs https://github.com/Freeline-Informatica/pdv
composer require freeline/pdv:^0.2.3 notagil/integration-sdk:^0.4.3 -W

Depois limpe caches e confirme a descoberta do provider:

php artisan optimize:clear
php artisan package:discover

Configuracao para ERP

Publique a configuracao:

php artisan vendor:publish --tag=pdv-config

No SimplesLaravel, o arquivo config/pdv.php deve manter o pacote em modo ERP e desabilitar as migrations standalone:

return [
    'mode' => env('PDV_MODE', 'erp'),
    'load_migrations' => true,
    'load_standalone_migrations' => false,
    'load_standalone_routes' => false,
    'web_session_auth' => true,
    'access_permission' => env('PDV_ACCESS_PERMISSION', 'pdv.acessar'),
    'web_middleware' => ['web', 'auth', 'verified', 'pdv.web.access'],

    'models' => [
        'user' => App\Models\User::class,
        'product' => App\Domain\Produtos\Models\Produto::class,
        'produto' => App\Domain\Produtos\Models\Produto::class,
        'estabelecimento' => App\Domain\Pessoas\Models\Estabelecimento::class,
    ],

    'adapters' => [
        'product_catalog' => App\Infrastructure\Pdv\Adapters\ErpProductCatalogRepository::class,
        'stock_movement' => App\Infrastructure\Pdv\Adapters\ErpStockMovementService::class,
        'operator' => App\Infrastructure\Pdv\Adapters\ErpOperatorResolver::class,
        'company_context' => App\Infrastructure\Pdv\Adapters\ErpCompanyContextResolver::class,
        'fiscal_config' => App\Infrastructure\Pdv\Adapters\ErpFiscalConfigProvider::class,
        'payment_methods' => App\Infrastructure\Pdv\Adapters\ErpPaymentMethodRepository::class,
    ],

    'vite_inputs' => [
        'resources/js/pdv/app.js',
    ],
];

Variaveis de ambiente usuais:

PDV_MODE=erp
PDV_LOAD_MIGRATIONS=true
PDV_LOAD_STANDALONE_MIGRATIONS=false
PDV_FRONTEND_PATH=pdv
PDV_API_PREFIX=api/pdv
PDV_ACCESS_PERMISSION=pdv.acessar

Assets e frontend

Publique os assets quando instalar ou atualizar o pacote:

php artisan vendor:publish --tag=pdv-assets --force

No SimplesLaravel, mantenha o entrypoint local apontando para o pacote:

// resources/js/pdv/app.js
import '../../../vendor/freeline/pdv/resources/app/js/app.js';

O vite.config.ts do SimplesLaravel precisa incluir resources/js/pdv/app.js nos inputs e liberar leitura de vendor/freeline/pdv no server.fs.allow durante desenvolvimento.

Depois compile:

npm install
npm run build

Migrations necessarias

O provider carrega migrations diretamente do pacote. Nao e necessario copiar arquivos para database/migrations.

SimplesLaravel / ERP

No ERP rode somente as migrations core. O proprio provider faz isso quando PDV_MODE=erp e PDV_LOAD_STANDALONE_MIGRATIONS=false.

Antes de aplicar em producao, revise o plano:

php artisan migrate --pretend

Execute:

php artisan migrate --force

Se precisar rodar explicitamente apenas as migrations core do pacote:

php artisan migrate --path=vendor/freeline/pdv/database/migrations/core --force

Nao rode database/migrations/standalone no SimplesLaravel. Essas migrations criam tabelas base que o ERP ja possui ou resolve por adapters.

Standalone

Em uma instalacao standalone, deixe o modo padrao ou configure:

PDV_MODE=standalone
PDV_LOAD_STANDALONE_MIGRATIONS=true

Depois rode:

php artisan migrate --force

Nesse modo o provider carrega database/migrations/core e database/migrations/standalone.

Rotas

Por padrao:

  • Frontend: /pdv
  • API: /api/pdv

Esses prefixos podem ser alterados por:

PDV_FRONTEND_PATH=pdv
PDV_API_PREFIX=api/pdv

Atualizacao do pacote

Para atualizar o pacote no SimplesLaravel:

composer update freeline/pdv notagil/integration-sdk -W
php artisan optimize:clear
php artisan vendor:publish --tag=pdv-assets --force
php artisan migrate --force
npm run build

Use php artisan migrate --pretend antes do migrate --force quando estiver validando uma atualizacao em ambiente critico.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages