package carcommand

import (
	"github.com/pkg/errors"
)

var (
	ErrNoICCIDForWakeUp     = errors.New("no ICCID for sending wake up SMS")
	ErrWakeUpMessageNotSent = errors.New("wake up message wasn't delivered")
)

var acceptedCommands = map[string]struct{}{
	"doors_lock":             {},
	"doors_unlock":           {},
	"vent_windows":           {},
	"close_windows":          {},
	"california_mode":        {},
	"trunk_open":             {},
	"trunk_close":            {},
	"flash_headlights":       {},
	"alert":                  {},
	"temp_cabin":             {},
	"defrost":                {},
	"driver_seat_preheat":    {},
	"passenger_seat_preheat": {},
	"steering_wheel_preheat": {},
	"precondition":           {},
	"charging":               {},
}

func ValidateCommand(cmd string) error {
	if _, ok := acceptedCommands[cmd]; !ok {
		return errors.New("unknown command")
	}

	return nil
}
