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.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271package db
import ( "context" "time"
"margin.at/internal/db/sqlcdb")
func (db *DB) CreateBookmark(ctx context.Context, b *Bookmark) error { return db.q.CreateBookmark(ctx, sqlcdb.CreateBookmarkParams{ Uri: b.URI, AuthorDid: b.AuthorDID, Source: b.Source, SourceHash: b.SourceHash, Title: b.Title, Description: b.Description, TagsJson: b.TagsJSON, CreatedAt: b.CreatedAt, IndexedAt: b.IndexedAt, Cid: b.CID, })}
func (db *DB) GetBookmarkByURI(ctx context.Context, uri string) (*Bookmark, error) { r, err := db.q.GetBookmarkByURI(ctx, uri) if err != nil { return nil, err } b := mapBookmark(r) return &b, nil}
func (db *DB) GetRecentBookmarks(ctx context.Context, limit, offset int) ([]Bookmark, error) { rows, err := db.q.GetRecentBookmarks(ctx, sqlcdb.GetRecentBookmarksParams{ Limit: int32(limit), Offset: int32(offset), }) if err != nil { return nil, err } return mapBookmarks(rows), nil}
func (db *DB) GetPopularBookmarks(ctx context.Context, limit, offset int) ([]Bookmark, error) { since := time.Now().AddDate(0, 0, -14) rows, err := db.q.GetPopularBookmarks(ctx, sqlcdb.GetPopularBookmarksParams{ CreatedAt: since, Limit: int32(limit), Offset: int32(offset), }) if err != nil { return nil, err } return mapBookmarks(rows), nil}
func (db *DB) GetShelvedBookmarks(ctx context.Context, limit, offset int) ([]Bookmark, error) { olderThan := time.Now().AddDate(0, 0, -1) since := time.Now().AddDate(0, 0, -14) rows, err := db.q.GetShelvedBookmarks(ctx, sqlcdb.GetShelvedBookmarksParams{ CreatedAt: olderThan, CreatedAt_2: since, Limit: int32(limit), Offset: int32(offset), }) if err != nil { return nil, err } return mapBookmarks(rows), nil}
func (db *DB) GetMarginBookmarks(ctx context.Context, limit, offset int) ([]Bookmark, error) { rows, err := db.q.GetMarginBookmarks(ctx, sqlcdb.GetMarginBookmarksParams{ Limit: int32(limit), Offset: int32(offset), }) if err != nil { return nil, err } return mapBookmarks(rows), nil}
func (db *DB) GetSembleBookmarks(ctx context.Context, limit, offset int) ([]Bookmark, error) { rows, err := db.q.GetSembleBookmarks(ctx, sqlcdb.GetSembleBookmarksParams{ Limit: int32(limit), Offset: int32(offset), }) if err != nil { return nil, err } return mapBookmarks(rows), nil}
func (db *DB) GetBookmarksByTag(ctx context.Context, tag string, limit, offset int) ([]Bookmark, error) { rows, err := db.q.GetBookmarksByTag(ctx, sqlcdb.GetBookmarksByTagParams{ TagsJson: &tag, Limit: int32(limit), Offset: int32(offset), }) if err != nil { return nil, err } return mapBookmarks(rows), nil}
func (db *DB) GetMarginBookmarksByTag(ctx context.Context, tag string, limit, offset int) ([]Bookmark, error) { rows, err := db.q.GetMarginBookmarksByTag(ctx, sqlcdb.GetMarginBookmarksByTagParams{ TagsJson: &tag, Limit: int32(limit), Offset: int32(offset), }) if err != nil { return nil, err } return mapBookmarks(rows), nil}
func (db *DB) GetSembleBookmarksByTag(ctx context.Context, tag string, limit, offset int) ([]Bookmark, error) { rows, err := db.q.GetSembleBookmarksByTag(ctx, sqlcdb.GetSembleBookmarksByTagParams{ TagsJson: &tag, Limit: int32(limit), Offset: int32(offset), }) if err != nil { return nil, err } return mapBookmarks(rows), nil}
func (db *DB) GetBookmarksByTagAndAuthor(ctx context.Context, tag, authorDID string, limit, offset int) ([]Bookmark, error) { rows, err := db.q.GetBookmarksByTagAndAuthor(ctx, sqlcdb.GetBookmarksByTagAndAuthorParams{ AuthorDid: authorDID, TagsJson: &tag, Limit: int32(limit), Offset: int32(offset), }) if err != nil { return nil, err } return mapBookmarks(rows), nil}
func (db *DB) GetMarginBookmarksByTagAndAuthor(ctx context.Context, tag, authorDID string, limit, offset int) ([]Bookmark, error) { rows, err := db.q.GetMarginBookmarksByTagAndAuthor(ctx, sqlcdb.GetMarginBookmarksByTagAndAuthorParams{ AuthorDid: authorDID, TagsJson: &tag, Limit: int32(limit), Offset: int32(offset), }) if err != nil { return nil, err } return mapBookmarks(rows), nil}
func (db *DB) GetSembleBookmarksByTagAndAuthor(ctx context.Context, tag, authorDID string, limit, offset int) ([]Bookmark, error) { rows, err := db.q.GetSembleBookmarksByTagAndAuthor(ctx, sqlcdb.GetSembleBookmarksByTagAndAuthorParams{ AuthorDid: authorDID, TagsJson: &tag, Limit: int32(limit), Offset: int32(offset), }) if err != nil { return nil, err } return mapBookmarks(rows), nil}
func (db *DB) GetBookmarksByAuthor(ctx context.Context, authorDID string, limit, offset int) ([]Bookmark, error) { rows, err := db.q.GetBookmarksByAuthor(ctx, sqlcdb.GetBookmarksByAuthorParams{ AuthorDid: authorDID, Limit: int32(limit), Offset: int32(offset), }) if err != nil { return nil, err } return mapBookmarks(rows), nil}
func (db *DB) GetMarginBookmarksByAuthor(ctx context.Context, authorDID string, limit, offset int) ([]Bookmark, error) { rows, err := db.q.GetMarginBookmarksByAuthor(ctx, sqlcdb.GetMarginBookmarksByAuthorParams{ AuthorDid: authorDID, Limit: int32(limit), Offset: int32(offset), }) if err != nil { return nil, err } return mapBookmarks(rows), nil}
func (db *DB) GetSembleBookmarksByAuthor(ctx context.Context, authorDID string, limit, offset int) ([]Bookmark, error) { rows, err := db.q.GetSembleBookmarksByAuthor(ctx, sqlcdb.GetSembleBookmarksByAuthorParams{ AuthorDid: authorDID, Limit: int32(limit), Offset: int32(offset), }) if err != nil { return nil, err } return mapBookmarks(rows), nil}
func (db *DB) DeleteBookmark(ctx context.Context, uri string) error { return db.q.DeleteBookmark(ctx, uri)}
func (db *DB) UpdateBookmark(ctx context.Context, uri, title, description, tagsJSON, cid string) error { return db.q.UpdateBookmark(ctx, sqlcdb.UpdateBookmarkParams{ Title: &title, Description: &description, TagsJson: &tagsJSON, Cid: &cid, IndexedAt: time.Now(), Uri: uri, })}
func (db *DB) GetBookmarksByURIs(ctx context.Context, uris []string) ([]Bookmark, error) { if len(uris) == 0 { return []Bookmark{}, nil }
rows, err := db.q.GetBookmarksByURIs(ctx, uris) if err != nil { return nil, err } return mapBookmarks(rows), nil}
func (db *DB) GetBookmarkURIs(ctx context.Context, authorDID string) ([]string, error) { return db.q.GetBookmarkURIs(ctx, authorDID)}
func (db *DB) GetBookmarksByTargetHash(ctx context.Context, targetHash string, limit, offset int) ([]Bookmark, error) { rows, err := db.q.GetBookmarksByTargetHash(ctx, sqlcdb.GetBookmarksByTargetHashParams{ SourceHash: targetHash, Limit: int32(limit), Offset: int32(offset), }) if err != nil { return nil, err } return mapBookmarks(rows), nil}
func mapBookmark(r sqlcdb.AllBookmark) Bookmark { return Bookmark{ URI: r.Uri, AuthorDID: r.AuthorDid, Source: r.Source, SourceHash: r.SourceHash, Title: r.Title, Description: r.Description, TagsJSON: r.TagsJson, CreatedAt: r.CreatedAt, IndexedAt: r.IndexedAt, CID: r.Cid, }}
func mapBookmarks(rows []sqlcdb.AllBookmark) []Bookmark { var bookmarks []Bookmark for _, r := range rows { bookmarks = append(bookmarks, mapBookmark(r)) } return bookmarks}