bildvitta / sp-hub
Pacote Laravel para sincronização e importação de dados do SP via RabbitMQ.
Requires
- php: ^8.0|^8.1|^8.2|^8.3
- appnave/nave-sdk-iss: ^0.2
- illuminate/contracts: ^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- php-amqplib/php-amqplib: ^3.2.0
- ramsey/uuid: ^4.2.2
- spatie/laravel-package-tools: ^1.12
Requires (Dev)
- laravel/pint: ^1.16
- phpunit/phpunit: ^9.5
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-main
- v0.2.2
- v0.2.1
- v0.2.0
- v0.1.30
- v0.1.29
- v0.1.28
- v0.1.28-beta.1
- v0.1.27.1
- v0.1.27
- v0.1.26
- v0.1.25
- v0.1.25-beta.1
- v0.1.24
- v0.1.24.beta-01
- v0.1.23
- v0.1.22
- v0.1.21
- v0.1.21.beta-02
- v0.1.21.beta-01
- v0.1.20
- v0.1.20.beta-01
- v0.1.19
- v0.1.18
- v0.1.17
- v0.1.16
- v0.1.15
- v0.1.15-beta.07
- v0.1.15-beta.06
- v0.1.15-beta.05
- v0.1.15-beta.04
- v0.1.15-beta.03
- v0.1.15-beta.02
- v0.1.15-beta.01
- v0.1.14
- v0.1.13
- v0.1.12
- v0.1.11
- v0.1.11-beta.1
- v0.1.10
- v0.1.9
- v0.1.9-beta.1
- v0.1.8
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1
- v0.1-beta.7
- v0.1-beta.6
- v0.1-beta.5
- v0.1-beta.4
- v0.1-beta.3
- v0.1-beta.2
- v0.1-beta.1
- v0.0.16
- v0.0.15
- v0.0.14
- v0.0.13
- v0.0.12
- v0.0.11
- v0.0.10
- v0.0.9
- v0.0.8
- v0.0.7
- v0.0.6
- v0.0.5
- v0.0.4
- v0.0.3
- v0.0.2
- v0.0.1
- dev-feature/change-package
- dev-feature/brand_main_company
- dev-feature/credit-policy-3
- dev-feature/workers-fail-fields-null
- dev-develop
This package is not auto-updated.
Last update: 2026-09-01 17:43:05 UTC
README
Visão geral
appnave/nave-hub-sp é um pacote privado de Laravel para sincronização e importação de dados do SP via RabbitMQ.
O consumo é feito em projetos clientes por meio de repositório VCS no composer.json.
Requisitos
- PHP 8.0, 8.1, 8.2 ou 8.3
- Laravel 8, 9, 10, 11 ou 12
- Composer 2
- Acesso ao repositório privado do pacote
- RabbitMQ para uso dos comandos de mensagem e configuração
- Banco de dados acessível para a importação do hub, quando aplicável
Acesso a Repositórios Privados
No projeto cliente, adicione o repositório VCS no composer.json:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/ORG/REPO"
}
]
}
Instale o pacote:
composer require appnave/nave-hub-sp:dev-develop
Autenticação local do Composer com GitHub:
composer config -g github-oauth.github.com <YOUR_TOKEN>
GitHub Actions:
env: COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GITHUB_TOKEN }}"}}'
Se o pacote ou alguma dependência privada exigir outro token, use um secret próprio no lugar do GITHUB_TOKEN.
Instalação Local
No projeto cliente:
composer install php artisan sp-hub:install
Se o ambiente usar RabbitMQ, rode também:
php artisan sp-hub:configure
Depois de ajustar .env ou config/sp-hub.php, recarregue o cache de configuração se o projeto usar cache:
php artisan config:clear php artisan config:cache
Variáveis de Ambiente
RABBITMQ_HOST= RABBITMQ_PORT=5672 RABBITMQ_USER= RABBITMQ_PASSWORD= RABBITMQ_VIRTUALHOST=/ RABBITMQ_EXCHANGE_HUB=hub RABBITMQ_QUEUE_HUB= RABBITMQ_USE_SSL=true HUB_DB_HOST=127.0.0.1 HUB_DB_PORT=3306 HUB_DB_DATABASE=forge HUB_DB_USERNAME=forge HUB_DB_PASSWORD=
Em ambiente local, o worker usa conexão sem SSL automaticamente.
Useful Commands
php artisan sp-hub:install php artisan sp-hub:configure php artisan rabbitmqworker:hub php artisan dataimport:hub --select=500 --offset=0 --tables=brands,companies,users,positions,permissions,roles,user_companies,user_company_parent_positions,user_company_real_estate_developments
sp-hub:installpublica a configuração e as migrations do pacote.sp-hub:configurecria exchange e fila no RabbitMQ quando o ambiente estiver habilitado.rabbitmqworker:hubconsome e processa mensagens.dataimport:hubinicia a importação em background.
Conventions
- O pacote publica migrations para tabelas e colunas relacionadas a users, companies, brands, roles e workers.
- Se o modelo
Userdo projeto cliente usar mass assignment, inclua os campos extras suportados pelo pacote no$fillable. - Campos mais usados pelo pacote:
'document', 'address', 'street_number', 'complement', 'city', 'state', 'postal_code',
- Para
Company, as migrations também podem exigir:
'company_name', 'document', 'address', 'street_number', 'complement', 'city', 'state', 'postal_code',
- Este pacote é privado e depende da configuração do projeto cliente para repositórios Composer, variáveis de ambiente, RabbitMQ e banco do hub.