db

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Jun 23, 2024 License: AGPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DatabaseVerdictToNjudge added in v0.4.0

func DatabaseVerdictToNjudge(verdict int) njudge.Verdict

func MaskNotFoundError

func MaskNotFoundError(err, mask error) error

func NjudgeVerdictToDatabase added in v0.4.0

func NjudgeVerdictToDatabase(verdict njudge.Verdict) int

NjudgeVerdictToDatabase TODO do a migration to strings in db

Types

type Categories

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

func NewCategories

func NewCategories(db *sql.DB) *Categories

func (*Categories) Get added in v0.5.0

func (cs *Categories) Get(ctx context.Context, id int) (*njudge.Category, error)

func (*Categories) GetAll

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

func (*Categories) GetAllWithParent

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

func (*Categories) Insert

func (cs *Categories) Insert(ctx context.Context, c njudge.Category) (*njudge.Category, error)

type Problems

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

func NewProblems

func NewProblems(db *sql.DB, solvedStatusQuery njudge.SolvedStatusQuery) *Problems

func (*Problems) Delete

func (ps *Problems) Delete(ctx context.Context, ID int) error

func (*Problems) Get

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

func (*Problems) GetAll

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

func (*Problems) GetProblem

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

func (*Problems) GetProblemData

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

func (*Problems) GetProblemsWithCategory

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

func (*Problems) Insert

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

func (*Problems) Update

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

type Problemsets added in v0.6.0

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

func NewProblemsets added in v0.6.0

func NewProblemsets(db *sql.DB) *Problemsets

func (Problemsets) GetAll added in v0.6.0

func (p Problemsets) GetAll(ctx context.Context) ([]njudge.Problemset, error)

func (Problemsets) GetByName added in v0.6.0

func (p Problemsets) GetByName(ctx context.Context, problemsetName string) (*njudge.Problemset, error)

func (Problemsets) Insert added in v0.6.0

func (p Problemsets) Insert(ctx context.Context, problemset njudge.Problemset) error

type SolvedStatusQuery added in v0.4.0

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

func NewSolvedStatusQuery added in v0.4.0

func NewSolvedStatusQuery(db *sql.DB) *SolvedStatusQuery

func (*SolvedStatusQuery) GetSolvedStatus added in v0.4.0

func (ss *SolvedStatusQuery) GetSolvedStatus(ctx context.Context, problemID, userID int) (njudge.SolvedStatus, error)

type SubmissionListQuery

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

func NewSubmissionListQuery

func NewSubmissionListQuery(db *sql.DB) *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 {
	// contains filtered or unexported fields
}

func NewSubmissions

func NewSubmissions(db *sql.DB) *Submissions

func (*Submissions) Delete

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

func (*Submissions) Get

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

func (*Submissions) GetACSubmissionsOf added in v0.5.0

func (ss *Submissions) GetACSubmissionsOf(ctx context.Context, problemID int) ([]njudge.Submission, error)

func (*Submissions) GetAll

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

func (*Submissions) GetUnstarted added in v0.4.0

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

func (*Submissions) Insert

func (*Submissions) Update

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

type Tags

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

func NewTags

func NewTags(db *sql.DB) *Tags

func (*Tags) Delete

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

func (*Tags) Get

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

func (*Tags) GetAll

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

func (*Tags) GetByName

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

func (*Tags) Insert

func (ts *Tags) Insert(ctx context.Context, t njudge.Tag) (*njudge.Tag, error)

func (*Tags) Update

func (ts *Tags) Update(ctx context.Context, t njudge.Tag) error

type Users

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

func NewUsers

func NewUsers(db *sql.DB) *Users

func (*Users) Delete

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

func (*Users) Get

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

func (*Users) GetAll added in v0.6.0

func (us *Users) GetAll(ctx context.Context) ([]njudge.User, error)

func (*Users) GetByEmail

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

func (*Users) GetByName

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

func (*Users) Insert

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

Insert a njudge.User to the database with a possible forgotten password key

func (*Users) Update

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

Update the njudge.User's given fields

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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