Something went wrong. Try again.
(READ ONLY) Margin is an open annotation layer for the internet. Powered by the AT Protocol.
margin.at
extension web atproto comments
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144// Code generated by sqlc. DO NOT EDIT.// versions:// sqlc v1.31.1// source: misc.sql
package sqlcdb
import ( "context")
const getAnnotationAuthorByURI = `-- name: GetAnnotationAuthorByURI :oneSELECT author_did FROM annotations WHERE uri = $1`
func (q *Queries) GetAnnotationAuthorByURI(ctx context.Context, uri string) (string, error) { row := q.db.QueryRow(ctx, getAnnotationAuthorByURI, uri) var author_did string err := row.Scan(&author_did) return author_did, err}
const getBookmarkAuthorByURI = `-- name: GetBookmarkAuthorByURI :oneSELECT author_did FROM bookmarks WHERE uri = $1`
func (q *Queries) GetBookmarkAuthorByURI(ctx context.Context, uri string) (string, error) { row := q.db.QueryRow(ctx, getBookmarkAuthorByURI, uri) var author_did string err := row.Scan(&author_did) return author_did, err}
const getHighlightAuthorByURI = `-- name: GetHighlightAuthorByURI :oneSELECT author_did FROM highlights WHERE uri = $1`
func (q *Queries) GetHighlightAuthorByURI(ctx context.Context, uri string) (string, error) { row := q.db.QueryRow(ctx, getHighlightAuthorByURI, uri) var author_did string err := row.Scan(&author_did) return author_did, err}
const getTrendingTags = `-- name: GetTrendingTags :manySELECT tag, COUNT(*) as count FROM ( SELECT value as tag, author_did FROM annotations, json_array_elements_text(tags_json::json) as value WHERE tags_json IS NOT NULL AND tags_json != '' AND tags_json != '[]' AND created_at > NOW() - INTERVAL '14 days' UNION ALL SELECT value as tag, author_did FROM highlights, json_array_elements_text(tags_json::json) as value WHERE tags_json IS NOT NULL AND tags_json != '' AND tags_json != '[]' AND created_at > NOW() - INTERVAL '14 days' UNION ALL SELECT value as tag, author_did FROM bookmarks, json_array_elements_text(tags_json::json) as value WHERE tags_json IS NOT NULL AND tags_json != '' AND tags_json != '[]' AND created_at > NOW() - INTERVAL '14 days') combinedGROUP BY tagHAVING COUNT(DISTINCT author_did) >= 3ORDER BY count DESCLIMIT $1`
type GetTrendingTagsRow struct { Tag *string `json:"tag"` Count int64 `json:"count"`}
func (q *Queries) GetTrendingTags(ctx context.Context, limit int32) ([]GetTrendingTagsRow, error) { rows, err := q.db.Query(ctx, getTrendingTags, limit) if err != nil { return nil, err } defer rows.Close() var items []GetTrendingTagsRow for rows.Next() { var i GetTrendingTagsRow if err := rows.Scan(&i.Tag, &i.Count); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const getUserTags = `-- name: GetUserTags :manySELECT tag, SUM(cnt) as count FROM ( SELECT value as tag, COUNT(*) as cnt FROM annotations, json_array_elements_text(tags_json::json) as value WHERE annotations.author_did = $1 AND tags_json IS NOT NULL AND tags_json != '' AND tags_json != '[]' GROUP BY tag UNION ALL SELECT value as tag, COUNT(*) as cnt FROM highlights, json_array_elements_text(tags_json::json) as value WHERE highlights.author_did = $1 AND tags_json IS NOT NULL AND tags_json != '' AND tags_json != '[]' GROUP BY tag UNION ALL SELECT value as tag, COUNT(*) as cnt FROM bookmarks, json_array_elements_text(tags_json::json) as value WHERE bookmarks.author_did = $1 AND tags_json IS NOT NULL AND tags_json != '' AND tags_json != '[]' GROUP BY tag) combinedGROUP BY tagORDER BY count DESCLIMIT $2`
type GetUserTagsParams struct { AuthorDid string `json:"authorDid"` Limit int32 `json:"limit"`}
type GetUserTagsRow struct { Tag *string `json:"tag"` Count int64 `json:"count"`}
func (q *Queries) GetUserTags(ctx context.Context, arg GetUserTagsParams) ([]GetUserTagsRow, error) { rows, err := q.db.Query(ctx, getUserTags, arg.AuthorDid, arg.Limit) if err != nil { return nil, err } defer rows.Close() var items []GetUserTagsRow for rows.Next() { var i GetUserTagsRow if err := rows.Scan(&i.Tag, &i.Count); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}