message = $message; $this->kind = $kind; } public function getMessage(): string { return $this->message; } public function getKind(): string { return $this->kind; } /** * @return array */ public function jsonSerialize(): array { return ["error" => $this->kind, "message" => $this->message]; } /** * @param string $message * @return ValidationFail validation fail for unknown resource access */ public static function notFound(string $message): ValidationFail { return new ValidationFail("Not found", $message); } /** * @param string $message * @return ValidationFail validation fail for unauthorized accesses */ public static function unauthorized(string $message = "Unauthorized"): ValidationFail { return new ValidationFail("Unauthorized", $message); } public static function error(string $message): ValidationFail { return new ValidationFail("Error", $message); } }