Documentation
¶
Index ¶
- type AtcoderProblemForQuery
- type AtcoderSubmission
- type AtcoderSubmissionStatistics
- type AtcoderUserWithRecords
- type CodeforcesProblem
- type CodeforcesProblemForQuery
- type CodeforcesRatingRecord
- type CodeforcesRatingRecords
- type CodeforcesSubmission
- type CodeforcesSubmissionStatistics
- type CodeforcesUserWithRecords
- type CreateAtcoderUserParams
- type CreateCodeforcesUserParams
- type Race
- type Store
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AtcoderProblemForQuery ¶
type AtcoderSubmission ¶
type AtcoderUserWithRecords ¶
type AtcoderUserWithRecords struct {
sqlc.AtcoderUser
SubmissionStatistics *AtcoderSubmissionStatistics
}
type CodeforcesProblem ¶
type CodeforcesProblem struct {
ContestID int `json:"contestId"`
ProblemSetName string `json:"problemsetName"`
Index string `json:"index"`
Name string `json:"name"`
Type string `json:"type"`
Rating int `json:"rating"`
Tags []string `json:"tags"`
}
func (CodeforcesProblem) ID ¶
func (p CodeforcesProblem) ID() string
type CodeforcesRatingRecord ¶
type CodeforcesRatingRecords ¶
type CodeforcesRatingRecords struct {
MaxRating int `json:"max_rating"`
CurrRating int `json:"rating"`
Records []CodeforcesRatingRecord `json:"rating_changes"`
UpdatedAt time.Time `json:"updated_at"`
}
type CodeforcesSubmission ¶
type CodeforcesSubmission struct {
UserID int64
Problem CodeforcesProblem
Status string
At time.Time
}
type CodeforcesSubmissionStatistics ¶
type CodeforcesSubmissionStatistics struct {
TotalCount int `json:"total_count"` // 提交总数
Ac []CodeforcesProblemForQuery `json:"ac"` // 通过的题目列表, 需要去重
LastSubmissionAt time.Time `json:"last_id_of_submission_in_statistics"` // 统计信息中最晚的提交
UpdatedAt time.Time `json:"updated_at"` // 最后更新时间
Version int `json:"version"` // 版本号, 如果后续提交统计结构变化, 据此进行自动化升级
}
type CodeforcesUserWithRecords ¶
type CodeforcesUserWithRecords struct {
sqlc.CodeforcesUser
RatingRecords *CodeforcesRatingRecords
SubmissionStatistics *CodeforcesSubmissionStatistics
}
CodeforcesUserWithRecords 包含用户信息及解析后的rating记录和提交统计
type CreateAtcoderUserParams ¶
type Store ¶
type Store interface {
sqlc.Querier
CreateRace(ctx context.Context, races []Race) error
GetLastRace(ctx context.Context) ([]Race, error)
// Codeforces相关
CreateCodeforcesUser(ctx context.Context, params *CreateCodeforcesUserParams) (*CodeforcesUserWithRecords, error)
GetCodeforcesUserByUsername(ctx context.Context, username string) (*CodeforcesUserWithRecords, error)
GetCodeforcesUserByID(ctx context.Context, userID int64) (*CodeforcesUserWithRecords, error)
UpdateCodeforcesRatingRecords(ctx context.Context, userId int, originRecords []CodeforcesRatingRecord) (*CodeforcesRatingRecords, error)
UpdateCodeforcesSubmissionStatistics(ctx context.Context, userId int) (*CodeforcesSubmissionStatistics, error)
CreateCodeforcesSubmissions(ctx context.Context, submissions []CodeforcesSubmission) error
// Atcoder相关
CreateAtcoderUser(ctx context.Context, params *CreateAtcoderUserParams) (*AtcoderUserWithRecords, error)
GetAtcoderUserByUsername(ctx context.Context, username string) (*AtcoderUserWithRecords, error)
GetAtcoderUserByID(ctx context.Context, userID int64) (*AtcoderUserWithRecords, error)
UpdateAtcoderSubmissionStatistics(ctx context.Context, userId int) (*AtcoderSubmissionStatistics, error)
CreateAtcoderSubmissions(ctx context.Context, submissions []AtcoderSubmission) error
}
Click to show internal directories.
Click to hide internal directories.