request

package
v0.0.0-...-aec6cf1 Latest Latest
Warning

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

Go to latest
Published: Jun 30, 2024 License: AGPL-3.0 Imports: 1 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddProblemsToSetRequest

type AddProblemsToSetRequest struct {
	ProblemIDs []uint `json:"problem_ids" form:"problem_ids" query:"problem_ids" validate:"required,min=1"`
}

type AddStudentsRequest

type AddStudentsRequest struct {
	UserIds []uint `json:"user_ids" form:"user_ids" query:"user_ids" validate:"required,min=1"`
}

type AdminCreateUserRequest

type AdminCreateUserRequest struct {
	Username string `json:"username" form:"username" query:"username" validate:"required,max=30,min=5,username"`
	Nickname string `json:"nickname" form:"nickname" query:"nickname" validate:"required,max=30,min=1"`
	Email    string `json:"email" form:"email" query:"email" validate:"required,email,max=320,min=5"`
	Password string `json:"password" form:"password" query:"password" validate:"required,max=30,min=5"`
}

type AdminDeleteUserRequest

type AdminDeleteUserRequest struct {
}

type AdminGetLogsRequest

type AdminGetLogsRequest struct {
	Levels string `json:"levels" form:"levels" query:"levels"`

	Limit  int `json:"limit" form:"limit" query:"limit" validate:"max=100,min=0"`
	Offset int `json:"offset" form:"offset" query:"offset" validate:"min=0"`
}

type AdminGetUserRequest

type AdminGetUserRequest struct {
}

type AdminGetUsersRequest

type AdminGetUsersRequest struct {
	Search string `json:"search" form:"search" query:"search"`

	Limit  int `json:"limit" form:"limit" query:"limit" validate:"max=100,min=0"`
	Offset int `json:"offset" form:"offset" query:"offset" validate:"min=0"`

	// OrderBy example: username.DESC
	OrderBy string `json:"order_by" form:"order_by" query:"order_by"`
}

type AdminUpdateUserRequest

type AdminUpdateUserRequest struct {
	Username string `json:"username" form:"username" query:"username" validate:"required,max=30,min=5,username"`
	Nickname string `json:"nickname" form:"nickname" query:"nickname" validate:"required,max=30,min=1"`
	Email    string `json:"email" form:"email" query:"email" validate:"required,email,max=320,min=5"`
	Password string `json:"password" form:"password" query:"password" validate:"omitempty,required,max=30,min=5"`
}

type ChangePasswordRequest

type ChangePasswordRequest struct {
	OldPassword string `json:"old_password" form:"old_password" query:"old_password" validate:"required,max=30,min=5"`
	NewPassword string `json:"new_password" form:"new_password" query:"new_password" validate:"required,max=30,min=5"`
}

type CloneProblemSetRequest

type CloneProblemSetRequest struct {
	SourceClassID      uint `json:"source_class_id" form:"source_class_id" query:"source_class_id" validate:"required"`
	SourceProblemSetID uint `json:"source_problem_set_id" form:"source_problem_set_id" query:"source_problem_set_id" validate:"required"`
}

type CreateClassRequest

type CreateClassRequest struct {
	Name        string `json:"name" form:"name" query:"name" validate:"required,max=255"`
	CourseName  string `json:"course_name" form:"course_name" query:"course_name" validate:"required,max=255"`
	Description string `json:"description" form:"description" query:"description" validate:"required"`
}

type CreateProblemRequest

type CreateProblemRequest struct {
	Name        string `json:"name" form:"name" query:"name" validate:"required,max=255"`
	Description string `json:"description" form:"description" query:"description" validate:"required"`
	// attachment_file(optional)
	Public  *bool `json:"public" form:"public" query:"public" validate:"required"`
	Privacy *bool `json:"privacy" form:"privacy" query:"privacy" validate:"required"`

	MemoryLimit       uint64 `json:"memory_limit" form:"memory_limit" query:"memory_limit" validate:"required"`                     // Byte
	TimeLimit         uint   `json:"time_limit" form:"time_limit" query:"time_limit" validate:"required"`                           // ms
	LanguageAllowed   string `json:"language_allowed" form:"language_allowed" query:"language_allowed" validate:"required,max=255"` // E.g.    cpp,c,java,python
	BuildArg          string `json:"build_arg" form:"build_arg" query:"build_arg" validate:"max=255"`                               // E.g.  O2=false
	CompareScriptName string `json:"compare_script_name" form:"compare_script_name" query:"compare_script_name" validate:"required"`

	Tags string `json:"tags" form:"tags" query:"tags"`
}

