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.

import (
	"context"

	"forge.cadoles.com/Cadoles/daddy/internal/graph/generated"
	"forge.cadoles.com/Cadoles/daddy/internal/model"
)

func (r *mutationResolver) CreateDecisionSupportFile(ctx context.Context, changes *model.DecisionSupportFileChanges) (*model.DecisionSupportFile, error) {
	return handleCreateDecisionSupportFile(ctx, changes)
}

func (r *mutationResolver) UpdateDecisionSupportFile(ctx context.Context, id string, changes *model.DecisionSupportFileChanges) (*model.DecisionSupportFile, error) {
	return handleUpdateDecisionSupportFile(ctx, id, changes)
}

func (r *mutationResolver) UpdateProfile(ctx context.Context, changes model.ProfileChanges) (*model.User, error) {
	return handleUpdateUserProfile(ctx, changes)
}

func (r *mutationResolver) JoinWorkgroup(ctx context.Context, workgroupID string) (*model.Workgroup, error) {
	return handleJoinWorkgroup(ctx, workgroupID)
}

func (r *mutationResolver) LeaveWorkgroup(ctx context.Context, workgroupID string) (*model.Workgroup, error) {
	return handleLeaveWorkgroup(ctx, workgroupID)
}

func (r *mutationResolver) CreateWorkgroup(ctx context.Context, changes model.WorkgroupChanges) (*model.Workgroup, error) {
	return handleCreateWorkgroup(ctx, changes)
}

func (r *mutationResolver) CloseWorkgroup(ctx context.Context, workgroupID string) (*model.Workgroup, error) {
	return handleCloseWorkgroup(ctx, workgroupID)
}

func (r *mutationResolver) UpdateWorkgroup(ctx context.Context, workgroupID string, changes model.WorkgroupChanges) (*model.Workgroup, error) {
	return handleUpdateWorkgroup(ctx, workgroupID, changes)
}

// Mutation returns generated.MutationResolver implementation.
func (r *Resolver) Mutation() generated.MutationResolver { return &mutationResolver{r} }

type mutationResolver struct{ *Resolver }