dochub-sdk 0.1.340 → 0.1.342

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.
@@ -56,9 +56,9 @@ export interface IDocHubObjectEditorItem {
56
56
  * Описывает контекст редактируемого объекта
57
57
  */
58
58
  export interface IDocHubObjectEditorContext extends IDocHubObjectMeta {
59
- path?: DataLakePath; // Путь к объекту в Data Lake
60
- // Если не определено берется из параметра openObjectEditor
61
- [key: string]: any; // Произвольные ключи и значения
59
+ path?: DocHubObjectURL; // Путь к объекту в Data Lake
60
+ // Если не определено берется из параметра openObjectEditor
61
+ [key: string]: any; // Произвольные ключи и значения
62
62
  }
63
63
 
64
64
  export enum DocHubObjectAppletSerializationFormat {
@@ -79,6 +79,30 @@ export interface IDocHubObjectApplet {
79
79
  serialization(format: DocHubObjectAppletSerializationFormat): Promise<IDocHubProtocolResponse>;
80
80
  }
81
81
 
82
+ /**
83
+ * RegExp для указания пути в DataLake в DocHub
84
+ */
85
+ export const ObjectPathRegExp = '^@[a-zA-Z0-9_$\.]+(\/[a-zA-Z0-9_$\.]+)+$';
86
+
87
+ /**
88
+ * Путь к объекту в DataLake.
89
+ * Последовательность ключей коллекций через "/".
90
+ * Например:
91
+ * docs/example
92
+ * components/dochub.main
93
+ */
94
+ export class ObjectPath extends String {
95
+ constructor(...args:any) {
96
+ for (const value of args) {
97
+ if (!(new RegExp(ObjectPathRegExp)).test(value))
98
+ throw new Error(`Incorrect DataLakePath [${value}] The string must be in the following format ${ObjectPathRegExp}`);
99
+ }
100
+ super(...args);
101
+ return this;
102
+ }
103
+ }
104
+
105
+
82
106
  // Интерфейс доступа к задекларированным объектам в DataLake
83
107
  export interface IDocHubObjects {
84
108
  /**
@@ -95,7 +119,7 @@ export interface IDocHubObjects {
95
119
  * Возвращает метаданные задекларированного объекта для указанного пути
96
120
  * @param path - Путь к объекту
97
121
  */
98
- getMetaObjectByPath(path: DataLakePath): Promise<IDocHubObjectMeta | null>;
122
+ getMetaByPath(path: ObjectPath): Promise<IDocHubObjectMeta | null>;
99
123
  /**
100
124
  * Регистрирует редактор объекта
101
125
  * @param uid - Идентификатор типа объекта
@@ -113,12 +137,12 @@ export interface IDocHubObjects {
113
137
  * @param uid - Идентификатор типа объекта
114
138
  * @returns - IDocHubEditorItem
115
139
  */
116
- getObjectEditor(uid: string): Promise<IDocHubObjectEditorItem>;
140
+ getEditor(uid: string): Promise<IDocHubObjectEditorItem>;
117
141
  /**
118
142
  * Генерирует URL для редактирования объекта по указанному пути
119
- * @param path - Путь к объекту, разделенный "/"
143
+ * @param path - Путь к объекту
120
144
  */
121
- makeEditURLByPath(path: DataLakePath): Promise<DocHubEditorURI>;
145
+ makeEditURLByPath(path: ObjectPath): Promise<DocHubEditorURI>;
122
146
  /**
123
147
  * Запрос на открытие объекта на пользовательское редактирование. Необязательно будет выполнен.
124
148
  * Если редактор уже открыт, активирует его.
@@ -126,7 +150,13 @@ export interface IDocHubObjects {
126
150
  * @param context - Контекст редактирования объекта. Необходим для связных редакторов и конструкторов.
127
151
  * @returns - Компонент редактора, если открытие оказалось успешным
128
152
  */
129
- openObjectEditor(path: DataLakePath, context?: IDocHubObjectEditorContext): Promise<IDocHubObjectEditorComponent>;
153
+ openEditor(path: ObjectPath, context?: IDocHubObjectEditorContext): Promise<IDocHubObjectEditorComponent>;
154
+ /**
155
+ * Удаление объекта из DataLake
156
+ * @param path - Путь к объекту
157
+ * @param targetFile - Конкретный файл DataLake, где нужно удалить объект. Если не указан, определяется автоматически.
158
+ */
159
+ delete(path: ObjectPath, targetFile?: string): Promise<void>;
130
160
  /**
131
161
  * Выпускает апплет - самостоятельное микроприложение объекта.
132
162
  * @param object - URI объекта, который должен быть выпущен
@@ -84,6 +84,7 @@ export type DocHubResourceMetaBranch = {
84
84
  export type DocHubResourceMetaRepo = {
85
85
  type: DocHubResourceType.repo;
86
86
  uri: string;
87
+ name?: string;
87
88
  branches?: DocHubResourceMetaBranch[]; // Если undefined - статус содержания веток неопределен
88
89
  }
89
90
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dochub-sdk",
3
- "version": "0.1.340",
3
+ "version": "0.1.342",
4
4
  "description": "The DocHub System Development Kit.",
5
5
  "private": false,
6
6
  "main": "index.ts",