package problem import ( "git.0x7f.app/WOJ/woj-server/internal/e" "git.0x7f.app/WOJ/woj-server/internal/model" "github.com/jackc/pgtype" "go.uber.org/zap" ) type CreateData struct { Title string Statement string Tags []string ProviderID uint IsEnabled bool } func (s *service) Create(data *CreateData) (*model.Problem, e.Status) { tags := pgtype.TextArray{} _ = tags.Set(data.Tags) problem := &model.Problem{ Title: data.Title, Statement: data.Statement, Tags: tags, ProviderID: data.ProviderID, IsEnabled: data.IsEnabled, } err := s.db.Get().Create(problem).Error if err != nil { s.log.Warn("DatabaseError", zap.Error(err), zap.Any("problem", problem)) return nil, e.DatabaseError } return problem, e.Success }