package shiftmanager

import (
	"context"
	"time"
)

type ShiftManager interface {
	GetShiftsByEmail(context.Context, string) ([]Shift, error)
	GetRolesByShiftID(context.Context, uint64) ([]Role, error)
	GetAllRoles(context.Context) ([]Role, error)
	GetInUseRoles(context.Context) ([]Role, error)
	GetRoleWithRoleUniqueID(context.Context, string) ([]Role, error)
	BatchGetRolesWithRoleUniqueID(context.Context, []string) ([]Role, error)
	GetRoleReverseMap(context.Context, []string) (map[string][]Shift, error)
	GetShiftsAtSpecificTime(context.Context, time.Time) ([]Shift, error)
}
