memory

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2023 License: AGPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Paginate

func Paginate[T any](data []T, page, perPage int) ([]T, njudge.PaginationData)

Types

type Categories

type Categories struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func NewCategories

func NewCategories() *Categories

func (*Categories) Delete

func (m *Categories) Delete(ctx context.Context, ID int) error

func (*Categories) Get

func (m *Categories) Get(ctx context.Context, ID int) (*njudge.Category, error)

func (*Categories) GetAll

func (m *Categories) GetAll(ctx context.Context) ([]njudge.Category, error)

func (*Categories) GetAllWithParent

func (m *Categories) GetAllWithParent(ctx context.Context, parentID int) ([]njudge.Category, error)

func (*Categories) GetByName

func (m *Categories) GetByName(ctx context.Context, name string) (*njudge.Category, error)

func (*Categories) Insert

func (m *Categories) Insert(ctx context.Context, u njudge.Category) (*njudge.Category, error)

func (*Categories) Update

func (m *Categories) Update(ctx context.Context, cat njudge.Category) error

type ProblemInfoQuery

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

func NewProblemInfoQuery

func NewProblemInfoQuery(ss njudge.Submissions) *ProblemInfoQuery

func (*ProblemInfoQuery) GetProblemData

func (p *ProblemInfoQuery) GetProblemData(ctx context.Context, problemID int, userID int) (*njudge.ProblemInfo, error)

type ProblemListQuery

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

func NewProblemListQuery

func NewProblemListQuery(store problems.Store, ps njudge.Problems, tags njudge.Tags, cs njudge.Categories) *ProblemListQuery

func (*ProblemListQuery) GetProblemList

type ProblemQuery

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

func NewProblemQuery

func NewProblemQuery(pp njudge.Problems) *ProblemQuery

func (*ProblemQuery) GetProblem

func (p *ProblemQuery) GetProblem(ctx context.Context, problemset string, problem string) (*njudge.Problem, error)

func (*ProblemQuery) GetProblemsWithCategory

func (p *ProblemQuery) GetProblemsWithCategory(ctx context.Context, f njudge.CategoryFilter) ([]njudge.Problem, error)

type Problems

type Problems struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func NewProblems

func NewProblems() *Problems

func (*Problems) Delete

func (m *Problems) Delete(ctx context.Context, id int) error

func (*Problems) Get

func (m *Problems) Get(ctx context.Context, ID int) (*njudge.Problem, error)

func (*Problems) GetAll

func (m *Problems) GetAll(ctx context.Context) ([]njudge.Problem, error)

func (*Problems) GetByNames

func (m *Problems) GetByNames(ctx context.Context, problemset, problem string) (*njudge.Problem, error)

func (*Problems) Insert

func (m *Problems) Insert(ctx context.Context, p njudge.Problem) (*njudge.Problem, error)

func (*Problems) Update

func (m *Problems) Update(ctx context.Context, p njudge.Problem, fields []string) error

type SubmissionListQuery

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

func NewSubmissionListQuery

func NewSubmissionListQuery(subs njudge.Submissions, ps njudge.Problems) *SubmissionListQuery

func (*SubmissionListQuery) GetAttemptedSubmissionList

func (s *SubmissionListQuery) GetAttemptedSubmissionList(ctx context.Context, userID int) (*njudge.SubmissionList, error)

func (*SubmissionListQuery) GetPagedSubmissionList

func (*SubmissionListQuery) GetSolvedSubmissionList

func (s *SubmissionListQuery) GetSolvedSubmissionList(ctx context.Context, userID int) (*njudge.SubmissionList, error)

func (*SubmissionListQuery) GetSubmissionList

type Submissions

type Submissions struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func NewSubmissions

func NewSubmissions() *Submissions

func (*Submissions) Delete

func (m *Submissions) Delete(ctx context.Context, ID int) error

func (*Submissions) Get

func (m *Submissions) Get(ctx context.Context, ID int) (*njudge.Submission, error)

func (*Submissions) GetAll

func (m *Submissions) GetAll(ctx context.Context) ([]njudge.Submission, error)

func (*Submissions) Insert

func (*Submissions) Update

func (m *Submissions) Update(ctx context.Context, s njudge.Submission, fields []string) error

type SubmissionsQuery

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

func NewSubmissionsQuery

func NewSubmissionsQuery(submissions njudge.Submissions) *SubmissionsQuery

func (*SubmissionsQuery) GetUnstarted

func (s *SubmissionsQuery) GetUnstarted(ctx context.Context, limit int) ([]njudge.Submission, error)

type SubmitService

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

func NewSubmitService

func NewSubmitService(submissions njudge.Submissions, users njudge.Users, problemQuery njudge.ProblemQuery, problemStore problems.Store) *SubmitService

func (*SubmitService) Submit

type Tags

type Tags struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func NewTags

func NewTags() *Tags

func (*Tags) Delete

func (m *Tags) Delete(ctx context.Context, ID int) error

func (*Tags) Get

func (m *Tags) Get(ctx context.Context, ID int) (*njudge.Tag, error)

func (*Tags) GetAll

func (m *Tags) GetAll(ctx context.Context) ([]njudge.Tag, error)

func (*Tags) GetByName

func (m *Tags) GetByName(ctx context.Context, name string) (*njudge.Tag, error)

func (*Tags) Insert

func (m *Tags) Insert(ctx context.Context, u njudge.Tag) (*njudge.Tag, error)

func (*Tags) Update

func (m *Tags) Update(ctx context.Context, user njudge.Tag) error

type TagsService

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

func NewTagsService

func NewTagsService(tags njudge.Tags, problems njudge.Problems, problemInfoQuery njudge.ProblemInfoQuery) *TagsService

func (*TagsService) Add

func (ts *TagsService) Add(ctx context.Context, tagID int, problemID int, userID int) error

func (*TagsService) Delete

func (ts *TagsService) Delete(ctx context.Context, tagID int, problemID int, userID int) error

type Users

type Users struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func NewUsers

func NewUsers() *Users

func (*Users) Delete

func (m *Users) Delete(ctx context.Context, ID int) error

func (*Users) Get

func (m *Users) Get(ctx context.Context, ID int) (*njudge.User, error)

func (*Users) GetByEmail

func (m *Users) GetByEmail(ctx context.Context, email string) (*njudge.User, error)

func (*Users) GetByName

func (m *Users) GetByName(ctx context.Context, name string) (*njudge.User, error)

func (*Users) Insert

func (m *Users) Insert(ctx context.Context, u njudge.User) (*njudge.User, error)

func (*Users) Update

func (m *Users) Update(ctx context.Context, user *njudge.User, fields []string) error

Jump to

Keyboard shortcuts

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