dochub-sdk 0.1.62 → 0.1.63

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.
@@ -4,6 +4,7 @@
4
4
  "Задекларированные",
5
5
  "задекларированным",
6
6
  "задекларированных",
7
- "Параметризируемый"
7
+ "Параметризируемый",
8
+ "PROPFIND"
8
9
  ]
9
10
  }
@@ -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
- // Выполняет запрос к DataLake
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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dochub-sdk",
3
- "version": "0.1.62",
3
+ "version": "0.1.63",
4
4
  "description": "The DocHub System Development Kit.",
5
5
  "private": false,
6
6
  "main": "index.ts",