dochub-sdk 0.1.98 → 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.
@@ -13,13 +13,17 @@ export type DocHubDataLakeChanges = DocHubDataLakeChangeItem[];
13
13
 
14
14
  // События DataLake
15
15
  export enum DataLakeEvents {
16
- reloadingStart = 'datalake.reloading.start', // Начало обновления
17
- reloadingFinish = 'datalake.reloading.finish', // Завершение обновления
18
- onChanged = 'datalake.reloading.onChange', // В DataLake произошли изменения
16
+ reloadingStart = 'datalake.reloading.start', // Начало обновления
17
+ reloadingFinish = 'datalake.reloading.finish', // Завершение обновления
18
+ onChanged = 'datalake.reloading.onChange', // В DataLake произошли изменения
19
19
 
20
- mountedManifest = 'datalake.manifest.mounted', // Смонтирован манифест в DataLake
21
- unmountedManifest = 'datalake.manifest.unmounted', // Манифест отключен от DataLake
22
- 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', // Транзакция на изменение отменена
23
27
  }
24
28
 
25
29
  /**
@@ -42,9 +46,80 @@ export interface IDocHubPullDataParams {
42
46
  [key: string]: any;
43
47
  }
44
48
 
45
- // Контекст транзации
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
+ */
46
102
  export interface IDocHubTransaction {
103
+ /**
104
+ * Проверяет, что транзакция содержит файл
105
+ * @param uri - URI файла или шаблон поиска
106
+ * @returns - Возвращает массив метаданных найденных файлов
107
+ */
108
+ getAffectedFiles(pattern: string | RegExp): Promise<string[]>;
47
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[]>;
48
123
  }
49
124
 
50
125
  /**
@@ -92,6 +167,11 @@ export interface IDocHubDataLake {
92
167
  */
93
168
  rollbackTransaction(transaction: IDocHubTransaction): Promise<IDocHubTransaction>;
94
169
 
170
+ /**
171
+ * Возвращает актуальную транзакцию
172
+ */
173
+ getCurrentTransaction(): Promise<IDocHubTransaction>;
174
+
95
175
  /**
96
176
  * Возвращает URI текущего корневого манифеста
97
177
  * @returns - URI корневого манифеста
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dochub-sdk",
3
- "version": "0.1.98",
3
+ "version": "0.1.99",
4
4
  "description": "The DocHub System Development Kit.",
5
5
  "private": false,
6
6
  "main": "index.ts",