photum/backend/internal/db/generated/logistica_disponiveis.sql.go

164 lines
5.7 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.30.0
// source: logistica_disponiveis.sql
package generated
import (
"context"
"github.com/jackc/pgx/v5/pgtype"
)
const countProfissionaisDisponiveisLogistica = `-- name: CountProfissionaisDisponiveisLogistica :one
SELECT COUNT(p.id)
FROM cadastro_profissionais p
WHERE p.regiao = $1
AND ($2::text = '' OR p.nome ILIKE '%' || $2 || '%')
AND NOT EXISTS (
SELECT 1 FROM convites_diarios cd
WHERE cd.profissional_id = p.id
AND cd.data = CAST($3 AS DATE)
AND cd.status IN ('PENDENTE', 'ACEITO')
)
`
type CountProfissionaisDisponiveisLogisticaParams struct {
Regiao pgtype.Text `json:"regiao"`
Column2 string `json:"column_2"`
Column3 pgtype.Date `json:"column_3"`
}
func (q *Queries) CountProfissionaisDisponiveisLogistica(ctx context.Context, arg CountProfissionaisDisponiveisLogisticaParams) (int64, error) {
row := q.db.QueryRow(ctx, countProfissionaisDisponiveisLogistica, arg.Regiao, arg.Column2, arg.Column3)
var count int64
err := row.Scan(&count)
return count, err
}
const getProfissionaisDisponiveisLogistica = `-- name: GetProfissionaisDisponiveisLogistica :many
SELECT p.id, p.usuario_id, p.nome, p.funcao_profissional_id, p.endereco, p.cidade, p.uf, p.whatsapp, p.cep, p.numero, p.complemento, p.bairro, p.cpf_cnpj_titular, p.banco, p.agencia, p.conta, p.conta_pix, p.carro_disponivel, p.tem_estudio, p.qtd_estudio, p.tipo_cartao, p.observacao, p.qual_tec, p.educacao_simpatia, p.desempenho_evento, p.disp_horario, p.media, p.tabela_free, p.extra_por_equipamento, p.equipamentos, p.email, p.avatar_url, p.criado_em, p.atualizado_em, p.regiao, f.nome as funcao_nome
FROM cadastro_profissionais p
LEFT JOIN funcoes_profissionais f ON p.funcao_profissional_id = f.id
WHERE p.regiao = $1
AND ($2::text = '' OR p.nome ILIKE '%' || $2 || '%')
AND NOT EXISTS (
SELECT 1 FROM convites_diarios cd
WHERE cd.profissional_id = p.id
AND cd.data = CAST($3 AS DATE)
AND cd.status IN ('PENDENTE', 'ACEITO')
)
ORDER BY p.nome ASC
LIMIT $4 OFFSET $5
`
type GetProfissionaisDisponiveisLogisticaParams struct {
Regiao pgtype.Text `json:"regiao"`
Column2 string `json:"column_2"`
Column3 pgtype.Date `json:"column_3"`
Limit int32 `json:"limit"`
Offset int32 `json:"offset"`
}
type GetProfissionaisDisponiveisLogisticaRow 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"`
Cep pgtype.Text `json:"cep"`
Numero pgtype.Text `json:"numero"`
Complemento pgtype.Text `json:"complemento"`
Bairro pgtype.Text `json:"bairro"`
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"`
FuncaoNome pgtype.Text `json:"funcao_nome"`
}
func (q *Queries) GetProfissionaisDisponiveisLogistica(ctx context.Context, arg GetProfissionaisDisponiveisLogisticaParams) ([]GetProfissionaisDisponiveisLogisticaRow, error) {
rows, err := q.db.Query(ctx, getProfissionaisDisponiveisLogistica,
arg.Regiao,
arg.Column2,
arg.Column3,
arg.Limit,
arg.Offset,
)
if err != nil {
return nil, err
}
defer rows.Close()
var items []GetProfissionaisDisponiveisLogisticaRow
for rows.Next() {
var i GetProfissionaisDisponiveisLogisticaRow
if err := rows.Scan(
&i.ID,
&i.UsuarioID,
&i.Nome,
&i.FuncaoProfissionalID,
&i.Endereco,
&i.Cidade,
&i.Uf,
&i.Whatsapp,
&i.Cep,
&i.Numero,
&i.Complemento,
&i.Bairro,
&i.CpfCnpjTitular,
&i.Banco,
&i.Agencia,
&i.Conta,
&i.ContaPix,
&i.CarroDisponivel,
&i.TemEstudio,
&i.QtdEstudio,
&i.TipoCartao,
&i.Observacao,
&i.QualTec,
&i.EducacaoSimpatia,
&i.DesempenhoEvento,
&i.DispHorario,
&i.Media,
&i.TabelaFree,
&i.ExtraPorEquipamento,
&i.Equipamentos,
&i.Email,
&i.AvatarUrl,
&i.CriadoEm,
&i.AtualizadoEm,
&i.Regiao,
&i.FuncaoNome,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}