/** * delete all users and users' attributes from recommender * */ public function clear(DataApi\Client $client) { if (!$this->config->isAppend()) { $client->deleteUsers(); $usersAttributes = $client->getUsersAttributes(); if (isset($usersAttributes['attributes'])) { foreach ($usersAttributes['attributes'] as $attribute) { $client->deleteUsersAttribute($attribute['name']); } } } return $this; }
/** * @return void */ private function refreshUsersAttributes() { $expectedAttributes = [self::ATTRIBUTE_NAME, self::ATTRIBUTE_AGE]; $actualAttributes = $this->getAttributesNames($this->client->getUsersAttributes()); foreach ($actualAttributes as $attribute) { if (!in_array($attribute, $expectedAttributes)) { $this->client->deleteUsersAttribute($attribute); } } if (!in_array(self::ATTRIBUTE_NAME, $actualAttributes)) { $this->client->addUsersAttribute(self::ATTRIBUTE_NAME, DataType::TEXT, 'en', MetaType::TITLE); } if (!in_array(self::ATTRIBUTE_AGE, $actualAttributes)) { $this->client->addUsersAttribute(self::ATTRIBUTE_AGE, DataType::INTEGER); } }