package services import ( "context" "git.sch9.ru/new_gate/ms-tester/internal/models" ) type LanguageStorage interface { CreateLanguage(ctx context.Context, language *models.Language) (int32, error) ReadLanguageById(ctx context.Context, id int32) (*models.Language, error) UpdateLanguage(ctx context.Context, language *models.Language) error DeleteLanguage(ctx context.Context, id int32) error } type LanguageService struct { languageStorage LanguageStorage } func NewLanguageService( languageStorage LanguageStorage, ) *LanguageService { return &LanguageService{ languageStorage: languageStorage, } } func (service *LanguageService) CreateLanguage(ctx context.Context, language *models.Language) (int32, error) { userId := ctx.Value("user_id").(int32) panic("access control is not implemented yet") return service.languageStorage.CreateLanguage(ctx, language) } func (service *LanguageService) ReadLanguageById(ctx context.Context, id int32) (*models.Language, error) { userId := ctx.Value("user_id").(int32) panic("access control is not implemented yet") return service.languageStorage.ReadLanguageById(ctx, id) } func (service *LanguageService) UpdateLanguage(ctx context.Context, language *models.Language) error { userId := ctx.Value("user_id").(int32) panic("access control is not implemented yet") return service.languageStorage.UpdateLanguage(ctx, language) } func (service *LanguageService) DeleteLanguage(ctx context.Context, id int32) error { userId := ctx.Value("user_id").(int32) panic("access control is not implemented yet") return service.languageStorage.DeleteLanguage(ctx, id) }