package resolver

// 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.43-dev

import (
	"context"
	"fmt"

	"com.sismedika.com.absensi/graph/generated"
	"com.sismedika.com.absensi/graph/model"
	staffinternal "com.sismedika.com.absensi/internal/staff"
)

// LoginAttendance is the resolver for the loginAttendance field.
func (r *mutationResolver) LoginAttendance(ctx context.Context, email string, idGoogleSignIn string) (*model.Staff, error) {
	// panic(fmt.Errorf("not implemented: LoginAttendance - loginAttendance"))
	// return r.LoginAttendance(ctx, email, idGoogleSignIn, publickey)
	var staffinternal staffinternal.Staff
	return staffinternal.LoginAttendance(email, idGoogleSignIn)
}

// LogoutAttendance is the resolver for the logoutAttendance field.
func (r *mutationResolver) LogoutAttendance(ctx context.Context, email string, idGoogleSignIn string) (*model.LogoutResponse, error) {
	// panic(fmt.Errorf("not implemented: LogoutAttendance - logoutAttendance"))
	var staffinternal staffinternal.Staff
	return staffinternal.LogoutAttendance(email, idGoogleSignIn)
}

// SearchStaffByEmail is the resolver for the searchStaffByEmail field.
func (r *queryResolver) SearchStaffByEmail(ctx context.Context, email string) (*model.Staff, error) {
	panic(fmt.Errorf("not implemented: SearchStaffByEmail - searchStaffByEmail"))
}

// StaffGetByStaffID is the resolver for the staffGetByStaffId field.
func (r *queryResolver) StaffGetByStaffID(ctx context.Context, staffID string) (*model.Staff, error) {
	panic(fmt.Errorf("not implemented: StaffGetByStaffID - staffGetByStaffId"))
}

// StaffListBySearch is the resolver for the staffListBySearch field.
func (r *queryResolver) StaffListBySearch(ctx context.Context, search *string, page *int, maxPerPage *int) ([]*model.Staff, error) {
	panic(fmt.Errorf("not implemented: StaffListBySearch - staffListBySearch"))
}

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

// Query returns generated.QueryResolver implementation.
func (r *Resolver) Query() generated.QueryResolver { return &queryResolver{r} }

type mutationResolver struct{ *Resolver }
type queryResolver struct{ *Resolver }
