this repo has no description

feat: drop sqlc ViewFeed

Changed files
-56
db
mostliked
pkg
mostliked
-49
db/mostliked/query.sql.go
···
import (
"context"
-
"database/sql"
)
const insertLang = `-- name: InsertLang :exec
···
_, err := q.db.ExecContext(ctx, updateLikes, uri)
return err
}
-
-
const viewFeed = `-- name: ViewFeed :many
-
select posts.uri, create_ts, likes, lang
-
from posts
-
left join langs on posts.uri = langs.uri
-
order by likes desc
-
limit ? offset ?
-
`
-
-
type ViewFeedParams struct {
-
Limit int64
-
Offset int64
-
}
-
-
type ViewFeedRow struct {
-
Uri string
-
CreateTs int64
-
Likes int64
-
Lang sql.NullString
-
}
-
-
func (q *Queries) ViewFeed(ctx context.Context, arg ViewFeedParams) ([]ViewFeedRow, error) {
-
rows, err := q.db.QueryContext(ctx, viewFeed, arg.Limit, arg.Offset)
-
if err != nil {
-
return nil, err
-
}
-
defer rows.Close()
-
var items []ViewFeedRow
-
for rows.Next() {
-
var i ViewFeedRow
-
if err := rows.Scan(
-
&i.Uri,
-
&i.CreateTs,
-
&i.Likes,
-
&i.Lang,
-
); 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
-
}
-7
pkg/mostliked/query.sql
···
-- name: TrimPosts :exec
delete from posts where create_ts < unixepoch('now', '-24 hours');
-
-
-- name: ViewFeed :many
-
select posts.uri, create_ts, likes, lang
-
from posts
-
left join langs on posts.uri = langs.uri
-
order by likes desc
-
limit ? offset ?;