From 3fed9d7c033913532dea04860aca0d60f872ec5b Mon Sep 17 00:00:00 2001 From: dragonmuffin Date: Fri, 16 Aug 2024 20:54:23 +0500 Subject: [PATCH] update problem service --- internal/services/problem.go | 50 ++++++++++++++++++++++++++++++++++++ internal/services/tester.go | 30 ---------------------- 2 files changed, 50 insertions(+), 30 deletions(-) create mode 100644 internal/services/problem.go delete mode 100644 internal/services/tester.go diff --git a/internal/services/problem.go b/internal/services/problem.go new file mode 100644 index 0000000..370ff91 --- /dev/null +++ b/internal/services/problem.go @@ -0,0 +1,50 @@ +package services + +import ( + "context" + "git.sch9.ru/new_gate/ms-tester/internal/models" +) + +type ProblemStorage interface { + CreateProblem(ctx context.Context, problem *models.Problem) (int32, error) + ReadProblemById(ctx context.Context, id int32) (*models.Problem, error) + UpdateProblem(ctx context.Context, problem *models.Problem) error + DeleteProblem(ctx context.Context, id int32) error +} + +type ProblemService struct { + problemStorage ProblemStorage +} + +func NewProblemService( + problemStorage ProblemStorage, +) *ProblemService { + return &ProblemService{ + problemStorage: problemStorage, + } +} + +func (service *ProblemService) CreateProblem(ctx context.Context, problem *models.Problem) (int32, error) { + userId := ctx.Value("user_id").(int32) + panic("access control is not implemented yet") + return service.problemStorage.CreateProblem(ctx, problem) +} + +func 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) +} + +func 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 { + userId := ctx.Value("user_id").(int32) + panic("access control is not implemented yet") + return service.problemStorage.DeleteProblem(ctx, problem) +} + diff --git a/internal/services/tester.go b/internal/services/tester.go deleted file mode 100644 index 914a71d..0000000 --- a/internal/services/tester.go +++ /dev/null @@ -1,30 +0,0 @@ -package services - -import ( - "context" - "git.sch9.ru/new_gate/ms-tester/internal/models" -) - -type ProblemStorage interface { - CreateProblem(ctx context.Context, problem *models.Problem) (int32, error) - ReadProblem(ctx context.Context, id int32) (*models.Problem, error) - UpdateProblem(ctx context.Context, problem *models.Problem) error - DeleteProblem(ctx context.Context, id int32) error -} - -type ProblemService struct { - problemStorage ProblemStorage -} - -func NewProblemService( - problemStorage ProblemStorage, -) *ProblemService { - return &ProblemService{ - problemStorage: problemStorage, - } -} - -func (service *ProblemService) CreateProblem(ctx context.Context, problem *models.Problem) (int32, error) { - userId := ctx.Value("user_id").(int32) - return service.problemStorage.CreateProblem(ctx, problem) -}