add question resolvers implementation

This commit is contained in:
Dawid Wysokiński 2021-03-06 12:54:39 +01:00
parent f11a986ab5
commit 4c0bf09b69
4 changed files with 34 additions and 9 deletions

View File

@ -40,7 +40,7 @@ func (r *queryResolver) Professions(
&profession.FetchConfig{
Count: shouldCount(ctx),
Filter: filter,
Limit: utils.SafeIntPointer(limit, 100),
Limit: utils.SafeIntPointer(limit, profession.DefaultLimit),
Offset: utils.SafeIntPointer(offset, 0),
Sort: sort,
},

View File

@ -40,7 +40,7 @@ func (r *queryResolver) Qualifications(
&qualification.FetchConfig{
Count: shouldCount(ctx),
Filter: filter,
Limit: utils.SafeIntPointer(limit, 100),
Limit: utils.SafeIntPointer(limit, qualification.DefaultLimit),
Offset: utils.SafeIntPointer(offset, 0),
Sort: sort,
},

View File

@ -9,26 +9,51 @@ import (
"github.com/zdam-egzamin-zawodowy/backend/internal/graphql/generated"
"github.com/zdam-egzamin-zawodowy/backend/internal/models"
"github.com/zdam-egzamin-zawodowy/backend/internal/question"
"github.com/zdam-egzamin-zawodowy/backend/pkg/utils"
)
func (r *mutationResolver) CreateQuestion(ctx context.Context, input models.QuestionInput) (*models.Question, error) {
panic(fmt.Errorf("not implemented"))
return r.QuestionUsecase.Store(ctx, &input)
}
func (r *mutationResolver) UpdateQuestion(ctx context.Context, id int, input models.QuestionInput) (*models.Question, error) {
panic(fmt.Errorf("not implemented"))
return r.QuestionUsecase.UpdateOneByID(ctx, id, &input)
}
func (r *mutationResolver) DeleteQuestions(ctx context.Context, ids []int) ([]*models.Question, error) {
panic(fmt.Errorf("not implemented"))
return r.QuestionUsecase.Delete(ctx, &models.QuestionFilter{
ID: ids,
})
}
func (r *mutationResolver) GenerateTest(ctx context.Context, qualificationIDs []int, limit *int) ([]*models.Question, error) {
panic(fmt.Errorf("not implemented"))
return r.QuestionUsecase.GenerateTest(ctx, &question.GenerateTestConfig{
Qualifications: qualificationIDs,
Limit: utils.SafeIntPointer(limit, question.TestMaxLimit),
})
}
func (r *queryResolver) Questions(ctx context.Context, filter *models.QuestionFilter, limit *int, offset *int, sort []string) (*generated.QuestionList, error) {
panic(fmt.Errorf("not implemented"))
func (r *queryResolver) Questions(
ctx context.Context,
filter *models.QuestionFilter,
limit *int,
offset *int,
sort []string,
) (*generated.QuestionList, error) {
var err error
list := &generated.QuestionList{}
list.Items, list.Total, err = r.QuestionUsecase.Fetch(
ctx,
&question.FetchConfig{
Count: shouldCount(ctx),
Filter: filter,
Limit: utils.SafeIntPointer(limit, question.DefaultLimit),
Offset: utils.SafeIntPointer(offset, 0),
Sort: sort,
},
)
return list, err
}
func (r *questionResolver) Qualification(ctx context.Context, obj *models.Question) (*models.Qualification, error) {

View File

@ -71,7 +71,7 @@ func (r *queryResolver) Users(
&user.FetchConfig{
Count: shouldCount(ctx),
Filter: filter,
Limit: utils.SafeIntPointer(limit, 100),
Limit: utils.SafeIntPointer(limit, user.DefaultLimit),
Offset: utils.SafeIntPointer(offset, 0),
Sort: sort,
},