{"version":3,"mappings":"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","names":["isRTL","hostEl","dir","toLowerCase","document","ION_FOCUSED","FOCUS_KEYS","startFocusVisible","rootEl","currentFocus","keyboardMode","ref","shadowRoot","root","body","setFocus","elements","forEach","el","classList","remove","add","pointerDown","onKeydown","ev","includes","key","onFocusin","composedPath","toFocus","filter","contains","onFocusout","activeElement","addEventListener","destroy","removeEventListener","arrowBackSharp","arrowDown","caretBackSharp","caretDownSharp","caretUpSharp","chevronBack","chevronDown","chevronForward","chevronForwardOutline","close","closeCircle","closeSharp","ellipsisHorizontal","menuOutline","menuSharp","reorderThreeOutline","reorderTwoSharp","searchOutline","searchSharp","i0","LogComponent","constructor","logService","functionsService","this","ngOnInit","ionViewWillEnter","presentLoading","findByEntidadeAndId","entidade","idEntidade","subscribe","next","resp","logs","entidade2","idEntidade2","resp2","push","dismissLoading","error","error2","console","log","selectors","CURSO_CONFIG","TEXTO_AREA_DEPOIMENTOS","TITULO_GALERIA_FOTOS","PERIODO_INSCRICAO","ENCERRADO","ABERTO","NAO_INICIADO","STATUS_PUBLICACAO","RASCUNHO","PRONTO_PARA_PUBLICAR","PUBLICADO","TIPO_SECAO_PAGINA","TITULO_SECAO","CARROSSEL_BANNERS","RESUMO_PAGINA","DESTAQUE_NOTICIAS","IMAGEM_E_TEXTO","TEXTO_NORMAL","TEXTO_EM_2_COLUNAS","TEXTO_EM_3_COLUNAS","LISTA_PDF","LISTA_LINKS","GALERIA_FOTOS","GALERIA_VIDEOS","BOTAO_COMPARTILHAR","FORMULARIO","FORMULARIO_PERSONALIZADO","ESPACAMENTO","TIPO_TELEFONE","CELULAR","FIXO","TIPO_TEMPLATE_EMAIL","CADASTRO_CANDIDATO","EDICAO_CADASTRO_CANDIDATO","INSCRICAO","INSCRICAO_MEDICINA","RESULTADO_GERAL_MEDICINA","RESULTADO_CLASSIFICACAO","RESULTADO_CLASSIFICACAO_MEDICINA","ALTERAR_SENHA","LEMBRETE_AGENDAR_PROVA","CONVOCACAO_PROVA_CURSOS_SEMESTRAIS","CONVOCACAO_PROVA_MEDICINA","ENVIO_CARTAO_CONFIRMACAO","ENVIO_CODIGO_VALIDACAO_EMAIL","PENDECIAS_DOCUMENTACAO_MATRICULA","PENDECIAS_DOCUMENTACAO_INSCRICAO","BENEFICIO_INSCRICAO_RAPIDA","ENVIO_BOLETO_PAGAMENTO_INSCRICAO","TIPO_MENSAGEM","DUVIDA","INTERESSE","PopoverCompartilharComponent","arquivoService","CursoDTO","PaginaDTO","curso","id","urlCompartilhamento","window","location","origin","habilitarInscricao","formacao","nome","toLocaleLowerCase","habilitacao","modalidade","replace","normalizeUrl","pagina","secaoCompartilhamento","getSharingSection","assuntoTextoCompartilhar","assunto","textoCompartilhar","texto","shareFB","urlCodificada","encodeURIComponent","goToPath","shareTT","conteudo","shareWA","trimEnd","shareLinkedIn","title","sumary","shareMail","mailToLink","getFilePublicURL","fullPath","fileName","API_CONFIG","copy","navigator","clipboard","writeText","then","err","alert","i","secoes","length","tipo","ctx","ctx_r3","oxw","PopoverSelecionarSubstitutosComponent","popoverController","filterDocuments","formaIngresso","padMatricula","configuracoesDocumentos","doc","enem","TIPO_FORMA_INGRESSO","vestibularOnline","vestibularPresencial","transferenciaExterna","portadorDiploma","readmissaoPosAbandono","addSubstitute","event","configuracaoDocumento","documentoMatriculaRapidaPrincipal","substitutos","index","findIndex","target","checked","substituto","SubstitutoMatriculaRapidaDTO","splice","docAdded","cancel","dismiss","confirm","AgrupamentoService","http","insert","agrupamentoDTO","post","observe","update","put","findAll","get","findByFilter","filtro","page","pageSize","sort","findByFormacao","idFormacao","findPublicadosByFormacao","findByCurso","idCurso","find","delete","factory","AreaConhecimentoService","areaConhecimentoDTO","CorService","getCores","cores","FuncionalidadeService","funcionalidadeDTO","findByNome","findByUrl","url","GrupoFuncionalidadeService","grupoFuncionalidadeDTO","GrupoNoticiaService","grupoNoticiaDTO","HabilitacaoService","habilitacaoDTO","findByFormacoes","idsFormacoes","MensagemService","mensagemDTO","tiposMensagem","idsModalidades","idsHabilitacoes","idsCursos","dataEnvioInicial","dataEnvioFinal","somenteNaoLidas","findByStatus","status","sendFormMessage","formularioDTO","sendEmail","destinatario","mensagem","textoMensagem","sendMessageWithAttachments","salvarCopiaInterna","urlOrigemMensagem","anexos","formData","FormData","arrDestinatarios","split","map","email","trim","test","join","append","String","anexo","name","ModalidadeService","modalidadeDTO","NoticiaService","noticiaDTO","filtroTexto","filtrarTitulo","filtrarSubtitulo","filtrarResumo","filtrarTexto","getTextoResumido","noticia","substring","indexOf","getStatusPublicacaoFormatado","PaginaService","paginaDTO","findByNomeLike","findDTOByNomeLike","countByNomeLike","getTiposSecao","tipos","getDescricaoSecao","secao","tipoSessao","altura","ParametroDossieService","parametroDossieDTO","findByCodigos","codigoClassificacao","codigoTipologia","PopupService","popupDTO","findByEntidade","nomeEntidade","SalaService","salaDTO","SeoService","titleService","metaService","dom","router","updateSEO","data","setTitle","titleTag","updateTag","content","metaDescription","tags","updateCanonical","link","querySelector","setAttribute","createElement","head","appendChild","DOCUMENT","SistemaService","sistemaDTO","TagService","getTags","arr","getTagName","tag","TemplateEmailService","templateEmailDTO","saveAll","templates","JSON","stringify","findByTipoTemplateNaoEditavel","tipoTemplateEmail","getNomeTipo","tipoTemplateNaoEditavel"],"sources":["./node_modules/@ionic/core/dist/esm/dir-e8b767a8.js","./node_modules/@ionic/core/dist/esm/focus-visible-02bf7a99.js","./node_modules/@ionic/core/dist/esm/index-e3f61316.js","./src/app/components/log/log.component.html","./src/app/components/log/log.component.ts","./src/app/config/curso.config.ts","./src/app/config/periodo_inscricao.config.ts","./src/app/config/status-publicacao.config.ts","./src/app/config/tipo-secao-pagina.config.ts","./src/app/config/tipo-telefone.config.ts","./src/app/config/tipo-template-email.config.ts","./src/app/config/tipo_mensagem.config.ts","./src/app/models/controle-acesso/sistemaDTO.ts","./src/app/models/curso/areaConhecimentoDTO.ts","./src/app/models/curso/cursoDTO.ts","./src/app/models/curso/habilitacaoDTO.ts","./src/app/models/curso/unidadeDTO.ts","./src/app/models/documentacao/parametroAnaliseDocumentoDTO.ts","./src/app/models/site/noticiaDTO.ts","./src/app/models/site/paginaDTO.ts","./src/app/models/vestibular/documentoMatriculaRapidaDTO.ts","./src/app/pages/detalhar-curso/components/popover-compartilhar/popover-compartilhar.component.ts","./src/app/pages/detalhar-curso/components/popover-compartilhar/popover-compartilhar.component.html","./src/app/models/documentacao/substitutoMatriculaRapidaDTO.ts","./src/app/pages/modulo-gc/vestibular/components/popover-selecionar-substitutos/popover-selecionar-substitutos.component.html","./src/app/pages/modulo-gc/vestibular/components/popover-selecionar-substitutos/popover-selecionar-substitutos.component.ts","./src/app/services/agrupamento/agrupamento.service.ts","./src/app/services/area-conhecimento/area-conhecimento.service.ts","./src/app/services/cor/cor.service.ts","./src/app/services/funcionalidade/funcionalidade.service.ts","./src/app/services/grupo-funcionalidade/grupo-funcionalidade.service.ts","./src/app/services/grupo-noticia/grupo-noticia.service.ts","./src/app/services/habilitacao/habilitacao.service.ts","./src/app/services/mensagem/mensagem.service.ts","./src/app/services/modalidade/modalidade.service.ts","./src/app/services/noticia/noticia.service.ts","./src/app/services/pagina/pagina.service.ts","./src/app/services/parametro-dossie/parametro-dossie.service.ts","./src/app/services/popup/popup.service.ts","./src/app/services/sala/sala.service.ts","./src/app/services/seo/seo.service.ts","./src/app/services/sistema/sistema.service.ts","./src/app/services/tag/tag.service.ts","./src/app/services/template-email/template-email.service.ts"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\n/**\n * Returns `true` if the document or host element\n * has a `dir` set to `rtl`. The host value will always\n * take priority over the root document value.\n */\nconst isRTL = (hostEl) => {\n if (hostEl) {\n if (hostEl.dir !== '') {\n return hostEl.dir.toLowerCase() === 'rtl';\n }\n }\n return (document === null || document === void 0 ? void 0 : document.dir.toLowerCase()) === 'rtl';\n};\n\nexport { isRTL as i };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nconst ION_FOCUSED = 'ion-focused';\nconst ION_FOCUSABLE = 'ion-focusable';\nconst FOCUS_KEYS = ['Tab', 'ArrowDown', 'Space', 'Escape', ' ', 'Shift', 'Enter', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'Home', 'End'];\nconst startFocusVisible = (rootEl) => {\n let currentFocus = [];\n let keyboardMode = true;\n const ref = (rootEl) ? rootEl.shadowRoot : document;\n const root = (rootEl) ? rootEl : document.body;\n const setFocus = (elements) => {\n currentFocus.forEach(el => el.classList.remove(ION_FOCUSED));\n elements.forEach(el => el.classList.add(ION_FOCUSED));\n currentFocus = elements;\n };\n const pointerDown = () => {\n keyboardMode = false;\n setFocus([]);\n };\n const onKeydown = (ev) => {\n keyboardMode = FOCUS_KEYS.includes(ev.key);\n if (!keyboardMode) {\n setFocus([]);\n }\n };\n const onFocusin = (ev) => {\n if (keyboardMode && ev.composedPath) {\n const toFocus = ev.composedPath().filter((el) => {\n if (el.classList) {\n return el.classList.contains(ION_FOCUSABLE);\n }\n return false;\n });\n setFocus(toFocus);\n }\n };\n const onFocusout = () => {\n if (ref.activeElement === root) {\n setFocus([]);\n }\n };\n ref.addEventListener('keydown', onKeydown);\n ref.addEventListener('focusin', onFocusin);\n ref.addEventListener('focusout', onFocusout);\n ref.addEventListener('touchstart', pointerDown);\n ref.addEventListener('mousedown', pointerDown);\n const destroy = () => {\n ref.removeEventListener('keydown', onKeydown);\n ref.removeEventListener('focusin', onFocusin);\n ref.removeEventListener('focusout', onFocusout);\n ref.removeEventListener('touchstart', pointerDown);\n ref.removeEventListener('mousedown', pointerDown);\n };\n return {\n destroy,\n setFocus\n };\n};\n\nexport { startFocusVisible };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\n/* Ionicons v6.0.0, ES Modules */\nconst arrowBackSharp = \"data:image/svg+xml;utf8,Arrow Back\";\nconst arrowDown = \"data:image/svg+xml;utf8,Arrow Down\";\nconst caretBackSharp = \"data:image/svg+xml;utf8,Caret Back\";\nconst caretDownSharp = \"data:image/svg+xml;utf8,Caret Down\";\nconst caretUpSharp = \"data:image/svg+xml;utf8,Caret Up\";\nconst chevronBack = \"data:image/svg+xml;utf8,Chevron Back\";\nconst chevronDown = \"data:image/svg+xml;utf8,Chevron Down\";\nconst chevronForward = \"data:image/svg+xml;utf8,Chevron Forward\";\nconst chevronForwardOutline = \"data:image/svg+xml;utf8,Chevron Forward\";\nconst close = \"data:image/svg+xml;utf8,Close\";\nconst closeCircle = \"data:image/svg+xml;utf8,Close Circle\";\nconst closeSharp = \"data:image/svg+xml;utf8,Close\";\nconst ellipsisHorizontal = \"data:image/svg+xml;utf8,Ellipsis Horizontal\";\nconst menuOutline = \"data:image/svg+xml;utf8,Menu\";\nconst menuSharp = \"data:image/svg+xml;utf8,Menu\";\nconst reorderThreeOutline = \"data:image/svg+xml;utf8,Reorder Three\";\nconst reorderTwoSharp = \"data:image/svg+xml;utf8,Reorder Two\";\nconst searchOutline = \"data:image/svg+xml;utf8,Search\";\nconst searchSharp = \"data:image/svg+xml;utf8,Search\";\n\nexport { arrowBackSharp as a, closeCircle as b, chevronBack as c, closeSharp as d, searchSharp as e, caretBackSharp as f, arrowDown as g, reorderTwoSharp as h, chevronDown as i, chevronForwardOutline as j, ellipsisHorizontal as k, chevronForward as l, caretUpSharp as m, caretDownSharp as n, close as o, menuOutline as p, menuSharp as q, reorderThreeOutline as r, searchOutline as s };\n","
\n
\n
\n\n Histórico de Alterações\n\n \n \n Alterado por: {{log.executor.funcionario.nome}} {{log.executor.funcionario.sobrenome}}\n Alterado por: {{log.executor.candidato.nome}} {{log.executor.candidato.sobrenome}}\n
\n Data do Evento: {{log.dataExecucao | date : 'dd/MM/yyyy HH:mm:ss'}}\n
\n \n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n \n
\n\n\n \n   Não há histórico de alterações\n","import { LogDTO } from './../../models/logDTO';\nimport { LogService } from './../../services/log/log.service';\nimport { FunctionsService } from './../../services/common/functions.service';\nimport { ENTIDADE } from './../../config/entidade.config';\nimport { CandidatoService } from './../../services/candidato/candidato.service';\nimport { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-log',\n templateUrl: './log.component.html',\n styleUrls: ['./log.component.scss'],\n})\nexport class LogComponent implements OnInit {\n\n idEntidade: number;\n entidade: string;\n\n idEntidade2: number;\n entidade2: string;\n\n logs: LogDTO[] = [];\n\n constructor( private logService: LogService\n , private functionsService: FunctionsService ) { \n\n }\n\n ngOnInit() {}\n\n\n ionViewWillEnter(){\n \n this.functionsService.presentLoading();\n\n this.logService.findByEntidadeAndId(this.entidade, this.idEntidade).subscribe({\n next:(resp)=>{ \n\n this.logs = resp;\n\n if(this.entidade2 && this.idEntidade2){\n\n this.logService.findByEntidadeAndId(this.entidade2, this.idEntidade2).subscribe({\n next:(resp2)=>{\n \n if(!this.logs){\n this.logs = [];\n }\n this.logs.push(...resp2);\n \n this.functionsService.dismissLoading();\n \n },\n error:(error2)=>{\n console.log(error2);\n this.functionsService.dismissLoading();\n }\n });\n\n }else{\n this.functionsService.dismissLoading();\n }\n \n \n\n },\n error:(error)=>{\n console.log(error);\n this.functionsService.dismissLoading();\n\n }\n });\n }\n}\n","export const CURSO_CONFIG = {\r\n \r\n TEXTO_AREA_DEPOIMENTOS: 'Se é palavra de confiança que você quer, então ouça a voz da experiência! Conheça a Souza Marques do ponto de vista de nossos alunos e egressos! Todos os depoimentos são prestados voluntariamente.',\r\n TITULO_GALERIA_FOTOS: 'Laboratórios e Infraestrutura',\r\n}","export const PERIODO_INSCRICAO = {\r\n \r\n ENCERRADO: \"ENCERRADO\",\r\n ABERTO: \"ABERTO\",\r\n NAO_INICIADO: \"NAO_INICIADO\",\r\n \r\n}","export const STATUS_PUBLICACAO = {\r\n \r\n RASCUNHO: \"RASCUNHO\",\r\n PRONTO_PARA_PUBLICAR: \"PRONTO_PARA_PUBLICAR\",\r\n PUBLICADO: \"PUBLICADO\"\r\n}","export const TIPO_SECAO_PAGINA = {\r\n \r\n TITULO_SECAO: \"TITULO_SECAO\",\r\n CARROSSEL_BANNERS: \"CARROSSEL_BANNERS\",\r\n RESUMO_PAGINA: \"RESUMO_PAGINA\",\r\n DESTAQUE_NOTICIAS: \"DESTAQUE_NOTICIAS\",\r\n IMAGEM_E_TEXTO : \"IMAGEM_E_TEXTO\",\r\n TEXTO_NORMAL : \"TEXTO_NORMAL\",\r\n TEXTO_EM_2_COLUNAS : \"TEXTO_EM_2_COLUNAS\",\r\n TEXTO_EM_3_COLUNAS : \"TEXTO_EM_3_COLUNAS\", \r\n LISTA_PDF : \"LISTA_PDF\", \r\n LISTA_LINKS: \"LISTA_LINKS\",\r\n GALERIA_FOTOS: \"GALERIA_FOTOS\",\r\n GALERIA_VIDEOS: \"GALERIA_VIDEOS\",\r\n BOTAO_COMPARTILHAR: \"BOTAO_COMPARTILHAR\",\r\n FORMULARIO: \"FORMULARIO\",\r\n FORMULARIO_PERSONALIZADO: \"FORMULARIO_PERSONALIZADO\",\r\n ESPACAMENTO: \"ESPACAMENTO\"\r\n}","export const TIPO_TELEFONE = {\r\n \r\n CELULAR: \"Celular\",\r\n FIXO: \"Fixo\" \r\n}","export const TIPO_TEMPLATE_EMAIL = {\r\n \r\n CADASTRO_CANDIDATO: \"CADASTRO_CANDIDATO\",\r\n EDICAO_CADASTRO_CANDIDATO: \"EDICAO_CADASTRO_CANDIDATO\",\r\n INSCRICAO: \"INSCRICAO\",\r\n INSCRICAO_MEDICINA: \"INSCRICAO_MEDICINA\",\r\n RESULTADO_GERAL_MEDICINA: \"RESULTADO_GERAL_MEDICINA\", \r\n RESULTADO_CLASSIFICACAO: \"RESULTADO_CLASSIFICACAO\", \r\n RESULTADO_CLASSIFICACAO_MEDICINA: \"RESULTADO_CLASSIFICACAO_MEDICINA\", \r\n\tALTERAR_SENHA: \"ALTERAR_SENHA\",\r\n\tLEMBRETE_AGENDAR_PROVA: \"LEMBRETE_AGENDAR_PROVA\",\r\n\tCONVOCACAO_PROVA_CURSOS_SEMESTRAIS: \"CONVOCACAO_PROVA_CURSOS_SEMESTRAIS\",\r\n CONVOCACAO_PROVA_MEDICINA: \"CONVOCACAO_PROVA_MEDICINA\",\r\n ENVIO_CARTAO_CONFIRMACAO: \"ENVIO_CARTAO_CONFIRMACAO\",\r\n ENVIO_CODIGO_VALIDACAO_EMAIL: \"ENVIO_CODIGO_VALIDACAO_EMAIL\",\r\n PENDECIAS_DOCUMENTACAO_MATRICULA: \"PENDECIAS_DOCUMENTACAO_MATRICULA\",\r\n PENDECIAS_DOCUMENTACAO_INSCRICAO: \"PENDECIAS_DOCUMENTACAO_INSCRICAO\",\r\n BENEFICIO_INSCRICAO_RAPIDA: \"BENEFICIO_INSCRICAO_RAPIDA\",\r\n ENVIO_BOLETO_PAGAMENTO_INSCRICAO: \"ENVIO_BOLETO_PAGAMENTO_INSCRICAO\",\r\n \r\n}","export const TIPO_MENSAGEM = {\r\n \r\n DUVIDA: \"DUVIDA\",\r\n INTERESSE: \"INTERESSE\",\r\n FORMULARIO_PERSONALIZADO: \"FORMULARIO_PERSONALIZADO\"\r\n \r\n}","\r\nexport class SistemaDTO{\r\n\r\n id!: number;\r\n nome!: string;\r\n url!: string;\r\n}","\r\nexport class AreaConhecimentoDTO{\r\n\r\n id!: number;\r\n nome!: string;\r\n \r\n}","import { DepoimentoDTO } from './depoimentoDTO';\r\nimport { AvaliacaoCursoDTO } from './avaliacaoCursoDTO';\r\nimport { TurnoCursoDTO } from './turnoCursoDTO';\r\nimport { FormacaoDTO } from './formacaoDTO';\r\nimport { ArquivoDTO } from '../arquivoDTO';\r\nimport { HabilitacaoDTO } from './habilitacaoDTO';\r\nimport { ModalidadeDTO } from './modalidadeDTO';\r\nimport { UsuarioDTO } from 'src/app/models/controle-acesso/usuarioDTO';\r\nimport { UnidadeDTO } from './unidadeDTO';\r\nimport { DisponibilidadeCursoDTO } from './disponibilidadeCurso';\r\n\r\n\r\nexport class CursoDTO{\r\n\r\n id!: number;\r\n nome!: string;\r\n habilitacao!: HabilitacaoDTO;\r\n formacao!: FormacaoDTO;\r\n modalidade!: ModalidadeDTO;\r\n avaliacoesCurso!: AvaliacaoCursoDTO[];\r\n disponibilidades!: DisponibilidadeCursoDTO[];\r\n\r\n bannerPrincipal!: ArquivoDTO;\r\n video!: ArquivoDTO;\r\n descricaoDetalhada!: any;\r\n\r\n sempreExibirBotaoInforme!: boolean;\r\n\r\n habilitarGradesCurriculares!: boolean;\r\n gradesCurriculares!: ArquivoDTO[];\r\n\r\n habilitarUrlRedeSocial!: boolean;\r\n urlRedeSocial!: string;\r\n \r\n habilitarComoIngressar!: boolean;\r\n \r\n habilitarGaleriaFotos!: boolean;\r\n tituloGaleriaFotos!:string;\r\n resumoGaleriaFotos!:string;\r\n galeriaFotos!: ArquivoDTO[];\r\n \r\n habilitarGaleriaBanners!: boolean;\r\n galeriaBanners!: ArquivoDTO[];\r\n \r\n habilitarDepoimentos!: boolean;\r\n textoAreaDepoimentos!: string;\r\n depoimentos!: DepoimentoDTO[];\r\n \r\n habilitarSaibaMais!: boolean;\r\n tituloSaibaMais !: string; \r\n galeriaVideos!: ArquivoDTO[];\r\n \r\n descricaoResumida!: string; \r\n \r\n\r\n status!: string;\r\n criador!: UsuarioDTO;\r\n\tultimoEditor!: UsuarioDTO;\r\n\tdataCriacao!: Date\r\n\tdataUltimaEdicao!: Date;\r\n \r\n //atributos para integração com escola1\r\n codigo: string;\r\n codigoCurriculo: string;\r\n \r\n //emails para onde são enviadas as notificações relativas as inscrições neste curso\r\n emailsSecretaria: string[];\r\n\r\n\r\n // Propriedade auxiliar para a entrada de tags como string\r\n tagsInput?: string;\r\n\r\n // Propriedade que armazena as tags como array de strings (após processamento, removendo duplicatas e espaços)\r\n tags?: string[];\r\n\r\n // Propriedade para o Title Tag (máximo 60 caracteres)\r\n titleTag?: string;\r\n\r\n // Propriedade para a Meta Description (máximo 160 caracteres)\r\n metaDescription?: string;\r\n}","import { FormacaoDTO } from './formacaoDTO';\r\n\r\nexport class HabilitacaoDTO{\r\n\r\n id!: number;\r\n nome!: string;\r\n formacao!: FormacaoDTO;\r\n}","\r\nexport class UnidadeDTO{\r\n\r\n id!: number;\r\n nome!: string;\r\n nomeCompleto!: string;\r\n endereco!: string;\r\n codigo!: string;\r\n}","import { TipoReprovacaoDTO } from './tipoReprovacaoDTO';\r\nimport { ConfiguracaoDocumentoDTO } from './configuracaoDocumentoDTO';\r\nimport { UsuarioDTO } from '../controle-acesso/usuarioDTO';\r\nimport { ArquivoDTO } from '../arquivoDTO';\r\nimport { FormaIngressoDTO } from '../vestibular/formaIngressoDTO';\r\n\r\nexport class ParametroAnaliseDocumentoDTO{\r\n\r\n id!: number;\r\n termoResponsabilidade!: ArquivoDTO;\r\n textoInformacoesIniciais!: string;\r\n textoAvisoFinal!: string;\r\n \r\n criador!: UsuarioDTO;\r\n dataCriacao!: Date;\r\n ultimoEditor!: UsuarioDTO;\r\n dataUltimaEdicao!: Date;\r\n \r\n configuracoesDocumentos!: ConfiguracaoDocumentoDTO[];\r\n \r\n tiposReprovacao!: TipoReprovacaoDTO[];\r\n\r\n tipoDocumentacao!: string;\r\n}","import { GrupoNoticiaDTO } from './grupoNoticiaDTO';\r\nimport { ArquivoDTO } from '../arquivoDTO';\r\n\r\nexport class NoticiaDTO{\r\n\r\n \r\n id!: number;\r\n dataCriacao!: Date;\r\n dataPublicacao!: Date;\r\n grupo!: GrupoNoticiaDTO;\r\n status!:string;\r\n banner!:ArquivoDTO;\r\n bannerReduzido!: ArquivoDTO;\r\n titulo!:string;\r\n subtitulo!:string;\r\n texto!:string;\r\n resumo!: string;\r\n publicarNaHome!: boolean;\r\n destacar!: boolean;\r\n galeriaFotos!: ArquivoDTO[];\r\n galeriaDownloads!: ArquivoDTO[];\r\n galeriaVideos!: ArquivoDTO[];\r\n \r\n // Propriedade auxiliar para a entrada de tags como string\r\n tagsInput?: string;\r\n\r\n // Propriedade que armazena as tags como array de strings (após processamento, removendo duplicatas e espaços)\r\n tags?: string[];\r\n\r\n // Propriedade para o Title Tag (máximo 60 caracteres)\r\n titleTag?: string;\r\n\r\n // Propriedade para a Meta Description (máximo 160 caracteres)\r\n metaDescription?: string;\r\n}\r\n\r\n\r\n","import { SecaoPaginaDTO } from './secaoPaginaDTO';\r\nimport { EstiloCSSDTO } from './estiloCSSDTO';\r\nimport { UsuarioDTO } from '../controle-acesso/usuarioDTO';\r\n\r\nexport class PaginaDTO{\r\n\r\n id!: number;\r\n nome!: string;\r\n titulo!: string; //essa propriedade não está sendo salva no BD\r\n estiloCSS!: EstiloCSSDTO;\r\n \r\n secoes!: SecaoPaginaDTO[];\r\n\r\n status!: string;\r\n exibirRodape!: boolean;\r\n\r\n criador!: UsuarioDTO;\r\n\tultimoEditor!: UsuarioDTO;\r\n\tdataCriacao!: Date\r\n\tdataUltimaEdicao!: Date;\r\n\r\n\r\n // Propriedade auxiliar para a entrada de tags como string\r\n tagsInput?: string;\r\n\r\n // Propriedade que armazena as tags como array de strings (após processamento, removendo duplicatas e espaços)\r\n tags?: string[];\r\n\r\n // Propriedade para o Title Tag (máximo 60 caracteres)\r\n titleTag?: string;\r\n\r\n // Propriedade para a Meta Description (máximo 160 caracteres)\r\n metaDescription?: string;\r\n}","import { SubstitutoMatriculaRapidaDTO } from '../documentacao/substitutoMatriculaRapidaDTO';\r\nimport { ConfiguracaoDocumentoDTO } from './../documentacao/configuracaoDocumentoDTO';\r\n\r\nexport class DocumentoMatriculaRapidaDTO{\r\n\r\n id!: number;\r\n configuracaoDocumento!: ConfiguracaoDocumentoDTO;\r\n substitutos!: SubstitutoMatriculaRapidaDTO[]; \r\n}","import { PaginaDTO } from '../../../../models/site/paginaDTO';\nimport { ArquivoService } from './../../../../services/arquivo/arquivo.service';\nimport { API_CONFIG } from './../../../../config/api.config';\nimport { CursoDTO } from '../../../../models/curso/cursoDTO';\nimport { FunctionsService } from './../../../../services/common/functions.service';\nimport { Component, OnInit } from '@angular/core';\nimport { SecaoPaginaDTO } from 'src/app/models/site/secaoPaginaDTO';\nimport { TIPO_SECAO_PAGINA } from 'src/app/config/tipo-secao-pagina.config';\n\n@Component({\n selector: 'app-popover-compartilhar',\n templateUrl: './popover-compartilhar.component.html',\n styleUrls: ['./popover-compartilhar.component.scss'],\n})\nexport class PopoverCompartilharComponent implements OnInit {\n\n curso = new CursoDTO();\n habilitarInscricao = false;\n\n pagina = new PaginaDTO();\n assuntoTextoCompartilhar: string;\n textoCompartilhar: string;\n\n urlCompartilhamento: string = '';\n\n constructor( private functionsService: FunctionsService\n , private arquivoService: ArquivoService ) { }\n\n ngOnInit() {}\n\n ionViewWillEnter(){\n \n if(this.curso && this.curso.id){\n\n \n this.urlCompartilhamento = window.location.origin + \n '/curso/' + \n this.curso.id + '/' +\n (this.habilitarInscricao? 'S/' : 'N/') +\n this.curso.formacao.nome.toLocaleLowerCase() + '/' + \n (this.curso.habilitacao? this.curso.habilitacao.nome.toLocaleLowerCase() : '-') + '/' +\n this.curso.modalidade.nome.toLocaleLowerCase() + '/' + \n this.curso.nome.toLocaleLowerCase().replace(/ /g, '_').replace(/\\(/g, '_').replace(/\\)/g, '_');\n\n this.urlCompartilhamento = this.functionsService.normalizeUrl(this.urlCompartilhamento); \n \n\n }else if(this.pagina && this.pagina.id){\n\n this.urlCompartilhamento = window.location.origin + '/pages/' + this.pagina.nome;\n\n const secaoCompartilhamento = this.getSharingSection(); \n this.assuntoTextoCompartilhar = secaoCompartilhamento.assunto; \n this.textoCompartilhar = secaoCompartilhamento.texto; \n \n }\n\n \n\n }\n\n shareFB(){\n\n const urlCodificada = encodeURIComponent(this.urlCompartilhamento);\n const path = 'https://www.facebook.com/sharer/sharer.php?u='+ urlCodificada;\n this.functionsService.goToPath(path,true);\n \n }\n\n shareTT(){\n\n let conteudo: string;\n \n if(this.curso && this.curso.id){\n\n conteudo = encodeURIComponent(\"Conheça o curso de \" + this.curso.nome + \" da Faculdade Souza Marques!\\r\\n\\r\\n\");\n \n }else if(this.pagina && this.pagina.id){\n\n conteudo = encodeURIComponent(this.assuntoTextoCompartilhar + '\\r\\n\\r\\n' +this.textoCompartilhar + '\\r\\n');\n \n }\n\n const path = 'https://twitter.com/intent/tweet?url='+this.urlCompartilhamento+'&text='+ conteudo +'&hashtags=SouzaMarques';\n this.functionsService.goToPath(path,true);\n\n }\n\n shareWA(){\n\n let conteudo;\n \n if(this.curso && this.curso.id){\n \n conteudo = encodeURIComponent(\"Conheça o curso de *\" + this.curso.nome.trimEnd() + \"* da Faculdade Souza Marques!\\r\\n\\r\\n\" + this.urlCompartilhamento);\n \n }else if(this.pagina && this.pagina.id){\n \n conteudo = encodeURIComponent('*' + this.assuntoTextoCompartilhar + '*' + ' \\r\\n' + this.textoCompartilhar + '\\r\\n\\r\\n' + this.urlCompartilhamento);\n \n }\n\n const path = 'https://api.whatsapp.com/send?text='+conteudo;\n this.functionsService.goToPath(path,true);\n\n }\n\n shareLinkedIn(){\n\n const urlCodificada = encodeURIComponent(this.urlCompartilhamento);\n let title;\n let sumary;\n \n if(this.curso && this.curso.id){\n title = encodeURIComponent('Conheça o curso de ' + this.curso.nome);\n sumary = encodeURIComponent('Conheça o curso de ' + this.curso.nome + ' da Faculdade Souza Marques!');\n }else if(this.pagina && this.pagina.id){\n title = encodeURIComponent(this.assuntoTextoCompartilhar);\n sumary = encodeURIComponent(this.textoCompartilhar + '\\r\\n');\n }\n\n const path = 'http://www.linkedin.com/shareArticle?mini=true&url=' + urlCodificada + '&title=' + title + '&summary=' + sumary + '&source=' + urlCodificada;\n this.functionsService.goToPath(path,true);\n \n\n }\n\n\n shareMail(){\n\n const title = encodeURIComponent(document.title); //título\n let mailToLink; \n let body;\n \n if(this.curso && this.curso.id){\n\n mailToLink = \"mailto:?subject=\"+title;\n body = 'Conheça o curso de ' + this.curso.nome +' da Faculdade Souza Marques!\\r\\n \\r\\n'+ this.urlCompartilhamento;\n \n }else if(this.pagina && this.pagina.id){\n\n mailToLink = \"mailto:?subject=\"+this.assuntoTextoCompartilhar;\n body = this.textoCompartilhar + '\\r\\n\\r\\n' + this.urlCompartilhamento;\n \n }\n\n mailToLink = mailToLink + \"&body=\" + encodeURIComponent(body);\n this.functionsService.goToPath(mailToLink,true);\n \n }\n\n\n getFilePublicURL(fullPath: string, fileName: string): string{\n \n if(!fullPath || !fileName){\n return API_CONFIG.iisVirtualDirectoryURL + 'empty_photo.jpg';\n }\n\n return this.arquivoService.getFilePublicURL(fullPath, fileName);\n }\n\n\n copy(){\n\n //https://stackoverflow.com/questions/400212/how-do-i-copy-to-the-clipboard-in-javascript\n \n let body;\n\n if(this.curso && this.curso.id){\n \n body = 'Conheça o curso de ' + this.curso.nome +' da Faculdade Souza Marques!\\r\\n \\r\\n'+ this.urlCompartilhamento;\n \n }else if(this.pagina && this.pagina.id){\n \n body = this.assuntoTextoCompartilhar + '\\r\\n' + this.textoCompartilhar + '\\r\\n \\r\\n'+ this.urlCompartilhamento;\n \n }\n\n navigator.clipboard.writeText(body).then(function() {\n //console.log('Async: Copying to clipboard was successful!');\n }, function(err) {\n console.error('Async: Could not copy text: ', err);\n alert('Ocorreu um erro ao copiar o texto!');\n });\n\n\n }\n \n\n getSharingSection(): SecaoPaginaDTO{\n\n for(var i=0; i\n\n\n\n \n \n \n \n \n \n \n \n\n","import { ConfiguracaoDocumentoDTO } from './configuracaoDocumentoDTO';\r\nimport { ParametroDossieDTO } from './parametroDossieDTO';\r\n\r\nexport class SubstitutoMatriculaRapidaDTO{\r\n\r\n id!: number; \r\n configuracaoDocumento!: ConfiguracaoDocumentoDTO;\r\n \r\n}","
\n \n \n
\n\n
\n\n
\n Substitutos para {{documentoMatriculaRapidaPrincipal?.configuracaoDocumento.nomeDocumento}}\n
\n\n \n \n \n \n  {{configuracaoDocumento.nomeDocumento}}\n\n \n \n\n\n
\n
\n Cancelar\n
\n
\n Confirmar\n
\n
\n \n
","import { DocumentoMatriculaRapidaDTO } from 'src/app/models/vestibular/documentoMatriculaRapidaDTO';\nimport { TIPO_FORMA_INGRESSO } from '../../../../../config/tipo-forma-ingresso.config';\nimport { Component, OnInit } from '@angular/core';\nimport { ConfiguracaoDocumentoDTO } from 'src/app/models/documentacao/configuracaoDocumentoDTO';\nimport { ParametroAnaliseDocumentoDTO } from 'src/app/models/documentacao/parametroAnaliseDocumentoDTO';\nimport { FormaIngressoDTO } from 'src/app/models/vestibular/formaIngressoDTO';\nimport { PopoverController } from '@ionic/angular';\nimport { SubstitutoMatriculaRapidaDTO } from 'src/app/models/documentacao/substitutoMatriculaRapidaDTO';\n\n@Component({\n selector: 'app-popover-selecionar-substitutos',\n templateUrl: './popover-selecionar-substitutos.component.html',\n styleUrls: ['./popover-selecionar-substitutos.component.scss'],\n})\nexport class PopoverSelecionarSubstitutosComponent implements OnInit {\n\n documentoMatriculaRapidaPrincipal: DocumentoMatriculaRapidaDTO;\n padMatricula: ParametroAnaliseDocumentoDTO;\n formaIngresso: FormaIngressoDTO;\n\n\n \n\n\n constructor( private popoverController: PopoverController ) { }\n\n ngOnInit() {\n this.filterDocuments();\n }\n\n filterDocuments() {\n if (!this.formaIngresso || !this.formaIngresso.tipo) {\n return; // Retorna se formaIngresso ou formaIngresso.tipo não estiver definido\n }\n \n this.padMatricula.configuracoesDocumentos = this.padMatricula.configuracoesDocumentos.filter(doc =>\n (doc.enem && this.formaIngresso.tipo === TIPO_FORMA_INGRESSO.ENEM) ||\n (doc.vestibularOnline && this.formaIngresso.tipo === TIPO_FORMA_INGRESSO.VESTIBULAR_ONLINE) ||\n (doc.vestibularPresencial && this.formaIngresso.tipo === TIPO_FORMA_INGRESSO.VESTIBULAR_PRESENCIAL) ||\n (doc.transferenciaExterna && this.formaIngresso.tipo === TIPO_FORMA_INGRESSO.TRANSFERENCIA) ||\n (doc.portadorDiploma && this.formaIngresso.tipo === TIPO_FORMA_INGRESSO.PORTADOR_DIPLOMA) ||\n (doc.readmissaoPosAbandono && this.formaIngresso.tipo === TIPO_FORMA_INGRESSO.REINGRESSO_POS_ABANDONO)\n );\n }\n\n\n addSubstitute(event: any, configuracaoDocumento: ConfiguracaoDocumentoDTO){\n\n if(!this.documentoMatriculaRapidaPrincipal.substitutos){\n this.documentoMatriculaRapidaPrincipal.substitutos = [];\n }\n\n const index = this.documentoMatriculaRapidaPrincipal\n .substitutos\n .findIndex(doc => doc.configuracaoDocumento.id === configuracaoDocumento.id);\n \n if(event.target.checked){\n if(index === -1) { // Documento não está na lista, então adicione\n \n let substituto = new SubstitutoMatriculaRapidaDTO();\n substituto.configuracaoDocumento = configuracaoDocumento;\n\n this.documentoMatriculaRapidaPrincipal.substitutos.push(substituto);\n }\n } else {\n if(index !== -1) { // Documento está na lista, então remova\n this.documentoMatriculaRapidaPrincipal.substitutos.splice(index, 1);\n }\n }\n\n }\n\n\n docAdded(configuracaoDocumento: ConfiguracaoDocumentoDTO): boolean{\n \n if(!this.documentoMatriculaRapidaPrincipal.substitutos){\n this.documentoMatriculaRapidaPrincipal.substitutos = [];\n return;\n }\n\n const index = this.documentoMatriculaRapidaPrincipal\n .substitutos\n .findIndex(doc => doc.configuracaoDocumento.id === configuracaoDocumento.id);\n \n return index>=0;\n }\n\n \n\n cancel(){\n this.popoverController.dismiss(null);\n }\n\n confirm(){\n this.popoverController.dismiss(this.documentoMatriculaRapidaPrincipal);\n }\n\n\n}\n\n\n","import { API_CONFIG } from './../../config/api.config';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { AgrupamentoDTO } from '../../models/curso/agrupamentoDTO';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AgrupamentoService {\n\n constructor(private http: HttpClient){ \n }\n\n insert(agrupamentoDTO: AgrupamentoDTO) : Observable {\n \n\n return this.http.post( API_CONFIG.apiURL+'/agrupamentos'\n , agrupamentoDTO\n , { observe: 'response' }); //.pipe(timeout(100000))\n\n }\n\n update(agrupamentoDTO: AgrupamentoDTO) : Observable {\n \n return this.http.put( API_CONFIG.apiURL+'/agrupamentos/' + agrupamentoDTO.id\n , agrupamentoDTO\n , { observe: 'response' });\n\n }\n\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/agrupamentos');\n\n }\n\n findByFilter(filtro: string, page: number, pageSize: number, sort: string = 'ASC') : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/agrupamentos/findByFilter?filter='+filtro+'&page='+page+'&size='+pageSize+'&sort='+sort);\n\n }\n\n \n findByFormacao(idFormacao: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/agrupamentos/findByFormacao?idFormacao='+idFormacao);\n\n }\n\n findPublicadosByFormacao(idFormacao: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/agrupamentos/findPublicadosByFormacao?idFormacao='+idFormacao);\n\n }\n\n findByCurso(idCurso: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/agrupamentos/findByCurso?idCurso='+idCurso);\n\n }\n\n\n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/agrupamentos/' + id);\n\n }\n\n delete(id: number) : Observable {\n\n return this.http.delete( `${API_CONFIG.apiURL}${'/agrupamentos/'}${id}`);\n\n }\n\n}\n","import { AreaConhecimentoDTO } from '../../models/curso/areaConhecimentoDTO';\nimport { HttpClient } from '@angular/common/http';\nimport { API_CONFIG } from './../../config/api.config';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AreaConhecimentoService {\n\n constructor(private http: HttpClient){ \n }\n\n insert(areaConhecimentoDTO: AreaConhecimentoDTO) : Observable {\n \n\n return this.http.post( API_CONFIG.apiURL+'/areasconhecimento'\n , areaConhecimentoDTO\n , { observe: 'response' }); //.pipe(timeout(100000))\n\n }\n\n update(areaConhecimentoDTO: AreaConhecimentoDTO) : Observable {\n \n return this.http.put( API_CONFIG.apiURL+'/areasconhecimento/' + areaConhecimentoDTO.id\n , areaConhecimentoDTO\n , { observe: 'response' });\n\n }\n\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/areasconhecimento');\n\n }\n\n \n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/areasconhecimento/' + id);\n\n }\n\n delete(id: number) : Observable {\n\n return this.http.delete( `${API_CONFIG.apiURL}${'/areasconhecimento/'}${id}`);\n\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CorService {\n\n constructor() { }\n\n\n getCores(): string[]{\n\n let cores: string[] = [];\n\n cores.push('rgb(0,0,0)'); \n cores.push('rgb(230,0,0)'); \n cores.push('rgb(255,153,0)');\n cores.push('rgb(255,255,0)');\n cores.push('rgb(0,138,0)');\n cores.push('rgb(0,102,204)');\n cores.push('rgb(153,51,255)');\n \n cores.push('rgb(255,255,255)');\n cores.push('rgb(250,204,204)');\n cores.push('rgb(255,235,204)');\n cores.push('rgb(255,255,204)');\n cores.push('rgb(204,232,204)');\n cores.push('rgb(204,224,245)');\n cores.push('rgb(235,214,255)');\n \n cores.push('rgb(187,187,187)');\n cores.push('rgb(240,102,102)');\n cores.push('rgb(255,194,102)');\n cores.push('rgb(255,255,102)');\n cores.push('rgb(102,185,102)');\n cores.push('rgb(102,163,224)');\n cores.push('rgb(194,133,255)');\n \n cores.push('rgb(136,136,136)');\n cores.push('rgb(102,0,34)');\n cores.push('rgb(178,107,0)');\n cores.push('rgb(178,178,0)');\n cores.push('rgb(0,97,0)');\n cores.push('rgb(0,71,178)');\n cores.push('rgb(107,36,178)');\n\n cores.push('rgb(68,68,68)');\n cores.push('rgb(92,0,0)');\n cores.push('rgb(102,61,0)');\n cores.push('rgb(102,102,0)');\n cores.push('rgb(0,55,0)');\n cores.push('rgb(0,41,102)');\n cores.push('rgb(61,20,102)');\n\n\n return cores;\n\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { API_CONFIG } from 'src/app/config/api.config';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Injectable } from '@angular/core';\nimport { FuncionalidadeDTO } from 'src/app/models/controle-acesso/funcionalidadeDTO';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FuncionalidadeService {\n\n constructor(private http: HttpClient){ \n }\n\n insert(funcionalidadeDTO: FuncionalidadeDTO) : Observable {\n \n\n return this.http.post( API_CONFIG.apiURL+'/funcionalidades'\n , funcionalidadeDTO\n , { observe: 'response' }); //.pipe(timeout(100000))\n\n }\n\n update(funcionalidadeDTO: FuncionalidadeDTO) : Observable {\n \n return this.http.put( API_CONFIG.apiURL+'/funcionalidades/' + funcionalidadeDTO.id\n , funcionalidadeDTO\n , { observe: 'response' });\n\n }\n\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/funcionalidades');\n\n }\n\n findByFilter(filter: string) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/funcionalidades/findByFilter?filter=' + filter);\n\n }\n\n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/funcionalidades/' + id);\n\n }\n\n findByNome(nome: string) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/funcionalidades/findByNome?nome=' + nome);\n\n }\n\n findByUrl(url: string) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/funcionalidades/findByUrl?url=' + url);\n\n }\n\n delete(id: number) : Observable {\n\n return this.http.delete( `${API_CONFIG.apiURL}${'/funcionalidades/'}${id}`);\n\n }\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { GrupoFuncionalidadeDTO } from '../../models/controle-acesso/grupoFuncionalidadeDTO';\nimport { API_CONFIG } from 'src/app/config/api.config';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GrupoFuncionalidadeService {\n\n constructor(private http: HttpClient){ \n }\n\n findByFilter(filtro: string, page: number, pageSize: number, sort: string = 'ASC') : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/gruposfuncionalidades/findByFilter?filtro='+filtro+'&page='+page+'&size='+pageSize+'&sort='+sort);\n\n }\n\n insert(grupoFuncionalidadeDTO: GrupoFuncionalidadeDTO) : Observable {\n \n\n return this.http.post( API_CONFIG.apiURL+'/gruposfuncionalidades'\n , grupoFuncionalidadeDTO\n , { observe: 'response' }); //.pipe(timeout(100000))\n\n }\n\n update(grupoFuncionalidadeDTO: GrupoFuncionalidadeDTO) : Observable {\n \n return this.http.put( API_CONFIG.apiURL+'/gruposfuncionalidades/' + grupoFuncionalidadeDTO.id\n , grupoFuncionalidadeDTO\n , { observe: 'response' });\n\n }\n\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/gruposfuncionalidades');\n\n }\n\n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/gruposfuncionalidades/' + id);\n\n }\n\n findByNome(nome: string) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/gruposfuncionalidades/findByNome?nome=' + nome);\n\n }\n\n findByUrl(url: string) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/gruposfuncionalidades/findByUrl?url=' + url);\n\n }\n\n delete(id: number) : Observable {\n\n return this.http.delete( `${API_CONFIG.apiURL}${'/gruposfuncionalidades/'}${id}`);\n\n }\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { API_CONFIG } from './../../config/api.config';\nimport { GrupoNoticiaDTO } from '../../models/site/grupoNoticiaDTO';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GrupoNoticiaService {\n\n constructor(private http: HttpClient){ \n }\n\n insert(grupoNoticiaDTO: GrupoNoticiaDTO) : Observable {\n \n\n return this.http.post( API_CONFIG.apiURL+'/gruposnoticias'\n , grupoNoticiaDTO\n , { observe: 'response' }); //.pipe(timeout(100000))\n\n }\n\n update(grupoNoticiaDTO: GrupoNoticiaDTO) : Observable {\n console.log(grupoNoticiaDTO);\n \n return this.http.put( API_CONFIG.apiURL+'/gruposnoticias/' + grupoNoticiaDTO.id\n , grupoNoticiaDTO\n , { observe: 'response' });\n\n }\n\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/gruposnoticias');\n\n }\n\n \n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/gruposnoticias/' + id);\n\n }\n\n delete(id: number) : Observable {\n\n return this.http.delete( `${API_CONFIG.apiURL}${'/gruposnoticias/'}${id}`);\n\n }\n}\n","import { API_CONFIG } from './../../config/api.config';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { HabilitacaoDTO } from '../../models/curso/habilitacaoDTO';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HabilitacaoService {\n\n constructor(private http: HttpClient){ \n }\n\n insert(habilitacaoDTO: HabilitacaoDTO) : Observable {\n \n\n return this.http.post( API_CONFIG.apiURL+'/habilitacoes'\n , habilitacaoDTO\n , { observe: 'response' }); //.pipe(timeout(100000))\n\n }\n\n update(habilitacaoDTO: HabilitacaoDTO) : Observable {\n \n return this.http.put( API_CONFIG.apiURL+'/habilitacoes/' + habilitacaoDTO.id\n , habilitacaoDTO\n , { observe: 'response' });\n\n }\n\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/habilitacoes');\n\n }\n\n \n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/habilitacoes/' + id);\n\n }\n\n findByFormacao(idFormacao: number) : Observable {\n \n return this.http.get( API_CONFIG.apiURL+'/habilitacoes/findByFormacao?idFormacao='+idFormacao);\n\n }\n\n\n findByFormacoes(idsFormacoes: number[]) : Observable {\n \n return this.http.get( API_CONFIG.apiURL+'/habilitacoes/findByFormacoes?idsFormacoes='+idsFormacoes);\n\n }\n\n delete(id: number) : Observable {\n\n return this.http.delete( `${API_CONFIG.apiURL}${'/habilitacoes/'}${id}`);\n\n }\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { MensagemDTO } from '../../models/comunicacao/mensagemDTO';\nimport { API_CONFIG } from './../../config/api.config';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Injectable } from '@angular/core';\nimport { FormularioDTO } from 'src/app/models/site/formularioDTO';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MensagemService {\n\n constructor(private http: HttpClient){ \n }\n\n insert(mensagemDTO: MensagemDTO) : Observable {\n\n return this.http.post( API_CONFIG.apiURL+'/mensagens'\n , mensagemDTO\n , { observe: 'response' });\n\n }\n\n \n\n\n update(mensagemDTO: MensagemDTO) : Observable {\n\n \n return this.http.put( API_CONFIG.apiURL+'/mensagens/' + mensagemDTO.id\n , mensagemDTO\n , { observe: 'response' });\n\n }\n\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/mensagens');\n\n }\n\n findByFilter( filtro: string\n , tiposMensagem: string[]\n , idsModalidades: number[]\n , idsFormacoes: number[]\n , idsHabilitacoes: number[]\n , idsCursos: number[]\n , dataEnvioInicial: String\n , dataEnvioFinal: String\n , somenteNaoLidas: boolean\n , page: number\n , pageSize: number\n , sort: string = 'DESC') : Observable {\n\n \n \n\n return this.http.get( API_CONFIG.apiURL+'/mensagens/findByFilter?filtro='+filtro+\n '&tiposMensagem='+tiposMensagem+\n '&idsCursos='+idsCursos+\n '&idsModalidades='+idsModalidades+\n '&idsFormacoes='+idsFormacoes+\n '&idsHabilitacoes='+idsHabilitacoes+\n '&dataEnvioInicial='+dataEnvioInicial+\n '&dataEnvioFinal='+dataEnvioFinal+\n '&somenteNaoLidas='+somenteNaoLidas+\n '&page='+page+\n '&size='+pageSize+\n '&sort='+sort);\n\n }\n\n findByStatus(status: string) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/mensagens/findByStatus?status='+status);\n\n }\n\n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/mensagens/' + id);\n\n }\n\n delete(id: number) : Observable {\n\n return this.http.delete( `${API_CONFIG.apiURL}${'/mensagens/'}${id}`);\n\n }\n\n\n sendFormMessage(formularioDTO: FormularioDTO) : Observable {\n\n return this.http.post( API_CONFIG.apiURL+'/mensagens/sendFormMessage'\n , formularioDTO\n , { observe: 'response' });\n\n }\n\n sendEmail(destinatario: string, assunto: string, mensagem: string): Observable {\n \n const emailRequest = {\n destinatario: destinatario,\n assunto: assunto,\n textoMensagem: mensagem\n };\n\n return this.http.post(\n `${API_CONFIG.apiURL}/mensagens/sendEmailMessage`,\n emailRequest,\n { observe: 'response' }\n );\n }\n\n sendMessageWithAttachments(\n destinatario: string,\n assunto: string,\n mensagem: string,\n salvarCopiaInterna: boolean,\n urlOrigemMensagem: string,\n anexos: File[]\n ): Observable {\n // Configura os dados do formulário para envio\n const formData = new FormData();\n \n if(salvarCopiaInterna==null){\n salvarCopiaInterna = false;\n }\n const arrDestinatarios = destinatario.split(';')\n .map(email => email.trim()) // Remove espaços ao redor\n .filter(email => /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email)) // Valida formato de email\n .join(',');\n\n if (!arrDestinatarios && !salvarCopiaInterna) {\n console.error('Nenhum email válido encontrado.');\n salvarCopiaInterna = true;\n }\n\n formData.append('destinatario', arrDestinatarios);\n formData.append('assunto', assunto);\n formData.append('mensagem', mensagem);\n formData.append('salvarCopiaInterna', String(salvarCopiaInterna));\n formData.append('urlOrigemMensagem', String(urlOrigemMensagem));\n \n // Adiciona os arquivos ao FormData\n if (anexos && anexos.length > 0) {\n anexos.forEach((anexo, index) => {\n formData.append(`anexos`, anexo, anexo.name);\n });\n }\n \n // Faz o envio para o endpoint de mensagens com anexos\n return this.http.post(\n `${API_CONFIG.apiURL}/mensagens/sendMessageWithAttachments`,\n formData,\n { observe: 'response' }\n );\n }\n \n}\n","import { HttpClient } from '@angular/common/http';\nimport { ModalidadeDTO } from '../../models/curso/modalidadeDTO';\nimport { API_CONFIG } from './../../config/api.config';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalidadeService {\n\n constructor(private http: HttpClient){ \n }\n\n insert(modalidadeDTO: ModalidadeDTO) : Observable {\n \n\n return this.http.post( API_CONFIG.apiURL+'/modalidades'\n , modalidadeDTO\n , { observe: 'response' }); //.pipe(timeout(100000))\n\n }\n\n update(modalidadeDTO: ModalidadeDTO) : Observable {\n \n return this.http.put( API_CONFIG.apiURL+'/modalidades/' + modalidadeDTO.id\n , modalidadeDTO\n , { observe: 'response' });\n\n }\n\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/modalidades');\n\n }\n\n \n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/modalidades/' + id);\n\n }\n\n delete(id: number) : Observable {\n\n return this.http.delete( `${API_CONFIG.apiURL}${'/modalidades/'}${id}`);\n\n }\n\n}\n","import { STATUS_PUBLICACAO } from './../../config/status-publicacao.config';\nimport { NoticiaDTO } from '../../models/site/noticiaDTO';\nimport { API_CONFIG } from './../../config/api.config';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NoticiaService {\n\n constructor(private http: HttpClient){ \n }\n\n insert(noticiaDTO: NoticiaDTO) : Observable {\n \n\n return this.http.post( API_CONFIG.apiURL+'/noticias'\n , noticiaDTO\n , { observe: 'response' }); //.pipe(timeout(100000))\n\n }\n\n update(noticiaDTO: NoticiaDTO) : Observable {\n \n return this.http.put( API_CONFIG.apiURL+'/noticias/' + noticiaDTO.id\n , noticiaDTO\n , { observe: 'response' });\n\n }\n\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/noticias');\n\n }\n\n findByFilter( filtroTexto: string\n , filtrarTitulo: boolean\n , filtrarSubtitulo: boolean\n , filtrarResumo: boolean\n , filtrarTexto: boolean\n , page: number\n , pageSize: number\n , sort: string = 'ASC') : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/noticias/findByFilter?filtroTexto='+filtroTexto+\n '&filtrarTitulo='+filtrarTitulo+\n '&filtrarSubtitulo='+filtrarSubtitulo+\n '&filtrarResumo='+filtrarResumo+\n '&filtrarTexto='+filtrarTexto+\n '&page='+page+\n '&size='+pageSize+\n '&sort='+sort);\n\n }\n\n findByStatus(status: string) : Observable {\n \n return this.http.get( API_CONFIG.apiURL+'/noticias/findByStatus?status='+status);\n\n }\n\n \n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/noticias/' + id);\n\n }\n\n delete(id: number) : Observable {\n\n return this.http.delete( `${API_CONFIG.apiURL}${'/noticias/'}${id}`);\n\n }\n\n getTextoResumido(noticia: NoticiaDTO): string{\n if(!noticia.texto){\n return '';\n }\n \n return noticia.texto.substring(0, noticia.texto.indexOf('.')+1);\n }\n\n\n getStatusPublicacaoFormatado(status: string): string{\n \n if(status===STATUS_PUBLICACAO.PRONTO_PARA_PUBLICAR){\n return \"Pronta para publicar\";\n }else if(status===STATUS_PUBLICACAO.PUBLICADO){\n return \"Publicada\";\n }else if(status===STATUS_PUBLICACAO.RASCUNHO){\n return \"Rascunho\";\n }\n\n return 'Status desconhecido';\n }\n \n \n \n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { TIPO_SECAO_PAGINA } from '../../config/tipo-secao-pagina.config';\nimport { Injectable } from '@angular/core';\nimport { PaginaDTO } from 'src/app/models/site/paginaDTO';\nimport { Observable } from 'rxjs';\nimport { API_CONFIG } from 'src/app/config/api.config';\nimport { SecaoPaginaDTO } from 'src/app/models/site/secaoPaginaDTO';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PaginaService {\n\n constructor(private http: HttpClient){ \n }\n\n\n insert(paginaDTO: PaginaDTO) : Observable {\n \n\n return this.http.post( API_CONFIG.apiURL+'/paginas'\n , paginaDTO\n , { observe: 'response' }); //.pipe(timeout(100000))\n\n }\n\n update(paginaDTO: PaginaDTO) : Observable {\n \n return this.http.put( API_CONFIG.apiURL+'/paginas/' + paginaDTO.id\n , paginaDTO\n , { observe: 'response' });\n\n }\n\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/paginas');\n\n }\n\n findByNome(nome: string) : Observable {\n \n return this.http.get( API_CONFIG.apiURL+'/paginas/findByNome?nome='+nome);\n\n }\n\n\n findByNomeLike(\n nome: string,\n page: number,\n pageSize: number,\n sort: string = 'ASC'\n ) : Observable {\n \n return this.http.get( API_CONFIG.apiURL+'/paginas/findByNomeLike?nome='+nome+'&page='+page+'&size='+pageSize+'&sort='+sort);\n\n }\n\n\n findDTOByNomeLike(\n nome: string,\n page: number,\n pageSize: number,\n sort: string = 'ASC'\n ) : Observable {\n \n return this.http.get( API_CONFIG.apiURL+'/paginas/findDTOByNomeLike?nome='+nome+'&page='+page+'&size='+pageSize+'&sort='+sort);\n\n }\n\n\n countByNomeLike( nome: string ) : Observable {\n \n return this.http.get( API_CONFIG.apiURL+'/paginas/countByNomeLike?nome='+nome);\n\n }\n\n \n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/paginas/' + id);\n\n }\n\n delete(id: number) : Observable {\n\n return this.http.delete( `${API_CONFIG.apiURL}${'/paginas/'}${id}`);\n\n }\n\n\n getTiposSecao(): string[]{\n\n let tipos: string[] = [];\n\n tipos.push(TIPO_SECAO_PAGINA.TITULO_SECAO);\n tipos.push(TIPO_SECAO_PAGINA.ESPACAMENTO);\n tipos.push(TIPO_SECAO_PAGINA.CARROSSEL_BANNERS);\n tipos.push(TIPO_SECAO_PAGINA.DESTAQUE_NOTICIAS);\n tipos.push(TIPO_SECAO_PAGINA.RESUMO_PAGINA);\n tipos.push(TIPO_SECAO_PAGINA.IMAGEM_E_TEXTO);\n tipos.push(TIPO_SECAO_PAGINA.TEXTO_NORMAL);\n tipos.push(TIPO_SECAO_PAGINA.TEXTO_EM_2_COLUNAS);\n tipos.push(TIPO_SECAO_PAGINA.TEXTO_EM_3_COLUNAS);\n tipos.push(TIPO_SECAO_PAGINA.LISTA_PDF);\n tipos.push(TIPO_SECAO_PAGINA.LISTA_LINKS);\n tipos.push(TIPO_SECAO_PAGINA.GALERIA_FOTOS);\n tipos.push(TIPO_SECAO_PAGINA.GALERIA_VIDEOS);\n tipos.push(TIPO_SECAO_PAGINA.BOTAO_COMPARTILHAR);\n tipos.push(TIPO_SECAO_PAGINA.FORMULARIO);\n tipos.push(TIPO_SECAO_PAGINA.FORMULARIO_PERSONALIZADO);\n\n return tipos;\n }\n\n getDescricaoSecao(secao: SecaoPaginaDTO): string{\n\n const tipoSessao = secao.tipo;\n\n if(tipoSessao == TIPO_SECAO_PAGINA.TITULO_SECAO){\n return 'Título de Seção';\n }\n\n if(tipoSessao == TIPO_SECAO_PAGINA.ESPACAMENTO && secao.altura){\n return 'Espaçador de ' + secao.altura + 'px';\n }\n\n if(tipoSessao == TIPO_SECAO_PAGINA.ESPACAMENTO && !secao.altura){\n return 'Espaçador';\n }\n\n\n if(tipoSessao == TIPO_SECAO_PAGINA.CARROSSEL_BANNERS){\n return 'Carrossel de Banners';\n }\n\n if(tipoSessao == TIPO_SECAO_PAGINA.DESTAQUE_NOTICIAS){\n return 'Destaque de Notícias';\n }\n\n if(tipoSessao == TIPO_SECAO_PAGINA.RESUMO_PAGINA){\n return 'Resumo da Página';\n }\n\n if(tipoSessao == TIPO_SECAO_PAGINA.IMAGEM_E_TEXTO){\n return 'Imagem a esquerda, texto a direita';\n }\n \n if(tipoSessao == TIPO_SECAO_PAGINA.TEXTO_NORMAL){\n return 'Texto normal';\n }\n\n if(tipoSessao == TIPO_SECAO_PAGINA.TEXTO_EM_2_COLUNAS){\n return 'Texto em 2 colunas';\n }\n\n if(tipoSessao == TIPO_SECAO_PAGINA.TEXTO_EM_3_COLUNAS){\n return 'Texto em 3 colunas';\n }\n\n if(tipoSessao == TIPO_SECAO_PAGINA.LISTA_PDF){\n return \"Lista de PDF's\";\n }\n\n if(tipoSessao == TIPO_SECAO_PAGINA.LISTA_LINKS){\n return \"Lista de links\";\n }\n\n if(tipoSessao == TIPO_SECAO_PAGINA.GALERIA_FOTOS){\n return \"Galeria de Fotos\";\n }\n\n if(tipoSessao == TIPO_SECAO_PAGINA.GALERIA_VIDEOS){\n return \"Galeria de Vídeos\";\n }\n\n if(tipoSessao == TIPO_SECAO_PAGINA.BOTAO_COMPARTILHAR){\n return \"Botão de Compartilhamento\";\n }\n\n if(tipoSessao == TIPO_SECAO_PAGINA.FORMULARIO){\n return \"Formulário de Mensagens\";\n }\n\n if(tipoSessao == TIPO_SECAO_PAGINA.FORMULARIO_PERSONALIZADO){\n return \"Formulário Personalizado\";\n }\n\n return tipoSessao;\n \n }\n}\n","import { Observable } from 'rxjs/internal/Observable';\nimport { API_CONFIG } from './../../config/api.config';\nimport { ParametroDossieDTO } from '../../models/documentacao/parametroDossieDTO';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ParametroDossieService {\n\n constructor(private http: HttpClient){ \n }\n\n insert(parametroDossieDTO: ParametroDossieDTO) : Observable {\n \n\n return this.http.post( API_CONFIG.apiURL+'/parametrosdossie'\n , parametroDossieDTO\n , { observe: 'response' }); //.pipe(timeout(100000))\n\n }\n\n update(parametroDossieDTO: ParametroDossieDTO) : Observable {\n \n return this.http.put( API_CONFIG.apiURL+'/parametrosdossie/' + parametroDossieDTO.id\n , parametroDossieDTO\n , { observe: 'response' });\n\n }\n\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/parametrosdossie');\n\n }\n\n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/parametrosdossie/' + id);\n\n }\n\n findByCodigos(codigoClassificacao: string, codigoTipologia: string) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/parametrosdossie/findByCodigos?codigoClassificacao='+ codigoClassificacao + '&codigoTipologia=' + codigoTipologia);\n\n }\n\n delete(id: number) : Observable {\n\n return this.http.delete( `${API_CONFIG.apiURL}${'/parametrosdossie/'}${id}`);\n\n }\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { PopupDTO } from '../../models/site/popupDTO';\nimport { API_CONFIG } from './../../config/api.config';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PopupService {\n\n constructor(private http: HttpClient){ \n }\n\n insert(popupDTO: PopupDTO) : Observable {\n \n\n return this.http.post( API_CONFIG.apiURL+'/popups'\n , popupDTO\n , { observe: 'response' }); //.pipe(timeout(100000))\n\n }\n\n update(popupDTO: PopupDTO) : Observable {\n \n return this.http.put( API_CONFIG.apiURL+'/popups/' + popupDTO.id\n , popupDTO\n , { observe: 'response' });\n\n }\n\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/popups');\n\n }\n\n findByEntidade(nomeEntidade: string) : Observable {\n \n return this.http.get( API_CONFIG.apiURL+'/popups/findByEntidade?nomeEntidade='+nomeEntidade);\n\n }\n\n \n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/popups/' + id);\n\n }\n\n delete(id: number) : Observable {\n\n return this.http.delete( `${API_CONFIG.apiURL}${'/popups/'}${id}`);\n\n }\n\n}\n","import { SalaDTO } from '../../models/vestibular/salaDTO';\nimport { HttpClient } from '@angular/common/http';\nimport { API_CONFIG } from 'src/app/config/api.config';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SalaService {\n\n constructor(private http: HttpClient){ \n }\n\n\n insert(salaDTO: SalaDTO) : Observable {\n \n\n return this.http.post( API_CONFIG.apiURL+'/salas'\n , salaDTO\n , { observe: 'response' }); //.pipe(timeout(100000))\n\n }\n\n update(salaDTO: SalaDTO) : Observable {\n \n return this.http.put( API_CONFIG.apiURL+'/salas/' + salaDTO.id\n , salaDTO\n , { observe: 'response' });\n\n }\n\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/salas');\n\n }\n\n \n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/salas/' + id);\n\n }\n\n findByFilter(filtro: string) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/salas/findByFilter?filtro=' + filtro);\n\n }\n\n delete(id: number) : Observable {\n\n return this.http.delete( `${API_CONFIG.apiURL}${'/salas/'}${id}`);\n\n }\n\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { Title, Meta } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SeoService {\n\n constructor(\n private titleService: Title, \n private metaService: Meta,\n @Inject(DOCUMENT) private dom: Document,\n private router: Router\n ) { }\n\n updateSEO(data: { \n titleTag: string; \n nome: string; \n metaDescription?: string; \n tags: string[];\n }): void {\n // Atualiza o título da página\n this.titleService.setTitle(\n data.titleTag || data.nome || 'Faculdade Souza Marques - Faculdades de qualidade para todos.'\n );\n\n // Atualiza a meta tag description\n this.metaService.updateTag({\n name: 'description',\n content: data.metaDescription || 'FACULDADE SOUZA MARQUES: SUA MELHOR ESCOLHA É AQUI. - Cursos de Graduação, Pós-Graduação e Extensão nas modalidades EAD e Presencial.'\n });\n\n // Atualiza a meta tag keywords, se as tags forem fornecidas\n if (data.tags && data.tags.length) {\n this.metaService.updateTag({\n name: 'keywords',\n content: data.tags.join(', ')\n });\n }\n\n // Atualiza a tag canonical se a URL for fornecida\n this.updateCanonical();\n \n }\n\n private updateCanonical(): void {\n\n const url = `${this.dom.location.origin}${this.router.url}`;\n \n // Busca a tag canonical existente\n let link: HTMLLinkElement = this.dom.querySelector(\"link[rel='canonical']\");\n if (link) {\n // Se existir, atualiza o atributo href\n link.setAttribute('href', url);\n } else {\n // Caso não exista, cria a tag e adiciona ao head\n link = this.dom.createElement('link');\n link.setAttribute('rel', 'canonical');\n link.setAttribute('href', url);\n this.dom.head.appendChild(link);\n }\n }\n}\n","import { SistemaDTO } from '../../models/controle-acesso/sistemaDTO';\nimport { HttpClient } from '@angular/common/http';\nimport { API_CONFIG } from 'src/app/config/api.config';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SistemaService {\n\n constructor(private http: HttpClient){ \n }\n\n insert(sistemaDTO: SistemaDTO) : Observable {\n \n\n return this.http.post( API_CONFIG.apiURL+'/sistemas'\n , sistemaDTO\n , { observe: 'response' }); //.pipe(timeout(100000))\n\n }\n\n update(sistemaDTO: SistemaDTO) : Observable {\n \n return this.http.put( API_CONFIG.apiURL+'/sistemas/' + sistemaDTO.id\n , sistemaDTO\n , { observe: 'response' });\n\n }\n\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/sistemas');\n\n }\n\n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/sistemas/' + id);\n\n }\n\n delete(id: number) : Observable {\n\n return this.http.delete( `${API_CONFIG.apiURL}${'/sistemas/'}${id}`);\n\n }\n\n}\n","import { FunctionsService } from './../common/functions.service';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TagService {\n\n constructor( private functionsService: FunctionsService ) { }\n\n\n\n getTags(): string[]{\n\n let arr: string[] = [];\n\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n arr.push('<>');\n \n return arr;\n\n }\n\n\n\n getTagName(tag: string): string{\n\n //retira os sinais << e >> da tag\n tag = tag.replace(//g, '');\n \n if(tag == 'NOME_CANDIDATO'){\n return 'Nome do candidato';\n }\n\n if(tag == 'SOBRENOME_CANDIDATO'){\n return 'Sobrenome do candidato';\n }\n\n if(tag == 'NOME_SOCIAL_OU_NOME_CANDIDATO'){\n return 'Nome Social ou Nome do candidato';\n }\n\n if(tag == 'NUMERO_INSCRICAO'){\n return 'Número da inscrição';\n }\n\n if(tag == 'FORMA_INGRESSO'){\n return 'Forma de Ingresso';\n }\n\n if(tag == 'NOME_CURSO'){\n return 'Nome do curso';\n }\n\n if(tag == 'MODALIDADE'){\n return 'Modalidade';\n }\n\n if(tag == 'FORMACAO'){\n return 'Formação';\n }\n\n if(tag == 'DOCUMENTOS_REPROVADOS'){\n return 'Documento(s) Reprovado(s)';\n }\n\n if(tag == 'DATA_PROVA'){\n return 'Data da prova';\n }\n\n\n if(tag == 'HORA_INICIO_PROVA'){\n return 'Hora de início da prova';\n }\n\n\n if(tag == 'HORA_FIM_PROVA'){\n return 'Hora de encerramento da prova';\n }\n\n if(tag == 'LOCAL_PROVA'){\n return 'Local da prova';\n }\n\n if(tag == 'VALOR_INSCRICAO'){\n return 'Valor da inscrição';\n }\n\n if(tag == 'LINK_ALTERAR_SENHA'){\n return 'Link para alterar senha';\n }\n\n if(tag == 'CODIGO_VALIDACAO_EMAIL'){\n return 'Código para validar o email';\n }\n \n if(tag == 'LINK_DOWNLOAD_BOLETO'){\n return 'Link para download do boleto';\n }\n\n if(tag == 'VALOR_BOLETO'){\n return 'Valor do boleto';\n }\n \n if(tag == 'NOME_UNIDADE'){\n return 'Nome da unidade';\n }\n \n if(tag == 'NOME_COMPLETO_UNIDADE'){\n return 'Nome completo da unidade';\n }\n \n if(tag == 'ENDERECO_UNIDADE'){\n return 'Endereço da unidade';\n }\n \n\n return '';\n\n }\n\n\n}\n","import { TIPO_TEMPLATE_EMAIL } from './../../config/tipo-template-email.config';\nimport { TemplateEmailDTO } from '../../models/comunicacao/templateEmailDTO';\nimport { HttpClient } from '@angular/common/http';\nimport { API_CONFIG } from './../../config/api.config';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TemplateEmailService {\n\n constructor(private http: HttpClient){ \n }\n\n insert(templateEmailDTO: TemplateEmailDTO) : Observable {\n \n\n return this.http.post( API_CONFIG.apiURL+'/templatesemail'\n , templateEmailDTO\n , { observe: 'response' }); //.pipe(timeout(100000))\n\n }\n\n saveAll(templates: TemplateEmailDTO[]) : Observable {\n \n return this.http.post( API_CONFIG.apiURL+'/templatesemail/saveAll'\n , JSON.stringify(templates)\n , { observe: 'response' }); //.pipe(timeout(100000))\n\n }\n\n update(templateEmailDTO: TemplateEmailDTO) : Observable {\n \n return this.http.put( API_CONFIG.apiURL+'/templatesemail/' + templateEmailDTO.id\n , templateEmailDTO\n , { observe: 'response' });\n\n }\n\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/templatesemail');\n\n }\n\n \n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/templatesemail/' + id);\n\n }\n\n findByTipoTemplateNaoEditavel(tipoTemplateEmail: string) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/templatesemail/findByTipoTemplateNaoEditavel?tipoTemplateEmail=' + tipoTemplateEmail);\n\n }\n\n\n findByFilter(filtro: string) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/templatesemail/findByFilter?filtro=' + filtro);\n\n }\n\n\n delete(id: number) : Observable {\n\n return this.http.delete( `${API_CONFIG.apiURL}${'/templatesemail/'}${id}`);\n\n }\n\n\n getNomeTipo(tipoTemplateNaoEditavel: string){\n\n if(tipoTemplateNaoEditavel===TIPO_TEMPLATE_EMAIL.CADASTRO_CANDIDATO){\n return 'Confirmação de cadastro de candidato';\n }\n\n if(tipoTemplateNaoEditavel===TIPO_TEMPLATE_EMAIL.EDICAO_CADASTRO_CANDIDATO){\n return 'Alteração de cadastro do candidato';\n }\n\n if(tipoTemplateNaoEditavel===TIPO_TEMPLATE_EMAIL.INSCRICAO){\n return 'Confirmação de inscrição em curso';\n }\n\n if(tipoTemplateNaoEditavel===TIPO_TEMPLATE_EMAIL.INSCRICAO_MEDICINA){\n return 'Confirmação de inscrição no curso Medicina';\n }\n\n if(tipoTemplateNaoEditavel===TIPO_TEMPLATE_EMAIL.RESULTADO_CLASSIFICACAO){\n return 'Resultado do vestibular';\n }\n\n if(tipoTemplateNaoEditavel===TIPO_TEMPLATE_EMAIL.RESULTADO_CLASSIFICACAO_MEDICINA){\n return 'Resultado do vestibular - Medicina';\n }\n\n if(tipoTemplateNaoEditavel===TIPO_TEMPLATE_EMAIL.ALTERAR_SENHA){\n return 'Envio de link para alteração de senha';\n }\n\n if(tipoTemplateNaoEditavel===TIPO_TEMPLATE_EMAIL.LEMBRETE_AGENDAR_PROVA){\n return 'Lembrete para agendar prova';\n }\n\n if(tipoTemplateNaoEditavel===TIPO_TEMPLATE_EMAIL.CONVOCACAO_PROVA_CURSOS_SEMESTRAIS){\n return 'Convocação para prova';\n }\n\n if(tipoTemplateNaoEditavel===TIPO_TEMPLATE_EMAIL.CONVOCACAO_PROVA_MEDICINA){\n return 'Convocação para prova - Medicina';\n }\n \n if(tipoTemplateNaoEditavel===TIPO_TEMPLATE_EMAIL.ENVIO_CARTAO_CONFIRMACAO){\n return 'Envio do cartão de confirmação';\n }\n\n if(tipoTemplateNaoEditavel===TIPO_TEMPLATE_EMAIL.ENVIO_CODIGO_VALIDACAO_EMAIL){\n return 'Envio de código de validação de e-mail';\n }\n\n if(tipoTemplateNaoEditavel===TIPO_TEMPLATE_EMAIL.PENDECIAS_DOCUMENTACAO_MATRICULA){\n return 'Pendência de documentação para Matrícula';\n }\n\n if(tipoTemplateNaoEditavel===TIPO_TEMPLATE_EMAIL.PENDECIAS_DOCUMENTACAO_INSCRICAO){\n return 'Pendência de documentação de Inscrição';\n }\n\n if(tipoTemplateNaoEditavel===TIPO_TEMPLATE_EMAIL.RESULTADO_GERAL_MEDICINA){\n return 'Resultado geral de Medicina';\n }\n\n if(tipoTemplateNaoEditavel===TIPO_TEMPLATE_EMAIL.BENEFICIO_INSCRICAO_RAPIDA){\n return 'Benefício por inscrição imediata';\n }\n\n if(tipoTemplateNaoEditavel===TIPO_TEMPLATE_EMAIL.BENEFICIO_INSCRICAO_RAPIDA){\n return 'Benefício por inscrição imediata';\n }\n\n if(tipoTemplateNaoEditavel===TIPO_TEMPLATE_EMAIL.ENVIO_BOLETO_PAGAMENTO_INSCRICAO){\n return 'Envio de boleto para pagamento de inscrição';\n }\n \n return '';\n }\n\n}\n"],"sourceRoot":"webpack:///","file":"common.01c870642777cd1d.js"}