// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.27.0 // source: feeds.sql package database import ( "context" "database/sql" "time" "github.com/google/uuid" ) const createFeed = `-- name: CreateFeed :one INSERT INTO feeds( id, created_at, updated_at, name, url, user_id ) VALUES ( $1, $2, $3, $4, $5, $6 ) RETURNING id, created_at, updated_at, name, url, user_id, last_fetched_at ` type CreateFeedParams struct { ID uuid.UUID CreatedAt time.Time UpdatedAt time.Time Name string Url string UserID uuid.UUID } func (q *Queries) CreateFeed(ctx context.Context, arg CreateFeedParams) (Feed, error) { row := q.db.QueryRowContext(ctx, createFeed, arg.ID, arg.CreatedAt, arg.UpdatedAt, arg.Name, arg.Url, arg.UserID, ) var i Feed err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.Name, &i.Url, &i.UserID, &i.LastFetchedAt, ) return i, err } const getAllFeeds = `-- name: GetAllFeeds :many SELECT id, created_at, updated_at, name, url, user_id, last_fetched_at FROM feeds ` func (q *Queries) GetAllFeeds(ctx context.Context) ([]Feed, error) { rows, err := q.db.QueryContext(ctx, getAllFeeds) if err != nil { return nil, err } defer rows.Close() var items []Feed for rows.Next() { var i Feed if err := rows.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.Name, &i.Url, &i.UserID, &i.LastFetchedAt, ); 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 getFeedByUrl = `-- name: GetFeedByUrl :one SELECT id, created_at, updated_at, name, url, user_id, last_fetched_at FROM feeds WHERE url = $1 ` func (q *Queries) GetFeedByUrl(ctx context.Context, url string) (Feed, error) { row := q.db.QueryRowContext(ctx, getFeedByUrl, url) var i Feed err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.Name, &i.Url, &i.UserID, &i.LastFetchedAt, ) return i, err } const getNextFeedToFetch = `-- name: GetNextFeedToFetch :one SELECT id, created_at, updated_at, name, url, user_id, last_fetched_at FROM feeds ORDER BY last_fetched_at ASC NULLS FIRST LIMIT 1 ` func (q *Queries) GetNextFeedToFetch(ctx context.Context) (Feed, error) { row := q.db.QueryRowContext(ctx, getNextFeedToFetch) var i Feed err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.Name, &i.Url, &i.UserID, &i.LastFetchedAt, ) return i, err } const markFeedFetched = `-- name: MarkFeedFetched :exec UPDATE feeds SET last_fetched_at = $2, updated_at = $3 WHERE id = $1 ` type MarkFeedFetchedParams struct { ID uuid.UUID LastFetchedAt sql.NullTime UpdatedAt time.Time } func (q *Queries) MarkFeedFetched(ctx context.Context, arg MarkFeedFetchedParams) error { _, err := q.db.ExecContext(ctx, markFeedFetched, arg.ID, arg.LastFetchedAt, arg.UpdatedAt) return err }