type CreateProblemSetRequest

type CreateProblemSetRequest struct {
	Name        string `json:"name" form:"name" query:"name" validate:"required,max=255"`
	Description string `json:"description" form:"description" query:"description" validate:"required"`

	StartTime time.Time `json:"start_time" form:"start_time" query:"start_time" validate:"required"`
	EndTime   time.Time `json:"end_time" form:"end_time" query:"end_time" validate:"required,gtefield=StartTime"`
}

type CreateSubmissionRequest

type CreateSubmissionRequest struct {
	Language string `json:"language" form:"language" query:"language" validate:"required"`
}

type CreateTestCaseRequest

type CreateTestCaseRequest struct {
	Score  uint  `json:"score" form:"score" query:"score"` // 0 for 平均分配
	Sample *bool `json:"sample" form:"sample" query:"sample" validate:"required"`
}

type DeleteClassRequest

type DeleteClassRequest struct {
}

type DeleteProblemRequest

type DeleteProblemRequest struct {
}

type DeleteProblemSetRequest

type DeleteProblemSetRequest struct {
}

type DeleteProblemsFromSetRequest

type DeleteProblemsFromSetRequest struct {
	ProblemIDs []uint `json:"problem_ids" form:"problem_ids" query:"problem_ids" validate:"required,min=1"`
}

type DeleteStudentsRequest

type DeleteStudentsRequest struct {
	UserIds []uint `json:"user_ids" form:"user_ids" query:"user_ids" validate:"required,min=1"`
}

type DeleteTestCaseRequest

type DeleteTestCaseRequest struct {
}

type DeleteTestCasesRequest

type DeleteTestCasesRequest struct {
}

type DoResetPasswordRequest

type DoResetPasswordRequest struct {
	UsernameOrEmail string `json:"username" form:"username" query:"username" validate:"required,min=5,username|email"`
	Token           string `json:"token" form:"token" query:"token" validate:"required,max=5,min=5"`
	Password        string `json:"password" form:"password" query:"password" validate:"required,max=30,min=5"`
}

type EmailRegisteredRequest

type EmailRegisteredRequest struct {
	Email string `json:"email" form:"email" query:"email" validate:"required,email,max=320,min=5"`
}

type GetClassGradesRequest

type GetClassGradesRequest struct {
}

type GetClassRequest

type GetClassRequest struct {
}

type GetClassesIManageRequest

type GetClassesIManageRequest struct {
}

type GetClassesITakeRequest

type GetClassesITakeRequest struct {
}

type GetMeRequest

type GetMeRequest struct {
}

type GetProblemRequest

type GetProblemRequest struct {
}

type GetProblemSetGradesRequest

type GetProblemSetGradesRequest struct {
}

type GetProblemSetProblemInputFileRequest

type GetProblemSetProblemInputFileRequest struct {
}

type GetProblemSetProblemOutputFileRequest

type GetProblemSetProblemOutputFileRequest struct {
}

type GetProblemSetProblemRequest

type GetProblemSetProblemRequest struct {
}

type GetProblemSetRequest

type GetProblemSetRequest struct {
}

type GetProblemsRequest

type GetProblemsRequest struct {
	Search string `json:"search" form:"search" query:"search"`
	UserID uint   `json:"user_id" form:"user_id" query:"user_id" validate:"min=0,required_with=Tried Passed"`

	Limit  int `json:"limit" form:"limit" query:"limit" validate:"max=100,min=0"`
	Offset int `json:"offset" form:"offset" query:"offset" validate:"min=0"`

	Tried  bool `json:"tried" form:"tried" query:"tried"`
	Passed bool `json:"passed" form:"passed" query:"passed"`

	Tags string `json:"tags" form:"tags" query:"tags"`
}

