Require arduino in webserver for better validation (#2941)

This commit is contained in:
Jesse Hills 2021-12-22 20:08:54 +13:00 committed by GitHub
parent e152f128c8
commit cc5947467f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -22,7 +22,8 @@ AUTO_LOAD = ["json", "web_server_base"]
web_server_ns = cg.esphome_ns.namespace("web_server") web_server_ns = cg.esphome_ns.namespace("web_server")
WebServer = web_server_ns.class_("WebServer", cg.Component, cg.Controller) WebServer = web_server_ns.class_("WebServer", cg.Component, cg.Controller)
CONFIG_SCHEMA = cv.Schema( CONFIG_SCHEMA = cv.All(
cv.Schema(
{ {
cv.GenerateID(): cv.declare_id(WebServer), cv.GenerateID(): cv.declare_id(WebServer),
cv.Optional(CONF_PORT, default=80): cv.port, cv.Optional(CONF_PORT, default=80): cv.port,
@ -36,8 +37,12 @@ CONFIG_SCHEMA = cv.Schema(
cv.Optional(CONF_JS_INCLUDE): cv.file_, cv.Optional(CONF_JS_INCLUDE): cv.file_,
cv.Optional(CONF_AUTH): cv.Schema( cv.Optional(CONF_AUTH): cv.Schema(
{ {
cv.Required(CONF_USERNAME): cv.All(cv.string_strict, cv.Length(min=1)), cv.Required(CONF_USERNAME): cv.All(
cv.Required(CONF_PASSWORD): cv.All(cv.string_strict, cv.Length(min=1)), cv.string_strict, cv.Length(min=1)
),
cv.Required(CONF_PASSWORD): cv.All(
cv.string_strict, cv.Length(min=1)
),
} }
), ),
cv.GenerateID(CONF_WEB_SERVER_BASE_ID): cv.use_id( cv.GenerateID(CONF_WEB_SERVER_BASE_ID): cv.use_id(
@ -45,8 +50,10 @@ CONFIG_SCHEMA = cv.Schema(
), ),
cv.Optional(CONF_INCLUDE_INTERNAL, default=False): cv.boolean, cv.Optional(CONF_INCLUDE_INTERNAL, default=False): cv.boolean,
cv.Optional(CONF_OTA, default=True): cv.boolean, cv.Optional(CONF_OTA, default=True): cv.boolean,
} },
).extend(cv.COMPONENT_SCHEMA) ).extend(cv.COMPONENT_SCHEMA),
cv.only_with_arduino,
)
@coroutine_with_priority(40.0) @coroutine_with_priority(40.0)