// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.21.0 // source: feeds.sql package database import ( "context" "time" ) const createFeed = `-- name: CreateFeed :one INSERT INTO feeds (created_at, updated_at, name, url, user_id) VALUES (?, ?, ?, ?, ?) RETURNING id, created_at, updated_at, name, url, user_id, last_fetched_at ` type CreateFeedParams struct { CreatedAt time.Time UpdatedAt time.Time Name string Url string UserID int64 } func (q *Queries) CreateFeed(ctx context.Context, arg CreateFeedParams) (Feed, error) { row := q.db.QueryRowContext(ctx, createFeed, 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 getFeeds = `-- name: GetFeeds :many SELECT id, created_at, updated_at, name, url, user_id, last_fetched_at FROM feeds ` func (q *Queries) GetFeeds(ctx context.Context) ([]Feed, error) { rows, err := q.db.QueryContext(ctx, getFeeds) 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 getFeedsByUser = `-- name: GetFeedsByUser :many SELECT id, created_at, updated_at, name, url, user_id, last_fetched_at FROM feeds WHERE user_id = ? ` func (q *Queries) GetFeedsByUser(ctx context.Context, userID int64) ([]Feed, error) { rows, err := q.db.QueryContext(ctx, getFeedsByUser, userID) 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 getNextFeedToFetch = `-- name: GetNextFeedToFetch :many SELECT id, created_at, updated_at, name, url, user_id, last_fetched_at FROM feeds ORDER BY last_fetched_at ASC NULLS FIRST LIMIT ? ` func (q *Queries) GetNextFeedToFetch(ctx context.Context, limit int64) ([]Feed, error) { rows, err := q.db.QueryContext(ctx, getNextFeedToFetch, limit) 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 markFeedAsFetched = `-- name: MarkFeedAsFetched :one UPDATE feeds SET last_fetched_at = date('nowj'), updated_at = date('now') WHERE id = ? RETURNING id, created_at, updated_at, name, url, user_id, last_fetched_at ` func (q *Queries) MarkFeedAsFetched(ctx context.Context, id int64) (Feed, error) { row := q.db.QueryRowContext(ctx, markFeedAsFetched, id) var i Feed err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.Name, &i.Url, &i.UserID, &i.LastFetchedAt, ) return i, err }