// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.26.0 // source: bookmarks.sql package db import ( "context" "github.com/google/uuid" "github.com/jackc/pgx/v5/pgtype" ) const addBookmark = `-- name: AddBookmark :one INSERT INTO bookmarks( username, resource_id, name, dir ) VALUES ( $1::TEXT, $2::UUID, $3::TEXT, $4::BOOLEAN ) ON CONFLICT(username, resource_id) DO UPDATE SET created = CASE WHEN bookmarks.deleted IS NULL THEN CURRENT_TIMESTAMP ELSE bookmarks.created END, modified = CURRENT_TIMESTAMP, deleted = NULL, name = $3::TEXT RETURNING username, resource_id, name, dir, created, modified, deleted ` type AddBookmarkParams struct { Username string ResourceID uuid.UUID Name string Dir bool } func (q *Queries) AddBookmark(ctx context.Context, arg AddBookmarkParams) (Bookmark, error) { row := q.db.QueryRow(ctx, addBookmark, arg.Username, arg.ResourceID, arg.Name, arg.Dir, ) var i Bookmark err := row.Scan( &i.Username, &i.ResourceID, &i.Name, &i.Dir, &i.Created, &i.Modified, &i.Deleted, ) return i, err } const deleteBookmark = `-- name: DeleteBookmark :one DELETE FROM bookmarks WHERE username = $1::TEXT AND resource_id = $2::UUID RETURNING username, resource_id, name, dir, created, modified, deleted ` type DeleteBookmarkParams struct { Username string ResourceID uuid.UUID } func (q *Queries) DeleteBookmark(ctx context.Context, arg DeleteBookmarkParams) (Bookmark, error) { row := q.db.QueryRow(ctx, deleteBookmark, arg.Username, arg.ResourceID) var i Bookmark err := row.Scan( &i.Username, &i.ResourceID, &i.Name, &i.Dir, &i.Created, &i.Modified, &i.Deleted, ) return i, err } const listBookmarks = `-- name: ListBookmarks :many SELECT username, resource_id, name, dir, created, modified, deleted FROM bookmarks b WHERE username = $1::TEXT AND modified > $2::TIMESTAMP ` type ListBookmarksParams struct { Username string Since pgtype.Timestamp } func (q *Queries) ListBookmarks(ctx context.Context, arg ListBookmarksParams) ([]Bookmark, error) { rows, err := q.db.Query(ctx, listBookmarks, arg.Username, arg.Since) if err != nil { return nil, err } defer rows.Close() var items []Bookmark for rows.Next() { var i Bookmark if err := rows.Scan( &i.Username, &i.ResourceID, &i.Name, &i.Dir, &i.Created, &i.Modified, &i.Deleted, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil }