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.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952// Code generated by sqlc. DO NOT EDIT.// versions:// sqlc v1.31.1// source: highlights.sql
package sqlcdb
import ( "context" "time")
const createHighlight = `-- name: CreateHighlight :execINSERT INTO highlights (uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cid)VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11)ON CONFLICT(uri) DO UPDATE SET target_source = EXCLUDED.target_source, target_hash = EXCLUDED.target_hash, target_title = EXCLUDED.target_title, selector_json = EXCLUDED.selector_json, color = EXCLUDED.color, tags_json = EXCLUDED.tags_json, indexed_at = EXCLUDED.indexed_at, cid = EXCLUDED.cid`
type CreateHighlightParams struct { Uri string `json:"uri"` AuthorDid string `json:"authorDid"` TargetSource string `json:"targetSource"` TargetHash string `json:"targetHash"` TargetTitle *string `json:"targetTitle"` SelectorJson *string `json:"selectorJson"` Color *string `json:"color"` TagsJson *string `json:"tagsJson"` CreatedAt time.Time `json:"createdAt"` IndexedAt time.Time `json:"indexedAt"` Cid *string `json:"cid"`}
func (q *Queries) CreateHighlight(ctx context.Context, arg CreateHighlightParams) error { _, err := q.db.Exec(ctx, createHighlight, arg.Uri, arg.AuthorDid, arg.TargetSource, arg.TargetHash, arg.TargetTitle, arg.SelectorJson, arg.Color, arg.TagsJson, arg.CreatedAt, arg.IndexedAt, arg.Cid, ) return err}
const deleteHighlight = `-- name: DeleteHighlight :execDELETE FROM highlights WHERE uri = $1`
func (q *Queries) DeleteHighlight(ctx context.Context, uri string) error { _, err := q.db.Exec(ctx, deleteHighlight, uri) return err}
const getHighlightByURI = `-- name: GetHighlightByURI :oneSELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cidFROM all_highlightsWHERE uri = $1`
func (q *Queries) GetHighlightByURI(ctx context.Context, uri string) (AllHighlight, error) { row := q.db.QueryRow(ctx, getHighlightByURI, uri) var i AllHighlight err := row.Scan( &i.Uri, &i.AuthorDid, &i.TargetSource, &i.TargetHash, &i.TargetTitle, &i.SelectorJson, &i.Color, &i.TagsJson, &i.CreatedAt, &i.IndexedAt, &i.Cid, ) return i, err}
const getHighlightURIs = `-- name: GetHighlightURIs :manySELECT uri FROM all_highlights WHERE author_did = $1`
func (q *Queries) GetHighlightURIs(ctx context.Context, authorDid string) ([]string, error) { rows, err := q.db.Query(ctx, getHighlightURIs, authorDid) if err != nil { return nil, err } defer rows.Close() var items []string for rows.Next() { var uri string if err := rows.Scan(&uri); err != nil { return nil, err } items = append(items, uri) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const getHighlightsByAuthor = `-- name: GetHighlightsByAuthor :manySELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cidFROM all_highlightsWHERE author_did = $1ORDER BY created_at DESCLIMIT $2 OFFSET $3`
type GetHighlightsByAuthorParams struct { AuthorDid string `json:"authorDid"` Limit int32 `json:"limit"` Offset int32 `json:"offset"`}
func (q *Queries) GetHighlightsByAuthor(ctx context.Context, arg GetHighlightsByAuthorParams) ([]AllHighlight, error) { rows, err := q.db.Query(ctx, getHighlightsByAuthor, arg.AuthorDid, arg.Limit, arg.Offset) if err != nil { return nil, err } defer rows.Close() var items []AllHighlight for rows.Next() { var i AllHighlight if err := rows.Scan( &i.Uri, &i.AuthorDid, &i.TargetSource, &i.TargetHash, &i.TargetTitle, &i.SelectorJson, &i.Color, &i.TagsJson, &i.CreatedAt, &i.IndexedAt, &i.Cid, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const getHighlightsByAuthorAndTargetHash = `-- name: GetHighlightsByAuthorAndTargetHash :manySELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cidFROM all_highlightsWHERE author_did = $1 AND target_hash = $2ORDER BY created_at DESCLIMIT $3 OFFSET $4`
type GetHighlightsByAuthorAndTargetHashParams struct { AuthorDid string `json:"authorDid"` TargetHash string `json:"targetHash"` Limit int32 `json:"limit"` Offset int32 `json:"offset"`}
func (q *Queries) GetHighlightsByAuthorAndTargetHash(ctx context.Context, arg GetHighlightsByAuthorAndTargetHashParams) ([]AllHighlight, error) { rows, err := q.db.Query(ctx, getHighlightsByAuthorAndTargetHash, arg.AuthorDid, arg.TargetHash, arg.Limit, arg.Offset, ) if err != nil { return nil, err } defer rows.Close() var items []AllHighlight for rows.Next() { var i AllHighlight if err := rows.Scan( &i.Uri, &i.AuthorDid, &i.TargetSource, &i.TargetHash, &i.TargetTitle, &i.SelectorJson, &i.Color, &i.TagsJson, &i.CreatedAt, &i.IndexedAt, &i.Cid, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const getHighlightsByTag = `-- name: GetHighlightsByTag :manySELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cidFROM all_highlightsWHERE lower(tags_json)::jsonb ? $1ORDER BY created_at DESCLIMIT $2 OFFSET $3`
type GetHighlightsByTagParams struct { TagsJson *string `json:"tagsJson"` Limit int32 `json:"limit"` Offset int32 `json:"offset"`}
func (q *Queries) GetHighlightsByTag(ctx context.Context, arg GetHighlightsByTagParams) ([]AllHighlight, error) { rows, err := q.db.Query(ctx, getHighlightsByTag, arg.TagsJson, arg.Limit, arg.Offset) if err != nil { return nil, err } defer rows.Close() var items []AllHighlight for rows.Next() { var i AllHighlight if err := rows.Scan( &i.Uri, &i.AuthorDid, &i.TargetSource, &i.TargetHash, &i.TargetTitle, &i.SelectorJson, &i.Color, &i.TagsJson, &i.CreatedAt, &i.IndexedAt, &i.Cid, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const getHighlightsByTagAndAuthor = `-- name: GetHighlightsByTagAndAuthor :manySELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cidFROM all_highlightsWHERE author_did = $1 AND lower(tags_json)::jsonb ? $2ORDER BY created_at DESCLIMIT $3 OFFSET $4`
type GetHighlightsByTagAndAuthorParams struct { AuthorDid string `json:"authorDid"` TagsJson *string `json:"tagsJson"` Limit int32 `json:"limit"` Offset int32 `json:"offset"`}
func (q *Queries) GetHighlightsByTagAndAuthor(ctx context.Context, arg GetHighlightsByTagAndAuthorParams) ([]AllHighlight, error) { rows, err := q.db.Query(ctx, getHighlightsByTagAndAuthor, arg.AuthorDid, arg.TagsJson, arg.Limit, arg.Offset, ) if err != nil { return nil, err } defer rows.Close() var items []AllHighlight for rows.Next() { var i AllHighlight if err := rows.Scan( &i.Uri, &i.AuthorDid, &i.TargetSource, &i.TargetHash, &i.TargetTitle, &i.SelectorJson, &i.Color, &i.TagsJson, &i.CreatedAt, &i.IndexedAt, &i.Cid, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const getHighlightsByTargetHash = `-- name: GetHighlightsByTargetHash :manySELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cidFROM all_highlightsWHERE target_hash = $1ORDER BY created_at DESCLIMIT $2 OFFSET $3`
type GetHighlightsByTargetHashParams struct { TargetHash string `json:"targetHash"` Limit int32 `json:"limit"` Offset int32 `json:"offset"`}
func (q *Queries) GetHighlightsByTargetHash(ctx context.Context, arg GetHighlightsByTargetHashParams) ([]AllHighlight, error) { rows, err := q.db.Query(ctx, getHighlightsByTargetHash, arg.TargetHash, arg.Limit, arg.Offset) if err != nil { return nil, err } defer rows.Close() var items []AllHighlight for rows.Next() { var i AllHighlight if err := rows.Scan( &i.Uri, &i.AuthorDid, &i.TargetSource, &i.TargetHash, &i.TargetTitle, &i.SelectorJson, &i.Color, &i.TagsJson, &i.CreatedAt, &i.IndexedAt, &i.Cid, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const getHighlightsByURIs = `-- name: GetHighlightsByURIs :manySELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cidFROM all_highlightsWHERE uri = ANY($1::text[])`
func (q *Queries) GetHighlightsByURIs(ctx context.Context, dollar_1 []string) ([]AllHighlight, error) { rows, err := q.db.Query(ctx, getHighlightsByURIs, dollar_1) if err != nil { return nil, err } defer rows.Close() var items []AllHighlight for rows.Next() { var i AllHighlight if err := rows.Scan( &i.Uri, &i.AuthorDid, &i.TargetSource, &i.TargetHash, &i.TargetTitle, &i.SelectorJson, &i.Color, &i.TagsJson, &i.CreatedAt, &i.IndexedAt, &i.Cid, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const getMarginHighlights = `-- name: GetMarginHighlights :manySELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cidFROM all_highlightsWHERE uri NOT LIKE '%network.cosmik%'ORDER BY created_at DESCLIMIT $1 OFFSET $2`
type GetMarginHighlightsParams struct { Limit int32 `json:"limit"` Offset int32 `json:"offset"`}
func (q *Queries) GetMarginHighlights(ctx context.Context, arg GetMarginHighlightsParams) ([]AllHighlight, error) { rows, err := q.db.Query(ctx, getMarginHighlights, arg.Limit, arg.Offset) if err != nil { return nil, err } defer rows.Close() var items []AllHighlight for rows.Next() { var i AllHighlight if err := rows.Scan( &i.Uri, &i.AuthorDid, &i.TargetSource, &i.TargetHash, &i.TargetTitle, &i.SelectorJson, &i.Color, &i.TagsJson, &i.CreatedAt, &i.IndexedAt, &i.Cid, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const getMarginHighlightsByAuthor = `-- name: GetMarginHighlightsByAuthor :manySELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cidFROM all_highlightsWHERE author_did = $1 AND uri NOT LIKE '%network.cosmik%'ORDER BY created_at DESCLIMIT $2 OFFSET $3`
type GetMarginHighlightsByAuthorParams struct { AuthorDid string `json:"authorDid"` Limit int32 `json:"limit"` Offset int32 `json:"offset"`}
func (q *Queries) GetMarginHighlightsByAuthor(ctx context.Context, arg GetMarginHighlightsByAuthorParams) ([]AllHighlight, error) { rows, err := q.db.Query(ctx, getMarginHighlightsByAuthor, arg.AuthorDid, arg.Limit, arg.Offset) if err != nil { return nil, err } defer rows.Close() var items []AllHighlight for rows.Next() { var i AllHighlight if err := rows.Scan( &i.Uri, &i.AuthorDid, &i.TargetSource, &i.TargetHash, &i.TargetTitle, &i.SelectorJson, &i.Color, &i.TagsJson, &i.CreatedAt, &i.IndexedAt, &i.Cid, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const getMarginHighlightsByTag = `-- name: GetMarginHighlightsByTag :manySELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cidFROM all_highlightsWHERE lower(tags_json)::jsonb ? $1 AND uri NOT LIKE '%network.cosmik%'ORDER BY created_at DESCLIMIT $2 OFFSET $3`
type GetMarginHighlightsByTagParams struct { TagsJson *string `json:"tagsJson"` Limit int32 `json:"limit"` Offset int32 `json:"offset"`}
func (q *Queries) GetMarginHighlightsByTag(ctx context.Context, arg GetMarginHighlightsByTagParams) ([]AllHighlight, error) { rows, err := q.db.Query(ctx, getMarginHighlightsByTag, arg.TagsJson, arg.Limit, arg.Offset) if err != nil { return nil, err } defer rows.Close() var items []AllHighlight for rows.Next() { var i AllHighlight if err := rows.Scan( &i.Uri, &i.AuthorDid, &i.TargetSource, &i.TargetHash, &i.TargetTitle, &i.SelectorJson, &i.Color, &i.TagsJson, &i.CreatedAt, &i.IndexedAt, &i.Cid, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const getMarginHighlightsByTagAndAuthor = `-- name: GetMarginHighlightsByTagAndAuthor :manySELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cidFROM all_highlightsWHERE author_did = $1 AND lower(tags_json)::jsonb ? $2 AND uri NOT LIKE '%network.cosmik%'ORDER BY created_at DESCLIMIT $3 OFFSET $4`
type GetMarginHighlightsByTagAndAuthorParams struct { AuthorDid string `json:"authorDid"` TagsJson *string `json:"tagsJson"` Limit int32 `json:"limit"` Offset int32 `json:"offset"`}
func (q *Queries) GetMarginHighlightsByTagAndAuthor(ctx context.Context, arg GetMarginHighlightsByTagAndAuthorParams) ([]AllHighlight, error) { rows, err := q.db.Query(ctx, getMarginHighlightsByTagAndAuthor, arg.AuthorDid, arg.TagsJson, arg.Limit, arg.Offset, ) if err != nil { return nil, err } defer rows.Close() var items []AllHighlight for rows.Next() { var i AllHighlight if err := rows.Scan( &i.Uri, &i.AuthorDid, &i.TargetSource, &i.TargetHash, &i.TargetTitle, &i.SelectorJson, &i.Color, &i.TagsJson, &i.CreatedAt, &i.IndexedAt, &i.Cid, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const getPopularHighlights = `-- name: GetPopularHighlights :manySELECT h.uri, h.author_did, h.target_source, h.target_hash, h.target_title, h.selector_json, h.color, h.tags_json, h.created_at, h.indexed_at, h.cidFROM all_highlights hLEFT JOIN LATERAL ( SELECT COUNT(*) as cnt FROM likes WHERE subject_uri = h.uri) l ON trueLEFT JOIN LATERAL ( SELECT COUNT(*) as cnt FROM replies WHERE root_uri = h.uri) r ON trueWHERE h.created_at > $1 AND (l.cnt + r.cnt) > 0ORDER BY (l.cnt + r.cnt) DESC, h.created_at DESCLIMIT $2 OFFSET $3`
type GetPopularHighlightsParams struct { CreatedAt time.Time `json:"createdAt"` Limit int32 `json:"limit"` Offset int32 `json:"offset"`}
func (q *Queries) GetPopularHighlights(ctx context.Context, arg GetPopularHighlightsParams) ([]AllHighlight, error) { rows, err := q.db.Query(ctx, getPopularHighlights, arg.CreatedAt, arg.Limit, arg.Offset) if err != nil { return nil, err } defer rows.Close() var items []AllHighlight for rows.Next() { var i AllHighlight if err := rows.Scan( &i.Uri, &i.AuthorDid, &i.TargetSource, &i.TargetHash, &i.TargetTitle, &i.SelectorJson, &i.Color, &i.TagsJson, &i.CreatedAt, &i.IndexedAt, &i.Cid, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const getRecentHighlights = `-- name: GetRecentHighlights :manySELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cidFROM all_highlightsORDER BY created_at DESCLIMIT $1 OFFSET $2`
type GetRecentHighlightsParams struct { Limit int32 `json:"limit"` Offset int32 `json:"offset"`}
func (q *Queries) GetRecentHighlights(ctx context.Context, arg GetRecentHighlightsParams) ([]AllHighlight, error) { rows, err := q.db.Query(ctx, getRecentHighlights, arg.Limit, arg.Offset) if err != nil { return nil, err } defer rows.Close() var items []AllHighlight for rows.Next() { var i AllHighlight if err := rows.Scan( &i.Uri, &i.AuthorDid, &i.TargetSource, &i.TargetHash, &i.TargetTitle, &i.SelectorJson, &i.Color, &i.TagsJson, &i.CreatedAt, &i.IndexedAt, &i.Cid, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const getSembleHighlights = `-- name: GetSembleHighlights :manySELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cidFROM all_highlightsWHERE uri LIKE '%network.cosmik%'ORDER BY created_at DESCLIMIT $1 OFFSET $2`
type GetSembleHighlightsParams struct { Limit int32 `json:"limit"` Offset int32 `json:"offset"`}
func (q *Queries) GetSembleHighlights(ctx context.Context, arg GetSembleHighlightsParams) ([]AllHighlight, error) { rows, err := q.db.Query(ctx, getSembleHighlights, arg.Limit, arg.Offset) if err != nil { return nil, err } defer rows.Close() var items []AllHighlight for rows.Next() { var i AllHighlight if err := rows.Scan( &i.Uri, &i.AuthorDid, &i.TargetSource, &i.TargetHash, &i.TargetTitle, &i.SelectorJson, &i.Color, &i.TagsJson, &i.CreatedAt, &i.IndexedAt, &i.Cid, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const getSembleHighlightsByAuthor = `-- name: GetSembleHighlightsByAuthor :manySELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cidFROM all_highlightsWHERE author_did = $1 AND uri LIKE '%network.cosmik%'ORDER BY created_at DESCLIMIT $2 OFFSET $3`
type GetSembleHighlightsByAuthorParams struct { AuthorDid string `json:"authorDid"` Limit int32 `json:"limit"` Offset int32 `json:"offset"`}
func (q *Queries) GetSembleHighlightsByAuthor(ctx context.Context, arg GetSembleHighlightsByAuthorParams) ([]AllHighlight, error) { rows, err := q.db.Query(ctx, getSembleHighlightsByAuthor, arg.AuthorDid, arg.Limit, arg.Offset) if err != nil { return nil, err } defer rows.Close() var items []AllHighlight for rows.Next() { var i AllHighlight if err := rows.Scan( &i.Uri, &i.AuthorDid, &i.TargetSource, &i.TargetHash, &i.TargetTitle, &i.SelectorJson, &i.Color, &i.TagsJson, &i.CreatedAt, &i.IndexedAt, &i.Cid, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const getSembleHighlightsByTag = `-- name: GetSembleHighlightsByTag :manySELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cidFROM all_highlightsWHERE lower(tags_json)::jsonb ? $1 AND uri LIKE '%network.cosmik%'ORDER BY created_at DESCLIMIT $2 OFFSET $3`
type GetSembleHighlightsByTagParams struct { TagsJson *string `json:"tagsJson"` Limit int32 `json:"limit"` Offset int32 `json:"offset"`}
func (q *Queries) GetSembleHighlightsByTag(ctx context.Context, arg GetSembleHighlightsByTagParams) ([]AllHighlight, error) { rows, err := q.db.Query(ctx, getSembleHighlightsByTag, arg.TagsJson, arg.Limit, arg.Offset) if err != nil { return nil, err } defer rows.Close() var items []AllHighlight for rows.Next() { var i AllHighlight if err := rows.Scan( &i.Uri, &i.AuthorDid, &i.TargetSource, &i.TargetHash, &i.TargetTitle, &i.SelectorJson, &i.Color, &i.TagsJson, &i.CreatedAt, &i.IndexedAt, &i.Cid, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const getSembleHighlightsByTagAndAuthor = `-- name: GetSembleHighlightsByTagAndAuthor :manySELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cidFROM all_highlightsWHERE author_did = $1 AND lower(tags_json)::jsonb ? $2 AND uri LIKE '%network.cosmik%'ORDER BY created_at DESCLIMIT $3 OFFSET $4`
type GetSembleHighlightsByTagAndAuthorParams struct { AuthorDid string `json:"authorDid"` TagsJson *string `json:"tagsJson"` Limit int32 `json:"limit"` Offset int32 `json:"offset"`}
func (q *Queries) GetSembleHighlightsByTagAndAuthor(ctx context.Context, arg GetSembleHighlightsByTagAndAuthorParams) ([]AllHighlight, error) { rows, err := q.db.Query(ctx, getSembleHighlightsByTagAndAuthor, arg.AuthorDid, arg.TagsJson, arg.Limit, arg.Offset, ) if err != nil { return nil, err } defer rows.Close() var items []AllHighlight for rows.Next() { var i AllHighlight if err := rows.Scan( &i.Uri, &i.AuthorDid, &i.TargetSource, &i.TargetHash, &i.TargetTitle, &i.SelectorJson, &i.Color, &i.TagsJson, &i.CreatedAt, &i.IndexedAt, &i.Cid, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const getShelvedHighlights = `-- name: GetShelvedHighlights :manySELECT h.uri, h.author_did, h.target_source, h.target_hash, h.target_title, h.selector_json, h.color, h.tags_json, h.created_at, h.indexed_at, h.cidFROM all_highlights hWHERE h.created_at < $1 AND h.created_at > $2 AND NOT EXISTS (SELECT 1 FROM likes WHERE subject_uri = h.uri) AND NOT EXISTS (SELECT 1 FROM replies WHERE root_uri = h.uri)ORDER BY RANDOM()LIMIT $3 OFFSET $4`
type GetShelvedHighlightsParams struct { CreatedAt time.Time `json:"createdAt"` CreatedAt_2 time.Time `json:"createdAt2"` Limit int32 `json:"limit"` Offset int32 `json:"offset"`}
func (q *Queries) GetShelvedHighlights(ctx context.Context, arg GetShelvedHighlightsParams) ([]AllHighlight, error) { rows, err := q.db.Query(ctx, getShelvedHighlights, arg.CreatedAt, arg.CreatedAt_2, arg.Limit, arg.Offset, ) if err != nil { return nil, err } defer rows.Close() var items []AllHighlight for rows.Next() { var i AllHighlight if err := rows.Scan( &i.Uri, &i.AuthorDid, &i.TargetSource, &i.TargetHash, &i.TargetTitle, &i.SelectorJson, &i.Color, &i.TagsJson, &i.CreatedAt, &i.IndexedAt, &i.Cid, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil}
const updateHighlight = `-- name: UpdateHighlight :execUPDATE highlightsSET color = $1, tags_json = $2, cid = $3, indexed_at = $4WHERE uri = $5`
type UpdateHighlightParams struct { Color *string `json:"color"` TagsJson *string `json:"tagsJson"` Cid *string `json:"cid"` IndexedAt time.Time `json:"indexedAt"` Uri string `json:"uri"`}
func (q *Queries) UpdateHighlight(ctx context.Context, arg UpdateHighlightParams) error { _, err := q.db.Exec(ctx, updateHighlight, arg.Color, arg.TagsJson, arg.Cid, arg.IndexedAt, arg.Uri, ) return err}