50 lines
1.3 KiB
Go
50 lines
1.3 KiB
Go
package models
|
|
|
|
import "time"
|
|
|
|
type Solution struct {
|
|
Id int32 `db:"id"`
|
|
TaskId int32 `db:"task_id"`
|
|
ParticipantId int32 `db:"participant_id"`
|
|
Solution string `db:"solution"`
|
|
State int32 `db:"state"`
|
|
Score int32 `db:"score"`
|
|
Penalty int32 `db:"penalty"`
|
|
TotalScore int32 `db:"total_score"`
|
|
Language int32 `db:"language"`
|
|
UpdatedAt time.Time `db:"updated_at"`
|
|
CreatedAt time.Time `db:"created_at"`
|
|
}
|
|
|
|
type SolutionCreation struct {
|
|
Solution string
|
|
TaskId int32
|
|
ParticipantId int32
|
|
Language int32
|
|
Penalty int32
|
|
}
|
|
|
|
type SolutionsListItem struct {
|
|
Id int32 `db:"id"`
|
|
TaskId int32 `db:"task_id"`
|
|
ContestId int32 `db:"contest_id"`
|
|
ParticipantId int32 `db:"participant_id"`
|
|
State int32 `db:"state"`
|
|
Score int32 `db:"score"`
|
|
Penalty int32 `db:"penalty"`
|
|
TotalScore int32 `db:"total_score"`
|
|
Language int32 `db:"language"`
|
|
UpdatedAt time.Time `db:"updated_at"`
|
|
CreatedAt time.Time `db:"created_at"`
|
|
}
|
|
|
|
type SolutionsFilter struct {
|
|
Page int32
|
|
PageSize int32
|
|
ContestId *int32
|
|
ParticipantId *int32
|
|
TaskId *int32
|
|
Language *int32
|
|
State *int32
|
|
Order *int32
|
|
}
|