type GetRandomProblemRequest

type GetRandomProblemRequest struct {
}

type GetScriptRequest

type GetScriptRequest struct {
}

GetScriptRequest No request params / bodies

type GetSubmissionRequest

type GetSubmissionRequest struct {
}

type GetSubmissionsRequest

type GetSubmissionsRequest struct {
	ProblemId uint `json:"problem_id" form:"problem_id" query:"problem_id"`
	UserId    uint `json:"user_id" form:"user_id" query:"user_id"`

	Limit  int `json:"limit" form:"limit" query:"limit" validate:"max=100,min=0"`
	Offset int `json:"offset" form:"offset" query:"offset" validate:"min=0"`
}

type GetTaskRequest

type GetTaskRequest struct {
}

QueryParam: poll 1 for poll 0 for immediate response

type GetTestCaseInputFileRequest

type GetTestCaseInputFileRequest struct {
}

type GetTestCaseOutputFileRequest

type GetTestCaseOutputFileRequest struct {
}

type GetUserProblemInfoRequest

type GetUserProblemInfoRequest struct {
}

type GetUserRequest

type GetUserRequest struct {
}

type GetUsersRequest

type GetUsersRequest struct {
	Search string `json:"search" form:"search" query:"search"`

	Limit  int `json:"limit" form:"limit" query:"limit" validate:"max=100,min=0"`
	Offset int `json:"offset" form:"offset" query:"offset" validate:"min=0"`

	// OrderBy example: username.DESC
	OrderBy string `json:"order_by" form:"order_by" query:"order_by"`
}

type JoinClassRequest

type JoinClassRequest struct {
	InviteCode string `json:"invite_code" form:"invite_code" query:"invite_code" validate:"required,max=255"`
}

type LoginRequest

type LoginRequest struct {
	// The username or email of the user logging in.
	UsernameOrEmail string `json:"username" form:"username" query:"username" validate:"required,min=5,max=320,username|email" example:"username"`
	// The password of the user logging in.
	Password string `json:"password" form:"password" query:"password" validate:"required,min=5,max=30" example:"password"`
	// If true, the created token will last longer.
	RememberMe bool `json:"remember_me" example:"false"`
}

type ProblemSetCreateSubmissionRequest

type ProblemSetCreateSubmissionRequest struct {
	Language string `json:"language" form:"language" query:"language" validate:"required"`
}

type ProblemSetGetSubmissionRequest

type ProblemSetGetSubmissionRequest struct {
}

type ProblemSetGetSubmissionsRequest

type ProblemSetGetSubmissionsRequest struct {
	ProblemId uint `json:"problem_id" form:"problem_id" query:"problem_id"`
	UserId    uint `json:"user_id" form:"user_id" query:"user_id"`

	Limit  int `json:"limit" form:"limit" query:"limit" validate:"max=100,min=0"`
	Offset int `json:"offset" form:"offset" query:"offset" validate:"min=0"`
}

type RefreshGradesRequest

type RefreshGradesRequest struct {
}

type RefreshInviteCodeRequest

type RefreshInviteCodeRequest struct {
}

type RegisterRequest

type RegisterRequest struct {
	Username string `json:"username" form:"username" query:"username" validate:"required,max=30,min=5,username"`
	Nickname string `json:"nickname" form:"nickname" query:"nickname" validate:"required,max=30,min=1"`
	Email    string `json:"email" form:"email" query:"email" validate:"required,email,max=320,min=5"`
	Password string `json:"password" form:"password" query:"password" validate:"required,max=30,min=5"`
}

type RequestResetPasswordRequest

type RequestResetPasswordRequest struct {
	UsernameOrEmail string `json:"username" form:"username" query:"username" validate:"required,min=5,username|email"`
}

type UpdateClassRequest

