// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.31.1 // source: urls.sql package database import ( "context" "database/sql" "time" ) const createURL = `-- name: CreateURL :one INSERT INTO urls (created_at, expires_at, long_url, short_code, is_active) VALUES ( $1, $2, $3, $4, $5 ) RETURNING url_id, long_url, short_code, created_at, expires_at, is_active ` type CreateURLParams struct { CreatedAt time.Time ExpiresAt sql.NullTime LongUrl string ShortCode string IsActive bool } func (q *Queries) CreateURL(ctx context.Context, arg CreateURLParams) (Url, error) { row := q.db.QueryRowContext(ctx, createURL, arg.CreatedAt, arg.ExpiresAt, arg.LongUrl, arg.ShortCode, arg.IsActive, ) var i Url err := row.Scan( &i.UrlID, &i.LongUrl, &i.ShortCode, &i.CreatedAt, &i.ExpiresAt, &i.IsActive, ) return i, err } const deleteURL = `-- name: DeleteURL :one DELETE FROM urls WHERE url_id = $1 RETURNING url_id, long_url, short_code, created_at, expires_at, is_active ` func (q *Queries) DeleteURL(ctx context.Context, urlID int32) (Url, error) { row := q.db.QueryRowContext(ctx, deleteURL, urlID) var i Url err := row.Scan( &i.UrlID, &i.LongUrl, &i.ShortCode, &i.CreatedAt, &i.ExpiresAt, &i.IsActive, ) return i, err } const getURLByShortCode = `-- name: GetURLByShortCode :one SELECT url_id, long_url FROM urls WHERE is_active = true AND short_code = $1 ` type GetURLByShortCodeRow struct { UrlID int32 LongUrl string } func (q *Queries) GetURLByShortCode(ctx context.Context, shortCode string) (GetURLByShortCodeRow, error) { row := q.db.QueryRowContext(ctx, getURLByShortCode, shortCode) var i GetURLByShortCodeRow err := row.Scan(&i.UrlID, &i.LongUrl) return i, err } const getURLs = `-- name: GetURLs :many SELECT url_id, long_url, short_code, created_at, expires_at, is_active FROM urls ` func (q *Queries) GetURLs(ctx context.Context) ([]Url, error) { rows, err := q.db.QueryContext(ctx, getURLs) if err != nil { return nil, err } defer rows.Close() var items []Url for rows.Next() { var i Url if err := rows.Scan( &i.UrlID, &i.LongUrl, &i.ShortCode, &i.CreatedAt, &i.ExpiresAt, &i.IsActive, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const setActive = `-- name: SetActive :one UPDATE urls SET is_active = $1 WHERE url_id = $2 RETURNING url_id, long_url, short_code, created_at, expires_at, is_active ` type SetActiveParams struct { IsActive bool UrlID int32 } func (q *Queries) SetActive(ctx context.Context, arg SetActiveParams) (Url, error) { row := q.db.QueryRowContext(ctx, setActive, arg.IsActive, arg.UrlID) var i Url err := row.Scan( &i.UrlID, &i.LongUrl, &i.ShortCode, &i.CreatedAt, &i.ExpiresAt, &i.IsActive, ) return i, err }