db

package
v0.0.0-...-e3a8e75 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 22, 2021 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Database

type Database interface {
	AllBadWords() (models.BadWords, error)
	AllGroupTerms() (models.GroupTerms, error)
	RandomSearchTerms() (models.SearchTerms, error)

	AllCommits() (models.GitCommits, error)
	UpdateCommit(commit *models.GitCommit) error
	RecentCommitsByGroup(group string) (models.GitCommits, error)
	GetOrCreateUser(user *models.GitUser) error
	GetOrCreateRepo(repo *models.GitRepo) error
	GetOrCreateCommit(commit *models.GitCommit) error

	Close()
}

Database defines the behavior for the application's database.

type MockDB

type MockDB struct {
	AllBadWordsMock       func() (models.BadWords, error)
	AllGroupTermsMock     func() (models.GroupTerms, error)
	RandomSearchTermsMock func() (models.SearchTerms, error)

	AllCommitsMock           func() (models.GitCommits, error)
	UpdateCommitMock         func(commit *models.GitCommit) error
	RecentCommitsByGroupMock func(group string) (models.GitCommits, error)
	GetOrCreateUserMock      func(user *models.GitUser) error
	GetOrCreateRepoMock      func(repo *models.GitRepo) error
	GetOrCreateCommitMock    func(commit *models.GitCommit) error
}

MockDB is an fake DB type that implements the Database interface. Used for testing.

func (*MockDB) AllBadWords

func (m *MockDB) AllBadWords() (models.BadWords, error)

AllBadWords ...

func (*MockDB) AllCommits

func (m *MockDB) AllCommits() (models.GitCommits, error)

AllCommits ...

func (*MockDB) AllGroupTerms

func (m *MockDB) AllGroupTerms() (models.GroupTerms, error)

AllGroupTerms ...

func (*MockDB) Close

func (m *MockDB) Close()

Close ...

func (*MockDB) GetOrCreateCommit

func (m *MockDB) GetOrCreateCommit(commit *models.GitCommit) error

GetOrCreateCommit ...

func (*MockDB) GetOrCreateRepo

func (m *MockDB) GetOrCreateRepo(repo *models.GitRepo) error

GetOrCreateRepo ...

func (*MockDB) GetOrCreateUser

func (m *MockDB) GetOrCreateUser(user *models.GitUser) error

GetOrCreateUser ...

func (*MockDB) RandomSearchTerms

func (m *MockDB) RandomSearchTerms() (models.SearchTerms, error)

RandomSearchTerms ...

func (*MockDB) RecentCommitsByGroup

func (m *MockDB) RecentCommitsByGroup(group string) (models.GitCommits, error)

RecentCommitsByGroup ...

func (*MockDB) UpdateCommit

func (m *MockDB) UpdateCommit(commit *models.GitCommit) error

UpdateCommit ...

type SqliteDB

type SqliteDB struct {
	DB *sqlx.DB
}

SqliteDB is an sqlite-backed type that implements the Database interface.

func NewSqliteDB

func NewSqliteDB(name string) SqliteDB

NewSqliteDB connects to the database, and returns a new *SqliteDB type.

func (*SqliteDB) AllBadWords

func (s *SqliteDB) AllBadWords() (models.BadWords, error)

AllBadWords returns all the bad words.

func (*SqliteDB) AllCommits

func (s *SqliteDB) AllCommits() (models.GitCommits, error)

AllCommits returns all the commits.

func (*SqliteDB) AllGroupTerms

func (s *SqliteDB) AllGroupTerms() (models.GroupTerms, error)

AllGroupTerms returns all the group terms.

func (*SqliteDB) Close

func (s *SqliteDB) Close()

Close the database connection.

func (*SqliteDB) GetOrCreateCommit

func (s *SqliteDB) GetOrCreateCommit(commit *models.GitCommit) error

GetOrCreateCommit is a convenience method to get the provided Commit, or create it if it doesn't exist.

func (*SqliteDB) GetOrCreateRepo

func (s *SqliteDB) GetOrCreateRepo(repo *models.GitRepo) error

GetOrCreateRepo is a convenience method to get the provided Repo, or create it if it doesn't exist.

func (*SqliteDB) GetOrCreateUser

func (s *SqliteDB) GetOrCreateUser(user *models.GitUser) error

GetOrCreateUser is a convenience method to get the provided User, or create it if it doesn't exist.

func (*SqliteDB) RandomSearchTerms

func (s *SqliteDB) RandomSearchTerms() (models.SearchTerms, error)

RandomSearchTerms returns a list of randomly selected terms of predetermined rank.

func (*SqliteDB) RecentCommitsByGroup

func (s *SqliteDB) RecentCommitsByGroup(group string) (models.GitCommits, error)

RecentCommitsByGroup returns the most recent commits.

func (*SqliteDB) UpdateCommit

func (s *SqliteDB) UpdateCommit(commit *models.GitCommit) error

UpdateCommit ...

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL