submission

package
v0.0.0-...-b608779 Latest Latest
Warning

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

Go to latest
Published: Sep 5, 2022 License: MIT Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenerateS3FileKey

func GenerateS3FileKey(userID, problemID uint) string

Types

type CreateSubmissionParams

type CreateSubmissionParams struct {
	ProblemID uint                 `uri:"problem_id" binding:"required"`
	File      multipart.FileHeader `form:"file" binding:"required"`
}

type CreateSubmissionResponse

type CreateSubmissionResponse struct {
	SubmissionID uint `json:"submission_id"`
}

type GetSubmissionsResponse

type GetSubmissionsResponse struct {
	Submissions []SingleSubmissionResponse `json:"submissions"`
}

type GetSubmissionsSerializer

type GetSubmissionsSerializer struct {
	Submissions []common.Submission
}

func (GetSubmissionsSerializer) Response

type RetrieveSubmissionParams

type RetrieveSubmissionParams struct {
	ID uint `uri:"id" binding:"required"`
}

type RetrieveSubmissionResponse

type RetrieveSubmissionResponse struct {
	ID          uint      `json:"id"`
	ProblemID   uint      `json:"problem_id"`
	SubmittedAt time.Time `json:"submitted_at"`
	Status      string    `json:"status"`
	Cost        int64     `json:"cost"`
	Error       string    `json:"error"`
	FileURL     string    `json:"file_url"`
}

type RetrieveSubmissionSerializer

type RetrieveSubmissionSerializer struct {
	Submission   common.Submission
	PresignedURl string
}

func (RetrieveSubmissionSerializer) Response

type SingleSubmissionResponse

type SingleSubmissionResponse struct {
	ID          uint      `json:"id"`
	ProblemID   uint      `json:"problem_id"`
	SubmittedAt time.Time `json:"submitted_at"`
	Status      string    `json:"status"`
	Score       int64     `json:"score"`
	Error       string    `json:"error"`
}

type SubmissionController

type SubmissionController struct{}

func (*SubmissionController) CreateSubmission

func (sc *SubmissionController) CreateSubmission(c *gin.Context, params CreateSubmissionParams) (int, interface{})

func (*SubmissionController) GetSubmissions

func (sc *SubmissionController) GetSubmissions(c *gin.Context) (int, interface{})

func (*SubmissionController) RejudgeAllSubmissions

func (sc *SubmissionController) RejudgeAllSubmissions(c *gin.Context) (int, interface{})

func (*SubmissionController) RetrieveSubmission

func (sc *SubmissionController) RetrieveSubmission(c *gin.Context, params RetrieveSubmissionParams) (int, interface{})

func (*SubmissionController) UploadSourceCode

func (sc *SubmissionController) UploadSourceCode(c *gin.Context, params UploadSourceCodeParams) (int, interface{})

type SubmissionRouter

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

func (*SubmissionRouter) CreateSubmission

func (r *SubmissionRouter) CreateSubmission(c *gin.Context)

func (*SubmissionRouter) GetSubmissions

func (r *SubmissionRouter) GetSubmissions(c *gin.Context)

func (*SubmissionRouter) RejudgeAllSubmission

func (r *SubmissionRouter) RejudgeAllSubmission(c *gin.Context)

func (*SubmissionRouter) RetrieveSubmission

func (r *SubmissionRouter) RetrieveSubmission(c *gin.Context)

func (*SubmissionRouter) UploadSourceCode

func (r *SubmissionRouter) UploadSourceCode(c *gin.Context)

type UploadSourceCodeParams

type UploadSourceCodeParams struct {
	File multipart.FileHeader `form:"file" binding:"required"`
}

type UploadSourceCodeResponse

type UploadSourceCodeResponse struct {
	MD5 string `json:"md5"`
}

type UploadSourceCodeSerializer

type UploadSourceCodeSerializer struct {
	MD5 string
}

func (UploadSourceCodeSerializer) Response

Jump to

Keyboard shortcuts

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