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');
 }
Esempio n. 2
0
 //Устанавливаем Контекст базы данных (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']);