Commit 538e988c544571fef5f611ac186065c3d4f7db36
1 parent
1f0bb11a
Exists in
master
redmine #4583 busca permissao documento
Showing
16 changed files
with
127 additions
and
9 deletions
Show diff stats
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/ColaboradorDao.java
| @@ -141,4 +141,11 @@ public interface ColaboradorDao extends CitGenericDAO { | @@ -141,4 +141,11 @@ public interface ColaboradorDao extends CitGenericDAO { | ||
| 141 | */ | 141 | */ |
| 142 | Collection<Colaborador> findPessoaColaboradorUsuarioPorNome(String nome); | 142 | Collection<Colaborador> findPessoaColaboradorUsuarioPorNome(String nome); |
| 143 | 143 | ||
| 144 | + /** | ||
| 145 | + * Método responsável por obter permissão para assinatura de documento | ||
| 146 | + * @author rogerio.cassimiro | ||
| 147 | + * @param idUsuario | ||
| 148 | + * @return {@link Boolean} | ||
| 149 | + */ | ||
| 150 | + boolean getPermissaoAssinaturaDocumento(Long idUsuario); | ||
| 144 | } | 151 | } |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/PessoaDao.java
| @@ -39,5 +39,5 @@ public interface PessoaDao extends CitGenericDAO{ | @@ -39,5 +39,5 @@ public interface PessoaDao extends CitGenericDAO{ | ||
| 39 | List<Pessoa> findByUsuario(Pessoa pessoa); | 39 | List<Pessoa> findByUsuario(Pessoa pessoa); |
| 40 | 40 | ||
| 41 | Pessoa buscaPessoaPorUsuarioId(Long idUsuario); | 41 | Pessoa buscaPessoaPorUsuarioId(Long idUsuario); |
| 42 | - | 42 | + |
| 43 | } | 43 | } |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/TerceirizadoDao.java
| @@ -25,4 +25,11 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; | @@ -25,4 +25,11 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; | ||
| 25 | */ | 25 | */ |
| 26 | public interface TerceirizadoDao extends CitGenericDAO { | 26 | public interface TerceirizadoDao extends CitGenericDAO { |
| 27 | 27 | ||
| 28 | + /** | ||
| 29 | + * Método responsável por obter permissão para assinatura de documento | ||
| 30 | + * @author rogerio.cassimiro | ||
| 31 | + * @param idUsuario | ||
| 32 | + * @return {@link Boolean} | ||
| 33 | + */ | ||
| 34 | + boolean getPermissaoAssinaturaDocumento(Long idUsuario); | ||
| 28 | } | 35 | } |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/ColaboradorDaoHibernate.java
| @@ -10,6 +10,7 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; | @@ -10,6 +10,7 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; | ||
| 10 | import br.com.centralit.framework.dao.arquitetura.SearchSeven; | 10 | import br.com.centralit.framework.dao.arquitetura.SearchSeven; |
| 11 | import br.com.centralit.framework.model.Dominio; | 11 | import br.com.centralit.framework.model.Dominio; |
| 12 | import br.com.centralit.framework.model.Usuario; | 12 | import br.com.centralit.framework.model.Usuario; |
| 13 | +import br.com.centralit.framework.util.UtilObjeto; | ||
| 13 | 14 | ||
| 14 | import com.googlecode.genericdao.search.Sort; | 15 | import com.googlecode.genericdao.search.Sort; |
| 15 | 16 | ||
| @@ -183,4 +184,19 @@ public class ColaboradorDaoHibernate extends CitGenericDAOImpl implements Colabo | @@ -183,4 +184,19 @@ public class ColaboradorDaoHibernate extends CitGenericDAOImpl implements Colabo | ||
| 183 | 184 | ||
| 184 | return this.search(search, Colaborador.class); | 185 | return this.search(search, Colaborador.class); |
| 185 | } | 186 | } |
| 187 | + | ||
| 188 | + /** | ||
| 189 | + * Método responsável por obter permissão para assinatura de documento | ||
| 190 | + * @author rogerio.cassimiro | ||
| 191 | + * @param idUsuario | ||
| 192 | + * @return {@link Boolean} | ||
| 193 | + */ | ||
| 194 | + @Override | ||
| 195 | + public boolean getPermissaoAssinaturaDocumento(Long idUsuario) { | ||
| 196 | + SearchSeven searchSeven = new SearchSeven(); | ||
| 197 | + searchSeven.addFilterEqual("pessoa.usuario.id", idUsuario); | ||
| 198 | + searchSeven.addFilterEqual("classeParceiro.dominioTipoParceiro.codigo", Dominio.TIPO_PARCEIRO_COLABORADOR_SERVIDOR); | ||
| 199 | + searchSeven.addFilterNotEmpty("funcao.id"); | ||
| 200 | + return UtilObjeto.isReferencia(this.searchUnique(searchSeven)); | ||
| 201 | + } | ||
| 186 | } | 202 | } |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/PessoaDaoHibernate.java
| @@ -9,6 +9,8 @@ import org.springframework.stereotype.Repository; | @@ -9,6 +9,8 @@ import org.springframework.stereotype.Repository; | ||
| 9 | import br.com.centralit.api.dao.PessoaDao; | 9 | import br.com.centralit.api.dao.PessoaDao; |
| 10 | import br.com.centralit.api.model.Pessoa; | 10 | import br.com.centralit.api.model.Pessoa; |
| 11 | import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; | 11 | import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; |
| 12 | +import br.com.centralit.framework.dao.arquitetura.SearchSeven; | ||
| 13 | +import br.com.centralit.framework.util.UtilObjeto; | ||
| 12 | 14 | ||
| 13 | /** | 15 | /** |
| 14 | * <p> | 16 | * <p> |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/TerceirizadoDaoHibernate.java
| @@ -5,6 +5,9 @@ import org.springframework.stereotype.Repository; | @@ -5,6 +5,9 @@ import org.springframework.stereotype.Repository; | ||
| 5 | import br.com.centralit.api.dao.TerceirizadoDao; | 5 | import br.com.centralit.api.dao.TerceirizadoDao; |
| 6 | import br.com.centralit.api.model.Terceirizado; | 6 | import br.com.centralit.api.model.Terceirizado; |
| 7 | import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; | 7 | import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; |
| 8 | +import br.com.centralit.framework.dao.arquitetura.SearchSeven; | ||
| 9 | +import br.com.centralit.framework.model.Dominio; | ||
| 10 | +import br.com.centralit.framework.util.UtilObjeto; | ||
| 8 | 11 | ||
| 9 | 12 | ||
| 10 | /** | 13 | /** |
| @@ -40,4 +43,18 @@ public class TerceirizadoDaoHibernate extends CitGenericDAOImpl implements Terce | @@ -40,4 +43,18 @@ public class TerceirizadoDaoHibernate extends CitGenericDAOImpl implements Terce | ||
| 40 | super(Terceirizado.class); | 43 | super(Terceirizado.class); |
| 41 | } | 44 | } |
| 42 | 45 | ||
| 46 | + /** | ||
| 47 | + * Método responsável por obter permissão para assinatura de documento | ||
| 48 | + * @author rogerio.cassimiro | ||
| 49 | + * @param idUsuario | ||
| 50 | + * @return {@link Boolean} | ||
| 51 | + */ | ||
| 52 | + @Override | ||
| 53 | + public boolean getPermissaoAssinaturaDocumento(Long idUsuario) { | ||
| 54 | + SearchSeven searchSeven = new SearchSeven(); | ||
| 55 | + searchSeven.addFilterEqual("pessoa.usuario.id", idUsuario); | ||
| 56 | + searchSeven.addFilterEqual("classeParceiro.dominioTipoParceiro.codigo", Dominio.TIPO_PARCEIRO_TERCEIRIZADO); | ||
| 57 | + searchSeven.addFilterNotEmpty("funcao.id"); | ||
| 58 | + return UtilObjeto.isReferencia(this.searchUnique(searchSeven)); | ||
| 59 | + } | ||
| 43 | } | 60 | } |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/ColaboradorService.java
| @@ -141,5 +141,11 @@ public interface ColaboradorService extends GenericService<Colaborador, Long> { | @@ -141,5 +141,11 @@ public interface ColaboradorService extends GenericService<Colaborador, Long> { | ||
| 141 | */ | 141 | */ |
| 142 | Collection<Colaborador> findPessoaColaboradorUsuarioPorNome(String nome); | 142 | Collection<Colaborador> findPessoaColaboradorUsuarioPorNome(String nome); |
| 143 | 143 | ||
| 144 | + /** | ||
| 145 | + * Método responsável por obter permissão para assinatura de documento | ||
| 146 | + * @author rogerio.cassimiro | ||
| 147 | + * @return {@link Boolean} | ||
| 148 | + */ | ||
| 149 | + boolean getPermissaoAssinaturaDocumento(); | ||
| 144 | 150 | ||
| 145 | } | 151 | } |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/PessoaService.java
| @@ -2,9 +2,6 @@ package br.com.centralit.api.service; | @@ -2,9 +2,6 @@ package br.com.centralit.api.service; | ||
| 2 | 2 | ||
| 3 | import java.util.Collection; | 3 | import java.util.Collection; |
| 4 | 4 | ||
| 5 | -import org.springframework.security.access.annotation.Secured; | ||
| 6 | -import org.springframework.security.access.prepost.PreAuthorize; | ||
| 7 | - | ||
| 8 | import br.com.centralit.api.model.Colaborador; | 5 | import br.com.centralit.api.model.Colaborador; |
| 9 | import br.com.centralit.api.model.Pessoa; | 6 | import br.com.centralit.api.model.Pessoa; |
| 10 | import br.com.centralit.api.viewHelper.PessoaVH; | 7 | import br.com.centralit.api.viewHelper.PessoaVH; |
| @@ -302,4 +299,11 @@ public interface PessoaService extends GenericService<Pessoa, Long> { | @@ -302,4 +299,11 @@ public interface PessoaService extends GenericService<Pessoa, Long> { | ||
| 302 | boolean removeTerceirizado(Long id); | 299 | boolean removeTerceirizado(Long id); |
| 303 | 300 | ||
| 304 | Pessoa buscaPessoaPorUsuarioId(Long idUsuario); | 301 | Pessoa buscaPessoaPorUsuarioId(Long idUsuario); |
| 302 | + | ||
| 303 | + /** | ||
| 304 | + * Método responsável por obter permissão para assinatura de documento | ||
| 305 | + * @author rogerio.cassimiro | ||
| 306 | + * @return {@link Boolean} | ||
| 307 | + */ | ||
| 308 | + boolean getPermissaoAssinaturaDocumento(); | ||
| 305 | } | 309 | } |
| 306 | \ No newline at end of file | 310 | \ No newline at end of file |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/TerceirizadoService.java
| @@ -26,4 +26,11 @@ import br.com.centralit.framework.service.arquitetura.GenericService; | @@ -26,4 +26,11 @@ import br.com.centralit.framework.service.arquitetura.GenericService; | ||
| 26 | */ | 26 | */ |
| 27 | public interface TerceirizadoService extends GenericService<Terceirizado, Long> { | 27 | public interface TerceirizadoService extends GenericService<Terceirizado, Long> { |
| 28 | 28 | ||
| 29 | + /** | ||
| 30 | + * Método responsável por obter permissão para assinatura de documento | ||
| 31 | + * @author rogerio.cassimiro | ||
| 32 | + * @return {@link Boolean} | ||
| 33 | + */ | ||
| 34 | + boolean getPermissaoAssinaturaDocumento(); | ||
| 35 | + | ||
| 29 | } | 36 | } |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/ColaboradorServiceImpl.java
| @@ -4,6 +4,7 @@ import java.util.Collection; | @@ -4,6 +4,7 @@ import java.util.Collection; | ||
| 4 | 4 | ||
| 5 | import org.springframework.beans.factory.annotation.Autowired; | 5 | import org.springframework.beans.factory.annotation.Autowired; |
| 6 | import org.springframework.beans.factory.annotation.Qualifier; | 6 | import org.springframework.beans.factory.annotation.Qualifier; |
| 7 | +import org.springframework.security.core.context.SecurityContextHolder; | ||
| 7 | import org.springframework.stereotype.Service; | 8 | import org.springframework.stereotype.Service; |
| 8 | import org.springframework.validation.Validator; | 9 | import org.springframework.validation.Validator; |
| 9 | 10 | ||
| @@ -195,5 +196,16 @@ public class ColaboradorServiceImpl extends GenericServiceImpl<Colaborador, Long | @@ -195,5 +196,16 @@ public class ColaboradorServiceImpl extends GenericServiceImpl<Colaborador, Long | ||
| 195 | 196 | ||
| 196 | return this.colaboradorDao.findPessoaColaboradorUsuarioPorNome(nome); | 197 | return this.colaboradorDao.findPessoaColaboradorUsuarioPorNome(nome); |
| 197 | } | 198 | } |
| 199 | + | ||
| 200 | + /** | ||
| 201 | + * Método responsável por obter permissão para assinatura de documento | ||
| 202 | + * @author rogerio.cassimiro | ||
| 203 | + * @return {@link Boolean} | ||
| 204 | + */ | ||
| 205 | + @Override | ||
| 206 | + public boolean getPermissaoAssinaturaDocumento() { | ||
| 207 | + Usuario usuario = (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); | ||
| 208 | + return this.colaboradorDao.getPermissaoAssinaturaDocumento(usuario.getId()); | ||
| 209 | + } | ||
| 198 | 210 | ||
| 199 | } | 211 | } |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/PessoaServiceImpl.java
| @@ -1256,4 +1256,16 @@ public class PessoaServiceImpl extends GenericServiceImpl<Pessoa, Long> implemen | @@ -1256,4 +1256,16 @@ public class PessoaServiceImpl extends GenericServiceImpl<Pessoa, Long> implemen | ||
| 1256 | return this.pessoaDao.buscaPessoaPorUsuarioId(idUsuario); | 1256 | return this.pessoaDao.buscaPessoaPorUsuarioId(idUsuario); |
| 1257 | 1257 | ||
| 1258 | } | 1258 | } |
| 1259 | + | ||
| 1260 | + /** | ||
| 1261 | + * Método responsável por obter permissão para assinatura de documento | ||
| 1262 | + * @author rogerio.cassimiro | ||
| 1263 | + * @return {@link Boolean} | ||
| 1264 | + */ | ||
| 1265 | + @Override | ||
| 1266 | + public boolean getPermissaoAssinaturaDocumento() { | ||
| 1267 | + if(this.colaboradorService.getPermissaoAssinaturaDocumento()) | ||
| 1268 | + return this.terceirizadoService.getPermissaoAssinaturaDocumento(); | ||
| 1269 | + return Boolean.FALSE; | ||
| 1270 | + } | ||
| 1259 | } | 1271 | } |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/TerceirizadoServiceImp.java
| @@ -2,6 +2,7 @@ package br.com.centralit.api.service.impl; | @@ -2,6 +2,7 @@ package br.com.centralit.api.service.impl; | ||
| 2 | 2 | ||
| 3 | import org.springframework.beans.factory.annotation.Autowired; | 3 | import org.springframework.beans.factory.annotation.Autowired; |
| 4 | import org.springframework.beans.factory.annotation.Qualifier; | 4 | import org.springframework.beans.factory.annotation.Qualifier; |
| 5 | +import org.springframework.security.core.context.SecurityContextHolder; | ||
| 5 | import org.springframework.stereotype.Service; | 6 | import org.springframework.stereotype.Service; |
| 6 | import org.springframework.validation.Validator; | 7 | import org.springframework.validation.Validator; |
| 7 | 8 | ||
| @@ -10,6 +11,7 @@ import br.com.centralit.api.model.Terceirizado; | @@ -10,6 +11,7 @@ import br.com.centralit.api.model.Terceirizado; | ||
| 10 | import br.com.centralit.api.service.ClasseParceiroService; | 11 | import br.com.centralit.api.service.ClasseParceiroService; |
| 11 | import br.com.centralit.api.service.TerceirizadoService; | 12 | import br.com.centralit.api.service.TerceirizadoService; |
| 12 | import br.com.centralit.framework.model.Dominio; | 13 | import br.com.centralit.framework.model.Dominio; |
| 14 | +import br.com.centralit.framework.model.Usuario; | ||
| 13 | import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; | 15 | import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; |
| 14 | 16 | ||
| 15 | 17 | ||
| @@ -36,7 +38,6 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; | @@ -36,7 +38,6 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; | ||
| 36 | @Service("terceirizadoService") | 38 | @Service("terceirizadoService") |
| 37 | public class TerceirizadoServiceImp extends GenericServiceImpl<Terceirizado, Long> implements TerceirizadoService { | 39 | public class TerceirizadoServiceImp extends GenericServiceImpl<Terceirizado, Long> implements TerceirizadoService { |
| 38 | 40 | ||
| 39 | - @SuppressWarnings("unused") | ||
| 40 | private TerceirizadoDao terceirizadoDao; | 41 | private TerceirizadoDao terceirizadoDao; |
| 41 | 42 | ||
| 42 | /** Atributo classeParceiroService. */ | 43 | /** Atributo classeParceiroService. */ |
| @@ -68,5 +69,16 @@ public class TerceirizadoServiceImp extends GenericServiceImpl<Terceirizado, Lon | @@ -68,5 +69,16 @@ public class TerceirizadoServiceImp extends GenericServiceImpl<Terceirizado, Lon | ||
| 68 | 69 | ||
| 69 | return super.save(entity); | 70 | return super.save(entity); |
| 70 | } | 71 | } |
| 72 | + | ||
| 73 | + /** | ||
| 74 | + * Método responsável por obter permissão para assinatura de documento | ||
| 75 | + * @author rogerio.cassimiro | ||
| 76 | + * @return {@link Boolean} | ||
| 77 | + */ | ||
| 78 | + @Override | ||
| 79 | + public boolean getPermissaoAssinaturaDocumento() { | ||
| 80 | + Usuario usuario = (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); | ||
| 81 | + return this.terceirizadoDao.getPermissaoAssinaturaDocumento(usuario.getId()); | ||
| 82 | + } | ||
| 71 | 83 | ||
| 72 | } | 84 | } |
cit-tabelas-corp-web/src/main/java/br/com/centralit/controller/ColaboradorController.java
cit-tabelas-corp-web/src/main/java/br/com/centralit/controller/PessoaController.java
| @@ -18,7 +18,6 @@ import br.com.centralit.api.viewHelper.PessoaVH; | @@ -18,7 +18,6 @@ import br.com.centralit.api.viewHelper.PessoaVH; | ||
| 18 | import br.com.centralit.framework.controller.GenericController; | 18 | import br.com.centralit.framework.controller.GenericController; |
| 19 | import br.com.centralit.framework.json.ResponseBodyWrapper; | 19 | import br.com.centralit.framework.json.ResponseBodyWrapper; |
| 20 | import br.com.centralit.framework.json.Views; | 20 | import br.com.centralit.framework.json.Views; |
| 21 | -import br.com.centralit.framework.json.Views.GenericView; | ||
| 22 | 21 | ||
| 23 | /** | 22 | /** |
| 24 | * <p> | 23 | * <p> |
| @@ -449,6 +448,18 @@ public class PessoaController extends GenericController<Pessoa> { | @@ -449,6 +448,18 @@ public class PessoaController extends GenericController<Pessoa> { | ||
| 449 | 448 | ||
| 450 | return responseBody; | 449 | return responseBody; |
| 451 | } | 450 | } |
| 451 | + | ||
| 452 | + /** | ||
| 453 | + * Método responsável por obter permissão para assinatura de documento | ||
| 454 | + * @author rogerio.cassimiro | ||
| 455 | + * @return {@link Boolean} | ||
| 456 | + */ | ||
| 457 | + @RequestMapping(value = "/getPermissaoAssinaturaDocumento", method = RequestMethod.GET) | ||
| 458 | + @ResponseBody | ||
| 459 | + public ResponseBodyWrapper getPermissaoAssinaturaDocumento() { | ||
| 460 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.getPessoaService().getPermissaoAssinaturaDocumento(), this.getEditView()); | ||
| 461 | + return responseBody; | ||
| 462 | + } | ||
| 452 | 463 | ||
| 453 | @Override | 464 | @Override |
| 454 | public Class<Views.PessoaAutoCompeteView> getAutoCompleteView() { | 465 | public Class<Views.PessoaAutoCompeteView> getAutoCompleteView() { |
cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/ColaboradorRepository.js
| @@ -11,7 +11,8 @@ citApp.factory('ColaboradorRepository', ['RestangularTabelasCorp', 'AbstractRepo | @@ -11,7 +11,8 @@ citApp.factory('ColaboradorRepository', ['RestangularTabelasCorp', 'AbstractRepo | ||
| 11 | 11 | ||
| 12 | this.findPorNomeAndOrganizacao = function(nome, idOrganizacao) { | 12 | this.findPorNomeAndOrganizacao = function(nome, idOrganizacao) { |
| 13 | return restangularTabelasCorp.one('rest/colaborador').getList("findPorNomeAndOrganizacao", {"nome": nome, "idOrganizacao" : idOrganizacao}).then(); | 13 | return restangularTabelasCorp.one('rest/colaborador').getList("findPorNomeAndOrganizacao", {"nome": nome, "idOrganizacao" : idOrganizacao}).then(); |
| 14 | - }; | 14 | + }; |
| 15 | + | ||
| 15 | } | 16 | } |
| 16 | 17 | ||
| 17 | AbstractRepository.extend(ColaboradorRepository); | 18 | AbstractRepository.extend(ColaboradorRepository); |
cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/PessoaRepository.js
| @@ -80,7 +80,11 @@ citApp.factory('PessoaRepository', ['RestangularTabelasCorp','AbstractRepository | @@ -80,7 +80,11 @@ citApp.factory('PessoaRepository', ['RestangularTabelasCorp','AbstractRepository | ||
| 80 | this.findPessoaColaboradorUsuarioPorNome = function(nome) { | 80 | this.findPessoaColaboradorUsuarioPorNome = function(nome) { |
| 81 | return restangularTabelasCorp.one('rest/pessoa').getList("findPessoaColaboradorUsuarioPorNome", {"nome": nome}).then(); | 81 | return restangularTabelasCorp.one('rest/pessoa').getList("findPessoaColaboradorUsuarioPorNome", {"nome": nome}).then(); |
| 82 | }; | 82 | }; |
| 83 | - | 83 | + |
| 84 | + this.getPermissaoAssinaturaDocumento = function() { | ||
| 85 | + return restangularTabelasCorp.one(this.route + "/getPermissaoAssinaturaDocumento").get().then(); | ||
| 86 | + }; | ||
| 87 | + | ||
| 84 | } | 88 | } |
| 85 | 89 | ||
| 86 | AbstractRepository.extend(PessoaRepository); | 90 | AbstractRepository.extend(PessoaRepository); |