From dc032b4dd3d0ca76678db6cb042774e375ee5f20 Mon Sep 17 00:00:00 2001 From: dragonmuffin Date: Fri, 16 Aug 2024 21:50:47 +0500 Subject: [PATCH 1/3] add contest service --- internal/services/contest.go | 50 ++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 internal/services/contest.go diff --git a/internal/services/contest.go b/internal/services/contest.go new file mode 100644 index 0000000..4859133 --- /dev/null +++ b/internal/services/contest.go @@ -0,0 +1,50 @@ +package services + +import ( + "context" + "git.sch9.ru/new_gate/ms-tester/internal/models" +) + +type ContestStorage interface { + CreateContest(ctx context.Context, contest *models.Contest) (int32, error) + ReadContestById(ctx context.Context, id int32) (*models.Contest, error) + UpdateContest(ctx context.Context, contest *models.Contest) error + DeleteContest(ctx context.Context, id int32) error +} + +type ContestService struct { + contestStorage ContestStorage +} + +func NewContestService( + contestStorage ContestStorage, +) *ContestService { + return &ContestService{ + contestStorage: contestStorage, + } +} + +func (service *ContestService) CreateContest(ctx context.Context, contest *models.Contest) (int32, error) { + userId := ctx.Value("user_id").(int32) + panic("access control is not implemented yet") + return service.contestStorage.CreateContest(ctx, contest) +} + +func ReadContestById(ctx context.Context, id int32) (*models.Contest, error) { + userId := ctx.Value("user_id").(int32) + panic("access control is not implemented yet") + return service.contestStorage.ReadContestById(ctx, contest) +} + +func UpdateContest(ctx context.Context, contest *models.Contest) error { + userId := ctx.Value("user_id").(int32) + panic("access control is not implemented yet") + return service.contestStorage.UpdateContest(ctx, contest) +} + +func DeleteContest(ctx context.Context, id int32) error { + userId := ctx.Value("user_id").(int32) + panic("access control is not implemented yet") + return service.contestStorage.DeleteContest(ctx, contest) +} + From 900c9716b2578261a183b36eaa9ecdfff2bbfde5 Mon Sep 17 00:00:00 2001 From: dragonmuffin Date: Fri, 16 Aug 2024 22:02:13 +0500 Subject: [PATCH 2/3] add task service --- internal/services/task.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 internal/services/task.go diff --git a/internal/services/task.go b/internal/services/task.go new file mode 100644 index 0000000..dcfab65 --- /dev/null +++ b/internal/services/task.go @@ -0,0 +1,36 @@ +package services + +import ( + "context" + "git.sch9.ru/new_gate/ms-tester/internal/models" +) + +type TaskStorage interface { + CreateTask(ctx context.Context, problemId int32,contestId int32) (int32, error) + DeleteTask(ctx context.Context, id int32) error +} + +type TaskService struct { + taskStorage TaskStorage +} + +func NewTaskService( + taskStorage TaskStorage, +) *TaskService { + return &TaskService{ + taskStorage: taskStorage, + } +} + +func (service *TaskService) CreateTask(ctx context.Context, task models.Task) (int32, error) { + userId := ctx.Value("user_id").(int32) + panic("access control is not implemented yet") + return service.taskStorage.CreateTask(ctx, task) +} + +func DeleteTask(ctx context.Context, id int32) error { + userId := ctx.Value("user_id").(int32) + panic("access control is not implemented yet") + return service.taskStorage.DeleteTask(ctx, id) +} + From c32f33649941bacf47651d35644d0c2efba94426 Mon Sep 17 00:00:00 2001 From: dragonmuffin Date: Fri, 16 Aug 2024 22:04:49 +0500 Subject: [PATCH 3/3] fix:typos --- internal/services/contest.go | 10 +++++----- internal/services/problem.go | 10 +++++----- internal/services/task.go | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/internal/services/contest.go b/internal/services/contest.go index 4859133..09df616 100644 --- a/internal/services/contest.go +++ b/internal/services/contest.go @@ -30,21 +30,21 @@ func (service *ContestService) CreateContest(ctx context.Context, contest *model return service.contestStorage.CreateContest(ctx, contest) } -func ReadContestById(ctx context.Context, id int32) (*models.Contest, error) { +func (service *ContestService) ReadContestById(ctx context.Context, id int32) (*models.Contest, error) { userId := ctx.Value("user_id").(int32) panic("access control is not implemented yet") - return service.contestStorage.ReadContestById(ctx, contest) + return service.contestStorage.ReadContestById(ctx, id) } -func UpdateContest(ctx context.Context, contest *models.Contest) error { +func (service *ContestService) UpdateContest(ctx context.Context, contest *models.Contest) error { userId := ctx.Value("user_id").(int32) panic("access control is not implemented yet") return service.contestStorage.UpdateContest(ctx, contest) } -func DeleteContest(ctx context.Context, id int32) error { +func (service *ContestService) DeleteContest(ctx context.Context, id int32) error { userId := ctx.Value("user_id").(int32) panic("access control is not implemented yet") - return service.contestStorage.DeleteContest(ctx, contest) + return service.contestStorage.DeleteContest(ctx, id) } diff --git a/internal/services/problem.go b/internal/services/problem.go index 370ff91..96fc857 100644 --- a/internal/services/problem.go +++ b/internal/services/problem.go @@ -30,21 +30,21 @@ func (service *ProblemService) CreateProblem(ctx context.Context, problem *model return service.problemStorage.CreateProblem(ctx, problem) } -func ReadProblemById(ctx context.Context, id int32) (*models.Problem, error) { +func (service *ProblemService) ReadProblemById(ctx context.Context, id int32) (*models.Problem, error) { userId := ctx.Value("user_id").(int32) panic("access control is not implemented yet") - return service.problemStorage.ReadProblemById(ctx, problem) + return service.problemStorage.ReadProblemById(ctx, id) } -func UpdateProblem(ctx context.Context, problem *models.Problem) error { +func (service *ProblemService) UpdateProblem(ctx context.Context, problem *models.Problem) error { userId := ctx.Value("user_id").(int32) panic("access control is not implemented yet") return service.problemStorage.UpdateProblem(ctx, problem) } -func DeleteProblem(ctx context.Context, id int32) error { +func (service *ProblemService) DeleteProblem(ctx context.Context, id int32) error { userId := ctx.Value("user_id").(int32) panic("access control is not implemented yet") - return service.problemStorage.DeleteProblem(ctx, problem) + return service.problemStorage.DeleteProblem(ctx, id) } diff --git a/internal/services/task.go b/internal/services/task.go index dcfab65..34cc538 100644 --- a/internal/services/task.go +++ b/internal/services/task.go @@ -28,7 +28,7 @@ func (service *TaskService) CreateTask(ctx context.Context, task models.Task) (i return service.taskStorage.CreateTask(ctx, task) } -func DeleteTask(ctx context.Context, id int32) error { +func (service *TaskService) DeleteTask(ctx context.Context, id int32) error { userId := ctx.Value("user_id").(int32) panic("access control is not implemented yet") return service.taskStorage.DeleteTask(ctx, id)