add qualification resolvers implementation

This commit is contained in:
Dawid Wysokiński 2021-03-06 12:49:42 +01:00
parent 85d8530b78
commit f11a986ab5
1 changed files with 34 additions and 7 deletions

View File

@ -5,28 +5,55 @@ package resolvers
import (
"context"
"fmt"
"github.com/zdam-egzamin-zawodowy/backend/internal/graphql/generated"
"github.com/zdam-egzamin-zawodowy/backend/internal/models"
"github.com/zdam-egzamin-zawodowy/backend/internal/qualification"
"github.com/zdam-egzamin-zawodowy/backend/pkg/utils"
)
func (r *mutationResolver) CreateQualification(ctx context.Context, input models.QualificationInput) (*models.Qualification, error) {
panic(fmt.Errorf("not implemented"))
return r.QualificationUsecase.Store(ctx, &input)
}
func (r *mutationResolver) UpdateQualification(ctx context.Context, id int, input models.QualificationInput) (*models.Qualification, error) {
panic(fmt.Errorf("not implemented"))
return r.QualificationUsecase.UpdateOneByID(ctx, id, &input)
}
func (r *mutationResolver) DeleteQualifications(ctx context.Context, ids []int) ([]*models.Qualification, error) {
panic(fmt.Errorf("not implemented"))
return r.QualificationUsecase.Delete(ctx, &models.QualificationFilter{
ID: ids,
})
}
func (r *queryResolver) Qualifications(ctx context.Context, filter *models.QualificationFilter, limit *int, offset *int, sort []string) (*generated.QualificationList, error) {
panic(fmt.Errorf("not implemented"))
func (r *queryResolver) Qualifications(
ctx context.Context,
filter *models.QualificationFilter,
limit *int,
offset *int,
sort []string,
) (*generated.QualificationList, error) {
var err error
list := &generated.QualificationList{}
list.Items, list.Total, err = r.QualificationUsecase.Fetch(
ctx,
&qualification.FetchConfig{
Count: shouldCount(ctx),
Filter: filter,
Limit: utils.SafeIntPointer(limit, 100),
Offset: utils.SafeIntPointer(offset, 0),
Sort: sort,
},
)
return list, err
}
func (r *queryResolver) Qualification(ctx context.Context, id *int, slug *string) (*models.Qualification, error) {
panic(fmt.Errorf("not implemented"))
if id != nil {
return r.QualificationUsecase.GetByID(ctx, *id)
} else if slug != nil {
return r.QualificationUsecase.GetBySlug(ctx, *slug)
}
return nil, nil
}