From dc032b4dd3d0ca76678db6cb042774e375ee5f20 Mon Sep 17 00:00:00 2001 From: dragonmuffin Date: Fri, 16 Aug 2024 21:50:47 +0500 Subject: [PATCH] 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) +} +