@robotbas/robotcloud-client 0.0.3 → 0.0.4
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/helpers/index.d.mts +1 -1
- package/dist/helpers/index.d.ts +1 -1
- package/dist/helpers/index.js +14 -0
- package/dist/helpers/index.js.map +1 -1
- package/dist/helpers/index.mjs +14 -0
- package/dist/helpers/index.mjs.map +1 -1
- package/dist/{index-N24i1XMJ.d.mts → index-I3qNUoYH.d.mts} +4 -41
- package/dist/{index-N24i1XMJ.d.ts → index-I3qNUoYH.d.ts} +4 -41
- package/dist/index.d.mts +73 -17
- package/dist/index.d.ts +73 -17
- package/dist/index.js +14 -12
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +14 -12
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/types/RobotCloudClient.d.ts +1 -38
- package/types/helpers.d.ts +2 -1
- package/types/services-configuration.d.ts +22 -0
- package/types/services-data.d.ts +38 -0
package/dist/helpers/index.d.mts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { q as RobotCloudPermissionsHelper, r as robotCloudPermissionsHelper } from '../index-I3qNUoYH.mjs';
|
package/dist/helpers/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { q as RobotCloudPermissionsHelper, r as robotCloudPermissionsHelper } from '../index-I3qNUoYH.js';
|
package/dist/helpers/index.js
CHANGED
|
@@ -128,6 +128,20 @@ var RobotCloudPermissionsHelperImpl = class {
|
|
|
128
128
|
return false;
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
+
hasAppAccessLevel(project, required_application_access) {
|
|
132
|
+
switch (required_application_access) {
|
|
133
|
+
case "ADMIN":
|
|
134
|
+
return project.app_access_level == "ADMIN";
|
|
135
|
+
case "ADVANCED":
|
|
136
|
+
return project.app_access_level == "ADVANCED" || project.app_access_level == "ADMIN";
|
|
137
|
+
case "STANDARD":
|
|
138
|
+
return project.app_access_level == "STANDARD" || project.app_access_level == "ADVANCED" || project.app_access_level == "ADMIN";
|
|
139
|
+
case "BLOCKED":
|
|
140
|
+
return true;
|
|
141
|
+
default:
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
131
145
|
};
|
|
132
146
|
var robotCloudPermissionsHelper = new RobotCloudPermissionsHelperImpl();
|
|
133
147
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/helpers/index.ts","../../src/utils/logger.ts","../../src/robotCloudApi.ts","../../src/config.ts","../../src/robotCloudClient.ts","../../src/helpers/robotCloudPermissionsHelper.ts"],"sourcesContent":["export { robotCloudPermissionsHelper } from \"helpers/robotCloudPermissionsHelper\";\n\nexport type * from \"../../types/helpers\";","import { createConsola } from \"consola\";\nimport type { ConsolaOptions } from 'consola';\n\nexport function useLogger (tag?: string, options: Partial<ConsolaOptions> = { level: 1000 }) {\n return tag ? createConsola(options).withTag(tag) : createConsola(options)\n}","import axios from \"axios\"\nimport clientConfig from \"config\";\nimport { useLogger } from 'utils/logger';\n\nconst logger = useLogger(\"robotcloud-api\")\n\nconst robotcloudApi = axios.create();\n\nlet checkTokenPromise: Promise<string | undefined> | null = null;\nconst clearPromise = () => checkTokenPromise = null;\n\nasync function refreshToken(checkToken: () => Promise<string | undefined>) {\n const access_token = await checkToken();\n return access_token;\n}\n\n \n// Important to add interceptor once, inside a middleware are stacked in each request.\nrobotcloudApi.interceptors.request.use(\n async config => {\n logger.info(\"robotcloud api interceptor:\", config.url)\n if (!checkTokenPromise) {\n checkTokenPromise = refreshToken(clientConfig.checkToken).finally(clearPromise);\n }\n\n // When other request is checking token wait for it\n const token = await checkTokenPromise;\n if (!token) {\n return config\n }\n\n config.headers.authorization = `Bearer ${token}`;\n return config;\n },\n error => {\n logger.error(error)\n Promise.reject(error)\n });\n\nexport default robotcloudApi;\n","import robotcloudApi from \"robotCloudApi\";\n\nexport class RobotCloudClientConfig {\n private _baseUrl?: string;\n private _checkToken = async (): Promise<string> => { return ''}\n \n public tokenMinutesBeforeExpirationRenew: number = 20;\n \n\n set baseURL(value: string){\n robotcloudApi.defaults.baseURL = value\n this._baseUrl = value\n }\n \n get baseUrl(): string | undefined {\n return this._baseUrl\n }\n\n set checkToken(fun: () => Promise<string>) {\n this._checkToken = fun\n }\n\n get checkToken(): () => Promise<string> {\n return this._checkToken\n }\n}\n\nconst clientConfig = new RobotCloudClientConfig()\nexport default clientConfig","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from 'utils/logger';\nimport robotcloudApi from \"robotCloudApi\";\nimport { \n LocationServiceInstancesRequestParams, ProjectDetailsRequestParams, ProjectLocationsRequestParams, \n ProjectRequestParams, ProjectTagRequestParams, RobotCloudDeviceDetails, RobotCloudNamedItem, \n RobotCloudProject, RobotCloudProjectDetails, RobotCloudServiceType, RobotCloudServiceTypeDetails, RobotCloudUserDetails, \n RoomConsumes1DataEventValue, RoomGrouping1DataEventValue, \n RoomGrouping1InstanceDeviceConfig, ServiceInstanceDataRequestParams, \n ServiceInstancesRequestParams, \n SubsystemRequestParams\n} from \"../types/RobotCloudClient\";\nimport { RobotCloudServiceInstance, ServiceInstanceDetails } from \"../types/ServiceInstance\";\nimport { ClassifierDetails } from \"../types/ProjectClassifer\";\nimport { ProjectTag, ProjectTagTreeNode, ProjectTagsTree } from \"../types/ProjectTag\";\nimport { ServiceDataMeasurement, ServiceDataRequestParams } from \"../types/services\";\n\n\nconst logger = useLogger(\"robotcloud-client\")\n\n\n\ninterface RobotCloudLocationDetails {\n id: string;\n name: string;\n description: string;\n project: string;\n tags: string[]\n}\n\nexport const getLocationServiceInstances = (\n prjId: string,\n locId: string,\n service_type: RobotCloudServiceType,\n params?: LocationServiceInstancesRequestParams\n): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(`projects/${prjId}/locations/${locId}/services/${service_type}/instances`, {\n params,\n });\n}\n\n\n// USERS ENDPOINTS\nexport const getUser = (\n username: string\n ): Promise<AxiosResponse<RobotCloudUserDetails>> => {\n return robotcloudApi.get<RobotCloudUserDetails>(`users/${username}`);\n };\n\n// PROJECT ENDPOINTS\nexport const getProjects = (\n params?: ProjectRequestParams\n): Promise<AxiosResponse<RobotCloudProject[]>> => {\n return robotcloudApi.get<RobotCloudProject[]>(\"projects\", {\n params\n });\n};\n\nexport const getProjectDetails = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n): Promise<AxiosResponse<RobotCloudProjectDetails>> => {\n return robotcloudApi.get<RobotCloudProjectDetails>(`projects/${prjId}`, {\n params,\n });\n};\n\n// PROJECT SUBSYSTEMS ENDPOINTS\n\nexport const getProjectSubsystem = (\n prjId: string,\n subsysId: string\n) => {\n return robotcloudApi.get<RobotCloudNamedItem>(`projects/${prjId}/subsystems/${subsysId}`);\n}\n\nexport const getLocations = (\n prjId: string,\n params?: ProjectLocationsRequestParams\n): Promise<AxiosResponse<RobotCloudNamedItem[]>> => {\n return robotcloudApi.get<RobotCloudNamedItem[]>(`projects/${prjId}/locations`, {\n params,\n });\n};\n\nexport const getLocation = (\n locationId: string\n): Promise<AxiosResponse<RobotCloudLocationDetails>> => {\n return robotcloudApi.get<RobotCloudLocationDetails>(`locations/${locationId}`, { });\n};\n\nexport const getServiceInstances = (\n prjId: string,\n service_type: string,\n params?: ServiceInstancesRequestParams\n): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(`projects/${prjId}/services/${service_type}/instances`, {\n params,\n });\n}\n\nexport const getServiceInstance = (\n prjId: string,\n service_type: string,\n service_id: string\n) => {\n return robotcloudApi.get<ServiceInstanceDetails>(`projects/${prjId}/services/${service_type}/instances/${service_id}`);\n}\n\nexport const getClassifier = (\n classifierId: string\n) => {\n return robotcloudApi.get<ClassifierDetails>(`classifiers/${classifierId}`);\n}\n\nexport const getTags = (\n prjId: string,\n params?: ProjectTagRequestParams\n): Promise<AxiosResponse<ProjectTag[]>> => {\n logger.info(`Get project ${prjId} tags`)\n return robotcloudApi.get<ProjectTag[]>(`projects/${prjId}/tags`, {\n params,\n });\n};\n\nexport const getTagsTree = async (\n prjId: string,\n maxDepth: number = 2,\n params?: ProjectTagRequestParams\n): Promise<ProjectTagsTree> => {\n logger.info(`Get project ${prjId} tags tree`)\n if (!params) {\n params = {} as ProjectTagRequestParams \n }\n params.no_parent = true;\n\n const tags = await getTagsChildren(prjId, 0, undefined, undefined, maxDepth)\n return {root: tags} as ProjectTagsTree;\n};\n\nexport const getTagsChildren = async (\n prjId: string,\n level: number = 0,\n parent_id?: string,\n params?: ProjectTagRequestParams,\n maxDepth?: number\n): Promise<ProjectTagTreeNode[]> => {\n logger.debug(`Get project ${prjId} tags children: ${parent_id}`)\n if (!params) {\n params = {} as ProjectTagRequestParams \n }\n params.no_parent = !parent_id;\n params.parent_tag = parent_id;\n\n const tags = await getTags(prjId, params)\n if (tags.data.length == 0) {\n return [];\n }\n \n const response: ProjectTagTreeNode[] = []\n const requests: any[] = []\n for (let i = 0; i < tags.data.length; i++) {\n const element = tags.data[i]\n const node = {\n tag: element\n } as ProjectTagTreeNode;\n response.push(node)\n if (maxDepth && level < maxDepth) {\n requests.push(\n getTagsChildren(prjId, level + 1, element.id, params, maxDepth)\n )\n }\n }\n\n const responses = await Promise.all(requests)\n let i = 0;\n responses.forEach(element => {\n response[i].children = element\n i++\n });\n \n return response;\n\n}\n\n/* PROJECT DEVICES ENDPOINTS */\nexport const getDeviceDetails = (\n deviceId: string,\n): Promise<AxiosResponse<RobotCloudDeviceDetails>> => {\n return robotcloudApi.get<RobotCloudDeviceDetails>(`devices/${deviceId}`);\n}\n\n/* SERVICES ENDPOINTS */\nexport const getProjectServiceTypes = (\n prjId: string,\n params?: SubsystemRequestParams\n): Promise<AxiosResponse<RobotCloudServiceTypeDetails[]>> => {\n return robotcloudApi.get<RobotCloudServiceTypeDetails[]>(`projects/${prjId}/services`, {\n params,\n });\n}\n/* SERVICES INSTANCES DATA ENDPOINTS */\n\nexport const getRoomGrouping1ServiceData = (\n prjId: string,\n params?: ServiceDataRequestParams\n): Promise<AxiosResponse<ServiceDataMeasurement<RoomGrouping1DataEventValue>[]>> => {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGrouping1DataEventValue>[]>(\n `/projects/${prjId}/services/RoomGrouping_1/data`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n}\n\nexport const getRoomConsumesInstanceServiceData = (\n prjId: string,\n instanceId: string,\n params?: ServiceInstanceDataRequestParams\n): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1DataEventValue>>> => {\n return robotcloudApi.get<ServiceDataMeasurement<RoomConsumes1DataEventValue>>(\n `/projects/${prjId}/services/RoomConsumes_1/instances/${instanceId}/data`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n}\n\n\n/* SERVICES INSTANCES DEVICE INGORMATION ENDPOINTS */\n\n\nexport const getRoomGrouping1InstanceDeviceConfig = (\n prjId: string,\n instanceId: string,\n): Promise<AxiosResponse<RoomGrouping1InstanceDeviceConfig>> => {\n return robotcloudApi.put<RoomGrouping1InstanceDeviceConfig>(\n `/projects/${prjId}/services/RoomGrouping_1/instances/${instanceId}/configuration`\n )\n}\n","import * as robotCloudClient from \"robotCloudClient\";\nimport { RobotCloudPermissionsHelper } from \"../../types/helpers\";\nimport { ProjectAccessLevel, RobotCloudProjectDetails } from \"../../types/RobotCloudClient\";\n\n/**\n * Helper of robotcloud permissions\n * \n * > IMPORTANT! Don't place here any important logic. Only functions that might be used in frontend.\n */\nclass RobotCloudPermissionsHelperImpl implements RobotCloudPermissionsHelper {\n\n public async checkProjectAccess(prjId: string, required_project_access: ProjectAccessLevel): Promise<boolean> {\n\n const { data: project} = await robotCloudClient.getProjectDetails(prjId)\n if (project.access_level == required_project_access) {\n return true\n }\n \n return this.hasAccessLevel(project, required_project_access)\n }\n\n public hasAccessLevel(project: RobotCloudProjectDetails, required_project_access: ProjectAccessLevel) {\n\n switch (required_project_access) {\n case 'ADVANCED':\n return project.access_level == 'ADVANCED'\n case 'BASIC':\n return project.access_level == 'BASIC' || project.access_level == 'ADVANCED'\n case 'RESTRICTED':\n return project.access_level == 'RESTRICTED' || project.access_level == 'BASIC' || \n project.access_level == 'ADVANCED'\n case 'BLOCKED':\n return true \n default:\n return false\n }\n }\n}\n\nexport const robotCloudPermissionsHelper: RobotCloudPermissionsHelper = new RobotCloudPermissionsHelperImpl()"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,qBAA8B;AAGvB,SAAS,UAAW,KAAc,UAAmC,EAAE,OAAO,IAAK,GAAG;AACzF,SAAO,UAAM,8BAAc,OAAO,EAAE,QAAQ,GAAG,QAAI,8BAAc,OAAO;AAC5E;;;ACLA,mBAAkB;;;ACEX,IAAM,yBAAN,MAA6B;AAAA,EAA7B;AAEH,SAAQ,cAAc,YAA6B;AAAE,aAAO;AAAA,IAAE;AAE9D,SAAO,oCAA4C;AAAA;AAAA,EAGnD,IAAI,QAAQ,OAAc;AACtB,0BAAc,SAAS,UAAU;AACjC,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,IAAI,UAA8B;AAC9B,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,WAAW,KAA4B;AACvC,SAAK,cAAc;AAAA,EACvB;AAAA,EAEA,IAAI,aAAoC;AACpC,WAAO,KAAK;AAAA,EAChB;AACJ;AAEA,IAAM,eAAe,IAAI,uBAAuB;AAChD,IAAO,iBAAQ;;;ADxBf,IAAM,SAAS,UAAU,gBAAgB;AAEzC,IAAM,gBAAgB,aAAAA,QAAM,OAAO;AAEnC,IAAI,oBAAwD;AAC5D,IAAM,eAAe,MAAM,oBAAoB;AAE/C,eAAe,aAAa,YAA+C;AACvE,QAAM,eAAe,MAAM,WAAW;AACtC,SAAO;AACX;AAIA,cAAc,aAAa,QAAQ;AAAA,EAC/B,OAAM,WAAU;AACZ,WAAO,KAAK,+BAA+B,OAAO,GAAG;AACrD,QAAI,CAAC,mBAAmB;AACpB,0BAAoB,aAAa,eAAa,UAAU,EAAE,QAAQ,YAAY;AAAA,IAClF;AAGA,UAAM,QAAQ,MAAM;AACpB,QAAI,CAAC,OAAO;AACR,aAAO;AAAA,IACX;AAEA,WAAO,QAAQ,gBAAgB,UAAU,KAAK;AAC9C,WAAO;AAAA,EACX;AAAA,EACA,WAAS;AACL,WAAO,MAAM,KAAK;AAClB,YAAQ,OAAO,KAAK;AAAA,EAC1B;AAAC;AAEH,IAAO,wBAAQ;;;AEpBf,IAAMC,UAAS,UAAU,mBAAmB;AAwCrC,IAAM,oBAAoB,CAC/B,OACA,WACqD;AACrD,SAAO,sBAAc,IAA8B,YAAY,KAAK,IAAI;AAAA,IACtE;AAAA,EACF,CAAC;AACH;;;ACzDA,IAAM,kCAAN,MAA6E;AAAA,EAEzE,MAAa,mBAAmB,OAAe,yBAA+D;AAE1G,UAAM,EAAE,MAAM,QAAO,IAAI,MAAuB,kBAAkB,KAAK;AACvE,QAAI,QAAQ,gBAAgB,yBAAyB;AACjD,aAAO;AAAA,IACX;AAEA,WAAO,KAAK,eAAe,SAAS,uBAAuB;AAAA,EAC/D;AAAA,EAEO,eAAe,SAAmC,yBAA6C;AAElG,YAAQ,yBAAyB;AAAA,MAC7B,KAAK;AACD,eAAO,QAAQ,gBAAgB;AAAA,MACnC,KAAK;AACD,eAAO,QAAQ,gBAAgB,WAAW,QAAQ,gBAAgB;AAAA,MACtE,KAAK;AACD,eAAO,QAAQ,gBAAgB,gBAAgB,QAAQ,gBAAgB,WAC/D,QAAQ,gBAAgB;AAAA,MACpC,KAAK;AACD,eAAO;AAAA,MACX;AACI,eAAO;AAAA,IACf;AAAA,EACJ;AACJ;AAEO,IAAM,8BAA2D,IAAI,gCAAgC;","names":["axios","logger"]}
|
|
1
|
+
{"version":3,"sources":["../../src/helpers/index.ts","../../src/utils/logger.ts","../../src/robotCloudApi.ts","../../src/config.ts","../../src/robotCloudClient.ts","../../src/helpers/robotCloudPermissionsHelper.ts"],"sourcesContent":["export { robotCloudPermissionsHelper } from \"helpers/robotCloudPermissionsHelper\";\n\nexport type * from \"../../types/helpers\";","import { createConsola } from \"consola\";\nimport type { ConsolaOptions } from 'consola';\n\nexport function useLogger (tag?: string, options: Partial<ConsolaOptions> = { level: 1000 }) {\n return tag ? createConsola(options).withTag(tag) : createConsola(options)\n}","import axios from \"axios\"\nimport clientConfig from \"config\";\nimport { useLogger } from 'utils/logger';\n\nconst logger = useLogger(\"robotcloud-api\")\n\nconst robotcloudApi = axios.create();\n\nlet checkTokenPromise: Promise<string | undefined> | null = null;\nconst clearPromise = () => checkTokenPromise = null;\n\nasync function refreshToken(checkToken: () => Promise<string | undefined>) {\n const access_token = await checkToken();\n return access_token;\n}\n\n \n// Important to add interceptor once, inside a middleware are stacked in each request.\nrobotcloudApi.interceptors.request.use(\n async config => {\n logger.info(\"robotcloud api interceptor:\", config.url)\n if (!checkTokenPromise) {\n checkTokenPromise = refreshToken(clientConfig.checkToken).finally(clearPromise);\n }\n\n // When other request is checking token wait for it\n const token = await checkTokenPromise;\n if (!token) {\n return config\n }\n\n config.headers.authorization = `Bearer ${token}`;\n return config;\n },\n error => {\n logger.error(error)\n Promise.reject(error)\n });\n\nexport default robotcloudApi;\n","import robotcloudApi from \"robotCloudApi\";\n\nexport class RobotCloudClientConfig {\n private _baseUrl?: string;\n private _checkToken = async (): Promise<string> => { return ''}\n \n public tokenMinutesBeforeExpirationRenew: number = 20;\n \n\n set baseURL(value: string){\n robotcloudApi.defaults.baseURL = value\n this._baseUrl = value\n }\n \n get baseUrl(): string | undefined {\n return this._baseUrl\n }\n\n set checkToken(fun: () => Promise<string>) {\n this._checkToken = fun\n }\n\n get checkToken(): () => Promise<string> {\n return this._checkToken\n }\n}\n\nconst clientConfig = new RobotCloudClientConfig()\nexport default clientConfig","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from 'utils/logger';\nimport robotcloudApi from \"robotCloudApi\";\nimport { \n LocationServiceInstancesRequestParams, ProjectDetailsRequestParams, ProjectLocationsRequestParams, \n ProjectRequestParams, ProjectTagRequestParams, RobotCloudDeviceDetails, RobotCloudNamedItem, \n RobotCloudProject, RobotCloudProjectDetails, RobotCloudServiceType, RobotCloudServiceTypeDetails, RobotCloudUserDetails, \n RoomGrouping1DataEventValue, \n RoomGrouping1InstanceDeviceConfig, ServiceInstanceDataRequestParams, \n ServiceInstancesRequestParams, \n SubsystemRequestParams\n} from \"../types/RobotCloudClient\";\nimport { RobotCloudServiceInstance, ServiceInstanceDetails } from \"../types/ServiceInstance\";\nimport { ClassifierDetails } from \"../types/ProjectClassifer\";\nimport { ProjectTag, ProjectTagTreeNode, ProjectTagsTree } from \"../types/ProjectTag\";\nimport { ServiceDataMeasurement, ServiceDataRequestParams } from \"../types/services\";\nimport { RoomConsumes1Data } from \"../types/services-data\";\n\n\nconst logger = useLogger(\"robotcloud-client\")\n\n\n\ninterface RobotCloudLocationDetails {\n id: string;\n name: string;\n description: string;\n project: string;\n tags: string[]\n}\n\nexport const getLocationServiceInstances = (\n prjId: string,\n locId: string,\n service_type: RobotCloudServiceType,\n params?: LocationServiceInstancesRequestParams\n): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(`projects/${prjId}/locations/${locId}/services/${service_type}/instances`, {\n params,\n });\n}\n\n\n// USERS ENDPOINTS\nexport const getUser = (\n username: string\n ): Promise<AxiosResponse<RobotCloudUserDetails>> => {\n return robotcloudApi.get<RobotCloudUserDetails>(`users/${username}`);\n };\n\n// PROJECT ENDPOINTS\nexport const getProjects = (\n params?: ProjectRequestParams\n): Promise<AxiosResponse<RobotCloudProject[]>> => {\n return robotcloudApi.get<RobotCloudProject[]>(\"projects\", {\n params\n });\n};\n\nexport const getProjectDetails = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n): Promise<AxiosResponse<RobotCloudProjectDetails>> => {\n return robotcloudApi.get<RobotCloudProjectDetails>(`projects/${prjId}`, {\n params,\n });\n};\n\n// PROJECT SUBSYSTEMS ENDPOINTS\n\nexport const getProjectSubsystem = (\n prjId: string,\n subsysId: string\n) => {\n return robotcloudApi.get<RobotCloudNamedItem>(`projects/${prjId}/subsystems/${subsysId}`);\n}\n\nexport const getLocations = (\n prjId: string,\n params?: ProjectLocationsRequestParams\n): Promise<AxiosResponse<RobotCloudNamedItem[]>> => {\n return robotcloudApi.get<RobotCloudNamedItem[]>(`projects/${prjId}/locations`, {\n params,\n });\n};\n\nexport const getLocation = (\n locationId: string\n): Promise<AxiosResponse<RobotCloudLocationDetails>> => {\n return robotcloudApi.get<RobotCloudLocationDetails>(`locations/${locationId}`, { });\n};\n\nexport const getServiceInstances = (\n prjId: string,\n service_type: string,\n params?: ServiceInstancesRequestParams\n): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(`projects/${prjId}/services/${service_type}/instances`, {\n params,\n });\n}\n\nexport const getServiceInstance = (\n prjId: string,\n service_type: string,\n service_id: string\n) => {\n return robotcloudApi.get<ServiceInstanceDetails>(`projects/${prjId}/services/${service_type}/instances/${service_id}`);\n}\n\nexport const getClassifier = (\n classifierId: string\n) => {\n return robotcloudApi.get<ClassifierDetails>(`classifiers/${classifierId}`);\n}\n\nexport const getTags = (\n prjId: string,\n params?: ProjectTagRequestParams\n): Promise<AxiosResponse<ProjectTag[]>> => {\n logger.info(`Get project ${prjId} tags`)\n return robotcloudApi.get<ProjectTag[]>(`projects/${prjId}/tags`, {\n params,\n });\n};\n\nexport const getTagsTree = async (\n prjId: string,\n maxDepth: number = 2,\n params?: ProjectTagRequestParams\n): Promise<ProjectTagsTree> => {\n logger.info(`Get project ${prjId} tags tree`)\n if (!params) {\n params = {} as ProjectTagRequestParams \n }\n params.no_parent = true;\n\n const tags = await getTagsChildren(prjId, 0, undefined, undefined, maxDepth)\n return {root: tags} as ProjectTagsTree;\n};\n\nexport const getTagsChildren = async (\n prjId: string,\n level: number = 0,\n parent_id?: string,\n params?: ProjectTagRequestParams,\n maxDepth?: number\n): Promise<ProjectTagTreeNode[]> => {\n logger.debug(`Get project ${prjId} tags children: ${parent_id}`)\n if (!params) {\n params = {} as ProjectTagRequestParams \n }\n params.no_parent = !parent_id;\n params.parent_tag = parent_id;\n\n const tags = await getTags(prjId, params)\n if (tags.data.length == 0) {\n return [];\n }\n \n const response: ProjectTagTreeNode[] = []\n const requests: any[] = []\n for (let i = 0; i < tags.data.length; i++) {\n const element = tags.data[i]\n const node = {\n tag: element\n } as ProjectTagTreeNode;\n response.push(node)\n if (maxDepth && level < maxDepth) {\n requests.push(\n getTagsChildren(prjId, level + 1, element.id, params, maxDepth)\n )\n }\n }\n\n const responses = await Promise.all(requests)\n let i = 0;\n responses.forEach(element => {\n response[i].children = element\n i++\n });\n \n return response;\n\n}\n\n/* PROJECT DEVICES ENDPOINTS */\nexport const getDeviceDetails = (\n deviceId: string,\n): Promise<AxiosResponse<RobotCloudDeviceDetails>> => {\n return robotcloudApi.get<RobotCloudDeviceDetails>(`devices/${deviceId}`);\n}\n\n/* SERVICES ENDPOINTS */\nexport const getProjectServiceTypes = (\n prjId: string,\n params?: SubsystemRequestParams\n): Promise<AxiosResponse<RobotCloudServiceTypeDetails[]>> => {\n return robotcloudApi.get<RobotCloudServiceTypeDetails[]>(`projects/${prjId}/services`, {\n params,\n });\n}\n/* SERVICES INSTANCES DATA ENDPOINTS */\n\nexport const getRoomGrouping1ServiceData = (\n prjId: string,\n params?: ServiceDataRequestParams\n): Promise<AxiosResponse<ServiceDataMeasurement<RoomGrouping1DataEventValue>[]>> => {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGrouping1DataEventValue>[]>(\n `/projects/${prjId}/services/RoomGrouping_1/data`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n}\n\n/* SERVICES INSTANCES DEVICE INGORMATION ENDPOINTS */\n\n\nexport const getRoomGrouping1InstanceDeviceConfig = (\n prjId: string,\n instanceId: string,\n): Promise<AxiosResponse<RoomGrouping1InstanceDeviceConfig>> => {\n return robotcloudApi.put<RoomGrouping1InstanceDeviceConfig>(\n `/projects/${prjId}/services/RoomGrouping_1/instances/${instanceId}/configuration`\n )\n}\n","import * as robotCloudClient from \"robotCloudClient\";\nimport { RobotCloudPermissionsHelper } from \"../../types/helpers\";\nimport { \n AppAccessLevel, \n ProjectAccessLevel, \n RobotCloudProjectDetails \n} from \"../../types/RobotCloudClient\";\n\n/**\n * Helper of robotcloud permissions\n * \n * > IMPORTANT! Don't place here any important logic. Only functions that might be used in frontend.\n */\nclass RobotCloudPermissionsHelperImpl implements RobotCloudPermissionsHelper {\n\n public async checkProjectAccess(prjId: string, required_project_access: ProjectAccessLevel): Promise<boolean> {\n\n const { data: project} = await robotCloudClient.getProjectDetails(prjId)\n if (project.access_level == required_project_access) {\n return true\n }\n \n return this.hasAccessLevel(project, required_project_access)\n }\n\n public hasAccessLevel(project: RobotCloudProjectDetails, required_project_access: ProjectAccessLevel) {\n\n switch (required_project_access) {\n case 'ADVANCED':\n return project.access_level == 'ADVANCED'\n case 'BASIC':\n return project.access_level == 'BASIC' || project.access_level == 'ADVANCED'\n case 'RESTRICTED':\n return project.access_level == 'RESTRICTED' || project.access_level == 'BASIC' || \n project.access_level == 'ADVANCED'\n case 'BLOCKED':\n return true \n default:\n return false\n }\n }\n\n public hasAppAccessLevel(project: RobotCloudProjectDetails, required_application_access: AppAccessLevel): boolean {\n switch (required_application_access) {\n case 'ADMIN':\n return project.app_access_level == 'ADMIN'\n case 'ADVANCED':\n return project.app_access_level == 'ADVANCED' || project.app_access_level == 'ADMIN'\n case 'STANDARD':\n return project.app_access_level == 'STANDARD' || project.app_access_level == 'ADVANCED' || \n project.app_access_level == 'ADMIN'\n case 'BLOCKED':\n return true \n default:\n return false\n }\n }\n}\n\nexport const robotCloudPermissionsHelper: RobotCloudPermissionsHelper = new RobotCloudPermissionsHelperImpl()"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,qBAA8B;AAGvB,SAAS,UAAW,KAAc,UAAmC,EAAE,OAAO,IAAK,GAAG;AACzF,SAAO,UAAM,8BAAc,OAAO,EAAE,QAAQ,GAAG,QAAI,8BAAc,OAAO;AAC5E;;;ACLA,mBAAkB;;;ACEX,IAAM,yBAAN,MAA6B;AAAA,EAA7B;AAEH,SAAQ,cAAc,YAA6B;AAAE,aAAO;AAAA,IAAE;AAE9D,SAAO,oCAA4C;AAAA;AAAA,EAGnD,IAAI,QAAQ,OAAc;AACtB,0BAAc,SAAS,UAAU;AACjC,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,IAAI,UAA8B;AAC9B,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,WAAW,KAA4B;AACvC,SAAK,cAAc;AAAA,EACvB;AAAA,EAEA,IAAI,aAAoC;AACpC,WAAO,KAAK;AAAA,EAChB;AACJ;AAEA,IAAM,eAAe,IAAI,uBAAuB;AAChD,IAAO,iBAAQ;;;ADxBf,IAAM,SAAS,UAAU,gBAAgB;AAEzC,IAAM,gBAAgB,aAAAA,QAAM,OAAO;AAEnC,IAAI,oBAAwD;AAC5D,IAAM,eAAe,MAAM,oBAAoB;AAE/C,eAAe,aAAa,YAA+C;AACvE,QAAM,eAAe,MAAM,WAAW;AACtC,SAAO;AACX;AAIA,cAAc,aAAa,QAAQ;AAAA,EAC/B,OAAM,WAAU;AACZ,WAAO,KAAK,+BAA+B,OAAO,GAAG;AACrD,QAAI,CAAC,mBAAmB;AACpB,0BAAoB,aAAa,eAAa,UAAU,EAAE,QAAQ,YAAY;AAAA,IAClF;AAGA,UAAM,QAAQ,MAAM;AACpB,QAAI,CAAC,OAAO;AACR,aAAO;AAAA,IACX;AAEA,WAAO,QAAQ,gBAAgB,UAAU,KAAK;AAC9C,WAAO;AAAA,EACX;AAAA,EACA,WAAS;AACL,WAAO,MAAM,KAAK;AAClB,YAAQ,OAAO,KAAK;AAAA,EAC1B;AAAC;AAEH,IAAO,wBAAQ;;;AEnBf,IAAMC,UAAS,UAAU,mBAAmB;AAwCrC,IAAM,oBAAoB,CAC/B,OACA,WACqD;AACrD,SAAO,sBAAc,IAA8B,YAAY,KAAK,IAAI;AAAA,IACtE;AAAA,EACF,CAAC;AACH;;;ACtDA,IAAM,kCAAN,MAA6E;AAAA,EAEzE,MAAa,mBAAmB,OAAe,yBAA+D;AAE1G,UAAM,EAAE,MAAM,QAAO,IAAI,MAAuB,kBAAkB,KAAK;AACvE,QAAI,QAAQ,gBAAgB,yBAAyB;AACjD,aAAO;AAAA,IACX;AAEA,WAAO,KAAK,eAAe,SAAS,uBAAuB;AAAA,EAC/D;AAAA,EAEO,eAAe,SAAmC,yBAA6C;AAElG,YAAQ,yBAAyB;AAAA,MAC7B,KAAK;AACD,eAAO,QAAQ,gBAAgB;AAAA,MACnC,KAAK;AACD,eAAO,QAAQ,gBAAgB,WAAW,QAAQ,gBAAgB;AAAA,MACtE,KAAK;AACD,eAAO,QAAQ,gBAAgB,gBAAgB,QAAQ,gBAAgB,WAC/D,QAAQ,gBAAgB;AAAA,MACpC,KAAK;AACD,eAAO;AAAA,MACX;AACI,eAAO;AAAA,IACf;AAAA,EACJ;AAAA,EAEO,kBAAkB,SAAmC,6BAAsD;AAC9G,YAAQ,6BAA6B;AAAA,MACjC,KAAK;AACD,eAAO,QAAQ,oBAAoB;AAAA,MACvC,KAAK;AACD,eAAO,QAAQ,oBAAoB,cAAc,QAAQ,oBAAoB;AAAA,MACjF,KAAK;AACD,eAAO,QAAQ,oBAAoB,cAAc,QAAQ,oBAAoB,cACrE,QAAQ,oBAAoB;AAAA,MACxC,KAAK;AACD,eAAO;AAAA,MACX;AACI,eAAO;AAAA,IACf;AAAA,EACJ;AACJ;AAEO,IAAM,8BAA2D,IAAI,gCAAgC;","names":["axios","logger"]}
|
package/dist/helpers/index.mjs
CHANGED
|
@@ -92,6 +92,20 @@ var RobotCloudPermissionsHelperImpl = class {
|
|
|
92
92
|
return false;
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
+
hasAppAccessLevel(project, required_application_access) {
|
|
96
|
+
switch (required_application_access) {
|
|
97
|
+
case "ADMIN":
|
|
98
|
+
return project.app_access_level == "ADMIN";
|
|
99
|
+
case "ADVANCED":
|
|
100
|
+
return project.app_access_level == "ADVANCED" || project.app_access_level == "ADMIN";
|
|
101
|
+
case "STANDARD":
|
|
102
|
+
return project.app_access_level == "STANDARD" || project.app_access_level == "ADVANCED" || project.app_access_level == "ADMIN";
|
|
103
|
+
case "BLOCKED":
|
|
104
|
+
return true;
|
|
105
|
+
default:
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
95
109
|
};
|
|
96
110
|
var robotCloudPermissionsHelper = new RobotCloudPermissionsHelperImpl();
|
|
97
111
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/logger.ts","../../src/robotCloudApi.ts","../../src/config.ts","../../src/robotCloudClient.ts","../../src/helpers/robotCloudPermissionsHelper.ts"],"sourcesContent":["import { createConsola } from \"consola\";\nimport type { ConsolaOptions } from 'consola';\n\nexport function useLogger (tag?: string, options: Partial<ConsolaOptions> = { level: 1000 }) {\n return tag ? createConsola(options).withTag(tag) : createConsola(options)\n}","import axios from \"axios\"\nimport clientConfig from \"config\";\nimport { useLogger } from 'utils/logger';\n\nconst logger = useLogger(\"robotcloud-api\")\n\nconst robotcloudApi = axios.create();\n\nlet checkTokenPromise: Promise<string | undefined> | null = null;\nconst clearPromise = () => checkTokenPromise = null;\n\nasync function refreshToken(checkToken: () => Promise<string | undefined>) {\n const access_token = await checkToken();\n return access_token;\n}\n\n \n// Important to add interceptor once, inside a middleware are stacked in each request.\nrobotcloudApi.interceptors.request.use(\n async config => {\n logger.info(\"robotcloud api interceptor:\", config.url)\n if (!checkTokenPromise) {\n checkTokenPromise = refreshToken(clientConfig.checkToken).finally(clearPromise);\n }\n\n // When other request is checking token wait for it\n const token = await checkTokenPromise;\n if (!token) {\n return config\n }\n\n config.headers.authorization = `Bearer ${token}`;\n return config;\n },\n error => {\n logger.error(error)\n Promise.reject(error)\n });\n\nexport default robotcloudApi;\n","import robotcloudApi from \"robotCloudApi\";\n\nexport class RobotCloudClientConfig {\n private _baseUrl?: string;\n private _checkToken = async (): Promise<string> => { return ''}\n \n public tokenMinutesBeforeExpirationRenew: number = 20;\n \n\n set baseURL(value: string){\n robotcloudApi.defaults.baseURL = value\n this._baseUrl = value\n }\n \n get baseUrl(): string | undefined {\n return this._baseUrl\n }\n\n set checkToken(fun: () => Promise<string>) {\n this._checkToken = fun\n }\n\n get checkToken(): () => Promise<string> {\n return this._checkToken\n }\n}\n\nconst clientConfig = new RobotCloudClientConfig()\nexport default clientConfig","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from 'utils/logger';\nimport robotcloudApi from \"robotCloudApi\";\nimport { \n LocationServiceInstancesRequestParams, ProjectDetailsRequestParams, ProjectLocationsRequestParams, \n ProjectRequestParams, ProjectTagRequestParams, RobotCloudDeviceDetails, RobotCloudNamedItem, \n RobotCloudProject, RobotCloudProjectDetails, RobotCloudServiceType, RobotCloudServiceTypeDetails, RobotCloudUserDetails, \n RoomConsumes1DataEventValue, RoomGrouping1DataEventValue, \n RoomGrouping1InstanceDeviceConfig, ServiceInstanceDataRequestParams, \n ServiceInstancesRequestParams, \n SubsystemRequestParams\n} from \"../types/RobotCloudClient\";\nimport { RobotCloudServiceInstance, ServiceInstanceDetails } from \"../types/ServiceInstance\";\nimport { ClassifierDetails } from \"../types/ProjectClassifer\";\nimport { ProjectTag, ProjectTagTreeNode, ProjectTagsTree } from \"../types/ProjectTag\";\nimport { ServiceDataMeasurement, ServiceDataRequestParams } from \"../types/services\";\n\n\nconst logger = useLogger(\"robotcloud-client\")\n\n\n\ninterface RobotCloudLocationDetails {\n id: string;\n name: string;\n description: string;\n project: string;\n tags: string[]\n}\n\nexport const getLocationServiceInstances = (\n prjId: string,\n locId: string,\n service_type: RobotCloudServiceType,\n params?: LocationServiceInstancesRequestParams\n): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(`projects/${prjId}/locations/${locId}/services/${service_type}/instances`, {\n params,\n });\n}\n\n\n// USERS ENDPOINTS\nexport const getUser = (\n username: string\n ): Promise<AxiosResponse<RobotCloudUserDetails>> => {\n return robotcloudApi.get<RobotCloudUserDetails>(`users/${username}`);\n };\n\n// PROJECT ENDPOINTS\nexport const getProjects = (\n params?: ProjectRequestParams\n): Promise<AxiosResponse<RobotCloudProject[]>> => {\n return robotcloudApi.get<RobotCloudProject[]>(\"projects\", {\n params\n });\n};\n\nexport const getProjectDetails = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n): Promise<AxiosResponse<RobotCloudProjectDetails>> => {\n return robotcloudApi.get<RobotCloudProjectDetails>(`projects/${prjId}`, {\n params,\n });\n};\n\n// PROJECT SUBSYSTEMS ENDPOINTS\n\nexport const getProjectSubsystem = (\n prjId: string,\n subsysId: string\n) => {\n return robotcloudApi.get<RobotCloudNamedItem>(`projects/${prjId}/subsystems/${subsysId}`);\n}\n\nexport const getLocations = (\n prjId: string,\n params?: ProjectLocationsRequestParams\n): Promise<AxiosResponse<RobotCloudNamedItem[]>> => {\n return robotcloudApi.get<RobotCloudNamedItem[]>(`projects/${prjId}/locations`, {\n params,\n });\n};\n\nexport const getLocation = (\n locationId: string\n): Promise<AxiosResponse<RobotCloudLocationDetails>> => {\n return robotcloudApi.get<RobotCloudLocationDetails>(`locations/${locationId}`, { });\n};\n\nexport const getServiceInstances = (\n prjId: string,\n service_type: string,\n params?: ServiceInstancesRequestParams\n): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(`projects/${prjId}/services/${service_type}/instances`, {\n params,\n });\n}\n\nexport const getServiceInstance = (\n prjId: string,\n service_type: string,\n service_id: string\n) => {\n return robotcloudApi.get<ServiceInstanceDetails>(`projects/${prjId}/services/${service_type}/instances/${service_id}`);\n}\n\nexport const getClassifier = (\n classifierId: string\n) => {\n return robotcloudApi.get<ClassifierDetails>(`classifiers/${classifierId}`);\n}\n\nexport const getTags = (\n prjId: string,\n params?: ProjectTagRequestParams\n): Promise<AxiosResponse<ProjectTag[]>> => {\n logger.info(`Get project ${prjId} tags`)\n return robotcloudApi.get<ProjectTag[]>(`projects/${prjId}/tags`, {\n params,\n });\n};\n\nexport const getTagsTree = async (\n prjId: string,\n maxDepth: number = 2,\n params?: ProjectTagRequestParams\n): Promise<ProjectTagsTree> => {\n logger.info(`Get project ${prjId} tags tree`)\n if (!params) {\n params = {} as ProjectTagRequestParams \n }\n params.no_parent = true;\n\n const tags = await getTagsChildren(prjId, 0, undefined, undefined, maxDepth)\n return {root: tags} as ProjectTagsTree;\n};\n\nexport const getTagsChildren = async (\n prjId: string,\n level: number = 0,\n parent_id?: string,\n params?: ProjectTagRequestParams,\n maxDepth?: number\n): Promise<ProjectTagTreeNode[]> => {\n logger.debug(`Get project ${prjId} tags children: ${parent_id}`)\n if (!params) {\n params = {} as ProjectTagRequestParams \n }\n params.no_parent = !parent_id;\n params.parent_tag = parent_id;\n\n const tags = await getTags(prjId, params)\n if (tags.data.length == 0) {\n return [];\n }\n \n const response: ProjectTagTreeNode[] = []\n const requests: any[] = []\n for (let i = 0; i < tags.data.length; i++) {\n const element = tags.data[i]\n const node = {\n tag: element\n } as ProjectTagTreeNode;\n response.push(node)\n if (maxDepth && level < maxDepth) {\n requests.push(\n getTagsChildren(prjId, level + 1, element.id, params, maxDepth)\n )\n }\n }\n\n const responses = await Promise.all(requests)\n let i = 0;\n responses.forEach(element => {\n response[i].children = element\n i++\n });\n \n return response;\n\n}\n\n/* PROJECT DEVICES ENDPOINTS */\nexport const getDeviceDetails = (\n deviceId: string,\n): Promise<AxiosResponse<RobotCloudDeviceDetails>> => {\n return robotcloudApi.get<RobotCloudDeviceDetails>(`devices/${deviceId}`);\n}\n\n/* SERVICES ENDPOINTS */\nexport const getProjectServiceTypes = (\n prjId: string,\n params?: SubsystemRequestParams\n): Promise<AxiosResponse<RobotCloudServiceTypeDetails[]>> => {\n return robotcloudApi.get<RobotCloudServiceTypeDetails[]>(`projects/${prjId}/services`, {\n params,\n });\n}\n/* SERVICES INSTANCES DATA ENDPOINTS */\n\nexport const getRoomGrouping1ServiceData = (\n prjId: string,\n params?: ServiceDataRequestParams\n): Promise<AxiosResponse<ServiceDataMeasurement<RoomGrouping1DataEventValue>[]>> => {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGrouping1DataEventValue>[]>(\n `/projects/${prjId}/services/RoomGrouping_1/data`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n}\n\nexport const getRoomConsumesInstanceServiceData = (\n prjId: string,\n instanceId: string,\n params?: ServiceInstanceDataRequestParams\n): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1DataEventValue>>> => {\n return robotcloudApi.get<ServiceDataMeasurement<RoomConsumes1DataEventValue>>(\n `/projects/${prjId}/services/RoomConsumes_1/instances/${instanceId}/data`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n}\n\n\n/* SERVICES INSTANCES DEVICE INGORMATION ENDPOINTS */\n\n\nexport const getRoomGrouping1InstanceDeviceConfig = (\n prjId: string,\n instanceId: string,\n): Promise<AxiosResponse<RoomGrouping1InstanceDeviceConfig>> => {\n return robotcloudApi.put<RoomGrouping1InstanceDeviceConfig>(\n `/projects/${prjId}/services/RoomGrouping_1/instances/${instanceId}/configuration`\n )\n}\n","import * as robotCloudClient from \"robotCloudClient\";\nimport { RobotCloudPermissionsHelper } from \"../../types/helpers\";\nimport { ProjectAccessLevel, RobotCloudProjectDetails } from \"../../types/RobotCloudClient\";\n\n/**\n * Helper of robotcloud permissions\n * \n * > IMPORTANT! Don't place here any important logic. Only functions that might be used in frontend.\n */\nclass RobotCloudPermissionsHelperImpl implements RobotCloudPermissionsHelper {\n\n public async checkProjectAccess(prjId: string, required_project_access: ProjectAccessLevel): Promise<boolean> {\n\n const { data: project} = await robotCloudClient.getProjectDetails(prjId)\n if (project.access_level == required_project_access) {\n return true\n }\n \n return this.hasAccessLevel(project, required_project_access)\n }\n\n public hasAccessLevel(project: RobotCloudProjectDetails, required_project_access: ProjectAccessLevel) {\n\n switch (required_project_access) {\n case 'ADVANCED':\n return project.access_level == 'ADVANCED'\n case 'BASIC':\n return project.access_level == 'BASIC' || project.access_level == 'ADVANCED'\n case 'RESTRICTED':\n return project.access_level == 'RESTRICTED' || project.access_level == 'BASIC' || \n project.access_level == 'ADVANCED'\n case 'BLOCKED':\n return true \n default:\n return false\n }\n }\n}\n\nexport const robotCloudPermissionsHelper: RobotCloudPermissionsHelper = new RobotCloudPermissionsHelperImpl()"],"mappings":";AAAA,SAAS,qBAAqB;AAGvB,SAAS,UAAW,KAAc,UAAmC,EAAE,OAAO,IAAK,GAAG;AACzF,SAAO,MAAM,cAAc,OAAO,EAAE,QAAQ,GAAG,IAAI,cAAc,OAAO;AAC5E;;;ACLA,OAAO,WAAW;;;ACEX,IAAM,yBAAN,MAA6B;AAAA,EAA7B;AAEH,SAAQ,cAAc,YAA6B;AAAE,aAAO;AAAA,IAAE;AAE9D,SAAO,oCAA4C;AAAA;AAAA,EAGnD,IAAI,QAAQ,OAAc;AACtB,0BAAc,SAAS,UAAU;AACjC,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,IAAI,UAA8B;AAC9B,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,WAAW,KAA4B;AACvC,SAAK,cAAc;AAAA,EACvB;AAAA,EAEA,IAAI,aAAoC;AACpC,WAAO,KAAK;AAAA,EAChB;AACJ;AAEA,IAAM,eAAe,IAAI,uBAAuB;AAChD,IAAO,iBAAQ;;;ADxBf,IAAM,SAAS,UAAU,gBAAgB;AAEzC,IAAM,gBAAgB,MAAM,OAAO;AAEnC,IAAI,oBAAwD;AAC5D,IAAM,eAAe,MAAM,oBAAoB;AAE/C,eAAe,aAAa,YAA+C;AACvE,QAAM,eAAe,MAAM,WAAW;AACtC,SAAO;AACX;AAIA,cAAc,aAAa,QAAQ;AAAA,EAC/B,OAAM,WAAU;AACZ,WAAO,KAAK,+BAA+B,OAAO,GAAG;AACrD,QAAI,CAAC,mBAAmB;AACpB,0BAAoB,aAAa,eAAa,UAAU,EAAE,QAAQ,YAAY;AAAA,IAClF;AAGA,UAAM,QAAQ,MAAM;AACpB,QAAI,CAAC,OAAO;AACR,aAAO;AAAA,IACX;AAEA,WAAO,QAAQ,gBAAgB,UAAU,KAAK;AAC9C,WAAO;AAAA,EACX;AAAA,EACA,WAAS;AACL,WAAO,MAAM,KAAK;AAClB,YAAQ,OAAO,KAAK;AAAA,EAC1B;AAAC;AAEH,IAAO,wBAAQ;;;AEpBf,IAAMA,UAAS,UAAU,mBAAmB;AAwCrC,IAAM,oBAAoB,CAC/B,OACA,WACqD;AACrD,SAAO,sBAAc,IAA8B,YAAY,KAAK,IAAI;AAAA,IACtE;AAAA,EACF,CAAC;AACH;;;ACzDA,IAAM,kCAAN,MAA6E;AAAA,EAEzE,MAAa,mBAAmB,OAAe,yBAA+D;AAE1G,UAAM,EAAE,MAAM,QAAO,IAAI,MAAuB,kBAAkB,KAAK;AACvE,QAAI,QAAQ,gBAAgB,yBAAyB;AACjD,aAAO;AAAA,IACX;AAEA,WAAO,KAAK,eAAe,SAAS,uBAAuB;AAAA,EAC/D;AAAA,EAEO,eAAe,SAAmC,yBAA6C;AAElG,YAAQ,yBAAyB;AAAA,MAC7B,KAAK;AACD,eAAO,QAAQ,gBAAgB;AAAA,MACnC,KAAK;AACD,eAAO,QAAQ,gBAAgB,WAAW,QAAQ,gBAAgB;AAAA,MACtE,KAAK;AACD,eAAO,QAAQ,gBAAgB,gBAAgB,QAAQ,gBAAgB,WAC/D,QAAQ,gBAAgB;AAAA,MACpC,KAAK;AACD,eAAO;AAAA,MACX;AACI,eAAO;AAAA,IACf;AAAA,EACJ;AACJ;AAEO,IAAM,8BAA2D,IAAI,gCAAgC;","names":["logger"]}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/logger.ts","../../src/robotCloudApi.ts","../../src/config.ts","../../src/robotCloudClient.ts","../../src/helpers/robotCloudPermissionsHelper.ts"],"sourcesContent":["import { createConsola } from \"consola\";\nimport type { ConsolaOptions } from 'consola';\n\nexport function useLogger (tag?: string, options: Partial<ConsolaOptions> = { level: 1000 }) {\n return tag ? createConsola(options).withTag(tag) : createConsola(options)\n}","import axios from \"axios\"\nimport clientConfig from \"config\";\nimport { useLogger } from 'utils/logger';\n\nconst logger = useLogger(\"robotcloud-api\")\n\nconst robotcloudApi = axios.create();\n\nlet checkTokenPromise: Promise<string | undefined> | null = null;\nconst clearPromise = () => checkTokenPromise = null;\n\nasync function refreshToken(checkToken: () => Promise<string | undefined>) {\n const access_token = await checkToken();\n return access_token;\n}\n\n \n// Important to add interceptor once, inside a middleware are stacked in each request.\nrobotcloudApi.interceptors.request.use(\n async config => {\n logger.info(\"robotcloud api interceptor:\", config.url)\n if (!checkTokenPromise) {\n checkTokenPromise = refreshToken(clientConfig.checkToken).finally(clearPromise);\n }\n\n // When other request is checking token wait for it\n const token = await checkTokenPromise;\n if (!token) {\n return config\n }\n\n config.headers.authorization = `Bearer ${token}`;\n return config;\n },\n error => {\n logger.error(error)\n Promise.reject(error)\n });\n\nexport default robotcloudApi;\n","import robotcloudApi from \"robotCloudApi\";\n\nexport class RobotCloudClientConfig {\n private _baseUrl?: string;\n private _checkToken = async (): Promise<string> => { return ''}\n \n public tokenMinutesBeforeExpirationRenew: number = 20;\n \n\n set baseURL(value: string){\n robotcloudApi.defaults.baseURL = value\n this._baseUrl = value\n }\n \n get baseUrl(): string | undefined {\n return this._baseUrl\n }\n\n set checkToken(fun: () => Promise<string>) {\n this._checkToken = fun\n }\n\n get checkToken(): () => Promise<string> {\n return this._checkToken\n }\n}\n\nconst clientConfig = new RobotCloudClientConfig()\nexport default clientConfig","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from 'utils/logger';\nimport robotcloudApi from \"robotCloudApi\";\nimport { \n LocationServiceInstancesRequestParams, ProjectDetailsRequestParams, ProjectLocationsRequestParams, \n ProjectRequestParams, ProjectTagRequestParams, RobotCloudDeviceDetails, RobotCloudNamedItem, \n RobotCloudProject, RobotCloudProjectDetails, RobotCloudServiceType, RobotCloudServiceTypeDetails, RobotCloudUserDetails, \n RoomGrouping1DataEventValue, \n RoomGrouping1InstanceDeviceConfig, ServiceInstanceDataRequestParams, \n ServiceInstancesRequestParams, \n SubsystemRequestParams\n} from \"../types/RobotCloudClient\";\nimport { RobotCloudServiceInstance, ServiceInstanceDetails } from \"../types/ServiceInstance\";\nimport { ClassifierDetails } from \"../types/ProjectClassifer\";\nimport { ProjectTag, ProjectTagTreeNode, ProjectTagsTree } from \"../types/ProjectTag\";\nimport { ServiceDataMeasurement, ServiceDataRequestParams } from \"../types/services\";\nimport { RoomConsumes1Data } from \"../types/services-data\";\n\n\nconst logger = useLogger(\"robotcloud-client\")\n\n\n\ninterface RobotCloudLocationDetails {\n id: string;\n name: string;\n description: string;\n project: string;\n tags: string[]\n}\n\nexport const getLocationServiceInstances = (\n prjId: string,\n locId: string,\n service_type: RobotCloudServiceType,\n params?: LocationServiceInstancesRequestParams\n): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(`projects/${prjId}/locations/${locId}/services/${service_type}/instances`, {\n params,\n });\n}\n\n\n// USERS ENDPOINTS\nexport const getUser = (\n username: string\n ): Promise<AxiosResponse<RobotCloudUserDetails>> => {\n return robotcloudApi.get<RobotCloudUserDetails>(`users/${username}`);\n };\n\n// PROJECT ENDPOINTS\nexport const getProjects = (\n params?: ProjectRequestParams\n): Promise<AxiosResponse<RobotCloudProject[]>> => {\n return robotcloudApi.get<RobotCloudProject[]>(\"projects\", {\n params\n });\n};\n\nexport const getProjectDetails = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n): Promise<AxiosResponse<RobotCloudProjectDetails>> => {\n return robotcloudApi.get<RobotCloudProjectDetails>(`projects/${prjId}`, {\n params,\n });\n};\n\n// PROJECT SUBSYSTEMS ENDPOINTS\n\nexport const getProjectSubsystem = (\n prjId: string,\n subsysId: string\n) => {\n return robotcloudApi.get<RobotCloudNamedItem>(`projects/${prjId}/subsystems/${subsysId}`);\n}\n\nexport const getLocations = (\n prjId: string,\n params?: ProjectLocationsRequestParams\n): Promise<AxiosResponse<RobotCloudNamedItem[]>> => {\n return robotcloudApi.get<RobotCloudNamedItem[]>(`projects/${prjId}/locations`, {\n params,\n });\n};\n\nexport const getLocation = (\n locationId: string\n): Promise<AxiosResponse<RobotCloudLocationDetails>> => {\n return robotcloudApi.get<RobotCloudLocationDetails>(`locations/${locationId}`, { });\n};\n\nexport const getServiceInstances = (\n prjId: string,\n service_type: string,\n params?: ServiceInstancesRequestParams\n): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(`projects/${prjId}/services/${service_type}/instances`, {\n params,\n });\n}\n\nexport const getServiceInstance = (\n prjId: string,\n service_type: string,\n service_id: string\n) => {\n return robotcloudApi.get<ServiceInstanceDetails>(`projects/${prjId}/services/${service_type}/instances/${service_id}`);\n}\n\nexport const getClassifier = (\n classifierId: string\n) => {\n return robotcloudApi.get<ClassifierDetails>(`classifiers/${classifierId}`);\n}\n\nexport const getTags = (\n prjId: string,\n params?: ProjectTagRequestParams\n): Promise<AxiosResponse<ProjectTag[]>> => {\n logger.info(`Get project ${prjId} tags`)\n return robotcloudApi.get<ProjectTag[]>(`projects/${prjId}/tags`, {\n params,\n });\n};\n\nexport const getTagsTree = async (\n prjId: string,\n maxDepth: number = 2,\n params?: ProjectTagRequestParams\n): Promise<ProjectTagsTree> => {\n logger.info(`Get project ${prjId} tags tree`)\n if (!params) {\n params = {} as ProjectTagRequestParams \n }\n params.no_parent = true;\n\n const tags = await getTagsChildren(prjId, 0, undefined, undefined, maxDepth)\n return {root: tags} as ProjectTagsTree;\n};\n\nexport const getTagsChildren = async (\n prjId: string,\n level: number = 0,\n parent_id?: string,\n params?: ProjectTagRequestParams,\n maxDepth?: number\n): Promise<ProjectTagTreeNode[]> => {\n logger.debug(`Get project ${prjId} tags children: ${parent_id}`)\n if (!params) {\n params = {} as ProjectTagRequestParams \n }\n params.no_parent = !parent_id;\n params.parent_tag = parent_id;\n\n const tags = await getTags(prjId, params)\n if (tags.data.length == 0) {\n return [];\n }\n \n const response: ProjectTagTreeNode[] = []\n const requests: any[] = []\n for (let i = 0; i < tags.data.length; i++) {\n const element = tags.data[i]\n const node = {\n tag: element\n } as ProjectTagTreeNode;\n response.push(node)\n if (maxDepth && level < maxDepth) {\n requests.push(\n getTagsChildren(prjId, level + 1, element.id, params, maxDepth)\n )\n }\n }\n\n const responses = await Promise.all(requests)\n let i = 0;\n responses.forEach(element => {\n response[i].children = element\n i++\n });\n \n return response;\n\n}\n\n/* PROJECT DEVICES ENDPOINTS */\nexport const getDeviceDetails = (\n deviceId: string,\n): Promise<AxiosResponse<RobotCloudDeviceDetails>> => {\n return robotcloudApi.get<RobotCloudDeviceDetails>(`devices/${deviceId}`);\n}\n\n/* SERVICES ENDPOINTS */\nexport const getProjectServiceTypes = (\n prjId: string,\n params?: SubsystemRequestParams\n): Promise<AxiosResponse<RobotCloudServiceTypeDetails[]>> => {\n return robotcloudApi.get<RobotCloudServiceTypeDetails[]>(`projects/${prjId}/services`, {\n params,\n });\n}\n/* SERVICES INSTANCES DATA ENDPOINTS */\n\nexport const getRoomGrouping1ServiceData = (\n prjId: string,\n params?: ServiceDataRequestParams\n): Promise<AxiosResponse<ServiceDataMeasurement<RoomGrouping1DataEventValue>[]>> => {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGrouping1DataEventValue>[]>(\n `/projects/${prjId}/services/RoomGrouping_1/data`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n}\n\n/* SERVICES INSTANCES DEVICE INGORMATION ENDPOINTS */\n\n\nexport const getRoomGrouping1InstanceDeviceConfig = (\n prjId: string,\n instanceId: string,\n): Promise<AxiosResponse<RoomGrouping1InstanceDeviceConfig>> => {\n return robotcloudApi.put<RoomGrouping1InstanceDeviceConfig>(\n `/projects/${prjId}/services/RoomGrouping_1/instances/${instanceId}/configuration`\n )\n}\n","import * as robotCloudClient from \"robotCloudClient\";\nimport { RobotCloudPermissionsHelper } from \"../../types/helpers\";\nimport { \n AppAccessLevel, \n ProjectAccessLevel, \n RobotCloudProjectDetails \n} from \"../../types/RobotCloudClient\";\n\n/**\n * Helper of robotcloud permissions\n * \n * > IMPORTANT! Don't place here any important logic. Only functions that might be used in frontend.\n */\nclass RobotCloudPermissionsHelperImpl implements RobotCloudPermissionsHelper {\n\n public async checkProjectAccess(prjId: string, required_project_access: ProjectAccessLevel): Promise<boolean> {\n\n const { data: project} = await robotCloudClient.getProjectDetails(prjId)\n if (project.access_level == required_project_access) {\n return true\n }\n \n return this.hasAccessLevel(project, required_project_access)\n }\n\n public hasAccessLevel(project: RobotCloudProjectDetails, required_project_access: ProjectAccessLevel) {\n\n switch (required_project_access) {\n case 'ADVANCED':\n return project.access_level == 'ADVANCED'\n case 'BASIC':\n return project.access_level == 'BASIC' || project.access_level == 'ADVANCED'\n case 'RESTRICTED':\n return project.access_level == 'RESTRICTED' || project.access_level == 'BASIC' || \n project.access_level == 'ADVANCED'\n case 'BLOCKED':\n return true \n default:\n return false\n }\n }\n\n public hasAppAccessLevel(project: RobotCloudProjectDetails, required_application_access: AppAccessLevel): boolean {\n switch (required_application_access) {\n case 'ADMIN':\n return project.app_access_level == 'ADMIN'\n case 'ADVANCED':\n return project.app_access_level == 'ADVANCED' || project.app_access_level == 'ADMIN'\n case 'STANDARD':\n return project.app_access_level == 'STANDARD' || project.app_access_level == 'ADVANCED' || \n project.app_access_level == 'ADMIN'\n case 'BLOCKED':\n return true \n default:\n return false\n }\n }\n}\n\nexport const robotCloudPermissionsHelper: RobotCloudPermissionsHelper = new RobotCloudPermissionsHelperImpl()"],"mappings":";AAAA,SAAS,qBAAqB;AAGvB,SAAS,UAAW,KAAc,UAAmC,EAAE,OAAO,IAAK,GAAG;AACzF,SAAO,MAAM,cAAc,OAAO,EAAE,QAAQ,GAAG,IAAI,cAAc,OAAO;AAC5E;;;ACLA,OAAO,WAAW;;;ACEX,IAAM,yBAAN,MAA6B;AAAA,EAA7B;AAEH,SAAQ,cAAc,YAA6B;AAAE,aAAO;AAAA,IAAE;AAE9D,SAAO,oCAA4C;AAAA;AAAA,EAGnD,IAAI,QAAQ,OAAc;AACtB,0BAAc,SAAS,UAAU;AACjC,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,IAAI,UAA8B;AAC9B,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,WAAW,KAA4B;AACvC,SAAK,cAAc;AAAA,EACvB;AAAA,EAEA,IAAI,aAAoC;AACpC,WAAO,KAAK;AAAA,EAChB;AACJ;AAEA,IAAM,eAAe,IAAI,uBAAuB;AAChD,IAAO,iBAAQ;;;ADxBf,IAAM,SAAS,UAAU,gBAAgB;AAEzC,IAAM,gBAAgB,MAAM,OAAO;AAEnC,IAAI,oBAAwD;AAC5D,IAAM,eAAe,MAAM,oBAAoB;AAE/C,eAAe,aAAa,YAA+C;AACvE,QAAM,eAAe,MAAM,WAAW;AACtC,SAAO;AACX;AAIA,cAAc,aAAa,QAAQ;AAAA,EAC/B,OAAM,WAAU;AACZ,WAAO,KAAK,+BAA+B,OAAO,GAAG;AACrD,QAAI,CAAC,mBAAmB;AACpB,0BAAoB,aAAa,eAAa,UAAU,EAAE,QAAQ,YAAY;AAAA,IAClF;AAGA,UAAM,QAAQ,MAAM;AACpB,QAAI,CAAC,OAAO;AACR,aAAO;AAAA,IACX;AAEA,WAAO,QAAQ,gBAAgB,UAAU,KAAK;AAC9C,WAAO;AAAA,EACX;AAAA,EACA,WAAS;AACL,WAAO,MAAM,KAAK;AAClB,YAAQ,OAAO,KAAK;AAAA,EAC1B;AAAC;AAEH,IAAO,wBAAQ;;;AEnBf,IAAMA,UAAS,UAAU,mBAAmB;AAwCrC,IAAM,oBAAoB,CAC/B,OACA,WACqD;AACrD,SAAO,sBAAc,IAA8B,YAAY,KAAK,IAAI;AAAA,IACtE;AAAA,EACF,CAAC;AACH;;;ACtDA,IAAM,kCAAN,MAA6E;AAAA,EAEzE,MAAa,mBAAmB,OAAe,yBAA+D;AAE1G,UAAM,EAAE,MAAM,QAAO,IAAI,MAAuB,kBAAkB,KAAK;AACvE,QAAI,QAAQ,gBAAgB,yBAAyB;AACjD,aAAO;AAAA,IACX;AAEA,WAAO,KAAK,eAAe,SAAS,uBAAuB;AAAA,EAC/D;AAAA,EAEO,eAAe,SAAmC,yBAA6C;AAElG,YAAQ,yBAAyB;AAAA,MAC7B,KAAK;AACD,eAAO,QAAQ,gBAAgB;AAAA,MACnC,KAAK;AACD,eAAO,QAAQ,gBAAgB,WAAW,QAAQ,gBAAgB;AAAA,MACtE,KAAK;AACD,eAAO,QAAQ,gBAAgB,gBAAgB,QAAQ,gBAAgB,WAC/D,QAAQ,gBAAgB;AAAA,MACpC,KAAK;AACD,eAAO;AAAA,MACX;AACI,eAAO;AAAA,IACf;AAAA,EACJ;AAAA,EAEO,kBAAkB,SAAmC,6BAAsD;AAC9G,YAAQ,6BAA6B;AAAA,MACjC,KAAK;AACD,eAAO,QAAQ,oBAAoB;AAAA,MACvC,KAAK;AACD,eAAO,QAAQ,oBAAoB,cAAc,QAAQ,oBAAoB;AAAA,MACjF,KAAK;AACD,eAAO,QAAQ,oBAAoB,cAAc,QAAQ,oBAAoB,cACrE,QAAQ,oBAAoB;AAAA,MACxC,KAAK;AACD,eAAO;AAAA,MACX;AACI,eAAO;AAAA,IACf;AAAA,EACJ;AACJ;AAEO,IAAM,8BAA2D,IAAI,gCAAgC;","names":["logger"]}
|
|
@@ -2,7 +2,7 @@ type TemperatureUnit = "CELSIUS" | "FAHRENHEIT"
|
|
|
2
2
|
type RegimState = "COLD"|"HEAT"|"AUTO"
|
|
3
3
|
|
|
4
4
|
type ProjectAccessLevel = "BLOCKED" | "RESTRICTED" | "BASIC" | "ADVANCED"
|
|
5
|
-
type AppAccessLevel = "BLOCKED" | "STANDARD" | "ADVANCED" | "ADMIN"
|
|
5
|
+
type AppAccessLevel$1 = "BLOCKED" | "STANDARD" | "ADVANCED" | "ADMIN"
|
|
6
6
|
|
|
7
7
|
type RobotCloudServiceType = "RoomClime_1"|"RoomGuestStatus_1"|"AirQuality_1"
|
|
8
8
|
|
|
@@ -51,20 +51,6 @@ interface LocationServiceInstancesRequestParams extends SubsystemRequestParams,
|
|
|
51
51
|
tag_id?: string[];
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
interface RoomClimeInstanceConfigParams {
|
|
55
|
-
temperature_set_point?: number;
|
|
56
|
-
humidity_set_point?: number;
|
|
57
|
-
regim?: RegimState;
|
|
58
|
-
eco_mode?: "STANDBY" | "ECO" | "VIP";
|
|
59
|
-
fancoil_speed?: 0 | 1 | 2 | 3;
|
|
60
|
-
on?: boolean;
|
|
61
|
-
high_temperature_level?: number;
|
|
62
|
-
low_temperature_level?: number;
|
|
63
|
-
high_humidity_level?: number;
|
|
64
|
-
fancoil_on_time_limit?: number;
|
|
65
|
-
temperature_units?: TemperatureUnit;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
54
|
|
|
69
55
|
/** RESPONSE **/
|
|
70
56
|
|
|
@@ -100,7 +86,7 @@ interface RobotCloudProjectDetails extends RobotCloudProject {
|
|
|
100
86
|
latitude?: number;
|
|
101
87
|
application_enabled?: boolean;
|
|
102
88
|
access_level?: ProjectAccessLevel;
|
|
103
|
-
app_access_level?: AppAccessLevel;
|
|
89
|
+
app_access_level?: AppAccessLevel$1;
|
|
104
90
|
}
|
|
105
91
|
|
|
106
92
|
interface RobotCloudDeviceDetails extends RobotCloudNamedItem {
|
|
@@ -127,17 +113,6 @@ interface RoomClime1AlertEventValue {
|
|
|
127
113
|
high_humidity: boolean;
|
|
128
114
|
fancoil_on_overtime: boolean;
|
|
129
115
|
}
|
|
130
|
-
interface RoomClime1EventValue {
|
|
131
|
-
temperature: number;
|
|
132
|
-
humidity: number;
|
|
133
|
-
fancoil_speed: number;
|
|
134
|
-
fancoil_manual: boolean;
|
|
135
|
-
on: boolean;
|
|
136
|
-
temperature_set_point: number;
|
|
137
|
-
humidity_set_point: number;
|
|
138
|
-
regim: RegimState;
|
|
139
|
-
eco_mode: "STANDBY"|"ECO"|"VIP";
|
|
140
|
-
}
|
|
141
116
|
|
|
142
117
|
interface RoomConsumes1AlertEventValue {
|
|
143
118
|
high_daily_energy_electric: boolean;
|
|
@@ -152,19 +127,6 @@ interface RoomGrouping1DataEventValue {
|
|
|
152
127
|
replica_3_active: boolean;
|
|
153
128
|
}
|
|
154
129
|
|
|
155
|
-
interface RoomConsumes1DataEventValue {
|
|
156
|
-
energy_electric: number;
|
|
157
|
-
energy_thermal: number;
|
|
158
|
-
hot_water: number;
|
|
159
|
-
cold_water: number;
|
|
160
|
-
daily_energy_electric: number;
|
|
161
|
-
daily_energy_thermal: number;
|
|
162
|
-
daily_hot_water: number;
|
|
163
|
-
daily_cold_water: number;
|
|
164
|
-
daily_co2_footprint: number;
|
|
165
|
-
daily_tree_equivalent: number;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
130
|
/** SERVICE INSTANCES DEVICE CONFIG */
|
|
169
131
|
interface ServiceInstanceDeviceConfig {
|
|
170
132
|
device: string;
|
|
@@ -180,8 +142,9 @@ interface RoomGrouping1InstanceDeviceConfig {
|
|
|
180
142
|
interface RobotCloudPermissionsHelper {
|
|
181
143
|
checkProjectAccess(prjId: string, required_project_access: ProjectAccessLevel): Promise<boolean>;
|
|
182
144
|
hasAccessLevel(project: RobotCloudProjectDetails, required_project_access: ProjectAccessLevel): boolean;
|
|
145
|
+
hasAppAccessLevel(project: RobotCloudProjectDetails, required_application_access: AppAccessLevel): boolean;
|
|
183
146
|
}
|
|
184
147
|
|
|
185
148
|
declare const robotCloudPermissionsHelper: RobotCloudPermissionsHelper;
|
|
186
149
|
|
|
187
|
-
export { type AppAccessLevel as A, type FancoilSpeedState as F, type LocationServiceInstancesRequestParams as L, type ProjectRequestParams as P, type
|
|
150
|
+
export { type AppAccessLevel$1 as A, type FancoilSpeedState as F, type LocationServiceInstancesRequestParams as L, type ProjectRequestParams as P, type RegimState as R, type SubsystemRequestParams as S, type TemperatureUnit as T, type RobotCloudNamedItem as a, type RobotCloudServiceType as b, type RobotCloudUserDetails as c, type RobotCloudProject as d, type ProjectDetailsRequestParams as e, type RobotCloudProjectDetails as f, type ProjectLocationsRequestParams as g, type ServiceInstancesRequestParams as h, type ProjectTagRequestParams as i, type RobotCloudDeviceDetails as j, type RobotCloudServiceTypeDetails as k, type RoomGrouping1DataEventValue as l, type RoomGrouping1InstanceDeviceConfig as m, type RoomClime1AlertEventValue as n, type RoomConsumes1AlertEventValue as o, type ServiceInstanceDataRequestParams as p, type RobotCloudPermissionsHelper as q, robotCloudPermissionsHelper as r, type ProjectAccessLevel as s, type PaginableRequestParams as t, type ServiceInstanceDeviceConfig as u };
|
|
@@ -2,7 +2,7 @@ type TemperatureUnit = "CELSIUS" | "FAHRENHEIT"
|
|
|
2
2
|
type RegimState = "COLD"|"HEAT"|"AUTO"
|
|
3
3
|
|
|
4
4
|
type ProjectAccessLevel = "BLOCKED" | "RESTRICTED" | "BASIC" | "ADVANCED"
|
|
5
|
-
type AppAccessLevel = "BLOCKED" | "STANDARD" | "ADVANCED" | "ADMIN"
|
|
5
|
+
type AppAccessLevel$1 = "BLOCKED" | "STANDARD" | "ADVANCED" | "ADMIN"
|
|
6
6
|
|
|
7
7
|
type RobotCloudServiceType = "RoomClime_1"|"RoomGuestStatus_1"|"AirQuality_1"
|
|
8
8
|
|
|
@@ -51,20 +51,6 @@ interface LocationServiceInstancesRequestParams extends SubsystemRequestParams,
|
|
|
51
51
|
tag_id?: string[];
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
interface RoomClimeInstanceConfigParams {
|
|
55
|
-
temperature_set_point?: number;
|
|
56
|
-
humidity_set_point?: number;
|
|
57
|
-
regim?: RegimState;
|
|
58
|
-
eco_mode?: "STANDBY" | "ECO" | "VIP";
|
|
59
|
-
fancoil_speed?: 0 | 1 | 2 | 3;
|
|
60
|
-
on?: boolean;
|
|
61
|
-
high_temperature_level?: number;
|
|
62
|
-
low_temperature_level?: number;
|
|
63
|
-
high_humidity_level?: number;
|
|
64
|
-
fancoil_on_time_limit?: number;
|
|
65
|
-
temperature_units?: TemperatureUnit;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
54
|
|
|
69
55
|
/** RESPONSE **/
|
|
70
56
|
|
|
@@ -100,7 +86,7 @@ interface RobotCloudProjectDetails extends RobotCloudProject {
|
|
|
100
86
|
latitude?: number;
|
|
101
87
|
application_enabled?: boolean;
|
|
102
88
|
access_level?: ProjectAccessLevel;
|
|
103
|
-
app_access_level?: AppAccessLevel;
|
|
89
|
+
app_access_level?: AppAccessLevel$1;
|
|
104
90
|
}
|
|
105
91
|
|
|
106
92
|
interface RobotCloudDeviceDetails extends RobotCloudNamedItem {
|
|
@@ -127,17 +113,6 @@ interface RoomClime1AlertEventValue {
|
|
|
127
113
|
high_humidity: boolean;
|
|
128
114
|
fancoil_on_overtime: boolean;
|
|
129
115
|
}
|
|
130
|
-
interface RoomClime1EventValue {
|
|
131
|
-
temperature: number;
|
|
132
|
-
humidity: number;
|
|
133
|
-
fancoil_speed: number;
|
|
134
|
-
fancoil_manual: boolean;
|
|
135
|
-
on: boolean;
|
|
136
|
-
temperature_set_point: number;
|
|
137
|
-
humidity_set_point: number;
|
|
138
|
-
regim: RegimState;
|
|
139
|
-
eco_mode: "STANDBY"|"ECO"|"VIP";
|
|
140
|
-
}
|
|
141
116
|
|
|
142
117
|
interface RoomConsumes1AlertEventValue {
|
|
143
118
|
high_daily_energy_electric: boolean;
|
|
@@ -152,19 +127,6 @@ interface RoomGrouping1DataEventValue {
|
|
|
152
127
|
replica_3_active: boolean;
|
|
153
128
|
}
|
|
154
129
|
|
|
155
|
-
interface RoomConsumes1DataEventValue {
|
|
156
|
-
energy_electric: number;
|
|
157
|
-
energy_thermal: number;
|
|
158
|
-
hot_water: number;
|
|
159
|
-
cold_water: number;
|
|
160
|
-
daily_energy_electric: number;
|
|
161
|
-
daily_energy_thermal: number;
|
|
162
|
-
daily_hot_water: number;
|
|
163
|
-
daily_cold_water: number;
|
|
164
|
-
daily_co2_footprint: number;
|
|
165
|
-
daily_tree_equivalent: number;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
130
|
/** SERVICE INSTANCES DEVICE CONFIG */
|
|
169
131
|
interface ServiceInstanceDeviceConfig {
|
|
170
132
|
device: string;
|
|
@@ -180,8 +142,9 @@ interface RoomGrouping1InstanceDeviceConfig {
|
|
|
180
142
|
interface RobotCloudPermissionsHelper {
|
|
181
143
|
checkProjectAccess(prjId: string, required_project_access: ProjectAccessLevel): Promise<boolean>;
|
|
182
144
|
hasAccessLevel(project: RobotCloudProjectDetails, required_project_access: ProjectAccessLevel): boolean;
|
|
145
|
+
hasAppAccessLevel(project: RobotCloudProjectDetails, required_application_access: AppAccessLevel): boolean;
|
|
183
146
|
}
|
|
184
147
|
|
|
185
148
|
declare const robotCloudPermissionsHelper: RobotCloudPermissionsHelper;
|
|
186
149
|
|
|
187
|
-
export { type AppAccessLevel as A, type FancoilSpeedState as F, type LocationServiceInstancesRequestParams as L, type ProjectRequestParams as P, type
|
|
150
|
+
export { type AppAccessLevel$1 as A, type FancoilSpeedState as F, type LocationServiceInstancesRequestParams as L, type ProjectRequestParams as P, type RegimState as R, type SubsystemRequestParams as S, type TemperatureUnit as T, type RobotCloudNamedItem as a, type RobotCloudServiceType as b, type RobotCloudUserDetails as c, type RobotCloudProject as d, type ProjectDetailsRequestParams as e, type RobotCloudProjectDetails as f, type ProjectLocationsRequestParams as g, type ServiceInstancesRequestParams as h, type ProjectTagRequestParams as i, type RobotCloudDeviceDetails as j, type RobotCloudServiceTypeDetails as k, type RoomGrouping1DataEventValue as l, type RoomGrouping1InstanceDeviceConfig as m, type RoomClime1AlertEventValue as n, type RoomConsumes1AlertEventValue as o, type ServiceInstanceDataRequestParams as p, type RobotCloudPermissionsHelper as q, robotCloudPermissionsHelper as r, type ProjectAccessLevel as s, type PaginableRequestParams as t, type ServiceInstanceDeviceConfig as u };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as axios from 'axios';
|
|
2
2
|
import { AxiosResponse } from 'axios';
|
|
3
|
-
import { R as RobotCloudNamedItem, S as SubsystemRequestParams,
|
|
4
|
-
export { A as AppAccessLevel, F as FancoilSpeedState,
|
|
3
|
+
import { R as RegimState, a as RobotCloudNamedItem, S as SubsystemRequestParams, b as RobotCloudServiceType, L as LocationServiceInstancesRequestParams, c as RobotCloudUserDetails, P as ProjectRequestParams, d as RobotCloudProject, e as ProjectDetailsRequestParams, f as RobotCloudProjectDetails, g as ProjectLocationsRequestParams, h as ServiceInstancesRequestParams, i as ProjectTagRequestParams, j as RobotCloudDeviceDetails, k as RobotCloudServiceTypeDetails, l as RoomGrouping1DataEventValue, m as RoomGrouping1InstanceDeviceConfig, T as TemperatureUnit, n as RoomClime1AlertEventValue, o as RoomConsumes1AlertEventValue, p as ServiceInstanceDataRequestParams } from './index-I3qNUoYH.mjs';
|
|
4
|
+
export { A as AppAccessLevel, F as FancoilSpeedState, t as PaginableRequestParams, s as ProjectAccessLevel, q as RobotCloudPermissionsHelper, u as ServiceInstanceDeviceConfig, r as robotCloudPermissionsHelper } from './index-I3qNUoYH.mjs';
|
|
5
5
|
|
|
6
6
|
declare const robotcloudApi: axios.AxiosInstance;
|
|
7
7
|
|
|
@@ -16,6 +16,43 @@ declare class RobotCloudClientConfig {
|
|
|
16
16
|
}
|
|
17
17
|
declare const clientConfig: RobotCloudClientConfig;
|
|
18
18
|
|
|
19
|
+
interface RoomClime1Data {
|
|
20
|
+
demandRF: boolean;
|
|
21
|
+
eco_mode: "STANDBY"|"ECO"|"VIP";
|
|
22
|
+
fancoil_manual: boolean;
|
|
23
|
+
fancoil_speed: number;
|
|
24
|
+
humidity: number;
|
|
25
|
+
humidity_set_point: number;
|
|
26
|
+
|
|
27
|
+
on: boolean;
|
|
28
|
+
onRF: boolean;
|
|
29
|
+
|
|
30
|
+
temperature: number;
|
|
31
|
+
temperature_set_point: number;
|
|
32
|
+
regim: RegimState;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
interface RoomConsumes1Data {
|
|
36
|
+
energy_electric: number;
|
|
37
|
+
energy_thermal: number;
|
|
38
|
+
hot_water: number;
|
|
39
|
+
cold_water: number;
|
|
40
|
+
|
|
41
|
+
daily_energy_electric: number;
|
|
42
|
+
daily_energy_thermal: number;
|
|
43
|
+
daily_hot_water: number;
|
|
44
|
+
daily_cold_water: number;
|
|
45
|
+
daily_co2_footprint: number;
|
|
46
|
+
daily_tree_equivalent: number;
|
|
47
|
+
|
|
48
|
+
guest_energy_electric: number;
|
|
49
|
+
guest_energy_thermal: number;
|
|
50
|
+
guest_hot_water: number;
|
|
51
|
+
guest_cold_water: number;
|
|
52
|
+
guest_co2_footprint: number;
|
|
53
|
+
guest_tree_equivalent: number;
|
|
54
|
+
}
|
|
55
|
+
|
|
19
56
|
interface RobotCloudServiceInstance extends RobotCloudNamedItem {
|
|
20
57
|
service: string;
|
|
21
58
|
}
|
|
@@ -182,7 +219,6 @@ declare const getTagsChildren: (prjId: string, level?: number, parent_id?: strin
|
|
|
182
219
|
declare const getDeviceDetails: (deviceId: string) => Promise<AxiosResponse<RobotCloudDeviceDetails>>;
|
|
183
220
|
declare const getProjectServiceTypes: (prjId: string, params?: SubsystemRequestParams) => Promise<AxiosResponse<RobotCloudServiceTypeDetails[]>>;
|
|
184
221
|
declare const getRoomGrouping1ServiceData: (prjId: string, params?: ServiceDataRequestParams) => Promise<AxiosResponse<ServiceDataMeasurement<RoomGrouping1DataEventValue>[]>>;
|
|
185
|
-
declare const getRoomConsumesInstanceServiceData: (prjId: string, instanceId: string, params?: ServiceInstanceDataRequestParams) => Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1DataEventValue>>>;
|
|
186
222
|
declare const getRoomGrouping1InstanceDeviceConfig: (prjId: string, instanceId: string) => Promise<AxiosResponse<RoomGrouping1InstanceDeviceConfig>>;
|
|
187
223
|
|
|
188
224
|
declare const robotCloudClient_getClassifier: typeof getClassifier;
|
|
@@ -194,7 +230,6 @@ declare const robotCloudClient_getProjectDetails: typeof getProjectDetails;
|
|
|
194
230
|
declare const robotCloudClient_getProjectServiceTypes: typeof getProjectServiceTypes;
|
|
195
231
|
declare const robotCloudClient_getProjectSubsystem: typeof getProjectSubsystem;
|
|
196
232
|
declare const robotCloudClient_getProjects: typeof getProjects;
|
|
197
|
-
declare const robotCloudClient_getRoomConsumesInstanceServiceData: typeof getRoomConsumesInstanceServiceData;
|
|
198
233
|
declare const robotCloudClient_getRoomGrouping1InstanceDeviceConfig: typeof getRoomGrouping1InstanceDeviceConfig;
|
|
199
234
|
declare const robotCloudClient_getRoomGrouping1ServiceData: typeof getRoomGrouping1ServiceData;
|
|
200
235
|
declare const robotCloudClient_getServiceInstance: typeof getServiceInstance;
|
|
@@ -204,7 +239,7 @@ declare const robotCloudClient_getTagsChildren: typeof getTagsChildren;
|
|
|
204
239
|
declare const robotCloudClient_getTagsTree: typeof getTagsTree;
|
|
205
240
|
declare const robotCloudClient_getUser: typeof getUser;
|
|
206
241
|
declare namespace robotCloudClient {
|
|
207
|
-
export { robotCloudClient_getClassifier as getClassifier, robotCloudClient_getDeviceDetails as getDeviceDetails, robotCloudClient_getLocation as getLocation, robotCloudClient_getLocationServiceInstances as getLocationServiceInstances, robotCloudClient_getLocations as getLocations, robotCloudClient_getProjectDetails as getProjectDetails, robotCloudClient_getProjectServiceTypes as getProjectServiceTypes, robotCloudClient_getProjectSubsystem as getProjectSubsystem, robotCloudClient_getProjects as getProjects,
|
|
242
|
+
export { robotCloudClient_getClassifier as getClassifier, robotCloudClient_getDeviceDetails as getDeviceDetails, robotCloudClient_getLocation as getLocation, robotCloudClient_getLocationServiceInstances as getLocationServiceInstances, robotCloudClient_getLocations as getLocations, robotCloudClient_getProjectDetails as getProjectDetails, robotCloudClient_getProjectServiceTypes as getProjectServiceTypes, robotCloudClient_getProjectSubsystem as getProjectSubsystem, robotCloudClient_getProjects as getProjects, robotCloudClient_getRoomGrouping1InstanceDeviceConfig as getRoomGrouping1InstanceDeviceConfig, robotCloudClient_getRoomGrouping1ServiceData as getRoomGrouping1ServiceData, robotCloudClient_getServiceInstance as getServiceInstance, robotCloudClient_getServiceInstances as getServiceInstances, robotCloudClient_getTags as getTags, robotCloudClient_getTagsChildren as getTagsChildren, robotCloudClient_getTagsTree as getTagsTree, robotCloudClient_getUser as getUser };
|
|
208
243
|
}
|
|
209
244
|
|
|
210
245
|
interface CheckTokenResponse {
|
|
@@ -238,13 +273,34 @@ declare namespace robotCloudToken {
|
|
|
238
273
|
export { type robotCloudToken_RobotCloudNewTokenResponse as RobotCloudNewTokenResponse, robotCloudToken_decodeToken as decodeToken, robotCloudToken_isTokenExpired as isTokenExpired, robotCloudToken_renewToken as renewToken, robotCloudToken_validateToken as validateToken };
|
|
239
274
|
}
|
|
240
275
|
|
|
241
|
-
|
|
276
|
+
interface RoomClimeConfigurationParams {
|
|
277
|
+
temperature_set_point?: number;
|
|
278
|
+
humidity_set_point?: number;
|
|
279
|
+
regim?: RegimState;
|
|
280
|
+
eco_mode?: "STANDBY" | "ECO" | "VIP";
|
|
281
|
+
fancoil_speed?: 0 | 1 | 2 | 3;
|
|
282
|
+
on?: boolean;
|
|
283
|
+
|
|
284
|
+
hasFC?: boolean;
|
|
285
|
+
hasRF?: boolean;
|
|
286
|
+
isRFLinked?: boolean;
|
|
287
|
+
|
|
288
|
+
onRF?: boolean;
|
|
289
|
+
|
|
290
|
+
high_temperature_level?: number;
|
|
291
|
+
low_temperature_level?: number;
|
|
292
|
+
high_humidity_level?: number;
|
|
293
|
+
fancoil_on_time_limit?: number;
|
|
294
|
+
temperature_units?: TemperatureUnit;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
declare class RoomClimeClient implements ServiceTypeClient<RoomClime1AlertEventValue, RoomClime1Data, RoomClimeConfigurationParams> {
|
|
242
298
|
getAlerts(prjId: string, params?: ServiceDataRequestParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomClime1AlertEventValue>[]>>;
|
|
243
|
-
getData(prjId: string, params?: ServiceDataRequestParams): Promise<AxiosResponse<ServiceDataMeasurement<
|
|
244
|
-
getInstanceConfiguration(prjId: string, instanceId: string): Promise<AxiosResponse<
|
|
245
|
-
putInstanceConfiguration(prjId: string, instanceId: string, data:
|
|
246
|
-
getInstanceHistoric(prjId: string, instanceId: string, startTime: Date, endTime: Date, params: ServiceInstanceHistoricParams): Promise<AxiosResponse<ServiceDataMeasurement<
|
|
247
|
-
getInstanceHistoricAggregate(prjId: string, instanceId: string, startTime: Date, endTime: Date, aggFunction: HistoricAggregateFunction, periode: string, params: ServiceInstanceHistoricAggregateParams): Promise<AxiosResponse<ServiceDataMeasurement<
|
|
299
|
+
getData(prjId: string, params?: ServiceDataRequestParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomClime1Data>[]>>;
|
|
300
|
+
getInstanceConfiguration(prjId: string, instanceId: string): Promise<AxiosResponse<RoomClimeConfigurationParams>>;
|
|
301
|
+
putInstanceConfiguration(prjId: string, instanceId: string, data: RoomClimeConfigurationParams): Promise<AxiosResponse<RoomClimeConfigurationParams>>;
|
|
302
|
+
getInstanceHistoric(prjId: string, instanceId: string, startTime: Date, endTime: Date, params: ServiceInstanceHistoricParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomClime1Data>[]>>;
|
|
303
|
+
getInstanceHistoricAggregate(prjId: string, instanceId: string, startTime: Date, endTime: Date, aggFunction: HistoricAggregateFunction, periode: string, params: ServiceInstanceHistoricAggregateParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomClime1Data>[]>>;
|
|
248
304
|
}
|
|
249
305
|
declare const roomClimeClient: RoomClimeClient;
|
|
250
306
|
|
|
@@ -268,15 +324,15 @@ declare class AirQualityClient implements ServiceTypeClient<AirQuality1AlertEven
|
|
|
268
324
|
}
|
|
269
325
|
declare const airQualityClient: AirQualityClient;
|
|
270
326
|
|
|
271
|
-
declare class RoomConsumesClient implements ServiceTypeClient<RoomConsumes1AlertEventValue,
|
|
327
|
+
declare class RoomConsumesClient implements ServiceTypeClient<RoomConsumes1AlertEventValue, RoomConsumes1Data, any> {
|
|
272
328
|
getAlerts(prjId: string, params?: ServiceDataRequestParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1AlertEventValue>[]>>;
|
|
273
|
-
getData(prjId: string, params?: ServiceDataRequestParams): Promise<AxiosResponse<ServiceDataMeasurement<
|
|
274
|
-
getInstanceData: (prjId: string, instanceId: string, params?: ServiceInstanceDataRequestParams) => Promise<AxiosResponse<ServiceDataMeasurement<
|
|
329
|
+
getData(prjId: string, params?: ServiceDataRequestParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1Data>[]>>;
|
|
330
|
+
getInstanceData: (prjId: string, instanceId: string, params?: ServiceInstanceDataRequestParams) => Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1Data>>>;
|
|
275
331
|
getInstanceConfiguration<T>(prjId: string, instanceId: string): Promise<AxiosResponse<T>>;
|
|
276
332
|
putInstanceConfiguration<T>(prjId: string, instanceId: string, data: T): Promise<AxiosResponse<T>>;
|
|
277
|
-
getInstanceHistoric(prjId: string, instanceId: string, startTime: Date, endTime: Date, params: ServiceInstanceHistoricParams): Promise<AxiosResponse<ServiceDataMeasurement<
|
|
278
|
-
getInstanceHistoricAggregate(prjId: string, instanceId: string, startTime: Date, endTime: Date, aggFunction: HistoricAggregateFunction, periode: string, params: ServiceInstanceHistoricAggregateParams): Promise<AxiosResponse<ServiceDataMeasurement<
|
|
333
|
+
getInstanceHistoric(prjId: string, instanceId: string, startTime: Date, endTime: Date, params: ServiceInstanceHistoricParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1Data>[]>>;
|
|
334
|
+
getInstanceHistoricAggregate(prjId: string, instanceId: string, startTime: Date, endTime: Date, aggFunction: HistoricAggregateFunction, periode: string, params: ServiceInstanceHistoricAggregateParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1Data>[]>>;
|
|
279
335
|
}
|
|
280
336
|
declare const roomConsumesClient: RoomConsumesClient;
|
|
281
337
|
|
|
282
|
-
export { type AirQuality1AlertEventValue, type AirQuality1DataEventValue, type CheckTokenResponse, type ClassifierDetails, type HistoricAggregateFunction, LocationServiceInstancesRequestParams, type MeasurementStatus, ProjectDetailsRequestParams, ProjectLocationsRequestParams, ProjectRequestParams, type ProjectTag, ProjectTagRequestParams, type ProjectTagTreeNode, type ProjectTagsTree, RobotCloudClientConfig, RobotCloudDeviceDetails, type RobotCloudJWTPayload, RobotCloudNamedItem, RobotCloudProject, RobotCloudProjectDetails, type RobotCloudServiceInstance, RobotCloudServiceType, RobotCloudServiceTypeDetails, RobotCloudUserDetails, RoomClime1AlertEventValue,
|
|
338
|
+
export { type AirQuality1AlertEventValue, type AirQuality1DataEventValue, type CheckTokenResponse, type ClassifierDetails, type HistoricAggregateFunction, LocationServiceInstancesRequestParams, type MeasurementStatus, ProjectDetailsRequestParams, ProjectLocationsRequestParams, ProjectRequestParams, type ProjectTag, ProjectTagRequestParams, type ProjectTagTreeNode, type ProjectTagsTree, RegimState, RobotCloudClientConfig, RobotCloudDeviceDetails, type RobotCloudJWTPayload, RobotCloudNamedItem, RobotCloudProject, RobotCloudProjectDetails, type RobotCloudServiceInstance, RobotCloudServiceType, RobotCloudServiceTypeDetails, RobotCloudUserDetails, RoomClime1AlertEventValue, type RoomClime1Data, type RoomClimeConfigurationParams, RoomConsumes1AlertEventValue, type RoomConsumes1Data, RoomGrouping1DataEventValue, RoomGrouping1InstanceDeviceConfig, type RoomGuestStatus1AlertEventValue, type RoomGuestStatus1EventValue, type RoomGuestStatusInstanceConfigParams, type ServiceDataMeasurement, type ServiceDataRequestParams, ServiceInstanceDataRequestParams, type ServiceInstanceDetails, type ServiceInstanceHistoricAggregateParams, type ServiceInstanceHistoricParams, type ServiceInstanceRead, ServiceInstancesRequestParams, type ServiceTypeClient, SubsystemRequestParams, TemperatureUnit, airQualityClient, clientConfig, robotCloudToken, robotcloudApi, robotCloudClient as robotcloudClient, roomClimeClient, roomConsumesClient, roomGuestStatusClient };
|