@hailer/app-sdk 2.0.0-beta-15 → 2.0.0-beta-17

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 (47) hide show
  1. package/lib/app-sdk.js +2 -2
  2. package/lib/app-sdk.js.map +4 -4
  3. package/lib/hailer-api.d.ts +4 -0
  4. package/lib/modules/activity.d.ts +18 -1
  5. package/lib/modules/admin.d.ts +21 -1
  6. package/lib/modules/file.d.ts +38 -0
  7. package/lib/modules/network.d.ts +14 -0
  8. package/lib/modules/process.d.ts +38 -0
  9. package/lib/modules/product-installed.d.ts +40 -0
  10. package/lib/modules/product-version.d.ts +38 -0
  11. package/lib/modules/public/product-version.d.ts +16 -0
  12. package/lib/modules/public/version.d.ts +16 -0
  13. package/lib/modules/team.d.ts +18 -0
  14. package/lib/modules/ui/activity.d.ts +4 -0
  15. package/lib/modules/ui/files.d.ts +20 -8
  16. package/lib/modules/version.d.ts +16 -0
  17. package/lib/src/constants.d.ts +7 -0
  18. package/lib/src/hailer-api.d.ts +92 -0
  19. package/lib/src/index.d.ts +2 -0
  20. package/lib/src/modules/activity/kanban.d.ts +36 -0
  21. package/lib/src/modules/activity.d.ts +83 -0
  22. package/lib/src/modules/app.d.ts +12 -0
  23. package/lib/src/modules/insight.d.ts +36 -0
  24. package/lib/src/modules/network.d.ts +14 -0
  25. package/lib/src/modules/permission.d.ts +9 -0
  26. package/lib/src/modules/process.d.ts +38 -0
  27. package/lib/src/modules/product-installed.d.ts +40 -0
  28. package/lib/src/modules/product-version.d.ts +16 -0
  29. package/lib/src/modules/product.d.ts +104 -0
  30. package/lib/src/modules/public/app.d.ts +17 -0
  31. package/lib/src/modules/public/form.d.ts +31 -0
  32. package/lib/src/modules/public/insight.d.ts +30 -0
  33. package/lib/src/modules/public/product-version.d.ts +16 -0
  34. package/lib/src/modules/public/product.d.ts +27 -0
  35. package/lib/src/modules/public.d.ts +22 -0
  36. package/lib/src/modules/ui/activity.d.ts +30 -0
  37. package/lib/src/modules/ui/files.d.ts +18 -0
  38. package/lib/src/modules/ui/snackbar.d.ts +18 -0
  39. package/lib/src/modules/ui.d.ts +17 -0
  40. package/lib/src/modules/user.d.ts +36 -0
  41. package/lib/src/modules/workflow.d.ts +24 -0
  42. package/lib/src/types.d.ts +381 -0
  43. package/lib/types.d.ts +101 -0
  44. package/lib/version.d.ts +0 -0
  45. package/package.json +1 -1
  46. package/lib/tools/minimal-password-prompt.d.ts +0 -1
  47. package/lib/tools/minimal-password-prompt.js +0 -50
@@ -1,6 +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 { TeamApi } from './modules/team';
5
+ import { FileApi } from './modules/file';
4
6
  import { ApiInfo, Settings, Signal } from './types';
5
7
  import { Ui } from './modules/ui';
6
8
  import { HailerPublicApi } from './modules/public';
