public function addParent(Parents $parent) { $parent->save(); $this->parents[] = $parent; $mapper = DbSingleton::getParentChildrenMapper(); $mapper->addRelation($parent, $this); }
/** * удаляет токен * возвращает статус код * 200 - успех * 401 - не авторизованный пользователь * 404 - запрашиваемый токен не существует * @param $login * @param $password * @param $token - строковый 256 символьный * @return int */ public function removeToken($login, $password, $token) { if (!($parent = Parents::validation($login, $password))) { return 401; } $tkn = $parent->getTokens($token); if ($tkn) { $tkn->delete(); return 200; } return 404; }
$db = \Sasik\Db\DbSingleton::getDb(); /** * ОСТОРОЖНО */ foreach (['children', 'parents', 'tokens', 'children_to_parents'] as $table) { $query = $db->createQueryBuilder(); $query->delete($table)->execute(); // $db->fetchAll('DELETE FROM ' . $table ); } //$db->delete('children', []); //$db->delete('parents', []); //$db->delete('tokens', []); //$db->delete('children_to_parents', []); $childrens = [Children::createObj(['name' => 'Children' . uniqid()]), Children::createObj(['name' => 'TestChildren']), Children::createObj(['name' => 'Children' . uniqid()]), Children::createObj(['name' => 'Children' . uniqid()]), Children::createObj(['name' => 'Children' . uniqid()])]; saveAll($childrens); $parents = [Parents::createObj(['login' => 'Parent' . uniqid(), 'password' => uniqid()]), Parents::createObj(['login' => 'TestParent', 'password' => 'ParentPass']), Parents::createObj(['login' => 'Parent' . uniqid(), 'password' => uniqid()]), Parents::createObj(['login' => 'Parent' . uniqid(), 'password' => uniqid()])]; saveAll($parents); $tokens = addTokens($parents); saveAll($tokens); addRelation($parents, $childrens); function addTokens($parents) { $tokens = []; foreach ($parents as $parent) { $tokens[] = Tokens::createObj(['parent_id' => $parent->id, 'token' => uniqid('token-'), 'type' => rand(0, 1)]); } return $tokens; } function saveAll(array $collection) { foreach ($collection as $el) {
/** * @param $login * @param $password * @return null|Parents */ public static function validation($login, $password) { $parent = Parents::findByLogin($login); if ($parent) { if ($password === $parent->password) { return $parent; } } return null; }