Documentation
¶
Index ¶
- type AddProblemsToSetRequest
- type AddStudentsRequest
- type AdminCreateUserRequest
- type AdminDeleteUserRequest
- type AdminGetLogsRequest
- type AdminGetUserRequest
- type AdminGetUsersRequest
- type AdminUpdateUserRequest
- type ChangePasswordRequest
- type CloneProblemSetRequest
- type CreateClassRequest
- type CreateProblemRequest
- type CreateProblemSetRequest
- type CreateSubmissionRequest
- type CreateTestCaseRequest
- type DeleteClassRequest
- type DeleteProblemRequest
- type DeleteProblemSetRequest
- type DeleteProblemsFromSetRequest
- type DeleteStudentsRequest
- type DeleteTestCaseRequest
- type DeleteTestCasesRequest
- type DoResetPasswordRequest
- type EmailRegisteredRequest
- type GetClassGradesRequest
- type GetClassRequest
- type GetClassesIManageRequest
- type GetClassesITakeRequest
- type GetMeRequest
- type GetProblemRequest
- type GetProblemSetGradesRequest
- type GetProblemSetProblemInputFileRequest
- type GetProblemSetProblemOutputFileRequest
- type GetProblemSetProblemRequest
- type GetProblemSetRequest
- type GetProblemsRequest
- type GetRandomProblemRequest
- type GetScriptRequest
- type GetSubmissionRequest
- type GetSubmissionsRequest
- type GetTaskRequest
- type GetTestCaseInputFileRequest
- type GetTestCaseOutputFileRequest
- type GetUserProblemInfoRequest
- type GetUserRequest
- type GetUsersRequest
- type JoinClassRequest
- type LoginRequest
- type ProblemSetCreateSubmissionRequest
- type ProblemSetGetSubmissionRequest
- type ProblemSetGetSubmissionsRequest
- type RefreshGradesRequest
- type RefreshInviteCodeRequest
- type RegisterRequest
- type RequestResetPasswordRequest
- type UpdateClassRequest
- type UpdateEmailRequest
- type UpdateMeRequest
- type UpdateProblemRequest
- type UpdateProblemSetRequest
- type UpdateRunRequest
- type UpdateTestCaseRequest
- type VerifyEmailRequest
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 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 CloneProblemSetRequest ¶
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 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 VerifyEmailRequest ¶
type VerifyEmailRequest struct {
Token string `json:"token" form:"token" query:"token" validate:"required,max=5,min=5"`
}
Click to show internal directories.
Click to hide internal directories.