package graph // This file will be automatically regenerated based on the schema, any resolver // implementations // will be copied through when generating and any unknown code will be moved to the end. // Code generated by github.com/99designs/gqlgen version v0.17.88 import ( "context" "fmt" "adam-french.co.uk/backend/graph/model" "adam-french.co.uk/backend/models" ) // ID is the resolver for the id field. func (r *jobAppReferenceResolver) ID(ctx context.Context, obj *models.JobAppReference) (int, error) { return int(obj.ID), nil } // CreateJobAppReference is the resolver for the createJobAppReference field. func (r *mutationResolver) CreateJobAppReference(ctx context.Context, input model.CreateJobAppReferenceInput) (*models.JobAppReference, error) { if !IsAdminFromCtx(ctx) { return nil, fmt.Errorf("admin access required") } ref := models.JobAppReference{ Category: input.Category, Label: input.Label, Value: input.Value, } if input.SortOrder != nil { ref.SortOrder = *input.SortOrder } if err := r.Store.DB.Create(&ref).Error; err != nil { return nil, err } return &ref, nil } // UpdateJobAppReference is the resolver for the updateJobAppReference field. func (r *mutationResolver) UpdateJobAppReference(ctx context.Context, id int, input model.UpdateJobAppReferenceInput) (*models.JobAppReference, error) { if !IsAdminFromCtx(ctx) { return nil, fmt.Errorf("admin access required") } var ref models.JobAppReference if err := r.Store.DB.First(&ref, id).Error; err != nil { return nil, err } if input.Category != nil { ref.Category = *input.Category } if input.Label != nil { ref.Label = *input.Label } if input.Value != nil { ref.Value = *input.Value } if input.SortOrder != nil { ref.SortOrder = *input.SortOrder } if err := r.Store.DB.Save(&ref).Error; err != nil { return nil, err } return &ref, nil } // DeleteJobAppReference is the resolver for the deleteJobAppReference field. func (r *mutationResolver) DeleteJobAppReference(ctx context.Context, id int) (bool, error) { if !IsAdminFromCtx(ctx) { return false, fmt.Errorf("admin access required") } if err := r.Store.DB.Delete(&models.JobAppReference{}, id).Error; err != nil { return false, err } return true, nil } // JobAppReferences is the resolver for the jobAppReferences field. func (r *queryResolver) JobAppReferences(ctx context.Context) ([]*models.JobAppReference, error) { if !IsAdminFromCtx(ctx) { return nil, fmt.Errorf("admin access required") } var refs []*models.JobAppReference if err := r.Store.DB.Order("category ASC, sort_order ASC, created_at ASC").Find(&refs).Error; err != nil { return nil, err } return refs, nil } // JobAppReference returns JobAppReferenceResolver implementation. func (r *Resolver) JobAppReference() JobAppReferenceResolver { return &jobAppReferenceResolver{r} } type jobAppReferenceResolver struct{ *Resolver }