All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 3m36s
Move Query/Mutation field declarations from the monolithic schema.graphql into each domain's .graphql file using extend type, so gqlgen places resolvers in the matching *.resolvers.go files. Extract helper functions into *_helpers.go files to prevent gqlgen from commenting them out. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
94 lines
2.8 KiB
Go
94 lines
2.8 KiB
Go
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 }
|