Метод авторизации
Метод | Описание | Параметры | Пример | |||||
---|---|---|---|---|---|---|---|---|
GetUserId(GET) | Возвращает UserId пользователя в текстовом виде, либо ошибку 401 при неправильном логине\пароле. Для обращения к методу следует использовать платформенный WebRequest, задав ему имя и пароль. Также в WebRequest теперь автоматически проставляется хедер Authorization с Basic авторизацией, если был задан логин и пароль. | UserName (String) Password (String) |
|
Логика синхронизации
При инициализации базы MSSQL по метаданным в каждую таблицу добавляются служебные поля IsDeleted и Timestamp. IsDeleted - поле boolean типа, флаг удаленной записи. Timestamp - поле типа bigint, содержащее в себе время последней модификации записи.
...
Блок кода |
---|
{"Id":"2aedcc06-3d1b-4b29-b5af-d5bacf8326c7","TimestampFrom":0,"TimestampTo":636062561934757950,"DeletedEntities":[],"ChangedEntities":[],"FiltersToApply":[]} |
...
Структура json объекта отдельной записи
...
- Клиент отправляет свой документ с данными и заполненным полем TimestampFrom, в нем передается время последней успешной синхронизации с сервером.. Если это поле = 0, то синхронизация считается начальной и клиент получит полный набор данных с сервера.
- Сервер получает документ с данными, заполняет в нём поле TimestampTo текущей датой и выполняет обновление записей или помечает их как удаленные. Всем затронутым записям присваивается одно и то же значение Timestamp = TimestampTo
- Сервер получает список записей в таблицах, изменённых после TimestampFrom, и возвращает клиенту JSON документ с данными. В этом документе значение TimestampTo является датой последней успешной синхронизации и должно быть запомнено клиентом.
...