Files

153 lines
2.9 KiB
Go
Raw Permalink Normal View History

2026-08-01 14:26:19 -05:00
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.31.1
// source: feeds.sql
package database
import (
"context"
2026-08-03 07:14:33 -05:00
"database/sql"
2026-08-01 14:26:19 -05:00
"time"
"github.com/google/uuid"
)
const createFeed = `-- name: CreateFeed :one
2026-08-03 07:14:33 -05:00
INSERT INTO feeds (id, created_at, updated_at, name, url, user_id, last_fetched_at)
2026-08-01 14:26:19 -05:00
VALUES (
$1,
$2,
$3,
$4,
$5,
2026-08-03 07:14:33 -05:00
$6,
$7
2026-08-01 14:26:19 -05:00
)
2026-08-03 07:14:33 -05:00
RETURNING id, created_at, updated_at, name, url, user_id, last_fetched_at
2026-08-01 14:26:19 -05:00
`
type CreateFeedParams struct {
2026-08-03 07:14:33 -05:00
ID uuid.UUID
CreatedAt time.Time
UpdatedAt time.Time
Name string
Url string
UserID uuid.UUID
LastFetchedAt sql.NullTime
2026-08-01 14:26:19 -05:00
}
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,
2026-08-03 07:14:33 -05:00
arg.LastFetchedAt,
2026-08-01 14:26:19 -05:00
)
var i Feed
err := row.Scan(
&i.ID,
&i.CreatedAt,
&i.UpdatedAt,
&i.Name,
&i.Url,
&i.UserID,
2026-08-03 07:14:33 -05:00
&i.LastFetchedAt,
2026-08-01 14:26:19 -05:00
)
return i, err
}
const getAllFeeds = `-- name: GetAllFeeds :many
2026-08-03 07:14:33 -05:00
SELECT id, created_at, updated_at, name, url, user_id, last_fetched_at FROM feeds
2026-08-01 14:26:19 -05:00
`
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,
2026-08-03 07:14:33 -05:00
&i.LastFetchedAt,
2026-08-01 14:26:19 -05:00
); 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
}
2026-08-02 07:49:57 -05:00
const getFeedByUrl = `-- name: GetFeedByUrl :one
2026-08-03 07:14:33 -05:00
SELECT id, created_at, updated_at, name, url, user_id, last_fetched_at FROM feeds
2026-08-02 07:49:57 -05:00
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,
2026-08-03 07:14:33 -05:00
&i.LastFetchedAt,
2026-08-02 07:49:57 -05:00
)
return i, err
}
2026-08-03 07:14:33 -05:00
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
`
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 markFeedAsFetched = `-- name: MarkFeedAsFetched :exec
UPDATE feeds
SET last_fetched_at = $1
WHERE feeds.id = $2
`
type MarkFeedAsFetchedParams struct {
LastFetchedAt sql.NullTime
ID uuid.UUID
}
func (q *Queries) MarkFeedAsFetched(ctx context.Context, arg MarkFeedAsFetchedParams) error {
_, err := q.db.ExecContext(ctx, markFeedAsFetched, arg.LastFetchedAt, arg.ID)
return err
}