Backend: - Adiciona endpoint `PUT /api/me` para permitir atualização de dados do usuário logado. - Implementa query `UpdateCadastroCliente` e função de serviço [UpdateClientData]para persistir alterações de clientes. - Atualiza handlers [Me], [Login] e [ListPending] para incluir e mapear corretamente campos de cliente (CPF, Endereço, Telefone). - Corrige mapeamento do campo `phone` na struct de resposta do usuário. Frontend: - Habilita o formulário de edição em [Profile.tsx] para usuários do tipo 'CLIENTE' (Event Owner). - Adiciona função [updateUserProfile] em [apiService.ts] para consumir o novo endpoint. - Atualiza [AuthContext] para persistir campos do cliente (CPF, Endereço, etc.) durante a restauração de sessão ([restoreSession], corrigindo o bug de perfil vazio ao recarregar a página. - Padroniza envio de dados no Registro e Aprovação para usar `snake_case` (ex: `cpf_cnpj`, `professional_type`). - Atualiza tipos em [types.ts] para incluir campos de endereço e documentos.
292 lines
13 KiB
Go
292 lines
13 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.30.0
|
|
|
|
package generated
|
|
|
|
import (
|
|
"github.com/jackc/pgx/v5/pgtype"
|
|
)
|
|
|
|
type Agenda struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
UserID pgtype.UUID `json:"user_id"`
|
|
FotID pgtype.UUID `json:"fot_id"`
|
|
DataEvento pgtype.Date `json:"data_evento"`
|
|
TipoEventoID pgtype.UUID `json:"tipo_evento_id"`
|
|
ObservacoesEvento pgtype.Text `json:"observacoes_evento"`
|
|
LocalEvento pgtype.Text `json:"local_evento"`
|
|
Endereco pgtype.Text `json:"endereco"`
|
|
Horario pgtype.Text `json:"horario"`
|
|
QtdFormandos pgtype.Int4 `json:"qtd_formandos"`
|
|
QtdFotografos pgtype.Int4 `json:"qtd_fotografos"`
|
|
QtdRecepcionistas pgtype.Int4 `json:"qtd_recepcionistas"`
|
|
QtdCinegrafistas pgtype.Int4 `json:"qtd_cinegrafistas"`
|
|
QtdEstudios pgtype.Int4 `json:"qtd_estudios"`
|
|
QtdPontoFoto pgtype.Int4 `json:"qtd_ponto_foto"`
|
|
QtdPontoID pgtype.Int4 `json:"qtd_ponto_id"`
|
|
QtdPontoDecorado pgtype.Int4 `json:"qtd_ponto_decorado"`
|
|
QtdPontosLed pgtype.Int4 `json:"qtd_pontos_led"`
|
|
QtdPlataforma360 pgtype.Int4 `json:"qtd_plataforma_360"`
|
|
StatusProfissionais pgtype.Text `json:"status_profissionais"`
|
|
FotoFaltante pgtype.Int4 `json:"foto_faltante"`
|
|
RecepFaltante pgtype.Int4 `json:"recep_faltante"`
|
|
CineFaltante pgtype.Int4 `json:"cine_faltante"`
|
|
LogisticaObservacoes pgtype.Text `json:"logistica_observacoes"`
|
|
PreVenda pgtype.Bool `json:"pre_venda"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
AtualizadoEm pgtype.Timestamptz `json:"atualizado_em"`
|
|
Status pgtype.Text `json:"status"`
|
|
LogisticaNotificacaoEnviadaEm pgtype.Timestamp `json:"logistica_notificacao_enviada_em"`
|
|
Regiao pgtype.Text `json:"regiao"`
|
|
Contatos []byte `json:"contatos"`
|
|
}
|
|
|
|
type AgendaEscala struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
AgendaID pgtype.UUID `json:"agenda_id"`
|
|
ProfissionalID pgtype.UUID `json:"profissional_id"`
|
|
DataHoraInicio pgtype.Timestamptz `json:"data_hora_inicio"`
|
|
DataHoraFim pgtype.Timestamptz `json:"data_hora_fim"`
|
|
FuncaoEspecifica pgtype.Text `json:"funcao_especifica"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
AtualizadoEm pgtype.Timestamptz `json:"atualizado_em"`
|
|
}
|
|
|
|
type AgendaProfissionai struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
AgendaID pgtype.UUID `json:"agenda_id"`
|
|
ProfissionalID pgtype.UUID `json:"profissional_id"`
|
|
Status pgtype.Text `json:"status"`
|
|
MotivoRejeicao pgtype.Text `json:"motivo_rejeicao"`
|
|
FuncaoID pgtype.UUID `json:"funcao_id"`
|
|
Posicao pgtype.Text `json:"posicao"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
}
|
|
|
|
type AnosFormatura struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
AnoSemestre string `json:"ano_semestre"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
Regiao pgtype.Text `json:"regiao"`
|
|
}
|
|
|
|
type CadastroCliente struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
UsuarioID pgtype.UUID `json:"usuario_id"`
|
|
EmpresaID pgtype.UUID `json:"empresa_id"`
|
|
Nome pgtype.Text `json:"nome"`
|
|
Telefone pgtype.Text `json:"telefone"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
AtualizadoEm pgtype.Timestamptz `json:"atualizado_em"`
|
|
CpfCnpj pgtype.Text `json:"cpf_cnpj"`
|
|
Cep pgtype.Text `json:"cep"`
|
|
Endereco pgtype.Text `json:"endereco"`
|
|
Numero pgtype.Text `json:"numero"`
|
|
Complemento pgtype.Text `json:"complemento"`
|
|
Bairro pgtype.Text `json:"bairro"`
|
|
Cidade pgtype.Text `json:"cidade"`
|
|
Estado pgtype.Text `json:"estado"`
|
|
}
|
|
|
|
type CadastroFot struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
Fot string `json:"fot"`
|
|
EmpresaID pgtype.UUID `json:"empresa_id"`
|
|
CursoID pgtype.UUID `json:"curso_id"`
|
|
AnoFormaturaID pgtype.UUID `json:"ano_formatura_id"`
|
|
Instituicao pgtype.Text `json:"instituicao"`
|
|
Cidade pgtype.Text `json:"cidade"`
|
|
Estado pgtype.Text `json:"estado"`
|
|
Observacoes pgtype.Text `json:"observacoes"`
|
|
GastosCaptacao pgtype.Numeric `json:"gastos_captacao"`
|
|
PreVenda pgtype.Bool `json:"pre_venda"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
|
Regiao pgtype.Text `json:"regiao"`
|
|
}
|
|
|
|
type CadastroProfissionai struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
UsuarioID pgtype.UUID `json:"usuario_id"`
|
|
Nome string `json:"nome"`
|
|
FuncaoProfissionalID pgtype.UUID `json:"funcao_profissional_id"`
|
|
Endereco pgtype.Text `json:"endereco"`
|
|
Cidade pgtype.Text `json:"cidade"`
|
|
Uf pgtype.Text `json:"uf"`
|
|
Whatsapp pgtype.Text `json:"whatsapp"`
|
|
CpfCnpjTitular pgtype.Text `json:"cpf_cnpj_titular"`
|
|
Banco pgtype.Text `json:"banco"`
|
|
Agencia pgtype.Text `json:"agencia"`
|
|
Conta pgtype.Text `json:"conta"`
|
|
ContaPix pgtype.Text `json:"conta_pix"`
|
|
CarroDisponivel pgtype.Bool `json:"carro_disponivel"`
|
|
TemEstudio pgtype.Bool `json:"tem_estudio"`
|
|
QtdEstudio pgtype.Int4 `json:"qtd_estudio"`
|
|
TipoCartao pgtype.Text `json:"tipo_cartao"`
|
|
Observacao pgtype.Text `json:"observacao"`
|
|
QualTec pgtype.Int4 `json:"qual_tec"`
|
|
EducacaoSimpatia pgtype.Int4 `json:"educacao_simpatia"`
|
|
DesempenhoEvento pgtype.Int4 `json:"desempenho_evento"`
|
|
DispHorario pgtype.Int4 `json:"disp_horario"`
|
|
Media pgtype.Numeric `json:"media"`
|
|
TabelaFree pgtype.Text `json:"tabela_free"`
|
|
ExtraPorEquipamento pgtype.Bool `json:"extra_por_equipamento"`
|
|
Equipamentos pgtype.Text `json:"equipamentos"`
|
|
Email pgtype.Text `json:"email"`
|
|
AvatarUrl pgtype.Text `json:"avatar_url"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
AtualizadoEm pgtype.Timestamptz `json:"atualizado_em"`
|
|
Regiao pgtype.Text `json:"regiao"`
|
|
}
|
|
|
|
type CodigosAcesso struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
Codigo string `json:"codigo"`
|
|
Descricao pgtype.Text `json:"descricao"`
|
|
ValidadeDias int32 `json:"validade_dias"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
ExpiraEm pgtype.Timestamptz `json:"expira_em"`
|
|
Ativo bool `json:"ativo"`
|
|
Usos int32 `json:"usos"`
|
|
EmpresaID pgtype.UUID `json:"empresa_id"`
|
|
Regiao pgtype.Text `json:"regiao"`
|
|
}
|
|
|
|
type Curso struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
Nome string `json:"nome"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
Regiao pgtype.Text `json:"regiao"`
|
|
}
|
|
|
|
type DisponibilidadeProfissionai struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
UsuarioID pgtype.UUID `json:"usuario_id"`
|
|
Data pgtype.Date `json:"data"`
|
|
Status string `json:"status"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
}
|
|
|
|
type Empresa struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
Nome string `json:"nome"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
Regiao pgtype.Text `json:"regiao"`
|
|
}
|
|
|
|
type FinancialTransaction struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
FotID pgtype.UUID `json:"fot_id"`
|
|
DataCobranca pgtype.Date `json:"data_cobranca"`
|
|
TipoEvento pgtype.Text `json:"tipo_evento"`
|
|
TipoServico pgtype.Text `json:"tipo_servico"`
|
|
ProfessionalName pgtype.Text `json:"professional_name"`
|
|
Whatsapp pgtype.Text `json:"whatsapp"`
|
|
Cpf pgtype.Text `json:"cpf"`
|
|
TabelaFree pgtype.Text `json:"tabela_free"`
|
|
ValorFree pgtype.Numeric `json:"valor_free"`
|
|
ValorExtra pgtype.Numeric `json:"valor_extra"`
|
|
DescricaoExtra pgtype.Text `json:"descricao_extra"`
|
|
TotalPagar pgtype.Numeric `json:"total_pagar"`
|
|
DataPagamento pgtype.Date `json:"data_pagamento"`
|
|
PgtoOk pgtype.Bool `json:"pgto_ok"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
AtualizadoEm pgtype.Timestamptz `json:"atualizado_em"`
|
|
ProfissionalID pgtype.UUID `json:"profissional_id"`
|
|
Regiao pgtype.Text `json:"regiao"`
|
|
}
|
|
|
|
type FuncoesProfissionai struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
Nome string `json:"nome"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
AtualizadoEm pgtype.Timestamptz `json:"atualizado_em"`
|
|
}
|
|
|
|
type LogisticaCarro struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
AgendaID pgtype.UUID `json:"agenda_id"`
|
|
MotoristaID pgtype.UUID `json:"motorista_id"`
|
|
NomeMotorista pgtype.Text `json:"nome_motorista"`
|
|
HorarioChegada pgtype.Text `json:"horario_chegada"`
|
|
Observacoes pgtype.Text `json:"observacoes"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
AtualizadoEm pgtype.Timestamptz `json:"atualizado_em"`
|
|
}
|
|
|
|
type LogisticaPassageiro struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
CarroID pgtype.UUID `json:"carro_id"`
|
|
ProfissionalID pgtype.UUID `json:"profissional_id"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
}
|
|
|
|
type MapasEvento struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
AgendaID pgtype.UUID `json:"agenda_id"`
|
|
Nome pgtype.Text `json:"nome"`
|
|
ImagemUrl pgtype.Text `json:"imagem_url"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
}
|
|
|
|
type MarcadoresMapa struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
MapaID pgtype.UUID `json:"mapa_id"`
|
|
ProfissionalID pgtype.UUID `json:"profissional_id"`
|
|
PosX pgtype.Numeric `json:"pos_x"`
|
|
PosY pgtype.Numeric `json:"pos_y"`
|
|
Rotulo pgtype.Text `json:"rotulo"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
}
|
|
|
|
type PrecosTiposEvento struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
TipoEventoID pgtype.UUID `json:"tipo_evento_id"`
|
|
FuncaoProfissionalID pgtype.UUID `json:"funcao_profissional_id"`
|
|
Valor pgtype.Numeric `json:"valor"`
|
|
Regiao pgtype.Text `json:"regiao"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
}
|
|
|
|
type ProfissionaisFuncoesJunction struct {
|
|
ProfissionalID pgtype.UUID `json:"profissional_id"`
|
|
FuncaoID pgtype.UUID `json:"funcao_id"`
|
|
}
|
|
|
|
type RefreshToken struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
UsuarioID pgtype.UUID `json:"usuario_id"`
|
|
TokenHash string `json:"token_hash"`
|
|
UserAgent pgtype.Text `json:"user_agent"`
|
|
Ip pgtype.Text `json:"ip"`
|
|
ExpiraEm pgtype.Timestamptz `json:"expira_em"`
|
|
Revogado bool `json:"revogado"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
}
|
|
|
|
type TiposEvento struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
Nome string `json:"nome"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
Regiao pgtype.Text `json:"regiao"`
|
|
}
|
|
|
|
type TiposServico struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
Nome string `json:"nome"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
Regiao pgtype.Text `json:"regiao"`
|
|
}
|
|
|
|
type Usuario struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
Email string `json:"email"`
|
|
SenhaHash string `json:"senha_hash"`
|
|
Role string `json:"role"`
|
|
TipoProfissional pgtype.Text `json:"tipo_profissional"`
|
|
Ativo bool `json:"ativo"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
AtualizadoEm pgtype.Timestamptz `json:"atualizado_em"`
|
|
RegioesPermitidas []string `json:"regioes_permitidas"`
|
|
}
|