type UpdateClassRequest struct {
	Name        string `json:"name" form:"name" query:"name" validate:"required,max=255"`
	CourseName  string `json:"course_name" form:"course_name" query:"course_name" validate:"required,max=255"`
	Description string `json:"description" form:"description" query:"description" validate:"required"`
}

type UpdateEmailRequest

type UpdateEmailRequest struct {
	Email string `json:"email" form:"email" query:"email" validate:"required,email,max=320,min=5"`
}

type UpdateMeRequest

type UpdateMeRequest struct {
	Username string `json:"username" form:"username" query:"username" validate:"required,max=30,min=5,username"`
	Nickname string `json:"nickname" form:"nickname" query:"nickname" validate:"required,max=30,min=1"`
	Email    string `json:"email" form:"email" query:"email" validate:"required,email,max=320,min=5"`
}

type UpdateProblemRequest

type UpdateProblemRequest struct {
	Name        string `json:"name" form:"name" query:"name" validate:"required,max=255"`
	Description string `json:"description" form:"description" query:"description" validate:"required"`
	// attachment_file(optional)
	Public  *bool `json:"public" form:"public" query:"public" validate:"required"`
	Privacy *bool `json:"privacy" form:"privacy" query:"privacy" validate:"required"`

	MemoryLimit       uint64 `json:"memory_limit" form:"memory_limit" query:"memory_limit" validate:"required"`                     // Byte
	TimeLimit         uint   `json:"time_limit" form:"time_limit" query:"time_limit" validate:"required"`                           // ms
	LanguageAllowed   string `json:"language_allowed" form:"language_allowed" query:"language_allowed" validate:"required,max=255"` // E.g.    cpp,c,java,python
	BuildArg          string `json:"build_arg" form:"build_arg" query:"build_arg" validate:"max=255"`                               // E.g.  O2=false
	CompareScriptName string `json:"compare_script_name" form:"compare_script_name" query:"compare_script_name" validate:"required"`

	Tags string `json:"tags" form:"tags" query:"tags"`
}

type UpdateProblemSetRequest

type UpdateProblemSetRequest struct {
	Name        string `json:"name" form:"name" query:"name" validate:"required,max=255"`
	Description string `json:"description" form:"description" query:"description" validate:"required"`

	StartTime time.Time `json:"start_time" form:"start_time" query:"start_time" validate:"required"`
	EndTime   time.Time `json:"end_time" form:"end_time" query:"end_time" validate:"required,gtefield=StartTime"`
}

type UpdateRunRequest

type UpdateRunRequest struct {
	/*
		PENDING / JUDGING / JUDGEMENT_FAILED / NO_COMMENT
		ACCEPTED / WRONG_ANSWER / RUNTIME_ERROR / TIME_LIMIT_EXCEEDED / MEMORY_LIMIT_EXCEEDED / DANGEROUS_SYSTEM_CALLS
	*/
	Status     string `json:"status" form:"status" query:"status" validate:"required"`
	MemoryUsed *uint  `json:"memory_used" form:"memory_used" query:"memory_used" validate:"required"` // Byte
	TimeUsed   *uint  `json:"time_used" form:"time_used" query:"time_used" validate:"required"`       // ms
	// 去掉空格回车tab后的sha256
	OutputStrippedHash *string `json:"output_stripped_hash" form:"output_stripped_hash" query:"output_stripped_hash" validate:"required"`
	// OutputFile multipart:file
	// CompilerFile multipart:file
	// ComparerFile multipart:file
	Message string `json:"message" form:"message" query:"message"`
}

type UpdateTestCaseRequest

type UpdateTestCaseRequest struct {
	Score  uint  `json:"score" form:"score" query:"score"` // 0 for 平均分配
	Sample *bool `json:"sample" form:"sample" query:"sample" validate:"required"`
}

type VerifyEmailRequest

type VerifyEmailRequest struct {
	Token string `json:"token" form:"token" query:"token" validate:"required,max=5,min=5"`
}

Jump to

Keyboard shortcuts

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