Documentation ¶
Index ¶
- func Paginate[T any](data []T, page, perPage int) ([]T, njudge.PaginationData)
- type Categories
- func (m *Categories) Delete(ctx context.Context, ID int) error
- func (m *Categories) Get(ctx context.Context, ID int) (*njudge.Category, error)
- func (m *Categories) GetAll(ctx context.Context) ([]njudge.Category, error)
- func (m *Categories) GetAllWithParent(ctx context.Context, parentID int) ([]njudge.Category, error)
- func (m *Categories) GetByName(ctx context.Context, name string) (*njudge.Category, error)
- func (m *Categories) Insert(ctx context.Context, u njudge.Category) (*njudge.Category, error)
- func (m *Categories) Update(ctx context.Context, cat njudge.Category) error
- type ProblemInfoQuery
- type ProblemListQuery
- type ProblemQuery
- type Problems
- func (m *Problems) Delete(ctx context.Context, id int) error
- func (m *Problems) Get(ctx context.Context, ID int) (*njudge.Problem, error)
- func (m *Problems) GetAll(ctx context.Context) ([]njudge.Problem, error)
- func (m *Problems) GetByNames(ctx context.Context, problemset, problem string) (*njudge.Problem, error)
- func (m *Problems) Insert(ctx context.Context, p njudge.Problem) (*njudge.Problem, error)
- func (m *Problems) Update(ctx context.Context, p njudge.Problem, fields []string) error
- type SubmissionListQuery
- func (s *SubmissionListQuery) GetAttemptedSubmissionList(ctx context.Context, userID int) (*njudge.SubmissionList, error)
- func (s *SubmissionListQuery) GetPagedSubmissionList(ctx context.Context, req njudge.SubmissionListRequest) (*njudge.PagedSubmissionList, error)
- func (s *SubmissionListQuery) GetSolvedSubmissionList(ctx context.Context, userID int) (*njudge.SubmissionList, error)
- func (s *SubmissionListQuery) GetSubmissionList(ctx context.Context, req njudge.SubmissionListRequest) (*njudge.SubmissionList, error)
- type Submissions
- func (m *Submissions) Delete(ctx context.Context, ID int) error
- func (m *Submissions) Get(ctx context.Context, ID int) (*njudge.Submission, error)
- func (m *Submissions) GetAll(ctx context.Context) ([]njudge.Submission, error)
- func (m *Submissions) Insert(ctx context.Context, s njudge.Submission) (*njudge.Submission, error)
- func (m *Submissions) Update(ctx context.Context, s njudge.Submission, fields []string) error
- type SubmissionsQuery
- type SubmitService
- type Tags
- func (m *Tags) Delete(ctx context.Context, ID int) error
- func (m *Tags) Get(ctx context.Context, ID int) (*njudge.Tag, error)
- func (m *Tags) GetAll(ctx context.Context) ([]njudge.Tag, error)
- func (m *Tags) GetByName(ctx context.Context, name string) (*njudge.Tag, error)
- func (m *Tags) Insert(ctx context.Context, u njudge.Tag) (*njudge.Tag, error)
- func (m *Tags) Update(ctx context.Context, user njudge.Tag) error
- type TagsService
- type Users
- func (m *Users) Delete(ctx context.Context, ID int) error
- func (m *Users) Get(ctx context.Context, ID int) (*njudge.User, error)
- func (m *Users) GetByEmail(ctx context.Context, email string) (*njudge.User, error)
- func (m *Users) GetByName(ctx context.Context, name string) (*njudge.User, error)
- func (m *Users) Insert(ctx context.Context, u njudge.User) (*njudge.User, error)
- func (m *Users) Update(ctx context.Context, user *njudge.User, fields []string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Categories ¶
func NewCategories ¶
func NewCategories() *Categories
func (*Categories) GetAllWithParent ¶
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 ¶
func (p *ProblemListQuery) GetProblemList(ctx context.Context, req njudge.ProblemListRequest) (*njudge.ProblemList, error)
type ProblemQuery ¶
type ProblemQuery struct {
// contains filtered or unexported fields
}
func NewProblemQuery ¶
func NewProblemQuery(pp njudge.Problems) *ProblemQuery
func (*ProblemQuery) GetProblem ¶
func (*ProblemQuery) GetProblemsWithCategory ¶
func (p *ProblemQuery) GetProblemsWithCategory(ctx context.Context, f njudge.CategoryFilter) ([]njudge.Problem, error)
type Problems ¶
func NewProblems ¶
func NewProblems() *Problems
func (*Problems) GetByNames ¶
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 (s *SubmissionListQuery) GetPagedSubmissionList(ctx context.Context, req njudge.SubmissionListRequest) (*njudge.PagedSubmissionList, error)
func (*SubmissionListQuery) GetSolvedSubmissionList ¶
func (s *SubmissionListQuery) GetSolvedSubmissionList(ctx context.Context, userID int) (*njudge.SubmissionList, error)
func (*SubmissionListQuery) GetSubmissionList ¶
func (s *SubmissionListQuery) GetSubmissionList(ctx context.Context, req njudge.SubmissionListRequest) (*njudge.SubmissionList, error)
type Submissions ¶
func NewSubmissions ¶
func NewSubmissions() *Submissions
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 (m *Submissions) Insert(ctx context.Context, s njudge.Submission) (*njudge.Submission, error)
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 ¶
func (s *SubmitService) Submit(ctx context.Context, req njudge.SubmitRequest) (*njudge.Submission, 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
Click to show internal directories.
Click to hide internal directories.