// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: escalas.sql package generated import ( "context" "github.com/jackc/pgx/v5/pgtype" ) const createEscala = `-- name: CreateEscala :one INSERT INTO agenda_escalas ( agenda_id, profissional_id, data_hora_inicio, data_hora_fim, funcao_especifica ) VALUES ( $1, $2, $3, $4, $5 ) RETURNING id, agenda_id, profissional_id, data_hora_inicio, data_hora_fim, funcao_especifica, criado_em, atualizado_em ` type CreateEscalaParams struct { 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"` } func (q *Queries) CreateEscala(ctx context.Context, arg CreateEscalaParams) (AgendaEscala, error) { row := q.db.QueryRow(ctx, createEscala, arg.AgendaID, arg.ProfissionalID, arg.DataHoraInicio, arg.DataHoraFim, arg.FuncaoEspecifica, ) var i AgendaEscala err := row.Scan( &i.ID, &i.AgendaID, &i.ProfissionalID, &i.DataHoraInicio, &i.DataHoraFim, &i.FuncaoEspecifica, &i.CriadoEm, &i.AtualizadoEm, ) return i, err } const createMapa = `-- name: CreateMapa :one INSERT INTO mapas_eventos (agenda_id, nome, imagem_url) VALUES ($1, $2, $3) RETURNING id, agenda_id, nome, imagem_url, criado_em ` type CreateMapaParams struct { AgendaID pgtype.UUID `json:"agenda_id"` Nome pgtype.Text `json:"nome"` ImagemUrl pgtype.Text `json:"imagem_url"` } func (q *Queries) CreateMapa(ctx context.Context, arg CreateMapaParams) (MapasEvento, error) { row := q.db.QueryRow(ctx, createMapa, arg.AgendaID, arg.Nome, arg.ImagemUrl) var i MapasEvento err := row.Scan( &i.ID, &i.AgendaID, &i.Nome, &i.ImagemUrl, &i.CriadoEm, ) return i, err } const deleteEscala = `-- name: DeleteEscala :exec DELETE FROM agenda_escalas WHERE id = $1 ` func (q *Queries) DeleteEscala(ctx context.Context, id pgtype.UUID) error { _, err := q.db.Exec(ctx, deleteEscala, id) return err } const deleteMapa = `-- name: DeleteMapa :exec DELETE FROM mapas_eventos WHERE id = $1 ` func (q *Queries) DeleteMapa(ctx context.Context, id pgtype.UUID) error { _, err := q.db.Exec(ctx, deleteMapa, id) return err } const deleteMarcador = `-- name: DeleteMarcador :exec DELETE FROM marcadores_mapa WHERE id = $1 ` func (q *Queries) DeleteMarcador(ctx context.Context, id pgtype.UUID) error { _, err := q.db.Exec(ctx, deleteMarcador, id) return err } const listEscalasByAgendaID = `-- name: ListEscalasByAgendaID :many SELECT e.id, e.agenda_id, e.profissional_id, e.data_hora_inicio, e.data_hora_fim, e.funcao_especifica, e.criado_em, e.atualizado_em, p.nome as profissional_nome, p.avatar_url, p.whatsapp, f.nome as funcao_nome FROM agenda_escalas e JOIN cadastro_profissionais p ON e.profissional_id = p.id LEFT JOIN funcoes_profissionais f ON p.funcao_profissional_id = f.id WHERE e.agenda_id = $1 ORDER BY e.data_hora_inicio ` type ListEscalasByAgendaIDRow 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"` ProfissionalNome string `json:"profissional_nome"` AvatarUrl pgtype.Text `json:"avatar_url"` Whatsapp pgtype.Text `json:"whatsapp"` FuncaoNome pgtype.Text `json:"funcao_nome"` } func (q *Queries) ListEscalasByAgendaID(ctx context.Context, agendaID pgtype.UUID) ([]ListEscalasByAgendaIDRow, error) { rows, err := q.db.Query(ctx, listEscalasByAgendaID, agendaID) if err != nil { return nil, err } defer rows.Close() var items []ListEscalasByAgendaIDRow for rows.Next() { var i ListEscalasByAgendaIDRow if err := rows.Scan( &i.ID, &i.AgendaID, &i.ProfissionalID, &i.DataHoraInicio, &i.DataHoraFim, &i.FuncaoEspecifica, &i.CriadoEm, &i.AtualizadoEm, &i.ProfissionalNome, &i.AvatarUrl, &i.Whatsapp, &i.FuncaoNome, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const listMapasByAgendaID = `-- name: ListMapasByAgendaID :many SELECT id, agenda_id, nome, imagem_url, criado_em FROM mapas_eventos WHERE agenda_id = $1 ORDER BY criado_em ` func (q *Queries) ListMapasByAgendaID(ctx context.Context, agendaID pgtype.UUID) ([]MapasEvento, error) { rows, err := q.db.Query(ctx, listMapasByAgendaID, agendaID) if err != nil { return nil, err } defer rows.Close() var items []MapasEvento for rows.Next() { var i MapasEvento if err := rows.Scan( &i.ID, &i.AgendaID, &i.Nome, &i.ImagemUrl, &i.CriadoEm, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const listMarcadoresByMapaID = `-- name: ListMarcadoresByMapaID :many SELECT m.id, m.mapa_id, m.profissional_id, m.pos_x, m.pos_y, m.rotulo, m.criado_em, p.nome as profissional_nome, p.avatar_url, f.nome as funcao_nome FROM marcadores_mapa m LEFT JOIN cadastro_profissionais p ON m.profissional_id = p.id LEFT JOIN funcoes_profissionais f ON p.funcao_profissional_id = f.id WHERE m.mapa_id = $1 ` type ListMarcadoresByMapaIDRow 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"` ProfissionalNome pgtype.Text `json:"profissional_nome"` AvatarUrl pgtype.Text `json:"avatar_url"` FuncaoNome pgtype.Text `json:"funcao_nome"` } func (q *Queries) ListMarcadoresByMapaID(ctx context.Context, mapaID pgtype.UUID) ([]ListMarcadoresByMapaIDRow, error) { rows, err := q.db.Query(ctx, listMarcadoresByMapaID, mapaID) if err != nil { return nil, err } defer rows.Close() var items []ListMarcadoresByMapaIDRow for rows.Next() { var i ListMarcadoresByMapaIDRow if err := rows.Scan( &i.ID, &i.MapaID, &i.ProfissionalID, &i.PosX, &i.PosY, &i.Rotulo, &i.CriadoEm, &i.ProfissionalNome, &i.AvatarUrl, &i.FuncaoNome, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const updateEscala = `-- name: UpdateEscala :one UPDATE agenda_escalas SET profissional_id = COALESCE($2, profissional_id), data_hora_inicio = COALESCE($3, data_hora_inicio), data_hora_fim = COALESCE($4, data_hora_fim), funcao_especifica = COALESCE($5, funcao_especifica), atualizado_em = NOW() WHERE id = $1 RETURNING id, agenda_id, profissional_id, data_hora_inicio, data_hora_fim, funcao_especifica, criado_em, atualizado_em ` type UpdateEscalaParams struct { ID pgtype.UUID `json:"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"` } func (q *Queries) UpdateEscala(ctx context.Context, arg UpdateEscalaParams) (AgendaEscala, error) { row := q.db.QueryRow(ctx, updateEscala, arg.ID, arg.ProfissionalID, arg.DataHoraInicio, arg.DataHoraFim, arg.FuncaoEspecifica, ) var i AgendaEscala err := row.Scan( &i.ID, &i.AgendaID, &i.ProfissionalID, &i.DataHoraInicio, &i.DataHoraFim, &i.FuncaoEspecifica, &i.CriadoEm, &i.AtualizadoEm, ) return i, err } const upsertMarcador = `-- name: UpsertMarcador :one INSERT INTO marcadores_mapa (mapa_id, profissional_id, pos_x, pos_y, rotulo) VALUES ($1, $2, $3, $4, $5) ON CONFLICT (id) DO UPDATE SET pos_x = EXCLUDED.pos_x, pos_y = EXCLUDED.pos_y, rotulo = EXCLUDED.rotulo, profissional_id = EXCLUDED.profissional_id RETURNING id, mapa_id, profissional_id, pos_x, pos_y, rotulo, criado_em ` type UpsertMarcadorParams struct { 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"` } func (q *Queries) UpsertMarcador(ctx context.Context, arg UpsertMarcadorParams) (MarcadoresMapa, error) { row := q.db.QueryRow(ctx, upsertMarcador, arg.MapaID, arg.ProfissionalID, arg.PosX, arg.PosY, arg.Rotulo, ) var i MarcadoresMapa err := row.Scan( &i.ID, &i.MapaID, &i.ProfissionalID, &i.PosX, &i.PosY, &i.Rotulo, &i.CriadoEm, ) return i, err }