storage

package
v0.0.0-...-b4acfce Latest Latest
Warning

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

Go to latest
Published: Jan 27, 2020 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Course

type Course interface {
	SaveCourse(course *internal.Course, xpForTask int) error
	GetByUserID(id uint) ([]*internal.Course, error)
	GetAll() ([]*internal.Course, error)
	GetByID(id string) (*internal.Course, error)
	Exist(courseID string) bool
	GetManyByID(ids []string) ([]*internal.Course, error)
}

type CourseDB

type CourseDB struct {
	// contains filtered or unexported fields
}

func (*CourseDB) Exist

func (u *CourseDB) Exist(courseID string) bool

func (*CourseDB) GetAll

func (c *CourseDB) GetAll() ([]*internal.Course, error)

func (*CourseDB) GetByID

func (c *CourseDB) GetByID(id string) (*internal.Course, error)

func (*CourseDB) GetByUserID

func (c *CourseDB) GetByUserID(id uint) ([]*internal.Course, error)

func (*CourseDB) GetManyByID

func (c *CourseDB) GetManyByID(ids []string) ([]*internal.Course, error)

func (*CourseDB) SaveCourse

func (c *CourseDB) SaveCourse(course *internal.Course, xpForTask int) error

type CourseResult

type CourseResult interface {
	SaveResult(course *internal.CourseResult) error
	ReplaceIfExist(result *internal.CourseResult) (*internal.CourseResult, uint, error)
	ListBestResultsForUser(userID uint) ([]internal.CourseResult, error)
	GetBestResultForUserForCourse(userID uint, courseID string) (*internal.CourseResult, error)
	ListAllForUser(userID uint) ([]internal.CourseResult, error)
	ListStartedForUser(userID uint) ([]internal.CourseResult, error)
	ListFinishedForUser(userID uint) ([]internal.CourseResult, error)
	ListResultsForCourse(courseID string) ([]internal.CourseResult, error)
}

type CourseResultDB

type CourseResultDB struct {
	// contains filtered or unexported fields
}

func (*CourseResultDB) GetBestResultForUserForCourse

func (c *CourseResultDB) GetBestResultForUserForCourse(userID uint, courseID string) (*internal.CourseResult, error)

func (*CourseResultDB) ListAllForUser

func (c *CourseResultDB) ListAllForUser(userID uint) ([]internal.CourseResult, error)

func (*CourseResultDB) ListBestResultsForUser

func (c *CourseResultDB) ListBestResultsForUser(userID uint) ([]internal.CourseResult, error)

func (*CourseResultDB) ListFinishedForUser

func (c *CourseResultDB) ListFinishedForUser(userID uint) ([]internal.CourseResult, error)

func (*CourseResultDB) ListResultsForCourse

func (c *CourseResultDB) ListResultsForCourse(courseID string) ([]internal.CourseResult, error)

func (*CourseResultDB) ListStartedForUser

func (c *CourseResultDB) ListStartedForUser(userID uint) ([]internal.CourseResult, error)

func (*CourseResultDB) ReplaceIfExist

func (c *CourseResultDB) ReplaceIfExist(result *internal.CourseResult) (*internal.CourseResult, uint, error)

func (*CourseResultDB) SaveResult

func (c *CourseResultDB) SaveResult(course *internal.CourseResult) error

type Database

type Database struct {
	User         User
	Task         Task
	Course       Course
	CourseResult CourseResult
}

func NewDatabase

func NewDatabase(cfg *config.Config, entry *logrus.Logger) (*Database, error)

type Task

type Task interface {
	SaveTask(task *internal.Task) error
	GetTasksForCourse(course *internal.Course) []internal.Task
	MapTasksForCourses(courses []*internal.Course) map[uint][]internal.Task
	GetByID(id uint) (*internal.Task, error)
	GetManyByID(ids []uint) ([]internal.Task, error)
	RemoveByID(task *internal.Task) error
}

type TaskDB

type TaskDB struct {
	// contains filtered or unexported fields
}

func (*TaskDB) GetByID

func (c *TaskDB) GetByID(id uint) (*internal.Task, error)

func (*TaskDB) GetManyByID

func (c *TaskDB) GetManyByID(ids []uint) ([]internal.Task, error)

func (*TaskDB) GetTasksForCourse

func (c *TaskDB) GetTasksForCourse(course *internal.Course) []internal.Task

func (*TaskDB) MapTasksForCourses

func (c *TaskDB) MapTasksForCourses(courses []*internal.Course) map[uint][]internal.Task

func (*TaskDB) RemoveByID

func (c *TaskDB) RemoveByID(task *internal.Task) error

func (*TaskDB) SaveTask

func (c *TaskDB) SaveTask(task *internal.Task) error

type User

type User interface {
	SaveUser(user *internal.User) error
	Exist(user *internal.User) bool
	GetByID(id uint) (*internal.User, error)
	GetManyByID(ids []uint) ([]internal.User, error)
	GetByMail(email string) ([]internal.User, error)
	GetAll() ([]internal.User, error)
}

type UserDB

type UserDB struct {
	// contains filtered or unexported fields
}

func (*UserDB) Exist

func (u *UserDB) Exist(user *internal.User) bool

func (*UserDB) GetAll

func (u *UserDB) GetAll() ([]internal.User, error)

func (*UserDB) GetByID

func (u *UserDB) GetByID(id uint) (*internal.User, error)

func (*UserDB) GetByMail

func (u *UserDB) GetByMail(email string) ([]internal.User, error)

func (*UserDB) GetManyByID

func (u *UserDB) GetManyByID(ids []uint) ([]internal.User, error)

func (*UserDB) SaveUser

func (u *UserDB) SaveUser(user *internal.User) error

Jump to

Keyboard shortcuts

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