Косметические изменения
This commit is contained in:
parent
dd90f0adbe
commit
2dd35d0321
|
@ -25,7 +25,7 @@ use ArangoDBClient\Document as _document,
|
||||||
class account
|
class account
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Инициализировать
|
* Инициализация
|
||||||
*
|
*
|
||||||
* @param _connection $session Сессия соединения с базой данных
|
* @param _connection $session Сессия соединения с базой данных
|
||||||
* @param int $id Идентификатор ВКонтакте
|
* @param int $id Идентификатор ВКонтакте
|
||||||
|
@ -43,7 +43,7 @@ class account
|
||||||
collection::init($session, longpoll::COLLECTION_ACCOUNTS);
|
collection::init($session, longpoll::COLLECTION_ACCOUNTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Поиск
|
// Поиск аккаунта
|
||||||
if ($account = static::search($session, $id));
|
if ($account = static::search($session, $id));
|
||||||
else if ($account = document::write($session, longpoll::COLLECTION_ACCOUNTS, ['id' => $id]) and $journal)
|
else if ($account = document::write($session, longpoll::COLLECTION_ACCOUNTS, ['id' => $id]) and $journal)
|
||||||
journal::init($session, $account)->write('create', [
|
journal::init($session, $account)->write('create', [
|
||||||
|
@ -62,12 +62,13 @@ class account
|
||||||
]
|
]
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// Поиск
|
|
||||||
|
// Поиск аккаунта
|
||||||
return static::search($session, $id);
|
return static::search($session, $id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Найти
|
* Найти аккаунт
|
||||||
*
|
*
|
||||||
* @param _connection $session Сессия соединения с базой данных
|
* @param _connection $session Сессия соединения с базой данных
|
||||||
* @param int $id Идентификатор ВКонтакте
|
* @param int $id Идентификатор ВКонтакте
|
||||||
|
|
|
@ -36,55 +36,57 @@ class chat
|
||||||
*/
|
*/
|
||||||
public static function init(_connection $session, int $id, bool $journal = true, bool $create = true): ?_document
|
public static function init(_connection $session, int $id, bool $journal = true, bool $create = true): ?_document
|
||||||
{
|
{
|
||||||
|
// Инициализация коллекции
|
||||||
|
$collection = longpoll::COLLECTION_CHATS;
|
||||||
|
|
||||||
if ($create) {
|
if ($create) {
|
||||||
// Запрошено создание коллекций в случае их отсутствия
|
// Запрошено создание коллекций в случае их отсутствия
|
||||||
|
|
||||||
// Создание коллекции
|
// Создание коллекции
|
||||||
collection::init($session, longpoll::COLLECTION_CHATS);
|
collection::init($session, $collection);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Поиск
|
if ($account = collection::search($session, <<<AQL
|
||||||
if ($chat = static::search($session, $id));
|
FOR x IN $collection
|
||||||
else if ($chat = document::write($session, longpoll::COLLECTION_CHATS, ['id' => $id]) and $journal)
|
FILTER x.id == "$id"
|
||||||
journal::init($session, $chat)->write('create', [
|
|
||||||
'changes' => [
|
|
||||||
'new' => collection::search($session, sprintf(
|
|
||||||
<<<'AQL'
|
|
||||||
FOR x IN %s
|
|
||||||
FILTER x._id == "%s"
|
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
RETURN x
|
RETURN x
|
||||||
AQL,
|
AQL)) {
|
||||||
longpoll::COLLECTION_CHATS,
|
// Найден аккаунт
|
||||||
$chat
|
|
||||||
)),
|
return $account;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($account = document::write($session, $collection, ['id' => $id])) {
|
||||||
|
// Аккаунт записан
|
||||||
|
|
||||||
|
// Журналирование
|
||||||
|
if ($journal && journal::init($session, $account)->write('create', [
|
||||||
|
'changes' => [
|
||||||
|
'new' => collection::search($session, <<<AQL
|
||||||
|
FOR x IN $collection
|
||||||
|
FILTER x._id == "$account"
|
||||||
|
LIMIT 1
|
||||||
|
RETURN x
|
||||||
|
AQL),
|
||||||
'old' => null
|
'old' => null
|
||||||
]
|
]
|
||||||
]);
|
])) {
|
||||||
|
// Записаны данные в журнал
|
||||||
// Поиск
|
|
||||||
return static::search($session, $id);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
if ($account = collection::search($session, <<<AQL
|
||||||
* Найти в базе данных
|
FOR x IN $collection
|
||||||
*
|
FILTER x.id == "$id"
|
||||||
* @param _connection $session Сессия соединения с базой данных
|
|
||||||
* @param int $id Идентификатор ВКонтакте
|
|
||||||
*
|
|
||||||
* @return ?_document Инстанция документа
|
|
||||||
*/
|
|
||||||
public static function search(_connection $session, int $id): ?_document
|
|
||||||
{
|
|
||||||
return collection::search($session, sprintf(
|
|
||||||
<<<'AQL'
|
|
||||||
FOR x IN %s
|
|
||||||
FILTER x.id == %u
|
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
RETURN x
|
RETURN x
|
||||||
AQL,
|
AQL)) {
|
||||||
longpoll::COLLECTION_CHATS,
|
// Найден аккаунт
|
||||||
$id
|
|
||||||
));
|
return $account;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@ class group
|
||||||
collection::init($session, longpoll::COLLECTION_GROUPS);
|
collection::init($session, longpoll::COLLECTION_GROUPS);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Поиск
|
// Поиск группы
|
||||||
if ($group = static::search($session, $id));
|
if ($group = static::search($session, $id));
|
||||||
else if ($group = document::write($session, longpoll::COLLECTION_GROUPS, ['id' => $id]) and $journal)
|
else if ($group = document::write($session, longpoll::COLLECTION_GROUPS, ['id' => $id]) and $journal)
|
||||||
journal::init($session, $group)->write('create', [
|
journal::init($session, $group)->write('create', [
|
||||||
|
@ -53,12 +53,12 @@ class group
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
||||||
// Поиск
|
// Поиск группы
|
||||||
return static::search($session, $id);
|
return static::search($session, $id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Найти в базе данных
|
* Найти группу
|
||||||
*
|
*
|
||||||
* @param _connection $session Сессия соединения с базой данных
|
* @param _connection $session Сессия соединения с базой данных
|
||||||
* @param int $id Идентификатор ВКонтакте
|
* @param int $id Идентификатор ВКонтакте
|
||||||
|
@ -70,7 +70,7 @@ class group
|
||||||
return collection::search($session, sprintf(
|
return collection::search($session, sprintf(
|
||||||
<<<'AQL'
|
<<<'AQL'
|
||||||
FOR x IN %s
|
FOR x IN %s
|
||||||
FILTER x.id == %d
|
FILTER x.id == %u
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
RETURN x
|
RETURN x
|
||||||
AQL,
|
AQL,
|
||||||
|
|
Loading…
Reference in New Issue