function testDeltas() { $deltaId = 'test'; $baseRevision = 5; $deltas = new Database\Deltas(); $deltas->add(['delta_id' => $deltaId, 'base_revision' => $baseRevision]); $deltas2 = new Database\Deltas(); $delta = new Database\Delta(); $delta->setDeltaId($deltaId); $delta->setBaseRevision($baseRevision); $deltas2->add($delta); $this->assertEquals($baseRevision, $deltas2->getAll()[0]->getBaseRevision()); $this->assertTrue($deltas->toArray() === $deltas2->toArray(), 'Is Equals arrays'); }
//Устанавливаем Контекст базы данных (app или user) $dataSync->setContext($context); //Устанавливаем Идентификатор базы данных (можно указать позже, непосредственно в запросах) $dataSync->setDatabaseId($databaseId); try { //Получение информации о базе данных //@see https://tech.yandex.ru/datasync/http/doc/tasks/get-database-docpage/ $database = $dataSync->getDatabase($databaseId); if (isset($_REQUEST['action'])) { if ($_REQUEST['action'] === 'editTitle' && isset($_REQUEST['title']) && $_REQUEST['title']) { //Изменение заголовка базы данных //@see https://tech.yandex.ru/datasync/http/doc/tasks/edit-title-docpage/ $database = $dataSync->updateDatabaseTitle($_REQUEST['title'], $databaseId); } elseif ($_REQUEST['action'] === 'createField' && isset($_REQUEST['collectionId']) && $_REQUEST['collectionId'] && isset($_REQUEST['recordId']) && $_REQUEST['recordId'] && isset($_REQUEST['recordChangeType']) && $_REQUEST['recordChangeType']) { if ($_REQUEST['recordChangeType'] === Record::CHANGE_TYPE_INSERT || $_REQUEST['recordChangeType'] === Record::CHANGE_TYPE_UPDATE || $_REQUEST['recordChangeType'] === Record::CHANGE_TYPE_SET || $_REQUEST['recordChangeType'] === Record::CHANGE_TYPE_DELETE) { $delta = new Delta(); //Поясняющий комментарий к изменению. $delta->setDeltaId('insert record ' . $_REQUEST['recordId']); //Запись $record = new Record(); //Тип изменения, применяемого к записи. //@see https://tech.yandex.ru/datasync/http/doc/tasks/create-changes-docpage/#changes-types $record->setChangeType($_REQUEST['recordChangeType'])->setCollectionId($_REQUEST['collectionId'])->setRecordId($_REQUEST['recordId']); if (isset($_REQUEST['fieldChangeType']) && $_REQUEST['fieldChangeType'] && isset($_REQUEST['fieldId']) && $_REQUEST['fieldId']) { //Поле $field = new RecordField(); //Тип изменения, применяемого к полю записи //@see https://tech.yandex.ru/datasync/http/doc/tasks/create-changes-docpage/#changes-types $field->setChangeType($_REQUEST['fieldChangeType']); //Идентификатор поля. $field->setFieldId($_REQUEST['fieldId']);