Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
24 / 24
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
DocumentVariableCatalog
100.00% covered (success)
100.00%
24 / 24
100.00% covered (success)
100.00%
2 / 2
2
100.00% covered (success)
100.00%
1 / 1
 all
100.00% covered (success)
100.00%
23 / 23
100.00% covered (success)
100.00%
1 / 1
1
 keys
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3declare(strict_types=1);
4
5namespace ImovelZapAi\Documents\Application\Services;
6
7final class DocumentVariableCatalog
8{
9    /**
10     * @return list<array{key: string, label: string, group: string}>
11     */
12    public function all(): array
13    {
14        return [
15            ['key' => 'cliente.nome', 'label' => 'Nome do cliente', 'group' => 'Cliente'],
16            ['key' => 'cliente.telefone', 'label' => 'Telefone do cliente', 'group' => 'Cliente'],
17            ['key' => 'proprietario.nome', 'label' => 'Nome do proprietário', 'group' => 'Proprietário'],
18            ['key' => 'imovel.titulo', 'label' => 'Título do imóvel', 'group' => 'Imóvel'],
19            ['key' => 'imovel.endereco', 'label' => 'Endereço', 'group' => 'Imóvel'],
20            ['key' => 'imovel.cidade', 'label' => 'Cidade', 'group' => 'Imóvel'],
21            ['key' => 'imovel.valor', 'label' => 'Valor do imóvel', 'group' => 'Imóvel'],
22            ['key' => 'imovel.condominio', 'label' => 'Valor do condomínio', 'group' => 'Imóvel'],
23            ['key' => 'imovel.area', 'label' => 'Área', 'group' => 'Imóvel'],
24            ['key' => 'imovel.quartos', 'label' => 'Quartos', 'group' => 'Imóvel'],
25            ['key' => 'imovel.descricao', 'label' => 'Descrição do imóvel', 'group' => 'Imóvel'],
26            ['key' => 'documento.valor', 'label' => 'Valor do documento', 'group' => 'Documento'],
27            ['key' => 'documento.numero', 'label' => 'Número do documento', 'group' => 'Documento'],
28            ['key' => 'documento.titulo', 'label' => 'Título do documento', 'group' => 'Documento'],
29            ['key' => 'documento.mensagem', 'label' => 'Mensagem introdutória', 'group' => 'Documento'],
30            ['key' => 'corretor.nome', 'label' => 'Nome do corretor', 'group' => 'Corretor'],
31            ['key' => 'corretor.creci', 'label' => 'CRECI', 'group' => 'Corretor'],
32            ['key' => 'corretor.telefone', 'label' => 'Telefone do corretor', 'group' => 'Corretor'],
33            ['key' => 'empresa.nome', 'label' => 'Nome da imobiliária', 'group' => 'Empresa'],
34            ['key' => 'empresa.logo', 'label' => 'URL do logo', 'group' => 'Empresa'],
35            ['key' => 'data.hoje', 'label' => 'Data de hoje', 'group' => 'Data'],
36        ];
37    }
38
39    /** @return list<string> */
40    public function keys(): array
41    {
42        return array_column($this->all(), 'key');
43    }
44}