@ixon-cdk/types 1.2.0-next.2 → 1.2.0-next.3
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/dist/component-devkit/src/types/src/index.d.ts +7 -0
- package/dist/types/backend-component/backend-component-call.d.ts +18 -0
- package/dist/types/backend-component/backend-component-client.d.ts +12 -0
- package/dist/types/backend-component/backend-component-result.d.ts +6 -0
- package/dist/types/backend-component/index.d.ts +3 -0
- package/dist/types/component-context/app-data.d.ts +32 -0
- package/dist/types/component-context/index.d.ts +169 -0
- package/dist/types/component-context/input.d.ts +19 -0
- package/dist/types/component-context/tooltip.d.ts +14 -0
- package/dist/types/ixapi/index.d.ts +12 -0
- package/dist/types/ixapi/resources/agent-config.d.ts +115 -0
- package/dist/types/ixapi/resources/agent-data-condition.d.ts +11 -0
- package/dist/types/ixapi/resources/agent-data-source.d.ts +14 -0
- package/dist/types/ixapi/resources/agent-data-tag.d.ts +22 -0
- package/dist/types/ixapi/resources/agent-data-variable.d.ts +24 -0
- package/dist/types/ixapi/resources/agent-device.d.ts +11 -0
- package/dist/types/ixapi/resources/agent-mdr-server.d.ts +4 -0
- package/dist/types/ixapi/resources/agent-membership.d.ts +6 -0
- package/dist/types/ixapi/resources/agent-network-value.d.ts +5 -0
- package/dist/types/ixapi/resources/agent-router-vpn-access-rule.d.ts +8 -0
- package/dist/types/ixapi/resources/agent-server.d.ts +22 -0
- package/dist/types/ixapi/resources/agent-template.d.ts +3 -0
- package/dist/types/ixapi/resources/agent-type.d.ts +24 -0
- package/dist/types/ixapi/resources/agent.d.ts +148 -0
- package/dist/types/ixapi/resources/alarming-app.d.ts +5 -0
- package/dist/types/ixapi/resources/asset-membership.d.ts +6 -0
- package/dist/types/ixapi/resources/asset-type.d.ts +5 -0
- package/dist/types/ixapi/resources/asset.d.ts +19 -0
- package/dist/types/ixapi/resources/audience.d.ts +6 -0
- package/dist/types/ixapi/resources/branding.d.ts +27 -0
- package/dist/types/ixapi/resources/company.d.ts +55 -0
- package/dist/types/ixapi/resources/custom-property.d.ts +47 -0
- package/dist/types/ixapi/resources/data-protocol-applied.d.ts +72 -0
- package/dist/types/ixapi/resources/demo-device.d.ts +8 -0
- package/dist/types/ixapi/resources/email-address-change.d.ts +9 -0
- package/dist/types/ixapi/resources/group-type.d.ts +6 -0
- package/dist/types/ixapi/resources/group.d.ts +10 -0
- package/dist/types/ixapi/resources/invite.d.ts +25 -0
- package/dist/types/ixapi/resources/licence-type.d.ts +13 -0
- package/dist/types/ixapi/resources/licence.d.ts +25 -0
- package/dist/types/ixapi/resources/location.d.ts +11 -0
- package/dist/types/ixapi/resources/logging-app.d.ts +5 -0
- package/dist/types/ixapi/resources/lsi-server.d.ts +4 -0
- package/dist/types/ixapi/resources/otp-auth.d.ts +13 -0
- package/dist/types/ixapi/resources/page-component.d.ts +44 -0
- package/dist/types/ixapi/resources/page-link-group.d.ts +7 -0
- package/dist/types/ixapi/resources/page-link.d.ts +12 -0
- package/dist/types/ixapi/resources/page-page.d.ts +6 -0
- package/dist/types/ixapi/resources/page-version.d.ts +22 -0
- package/dist/types/ixapi/resources/platform-server.d.ts +8 -0
- package/dist/types/ixapi/resources/policy.d.ts +23 -0
- package/dist/types/ixapi/resources/res-link.d.ts +6 -0
- package/dist/types/ixapi/resources/rsc-server.d.ts +6 -0
- package/dist/types/ixapi/resources/sector.d.ts +31 -0
- package/dist/types/ixapi/resources/user-membership.d.ts +11 -0
- package/dist/types/ixapi/resources/user.d.ts +55 -0
- package/dist/types/ixapi/resources/vpn-protocol.d.ts +1 -0
- package/dist/types/logging-data/index.d.ts +8 -0
- package/dist/types/logging-data/logging-data-blob.d.ts +9 -0
- package/dist/types/logging-data/logging-data-client.d.ts +30 -0
- package/dist/types/logging-data/logging-data-metric.d.ts +17 -0
- package/dist/types/logging-data/logging-data-query-options.d.ts +29 -0
- package/dist/types/logging-data/logging-data-query-ref.d.ts +10 -0
- package/dist/types/logging-data/logging-data-query.d.ts +103 -0
- package/dist/types/logging-data/logging-data-time-range.d.ts +7 -0
- package/dist/types/logging-data/logging-data-value.d.ts +9 -0
- package/dist/types/resource-data/index.d.ts +4 -0
- package/dist/types/resource-data/resource-data-client.d.ts +57 -0
- package/dist/types/resource-data/resource-data-query.d.ts +38 -0
- package/dist/types/resource-data/resource-data-result.d.ts +6 -0
- package/dist/types/resource-data/resource-data.d.ts +67 -0
- package/dist/types/vpn-client/index.d.ts +19 -0
- package/package.json +1 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ResLink } from './res-link';
|
|
2
|
+
import type { Sector } from './sector';
|
|
3
|
+
export interface PolicyLanguage {
|
|
4
|
+
body?: string;
|
|
5
|
+
languageCode?: string;
|
|
6
|
+
publicId: string;
|
|
7
|
+
policy?: ResLink;
|
|
8
|
+
}
|
|
9
|
+
export interface PolicyBase {
|
|
10
|
+
company?: ResLink | null;
|
|
11
|
+
createdOn?: string;
|
|
12
|
+
downloadUrl?: string;
|
|
13
|
+
latest?: boolean;
|
|
14
|
+
languages?: PolicyLanguage[];
|
|
15
|
+
publicId: string;
|
|
16
|
+
publishedOn?: string | null;
|
|
17
|
+
sector?: Sector;
|
|
18
|
+
version?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface TermsOfUsePolicy extends PolicyBase {
|
|
21
|
+
}
|
|
22
|
+
export interface PrivacyStatement extends PolicyBase {
|
|
23
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Branding } from './branding';
|
|
2
|
+
import type { PrivacyStatement } from './policy';
|
|
3
|
+
export interface Sector {
|
|
4
|
+
allowCustomPrivacyStatement?: boolean;
|
|
5
|
+
allowCustomTermsOfUse?: boolean;
|
|
6
|
+
branding?: Branding | null;
|
|
7
|
+
corporateWebsite?: string | null;
|
|
8
|
+
custom?: {
|
|
9
|
+
glbRouterConfigName?: string;
|
|
10
|
+
glbShowCustomComponents?: boolean;
|
|
11
|
+
/** @deprecated */
|
|
12
|
+
glbSlaDownloadUrl?: string;
|
|
13
|
+
glbSupportedPlatforms?: string;
|
|
14
|
+
glbVpnClientReleaseNotesUrl?: string;
|
|
15
|
+
};
|
|
16
|
+
defaultCountry?: string;
|
|
17
|
+
emailFromAddress?: string;
|
|
18
|
+
feedbackTo?: string;
|
|
19
|
+
latestPrivacyStatement?: PrivacyStatement;
|
|
20
|
+
name?: string;
|
|
21
|
+
poweredBy?: SectorPoweredBy;
|
|
22
|
+
premiumBrandingDomain?: string;
|
|
23
|
+
publicId: string;
|
|
24
|
+
supportEmailAddress?: string | null;
|
|
25
|
+
}
|
|
26
|
+
export interface SectorPoweredBy {
|
|
27
|
+
hide?: boolean;
|
|
28
|
+
logo?: string;
|
|
29
|
+
name?: string;
|
|
30
|
+
url?: string;
|
|
31
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ResLink } from './res-link';
|
|
2
|
+
export interface UserMembership {
|
|
3
|
+
expiresOn?: string | null;
|
|
4
|
+
group?: ResLink;
|
|
5
|
+
/** null for users */
|
|
6
|
+
invite?: ResLink | null;
|
|
7
|
+
publicId: string;
|
|
8
|
+
role?: ResLink | null;
|
|
9
|
+
/** null for invites */
|
|
10
|
+
user?: ResLink | null;
|
|
11
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { EmailAddressChange } from './email-address-change';
|
|
2
|
+
import type { Invite } from './invite';
|
|
3
|
+
import type { OtpAuth } from './otp-auth';
|
|
4
|
+
import type { TermsOfUsePolicy } from './policy';
|
|
5
|
+
import type { UserMembership } from './user-membership';
|
|
6
|
+
export interface User {
|
|
7
|
+
/** @changeNotification taint */
|
|
8
|
+
emailAddress?: string;
|
|
9
|
+
/** For example 2019-01-01T12:00:00Z */
|
|
10
|
+
lastSeenOn?: string;
|
|
11
|
+
memberships?: UserMembership[];
|
|
12
|
+
/** @changeNotification taint */
|
|
13
|
+
name?: string;
|
|
14
|
+
/** Whether the user has two-factor authentication activated for their account. */
|
|
15
|
+
otpauthRequired?: boolean;
|
|
16
|
+
publicId: string;
|
|
17
|
+
support?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface MyUser {
|
|
20
|
+
custom?: {
|
|
21
|
+
/** JSON Object with user colomns per company, For example: { "1111-2222-3333-4444-5555": ["status", "name", "lastOnline"]} */
|
|
22
|
+
glbFltDeviceTableCols?: string;
|
|
23
|
+
/** JSON Object with user colomns per company, For example: { "1111-2222-3333-4444-5555": ["status", "name", "lastOnline"]} */
|
|
24
|
+
glbPrtDeviceTableCols?: string;
|
|
25
|
+
/** JSON Object with view settings per company,
|
|
26
|
+
* For example:
|
|
27
|
+
* {
|
|
28
|
+
* "1111-2222-3333-4444-5555": {
|
|
29
|
+
* "type": { "gtSm": "list", "ltSm": "card"}, cardSortBy: { "gtSm": "name;asc", "ltSm": "groupType.AAAAAAAAAAAA;desc" }, deviceMapState: { "gtSm": "closed", "ltSm": "open" }, deviceMapHeight: { "gtSm": "100" }
|
|
30
|
+
* }
|
|
31
|
+
* }
|
|
32
|
+
*/
|
|
33
|
+
glbPrtDeviceViewSettings?: string;
|
|
34
|
+
/** JSON Object with starred agents per company, For example: { "1111-2222-3333-4444-5555": ["ixagent00001", "ixagent00003"]} */
|
|
35
|
+
glbStarred?: string;
|
|
36
|
+
};
|
|
37
|
+
emailAddress?: string;
|
|
38
|
+
emailAddressChanges?: EmailAddressChange[];
|
|
39
|
+
invites?: Invite[];
|
|
40
|
+
language?: string;
|
|
41
|
+
/** For example 2019-01-01T12:00:00Z */
|
|
42
|
+
lastSeenOn?: string;
|
|
43
|
+
localisation?: string | null;
|
|
44
|
+
name?: string;
|
|
45
|
+
otpAuth?: OtpAuth | null;
|
|
46
|
+
publicId: string;
|
|
47
|
+
/** For example 2019-01-01T12:00:00Z */
|
|
48
|
+
registeredOn?: string;
|
|
49
|
+
support?: boolean;
|
|
50
|
+
termsOfUsePolicy?: TermsOfUsePolicy | null;
|
|
51
|
+
/** For example 2019-01-01T12:00:00Z */
|
|
52
|
+
termsOfUsePolicyAcceptedOn?: string | null;
|
|
53
|
+
timeZone?: string | null;
|
|
54
|
+
unreadMessagesCount?: number;
|
|
55
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type VpnProtocol = 'tcp' | 'udp';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './logging-data-blob';
|
|
2
|
+
export * from './logging-data-client';
|
|
3
|
+
export * from './logging-data-metric';
|
|
4
|
+
export * from './logging-data-query-options';
|
|
5
|
+
export * from './logging-data-query';
|
|
6
|
+
export * from './logging-data-query';
|
|
7
|
+
export * from './logging-data-time-range';
|
|
8
|
+
export * from './logging-data-value';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** @module LoggingDataBlob */
|
|
2
|
+
import type { LoggingDataQueryRef } from './logging-data-query-ref';
|
|
3
|
+
/** The result of a single export request. */
|
|
4
|
+
export interface LoggingDataBlob {
|
|
5
|
+
/** Indicates the queries that are included in the blob. */
|
|
6
|
+
queryRefs: LoggingDataQueryRef[];
|
|
7
|
+
/** Contents of the export response. */
|
|
8
|
+
blob: Blob;
|
|
9
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/** @module LoggingDataClient */
|
|
2
|
+
import type { LoggingDataBlob } from './logging-data-blob';
|
|
3
|
+
import type { LoggingDataMetric } from './logging-data-metric';
|
|
4
|
+
import type { LoggingDataQuery } from './logging-data-query';
|
|
5
|
+
import type { LoggingDataQueryOptions } from './logging-data-query-options';
|
|
6
|
+
export interface LoggingDataClient {
|
|
7
|
+
/**
|
|
8
|
+
* Destroy the client. Always call this when the client is not used anymore. When the context is
|
|
9
|
+
* destroyed, this is called automatically
|
|
10
|
+
*/
|
|
11
|
+
destroy(): void;
|
|
12
|
+
/**
|
|
13
|
+
* Starts a query for logging data. This method can be used for historic and live data depending
|
|
14
|
+
* on the selector.
|
|
15
|
+
*
|
|
16
|
+
* @returns {function()} Returns a deregistration function for the listener.
|
|
17
|
+
*/
|
|
18
|
+
query(query: LoggingDataQuery, listener: (result: LoggingDataMetric[]) => any): () => void;
|
|
19
|
+
query(queries: LoggingDataQuery[], listener: (results: LoggingDataMetric[][]) => any): () => void;
|
|
20
|
+
query<T extends LoggingDataQueryOptions>(queryOptions: T,
|
|
21
|
+
/**
|
|
22
|
+
* Depending on the `format` in the query options, the query listener result has a specific type.
|
|
23
|
+
*
|
|
24
|
+
* - If `format` is `'csv'`, the result type is `LoggingDataBlob`
|
|
25
|
+
* - Otherwise, the result type is `LoggingDataMetric[][]`
|
|
26
|
+
*/
|
|
27
|
+
listener: (results: T extends {
|
|
28
|
+
format: 'csv';
|
|
29
|
+
} ? LoggingDataBlob : LoggingDataMetric[][]) => void): () => void;
|
|
30
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** @module LoggingDataMetric */
|
|
2
|
+
import type { LoggingDataQueryRef } from './logging-data-query-ref';
|
|
3
|
+
import type { LoggingDataValue } from './logging-data-value';
|
|
4
|
+
export interface LoggingDataMetric {
|
|
5
|
+
/**
|
|
6
|
+
* The ref provided in the query, else this is generated
|
|
7
|
+
*/
|
|
8
|
+
queryRef: LoggingDataQueryRef;
|
|
9
|
+
/**
|
|
10
|
+
* The time the value was logged
|
|
11
|
+
*/
|
|
12
|
+
time: number;
|
|
13
|
+
/**
|
|
14
|
+
* The queries result value
|
|
15
|
+
*/
|
|
16
|
+
value: LoggingDataValue;
|
|
17
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** @module LoggingDataQueryOptions */
|
|
2
|
+
import type { LoggingDataQuery } from './logging-data-query';
|
|
3
|
+
export interface LoggingDataQueryOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Specifies the delimiter used to separate columns in the returned CSV data.
|
|
6
|
+
*
|
|
7
|
+
* Only applicable for format `'csv'`
|
|
8
|
+
*
|
|
9
|
+
* Defaults to `'comma'`
|
|
10
|
+
* */
|
|
11
|
+
csvDelimiter?: 'comma' | 'tab' | 'semicolon';
|
|
12
|
+
queries: LoggingDataQuery[];
|
|
13
|
+
/**
|
|
14
|
+
* Specifies the format of the returned metrics.
|
|
15
|
+
* - If `format` is `'metrics'`, the listener is called with `LoggingDataMetric[][]`.
|
|
16
|
+
* - If `format` is `'csv'`, the listener is called at most once with `LoggingDataBlob`.
|
|
17
|
+
*
|
|
18
|
+
* Defaults to `'metrics'`
|
|
19
|
+
*/
|
|
20
|
+
format?: 'csv' | 'metrics';
|
|
21
|
+
/**
|
|
22
|
+
* Specifies whether the query listener should be automatically removed after it gets invoked.
|
|
23
|
+
*
|
|
24
|
+
* Not applicable for format `'csv'`, because this format implies the automatic listener removal after invocation behaviour.
|
|
25
|
+
*
|
|
26
|
+
* Defaults to `false`
|
|
27
|
+
*/
|
|
28
|
+
once?: boolean;
|
|
29
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** @module LoggingDataQueryRef */
|
|
2
|
+
import type { AgentDataTag } from '../ixapi/resources/agent-data-tag';
|
|
3
|
+
import type { AgentDataVariable } from '../ixapi/resources/agent-data-variable';
|
|
4
|
+
import type { LoggingDataQuery } from './logging-data-query';
|
|
5
|
+
export interface LoggingDataQueryRef {
|
|
6
|
+
query: LoggingDataQuery;
|
|
7
|
+
variable?: AgentDataVariable;
|
|
8
|
+
tag?: AgentDataTag;
|
|
9
|
+
cancel(): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/** @module LoggingDataQuery */
|
|
2
|
+
export interface LoggingDataQuery {
|
|
3
|
+
/**
|
|
4
|
+
* String reference unique to the query call made by the client
|
|
5
|
+
* @ignore
|
|
6
|
+
*/
|
|
7
|
+
_clientRef?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Timestamp for when the query was dispatched by the client
|
|
10
|
+
* @ignore
|
|
11
|
+
*/
|
|
12
|
+
_timeStamp?: number;
|
|
13
|
+
/**
|
|
14
|
+
* Number of decimals to be returned
|
|
15
|
+
*/
|
|
16
|
+
decimals?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Whether or not you want to query for extra data-points, one before the start date and one beyond the end date (if they exist).
|
|
19
|
+
*/
|
|
20
|
+
extendedBoundary?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* The factor to multiply the value by
|
|
23
|
+
*/
|
|
24
|
+
factor?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Used to override the global time-range for this specific query
|
|
27
|
+
*
|
|
28
|
+
* For example 2019-01-01T00:00:00Z
|
|
29
|
+
*/
|
|
30
|
+
from?: string;
|
|
31
|
+
/**
|
|
32
|
+
* How many values should be fetched. The postAggr is applied to reduce the set of points to the limit.
|
|
33
|
+
*/
|
|
34
|
+
limit?: number;
|
|
35
|
+
/**
|
|
36
|
+
* Starting point for returned values
|
|
37
|
+
*
|
|
38
|
+
* Must be null if postAggr is set
|
|
39
|
+
*/
|
|
40
|
+
offset?: number;
|
|
41
|
+
/**
|
|
42
|
+
* The order to order datapoints by
|
|
43
|
+
*/
|
|
44
|
+
order?: 'asc' | 'desc';
|
|
45
|
+
/**
|
|
46
|
+
* Aggregrator for aggregation after data storage
|
|
47
|
+
*
|
|
48
|
+
* Must be null if offset is set
|
|
49
|
+
*/
|
|
50
|
+
postAggr?: Aggregrator;
|
|
51
|
+
/**
|
|
52
|
+
* Apply a transform. Only applies when postAggr is `'last'`.
|
|
53
|
+
*
|
|
54
|
+
* `'difference'` takes the difference between the last value in a bucket and the bucket before it.
|
|
55
|
+
*/
|
|
56
|
+
postTransform?: Transform | null;
|
|
57
|
+
/**
|
|
58
|
+
* When omitted, the pre-aggregator is determined automatically based on a couple of factors, but
|
|
59
|
+
* in most cases it defaults to "raw".
|
|
60
|
+
*/
|
|
61
|
+
preAggr?: Aggregrator;
|
|
62
|
+
/**
|
|
63
|
+
* Reference to identify the value by. If this is not set, a unique reference is generated.
|
|
64
|
+
*/
|
|
65
|
+
ref?: string;
|
|
66
|
+
/**
|
|
67
|
+
* The selector for getting data from a specific tag or variable. Can be used instead of tag or
|
|
68
|
+
* variable field
|
|
69
|
+
*
|
|
70
|
+
* Formatted as <dataSource>.<logType>.<logName> where <dataSource> is the name of the datas source,
|
|
71
|
+
* <logType> is 'tag' or 'variable' and <logName> is the slug of the tag or variable.
|
|
72
|
+
*/
|
|
73
|
+
selector?: string;
|
|
74
|
+
/**
|
|
75
|
+
* Number of seconds between subsequent data-points
|
|
76
|
+
*/
|
|
77
|
+
step?: number;
|
|
78
|
+
/**
|
|
79
|
+
* The tag to fetch the data from. Must be null if variable is set
|
|
80
|
+
*/
|
|
81
|
+
tag?: {
|
|
82
|
+
publicId: string;
|
|
83
|
+
} | null;
|
|
84
|
+
/**
|
|
85
|
+
* Used to override the global time-range for this specific query
|
|
86
|
+
*
|
|
87
|
+
* For example 2019-01-01T23:59:59Z
|
|
88
|
+
*/
|
|
89
|
+
to?: string;
|
|
90
|
+
/**
|
|
91
|
+
* The unit of the value
|
|
92
|
+
*/
|
|
93
|
+
unit?: string;
|
|
94
|
+
/**
|
|
95
|
+
* The variable to fetch the data from. Must be null if tag is set
|
|
96
|
+
*/
|
|
97
|
+
variable?: {
|
|
98
|
+
publicId: string;
|
|
99
|
+
} | null;
|
|
100
|
+
}
|
|
101
|
+
type Aggregrator = 'count' | 'distinct' | 'integral' | 'mean' | 'median' | 'mode' | 'spread' | 'stddev' | 'sum' | 'first' | 'last' | 'max' | 'min' | 'raw';
|
|
102
|
+
type Transform = 'difference';
|
|
103
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** @module LoggingDataValue */
|
|
2
|
+
export interface LoggingDataValue {
|
|
3
|
+
setDecimals(newDecimals: number): void;
|
|
4
|
+
/** @deprecated */
|
|
5
|
+
setFactor(newFactor: number): void;
|
|
6
|
+
setUnit(newUnit: string): void;
|
|
7
|
+
getValue(): boolean | number | string | null;
|
|
8
|
+
toString(): string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/** @module ResourceDataClient */
|
|
2
|
+
import type { ResourceDataQuery, ResourceDataQuerySelector, ResourceDataTemplateQuery } from './resource-data-query';
|
|
3
|
+
import type { ResourceDataResult } from './resource-data-result';
|
|
4
|
+
import type { ResourceData } from './resource-data';
|
|
5
|
+
interface ResultDataMap {
|
|
6
|
+
Agent: ResourceData.Agent;
|
|
7
|
+
Asset: ResourceData.Asset;
|
|
8
|
+
Branding: ResourceData.Branding;
|
|
9
|
+
CustomPropertyList: ResourceData.CustomProperty[];
|
|
10
|
+
GroupList: ResourceData.Group[];
|
|
11
|
+
MyUser: ResourceData.MyUser;
|
|
12
|
+
PagePage: ResourceData.PagePage;
|
|
13
|
+
PageVersion: ResourceData.PageVersion;
|
|
14
|
+
}
|
|
15
|
+
export interface ResourceDataClient {
|
|
16
|
+
destroy(): void;
|
|
17
|
+
/**
|
|
18
|
+
* @returns {function()} Returns a deregistration function for the listener.
|
|
19
|
+
*/
|
|
20
|
+
query<T extends ResourceDataQuerySelector>(query: ResourceDataQuery<T> | [ResourceDataQuery<T>], listener: (results: [ResourceDataResult<ResultDataMap[T]>]) => any): () => void;
|
|
21
|
+
query<T1 extends ResourceDataQuerySelector, T2 extends ResourceDataQuerySelector>(query: [ResourceDataQuery<T1>, ResourceDataQuery<T2>], listener: (results: [ResourceDataResult<ResultDataMap[T1]>, ResourceDataResult<ResultDataMap[T2]>]) => any): () => void;
|
|
22
|
+
query<T1 extends ResourceDataQuerySelector, T2 extends ResourceDataQuerySelector, T3 extends ResourceDataQuerySelector>(query: [ResourceDataQuery<T1>, ResourceDataQuery<T2>, ResourceDataQuery<T3>], listener: (results: [
|
|
23
|
+
ResourceDataResult<ResultDataMap[T1]>,
|
|
24
|
+
ResourceDataResult<ResultDataMap[T2]>,
|
|
25
|
+
ResourceDataResult<ResultDataMap[T3]>
|
|
26
|
+
]) => any): () => void;
|
|
27
|
+
query<T1 extends ResourceDataQuerySelector, T2 extends ResourceDataQuerySelector, T3 extends ResourceDataQuerySelector, T4 extends ResourceDataQuerySelector>(query: [ResourceDataQuery<T1>, ResourceDataQuery<T2>, ResourceDataQuery<T3>], listener: (results: [
|
|
28
|
+
ResourceDataResult<ResultDataMap[T1]>,
|
|
29
|
+
ResourceDataResult<ResultDataMap[T2]>,
|
|
30
|
+
ResourceDataResult<ResultDataMap[T3]>,
|
|
31
|
+
ResourceDataResult<ResultDataMap[T4]>
|
|
32
|
+
]) => any): () => void;
|
|
33
|
+
query<T1 extends ResourceDataQuerySelector, T2 extends ResourceDataQuerySelector, T3 extends ResourceDataQuerySelector, T4 extends ResourceDataQuerySelector>(query: [ResourceDataQuery<T1>, ResourceDataQuery<T2>, ResourceDataQuery<T3>, ResourceDataQuery<T4>], listener: (results: [
|
|
34
|
+
ResourceDataResult<ResultDataMap[T1]>,
|
|
35
|
+
ResourceDataResult<ResultDataMap[T2]>,
|
|
36
|
+
ResourceDataResult<ResultDataMap[T3]>,
|
|
37
|
+
ResourceDataResult<ResultDataMap[T4]>
|
|
38
|
+
]) => any): () => void;
|
|
39
|
+
query<T1 extends ResourceDataQuerySelector, T2 extends ResourceDataQuerySelector, T3 extends ResourceDataQuerySelector, T4 extends ResourceDataQuerySelector, T5 extends ResourceDataQuerySelector>(query: [
|
|
40
|
+
ResourceDataQuery<T1>,
|
|
41
|
+
ResourceDataQuery<T2>,
|
|
42
|
+
ResourceDataQuery<T3>,
|
|
43
|
+
ResourceDataQuery<T4>,
|
|
44
|
+
ResourceDataQuery<T5>
|
|
45
|
+
], listener: (results: [
|
|
46
|
+
ResourceDataResult<ResultDataMap[T1]>,
|
|
47
|
+
ResourceDataResult<ResultDataMap[T2]>,
|
|
48
|
+
ResourceDataResult<ResultDataMap[T3]>,
|
|
49
|
+
ResourceDataResult<ResultDataMap[T4]>,
|
|
50
|
+
ResourceDataResult<ResultDataMap[T5]>
|
|
51
|
+
]) => any): () => void;
|
|
52
|
+
/**
|
|
53
|
+
* @returns {function()} Returns a deregistration function for the listener.
|
|
54
|
+
*/
|
|
55
|
+
render(templates: ResourceDataTemplateQuery[], listener: (results: string[]) => void): () => void;
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/** @module ResourceDataQuery */
|
|
2
|
+
export type ResourceDataQuerySelector = 'Agent' | 'Asset' | 'Branding' | 'CustomPropertyList' | 'GroupList' | 'MyUser' | 'PagePage' | 'PageVersion';
|
|
3
|
+
export interface ResourceDataQuery<T = ResourceDataQuerySelector> {
|
|
4
|
+
/**
|
|
5
|
+
* String reference unique to the query call made by the client
|
|
6
|
+
* @ignore
|
|
7
|
+
*/
|
|
8
|
+
_clientRef?: string | string[];
|
|
9
|
+
/**
|
|
10
|
+
* List of fields to get from the resource, see the
|
|
11
|
+
* [developer documentation](https://developer.ixon.cloud/docs/using-the-resourcedataclient) for
|
|
12
|
+
* supported fields.
|
|
13
|
+
*
|
|
14
|
+
* If ommited, an empty object is returned
|
|
15
|
+
*/
|
|
16
|
+
fields?: string[];
|
|
17
|
+
/**
|
|
18
|
+
* The name of the resource, see the
|
|
19
|
+
* [developer documentation](https://developer.ixon.cloud/docs/using-the-resourcedataclient) for
|
|
20
|
+
* supported resources
|
|
21
|
+
*/
|
|
22
|
+
selector: T;
|
|
23
|
+
}
|
|
24
|
+
export interface ResourceDataTemplateQuery {
|
|
25
|
+
/**
|
|
26
|
+
* String reference unique to the query call made by the client
|
|
27
|
+
* @ignore
|
|
28
|
+
*/
|
|
29
|
+
_clientRef?: string | string[];
|
|
30
|
+
/**
|
|
31
|
+
* Template to be interpolated. The format should be [Mustache](https://mustache.github.io), see the
|
|
32
|
+
* [developer documentation](https://developer.ixon.cloud/docs/using-the-resourcedataclient) for
|
|
33
|
+
* supported fields. Only 'agent' is supported at the moment.
|
|
34
|
+
*
|
|
35
|
+
* If omitted, an empty object is returned
|
|
36
|
+
*/
|
|
37
|
+
template: string;
|
|
38
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { Agent, AgentUserAgent } from '../ixapi/resources/agent';
|
|
2
|
+
import type { AgentDataSource } from '../ixapi/resources/agent-data-source';
|
|
3
|
+
import type { AgentServer } from '../ixapi/resources/agent-server';
|
|
4
|
+
import type { AgentType } from '../ixapi/resources/agent-type';
|
|
5
|
+
import type { Asset } from '../ixapi/resources/asset';
|
|
6
|
+
import type { AssetType } from '../ixapi/resources/asset-type';
|
|
7
|
+
import type { Branding, BrandingTheme } from '../ixapi/resources/branding';
|
|
8
|
+
import type { CustomProperty } from '../ixapi/resources/custom-property';
|
|
9
|
+
import type { Location } from '../ixapi/resources/location';
|
|
10
|
+
import type { Group } from '../ixapi/resources/group';
|
|
11
|
+
import type { GroupType } from '../ixapi/resources/group-type';
|
|
12
|
+
import type { PagePage } from '../ixapi/resources/page-page';
|
|
13
|
+
import type { PageVersion } from '../ixapi/resources/page-version';
|
|
14
|
+
import type { MyUser, User } from '../ixapi/resources/user';
|
|
15
|
+
interface AgentResourceData extends Pick<Agent, 'custom' | 'description' | 'loggingMdrServer' | 'loggingMqttChangedOn' | 'macAddress' | 'mdrServer' | 'mqttChangedOn' | 'name' | 'publicId' | 'rateLimiting' | 'serialNumber'> {
|
|
16
|
+
activeVpnSession?: {
|
|
17
|
+
rscServer?: {
|
|
18
|
+
name?: string;
|
|
19
|
+
publicId: string;
|
|
20
|
+
} | null;
|
|
21
|
+
vpnAddress?: string;
|
|
22
|
+
} | null;
|
|
23
|
+
connectedUsers?: Pick<User, 'name' | 'publicId'>[];
|
|
24
|
+
dataSources?: Pick<AgentDataSource, 'name' | 'publicId' | 'slug'>[];
|
|
25
|
+
lastSeenAgentUserAgent?: Pick<AgentUserAgent, 'firmwareVersion' | 'hardware' | 'hardwareVersion' | 'publicId'> | null;
|
|
26
|
+
location?: Pick<Location, 'name'> | null;
|
|
27
|
+
memberships?: {
|
|
28
|
+
group?: {
|
|
29
|
+
publicId: string;
|
|
30
|
+
};
|
|
31
|
+
publicId: string;
|
|
32
|
+
}[];
|
|
33
|
+
servers?: Pick<AgentServer, 'custom' | 'name' | 'publicId' | 'serviceGroup' | 'type'>[];
|
|
34
|
+
type?: Pick<AgentType, 'name' | 'publicId'>;
|
|
35
|
+
}
|
|
36
|
+
interface AssetResourceData extends Pick<Asset, 'custom' | 'description' | 'name' | 'publicId'> {
|
|
37
|
+
memberships?: {
|
|
38
|
+
group?: {
|
|
39
|
+
publicId: string;
|
|
40
|
+
};
|
|
41
|
+
publicId: string;
|
|
42
|
+
}[];
|
|
43
|
+
resourceVariant?: Pick<AssetType, 'publicId'>;
|
|
44
|
+
}
|
|
45
|
+
interface BrandingResourceData extends Pick<Branding, 'logo' | 'publicId'> {
|
|
46
|
+
theme?: Pick<BrandingTheme, 'logoHasBackgroundColor'> | null;
|
|
47
|
+
}
|
|
48
|
+
type CustomPropertyResourceData = Pick<CustomProperty, 'flags' | 'name' | 'publicId' | 'resourceType' | 'resourceVariant' | 'scopeType' | 'slug'>;
|
|
49
|
+
interface GroupResourceData extends Pick<Group, 'name' | 'publicId'> {
|
|
50
|
+
type?: Pick<GroupType, 'name' | 'order' | 'publicId'> | null;
|
|
51
|
+
}
|
|
52
|
+
type MyUserResourceData = Pick<MyUser, 'custom' | 'name' | 'publicId' | 'unreadMessagesCount'>;
|
|
53
|
+
type PagePageResourceData = Pick<PagePage, 'order' | 'publicId'>;
|
|
54
|
+
interface PageVersionResourceData extends Pick<PageVersion, 'publicId' | 'title'> {
|
|
55
|
+
pagePages?: Pick<PagePage, 'order' | 'publicId'>[];
|
|
56
|
+
}
|
|
57
|
+
export declare namespace ResourceData {
|
|
58
|
+
type Agent = AgentResourceData;
|
|
59
|
+
type Asset = AssetResourceData;
|
|
60
|
+
type Branding = BrandingResourceData;
|
|
61
|
+
type CustomProperty = CustomPropertyResourceData;
|
|
62
|
+
type Group = GroupResourceData;
|
|
63
|
+
type MyUser = MyUserResourceData;
|
|
64
|
+
type PagePage = PagePageResourceData;
|
|
65
|
+
type PageVersion = PageVersionResourceData;
|
|
66
|
+
}
|
|
67
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface VpnClientStatus {
|
|
2
|
+
activeRequest: VpnClientStatusActiveRequest | '';
|
|
3
|
+
status: 'idle' | 'connecting' | 'connected';
|
|
4
|
+
}
|
|
5
|
+
export interface VpnClientStatusActiveRequest {
|
|
6
|
+
agentId: string;
|
|
7
|
+
companyId: string;
|
|
8
|
+
controllerId: string;
|
|
9
|
+
steps: VpnClientStatusActiveRequestStep[];
|
|
10
|
+
}
|
|
11
|
+
export interface VpnClientStatusActiveRequestStep {
|
|
12
|
+
name: string;
|
|
13
|
+
description: string;
|
|
14
|
+
status: VpnClientStatusActiveRequestStatus;
|
|
15
|
+
}
|
|
16
|
+
export interface VpnClientStatusActiveRequestStatus {
|
|
17
|
+
code: string;
|
|
18
|
+
message: string;
|
|
19
|
+
}
|