dochub-sdk 0.1.97 → 0.1.99
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/interfaces/datalake.ts +93 -10
- package/package.json +1 -1
package/interfaces/datalake.ts
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
import { AxiosResponse } from "axios";
|
2
|
+
|
1
3
|
export enum DataLakeChange {
|
2
4
|
update = 'update', // Обновление данных по указанному пути
|
3
5
|
remove = 'remove', // Удаляет данные по указанному пути
|
@@ -11,13 +13,17 @@ export type DocHubDataLakeChanges = DocHubDataLakeChangeItem[];
|
|
11
13
|
|
12
14
|
// События DataLake
|
13
15
|
export enum DataLakeEvents {
|
14
|
-
reloadingStart = 'datalake.reloading.start',
|
15
|
-
reloadingFinish = 'datalake.reloading.finish',
|
16
|
-
onChanged = 'datalake.reloading.onChange',
|
16
|
+
reloadingStart = 'datalake.reloading.start', // Начало обновления
|
17
|
+
reloadingFinish = 'datalake.reloading.finish', // Завершение обновления
|
18
|
+
onChanged = 'datalake.reloading.onChange', // В DataLake произошли изменения
|
17
19
|
|
18
|
-
mountedManifest = 'datalake.manifest.mounted',
|
19
|
-
unmountedManifest = 'datalake.manifest.unmounted',
|
20
|
-
reloadManifests = 'datalake.manifest.reloaded'
|
20
|
+
mountedManifest = 'datalake.manifest.mounted', // Смонтирован манифест в DataLake
|
21
|
+
unmountedManifest = 'datalake.manifest.unmounted', // Манифест отключен от DataLake
|
22
|
+
reloadManifests = 'datalake.manifest.reloaded', // Манифест перезагружен
|
23
|
+
|
24
|
+
transactionBegin = 'datalake.transaction.begin', // Транзакция на изменение DataLake открыта
|
25
|
+
transactionCommit = 'datalake.transaction.commit', // Транзакция на изменение успешно применена к DataLake
|
26
|
+
transactionRollback = 'datalake.transaction.rollback', // Транзакция на изменение отменена
|
21
27
|
}
|
22
28
|
|
23
29
|
/**
|
@@ -40,9 +46,80 @@ export interface IDocHubPullDataParams {
|
|
40
46
|
[key: string]: any;
|
41
47
|
}
|
42
48
|
|
43
|
-
|
49
|
+
|
50
|
+
export interface IDocHubTransactionFileHeaders {
|
51
|
+
[key: string]: any;
|
52
|
+
}
|
53
|
+
|
54
|
+
export enum IDocHubTransactionFileDataType {
|
55
|
+
meta = 'meta',
|
56
|
+
content = 'content'
|
57
|
+
}
|
58
|
+
|
59
|
+
export enum IDocHubTransactionFileAction {
|
60
|
+
filePut = 'file-put',
|
61
|
+
fileDelete = 'file-delete',
|
62
|
+
fileMove = 'file-move'
|
63
|
+
}
|
64
|
+
|
65
|
+
export type IDocHubTransactionChangeFilePut = {
|
66
|
+
action: IDocHubTransactionFileAction.filePut;
|
67
|
+
uri: string;
|
68
|
+
contentUID: string;
|
69
|
+
}
|
70
|
+
|
71
|
+
export type IDocHubTransactionChangeFileDelete = {
|
72
|
+
action: IDocHubTransactionFileAction.fileDelete;
|
73
|
+
uri: string;
|
74
|
+
}
|
75
|
+
|
76
|
+
export type IDocHubTransactionChangeFileMove = {
|
77
|
+
action: IDocHubTransactionFileAction.fileMove;
|
78
|
+
fromURI: string;
|
79
|
+
toURI: string;
|
80
|
+
}
|
81
|
+
|
82
|
+
export type IDocHubTransactionChangeFile = IDocHubTransactionChangeFilePut | IDocHubTransactionChangeFileDelete | IDocHubTransactionChangeFileMove;
|
83
|
+
|
84
|
+
export interface IDocHubTransactionChangeRecord {
|
85
|
+
uid: string; // UUID
|
86
|
+
moment: number; // timestamp
|
87
|
+
change: IDocHubTransactionChangeFile;
|
88
|
+
}
|
89
|
+
|
90
|
+
/**
|
91
|
+
* Метаданные файла входящего в транзакцию
|
92
|
+
*/
|
93
|
+
export type IDocHubTransactionFile = {
|
94
|
+
uid: string; // UUID записи
|
95
|
+
content: string;
|
96
|
+
headers: IDocHubTransactionFileHeaders;
|
97
|
+
}
|
98
|
+
|
99
|
+
/**
|
100
|
+
* Транзакция на изменения DataLake
|
101
|
+
*/
|
44
102
|
export interface IDocHubTransaction {
|
103
|
+
/**
|
104
|
+
* Проверяет, что транзакция содержит файл
|
105
|
+
* @param uri - URI файла или шаблон поиска
|
106
|
+
* @returns - Возвращает массив метаданных найденных файлов
|
107
|
+
*/
|
108
|
+
getAffectedFiles(pattern: string | RegExp): Promise<string[]>;
|
45
109
|
|
110
|
+
/**
|
111
|
+
* Проверяет, что транзакция содержит файл
|
112
|
+
* @param uri - URI файла или шаблон поиска
|
113
|
+
* @returns - Возвращает массив содержимое найденных файлов
|
114
|
+
*/
|
115
|
+
getChangesForFile(pattern: string | RegExp): Promise<IDocHubTransactionChangeRecord>;
|
116
|
+
|
117
|
+
/**
|
118
|
+
* Удаляет запись об изменении из транзакции
|
119
|
+
* @param uids - массив идентификаторов изменений
|
120
|
+
* @returns - Возвращает массив удаленных изменений
|
121
|
+
*/
|
122
|
+
deleteChange(uids: string[]): Promise<IDocHubTransactionChangeRecord[]>;
|
46
123
|
}
|
47
124
|
|
48
125
|
/**
|
@@ -90,6 +167,11 @@ export interface IDocHubDataLake {
|
|
90
167
|
*/
|
91
168
|
rollbackTransaction(transaction: IDocHubTransaction): Promise<IDocHubTransaction>;
|
92
169
|
|
170
|
+
/**
|
171
|
+
* Возвращает актуальную транзакцию
|
172
|
+
*/
|
173
|
+
getCurrentTransaction(): Promise<IDocHubTransaction>;
|
174
|
+
|
93
175
|
/**
|
94
176
|
* Возвращает URI текущего корневого манифеста
|
95
177
|
* @returns - URI корневого манифеста
|
@@ -142,16 +224,17 @@ export interface IDocHubDataLake {
|
|
142
224
|
* Сохраняет файла в DataLake
|
143
225
|
* @param uri - URI файла во внутреннем формате DocHub
|
144
226
|
* @param content - Содержимое файла
|
227
|
+
* @param contentType - Тип контента
|
145
228
|
* @returns - Статус выполненного запроса
|
146
229
|
*/
|
147
|
-
pushFile(uri: string, content: any): Promise<
|
230
|
+
pushFile(uri: string, content: any, contentType: string): Promise<AxiosResponse>;
|
148
231
|
|
149
232
|
/**
|
150
233
|
* Загружает файл из DataLake
|
151
234
|
* @param uri - URI файла во внутреннем формате DocHub
|
152
|
-
* @returns - Результат
|
235
|
+
* @returns - Результат выполнения запроса
|
153
236
|
*/
|
154
|
-
pullFile(uri: string): Promise<
|
237
|
+
pullFile(uri: string): Promise<AxiosResponse>;
|
155
238
|
|
156
239
|
/**
|
157
240
|
* Возвращает конечный URI на основании массива относительных и прямых URI
|