@hailer/app-sdk 1.0.3 → 2.0.0-beta-1

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.
Files changed (48) hide show
  1. package/lib/app-sdk.js +2 -1
  2. package/lib/app-sdk.js.map +4 -4
  3. package/lib/constants.d.ts +0 -1
  4. package/lib/hailer-api.d.ts +4 -20
  5. package/lib/modules/activity.d.ts +6 -19
  6. package/lib/modules/app.d.ts +4 -2
  7. package/lib/modules/insight.d.ts +0 -1
  8. package/lib/modules/permission.d.ts +2 -1
  9. package/lib/modules/public/app.d.ts +2 -2
  10. package/lib/modules/team.d.ts +17 -0
  11. package/lib/modules/user.d.ts +1 -3
  12. package/lib/modules/workflow.d.ts +14 -2
  13. package/lib/tools/replace-private.d.ts +1 -0
  14. package/lib/tools/replace-private.js +33 -0
  15. package/lib/types.d.ts +131 -42
  16. package/package.json +1 -1
  17. package/lib/modules/product-installed.d.ts +0 -40
  18. package/lib/modules/product-version.d.ts +0 -38
  19. package/lib/modules/public/product-version.d.ts +0 -16
  20. package/lib/modules/public/version.d.ts +0 -16
  21. package/lib/modules/version.d.ts +0 -16
  22. package/lib/src/constants.d.ts +0 -7
  23. package/lib/src/hailer-api.d.ts +0 -92
  24. package/lib/src/index.d.ts +0 -2
  25. package/lib/src/modules/activity/kanban.d.ts +0 -36
  26. package/lib/src/modules/activity.d.ts +0 -83
  27. package/lib/src/modules/app.d.ts +0 -12
  28. package/lib/src/modules/insight.d.ts +0 -36
  29. package/lib/src/modules/network.d.ts +0 -14
  30. package/lib/src/modules/permission.d.ts +0 -9
  31. package/lib/src/modules/process.d.ts +0 -38
  32. package/lib/src/modules/product-installed.d.ts +0 -40
  33. package/lib/src/modules/product-version.d.ts +0 -16
  34. package/lib/src/modules/product.d.ts +0 -104
  35. package/lib/src/modules/public/app.d.ts +0 -17
  36. package/lib/src/modules/public/form.d.ts +0 -31
  37. package/lib/src/modules/public/insight.d.ts +0 -30
  38. package/lib/src/modules/public/product-version.d.ts +0 -16
  39. package/lib/src/modules/public/product.d.ts +0 -27
  40. package/lib/src/modules/public.d.ts +0 -22
  41. package/lib/src/modules/ui/activity.d.ts +0 -30
  42. package/lib/src/modules/ui/files.d.ts +0 -18
  43. package/lib/src/modules/ui/snackbar.d.ts +0 -18
  44. package/lib/src/modules/ui.d.ts +0 -17
  45. package/lib/src/modules/user.d.ts +0 -36
  46. package/lib/src/modules/workflow.d.ts +0 -24
  47. package/lib/src/types.d.ts +0 -381
  48. package/lib/version.d.ts +0 -0
@@ -1,9 +1,8 @@
1
1
  import { UserApi } from './modules/user';
2
2
  import { ActivityApi } from './modules/activity';
3
3
  import { WorkspaceApi } from './modules/workspace';
4
- import { HailerApiInfo, HailerSettings, HailerSignal } from './types';
4
+ import { ApiInfo, Settings, Signal } from './types';
5
5
  import { Ui } from './modules/ui';
6
- import { Process } from './modules/process';
7
6
  import { HailerPublicApi } from './modules/public';
8
7
  import { WorkflowApi } from './modules/workflow';
9
8
  import { AppApi } from './modules/app';
