diff --git a/ui-ngx/src/app/shared/models/ace/service-completion.models.ts b/ui-ngx/src/app/shared/models/ace/service-completion.models.ts
index 9f4b391152..b9fcbd57e0 100644
--- a/ui-ngx/src/app/shared/models/ace/service-completion.models.ts
+++ b/ui-ngx/src/app/shared/models/ace/service-completion.models.ts
@@ -15,19 +15,93 @@
///
import { FunctionArg, FunctionArgType, TbEditorCompletions } from '@shared/models/ace/completion.models';
+import {Asset} from "@shared/models/asset.models";
+import {AttributeData} from "@shared/models/telemetry/telemetry.models";
+import {BaseData} from "@shared/models/base-data";
+import {EntityId} from "@shared/models/id/entity-id";
+import {AliasFilterType, EntityAlias, EntityAliasFilterResult} from "@shared/models/alias.models";
+import {Datasource} from "@shared/models/widget.models";
+import {AliasInfo, StateParams} from "@core/api/widget-api.models";
+import {ImportEntityData} from "@shared/models/entity.models";
+
export const entityIdHref = 'EntityId';
+export const baseDataHref = 'Base data';
+
+export const alarmDataHref = 'Alarm data';
+
+export const alarmDataQueryHref = 'Alarm data query';
+
+export const attributeScopeHref ='Attribute scope';
+
export const entityTypeHref = 'EntityType';
export const pageDataHref = 'PageData';
export const deviceInfoHref = 'DeviceInfo';
+export const assetInfoHref = 'AssetInfo'
+
+export const entityViewInfoHref = 'EntityViewInfo';
+
+export const entityRelationsQueryHref = 'EntityRelationsQuery';
+
+export const entityRelationInfoHref = 'EntityRelationInfo';
+
+export const dashboardInfoHref = 'DashboardInfo';
+
export const deviceHref = 'Device';
+export const assetHref = 'Asset';
+
+export const entityViewHref = 'entityView';
+
+export const entityRelationHref = 'Entity relation';
+
+export const dashboardHref = 'Dashboard';
+
+export const customerHref = 'Customer';
+
+export const attributeDataHref = 'Attribute Data';
+
+export const userHref = 'User';
+
+export const entityDataHref = 'Entity data';
+
+export const entityDataQueryHref = 'Entity Data Query';
+
export const deviceCredentialsHref = 'DeviceCredentials';
+export const entityFilterHref = 'Entity filter';
+
+export const entityInfoHref = 'Entity info';
+
+export const aliasEntityTypeHref = 'Alias Entity Type';
+
+export const aliasFilterTypeHref = 'Alias filter type';
+
+export const entityAliasHref = 'Entity alias';
+
+export const dataKeyTypeHref = 'Data key type';
+
+export const subscriptionInfoHref = 'Subscription info';
+
+export const dataSourceHref = 'Datasource';
+
+export const stateParamsHref = 'State params';
+
+export const aliasInfoHref = 'Alias info';
+
+export const entityAliasFilterHref = 'Entity alias filter'
+
+export const entityAliasFilterResultHref = 'Entity alias filter result'
+
+export const importEntityDataHref = 'Import entity data'
+
+export const importEntitiesResultInfoHref = 'Import entities result info'
+
+
export const pageLinkArg: FunctionArg = {
name: 'pageLink',
type: 'PageLink',
@@ -48,6 +122,13 @@ export function observableReturnType(objectType: string): FunctionArgType {
};
}
+export function observableReturnTypeVariable(variableType: string): FunctionArgType {
+ return {
+ type: `Observable<${variableType}>`,
+ description: `An Observable of ${variableType} variable.`
+ };
+}
+
export function observableVoid(): FunctionArgType {
return {
type: `Observable<void>`,
@@ -62,6 +143,21 @@ export function observableArrayReturnType(objectType: string): FunctionArgType {
};
}
+export function observableBaseDataReturnType(objectType: string): FunctionArgType {
+ return {
+ type: `Observable<${baseDataHref}<${objectType}>>`,
+ description: `An Observable of page result as a ${baseDataHref} holding array of ${objectType} objects.`
+ };
+}
+
+export function observableArrayBaseDataReturnType(objectType: string): FunctionArgType {
+ return {
+ type: `Observable<Array<${baseDataHref}<${objectType}>>>`,
+ description: `An Observable of page result as a ${baseDataHref} holding array of ${objectType} objects.`
+ };
+}
+
+
export function observablePageDataReturnType(objectType: string): FunctionArgType {
return {
type: `Observable<${pageDataHref}<${objectType}>>`,
@@ -69,6 +165,8 @@ export function observablePageDataReturnType(objectType: string): FunctionArgTyp
};
}
+
+
export const serviceCompletions: TbEditorCompletions = {
deviceService: {
description: 'Device Service API
' +
@@ -110,7 +208,7 @@ export const serviceCompletions: TbEditorCompletions = {
description: 'Get devices by ids',
meta: 'function',
args: [
- { name: 'deviceIds', type: 'Array', description: 'List of device ids'},
+ { name: 'deviceIds', type: `Array<string>`, description: 'List of device ids'},
requestConfigArg
],
return: observableArrayReturnType(deviceHref)
@@ -269,61 +367,1011 @@ export const serviceCompletions: TbEditorCompletions = {
description: 'Asset Service API
' +
'See AssetService for API reference.',
meta: 'service',
- type: 'AssetService'
+ type: 'AssetService',
+ children: {
+ getTenantAssetInfos: {
+ description: 'Get tenant asset',
+ meta: 'function',
+ args: [
+ pageLinkArg,
+ {name: 'type', type: 'string', optional: true, description: 'Asset type'},
+ requestConfigArg
+ ],
+ return: observablePageDataReturnType(assetInfoHref)
+ },
+ getCustomerAssetInfos: {
+ description: 'Get customer assets',
+ meta: 'function',
+ args: [
+ {name: 'customerId', type: 'string', description: 'Id of the customer'},
+ pageLinkArg,
+ {name: 'type', type: 'string', optional: true, description: 'Asset type'},
+ requestConfigArg
+ ],
+ return: observablePageDataReturnType(assetInfoHref)
+ },
+ getAsset: {
+ description: 'Get asset by id',
+ meta: 'function',
+ args: [
+ {name: 'assetId', type: 'string', description: 'Id of the asset'},
+ requestConfigArg
+ ],
+ return: observableReturnType(assetHref)
+ },
+ getAssets: {
+ description: 'Get assets by ids',
+ meta: 'function',
+ args: [
+ {name: 'assetIds', type: `Array<string>`, description: 'Ids of the assets'},
+ requestConfigArg
+ ],
+ return: observableArrayReturnType(assetHref)
+ },
+ getAssetInfo: {
+ description: 'Get asset info by id',
+ meta: 'function',
+ args: [
+ {name: 'assetId', type: 'string', description: 'Id of the assets'},
+ requestConfigArg
+ ],
+ return: observableReturnType(assetInfoHref)
+ },
+ saveAsset: {
+ description: 'Save asset',
+ meta: 'function',
+ args: [
+ {name: 'asset', type: assetHref, description: 'Asset object to save'},
+ requestConfigArg
+ ],
+ return: observableReturnType(assetHref)
+ },
+ deleteAsset: {
+ description: 'Delete asset by id',
+ meta: 'function',
+ args: [
+ {name: 'assetId', type: 'string', description: 'Id of the asset'},
+ requestConfigArg
+ ],
+ return: observableVoid()
+ },
+ getAssetTypes: {
+ description: 'Get all available assets types',
+ meta: 'function',
+ args: [
+ requestConfigArg
+ ],
+ return: observableArrayReturnType('EntitySubtype')
+ },
+ makeAssetPublic: {
+ description: 'Make asset public (available from public dashboard)',
+ meta: 'function',
+ args: [
+ {name: 'assetId', type: 'string', description: 'Id of the asset'},
+ requestConfigArg
+ ],
+ return: observableReturnType(assetHref)
+ },
+ assignAssetToCustomer: {
+ description: 'Assign asset to specific customer',
+ meta: 'function',
+ args: [
+ {name: 'customerId', type: 'string', description: 'Id of the customer'},
+ {name: 'assetId', type: 'string', description: 'Id of the asset'},
+ requestConfigArg
+ ],
+ return: observableReturnType(assetHref)
+ },
+ unassignAssetFromCustomer: {
+ description: 'Unassign asset from any customer',
+ meta: 'function',
+ args: [
+ {name: 'assetId', type: 'string', description: 'Id of the asset'},
+ requestConfigArg
+ ],
+ return: observableVoid()
+ },
+ findByQuery: {
+ description: 'Find assets by search query',
+ meta: 'function',
+ args: [
+ {
+ name: 'query',
+ type: 'AssetSearchQuery',
+ description: 'Asset search query object'
+ },
+ requestConfigArg
+ ],
+ return: observableArrayReturnType(assetHref)
+ },
+ findByName: {
+ description: 'Find asset by name',
+ meta: 'function',
+ args: [
+ {
+ name: 'assetName', type: 'string',
+ description: 'Search asset name'
+ },
+ requestConfigArg
+ ],
+ return: observableReturnType(assetHref)
+ },
+ },
},
entityViewService: {
description: 'EntityView Service API
' +
'See EntityViewService for API reference.',
meta: 'service',
- type: 'EntityViewService'
+ type: 'EntityViewService',
+ children: {
+ getTenantEntityViewInfos: {
+ description: 'Get tenant entity view infos',
+ meta: 'function',
+ args: [
+ pageLinkArg,
+ {name: 'type', type: 'string', optional: true, description: 'Entity view type'},
+ requestConfigArg
+ ],
+ return: observablePageDataReturnType(entityViewInfoHref)
+ },
+ getCustomerEntityViewInfos: {
+ description: 'Get customer entities view infos by id',
+ meta: 'function',
+ args: [
+ { name: 'customerId', type: 'string', description: 'Id of the customer'},
+ pageLinkArg,
+ { name: 'type', type: 'string', optional: true, description: 'Entity view type'},
+ requestConfigArg
+ ],
+ return: observablePageDataReturnType(entityViewInfoHref)
+ },
+ getEntityView: {
+ description: 'Get entity view by id',
+ meta: 'function',
+ args: [
+ { name: 'entityViewId', type: 'string', description: 'Id of the entity view'},
+ requestConfigArg
+ ],
+ return: observableReturnType(entityViewHref)
+ },
+ getEntityViewInfo: {
+ description: 'Get entity view info by id',
+ meta: 'function',
+ args: [
+ {name: 'entityViewId', type: 'string', description: 'Id of the entities view'},
+ requestConfigArg
+ ],
+ return: observableReturnType(entityViewInfoHref)
+ },
+ saveEntityView: {
+ description: 'Save entity view',
+ meta: 'function',
+ args: [
+ {name: 'entityView', type: entityViewHref, description: 'Entity view object to save'},
+ requestConfigArg
+ ],
+ return: observableReturnType(entityViewHref)
+ },
+ deleteEntityView: {
+ description: 'Delete entity view by id',
+ meta: 'function',
+ args: [
+ {name: 'entityViewId', type: 'string', description: 'Id of the entity view'},
+ requestConfigArg
+ ],
+ return: observableVoid()
+ },
+ getEntityViewTypes: {
+ description: 'Get all available entity view types',
+ meta: 'function',
+ args: [
+ requestConfigArg
+ ],
+ return: observableArrayReturnType('EntitySubtype')
+ },
+ makeEntityViewPublic: {
+ description: 'Make entity view public (available from public dashboard)',
+ meta: 'function',
+ args: [
+ {name: 'entityViewId', type: 'string', description: 'Id of the entity view'},
+ requestConfigArg
+ ],
+ return: observableReturnType(entityViewHref)
+ },
+ assignEntityViewToCustomer: {
+ description: 'Assign entity view to specific customer',
+ meta: 'function',
+ args: [
+ {name: 'customerId', type: 'string', description: 'Id of the customer'},
+ {name: 'entityViewId', type: 'string', description: 'Id of the entity viewId'},
+ requestConfigArg
+ ],
+ return: observableReturnType(entityViewHref)
+ },
+ unassignEntityViewFromCustomer: {
+ description: 'Unassign entity view from any customer',
+ meta: 'function',
+ args: [
+ {name: 'entityViewId', type: 'string', description: 'Id of the entity view'},
+ requestConfigArg
+ ],
+ return: observableVoid()
+ },
+ findByQuery: {
+ description: 'Find entities view by search query',
+ meta: 'function',
+ args: [
+ {
+ name: 'query',
+ type: 'AssetSearchQuery',
+ description: 'Asset search query object'
+ },
+ requestConfigArg
+ ],
+ return: observableArrayReturnType(entityViewHref)
+ },
+ }
},
customerService: {
description: 'Customer Service API
' +
'See CustomerService for API reference.',
meta: 'service',
- type: 'CustomerService'
+ type: 'CustomerService',
+ children: {
+ getCustomer: {
+ description: 'Get customer by id',
+ meta: 'function',
+ args: [
+ {name: 'customerId', type: 'string', description: 'Id of the customer'},
+ requestConfigArg
+ ],
+ return: observableReturnType(customerHref)
+ },
+ getCustomers: {
+ description: 'Get customers by ids',
+ meta: 'function',
+ args: [
+ pageLinkArg,
+ requestConfigArg
+ ],
+ return: observablePageDataReturnType(customerHref)
+ },
+ saveCustomer: {
+ description: 'Save customer',
+ meta: 'function',
+ args: [
+ {name: 'customer', type: customerHref, description: 'Customer object to save'},
+ requestConfigArg
+ ],
+ return: observableReturnType(customerHref)
+ },
+ deleteCustomer: {
+ description: 'Delete customer by id',
+ meta: 'function',
+ args: [
+ {name: 'customerId', type: 'string', description: 'Id of the customer'},
+ requestConfigArg
+ ],
+ return: observableVoid()
+ },
+ }
},
dashboardService: {
description: 'Dashboard Service API
' +
'See DashboardService for API reference.',
meta: 'service',
- type: 'DashboardService'
- },
- userService: {
- description: 'User Service API
' +
- 'See UserService for API reference.',
- meta: 'service',
- type: 'UserService'
- },
- attributeService: {
- description: 'Attribute Service API
' +
- 'See AttributeService for API reference.',
- meta: 'service',
- type: 'AttributeService'
- },
- entityRelationService: {
- description: 'Entity Relation Service API
' +
- 'See EntityRelationService for API reference.',
- meta: 'service',
- type: 'EntityRelationService'
- },
- entityService: {
- description: 'Entity Service API
' +
- 'See EntityService for API reference.',
- meta: 'service',
- type: 'EntityService'
- },
- dialogs: {
- description: 'Dialogs Service API
' +
- 'See DialogService for API reference.',
- meta: 'service',
- type: 'DialogService'
- },
- customDialog: {
- description: 'Custom Dialog Service API
' +
- 'See CustomDialogService for API reference.',
- meta: 'service',
- type: 'CustomDialogService'
+ type: 'DashboardService',
+ children: {
+ getTenantDashboards: {
+ description: 'Get tenant dashboard',
+ meta: 'function',
+ args: [
+ pageLinkArg,
+ requestConfigArg
+ ],
+ return: observablePageDataReturnType(dashboardInfoHref)
+ },
+ getTenantDashboardsByTenantId: {
+ description: 'Get tenant dashboards by id',
+ meta: 'function',
+ args: [
+ {name: 'tenantId', type: 'string', description: 'Id of the tenant'},
+ pageLinkArg
+ ],
+ return: observablePageDataReturnType(dashboardInfoHref)
+ },
+ getCustomerDashboards: {
+ description: 'Get customer dashboard by id',
+ meta: 'function',
+ args: [
+ {name: 'customerId', type: 'string', description: 'Id of the customer'},
+ pageLinkArg,
+ requestConfigArg
+ ],
+ return: observablePageDataReturnType(dashboardInfoHref)
+ },
+ getDashboard: {
+ description: 'Get dashboard by id',
+ meta: 'function',
+ args: [
+ {name: 'dashboardId', type: 'string', description: 'Id of the dashboard'},
+ requestConfigArg
+ ],
+ return: observableReturnType(dashboardHref)
+ },
+ getDashboardInfo: {
+ description: 'Get dashboard info by id',
+ meta: 'function',
+ args: [
+ {name: 'dashboardId', type: 'string', description: 'Id of the dashboard'},
+ requestConfigArg
+ ],
+ return: observableReturnType(dashboardInfoHref)
+ },
+ saveDashboard: {
+ description: 'Save dashboard',
+ meta: 'function',
+ args: [
+ {name: 'dashboard', type: dashboardHref, description: 'Dashboard object to save'},
+ requestConfigArg
+ ],
+ return: observableReturnType(dashboardHref)
+ },
+ deleteDashboard: {
+ description: 'Delete dashboard by id',
+ meta: 'function',
+ args: [
+ {name: 'dashboardId', type: 'string', description: 'Id of the entity view'},
+ requestConfigArg
+ ],
+ return: observableVoid()
+ },
+ assignDashboardToCustomer: {
+ description: 'Assign dashboard to specific customer',
+ meta: 'function',
+ args: [
+ {name: 'customerId', type: 'string', description: 'Id of the customer'},
+ {name: 'dashboardId', type: 'string', description: 'Id of the dashboard'},
+ requestConfigArg
+ ],
+ return: observableReturnType(dashboardHref)
+ },
+ unassignDashboardFromCustomer: {
+ description: 'Unassign dashboard from any customer',
+ meta: 'function',
+ args: [
+ {name: 'customerId', type: 'string', description: 'Id of the customer'},
+ {name: 'dashboardId', type: 'string', description: 'Id of the dashboard'},
+ requestConfigArg
+ ],
+ return: observableVoid()
+ },
+ makeDashboardPublic: {
+ description: 'Make dashboard public by id',
+ meta: 'function',
+ args: [
+ {name: 'dashboardId', type: 'string', description: 'Id of the dashboard'},
+ requestConfigArg
+ ],
+ return: observableReturnType(dashboardHref)
+ },
+ makeDashboardPrivate: {
+ description: 'Make dashboard private by id',
+ meta: 'function',
+ args: [
+ {name: 'dashboardId', type: 'string', description: 'Id of the dashboard'},
+ requestConfigArg
+ ],
+ return: observableReturnType(dashboardHref)
+ },
+ updateDashboardCustomers: {
+ description: 'Update dashboard by id',
+ meta: 'function',
+ args: [
+ {name: 'dashboardId', type: 'string', description: 'Id of the dashboard'},
+ {name: 'customerIds', type: `Array<string>`, description: 'Ids of the customers'},
+ requestConfigArg
+ ],
+ return: observableReturnType(dashboardHref)
+ },
+ addDashboardCustomers: {
+ description: 'Add dashboard customers by ids',
+ meta: 'function',
+ args: [
+ {name: 'dashboardId', type: 'string', description: 'Id of the dashboard'},
+ {name: 'customerIds', type: `Array<string>`, description: 'Ids of the customers'},
+ requestConfigArg
+ ],
+ return: observableReturnType(dashboardHref)
+ },
+ removeDashboardCustomers: {
+ description: 'Remove dashboard customers dy ids',
+ meta: 'function',
+ args: [
+ {name: 'dashboardId', type: 'string', description: 'Id of the dashboard'},
+ {name: 'customerIds', type: `Array<string>`, description: 'Id of the customers'},
+ requestConfigArg
+ ],
+ return: observableArrayReturnType(dashboardHref)
+ },
+ getPublicDashboardLink: {
+ description: 'Get public dashboard link',
+ meta: 'function',
+ args: [
+ {name: 'dashboard', type: dashboardInfoHref, description: 'dashboard info'},
+ ],
+ return: {
+ type: `string|null`,
+ description: `Returns dashboard url`
+ }
+ },
+ getServerTimeDiff: {
+ description: 'remove dashboard customers ',
+ meta: 'function',
+ args: [
+ ],
+ return: observableReturnTypeVariable('number')
+ },
+ }
+ },
+ userService: {
+ description: 'User Service API
' +
+ 'See UserService for API reference.',
+ meta: 'service',
+ type: 'UserService',
+ children: {
+ getUsers: {
+ description: 'Get users',
+ meta: 'function',
+ args: [
+ pageLinkArg,
+ requestConfigArg
+ ],
+ return: observablePageDataReturnType(userHref)
+ },
+ getTenantAdmins: {
+ description: 'Get tenant admins by id',
+ meta: 'function',
+ args: [
+ {name: 'tenantId', type: 'string', description: 'Id of the tenant'},
+ pageLinkArg,
+ requestConfigArg
+ ],
+ return: observablePageDataReturnType(userHref)
+ },
+ getCustomerUsers: {
+ description: 'Get customer users by id',
+ meta: 'function',
+ args: [
+ {name: 'customerId', type: 'string', description: 'id of the customer'},
+ pageLinkArg,
+ requestConfigArg
+ ],
+ return: observablePageDataReturnType(userHref)
+ },
+ getUser: {
+ description: 'Get user by id',
+ meta: 'function',
+ args: [
+ {name: 'userId', type: 'string', description: 'id of the user'},
+ requestConfigArg
+ ],
+ return: observableReturnType(userHref)
+ },
+ saveUser: {
+ description: 'Save user',
+ meta: 'function',
+ args: [
+ {name: 'user', type: userHref, description: 'User object to save'},
+ requestConfigArg
+ ],
+ return: observableReturnType(userHref)
+ },
+ deleteUser: {
+ description: 'Delete user by id',
+ meta: 'function',
+ args: [
+ {name: 'userId', type: 'string', description: 'Id of the user'},
+ requestConfigArg
+ ],
+ return: observableVoid()
+ },
+ setUserCredentialsEnabled: {
+ description: 'Set user credentials enabled by id',
+ meta: 'function',
+ args: [
+ {name: 'userId', type: 'string', description: 'Id of the user'},
+ {name: 'userCredentialsEnabled', type: 'boolean', description: 'User credentials enabled'},
+ requestConfigArg
+ ],
+ return: observableReturnType(userHref)
+ },
+ getActivationLink: {
+ description: 'Get activation link by id',
+ meta: 'function',
+ args: [
+ {name: 'userId', type: 'string', description: 'Id of the user'},
+ requestConfigArg
+ ],
+ return:observableReturnTypeVariable('string')
+ },
+ sendActivationEmail: {
+ description: 'Send activation email',
+ meta: 'function',
+ args: [
+ {name: 'email', type: 'string', description: 'Email of the user'},
+ requestConfigArg
+ ],
+ return: observableVoid()
+ },
+ }
+ },
+ entityRelationService: {
+ description: 'Entity Relation Service API
' +
+ 'See EntityRelationService for API reference.',
+ meta: 'service',
+ type: 'EntityRelationService',
+ children: {
+ saveRelation: {
+ description: 'Save relation',
+ meta: 'function',
+ args: [
+ {name: 'relation', type: entityRelationHref, description: 'Relation object to save'},
+ requestConfigArg
+ ],
+ return: observableReturnType(entityRelationHref)
+ },
+ deleteRelation: {
+ description: 'Delete relation by ids',
+ meta: 'function',
+ args: [
+ {name: 'fromId', type: entityIdHref, description: 'From-id'},
+ {name: 'relationType', type: 'string', description: 'Relation type'},
+ {name: 'toId', type: entityIdHref, description: 'To-id'},
+ requestConfigArg
+ ],
+ return: observableVoid()
+ },
+ deleteRelations: {
+ description: 'Delete relations by entity id',
+ meta: 'function',
+ args: [
+ {name: 'entityId', type: entityIdHref, description: 'Id to the entity'},
+ {name: 'relationType', type: 'string', description: 'Relation type'},
+ requestConfigArg
+ ],
+ return: observableVoid()
+ },
+ getRelation: {
+ description: 'Get relation by ids',
+ meta: 'function',
+ args: [
+ {name: 'fromId', type: entityIdHref, description: 'From-id'},
+ {name: 'relationType', type: 'string', description: 'Relation type'},
+ {name: 'toId', type: entityIdHref, description: 'To-id'},
+ requestConfigArg
+ ],
+ return: observableReturnType(entityRelationHref)
+ },
+ findByFrom: {
+ description: 'Find by from-id',
+ meta: 'function',
+ args: [
+ {name: 'fromId', type: entityIdHref, description: 'From-id'},
+ requestConfigArg
+ ],
+ return: observableArrayReturnType(entityRelationHref)
+ },
+ findInfoByFrom: {
+ description: 'Find info by from-id',
+ meta: 'function',
+ args: [
+ {name: 'fromId', type: entityIdHref, description: 'From-id'},
+ requestConfigArg
+ ],
+ return: observableArrayReturnType(entityRelationInfoHref)
+ },
+ findByFromAndType: {
+ description: 'Find by from-id and relation type',
+ meta: 'function',
+ args: [
+ {name: 'fromId', type: entityIdHref, description: 'From-id'},
+ {name: 'relationType', type: 'string', description: 'Relation type'},
+ requestConfigArg
+ ],
+ return: observableArrayReturnType(entityRelationHref)
+ },
+ findByTo: {
+ description: 'Find by to-id',
+ meta: 'function',
+ args: [
+ {name: 'toId', type: entityIdHref, description: 'To-id'},
+ requestConfigArg
+ ],
+ return: observableArrayReturnType(entityRelationHref)
+ },
+ findInfoByTo: {
+ description: 'Find info by to-id',
+ meta: 'function',
+ args: [
+ {name: 'toId', type: entityIdHref, description: 'To-id'},
+ requestConfigArg
+ ],
+ return: observableArrayReturnType(entityRelationInfoHref)
+ },
+ findByToAndType: {
+ description: 'Find by to-id and relation type',
+ meta: 'function',
+ args: [
+ {name: 'toId', type: entityIdHref, description: 'To-id'},
+ {name: 'relationType', type: 'string', description: 'Relation type'},
+ requestConfigArg
+ ],
+ return: observableArrayReturnType(entityRelationHref)
+ },
+ findByQuery: {
+ description: 'Find by query',
+ meta: 'function',
+ args: [
+ {name: 'query', type: entityRelationsQueryHref, description: 'Query'},
+ requestConfigArg
+ ],
+ return: observableArrayReturnType(entityRelationHref)
+ },
+ findInfoByQuery: {
+ description: 'Find info by query',
+ meta: 'function',
+ args: [
+ {name: 'query', type: entityRelationsQueryHref, description: 'Query'},
+ requestConfigArg
+ ],
+ return: observableArrayReturnType(entityRelationInfoHref)
+ },
+ }
+ },
+ attributeService: {
+ description: 'Attribute Service API
' +
+ 'See AttributeService for API reference.',
+ meta: 'service',
+ type: 'AttributeService',
+ children: {
+ getEntityAttributes: {
+ description: 'Get entity attributes by id',
+ meta: 'function',
+ args: [
+ {name: 'entityId', type: entityIdHref, description: 'Id of the entity'},
+ {name: 'attributeScope', type: attributeScopeHref, description: 'Atribute scope'},
+ {name: 'keys', type:`Array<string>`, description: 'Array of the keys'},
+ requestConfigArg
+ ],
+ return: observableArrayReturnType(attributeDataHref)
+ },
+ deleteEntityAttributes: {
+ description: 'Delete entity attributes by id',
+ meta: 'function',
+ args: [
+ {name: 'entityId', type: entityIdHref, description: 'Id of the entity'},
+ {name: 'attributeScope', type: attributeScopeHref, description: 'Atribute scope'},
+ {name: 'attributes', type: `array<${attributeDataHref}>`, description: 'Array of the attributes'},
+ requestConfigArg
+ ],
+ return: observableReturnTypeVariable('any')
+ },
+ deleteEntityTimeseries: {
+ description: 'Delete entity timeseries by id',
+ meta: 'function',
+ args: [
+ {name: 'entityId', type: entityIdHref, description: 'Id of the entity'},
+ {name: 'timeseries', type: `Array<${attributeDataHref}>>`, description: 'Array of the timeseries'},
+ {name: 'deleteAllDataForKeys', type: 'boolean',optional: true, description: 'Delete all data for keys'},
+ requestConfigArg
+ ],
+ return:observableReturnTypeVariable('any')
+ },
+ saveEntityAttributes: {
+ description: 'Save entity attributes',
+ meta: 'function',
+ args: [
+ {name: 'entityId', type: entityIdHref, description: 'Id of the entity'},
+ {name: 'attributeScope', type: attributeScopeHref, description: 'Attribute scope'},
+ {name: 'attributes', type: 'Array<${attributeDataHref}>>', description: 'Array of the attributes'},
+ requestConfigArg
+ ],
+ return: observableReturnTypeVariable('any')
+ },
+ saveEntityTimeseries: {
+ description: 'Save entity timeseries',
+ meta: 'function',
+ args: [
+ {name: 'entityId', type: entityIdHref, description: 'Id of the entity'},
+ {name: 'timeseriesScope', type: 'string', description: 'Timeseries scope'},
+ {name: 'timeseries', type: `Array<attributeDataHref>`, description: 'Array of the timeseries'},
+ requestConfigArg
+ ],
+ return:observableReturnTypeVariable('any')
+ },
+ }
+ },
+ entityService: {
+ description: 'Entity Service API
' +
+ 'See EntityService for API reference.',
+ meta: 'service',
+ type: 'EntityService',
+ children: {
+ getEntity: {
+ description: 'Get entity by id',
+ meta: 'function',
+ args: [
+ {name: 'entityType', type: entityTypeHref, description: 'Entity type'},
+ {name: 'entityId', type: 'string', description: 'Id of the entity'},
+ requestConfigArg
+ ],
+ return:observableBaseDataReturnType(entityIdHref)
+ },
+ getEntities: {
+ description: 'Get entities by ids',
+ meta: 'function',
+ args: [
+ {name: 'entityType', type: entityTypeHref, description: 'Entity type'},
+ {name: 'entityIds', type: `Array<string>`, description: 'Ids of the entities'},
+ requestConfigArg
+ ],
+ return:observableArrayBaseDataReturnType(entityIdHref)
+ },
+ getEntitiesByNameFilter: {
+ description: 'Get entities by name filter',
+ meta: 'function',
+ args: [
+ {name: 'entityType', type: entityTypeHref, description: 'Entity type'},
+ {name: 'entityNameFilter', type: 'string', description: 'Name filter of the entity'},
+ {name: 'pageSize', type: 'number', description: 'Size of the page'},
+ {name: 'subType', type: 'string',optional: true, description: 'Subtype'},
+ requestConfigArg
+ ],
+ return:observableArrayBaseDataReturnType(entityIdHref)
+ },
+ findEntityDataByQuery: {
+ description: 'Find entity data by query',
+ meta: 'function',
+ args: [
+ {name: 'query', type: entityDataQueryHref, description: 'Query'},
+
+ requestConfigArg
+ ],
+ return:observablePageDataReturnType(entityDataHref)
+ },
+ findAlarmDataByQuery: {
+ description: 'Find alarm data by query',
+ meta: 'function',
+ args: [
+ {name: 'query', type: alarmDataQueryHref, description: 'Query'},
+ requestConfigArg
+ ],
+ return:observablePageDataReturnType(alarmDataHref)
+ },
+ findEntityInfosByFilterAndName: {
+ description: 'Find entity infos by filter and name',
+ meta: 'function',
+ args: [
+ {name: 'filter', type: entityFilterHref, description: 'Filter of the entity'},
+ {name: 'searchText', type: 'string', description: 'Search text'},
+ requestConfigArg
+ ],
+ return:observablePageDataReturnType(entityInfoHref)
+ },
+ findSingleEntityInfoByEntityFilter: {
+ description: 'Find single entity infos by filter of the entity ',
+ meta: 'function',
+ args: [
+ {name: 'filter', type: entityFilterHref, description: 'Filter of the entity'},
+ {name: 'searchText', type: 'string', description: 'search text'},
+ requestConfigArg
+ ],
+ return:observableReturnType(entityInfoHref)
+ },
+ getAliasFilterTypesByEntityTypes: {
+ description: 'Get alias filter types by entity type',
+ meta: 'function',
+ args: [
+ {name: 'entityTypes', type:`Array<${entityTypeHref}|${aliasEntityTypeHref}>`, description: 'Entity types'},
+ {name: 'searchText', type: 'string', description: 'Search text'}
+ ],
+ return:{
+ type:`Array<${aliasFilterTypeHref}$gt;`,
+ description:`Array of ${aliasFilterTypeHref} objects`
+ }
+ },
+ filterAliasByEntityTypes: {
+ description: 'Filter alias by entity type',
+ meta: 'function',
+ args: [
+ {name: 'entityAlias', type:entityAliasHref, description: 'Alias of the entity'},
+ {name: 'entityTypes', type:`Array<${entityTypeHref}|${aliasEntityTypeHref}>`, description: 'Entity types'}
+ ],
+ return:{
+ type:'boolean',
+ description:`Returns boolean variable based on the filter`
+ }
+ },
+ prepareAllowedEntityTypesList: {
+ description: 'Prepare allowed types of the entity list',
+ meta: 'function',
+ args: [
+ {name: 'allowedEntityTypes', type:`Array<${entityTypeHref}|${aliasEntityTypeHref}>`, description: 'Entity types'},
+ {name: 'useAliasEntityTypes', type:'boolean', description: 'Use alias entity types'},
+ ],
+ return:{
+ type:`Array<${entityTypeHref}|${aliasEntityTypeHref}>`,
+ description:`Returns entity types array`
+ }
+ },
+ getEntityKeys: {
+ description: 'Get entity keys by id',
+ meta: 'function',
+ args: [
+ {name: 'entityId', type:entityIdHref, description: 'id of the entity'},
+ {name: 'query', type:'string', description: 'Query'},
+ {name: 'type', type:dataKeyTypeHref, description: 'Query'},
+ requestConfigArg
+ ],
+ return:{
+ type:`Observable<Array<string>>`,
+ description:`An Observable of string variable.`
+ }
+ //observableArrayReturnType('string')
+ },
+ createDatasourcesFromSubscriptionsInfo: {
+ description: 'Create database from subscriptions info',
+ meta: 'function',
+ args: [
+ {name: 'subscriptionsInfo', type:'array', description: 'Subscriptions info'}
+ ],
+ return:{
+ type:`Array<${dataSourceHref}>`,
+ description:`Array of ${dataSourceHref} objects`
+ }
+ },
+ createAlarmSourceFromSubscriptionInfo: {
+ description: 'Create alarm source from subscriptions info',
+ meta: 'function',
+ args: [
+ {name: 'subscriptionInfo', type:subscriptionInfoHref, description: 'Subscription info'}
+ ],
+ return:{
+ type:`${dataSourceHref}`,
+ description:`${dataSourceHref} object`
+ }
+ },
+ resolveAlias: {
+ description: 'Resolve alias',
+ meta: 'function',
+ args: [
+ {name: 'entityAlias', type:entityAliasHref, description: 'Alias of the entity'},
+ {name: 'stateParams', type:stateParamsHref, description: 'State params'},
+ ],
+ return:observableReturnType(aliasInfoHref)
+ },
+ resolveAliasFilter: {
+ description: 'Resolve alias filter',
+ meta: 'function',
+ args: [
+ {name: 'filter', type:entityAliasFilterHref, description: 'Entity alias filter'},
+ {name: 'stateParams', type:stateParamsHref, description: 'State params'},
+ ],
+ return:observableReturnType(entityAliasFilterResultHref)
+ },
+ checkEntityAlias: {
+ description: 'Check entity alias',
+ meta: 'function',
+ args: [
+ {name: 'entityAlias', type:entityAliasHref, description: 'Alias of the entity'},
+ ],
+ return:observableReturnTypeVariable('boolean')
+ // observableReturnType('boolean')
+ },
+ saveEntityParameters: {
+ description: 'Save entity parameters',
+ meta: 'function',
+ args: [
+ {name: 'entityType', type:entityTypeHref, description: 'Entity type'},
+ {name: 'entityData', type:importEntityDataHref, description: 'Data of the entity'},
+ {name: 'update', type:'boolean', description: 'Update'},
+ requestConfigArg
+ ],
+ return:observableReturnType(importEntitiesResultInfoHref)
+ },
+ saveEntityData: {
+ description: 'Save entity data',
+ meta: 'function',
+ args: [
+ {name: 'entityId', type:entityIdHref, description: 'Id of the entity'},
+ {name: 'entityData', type:importEntityDataHref, description: 'Data of the entity'},
+ requestConfigArg
+ ],
+ return:observableReturnTypeVariable('any')
+
+ //observableReturnType('any')
+ },
+ }
+ },
+ dialogs: {
+ description: 'Dialogs Service API
' +
+ 'See DialogService for API reference.',
+ meta: 'service',
+ type: 'DialogService',
+ children: {
+ confirm: {
+ description: 'Confirm',
+ meta: 'function',
+ args: [
+ {name: 'title', type:'string', description: 'Title'},
+ {name: 'message', type:'string', description: 'Message'},
+ {name: 'cancel', type:'string',optional: true, description: 'Cancel'},
+ {name: 'ok', type:'string',optional: true, description: 'Ok'},
+ {name: 'fullscreen', type:'boolean',optional: true, description: 'Fullscreen'},
+ ],
+ return:observableReturnTypeVariable('boolean')
+ },
+ alert: {
+ description: 'Alert',
+ meta: 'function',
+ args: [
+ {name: 'title', type:'string', description: 'Title'},
+ {name: 'message', type:'string', description: 'Message'},
+ {name: 'ok', type:'string',optional: true, description: 'Ok'},
+ {name: 'fullscreen', type:'boolean',optional: true, description: 'Fullscreen'},
+ ],
+ return:observableReturnTypeVariable('boolean')
+ },
+ colorPicker: {
+ description: 'Color picker',
+ meta: 'function',
+ args: [
+ {name: 'color', type:'string', description: 'Сolor'},
+ ],
+ return:observableReturnTypeVariable('string')
+ },
+ materialIconPicker: {
+ description: 'Material icon picker',
+ meta: 'function',
+ args: [
+ {name: 'icon', type:'string', description: 'Icon'},
+ ],
+ return:observableReturnTypeVariable('string')
+ },
+ forbidden: {
+ description: 'Forbidden',
+ meta: 'function',
+ args: [
+ ],
+ return:observableReturnTypeVariable('boolean')
+ },
+ todo: {
+ description: 'To do',
+ meta: 'function',
+ args: [
+ ],
+ return:observableReturnTypeVariable('any')
+ },
+ }
+ },
+ customDialog: {
+ description: 'Custom Dialog Service API
' +
+ 'See CustomDialogService for API reference.',
+ meta: 'service',
+ type: 'CustomDialogService',
+ children:{
+ customDialog: {
+ description: 'Custom Dialog',
+ meta: 'function',
+ args: [
+ {name: 'template', type:'string', description: 'Template'},
+ {name: 'controller', type:'void', description: 'Controller'},
+ {name: 'data', type:'any', description: 'Data'},
+ ],
+ return:observableReturnTypeVariable('any')
+ },
+ }
},
date: {
description: 'Date Pipe
Formats a date value according to locale rules.
' +