mondaySyncService
mondaySyncService
- mondaySyncService
- CreateSyncRequest(workersFile, clientsFile, requiresApproval, kind) ⇒
Promise.<ApiResult> - ApproveSyncRequest(id) ⇒
Promise.<ApiResult> - GetSyncRequests(page, rowsPerPage, sortBy, descending, kind) ⇒
Promise.<ApiResult> - GetSyncRequest(id) ⇒
Promise.<ApiResult> - GetSyncRequestStatus(id) ⇒
Promise.<ApiResult> - ResolveConflict(requestId, changeId, winner) ⇒
Promise.<ApiResult> - UnresolveConflict(requestId, changeId) ⇒
Promise.<ApiResult> - ResolveAllConflicts(requestId, winner) ⇒
Promise.<ApiResult> - DownloadSyncFile(requestId, type) ⇒
Promise.<Blob> - RetryChange(requestId, changeId) ⇒
Promise.<ApiResult> - RetryAllErrors(requestId) ⇒
Promise.<ApiResult>
- CreateSyncRequest(workersFile, clientsFile, requiresApproval, kind) ⇒
CreateSyncRequest(workersFile, clientsFile, requiresApproval, kind) ⇒ Promise.<ApiResult>
Создаёт новый sync-запрос на основе загруженных xlsx-файлов из Monday
Принимаемые параметры
| Param | Type | Default | Description |
|---|---|---|---|
| workersFile | File | xlsx-файл с сотрудниками | |
| clientsFile | File | xlsx-файл с клиентами | |
| requiresApproval | boolean | false | Требовать подтверждения перед фазой применения |
| kind | string | "Sync" | Тип потока: "Import" или "Sync" |
Возвращаемые данные
Returns: Promise.<ApiResult> - Созданный sync-запрос
INFO
Ожидает два xlsx-файла (сотрудники и клиенты), отправленных как multipart/form-data POST.
TIP
Передайте requiresApproval=true для сценария bootstrap-импорта с предпросмотром и подтверждением: после read-only фазы сопоставления запрос будет остановлен в статусе PreviewReady, а фаза применения выполнится только после вызова ApproveSyncRequest.
ApproveSyncRequest(id) ⇒ Promise.<ApiResult>
Подтверждает sync-запрос в статусе PreviewReady — переводит его обратно в Syncing, чтобы фоновый обработчик выполнил реальную bootstrap-загрузку
Принимаемые параметры
| Param | Type | Description |
|---|---|---|
| id | number | ID sync-запроса |
Возвращаемые данные
Returns: Promise.<ApiResult> - Подтверждение операции
WARNING
404 — если запрос с таким id не найден; 409 — если статус не PreviewReady.
GetSyncRequests(page, rowsPerPage, sortBy, descending, kind) ⇒ Promise.<ApiResult>
Получает список sync-запросов с пагинацией
Принимаемые параметры
| Param | Type | Default | Description |
|---|---|---|---|
| page | number | Номер страницы | |
| rowsPerPage | number | Количество записей на странице | |
| sortBy | string | Поле сортировки | |
| descending | boolean | true | Сортировать по убыванию |
| kind | string | Тип потока: "Import" или "Sync" |
Возвращаемые данные
Returns: Promise.<ApiResult> - Список sync-запросов с пагинацией
INFO
Если sortBy не указан, сортировка по умолчанию — от новых к старым (newest-first).
TIP
Передайте kind ("Import" | "Sync"), чтобы получить запросы только этого потока (две отдельные таблицы).
GetSyncRequest(id) ⇒ Promise.<ApiResult>
Получает один sync-запрос с полным списком изменений
Принимаемые параметры
| Param | Type | Description |
|---|---|---|
| id | number | ID sync-запроса |
Возвращаемые данные
Returns: Promise.<ApiResult> - Данные sync-запроса со списком изменений
GetSyncRequestStatus(id) ⇒ Promise.<ApiResult>
Получает облегчённый статус и агрегированные счётчики для опроса со страницы деталей
Принимаемые параметры
| Param | Type | Description |
|---|---|---|
| id | number | ID sync-запроса |
Возвращаемые данные
Returns: Promise.<ApiResult> - Статус и агрегированные счётчики sync-запроса
INFO
Без отчёта предпросмотра и без списка изменений — только статус и счётчики.
ResolveConflict(requestId, changeId, winner) ⇒ Promise.<ApiResult>
Разрешает один конфликтующее изменение, выбирая выигравшую сторону
Принимаемые параметры
| Param | Type | Description |
|---|---|---|
| requestId | number | ID sync-запроса |
| changeId | number | ID изменения |
| winner | SyncSideDto | Выигравшая сторона. См. SyncSideDto |
Возвращаемые данные
Returns: Promise.<ApiResult> - Обновлённое изменение
UnresolveConflict(requestId, changeId) ⇒ Promise.<ApiResult>
Отменяет ранее разрешённый конфликт — возвращает строку в статус Conflict
Принимаемые параметры
| Param | Type | Description |
|---|---|---|
| requestId | number | ID sync-запроса |
| changeId | number | ID изменения |
Возвращаемые данные
Returns: Promise.<ApiResult> - Обновлённое изменение
ResolveAllConflicts(requestId, winner) ⇒ Promise.<ApiResult>
Разрешает все ещё конфликтующие изменения в рамках запроса с одной и той же выигравшей стороной
Принимаемые параметры
| Param | Type | Description |
|---|---|---|
| requestId | number | ID sync-запроса |
| winner | SyncSideDto | Выигравшая сторона. См. SyncSideDto |
Возвращаемые данные
Returns: Promise.<ApiResult> - Подтверждение операции
DownloadSyncFile(requestId, type) ⇒ Promise.<Blob>
Скачивает исходный загруженный xlsx-файл как Blob
Принимаемые параметры
| Param | Type | Description |
|---|---|---|
| requestId | number | ID sync-запроса |
| type | string | Тип файла: "workers" или "clients" |
Возвращаемые данные
Returns: Promise.<Blob> - Содержимое xlsx-файла
RetryChange(requestId, changeId) ⇒ Promise.<ApiResult>
Повторяет одно изменение, находящееся в статусе Error
Принимаемые параметры
| Param | Type | Description |
|---|---|---|
| requestId | number | ID sync-запроса |
| changeId | number | ID изменения |
Возвращаемые данные
Returns: Promise.<ApiResult> - Обновлённое изменение
INFO
Возвращает обновлённую строку изменения.
RetryAllErrors(requestId) ⇒ Promise.<ApiResult>
Повторяет все изменения, находящиеся в статусе Error
Принимаемые параметры
| Param | Type | Description |
|---|---|---|
| requestId | number | ID sync-запроса |
Возвращаемые данные
Returns: Promise.<ApiResult> - Счётчики результатов повтора
INFO
Возвращает счётчики повторённых, успешных и оставшихся в статусе Error изменений.