dochub-sdk 0.1.62 → 0.1.64
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/.vscode/settings.json +2 -1
- package/interfaces/datalake.ts +15 -4
- package/interfaces/protocols.ts +75 -7
- package/package.json +1 -1
package/.vscode/settings.json
CHANGED
package/interfaces/datalake.ts
CHANGED
@@ -54,11 +54,22 @@ export interface IDocHubDataLake {
|
|
54
54
|
* @param transaction - Объект транзакции
|
55
55
|
*/
|
56
56
|
rollbackTransaction(transaction: IDocHubTransaction): Promise<IDocHubTransaction>;
|
57
|
-
|
58
|
-
|
59
|
-
|
57
|
+
/**
|
58
|
+
* Устанавливает корневой манифест. С него начинается построение DataLake.
|
59
|
+
* @param uri - URI корневого манифеста. Если URI отличается от текущего, DataLake полностью перезагружается
|
60
|
+
*/
|
61
|
+
setRootManifest(uri: string);
|
62
|
+
/**
|
63
|
+
* Возвращает URI текущего корневого манифеста
|
64
|
+
* @returns - URI корневого манифеста
|
65
|
+
*/
|
66
|
+
getRootManifest(): string;
|
67
|
+
/**
|
68
|
+
* Монтирует произвольный ресурс в DataLake
|
69
|
+
* @param uri - URI монтируемого ресурса
|
70
|
+
*/
|
60
71
|
mount(uri: string);
|
61
|
-
// Демонтирует ресурс
|
72
|
+
// Демонтирует ресурс из DataLake
|
62
73
|
// uri - URI демонтируемого ресурса
|
63
74
|
unmount(uri: string);
|
64
75
|
// Требует перезагрузки ресурсов задействованных в озере данных
|
package/interfaces/protocols.ts
CHANGED
@@ -5,32 +5,100 @@ import { IDocHubContext } from './contexts';
|
|
5
5
|
export interface IDocHubProtocolRequestConfig extends AxiosRequestConfig {
|
6
6
|
decoder?: Function; // Декодировщик ответа
|
7
7
|
};
|
8
|
+
|
8
9
|
export interface IDocHubProtocolResponse extends AxiosResponse {};
|
9
10
|
|
11
|
+
/**
|
12
|
+
* Предопределенные типы контентов
|
13
|
+
*/
|
14
|
+
export enum DocHubContentType {
|
15
|
+
folder = 'dochub/folder'
|
16
|
+
}
|
17
|
+
|
18
|
+
/**
|
19
|
+
* Тип ресурса
|
20
|
+
*/
|
21
|
+
export enum DocHubResourceType {
|
22
|
+
file = 'file',
|
23
|
+
folder = 'folder',
|
24
|
+
other = 'other'
|
25
|
+
}
|
26
|
+
|
27
|
+
/**
|
28
|
+
* Метаинформация о файле
|
29
|
+
*/
|
30
|
+
export type DocHubResourceMetaFile = {
|
31
|
+
type: DocHubResourceType.file,
|
32
|
+
name: string,
|
33
|
+
contentType: DocHubContentType | string
|
34
|
+
}
|
35
|
+
|
36
|
+
/**
|
37
|
+
* Метаинформация о папке
|
38
|
+
*/
|
39
|
+
export type DocHubResourceMetaFolder = {
|
40
|
+
type: DocHubResourceType.folder,
|
41
|
+
files: DocHubResourceMetaFile[]
|
42
|
+
}
|
43
|
+
|
44
|
+
/**
|
45
|
+
* Метаинформация о прочих ресурсах
|
46
|
+
*/
|
47
|
+
export type DocHubResourceMetaOther = {
|
48
|
+
type: DocHubResourceType.other,
|
49
|
+
[prop: string]: any
|
50
|
+
}
|
51
|
+
|
52
|
+
type DocHubResourceMeta = DocHubResourceMetaFile | DocHubResourceMetaFolder | DocHubResourceMetaOther;
|
53
|
+
|
10
54
|
/**
|
11
55
|
* Методы доступные над ресурсом
|
12
56
|
*/
|
13
57
|
export enum IDocHubProtocolMethods {
|
58
|
+
// Classic
|
14
59
|
GET = 'GET',
|
15
60
|
POST = 'POST',
|
16
61
|
DELETE = 'DELETE',
|
17
62
|
HEAD = 'HEAD',
|
18
63
|
PUT = 'PUT',
|
19
64
|
PATCH = 'PATCH',
|
20
|
-
OPTIONS = 'OPTIONS'
|
65
|
+
OPTIONS = 'OPTIONS',
|
66
|
+
// WebDAV - Расширенные методы для работы ресурсами
|
67
|
+
SCAN = 'SCAN' // Сканирует ресурс URI и возвращает о нем расширенную информацию в формате DocHubResourceMeta
|
68
|
+
// Позволяет получать список файлов в папке
|
21
69
|
};
|
22
70
|
|
23
|
-
|
71
|
+
/**
|
72
|
+
* Интерфейс транспортного протокола
|
73
|
+
*/
|
24
74
|
export interface IDocHubProtocol {
|
25
|
-
|
75
|
+
/**
|
76
|
+
* Признак активности протокола
|
77
|
+
* @returns - Возвращает true если протолок активен
|
78
|
+
*/
|
26
79
|
isActive(): boolean;
|
27
|
-
|
80
|
+
/**
|
81
|
+
* Метод инициализации протокола
|
82
|
+
* @param context - Контекст функционирования протокола
|
83
|
+
*/
|
28
84
|
bootstrap(context: IDocHubContext);
|
29
|
-
|
85
|
+
/**
|
86
|
+
* Разрешает ссылки
|
87
|
+
* @param args - Массив прямых и/или относительных URI
|
88
|
+
* @returns - Результирующий URI в формате протокола
|
89
|
+
*/
|
30
90
|
resolveURL(...args: string[]): string;
|
31
|
-
|
91
|
+
/**
|
92
|
+
* Выполняет запрос к ресурсу по аналогии с axios
|
93
|
+
* @param config
|
94
|
+
* @returns - Результат выполнения запроса
|
95
|
+
*/
|
32
96
|
request(config: IDocHubProtocolRequestConfig): Promise<IDocHubProtocolResponse>;
|
33
|
-
|
97
|
+
/**
|
98
|
+
* Возвращает список методов доступных для указанного ресурса
|
99
|
+
* @param uri - Идентификатор ресурса
|
100
|
+
* @returns - Массив доступных методов для ресурса
|
101
|
+
*/
|
34
102
|
availableMethodsFor(uri: string): Promise<IDocHubProtocolMethods[]>;
|
35
103
|
}
|
36
104
|
|