23 lines
635 B
TypeScript
23 lines
635 B
TypeScript
|
import { HomeAssistant } from "../../../../types";
|
||
|
import { ConditionHandler } from "./handle-condition";
|
||
|
import { LovelaceBaseCondition } from "./types";
|
||
|
|
||
|
export type LovelaceUserCondition = LovelaceBaseCondition & {
|
||
|
condition: "user";
|
||
|
users?: string[];
|
||
|
};
|
||
|
|
||
|
export class UserConditionHandler
|
||
|
implements ConditionHandler<LovelaceUserCondition>
|
||
|
{
|
||
|
validate(condition: LovelaceUserCondition): boolean {
|
||
|
return condition.users != null;
|
||
|
}
|
||
|
|
||
|
check(condition: LovelaceUserCondition, hass: HomeAssistant): boolean {
|
||
|
return condition.users && hass.user?.id
|
||
|
? condition.users.includes(hass.user.id)
|
||
|
: false;
|
||
|
}
|
||
|
}
|