ms-tester/internal/tester/pg_repository.go
2025-03-02 14:13:58 +05:00

25 lines
1.1 KiB
Go

package tester
import (
"context"
"git.sch9.ru/new_gate/ms-tester/internal/models"
)
type ProblemPostgresRepository interface {
CreateProblem(ctx context.Context, title string) (int32, error)
ReadProblemById(ctx context.Context, id int32) (*models.Problem, error)
DeleteProblem(ctx context.Context, id int32) error
ListProblems(ctx context.Context, page int32, pageSize int32) ([]*models.ProblemListItem, int32, error)
}
type ContestRepository interface {
CreateContest(ctx context.Context, title string) (int32, error)
ReadContestById(ctx context.Context, id int32) (*models.Contest, error)
DeleteContest(ctx context.Context, id int32) error
AddTask(ctx context.Context, contestId int32, taskId int32) (int32, error)
DeleteTask(ctx context.Context, taskId int32) error
AddParticipant(ctx context.Context, contestId int32, userId int32) (int32, error)
DeleteParticipant(ctx context.Context, participantId int32) error
ReadRichTasks(ctx context.Context, contestId int32) ([]*models.RichTask, error)
ListContests(ctx context.Context, page int32, pageSize int32) ([]*models.ContestsListItem, int32, error)
}