package entity

import (
	tidbmgmtservicev1 "github.com/tidbcloud/tidb-management-service/api/spec/tidb_mgmt_service/v1"
)

type (
	MaintenanceTask struct {
		tidbmgmtservicev1.MaintenanceTask

		NotificationPhase NotificationScene
	}

	MaintenanceTaskExecution = tidbmgmtservicev1.MaintenanceTaskExecution

	MaintenanceWindow struct {
		tidbmgmtservicev1.MaintenanceWindow

		ID uint64
	}

	MaintenanceWindowWithTimeZone struct {
		MaintenanceWindow

		UTCOffset int32
	}
)

type NotificationScene string

const (
	NSMaintenanceWindow2WeeksAgo  NotificationScene = "maintenance_window.2_weeks_ago"
	NSMaintenanceWindow72HoursAgo NotificationScene = "maintenance_window.72_hours_ago"
	NSMaintenanceWindowStarted    NotificationScene = "maintenance_window.started"
	NSMaintenanceWindowCompleted  NotificationScene = "maintenance_window.completed"
	NSMaintenanceWindowNone       NotificationScene = "maintenance_window.none"
)
