Skip to content

Patrimônio

Visão Geral

O módulo de Patrimônio (Assets) gerencia os bens da igreja — equipamentos, instrumentos, mobiliário, imóveis, etc. Cada bem pode ter tipo, condição, status, foto e histórico de movimentações (transferências, manutenções, baixas).

Models

AssetType

Namespace: App\Domain\Asset\Models\AssetType

Categoria de patrimônio, criada pela própria igreja.

CampoTipoDescrição
ulidstringIdentificador público
nomestringNome da categoria (ex: Instrumento, Móvel)

Asset

Namespace: App\Domain\Asset\Models\Asset

Usa ULID, SoftDeletes, Auditable e Spatie MediaLibrary (collection foto).

CampoTipoDescrição
ulidstringIdentificador público
asset_type_idFKTipo do patrimônio
congregation_idFKCongregação proprietária (nullable)
nomestringNome do bem
descricaotextDescrição detalhada (nullable)
numero_seriestringNúmero de série (nullable)
valor_aquisicaodecimalValor de aquisição (nullable)
data_aquisicaodateData de aquisição (nullable)
statusenum AssetStatusStatus atual do bem
condicaoenum AssetConditionCondição física do bem

Relationships:

  • assetType() — belongsTo AssetType
  • congregation() — belongsTo Congregation
  • movements() — hasMany AssetMovement
  • getFotoUrlAttribute() — URL pública via rota media.show (multi-tenant safe)

AssetMovement

Namespace: App\Domain\Asset\Models\AssetMovement

Histórico de movimentações do bem.

CampoTipoDescrição
asset_idFKBem vinculado
tipoenum MovementTypeTipo da movimentação
descricaotextDescrição/motivo
data_movimentacaodateData da movimentação
de_congregation_idFKCongregação de origem (nullable)
para_congregation_idFKCongregação de destino (nullable)
responsavel_idFK usersUsuário responsável (nullable)

Relationships:

  • asset() — belongsTo Asset
  • deCongregation() — belongsTo Congregation (de_congregation_id)
  • paraCongregation() — belongsTo Congregation (para_congregation_id)

Enums

AssetStatus

ValorLabel
ativoAtivo
em_manutencaoEm Manutenção
baixadoBaixado

AssetCondition

ValorLabel
novoNovo
bomBom
regularRegular
ruimRuim

MovementType

ValorDescrição
transferenciaTransferência entre congregações
manutencaoEnvio para manutenção
baixaBaixa/descarte do bem

Actions

ActionDescrição
CreateAssetActionCria bem + upload de foto (opcional)
UpdateAssetActionAtualiza dados do bem e substitui foto
DeleteAssetActionSoft delete do bem
RegisterAssetMovementActionRegistra movimentação e atualiza status/congregação

Endpoints

MétodoRotaControllerDescrição
GET/assetsAssetController@indexLista patrimônio com filtros
POST/assetsAssetController@storeCadastrar bem
GET/assets/{ulid}AssetController@showDetalhes do bem
PUT/assets/{ulid}AssetController@updateAtualizar bem
DELETE/assets/{ulid}AssetController@destroyExcluir bem
POST/assets/{ulid}/movementsAssetMovementController@storeRegistrar movimentação

Permissões

PermissãoQuem tem
asset.viewadmin-igreja, secretario, tesoureiro, admin-congregacao
asset.createadmin-igreja, secretario, tesoureiro
asset.editadmin-igreja, secretario, tesoureiro
asset.deleteadmin-igreja

Registrar movimentações exige asset.edit. Visualizar o histórico exige asset.view.