@@ -39,6 +41,8 @@ export declare class HailerApi {
39
41
  activity: ActivityApi;
40
42
  insight: InsightApi;
41
43
  workspace: WorkspaceApi;
44
+ team: TeamApi;
45
+ file: FileApi;
42
46
  workflow: WorkflowApi;
43
47
  permission: PermissionApi;
44
48
  product: ProductApi;
@@ -1,5 +1,5 @@
1
1
  import { Client } from '@wishcore/wish-rpc';
2
- import { ActivityCreateOptions, ActivityListOptions, Activity, ActivityFieldUpdateValue, ActivityUpdateOptions, ActivityFieldValue } from '../types';
2
+ import { ActivityCreateOptions, ActivityListOptions, Activity, ActivityFieldUpdateValue, ActivityUpdateOptions, ActivityFieldValue, PrintRequest, PrintResponse } from '../types';
3
3
  import { Kanban } from './activity/kanban';
4
4
  export declare class ActivityApi {
5
5
  private client;
@@ -40,6 +40,8 @@ export declare class ActivityApi {
40
40
  fields?: {
41
41
  [id: string]: ActivityFieldValue;
42
42
  };
43
+ phaseId?: string;
44
+ teamId?: string;
43
45
  }[], options?: ActivityCreateOptions): Promise<Activity[]>;
44
46
  /**
45
47
  * Updates activites
@@ -55,6 +57,7 @@ export declare class ActivityApi {
55
57
  [id: string]: ActivityFieldUpdateValue;
56
58
  };
57
59
  phaseId?: string;
60
+ teamId?: string;
58
61
  }[], options?: ActivityUpdateOptions): Promise<number>;
59
62
  /**
60
63
  * Removes activities
@@ -67,4 +70,18 @@ export declare class ActivityApi {
67
70
  * @throws {HailerError} if request is incorrect
68
71
  */
69
72
  remove(activities: string[]): Promise<number>;
73
+ /**
74
+ * Prints activities using document templates
75
+ *
76
+ * @param requests Array of print requests
77
+ * @param requests[].activityId The ID of the activity to print
78
+ * @param requests[].templateId Template ID for regular templates
79
+ * @param requests[].templateName Template name for multi-pdf templates (when templateId is empty)
80
+ * @param requests[].savePdf Whether to save the generated PDF
81
+ *
82
+ * @returns PDF data with filename, base64 data, and mimeType
83
+ *
84
+ * @throws {HailerError} if request is incorrect
85
+ */
86
+ print(requests: PrintRequest[]): Promise<PrintResponse>;
70
87
  }
@@ -1,8 +1,28 @@
1
1
  import { Client } from '@wishcore/wish-rpc';
