assertion = $assertion; parent::__construct($dbc); } /** * @throws HintException */ public function map($fdn, $name, $uuid): bool { try { $this->assertion->createUserIsLegit(); } catch (HintException $e) { static $isProvisioningApi = null; if ($isProvisioningApi === null) { $request = Server::get(IRequest::class); $isProvisioningApi = \preg_match(self::PROV_API_REGEX, $request->getRequestUri()) === 1; } if ($isProvisioningApi) { // only throw when prov API is being used, since functionality // should not break for end users (e.g. when sharing). // On direct API usage, e.g. on users page, this is desired. throw $e; } return false; } return parent::map($fdn, $name, $uuid); } /** * returns the DB table name which holds the mappings * @return string */ protected function getTableName(bool $includePrefix = true) { $p = $includePrefix ? '*PREFIX*' : ''; return $p . 'ldap_user_mapping'; } }