package config

type Services struct {
	Autoshift AutoshiftServiceConfig `yaml:"autoshift"`
}

type AutoshiftServiceConfig struct {
	JiraProjects        []JiraProjectConfig `yaml:"jiraProjects"`
	Roles               []RoleConfig        `yaml:"roles"`
	Shifts              []ShiftConfig       `yaml:"shifts"`
	Timezone            string              `yaml:"timezone"`
	SyncIntervalMinutes int                 `yaml:"syncIntervalMinutes" default:"30"`
}

type JiraProjectConfig struct {
	ProjectName string `yaml:"projectName"`
	Host        string `yaml:"host"`
	ProjectID   string `yaml:"projectID"`
	Token       string `yaml:"token"`
}

type ShiftConfig struct {
	OnCallerEmail string   `yaml:"oncallerEmail"`
	OnCallHours   string   `yaml:"oncallHours"`
	OnCallDays    []string `yaml:"oncallDays"`
	RoleUniqueIDs []string `yaml:"roleUniqueIDs"`
}

type RoleConfig struct {
	RoleUniqueID string `yaml:"roleUniqueID"`
	Name         string `yaml:"name"`
	ProjectName  string `yaml:"projectName"`
	RoleID       string `yaml:"roleID"`
}
