package repos import ( "demoon/internal/models" "fmt" ) type QuestionsRepo interface { DBGetQuestion(id string) (*models.Question, error) DBGetMixedUbung(id uint32) (*models.MixedUbung, error) DBListMixed(limit uint32) ([]models.MixedUbung, error) DBGetQuestionsByMixedID(id string) ([]models.Question, error) // implement; ai! } func (p *Provider) DBGetMixedUbung(id uint32) (*models.MixedUbung, error) { var ubung models.MixedUbung err := p.db.Get(&ubung, "SELECT * FROM Table_Mixed WHERE mixedid = ?", id) if err != nil { return nil, err } return &ubung, nil } func (p *Provider) DBListMixed(limit uint32) ([]models.MixedUbung, error) { var ubungs []models.MixedUbung query := "SELECT * FROM Table_Mixed ORDER BY MixedID" if limit > 0 { query = fmt.Sprintf("SELECT * FROM Table_Mixed ORDER BY MixedID LIMIT %d", limit) } err := p.db.Select(&ubungs, query) if err != nil { return nil, err } return ubungs, nil } func (p *Provider) DBGetQuestion(id string) (*models.Question, error) { var question models.Question err := p.db.Get(&question, "SELECT * FROM questions WHERE id = ?", id) if err != nil { return nil, err } return &question, nil }