@@ -20,23 +19,13 @@ export interface Options {
20
19
  /** Callback called on app init and when permissions have changed */
21
20
  permissions?: () => void;
22
21
  /** Callback called on app init and when settings have changed */
23
- settings?: (data: HailerSettings) => void;
22
+ settings?: (data: Settings) => void;
24
23
  /** Callback called on app init and when config has changed */
25
24
  config?: (config: any) => void;
26
25
  /** Will be called each time a subscribed signal is emitted from Hailer frontend. To subscribe to signals, add them to options.subscribedSignals[] */
27
- signals?: (signal: HailerSignal) => void;
26
+ signals?: (signal: Signal) => void;
28
27
  /** Urls the sdk is allowed to connect to. Defaults to all Hailer instances*/
29
28
  allowedUrls?: string[];
30
- /**
31
- * Optional signal filter, passes all signals by default
32
- *
33
- * Example:
34
- *
35
- * subscribedSignals: ['activity.create', 'activity.update']
36
- */
37
- subscribedSignals?: string[];
38
- /** Api version to be used in the app by default */
39
- apiVersion?: 1;
40
29
  /** Public backend Api url. Defaults to https://api.hailer.com */
41
30
  publicBackendUrl?: string;
42
31
  }
@@ -47,7 +36,6 @@ export declare class HailerApi {
47
36
  activity: ActivityApi;
48
37
  insight: InsightApi;
49
38
  workspace: WorkspaceApi;
50
- process: Process;
51
39
  workflow: WorkflowApi;
52
40
  permission: PermissionApi;
53
41
  product: ProductApi;
@@ -61,10 +49,7 @@ export declare class HailerApi {
61
49
  /** If set it indicates that app is locked to a specific workspaceId */
62
50
  private workspaceId?;
63
51
  private client;
64
- private apiVersion;
65
- private settings?;
66
52
  private config?;
67
- private subscribedSignals?;
68
53
  private timer?;
69
54
  /**
70
55
  * Hailer API state
@@ -83,6 +68,5 @@ export declare class HailerApi {
83
68
  */
84
69
  constructor(options?: Options);
85
70
  private createEventListener;
86
- info(): HailerApiInfo;
87
- request(op: string, args: any[]): Promise<any>;
71
+ info(): ApiInfo;
88
72
  }
@@ -1,5 +1,5 @@
1
1
  import { Client } from '@wishcore/wish-rpc';
2
- import { ActivityCreateOptions, ActivityListOptions, Activity } from '../types';
2
+ import { ActivityCreateOptions, ActivityListOptions, Activity, ActivityFieldUpdateValue, ActivityUpdateOptions, ActivityFieldValue } from '../types';
3
3
  import { Kanban } from './activity/kanban';
4
4
  export declare class ActivityApi {
5
5
  private client;
@@ -33,30 +33,17 @@ export declare class ActivityApi {
33
33
  /**
34
34
  * Creates activities
35
35
  *
36
- * @param processId The process where the activity is created
37
- * @param activities new activities as objects
38
- * @param activities.name name of the activity
39
- * @param activities.fields fields of the activity
40
- * @param options ActivityCreateOptions
41
- *
42
36
  * @throws {HailerError} if request is incorrect
43
37
  */
44
- create(processId: string, activities: {
45
- name: string;
38
+ create(workflowId: string | undefined, activities: {
39
+ name?: string;
46
40
  fields?: {
47
- [id: string]: string | number;
41
+ [id: string]: ActivityFieldValue;
48
42
  };
49
43
  }[], options?: ActivityCreateOptions): Promise<Activity[]>;
50
44
  /**
51
45
  * Updates activites
52
46
  *
53
- * Each activity has the following parameters
54
- * @param activities updated activity objects of an activity to edit
55
- * @param activities.name New name of the activity
56
- * @param activities.fields change values of fields, null removes current value
57
- * @param activities.phaseId New phase of the activity
58
- * @param options
59
- *
60
47
  * @returns The number of updated activities
61
48
  *
62
49
  * @throws {HailerError} if request is incorrect
@@ -65,10 +52,10 @@ export declare class ActivityApi {
65
52
  _id: string;
66
53
  name?: string;
67
54
  fields?: {
68
- [id: string]: string | number | null;
55
+ [id: string]: ActivityFieldUpdateValue;
69
56
  };
70
57
  phaseId?: string;
71
- }[], options: any): Promise<number>;
58
+ }[], options?: ActivityUpdateOptions): Promise<number>;
72
59
  /**
73
60
  * Removes activities
74
61
  *
@@ -1,5 +1,5 @@
1
1
  import { Client } from '@wishcore/wish-rpc';
2
- import { HailerAppConfig, ProductVersion, Version } from '../types';
2
+ import { Config, ProductVersion, Version } from '../types';
3
3
  /**
4
4
  * This class is used to access Hailer public API even when the app is outside of Hailer
5
5
  */
@@ -19,7 +19,9 @@ export declare class AppApi {
19
19
  };
20
20
  constructor(client: Client);
21
21
  config: {
22
- update: (appId: string | undefined, config: HailerAppConfig) => Promise<void>;
22
+ update: (config: Config, option?: {
23
+ appId?: string;
24
+ }) => Promise<void>;
23
25
  };
24
26
  /**
25
27
  * Check if product is installed
@@ -27,7 +27,6 @@ export declare class InsightApi {
27
27
  /**
28
28
  * Get Insight data
29
29
  *
30
- *
31
30
  * @returns data from the Insight
32
31
  *
33
32
  * @throws {HailerError} if request is incorrect
@@ -1,9 +1,10 @@
1
1
  import { Client } from '@wishcore/wish-rpc';
2
+ import { PermissionMap } from '../types';
2
3
  /**
3
4
  * This class is used to access Hailer public API even when the app is outside of Hailer
4
5
  */
5
6
  export declare class PermissionApi {
6
7
  private client;
7
8
  constructor(client: Client);
8
- map: () => Promise<void>;
9
+ map: () => Promise<PermissionMap>;
9
10
  }
@@ -1,5 +1,5 @@
1
1
  import { Options } from '../../hailer-api';
2
- import { HailerAppConfig } from '../../types';
2
+ import { Config } from '../../types';
3
3
  export declare class App {
4
4
  private options;
5
5
  constructor(options: Options);
@@ -13,5 +13,5 @@ export declare class App {
13
13
  * @throws {HailerError} if there is something wrong with the request or insight cannot be found
14
14
  * @throws {TypeError} if Hailer cannot be reached
15
15
  */
16
- config(): Promise<HailerAppConfig>;
16
+ config(): Promise<Config>;
17
17
  }
@@ -0,0 +1,17 @@
1
+ import { Client } from '@wishcore/wish-rpc';
2
+ import { TeamMap } from '../types';
3
+ export declare class TeamApi {
4
+ private client;
5
+ constructor(client: Client);
6
+ /**
7
+ * Lists all Hailer teams from a workspace
8
+ *
9
+ *
10
+ * @returns list of Hailer teams in the workspace the app user is currently in
11
+ *
12
+ * @throws {HailerError} if request is incorrect
13
+ */
14
+ list(): Promise<{
15
+ [workspaceId: string]: TeamMap;
16
+ }>;
17
+ }
@@ -30,7 +30,5 @@ export declare class UserApi {
30
30
  *
31
31
  * @throws {HailerError} if request is incorrect
32
32
  */
33
- list(): Promise<{
34
- [key: string]: User;
35
- }>;
33
+ list(): Promise<User[]>;
36
34
  }
@@ -1,5 +1,5 @@
1
1
  import { Client } from '@wishcore/wish-rpc';
2
- import { Workflow } from '../types';
2
+ import { IdsMap, Workflow } from '../types';
3
3
  export declare class WorkflowApi {
4
4
  private client;
5
5
  constructor(client: Client);
@@ -11,6 +11,16 @@ export declare class WorkflowApi {
11
11
  * @throws {HailerError} if request is incorrect
12
12
  */
13
13
  list(): Promise<Workflow[]>;
14
+ /**
15
+ * Gets a single process from a workspace
16
+ *
17
+ * @param workflowId the id of the process in question
18
+ *
19
+ * @returns the specified Hailer process
20
+ *
21
+ * @throws {HailerError} if request is incorrect
22
+ */
23
+ get(workflowId: string): Promise<Workflow>;
14
24
  /**
15
25
  * Gets a single process from a workspace
16
26
  *
@@ -20,5 +30,7 @@ export declare class WorkflowApi {
20
30
  *
21
31
  * @throws {HailerError} if request is incorrect
22
32
  */
23
- get(processId: string): Promise<Workflow>;
33
+ install(workflowSpec: any, option?: {
34
+ workspaceId?: string;
35
+ }): Promise<IdsMap>;
24
36
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fs_1 = require("fs");
4
+ const path_1 = require("path");
5
+ const srcFolder = (0, path_1.join)(__dirname, '../src');
6
+ const publicSrcFolder = (0, path_1.join)(__dirname, '../public-src');
7
+ const replacePrivateComments = (fileContent) => {
8
+ // Replaces all occurences of /* @ private */ with private
9
+ return fileContent.replace(/\/\* @private \*\//g, 'private');
10
+ };
11
+ const copyAndReplaceFiles = (src, dest) => {
12
+ (0, fs_1.mkdirSync)(dest, { recursive: true });
13
+ console.log('Created folder: ', dest);
14
+ (0, fs_1.readdirSync)(src).forEach((file) => {
15
+ const srcFile = (0, path_1.join)(src, file);
16
+ const destFile = (0, path_1.join)(dest, file);
17
+ if ((0, fs_1.lstatSync)(srcFile).isDirectory()) {
18
+ copyAndReplaceFiles(srcFile, destFile);
19
+ }
20
+ else if (srcFile.endsWith('.ts')) {
21
+ const updatedContent = replacePrivateComments((0, fs_1.readFileSync)(srcFile, 'utf8'));
22
+ (0, fs_1.writeFileSync)(destFile, updatedContent, 'utf8');
23
+ }
24
+ else {
25
+ (0, fs_1.copyFileSync)(srcFile, destFile);
26
+ }
27
+ });
28
+ };
29
+ if ((0, fs_1.existsSync)(publicSrcFolder)) {
30
+ (0, fs_1.rmdirSync)(publicSrcFolder, { recursive: true });
31
+ }
32
+ copyAndReplaceFiles(srcFolder, publicSrcFolder);
33
+ console.log('Public source files generated in /public-src/');
package/lib/types.d.ts CHANGED
@@ -2,24 +2,35 @@ export interface User {
2
2
  _id: string;
3
3
  firstname: string;
4
4
  lastname: string;
5
- email: string;
6
- lastSeen: number;
7
- status?: string;
8
- managedUser?: boolean;
9
- removed?: number;
10
- defaultProfilepic: string;
11
5
  }
12
6
  export interface Workspace {
13
7
  _id: string;
14
8
  name: string;
15
9
  }
10
+ export interface ActivityFieldRange {
11
+ start: number;
12
+ end: number;
13
+ }
14
+ export interface ActivityFieldLink {
15
+ _id: string;
16
+ name: string;
17
+ }
18
+ export interface ActivityFieldError {
19
+ error?: string;
20
+ }
21
+ export type ActivityFieldValue = boolean | number | string | (ActivityFieldCountry & ActivityFieldError & ActivityFieldRange & ActivityFieldLink);
22
+ export type ActivityFieldUpdateValue = ActivityFieldValue | null;
23
+ export interface ActivityFieldCountry {
24
+ /** ISO 3166-1 alpha-2 (cca2) */
25
+ code: string;
26
+ }
16
27
  export interface Activity {
17
28
  _id: string;
18
29
  process: string;
19
30
  teamAccount: TeamAccount;
20
31
  created: number;
21
32
  uid: string;
22
- cid: string;
33
+ workspaceId: string;
23
34
  discussion: string;
24
35
  currentPhase: string;
25
36
  active?: boolean;
@@ -35,7 +46,9 @@ export interface Activity {
35
46
  lng: number;
36
47
  }[];
37
48
  };
38
- fields?: any;
49
+ fields?: {
50
+ [fieldId: string]: ActivityFieldValue;
51
+ };
39
52
  files?: any[];
40
53
  updated?: number;
41
54
  updatedBy?: string;
@@ -119,23 +132,30 @@ export interface InsightResponseData {
119
132
  rows: [];
120
133
  time: number;
121
134
  }
122
- export interface HailerAppConfig {
123
- fields?: {
124
- [fieldName: string]: {
125
- type: string;
126
- value?: string | number | boolean;
127
- };
128
- };
135
+ export interface Config {
136
+ [fieldName: string]: string;
137
+ }
138
+ export type WorkflowFieldType = ('activitylink' | 'country' | 'date' | 'daterange' | 'datetime' | 'numeric' | 'numericunit' | 'teams' | 'text' | 'textarea' | 'textunit' | 'textpredefinedoptions' | 'time' | 'timerange' | 'datetimerange' | 'users' | 'linkedfrom' | 'subheader');
139
+ export interface WorkflowField {
140
+ _id: string;
141
+ type: WorkflowFieldType;
142
+ label: string;
143
+ required: boolean;
144
+ unit: string;
145
+ placeholder: string;
146
+ description: string;
147
+ data: string[];
148
+ functionEnabled: boolean;
149
+ editable: boolean;
129
150
  }
130
- export type HailerProcess = Workflow;
131
151
  export interface Workflow {
132
152
  _id: string;
133
- cid: string;
134
153
  name: string;
135
154
  description?: string;
136
155
  fields: {
137
156
  [fieldId: string]: any;
138
157
  };
158
+ fieldsOrder: string[];
139
159
  phases: {
140
160
  [phase_id: string]: WorkflowPhase;
141
161
  };
@@ -144,12 +164,23 @@ export interface Workflow {
144
164
  nameFunctionEnabled?: boolean;
145
165
  nameEditable?: boolean;
146
166
  productInstalledId: string;
167
+ workspaceId: string;
147
168
  }
148
169
  export interface WorkflowPhase {
149
170
  _id: string;
150
171
  name: string;
151
172
  description?: string;
152
173
  fields?: string[];
174
+ primaryDateField?: string;
175
+ primaryNumericField?: string;
176
+ }
177
+ /**
178
+ * ```ts
179
+ * { [templateId: string]: string }
180
+ * ```
181
+ */
182
+ export interface IdsMap {
183
+ [templateId: string]: string;
153
184
  }
154
185
  export type PermissionType = 'admin' | 'own' | 'ownteam' | 'any' | 'edit';
155
186
  export interface Member {
@@ -159,6 +190,41 @@ export interface Member {
159
190
  };
160
191
  permissions: PermissionType[];
161
192
  }
193
+ export type WorkflowPermission = 'admin' | 'any' | 'ownteam' | 'own' | 'guest' | 'none';
194
+ export type WorkflowPhasePermission = 'edit' | 'view' | 'none';
195
+ export interface PermissionPath {
196
+ type: 'network' | 'user' | 'team' | 'group';
197
+ id: string;
198
+ permission: WorkflowPermission | WorkflowPhasePermission;
199
+ }
200
+ export interface WorkflowPermissionMap {
201
+ [workflowId: string]: {
202
+ isAdmin: boolean;
203
+ permission: WorkflowPermission;
204
+ permissions: PermissionPath;
205
+ phases: {
206
+ [phaseId: string]: {
207
+ permission: WorkflowPhasePermission;
208
+ permissions: PermissionPath[];
209
+ restricted: boolean;
210
+ };
211
+ };
212
+ teams: string[];
213
+ };
214
+ }
215
+ export interface WorkspaceRolesPermission {
216
+ isAdmin: boolean;
217
+ isOwner: boolean;
218
+ isGuest: boolean;
219
+ isInviter: boolean;
220
+ isUser: boolean;
221
+ }
222
+ export interface PermissionMap {
223
+ [userId: string]: {
224
+ workflow: WorkflowPermissionMap;
225
+ workspace: WorkspaceRolesPermission;
226
+ };
227
+ }
162
228
  export interface InsightWorkflowSource {
163
229
  name: string;
164
230
  workflowId: string;
@@ -174,24 +240,17 @@ export interface InsightWorkflowSource {
174
240
  export interface InsightDoc {
175
241
  _id: string;
176
242
  name: string;
177
- sources: InsightWorkflowSource[];
178
- cid: string;
179
- /** User id of creator */
180
- uid: string;
181
- members: Member[];
182
- updated: number;
183
- public: boolean;
184
243
  /** Key for accessing Insight when set to public */
185
244
  publicKey?: string;
186
- /** sandboxed javascript with access to all activities in given workflows */
187
- function?: string;
188
- /** To be used with SQLite if we want to.... */
189
- query?: string;
190
245
  presets: {
191
246
  version: 1;
192
247
  name: string | 'default';
193
248
  options: any;
194
249
  }[];
250
+ /** To be used with SQLite if we want to.... */
251
+ query?: string;
252
+ sources: InsightWorkflowSource[];
253
+ public: boolean;
195
254
  }
196
255
  export type InsightPublic = Omit<InsightDoc, '_id'>;
197
256
  export interface InsightData {
@@ -267,6 +326,29 @@ export interface ActivityCreateOptions {
267
326
  phaseId?: string;
268
327
  returnDocument?: boolean;
269
328
  }
329
+ /** Simplistic syntax for add/remove/replace */
330
+ export interface IdSetUpdate {
331
+ /** Clear all existing */
332
+ '*'?: null;
333
+ /** Add: true, Remove: null */
334
+ [id: string]: true | null | undefined;
335
+ }
336
+ export interface ActivityLocation {
337
+ data: {
338
+ lat: number;
339
+ lng: number;
340
+ }[];
341
+ label?: string;
342
+ type: 'area' | 'point' | 'polyline';
343
+ }
344
+ export interface ActivityUpdateOptions {
345
+ fields?: ActivityFieldUpdateValue;
346
+ teamId?: string;
347
+ location?: ActivityLocation;
348
+ phaseId?: string;
349
+ files?: IdSetUpdate;
350
+ followers?: IdSetUpdate;
351
+ }
270
352
  export interface ActivityKanbanListOptions {
271
353
  filter: {
272
354
  user?: {
@@ -288,35 +370,41 @@ export interface ActivityKanbanListOptions {
288
370
  includeUsers?: boolean;
289
371
  includeTeams?: boolean;
290
372
  }
291
- export interface HailerSettings {
373
+ export interface Settings {
292
374
  theme: 'light' | 'dark';
293
375
  preferredLanguages: string[];
294
376
  }
295
- export interface HailerError {
296
- code: number;
297
- msg: string;
298
- debug: object;
299
- }
300
- export interface HailerApiInfo {
377
+ export interface ApiInfo {
301
378
  /** Url of the Hailer instance hosting the API */
302
379
  hostUrl?: string;
303
- config?: HailerAppConfig;
380
+ config?: Config;
304
381
  outside: boolean | null;
305
382
  workspaceId?: string;
306
383
  }
307
- export declare class HailerError extends Error {
384
+ export interface ApiError {
308
385
  code: number;
309
386
  msg: string;
310
387
  debug: object;
388
+ }
389
+ declare class CustomError extends Error {
390
+ msg: string;
391
+ code: number;
392
+ constructor(message: string, code: number);
393
+ }
394
+ export declare class HailerError extends CustomError {
395
+ debug: object;
396
+ details?: any;
311
397
  constructor(error: {
312
398
  code: number;
313
399
  msg: string;
314
- debug: object;
400
+ details?: any;
401
+ debug: any;
315
402
  });
403
+ toString(): string;
316
404
  }
317
- export interface HailerSignal {
318
- sig: string;
319
- meta: any;
405
+ export interface Signal {
406
+ name: string;
407
+ data: any;
320
408
  }
321
409
  export interface Product extends ProductType {
322
410
  _id: string;
@@ -329,7 +417,7 @@ export interface Product extends ProductType {
329
417
  publisher?: string;
330
418
  /** Available or not in app store */
331
419
  public?: boolean;
332
- cid?: string;
420
+ workspaceId?: string;
333
421
  uid: string;
334
422
  }
335
423
  export interface ProductSearchOption {
@@ -360,3 +448,4 @@ export interface Version {
360
448
  packageHash: string;
361
449
  created: number;
362
450
  }
451
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hailer/app-sdk",
3
- "version": "1.0.3",
3
+ "version": "2.0.0-beta-1",
4
4
  "description": "SDK for building Hailer Apps",
5
5
  "author": "",
6
6
  "license": "ISC",
@@ -1,40 +0,0 @@
1
- import { Client } from '@wishcore/wish-rpc';
2
- import { ProductInstalled } from '../types';
3
- export declare class ProductInstalledApi {
4
- private client;
5
- constructor(client: Client);
6
- /**
7
- * Lists products from Hailer market
8
- *
9
- * @param cid WorkspaceId
10
- * @param productId productId
11
- *
12
- * @returns List of installed products in Hailer market
13
- *
14
- * @throws {HailerError} if request is incorrect
15
- */
16
- list(productInstalled: {
17
- cid: string;
18
- productId: string;
19
- }): Promise<ProductInstalled[]>;
20
- /**
21
- * Gets installed product from Hailer market
22
- *
23
- * @param id Product Installed Id
24
- *
25
- * @returns Single installed product from Hailer market or undefined if no installed product found
26
- *
27
- * @throws {HailerError} if request is incorrect
28
- */
29
- get(id: string): Promise<ProductInstalled | undefined>;
30
- /**
31
- * Remove installed product from Hailer market
32
- *
33
- * @param id Id of installed product in Hailer market
34
- *
35
- * @returns true, if removed
36
- *
37
- * @throws {HailerError} if request is incorrect
38
- */
39
- remove(id: string): Promise<boolean>;
40
- }
@@ -1,38 +0,0 @@
1
- import { Client } from '@wishcore/wish-rpc';
2
- import { ProductVersion } from '../types';
3
- export declare class ProductVersionApi {
4
- private client;
5
- constructor(client: Client);
6
- /**
7
- * Gets single version from Hailer market
8
- *
9
- * @param id Version Id
10
- *
11
- * @returns Single version from Hailer market or undefined if no version found
12
- *
13
- * @throws {HailerError} if request is incorrect
14
- */
15
- get(id: string): Promise<ProductVersion | undefined>;
16
- /**
17
- * Publish template in Hailer market
18
- *
19
- * @param workspaceId Id of workspace
20
- * @param versionId link to version (empty if first publish)
21
- * @param version Version number
22
- * @param versionDescription Version description
23
- * @param title
24
- * @param description
25
- *
26
- * @returns Created version in Hailer market
27
- *
28
- * @throws {HailerError} if request is incorrect
29
- */
30
- publishTemplate(template: {
31
- workspaceId?: string;
32
- versionId?: string;
33
- version: string;
34
- versionDescription: string;
35
- title: string;
36
- description: string;
37
- }): Promise<ProductVersion>;
38
- }
@@ -1,16 +0,0 @@
1
- import { Options } from '../../hailer-api';
2
- import { ProductVersion } from '../../types';
3
- export declare class ProductVersionPublicApi {
4
- private options;
5
- constructor(options: Options);
6
- /**
7
- * Gets single version from Hailer market
8
- *
9
- * @param id Version Id
10
- *
11
- * @returns Single version from Hailer market or undefined if no version found
12
- *
13
- * @throws {HailerError} if request is incorrect
14
- */
15
- get(id: string): Promise<ProductVersion | undefined>;
16
- }
@@ -1,16 +0,0 @@
1
- import { Options } from '../../hailer-api';
2
- import { Version } from '../../types';
3
- export declare class VersionPublicApi {
4
- private options;
5
- constructor(options: Options);
6
- /**
7
- * Gets single version from Hailer market
8
- *
9
- * @param id Version Id
10
- *
11
- * @returns Single version from Hailer market or undefined if no version found
12
- *
13
- * @throws {HailerError} if request is incorrect
14
- */
15
- get(id: string): Promise<Version | undefined>;
16
- }