2
- import { AdminWorkspaceListRequest, AdminWorkspaceListResponse, AdminWorkspace, AdminCreateStripeSessionRequest, AdminCreateStripeSessionResponse, AdminCreateInvoiceIntegrationRequest, AdminCreateInvoiceIntegrationResponse, AdminUpdateWorkspaceSubscriptionRequest, AdminUpdatePurchasePriceRequest, AdminWorkspaceUsersListRequest, AdminWorkspaceUsersListResponse, AdminUpdateUserRequest, AdminTokenTransactionsListRequest, AdminTokenTransactionsListResponse, AdminUpdateOverridesRequest, AdminUpdateMarketplaceSettingsRequest, AdminInvoiceListRequest, AdminInvoiceListResponse, AdminInvoiceUpdateHandledRequest, AdminInvoiceUpdateHandledResponse, AdminRevenueListRequest, AdminRevenueListResponse, AdminDashboardStatisticsResponse, AdminDashboardTrendsResponse } from '../types';
2
+ import { AdminWorkspaceListRequest, AdminWorkspaceListResponse, AdminWorkspace, AdminCreateStripeSessionRequest, AdminCreateStripeSessionResponse, AdminCreateInvoiceIntegrationRequest, AdminCreateInvoiceIntegrationResponse, AdminUpdateWorkspaceSubscriptionRequest, AdminUpdatePurchasePriceRequest, AdminWorkspaceUsersListRequest, AdminWorkspaceUsersListResponse, AdminUpdateUserRequest, AdminTokenTransactionsListRequest, AdminTokenTransactionsListResponse, AdminUpdateOverridesRequest, AdminUpdateMarketplaceSettingsRequest, AdminInvoiceListRequest, AdminInvoiceListResponse, AdminInvoiceUpdateHandledRequest, AdminInvoiceUpdateHandledResponse, AdminRevenueListRequest, AdminRevenueListResponse, AdminDashboardStatisticsResponse, AdminDashboardTrendsResponse, AdminReferralCodeListRequest, AdminReferralCodeListResponse, AdminReferralEventListRequest, AdminReferralEventListResponse } from '../types';
3
3
  export declare class Admin {
4
4
  private client;
5
5
  constructor(client: Client);
6
+ /**
7
+ * Referral management endpoints
8
+ */
9
+ referral: {
10
+ /**
11
+ * Lists all referral codes with optional filters
12
+ */
13
+ listCodes: (request?: AdminReferralCodeListRequest) => Promise<AdminReferralCodeListResponse>;
14
+ /**
15
+ * Lists referral events with optional filters
16
+ */
17
+ listEvents: (request?: AdminReferralEventListRequest) => Promise<AdminReferralEventListResponse>;
18
+ /**
19
+ * Updates a referral code's bonus amount or active status
20
+ */
21
+ updateCode: (codeId: string, updates: {
22
+ bonusTokens?: number;
23
+ isActive?: boolean;
24
+ }) => Promise<boolean>;
25
+ };
6
26
  /**
7
27
  * Lists workspaces with search, pagination, and sorting
8
28
  *
@@ -0,0 +1,38 @@
1
+ import { Client } from '@wishcore/wish-rpc';
2
+ export interface FileResponse {
3
+ filename: string;
4
+ /** Base64-encoded file data */
5
+ data: string;
6
+ mimeType: string;
7
+ }
8
+ export interface UploadOptions {
9
+ /** Whether the file should be publicly accessible */
10
+ isPublic?: boolean;
11
+ }
12
+ export declare class FileApi {
13
+ private client;
14
+ constructor(client: Client);
15
+ /**
16
+ * Gets a file by ID and returns it as base64 data
17
+ *
18
+ * @param fileId The ID of the file to fetch
19
+ *
20
+ * @returns File data with filename, base64 data, and mimeType
21
+ *
22
+ * @throws {HailerError} if request is incorrect
23
+ */
24
+ get(fileId: string): Promise<FileResponse>;
25
+ /**
26
+ * Uploads a file to Hailer
27
+ *
28
+ * @param file File to be uploaded
29
+ * @param filename Name of the file
30
+ * @param options Upload options
31
+ *
32
+ * @returns File ID in Hailer
33
+ *
34
+ * @throws {HailerError} if upload fails
35
+ */
36
+ upload(file: File, filename: string, options?: UploadOptions): Promise<string>;
37
+ private toBase64;
38
+ }
@@ -0,0 +1,14 @@
1
+ import { Client } from '@wishcore/wish-rpc';
2
+ import { Workspace } from '../types';
3
+ export declare class WorkspaceApi {
4
+ private client;
5
+ constructor(client: Client);
6
+ /**
7
+ * Returns the current network
8
+ *
9
+ * @returns the Hailer Workspace information the user is currently in
10
+ *
11
+ * @throws {HailerError} if request is incorrect
12
+ */
13
+ current(): Promise<Workspace>;
14
+ }
@@ -0,0 +1,38 @@
1
+ import { Client } from '@wishcore/wish-rpc';
2
+ import { HailerProcess } from '../types';
3
+ /** @deprecated Use Workflow instead */
4
+ export declare class Process {
5
+ private client;
6
+ constructor(client: Client);
7
+ /**
8
+ * Lists all processes from a workspace
9
+ *
10
+ * @returns all Hailer processes in the workspace the app user is currently in
11
+ *
12
+ * @throws {HailerError} if request is incorrect
13
+ */
14
+ list(): Promise<{
15
+ [key: string]: HailerProcess;
16
+ }>;
17
+ /**
18
+ * Gets a single process from a workspace
19
+ *
20
+ * @param processId the id of the process in question
21
+ *
22
+ * @returns the specified Hailer process
23
+ *
24
+ * @throws {HailerError} if request is incorrect
25
+ */
26
+ get(processId: string): Promise<HailerProcess>;
27
+ /**
28
+ * Gets an id of a field in a process by its name
29
+ *
30
+ * @param processId the id of the process in question
31
+ * @param fieldName name of the field
32
+ *
33
+ * @returns the field id as string
34
+ *
35
+ * @throws {HailerError} if request is incorrect
36
+ */
37
+ getFieldIdByName(processId: string, fieldName: string): Promise<string>;
38
+ }
@@ -0,0 +1,40 @@
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
+ }
@@ -0,0 +1,38 @@
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
+ }
@@ -0,0 +1,16 @@
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
+ }
@@ -0,0 +1,16 @@
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
+ }
@@ -0,0 +1,18 @@
1
+ import { Client } from '@wishcore/wish-rpc';
2
+ import { TeamsByWorkspace } from '../types';
3
+ export declare class TeamApi {
4
+ private client;
5
+ constructor(client: Client);
6
+ /**
7
+ * Lists all teams grouped by workspace ID
8
+ *
9
+ * @returns Teams grouped by workspace ID
10
+ *
11
+ * @example
12
+ * const teams = await hailer.team.list();
13
+ * // { "workspaceId1": [{ _id: "...", name: "Team A" }], ... }
14
+ *
15
+ * @throws {HailerError} if request is incorrect
16
+ */
17
+ list(): Promise<TeamsByWorkspace>;
18
+ }
@@ -14,6 +14,10 @@ export declare class Activity {
14
14
  create(processId: string, options?: {
15
15
  /** Activity name/title */
16
16
  name?: string;
17
+ /** Phase ID to pre-select */
18
+ phaseId?: string;
19
+ /** Team ID to pre-select */
20
+ teamId?: string;
17
21
  /** Prepopulate fields */
18
22
  fields?: {
19
23
  [fieldId: string]: number | string | {
@@ -1,16 +1,28 @@
1
1
  import { Client } from '@wishcore/wish-rpc';
2
+ /**
3
+ * @deprecated Use FileApi from '@hailer/app-sdk' instead.
4
+ * This class is kept for backwards compatibility.
5
+ *
6
+ * @example
7
+ * // New way (recommended):
8
+ * import { FileApi } from '@hailer/app-sdk';
9
+ * const fileApi = new FileApi(client);
10
+ * const fileId = await fileApi.upload(base64Data, filename, { isPublic: false });
11
+ */
2
12
  export declare class Files {
3
13
  private client;
4
14
  constructor(client: Client);
5
15
  /**
6
- * Uploads a file to Hailer
7
- *
8
- * @param file file to be uploaded
9
- * @param publicFile is the file accessible outside of Hailer
10
- * @param options if file is public
11
- *
12
- * @returns File ID in Hailer as string
13
- */
16
+ * Uploads a file to Hailer
17
+ *
18
+ * @deprecated Use FileApi.upload() instead
19
+ *
20
+ * @param file file to be uploaded
21
+ * @param filename name of the file
22
+ * @param options upload options
23
+ *
24
+ * @returns File ID in Hailer as string
25
+ */
14
26
  uploadFile(file: File, filename: string, options: {
15
27
  isPublic?: boolean;
16
28
  }): Promise<string>;
@@ -0,0 +1,16 @@
1
+ import { Client } from '@wishcore/wish-rpc';
2
+ import { Version } from '../types';
3
+ export declare class VersionApi {
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<Version | undefined>;
16
+ }
@@ -0,0 +1,7 @@
1
+ export declare const DEFAULT_API_VERSION = 1;
2
+ export declare const DEFAULT_ALLOWED_URLS: string[];
3
+ export declare const DEFAULT_BACKEND_URL = "https://api.hailer.com";
4
+ /** Map of which backend to use depending on which frontend is hosting the app frame, be sure to fall back to production backend if no match */
5
+ export declare const publicBackendMap: {
6
+ [host: string]: string;
7
+ };
@@ -0,0 +1,92 @@
1
+ import { UserApi } from './modules/user';
2
+ import { ActivityApi } from './modules/activity';
3
+ import { WorkspaceApi } from './modules/network';
4
+ import { HailerApiInfo, HailerSettings, HailerSignal } from './types';
5
+ import { Ui } from './modules/ui';
6
+ import { Process } from './modules/process';
7
+ import { HailerPublicApi } from './modules/public';
8
+ import { WorkflowApi } from './modules/workflow';
9
+ import { AppApi } from './modules/app';
10
+ import { InsightApi } from './modules/insight';
11
+ import { PermissionApi } from './modules/permission';
12
+ import { ProductApi } from './modules/product';
13
+ import { ProductVersionApi } from './modules/product-version';
14
+ import { ProductInstalledApi } from './modules/product-installed';
15
+ export interface Options {
16
+ /** When connected is called the host is ready to receive calls */
17
+ connected?: () => void;
18
+ /** Callback when app is determined to be outside of Hailer, as a standalone app */
19
+ outside?: (config?: any) => void;
20
+ /** Callback on errors, defaults to printing errors in console */
21
+ error?: (error: Error) => void;
22
+ /** Callback called on app init and when permissions have changed */
23
+ permissions?: () => void;
24
+ /** Callback called on app init and when settings have changed */
25
+ settings?: (data: HailerSettings) => void;
26
+ /** Callback called on app init and when config has changed */
27
+ config?: (config: any) => void;
28
+ /** Will be called each time a subscribed signal is emitted from Hailer frontend. To subscribe to signals, add them to options.subscribedSignals[] */
29
+ signals?: (signal: HailerSignal) => void;
30
+ /** Urls the sdk is allowed to connect to. Defaults to all Hailer instances*/
31
+ allowedUrls?: string[];
32
+ /**
33
+ * Optional signal filter, passes all signals by default
34
+ *
35
+ * Example:
36
+ *
37
+ * subscribedSignals: ['activity.create', 'activity.update']
38
+ */
39
+ subscribedSignals?: string[];
40
+ /** Api version to be used in the app by default */
41
+ apiVersion?: 1;
42
+ /** Public backend Api url. Defaults to https://api.hailer.com */
43
+ publicBackendUrl?: string;
44
+ }
45
+ export declare class HailerApi {
46
+ options: Options;
47
+ user: UserApi;
48
+ app: AppApi;
49
+ activity: ActivityApi;
50
+ insight: InsightApi;
51
+ network: WorkspaceApi;
52
+ process: Process;
53
+ workflow: WorkflowApi;
54
+ permission: PermissionApi;
55
+ product: ProductApi;
56
+ productVersion: ProductVersionApi;
57
+ productInstalled: ProductInstalledApi;
58
+ /** All public endpoints, which can be accessed while not logged in to Hailer. */
59
+ public: HailerPublicApi;
60
+ /** User interface commands */
61
+ ui: Ui;
62
+ /** Url of the Hailer instance hosting the API */
63
+ private hostUrl?;
64
+ private appId?;
65
+ /** If set it indicates that app is locked to a specific workspaceId */
66
+ private workspaceId?;
67
+ private client;
68
+ private apiVersion;
69
+ private settings?;
70
+ private config?;
71
+ private subscribedSignals?;
72
+ private timer?;
73
+ /**
74
+ * Hailer API state
75
+ *
76
+ * ```
77
+ * true // outside hailer
78
+ * false // logged into hailer
79
+ * null // state not yet detected
80
+ * ```
81
+ */
82
+ private outside;
83
+ /**
84
+ * Create a Hailer API client for inteacting with Hailer. **NOTE** This only works when inside Hailer.
85
+ *
86
+ * This should be run after window is initialized for example in ***onMount*** in Svelte or in ***useEffect*** in React
87
+ */
88
+ constructor(options?: Options);
89
+ private createEventListener;
90
+ info(): HailerApiInfo;
91
+ request(op: string, args: any[]): Promise<any>;
92
+ }
@@ -0,0 +1,2 @@
1
+ export { HailerApi } from './hailer-api';
2
+ export * from './types';
@@ -0,0 +1,36 @@
1
+ import { Client } from '@wishcore/wish-rpc';
2
+ import { ActivityKanbanListOptions, KanbanListResponse, KanbanLoadResponse } from '../../types';
3
+ export declare class Kanban {
4
+ private client;
5
+ constructor(client: Client);
6
+ /**
7
+ * Lists all activities in a kanban grouped by phases
8
+ *
9
+ * @param processId the id of the process the kanban relates to
10
+ * @param options ActivityKanbanListOptions
11
+ *
12
+ * @returns activities in kanban list format
13
+ *
14
+ * @throws {HailerError} if request fails
15
+ */
16
+ list(processId: string, options?: ActivityKanbanListOptions): Promise<KanbanListResponse>;
17
+ /**
18
+ * Loads a single activity in kanban format
19
+ *
20
+ * @param activityId activityId of the wanted activity
21
+ *
22
+ * @returns activity in kanban format
23
+ *
24
+ * @throws {HailerError} if request is incorrect
25
+ */
26
+ load(activityId: string): Promise<KanbanLoadResponse>;
27
+ /**
28
+ * Updates priority of activities in kanban
29
+ *
30
+ * @param activityId activityId of the wanted activity
31
+ * @param priority new priority for the activity
32
+ *
33
+ * @throws {HailerError} if request is incorrect
34
+ */
35
+ updatePriority(activityId: string, priority: number): Promise<void>;
36
+ }
@@ -0,0 +1,83 @@
1
+ import { Client } from '@wishcore/wish-rpc';
2
+ import { ActivityCreateOptions, ActivityListOptions, Activity } from '../types';
3
+ import { Kanban } from './activity/kanban';
4
+ export declare class ActivityApi {
5
+ private client;
6
+ kanban: Kanban;
7
+ constructor(client: Client);
8
+ /**
9
+ * Lists all activities from the specified process and phase
10
+ *
11
+ * @param processId process from current network
12
+ * @param phaseId phase in the process specified in processId
13
+ * @param options ActivityListOptions
14
+ *
15
+ * @returns List of Hailer activities from process and phase filtered with supplied options
16
+ *
17
+ * @throws {HailerError} if request is incorrect
18
+ */
19
+ list(processId: string, phaseId: string, options?: ActivityListOptions): Promise<Activity[]>;
20
+ /**
21
+ * Gets single activity
22
+ *
23
+ * @param activityId activity Id of the process specified in processId
24
+ * @param processId Process where the activityId is
25
+ * @param phaseId Phase where the activityId is in process specified by processId
26
+ * @param options options containing apiVersion
27
+ *
28
+ * @returns Hailer activity information or undefined if no activity is found
29
+ *
30
+ * @throws {HailerError} if request is incorrect
31
+ */
32
+ get(activityId: string): Promise<Activity | undefined>;
33
+ /**
34
+ * Creates activities
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
+ * @throws {HailerError} if request is incorrect
43
+ */
44
+ create(processId: string, activities: {
45
+ name: string;
46
+ fields?: {
47
+ [id: string]: string | number;
48
+ };
49
+ }[], options?: ActivityCreateOptions): Promise<Activity[]>;
50
+ /**
51
+ * Updates activites
52
+ *
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
+ * @returns The number of updated activities
61
+ *
62
+ * @throws {HailerError} if request is incorrect
63
+ */
64
+ update(activities: {
65
+ _id: string;
66
+ name?: string;
67
+ fields?: {
68
+ [id: string]: string | number | null;
69
+ };
70
+ phaseId?: string;
71
+ }[], options: any): Promise<number>;
72
+ /**
73
+ * Removes activities
74
+ *
75
+ * @param activities Ids of activities to be removed
76
+ * @param options options containing apiVersion
77
+ *
78
+ * @returns The number of removed activities
79
+ *
80
+ * @throws {HailerError} if request is incorrect
81
+ */
82
+ remove(activities: string[]): Promise<number>;
83
+ }
@@ -0,0 +1,12 @@
1
+ import { Client } from '@wishcore/wish-rpc';
2
+ import { HailerAppConfig } from '../types';
3
+ /**
4
+ * This class is used to access Hailer public API even when the app is outside of Hailer
5
+ */
6
+ export declare class AppApi {
7
+ private client;
8
+ constructor(client: Client);
9
+ config: {
10
+ update: (appId: string | undefined, config: HailerAppConfig) => Promise<void>;
11
+ };
12
+ }
@@ -0,0 +1,36 @@
1
+ import { Client } from '@wishcore/wish-rpc';
2
+ import { InsightData, InsightDoc } from '../types';
3
+ export declare class InsightApi {
4
+ private client;
5
+ constructor(client: Client);
6
+ /**
7
+ * Get Insight data
8
+ *
9
+ * @param insightId the id of the Insight the data is fetched from
10
+ *
11
+ * @returns data from the Insight
12
+ *
13
+ * @throws {HailerError} if request is incorrect
14
+ */
15
+ data(insightId: string, options: {
16
+ update?: true;
17
+ }): Promise<InsightData>;
18
+ /**
19
+ * Get Insight data
20
+ *
21
+ *
22
+ * @returns data from the Insight
23
+ *
24
+ * @throws {HailerError} if request is incorrect
25
+ */
26
+ list(): Promise<InsightDoc[]>;
27
+ /**
28
+ * Get Insight data
29
+ *
30
+ *
31
+ * @returns data from the Insight
32
+ *
33
+ * @throws {HailerError} if request is incorrect
34
+ */
35
+ update(insightId: string, update: Partial<InsightDoc>): Promise<InsightDoc[]>;
36
+ }