// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: codigos_acesso.sql package generated import ( "context" "github.com/jackc/pgx/v5/pgtype" ) const createCodigoAcesso = `-- name: CreateCodigoAcesso :one INSERT INTO codigos_acesso ( codigo, descricao, validade_dias, expira_em, ativo, empresa_id ) VALUES ( $1, $2, $3, $4, $5, $6 ) RETURNING id, codigo, descricao, validade_dias, criado_em, expira_em, ativo, usos, empresa_id ` type CreateCodigoAcessoParams struct { Codigo string `json:"codigo"` Descricao pgtype.Text `json:"descricao"` ValidadeDias int32 `json:"validade_dias"` ExpiraEm pgtype.Timestamptz `json:"expira_em"` Ativo bool `json:"ativo"` EmpresaID pgtype.UUID `json:"empresa_id"` } func (q *Queries) CreateCodigoAcesso(ctx context.Context, arg CreateCodigoAcessoParams) (CodigosAcesso, error) { row := q.db.QueryRow(ctx, createCodigoAcesso, arg.Codigo, arg.Descricao, arg.ValidadeDias, arg.ExpiraEm, arg.Ativo, arg.EmpresaID, ) var i CodigosAcesso err := row.Scan( &i.ID, &i.Codigo, &i.Descricao, &i.ValidadeDias, &i.CriadoEm, &i.ExpiraEm, &i.Ativo, &i.Usos, &i.EmpresaID, ) return i, err } const deleteCodigoAcesso = `-- name: DeleteCodigoAcesso :exec DELETE FROM codigos_acesso WHERE id = $1 ` func (q *Queries) DeleteCodigoAcesso(ctx context.Context, id pgtype.UUID) error { _, err := q.db.Exec(ctx, deleteCodigoAcesso, id) return err } const getCodigoAcesso = `-- name: GetCodigoAcesso :one SELECT c.id, c.codigo, c.descricao, c.validade_dias, c.criado_em, c.expira_em, c.ativo, c.usos, c.empresa_id, e.nome as empresa_nome FROM codigos_acesso c LEFT JOIN empresas e ON c.empresa_id = e.id WHERE c.codigo = $1 LIMIT 1 ` type GetCodigoAcessoRow 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"` EmpresaNome pgtype.Text `json:"empresa_nome"` } func (q *Queries) GetCodigoAcesso(ctx context.Context, codigo string) (GetCodigoAcessoRow, error) { row := q.db.QueryRow(ctx, getCodigoAcesso, codigo) var i GetCodigoAcessoRow err := row.Scan( &i.ID, &i.Codigo, &i.Descricao, &i.ValidadeDias, &i.CriadoEm, &i.ExpiraEm, &i.Ativo, &i.Usos, &i.EmpresaID, &i.EmpresaNome, ) return i, err } const incrementCodigoAcessoUso = `-- name: IncrementCodigoAcessoUso :exec UPDATE codigos_acesso SET usos = usos + 1 WHERE id = $1 ` func (q *Queries) IncrementCodigoAcessoUso(ctx context.Context, id pgtype.UUID) error { _, err := q.db.Exec(ctx, incrementCodigoAcessoUso, id) return err } const listCodigosAcesso = `-- name: ListCodigosAcesso :many SELECT c.id, c.codigo, c.descricao, c.validade_dias, c.criado_em, c.expira_em, c.ativo, c.usos, c.empresa_id, e.nome as empresa_nome FROM codigos_acesso c LEFT JOIN empresas e ON c.empresa_id = e.id ORDER BY c.criado_em DESC ` type ListCodigosAcessoRow 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"` EmpresaNome pgtype.Text `json:"empresa_nome"` } func (q *Queries) ListCodigosAcesso(ctx context.Context) ([]ListCodigosAcessoRow, error) { rows, err := q.db.Query(ctx, listCodigosAcesso) if err != nil { return nil, err } defer rows.Close() var items []ListCodigosAcessoRow for rows.Next() { var i ListCodigosAcessoRow if err := rows.Scan( &i.ID, &i.Codigo, &i.Descricao, &i.ValidadeDias, &i.CriadoEm, &i.ExpiraEm, &i.Ativo, &i.Usos, &i.EmpresaID, &i.EmpresaNome, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil }