Esempio n. 1
0
}
$settings = (require_once '../settings.php');
use Yandex\DataSync\DataSyncClient;
use Yandex\Common\Exception\ForbiddenException;
use Yandex\DataSync\Models\Database\Delta\RecordFieldValue;
use Yandex\DataSync\Models\Database\Delta\RecordField;
use Yandex\DataSync\Models\Database\Delta\Record;
use Yandex\DataSync\Models\Database\Delta;
$errorMessage = false;
// Is auth
if (isset($_COOKIE['yaAccessToken']) && isset($_COOKIE['yaClientId'])) {
    $dataSync = new DataSyncClient($_COOKIE['yaAccessToken']);
    $context = Yandex\DataSync\DataSyncClient::CONTEXT_USER;
    $databaseId = $_REQUEST['databaseId'];
    //Устанавливаем Контекст базы данных (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();
                    //Поясняющий комментарий к изменению.