* * 200: Always */ #[NoAdminRequired] public function validate(string $password): DataResponse { try { $this->validator->validate($password); } catch (HintException $e) { return new DataResponse([ 'passed' => false, 'reason' => $e->getHint(), ]); } return new DataResponse([ 'passed' => true, ]); } /** * Generate a random password that validates against the enabled password policy rules * * @return DataResponse|DataResponse, array{}> * * 200: Password generated * 409: Generated password accidentally failed to validate against the rules, retry. */ #[NoAdminRequired] public function generate(): DataResponse { try { $password = $this->generator->generate(); } catch (HintException) { return new DataResponse([], Http::STATUS_CONFLICT); } return new DataResponse([ 'password' => $password, ]); } }