Documentation
¶
Index ¶
- type Database
- func (d *Database) BulkModify(filter *Filter, modifier *Modifier) (int, error)
- func (d *Database) Close() error
- func (d *Database) DeleteBookmark(bookmark *models.Bookmark) error
- func (d *Database) Engine() *sqlx.DB
- func (d *Database) FilterBookmarks(filter *Filter) ([]*models.Bookmark, error)
- func (d *Database) FilterProject(filter *Filter) ([]*models.Project, error)
- func (d *Database) FullTextSearchSupported() (bool, error)
- func (d *Database) GetAllBookmarks() ([]*models.Bookmark, error)
- func (d *Database) GetAllProjects(name string, strict bool) ([]*models.Project, error)
- func (d *Database) GetAllTags() (*map[string]int, error)
- func (d *Database) GetBookmark(id int) (*models.Bookmark, error)
- func (d *Database) GetBookmarkMetadata(bookmark *models.Bookmark) error
- func (d *Database) GetMetadataKeys() ([]string, error)
- func (d *Database) GetStatistics() (*Statistics, error)
- func (d *Database) InsertTags(tags []string, tx *sqlx.Tx) error
- func (d *Database) NewBookmark(b *models.Bookmark) error
- func (d *Database) NewBookmarks(bookmarks []*models.Bookmark, AddTags []string) error
- func (d *Database) RenameProject(old string, new string) error
- func (d *Database) SearchBookmarks(text string) ([]*models.Bookmark, error)
- func (d *Database) SearchKeyValue(key, value string) ([]string, error)
- func (d *Database) UpdateBookmark(b *models.Bookmark) error
- func (d *Database) UpdateBookmarkTags(bookmark *models.Bookmark, tags []string, tx *sqlx.Tx) error
- type Filter
- type Modifier
- type Statistics
- type StringFilter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Database ¶
type Database struct {
// contains filtered or unexported fields
}
func (*Database) BulkModify ¶
Bulk modify modifies multple bookmarks defined with filter to state defined in modifier
func (*Database) DeleteBookmark ¶
DeleteBookmark deletes bookmark and its metadata
func (*Database) FilterBookmarks ¶
FilterBookmarks applies given filter to return matching bookmarks
func (*Database) FilterProject ¶
FilterProject filters projects by given filter. If only filter.Project is defined filter project by that. Otherwise filter projects by bookmarks that match given filter
func (*Database) FullTextSearchSupported ¶
FullTextSearchSupported returns whether sqlite FTS5-module is enabled
func (*Database) GetAllBookmarks ¶
GetAllBookmarks returns all bookmarks filtered by their name. cnofig.HideArchived is obeyd and limit is 500
func (*Database) GetAllProjects ¶
GetAllProjects gets all projects If name is specified, search for that name If strict is set to true, then name must match project name exactly, Otherwise use wildcards If name == "", get all projects
func (*Database) GetAllTags ¶
GetAllTags returns all tags
func (*Database) GetBookmark ¶
GetBookmark returns single bookmark
func (*Database) GetBookmarkMetadata ¶
GetBookmarkMetadata gets metadata related to bookmark
func (*Database) GetMetadataKeys ¶
GetMetadataKeys returns all known metadata keys
func (*Database) GetStatistics ¶
func (d *Database) GetStatistics() (*Statistics, error)
GetStatistics gets various stats related to stored bookmarks
func (*Database) InsertTags ¶
InsertTag inserts tag for bookmark
func (*Database) NewBookmark ¶
NewBookmark stores new bookmark
func (*Database) NewBookmarks ¶
NewBookmarks creates batch of new bookmarks. Bookmark ids are not collected and need to be queried separately AddTags allows defining any custom tags that are assigned to all bookmarks
func (*Database) RenameProject ¶
RenameProject renames project and all its children. e.g. old: my-awesome-project, new: project: results in my-awesome-project.a -> project.a
func (*Database) SearchBookmarks ¶
SearchBookmarks searches both bookmarks table and additional metadata fields If full text search is enabled, combine those results as well
func (*Database) SearchKeyValue ¶
SearchKeyValue searches any key-value item for bookmark
func (*Database) UpdateBookmark ¶
UpdateBookmark updates all fields on bookmark
type Filter ¶
type Filter struct { Name StringFilter Description StringFilter Project StringFilter Tags StringFilter Content StringFilter CreatedAfter time.Time CreatedBefore time.Time Archived StringFilter CustomTags map[string]StringFilter SortField string SortDir string Query string // contains filtered or unexported fields }
Filter is a filter that represents user defined filterin and sorting
func NewFilter ¶
NewFilter parses and constructs new filter based on raw query. Query example: "name:asdf* author:'jack' my bookmark" Rules: Each parameter is separated by ' ', Strict match: enclose word with '\”,
type Modifier ¶
type Modifier struct { Project StringFilter Tags StringFilter Archived StringFilter CustomTags map[string]StringFilter }