@robotbas/robotcloud-client 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/logger.ts","../../src/robotCloudApi.ts","../../src/config.ts","../../src/client/projects/classifiers.ts","../../src/client/projects/devices.ts","../../src/client/projects/locations.ts","../../src/client/projects/projects.ts","../../src/client/projects/service-instances.ts","../../src/client/projects/subsystems.ts","../../src/client/projects/tags.ts","../../src/helpers/tags.ts","../../src/helpers/robotCloudPermissionsHelper.ts","../../src/helpers/index.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 Classifier,\n ClassifierDetails,\n ClassifierCreate,\n ClassifierModify\n} from \"../../../types/ProjectClassifer\";\nimport {\n RobotCloudDelete\n} from \"../../../types/RobotCloudClient\";\nimport { ProjectClassifiersRequestParams } from \"../../../types/request-params\";\n\nconst logger = useLogger(\"classifiers-client\");\n\nclass ClassifiersClient {\n getProjectClassifiers = (\n prjId: string,\n params?: ProjectClassifiersRequestParams\n ): Promise<AxiosResponse<Classifier[]>> => {\n logger.info(`Get project ${prjId} classifiers`);\n return robotcloudApi.get<Classifier[]>(`projects/${prjId}/classifiers`, {\n params,\n });\n };\n\n getClassifier = (\n classifierId: string\n ): Promise<AxiosResponse<ClassifierDetails>> => {\n return robotcloudApi.get<ClassifierDetails>(\n `classifiers/${classifierId}`,\n {}\n );\n };\n\n putClassifier = (\n classifierId: string\n ): Promise<AxiosResponse<ClassifierModify>> => {\n return robotcloudApi.put<ClassifierModify>(\n `classifiers/${classifierId}`,\n {}\n );\n };\n\n postClassifier = (\n classifierId: string\n ): Promise<AxiosResponse<ClassifierCreate>> => {\n return robotcloudApi.post<ClassifierCreate>(\n `classifiers/${classifierId}`,\n {}\n );\n };\n\n deleteClassifier = (\n classifierId: string\n ): Promise<AxiosResponse<RobotCloudDelete>> => {\n return robotcloudApi.delete<RobotCloudDelete>(\n `classifiers/${classifierId}`,\n {}\n );\n };\n}\n\nexport const classifiersClient = new ClassifiersClient();\n","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from \"utils/logger\";\nimport robotcloudApi from \"robotCloudApi\";\nimport { \n RobotCloudDeviceDetails, \n RobotCloudNamedItem,\n RobotCloudRobotCloudDeviceCreate,\n RobotCloudRobotCloudDeviceModify,\n RobotCloudDelete,\n RobotCloudDeviceConfiguration\n} from \"../../../types/RobotCloudClient\";\n\nconst logger = useLogger(\"devices-client\");\n\nclass DevicesClient {\n getProjectDevices = (\n projectId: string\n ): Promise<AxiosResponse<RobotCloudNamedItem[]>> => {\n return robotcloudApi.get<RobotCloudNamedItem[]>(`projects/${projectId}/devices`);\n };\n\n getProjectDevicesLocation = (\n locationId: string\n ): Promise<AxiosResponse<RobotCloudNamedItem[]>> => {\n return robotcloudApi.get<RobotCloudNamedItem[]>(`locations/${locationId}/devices`);\n };\n\n postProjectDeviceLocation = (\n locationId: string\n ): Promise<AxiosResponse<RobotCloudRobotCloudDeviceCreate>> => {\n return robotcloudApi.post<RobotCloudRobotCloudDeviceCreate>(`locations/${locationId}/devices`);\n };\n\n getDeviceDetails = (\n deviceId: string\n ): Promise<AxiosResponse<RobotCloudDeviceDetails>> => {\n return robotcloudApi.get<RobotCloudDeviceDetails>(`devices/${deviceId}`);\n };\n\n putDeviceDetails = (\n deviceId: string\n ): Promise<AxiosResponse<RobotCloudRobotCloudDeviceModify>> => {\n return robotcloudApi.put<RobotCloudRobotCloudDeviceModify>(`devices/${deviceId}`);\n };\n\n deleteDevice = (\n deviceId: string\n ): Promise<AxiosResponse<RobotCloudDelete>> => {\n return robotcloudApi.delete<RobotCloudDelete>(`devices/${deviceId}`);\n };\n\n getDeviceConfiguration = (\n deviceId: string\n ): Promise<AxiosResponse<RobotCloudDeviceConfiguration>> => {\n return robotcloudApi.get<RobotCloudDeviceConfiguration>(`devices/${deviceId}/compatibleconfigurationtypes`);\n };\n}\n\nexport const devicesClient = new DevicesClient();\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n RobotCloudNamedItem,\n RobotCloudServiceType,\n RobotCloudDelete\n} from \"../../../types/RobotCloudClient\";\nimport {\n RobotCloudServiceInstance,\n CreateServiceInstance\n} from \"../../../types/ServiceInstance\";\nimport {\n RobotCloudLocationDetails,\n RobotCloudLocationModify,\n RobotCloudLocationCreate\n} from \"../../../types/ProjectLocation\";\nimport { LocationServiceInstancesRequestParams, ProjectLocationsRequestParams } from \"../../../types/request-params\";\n\nclass LocationsClient {\n getLocationServiceInstances = (\n prjId: string,\n locId: string,\n service_type: RobotCloudServiceType,\n params?: LocationServiceInstancesRequestParams\n ): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(\n `projects/${prjId}/locations/${locId}/services/${service_type}/instances`,\n {\n params,\n }\n );\n };\n\n postLocationServiceInstances = (\n prjId: string,\n locId: string,\n service_type: RobotCloudServiceType,\n params?: LocationServiceInstancesRequestParams\n ): Promise<AxiosResponse<CreateServiceInstance[]>> => {\n return robotcloudApi.post<CreateServiceInstance[]>(\n `projects/${prjId}/locations/${locId}/services/${service_type}/instances`,\n {\n params,\n }\n );\n };\n\n getLocations = (\n prjId: string,\n params?: ProjectLocationsRequestParams\n ): Promise<AxiosResponse<RobotCloudNamedItem[]>> => {\n return robotcloudApi.get<RobotCloudNamedItem[]>(\n `projects/${prjId}/locations`,\n {\n params,\n }\n );\n };\n\n postLocations = (\n prjId: string,\n params?: ProjectLocationsRequestParams\n ): Promise<AxiosResponse<RobotCloudLocationCreate[]>> => {\n return robotcloudApi.post<RobotCloudLocationCreate[]>(\n `projects/${prjId}/locations`,\n {\n params,\n }\n );\n };\n\n getLocation = (\n locationId: string\n ): Promise<AxiosResponse<RobotCloudLocationDetails>> => {\n return robotcloudApi.get<RobotCloudLocationDetails>(\n `locations/${locationId}`,\n {}\n );\n };\n\n putLocation = (\n locationId: string\n ): Promise<AxiosResponse<RobotCloudLocationModify>> => {\n return robotcloudApi.put<RobotCloudLocationModify>(\n `locations/${locationId}`,\n {}\n );\n };\n\n deleteLocation = (\n locationId: string\n ): Promise<AxiosResponse<RobotCloudDelete>> => {\n return robotcloudApi.delete<RobotCloudDelete>(\n `locations/${locationId}`,\n {}\n );\n };\n}\n\nexport const locationsClient = new LocationsClient();\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n RobotCloudProject,\n RobotCloudPutProject,\n RobotCloudProjectDetails,\n RobotCloudServiceTypeDetails,\n RobotCloudDelete,\n RobotCloudProjectUsers,\n RobotCloudProjectInstances,\n RobotCloudProjectApplications,\n RobotCloudApplicationEnable\n} from \"../../../types/RobotCloudClient\";\nimport {\n ProjectDetailsRequestParams,\n ProjectsRequestParams,\n SubsystemRequestParams,\n} from \"../../../types/request-params\";\n\nclass ProjectsClient {\n getProjects = (\n params?: ProjectsRequestParams\n ): Promise<AxiosResponse<RobotCloudProject[]>> => {\n return robotcloudApi.get<RobotCloudProject[]>(\"projects\", {\n params,\n });\n };\n\n getProjectDetails = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudProjectDetails>> => {\n return robotcloudApi.get<RobotCloudProjectDetails>(`projects/${prjId}`, {\n params,\n });\n };\n\n putProjectDetails = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudPutProject>> => {\n return robotcloudApi.put<RobotCloudPutProject>(`projects/${prjId}`, {\n params,\n });\n };\n\n deleteProject = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudDelete>> => {\n return robotcloudApi.delete<RobotCloudDelete>(`projects/${prjId}`, {\n params,\n });\n };\n\n getProjectUsers = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudProjectUsers>> => {\n return robotcloudApi.get<RobotCloudProjectUsers>(`projects/${prjId}/users`, {\n params,\n });\n };\n\n getProjectInstances = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudProjectInstances[]>> => {\n return robotcloudApi.get<RobotCloudProjectInstances[]>(\n `projects/${prjId}/instances`,\n {\n params,\n }\n );\n };\n\n getProjectServiceTypes = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudServiceTypeDetails[]>> => {\n return robotcloudApi.get<RobotCloudServiceTypeDetails[]>(\n `projects/${prjId}/services`,\n {\n params,\n }\n );\n };\n\n getProjectApplications = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudProjectApplications[]>> => {\n return robotcloudApi.get<RobotCloudProjectApplications[]>(`projects/${prjId}/applications`, {\n params,\n });\n };\n\n getProjectApplication = (\n prjId: string,\n appId: string\n ): Promise<AxiosResponse<RobotCloudProjectApplications>> => {\n return robotcloudApi.get<RobotCloudProjectApplications>(`projects/${prjId}/applications/${appId}`, \n {}\n );\n };\n\n putProjectApplication = (\n prjId: string,\n appId: string\n ): Promise<AxiosResponse<RobotCloudApplicationEnable>> => {\n return robotcloudApi.put<RobotCloudApplicationEnable>(`projects/${prjId}/applications/${appId}`, \n {}\n );\n };\n\n}\nexport const projectsClient = new ProjectsClient();\n\n","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from \"utils/logger\";\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n RobotCloudServiceInstance,\n ServiceInstanceDetails,\n ServiceInstanceDevicesInfo,\n} from \"../../../types/ServiceInstance\";\nimport { ServiceInstancesRequestParams } from \"../../../types/request-params\";\nimport { ServiceDataMeasurement } from \"../../../types/services\";\nimport { ServiceInstanceRead } from \"../../../types/ServiceInstanceRead\";\n\nconst logger = useLogger(\"service-instances-client\");\n\nclass ServiceInstancesClient {\n getAll = (\n prjId: string,\n params?: ServiceInstancesRequestParams\n ): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(\n `projects/${prjId}/instances`,\n {\n params,\n }\n );\n };\n getServiceInstances = (\n prjId: string,\n service_type: string,\n params?: ServiceInstancesRequestParams\n ): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(\n `projects/${prjId}/services/${service_type}/instances`,\n {\n params,\n }\n );\n };\n\n getServiceInstance = (\n prjId: string,\n service_type: string,\n service_id: string\n ) => {\n return robotcloudApi.get<ServiceInstanceDetails>(\n `projects/${prjId}/services/${service_type}/instances/${service_id}`\n );\n };\n\n getServiceInstanceDevicesInfo = (\n prjId: string,\n service_type: string,\n service_id: string\n ) => {\n return robotcloudApi.get<Record<string, ServiceInstanceDevicesInfo>>(`projects/${prjId}/services/${service_type}/instances/${service_id}/deviceconf`);\n };\n\n getServiceAllInstancesData(\n prjId: string,\n service_type: string\n ): Promise<AxiosResponse<ServiceDataMeasurement<any>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<any>[]>(`projects/${prjId}/services/${service_type}/data`);\n };\n\n getServiceAllInstancesAlerts(\n prjId: string,\n service_type: string\n ): Promise<AxiosResponse<ServiceInstanceRead<any>[]>> {\n return robotcloudApi.get<ServiceInstanceRead<any>[]>(\n `projects/${prjId}/services/${service_type}/alert`);\n };\n\n}\n\nexport const serviceInstancesClient = new ServiceInstancesClient();\n\n","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from \"utils/logger\";\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n putProjectSubsystem\n} from \"../../../types/ProjectSubsystem\";\nimport {\n ProjectLocations\n} from \"../../../types/ProjectLocation\";\nimport { RobotCloudDescribedItem, RobotCloudDelete } from \"../../../types/RobotCloudClient\";\n\nconst logger = useLogger(\"service-instances-client\");\n\nclass SubsystemsClient {\n getProjectSubsystems = (\n prjId: string,\n ): Promise<AxiosResponse<RobotCloudDescribedItem[]>> => {\n logger.info(`Get project ${prjId} subsystems`);\n return robotcloudApi.get<RobotCloudDescribedItem[]>(\n `projects/${prjId}/subsystems`\n );\n };\n\n getProjectSubsystem = (\n prjId: string,\n subsysId: string\n ): Promise<AxiosResponse<RobotCloudDescribedItem>> => {\n logger.info(`Get subsystem ${subsysId} from project ${prjId}`);\n return robotcloudApi.get<RobotCloudDescribedItem>(\n `projects/${prjId}/subsystems/${subsysId}`\n );\n };\n\n postProjectSubsystem = (\n prjId: string,\n ): Promise<AxiosResponse<RobotCloudDescribedItem>> => {\n logger.info(`Create subsystem in project ${prjId}`);\n return robotcloudApi.post<RobotCloudDescribedItem>(\n `projects/${prjId}/subsystems`\n );\n };\n\n putProjectSubsystem = (\n prjId: string,\n subsysId: string,\n ): Promise<AxiosResponse<putProjectSubsystem>> => {\n logger.info(`Update subsystem ${subsysId} in project ${prjId}`);\n return robotcloudApi.put<putProjectSubsystem>(\n `projects/${prjId}/subsystems/${subsysId}`\n );\n };\n\n deleteSubsystem = (\n prjId: string,\n subsysId: string,\n ): Promise<AxiosResponse<RobotCloudDelete>> => {\n logger.info(`Delete subsystem ${subsysId} in project ${prjId}`);\n return robotcloudApi.delete<RobotCloudDelete>(`projects/${prjId}/subsystems/${subsysId}`);\n };\n\n getProjectSubsystemLocations = (\n prjId: string,\n subsysId: string,\n ): Promise<AxiosResponse<ProjectLocations>> => {\n logger.info(`Get subsystems locations ${subsysId} in project ${prjId}`);\n return robotcloudApi.get<ProjectLocations>(\n `projects/${prjId}/subsystems/${subsysId}/locations`\n );\n };\n\n}\nexport const subsystemsClient = new SubsystemsClient();\n","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from \"utils/logger\";\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n ProjectTag,\n ProjectTagDetails,\n ProjectModifyTag,\n} from \"../../../types/ProjectTag\";\nimport {\n RobotCloudDelete,\n} from \"../../../types/RobotCloudClient\";\nimport { ProjectTagRequestParams } from \"../../../types/request-params\";\n\nconst logger = useLogger(\"service-instances-client\");\n\nexport class TagsClient {\n 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\n getTag = (\n prjId: string,\n tagId: string\n ): Promise<AxiosResponse<ProjectTagDetails>> => {\n logger.info(`Get project ${prjId} tag ${tagId}`);\n return robotcloudApi.get<ProjectTagDetails>(`tags/${tagId}`);\n };\n\n postTag = (\n prjId: string,\n ): Promise<AxiosResponse<ProjectTag>> => {\n logger.info(`Create tag for project ${prjId}`);\n return robotcloudApi.post<ProjectTag>(`projects/${prjId}/tags`);\n };\n\n putTag = (\n prjId: string,\n tagId: string\n ): Promise<AxiosResponse<ProjectModifyTag>> => {\n logger.info(`Modify project ${prjId} tag ${tagId}`);\n return robotcloudApi.put<ProjectModifyTag>(`tags/${tagId}`);\n };\n\n deleteTag = (\n prjId: string,\n tagId: string\n ): Promise<AxiosResponse<RobotCloudDelete>> => {\n logger.info(`Delete project ${prjId} tag ${tagId}`);\n return robotcloudApi.delete<RobotCloudDelete>(`tags/${tagId}`);\n };\n\n}\n\nexport const tagsClient = new TagsClient();\n","import { useLogger } from \"utils/logger\";;\nimport { TagsClient } from '../client/projects/tags';\nimport {\n ProjectTagTreeNode,\n ProjectTagsTree,\n} from \"../../types/ProjectTag\";\nimport { ProjectTagRequestParams } from \"../../types/request-params\";\n\nconst logger = useLogger(\"tags-helper\");\n\nexport class TagsHelper {\n private tagsClient: TagsClient;\n\n constructor(tagsClient: TagsClient) {\n this.tagsClient = tagsClient;\n }\n\n public 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 this.getTagsChildren(\n prjId,\n 0,\n undefined,\n undefined,\n maxDepth\n );\n return { root: tags } as ProjectTagsTree;\n };\n\n public 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 this.tagsClient.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 this.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","import { projectsClient } from \"client/projects\";\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 projectsClient.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()","import { tagsClient } from \"client/projects\";\nimport { TagsHelper } from \"helpers/tags\";\n\n\nconst tagsHelper = new TagsHelper(tagsClient)\n\nexport {\n tagsHelper\n}\nexport { robotCloudPermissionsHelper } from \"helpers/robotCloudPermissionsHelper\";\nexport type * from \"../../types/helpers\";"],"mappings":"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","names":["logger","logger","logger","logger","logger","logger","tagsClient","i"]}
1
+ {"version":3,"sources":["../../src/utils/logger.ts","../../src/robotCloudApi.ts","../../src/config.ts","../../src/client/projects/classifiers.ts","../../src/client/projects/devices.ts","../../src/client/projects/locations.ts","../../src/client/projects/projects.ts","../../src/client/projects/service-instances.ts","../../src/client/projects/subsystems.ts","../../src/client/projects/tags.ts","../../src/helpers/tags.ts","../../src/helpers/robotCloudPermissionsHelper.ts","../../src/helpers/index.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 Classifier,\n ClassifierDetails,\n ClassifierCreate,\n ClassifierModify\n} from \"../../../types/ProjectClassifer\";\nimport {\n RobotCloudDelete\n} from \"../../../types/RobotCloudClient\";\nimport { ProjectClassifiersRequestParams } from \"../../../types/request-params\";\n\nconst logger = useLogger(\"classifiers-client\");\n\nclass ClassifiersClient {\n getProjectClassifiers = (\n prjId: string,\n params?: ProjectClassifiersRequestParams\n ): Promise<AxiosResponse<Classifier[]>> => {\n logger.info(`Get project ${prjId} classifiers`);\n return robotcloudApi.get<Classifier[]>(`projects/${prjId}/classifiers`, {\n params,\n });\n };\n\n getClassifier = (\n classifierId: string\n ): Promise<AxiosResponse<ClassifierDetails>> => {\n return robotcloudApi.get<ClassifierDetails>(\n `classifiers/${classifierId}`,\n {}\n );\n };\n\n putClassifier = (\n classifierId: string\n ): Promise<AxiosResponse<ClassifierModify>> => {\n return robotcloudApi.put<ClassifierModify>(\n `classifiers/${classifierId}`,\n {}\n );\n };\n\n postClassifier = (\n classifierId: string\n ): Promise<AxiosResponse<ClassifierCreate>> => {\n return robotcloudApi.post<ClassifierCreate>(\n `classifiers/${classifierId}`,\n {}\n );\n };\n\n deleteClassifier = (\n classifierId: string\n ): Promise<AxiosResponse<RobotCloudDelete>> => {\n return robotcloudApi.delete<RobotCloudDelete>(\n `classifiers/${classifierId}`,\n {}\n );\n };\n}\n\nexport const classifiersClient = new ClassifiersClient();\n","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from \"utils/logger\";\nimport robotcloudApi from \"robotCloudApi\";\nimport { \n RobotCloudDeviceDetails, \n RobotCloudNamedItem,\n RobotCloudRobotCloudDeviceCreate,\n RobotCloudRobotCloudDeviceModify,\n RobotCloudDelete,\n RobotCloudDeviceConfiguration\n} from \"../../../types/RobotCloudClient\";\n\nconst logger = useLogger(\"devices-client\");\n\nclass DevicesClient {\n getProjectDevices = (\n projectId: string\n ): Promise<AxiosResponse<RobotCloudNamedItem[]>> => {\n return robotcloudApi.get<RobotCloudNamedItem[]>(`projects/${projectId}/devices`);\n };\n\n getProjectDevicesLocation = (\n locationId: string\n ): Promise<AxiosResponse<RobotCloudNamedItem[]>> => {\n return robotcloudApi.get<RobotCloudNamedItem[]>(`locations/${locationId}/devices`);\n };\n\n postProjectDeviceLocation = (\n locationId: string\n ): Promise<AxiosResponse<RobotCloudRobotCloudDeviceCreate>> => {\n return robotcloudApi.post<RobotCloudRobotCloudDeviceCreate>(`locations/${locationId}/devices`);\n };\n\n getDeviceDetails = (\n deviceId: string\n ): Promise<AxiosResponse<RobotCloudDeviceDetails>> => {\n return robotcloudApi.get<RobotCloudDeviceDetails>(`devices/${deviceId}`);\n };\n\n putDeviceDetails = (\n deviceId: string\n ): Promise<AxiosResponse<RobotCloudRobotCloudDeviceModify>> => {\n return robotcloudApi.put<RobotCloudRobotCloudDeviceModify>(`devices/${deviceId}`);\n };\n\n deleteDevice = (\n deviceId: string\n ): Promise<AxiosResponse<RobotCloudDelete>> => {\n return robotcloudApi.delete<RobotCloudDelete>(`devices/${deviceId}`);\n };\n\n getDeviceConfiguration = (\n deviceId: string\n ): Promise<AxiosResponse<RobotCloudDeviceConfiguration>> => {\n return robotcloudApi.get<RobotCloudDeviceConfiguration>(`devices/${deviceId}/compatibleconfigurationtypes`);\n };\n}\n\nexport const devicesClient = new DevicesClient();\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n RobotCloudNamedItem,\n RobotCloudServiceType,\n RobotCloudDelete\n} from \"../../../types/RobotCloudClient\";\nimport {\n RobotCloudServiceInstance,\n CreateServiceInstance\n} from \"../../../types/ServiceInstance\";\nimport {\n RobotCloudLocationDetails,\n RobotCloudLocationModify,\n RobotCloudLocationCreate\n} from \"../../../types/ProjectLocation\";\nimport { LocationServiceInstancesRequestParams, ProjectLocationsRequestParams } from \"../../../types/request-params\";\n\nclass LocationsClient {\n \n getLocations = (\n prjId: string,\n params?: ProjectLocationsRequestParams\n ): Promise<AxiosResponse<RobotCloudNamedItem[]>> => {\n return robotcloudApi.get<RobotCloudNamedItem[]>(\n `projects/${prjId}/locations`,\n {\n params,\n }\n );\n };\n\n postLocations = (\n prjId: string,\n params?: ProjectLocationsRequestParams\n ): Promise<AxiosResponse<RobotCloudLocationCreate[]>> => {\n return robotcloudApi.post<RobotCloudLocationCreate[]>(\n `projects/${prjId}/locations`,\n {\n params,\n }\n );\n };\n\n getLocation = (\n locationId: string\n ): Promise<AxiosResponse<RobotCloudLocationDetails>> => {\n return robotcloudApi.get<RobotCloudLocationDetails>(\n `locations/${locationId}`,\n {}\n );\n };\n\n putLocation = (\n locationId: string\n ): Promise<AxiosResponse<RobotCloudLocationModify>> => {\n return robotcloudApi.put<RobotCloudLocationModify>(\n `locations/${locationId}`,\n {}\n );\n };\n\n deleteLocation = (\n locationId: string\n ): Promise<AxiosResponse<RobotCloudDelete>> => {\n return robotcloudApi.delete<RobotCloudDelete>(\n `locations/${locationId}`,\n {}\n );\n };\n}\n\nexport const locationsClient = new LocationsClient();\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n RobotCloudProject,\n RobotCloudPutProject,\n RobotCloudProjectDetails,\n RobotCloudServiceTypeDetails,\n RobotCloudDelete,\n RobotCloudProjectUsers,\n RobotCloudProjectInstances,\n RobotCloudProjectApplications,\n RobotCloudApplicationEnable,\n RobotCloudCreateProject\n} from \"../../../types/RobotCloudClient\";\nimport {\n ProjectDetailsRequestParams,\n ProjectsRequestParams,\n SubsystemRequestParams,\n} from \"../../../types/request-params\";\n\nclass ProjectsClient {\n\n getOrganizationProjects = (\n organizationId: string\n ): Promise<AxiosResponse<RobotCloudProject[]>> => {\n return robotcloudApi.get<RobotCloudProject[]>(\n `organizations/${organizationId}/projects`\n );\n };\n \n postOrganizationProjects = (\n organizationId: string\n ): Promise<AxiosResponse<RobotCloudCreateProject>> => {\n return robotcloudApi.post<RobotCloudCreateProject>(\n `organizations/${organizationId}/projects`\n );\n };\n\n getProjects = (\n params?: ProjectsRequestParams\n ): Promise<AxiosResponse<RobotCloudProject[]>> => {\n return robotcloudApi.get<RobotCloudProject[]>(\"projects\", {\n params,\n });\n };\n\n getProjectDetails = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudProjectDetails>> => {\n return robotcloudApi.get<RobotCloudProjectDetails>(`projects/${prjId}`, {\n params,\n });\n };\n\n putProjectDetails = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudPutProject>> => {\n return robotcloudApi.put<RobotCloudPutProject>(`projects/${prjId}`, {\n params,\n });\n };\n\n deleteProject = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudDelete>> => {\n return robotcloudApi.delete<RobotCloudDelete>(`projects/${prjId}`, {\n params,\n });\n };\n\n getProjectUsers = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudProjectUsers>> => {\n return robotcloudApi.get<RobotCloudProjectUsers>(`projects/${prjId}/users`, {\n params,\n });\n };\n\n getProjectApplications = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudProjectApplications[]>> => {\n return robotcloudApi.get<RobotCloudProjectApplications[]>(`projects/${prjId}/applications`, {\n params,\n });\n };\n\n getProjectApplication = (\n prjId: string,\n appId: string\n ): Promise<AxiosResponse<RobotCloudProjectApplications>> => {\n return robotcloudApi.get<RobotCloudProjectApplications>(`projects/${prjId}/applications/${appId}`, \n {}\n );\n };\n\n putProjectApplication = (\n prjId: string,\n appId: string\n ): Promise<AxiosResponse<RobotCloudApplicationEnable>> => {\n return robotcloudApi.put<RobotCloudApplicationEnable>(`projects/${prjId}/applications/${appId}`, \n {}\n );\n };\n\n}\nexport const projectsClient = new ProjectsClient();\n\n","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from \"utils/logger\";\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n CreateServiceInstance,\n RobotCloudServiceInstance,\n ServiceInstanceDetails,\n ModifyServiceInstanceDetails,\n ServiceInstanceDevicesInfo,\n ProjectSizeInstances\n} from \"../../../types/ServiceInstance\";\nimport {\n RobotCloudServiceTypeDetails,\n RobotCloudDelete\n} from \"../../../types/RobotCloudClient\";\nimport { ServiceInstancesRequestParams } from \"../../../types/request-params\";\nimport { ServiceDataMeasurement } from \"../../../types/services\";\nimport { ServiceInstanceRead } from \"../../../types/ServiceInstanceRead\";\nimport { LocationServiceInstancesRequestParams, ProjectLocationsRequestParams } from \"../../../types/request-params\";\nimport {\n ProjectDetailsRequestParams,\n ProjectsRequestParams,\n SubsystemRequestParams,\n} from \"../../../types/request-params\";\n\nconst logger = useLogger(\"service-instances-client\");\n\nclass ServiceInstancesClient {\n\n getAll = (\n prjId: string,\n params?: ServiceInstancesRequestParams\n ): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(\n `projects/${prjId}/instances`,\n {\n params,\n }\n );\n };\n\n getServiceInstances = (\n prjId: string,\n service_type: string,\n params?: ServiceInstancesRequestParams\n ): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(\n `projects/${prjId}/services/${service_type}/instances`,\n {\n params,\n }\n );\n };\n\n getProjectServiceTypes = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudServiceTypeDetails[]>> => {\n return robotcloudApi.get<RobotCloudServiceTypeDetails[]>(\n `projects/${prjId}/services`,\n {\n params,\n }\n );\n };\n\n\n getLocationServiceInstances = (\n prjId: string,\n locId: string,\n service_type: string,\n params?: LocationServiceInstancesRequestParams\n ): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(\n `projects/${prjId}/locations/${locId}/services/${service_type}/instances`,\n {\n params,\n }\n );\n };\n\n postLocationServiceInstances = (\n prjId: string,\n locId: string,\n service_type: string,\n params?: LocationServiceInstancesRequestParams\n ): Promise<AxiosResponse<CreateServiceInstance>> => {\n return robotcloudApi.post<CreateServiceInstance>(\n `projects/${prjId}/locations/${locId}/services/${service_type}/instances`,\n {\n params,\n }\n );\n };\n\n\n getServiceInstance = (\n prjId: string,\n service_type: string,\n instance_id: string\n ) => {\n return robotcloudApi.get<ServiceInstanceDetails>(\n `projects/${prjId}/services/${service_type}/instances/${instance_id}`\n );\n };\n\n putServiceInstance = (\n prjId: string,\n service_type: string,\n instance_id: string\n ) => {\n return robotcloudApi.put<ModifyServiceInstanceDetails>(\n `projects/${prjId}/services/${service_type}/instances/${instance_id}`\n );\n };\n\n deleteServiceInstance = (\n prjId: string,\n service_type: string,\n instance_id: string\n ) => {\n return robotcloudApi.delete<RobotCloudDelete>(\n `projects/${prjId}/services/${service_type}/instances/${instance_id}`\n );\n };\n\n\n getServiceInstanceDevicesInfo = (\n prjId: string,\n service_type: string,\n instance_id: string\n ) => {\n return robotcloudApi.get<Record<string, ServiceInstanceDevicesInfo>>(`projects/${prjId}/services/${service_type}/instances/${instance_id}/deviceconf`);\n };\n\n putServiceInstanceDevicesInfo = (\n prjId: string,\n service_type: string,\n instance_id: string\n ) => {\n return robotcloudApi.put<Record<string, ServiceInstanceDevicesInfo>>(`projects/${prjId}/services/${service_type}/instances/${instance_id}/deviceconf`);\n };\n\n getServiceAllInstancesData(\n prjId: string,\n service_type: string\n ): Promise<AxiosResponse<ServiceDataMeasurement<any>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<any>[]>(`projects/${prjId}/services/${service_type}/data`);\n };\n\n getServiceInstancesData(\n prjId: string,\n service_type: string,\n instance_id: string\n ): Promise<AxiosResponse<ServiceDataMeasurement<any>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<any>[]>(`projects/${prjId}/services/${service_type}/instances/${instance_id}/data`);\n };\n \n\n getServiceAllInstancesAlerts(\n prjId: string,\n service_type: string\n ): Promise<AxiosResponse<ServiceInstanceRead<any>[]>> {\n return robotcloudApi.get<ServiceInstanceRead<any>[]>(\n `projects/${prjId}/services/${service_type}/alert`);\n };\n\n getServiceInstancesAlerts(\n prjId: string,\n service_type: string,\n instance_id: string\n ): Promise<AxiosResponse<ServiceDataMeasurement<any>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<any>[]>(`projects/${prjId}/services/${service_type}/instances/${instance_id}/alert`);\n };\n\n getServiceInstancesConfiguration(\n prjId: string,\n service_type: string,\n instance_id: string\n ): Promise<AxiosResponse<ServiceDataMeasurement<any>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<any>[]>(`projects/${prjId}/services/${service_type}/instances/${instance_id}/configuration`);\n };\n\n putServiceInstancesConfiguration(\n prjId: string,\n service_type: string,\n instance_id: string\n ): Promise<AxiosResponse<ServiceDataMeasurement<any>[]>> {\n return robotcloudApi.put<ServiceDataMeasurement<any>[]>(`projects/${prjId}/services/${service_type}/instances/${instance_id}/configuration`);\n };\n\n getServiceInstancesHistoricData(\n prjId: string,\n service_type: string,\n instance_id: string\n ): Promise<AxiosResponse<ServiceDataMeasurement<any>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<any>[]>(`projects/${prjId}/services/${service_type}/instances/${instance_id}/historic/data`);\n };\n\n getServiceInstancesHistoricDataAggregate(\n prjId: string,\n service_type: string,\n instance_id: string\n ): Promise<AxiosResponse<ServiceDataMeasurement<any>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<any>[]>(`projects/${prjId}/services/${service_type}/instances/${instance_id}/historic/data/aggregate`);\n };\n\n getServiceLocation (\n prjId: string,\n locationId: string\n ): Promise<AxiosResponse<RobotCloudServiceTypeDetails[]>> {\n return robotcloudApi.get<RobotCloudServiceTypeDetails[]>(\n `projects/${prjId}/locations/${locationId}/services`);\n };\n\n getSizeProjectInstances (\n prjId: string\n ): Promise<AxiosResponse<ProjectSizeInstances>> {\n return robotcloudApi.get<ProjectSizeInstances>(\n `size/projects/${prjId}/instances`);\n };\n\n getSizeProjectServicesInstances (\n prjId: string,\n service_type: string\n ): Promise<AxiosResponse<ProjectSizeInstances>> {\n return robotcloudApi.get<ProjectSizeInstances>(\n `size/projects/${prjId}/services/${service_type}/instances`);\n };\n\n}\n\nexport const serviceInstancesClient = new ServiceInstancesClient();\n\n","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from \"utils/logger\";\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n putProjectSubsystem\n} from \"../../../types/ProjectSubsystem\";\nimport {\n ProjectLocations\n} from \"../../../types/ProjectLocation\";\nimport { RobotCloudDescribedItem, RobotCloudDelete } from \"../../../types/RobotCloudClient\";\n\nconst logger = useLogger(\"service-instances-client\");\n\nclass SubsystemsClient {\n getProjectSubsystems = (\n prjId: string,\n ): Promise<AxiosResponse<RobotCloudDescribedItem[]>> => {\n logger.info(`Get project ${prjId} subsystems`);\n return robotcloudApi.get<RobotCloudDescribedItem[]>(\n `projects/${prjId}/subsystems`\n );\n };\n\n getProjectSubsystem = (\n prjId: string,\n subsysId: string\n ): Promise<AxiosResponse<RobotCloudDescribedItem>> => {\n logger.info(`Get subsystem ${subsysId} from project ${prjId}`);\n return robotcloudApi.get<RobotCloudDescribedItem>(\n `projects/${prjId}/subsystems/${subsysId}`\n );\n };\n\n postProjectSubsystem = (\n prjId: string,\n ): Promise<AxiosResponse<RobotCloudDescribedItem>> => {\n logger.info(`Create subsystem in project ${prjId}`);\n return robotcloudApi.post<RobotCloudDescribedItem>(\n `projects/${prjId}/subsystems`\n );\n };\n\n putProjectSubsystem = (\n prjId: string,\n subsysId: string,\n ): Promise<AxiosResponse<putProjectSubsystem>> => {\n logger.info(`Update subsystem ${subsysId} in project ${prjId}`);\n return robotcloudApi.put<putProjectSubsystem>(\n `projects/${prjId}/subsystems/${subsysId}`\n );\n };\n\n deleteSubsystem = (\n prjId: string,\n subsysId: string,\n ): Promise<AxiosResponse<RobotCloudDelete>> => {\n logger.info(`Delete subsystem ${subsysId} in project ${prjId}`);\n return robotcloudApi.delete<RobotCloudDelete>(`projects/${prjId}/subsystems/${subsysId}`);\n };\n\n getProjectSubsystemLocations = (\n prjId: string,\n subsysId: string,\n ): Promise<AxiosResponse<ProjectLocations>> => {\n logger.info(`Get subsystems locations ${subsysId} in project ${prjId}`);\n return robotcloudApi.get<ProjectLocations>(\n `projects/${prjId}/subsystems/${subsysId}/locations`\n );\n };\n\n}\nexport const subsystemsClient = new SubsystemsClient();\n","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from \"utils/logger\";\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n ProjectTag,\n ProjectTagDetails,\n ProjectModifyTag,\n} from \"../../../types/ProjectTag\";\nimport {\n RobotCloudDelete,\n} from \"../../../types/RobotCloudClient\";\nimport { ProjectTagRequestParams } from \"../../../types/request-params\";\n\nconst logger = useLogger(\"service-instances-client\");\n\nexport class TagsClient {\n 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\n getTag = (\n prjId: string,\n tagId: string\n ): Promise<AxiosResponse<ProjectTagDetails>> => {\n logger.info(`Get project ${prjId} tag ${tagId}`);\n return robotcloudApi.get<ProjectTagDetails>(`tags/${tagId}`);\n };\n\n postTag = (\n prjId: string,\n ): Promise<AxiosResponse<ProjectTag>> => {\n logger.info(`Create tag for project ${prjId}`);\n return robotcloudApi.post<ProjectTag>(`projects/${prjId}/tags`);\n };\n\n putTag = (\n prjId: string,\n tagId: string\n ): Promise<AxiosResponse<ProjectModifyTag>> => {\n logger.info(`Modify project ${prjId} tag ${tagId}`);\n return robotcloudApi.put<ProjectModifyTag>(`tags/${tagId}`);\n };\n\n deleteTag = (\n prjId: string,\n tagId: string\n ): Promise<AxiosResponse<RobotCloudDelete>> => {\n logger.info(`Delete project ${prjId} tag ${tagId}`);\n return robotcloudApi.delete<RobotCloudDelete>(`tags/${tagId}`);\n };\n\n}\n\nexport const tagsClient = new TagsClient();\n","import { useLogger } from \"utils/logger\";;\nimport { TagsClient } from '../client/projects/tags';\nimport {\n ProjectTagTreeNode,\n ProjectTagsTree,\n} from \"../../types/ProjectTag\";\nimport { ProjectTagRequestParams } from \"../../types/request-params\";\n\nconst logger = useLogger(\"tags-helper\");\n\nexport class TagsHelper {\n private tagsClient: TagsClient;\n\n constructor(tagsClient: TagsClient) {\n this.tagsClient = tagsClient;\n }\n\n public 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 this.getTagsChildren(\n prjId,\n 0,\n undefined,\n undefined,\n maxDepth\n );\n return { root: tags } as ProjectTagsTree;\n };\n\n public 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 this.tagsClient.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 this.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","import { projectsClient } from \"client/projects\";\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 projectsClient.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()","import { tagsClient } from \"client/projects\";\nimport { TagsHelper } from \"helpers/tags\";\n\n\nconst tagsHelper = new TagsHelper(tagsClient)\n\nexport {\n tagsHelper\n}\nexport { robotCloudPermissionsHelper } from \"helpers/robotCloudPermissionsHelper\";\nexport type * from \"../../types/helpers\";"],"mappings":"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","names":["logger","logger","logger","logger","logger","logger","tagsClient","i"]}
@@ -32,16 +32,6 @@ interface RobotCloudProject {
32
32
  interface RobotCloudDelete {
33
33
  deleted_id: string
34
34
  }
35
-
36
- interface RobotCloudCreateProject {
37
- name: string
38
- description?: string
39
- country?: string
40
- timezone?: string
41
- longitude?: number
42
- latitude?: number
43
- image_url?: string
44
- }
45
35
  /** APPLICATIONS */
46
36
  interface RobotCloudCreateApplication extends RobotCloudDescribedItem{
47
37
  access_level: ProjectAccessLevel;
@@ -60,12 +50,10 @@ interface RobotCloudGetApplication extends RobotCloudDescribedItem{
60
50
  update_user?: string
61
51
  }
62
52
 
63
- interface RobotCloudPutApplication extends RobotCloudDescribedItem{
53
+ interface RobotCloudPutApplication {
54
+ name?: string
55
+ description?: string
64
56
  access_level?: ProjectAccessLevel;
65
- create_time?: string
66
- create_user?: string
67
- update_time?: string
68
- update_user?: string
69
57
  }
70
58
 
71
59
  /** ORGANIZATIONS */
@@ -195,6 +183,26 @@ interface RobotCloudProjectDetails extends RobotCloudProject {
195
183
  app_access_level?: AppAccessLevel;
196
184
  }
197
185
 
186
+ interface RobotCloudCreateProject {
187
+ name: string
188
+ description?: string
189
+ country?: string
190
+ timezone?: string
191
+ longitude?: number
192
+ latitude?: number
193
+ image_url?: string
194
+ }
195
+
196
+ interface RobotCloudCreateProject {
197
+ name: string
198
+ description?: string
199
+ country?: string
200
+ timezone?: string
201
+ longitude?: number;
202
+ latitude?: number;
203
+ image_url?: string;
204
+ }
205
+
198
206
  interface RobotCloudProjectApplications {
199
207
  application_id: string
200
208
  application_name: string
@@ -536,4 +544,4 @@ declare const robotCloudPermissionsHelper: RobotCloudPermissionsHelper;
536
544
 
537
545
  declare const tagsHelper: TagsHelper;
538
546
 
539
- export { type RobotCloudProjectInstances as $, type AlertsProjectStatsRequestParams as A, type ServiceDataRequestParams as B, type ServiceDataMeasurement as C, type ServiceInstanceDataRequestParams as D, type ServiceInstanceHistoricParams as E, type ServiceInstanceHistoricAggregateParams as F, type RoomGuestStatus1AlertEventValue as G, type HistoricAggregateFunction as H, type AirQuality1AlertEventValue as I, type AirQuality1DataEventValue as J, type RoomConsumes1AlertEventValue as K, type RobotCloudRobotCloudDeviceCreate as L, type RobotCloudDeviceDetails as M, type RobotCloudRobotCloudDeviceModify as N, type RobotCloudDeviceConfiguration as O, type ProjectClassifiersRequestParams as P, type RobotCloudServiceType as Q, type RobotCloudOrganizations as R, type SubsystemRequestParams as S, type TemperatureUnit as T, type LocationServiceInstancesRequestParams as U, type ProjectLocationsRequestParams as V, type ProjectsRequestParams as W, type ProjectDetailsRequestParams as X, type RobotCloudProjectDetails as Y, type RobotCloudPutProject as Z, type RobotCloudProjectUsers as _, type RobotCloudCreateOrganization as a, type RobotCloudServiceTypeDetails as a0, type RobotCloudProjectApplications as a1, type RobotCloudApplicationEnable as a2, type ServiceInstancesRequestParams as a3, type ServiceInstanceRead as a4, tagsClient as a5, tagsHelper as a6, robotCloudPermissionsHelper as a7, type RobotCloudPermissionsHelper as a8, type ProjectTagTreeNode as a9, type ProjectTagsTree as aa, type ProjectTag as ab, type ProjectModifyTag as ac, type ProjectTagDetails as ad, type PaginableRequestParams as ae, type SortableListRequestParams as af, type SubsystemTagsRequestParams as ag, type BaseFullPaginableRequestParams as ah, type ProjectTagRequestParams as ai, type OrganizationAccessLevel as aj, type ProjectAccessLevel as ak, type AppAccessLevel as al, type FancoilSpeedState as am, type RobotCloudCreateProject as an, type RobotCloudUserAppAccess as ao, type RobotCloudCreateUser as ap, type MeasurementStatus as aq, type RobotCloudOrganizationDetails as b, type RobotCloudPutOrganization as c, type RobotCloudDelete as d, type RobotCloudProject as e, type RobotCloudOrganizationCreateUser as f, type RobotCloudOrganizationUsers as g, type RobotCloudUsers as h, type RobotCloudUserDetails as i, type RobotCloudPutUserDetails as j, type RobotCloudUserOrganization as k, type RobotCloudUserProject as l, type RobotCloudPostUserProject as m, type RobotCloudPutProjectUser as n, type AlertLogsListRequestParams as o, type RobotCloudNamedItem as p, type RobotCloudUserSimple as q, type AlertAggregatedLogsRequestParams as r, type RobotCloudDescribedItem as s, type RobotCloudCreateApplication as t, type RobotCloudGetApplication as u, type RobotCloudPutApplication as v, type RegimState as w, type ServiceInstanceConfigClient as x, type ServiceTypeClient as y, type RoomClime1AlertEventValue as z };
547
+ export { type RobotCloudApplicationEnable as $, type AlertsProjectStatsRequestParams as A, type ServiceDataMeasurement as B, type ServiceInstanceDataRequestParams as C, type ServiceInstanceHistoricParams as D, type ServiceInstanceHistoricAggregateParams as E, type RoomGuestStatus1AlertEventValue as F, type AirQuality1AlertEventValue as G, type HistoricAggregateFunction as H, type AirQuality1DataEventValue as I, type RoomConsumes1AlertEventValue as J, type RobotCloudRobotCloudDeviceCreate as K, type RobotCloudDeviceDetails as L, type RobotCloudRobotCloudDeviceModify as M, type RobotCloudDeviceConfiguration as N, type ProjectLocationsRequestParams as O, type ProjectClassifiersRequestParams as P, type RobotCloudProject as Q, type RobotCloudOrganizations as R, type SubsystemRequestParams as S, type TemperatureUnit as T, type RobotCloudCreateProject as U, type ProjectsRequestParams as V, type ProjectDetailsRequestParams as W, type RobotCloudProjectDetails as X, type RobotCloudPutProject as Y, type RobotCloudProjectUsers as Z, type RobotCloudProjectApplications as _, type RobotCloudCreateOrganization as a, type ServiceInstancesRequestParams as a0, type RobotCloudServiceTypeDetails as a1, type LocationServiceInstancesRequestParams as a2, type ServiceInstanceRead as a3, tagsClient as a4, tagsHelper as a5, robotCloudPermissionsHelper as a6, type RobotCloudPermissionsHelper as a7, type ProjectTagTreeNode as a8, type ProjectTagsTree as a9, type ProjectTag as aa, type ProjectModifyTag as ab, type ProjectTagDetails as ac, type PaginableRequestParams as ad, type SortableListRequestParams as ae, type SubsystemTagsRequestParams as af, type BaseFullPaginableRequestParams as ag, type ProjectTagRequestParams as ah, type OrganizationAccessLevel as ai, type ProjectAccessLevel as aj, type AppAccessLevel as ak, type RobotCloudServiceType as al, type FancoilSpeedState as am, type RobotCloudUserAppAccess as an, type RobotCloudCreateUser as ao, type RobotCloudProjectInstances as ap, type MeasurementStatus as aq, type RobotCloudOrganizationDetails as b, type RobotCloudPutOrganization as c, type RobotCloudDelete as d, type RobotCloudOrganizationUsers as e, type RobotCloudOrganizationCreateUser as f, type RobotCloudUsers as g, type RobotCloudUserDetails as h, type RobotCloudPutUserDetails as i, type RobotCloudUserOrganization as j, type RobotCloudUserProject as k, type RobotCloudPostUserProject as l, type RobotCloudPutProjectUser as m, type AlertLogsListRequestParams as n, type RobotCloudNamedItem as o, type RobotCloudUserSimple as p, type AlertAggregatedLogsRequestParams as q, type RobotCloudDescribedItem as r, type RobotCloudCreateApplication as s, type RobotCloudGetApplication as t, type RobotCloudPutApplication as u, type RegimState as v, type ServiceInstanceConfigClient as w, type ServiceTypeClient as x, type RoomClime1AlertEventValue as y, type ServiceDataRequestParams as z };
@@ -32,16 +32,6 @@ interface RobotCloudProject {
32
32
  interface RobotCloudDelete {
33
33
  deleted_id: string
34
34
  }
35
-
36
- interface RobotCloudCreateProject {
37
- name: string
38
- description?: string
39
- country?: string
40
- timezone?: string
41
- longitude?: number
42
- latitude?: number
43
- image_url?: string
44
- }
45
35
  /** APPLICATIONS */
46
36
  interface RobotCloudCreateApplication extends RobotCloudDescribedItem{
47
37
  access_level: ProjectAccessLevel;
@@ -60,12 +50,10 @@ interface RobotCloudGetApplication extends RobotCloudDescribedItem{
60
50
  update_user?: string
61
51
  }
62
52
 
63
- interface RobotCloudPutApplication extends RobotCloudDescribedItem{
53
+ interface RobotCloudPutApplication {
54
+ name?: string
55
+ description?: string
64
56
  access_level?: ProjectAccessLevel;
65
- create_time?: string
66
- create_user?: string
67
- update_time?: string
68
- update_user?: string
69
57
  }
70
58
 
71
59
  /** ORGANIZATIONS */
@@ -195,6 +183,26 @@ interface RobotCloudProjectDetails extends RobotCloudProject {
195
183
  app_access_level?: AppAccessLevel;
196
184
  }
197
185
 
186
+ interface RobotCloudCreateProject {
187
+ name: string
188
+ description?: string
189
+ country?: string
190
+ timezone?: string
191
+ longitude?: number
192
+ latitude?: number
193
+ image_url?: string
194
+ }
195
+
196
+ interface RobotCloudCreateProject {
197
+ name: string
198
+ description?: string
199
+ country?: string
200
+ timezone?: string
201
+ longitude?: number;
202
+ latitude?: number;
203
+ image_url?: string;
204
+ }
205
+
198
206
  interface RobotCloudProjectApplications {
199
207
  application_id: string
200
208
  application_name: string
@@ -536,4 +544,4 @@ declare const robotCloudPermissionsHelper: RobotCloudPermissionsHelper;
536
544
 
537
545
  declare const tagsHelper: TagsHelper;
538
546
 
539
- export { type RobotCloudProjectInstances as $, type AlertsProjectStatsRequestParams as A, type ServiceDataRequestParams as B, type ServiceDataMeasurement as C, type ServiceInstanceDataRequestParams as D, type ServiceInstanceHistoricParams as E, type ServiceInstanceHistoricAggregateParams as F, type RoomGuestStatus1AlertEventValue as G, type HistoricAggregateFunction as H, type AirQuality1AlertEventValue as I, type AirQuality1DataEventValue as J, type RoomConsumes1AlertEventValue as K, type RobotCloudRobotCloudDeviceCreate as L, type RobotCloudDeviceDetails as M, type RobotCloudRobotCloudDeviceModify as N, type RobotCloudDeviceConfiguration as O, type ProjectClassifiersRequestParams as P, type RobotCloudServiceType as Q, type RobotCloudOrganizations as R, type SubsystemRequestParams as S, type TemperatureUnit as T, type LocationServiceInstancesRequestParams as U, type ProjectLocationsRequestParams as V, type ProjectsRequestParams as W, type ProjectDetailsRequestParams as X, type RobotCloudProjectDetails as Y, type RobotCloudPutProject as Z, type RobotCloudProjectUsers as _, type RobotCloudCreateOrganization as a, type RobotCloudServiceTypeDetails as a0, type RobotCloudProjectApplications as a1, type RobotCloudApplicationEnable as a2, type ServiceInstancesRequestParams as a3, type ServiceInstanceRead as a4, tagsClient as a5, tagsHelper as a6, robotCloudPermissionsHelper as a7, type RobotCloudPermissionsHelper as a8, type ProjectTagTreeNode as a9, type ProjectTagsTree as aa, type ProjectTag as ab, type ProjectModifyTag as ac, type ProjectTagDetails as ad, type PaginableRequestParams as ae, type SortableListRequestParams as af, type SubsystemTagsRequestParams as ag, type BaseFullPaginableRequestParams as ah, type ProjectTagRequestParams as ai, type OrganizationAccessLevel as aj, type ProjectAccessLevel as ak, type AppAccessLevel as al, type FancoilSpeedState as am, type RobotCloudCreateProject as an, type RobotCloudUserAppAccess as ao, type RobotCloudCreateUser as ap, type MeasurementStatus as aq, type RobotCloudOrganizationDetails as b, type RobotCloudPutOrganization as c, type RobotCloudDelete as d, type RobotCloudProject as e, type RobotCloudOrganizationCreateUser as f, type RobotCloudOrganizationUsers as g, type RobotCloudUsers as h, type RobotCloudUserDetails as i, type RobotCloudPutUserDetails as j, type RobotCloudUserOrganization as k, type RobotCloudUserProject as l, type RobotCloudPostUserProject as m, type RobotCloudPutProjectUser as n, type AlertLogsListRequestParams as o, type RobotCloudNamedItem as p, type RobotCloudUserSimple as q, type AlertAggregatedLogsRequestParams as r, type RobotCloudDescribedItem as s, type RobotCloudCreateApplication as t, type RobotCloudGetApplication as u, type RobotCloudPutApplication as v, type RegimState as w, type ServiceInstanceConfigClient as x, type ServiceTypeClient as y, type RoomClime1AlertEventValue as z };
547
+ export { type RobotCloudApplicationEnable as $, type AlertsProjectStatsRequestParams as A, type ServiceDataMeasurement as B, type ServiceInstanceDataRequestParams as C, type ServiceInstanceHistoricParams as D, type ServiceInstanceHistoricAggregateParams as E, type RoomGuestStatus1AlertEventValue as F, type AirQuality1AlertEventValue as G, type HistoricAggregateFunction as H, type AirQuality1DataEventValue as I, type RoomConsumes1AlertEventValue as J, type RobotCloudRobotCloudDeviceCreate as K, type RobotCloudDeviceDetails as L, type RobotCloudRobotCloudDeviceModify as M, type RobotCloudDeviceConfiguration as N, type ProjectLocationsRequestParams as O, type ProjectClassifiersRequestParams as P, type RobotCloudProject as Q, type RobotCloudOrganizations as R, type SubsystemRequestParams as S, type TemperatureUnit as T, type RobotCloudCreateProject as U, type ProjectsRequestParams as V, type ProjectDetailsRequestParams as W, type RobotCloudProjectDetails as X, type RobotCloudPutProject as Y, type RobotCloudProjectUsers as Z, type RobotCloudProjectApplications as _, type RobotCloudCreateOrganization as a, type ServiceInstancesRequestParams as a0, type RobotCloudServiceTypeDetails as a1, type LocationServiceInstancesRequestParams as a2, type ServiceInstanceRead as a3, tagsClient as a4, tagsHelper as a5, robotCloudPermissionsHelper as a6, type RobotCloudPermissionsHelper as a7, type ProjectTagTreeNode as a8, type ProjectTagsTree as a9, type ProjectTag as aa, type ProjectModifyTag as ab, type ProjectTagDetails as ac, type PaginableRequestParams as ad, type SortableListRequestParams as ae, type SubsystemTagsRequestParams as af, type BaseFullPaginableRequestParams as ag, type ProjectTagRequestParams as ah, type OrganizationAccessLevel as ai, type ProjectAccessLevel as aj, type AppAccessLevel as ak, type RobotCloudServiceType as al, type FancoilSpeedState as am, type RobotCloudUserAppAccess as an, type RobotCloudCreateUser as ao, type RobotCloudProjectInstances as ap, type MeasurementStatus as aq, type RobotCloudOrganizationDetails as b, type RobotCloudPutOrganization as c, type RobotCloudDelete as d, type RobotCloudOrganizationUsers as e, type RobotCloudOrganizationCreateUser as f, type RobotCloudUsers as g, type RobotCloudUserDetails as h, type RobotCloudPutUserDetails as i, type RobotCloudUserOrganization as j, type RobotCloudUserProject as k, type RobotCloudPostUserProject as l, type RobotCloudPutProjectUser as m, type AlertLogsListRequestParams as n, type RobotCloudNamedItem as o, type RobotCloudUserSimple as p, type AlertAggregatedLogsRequestParams as q, type RobotCloudDescribedItem as r, type RobotCloudCreateApplication as s, type RobotCloudGetApplication as t, type RobotCloudPutApplication as u, type RegimState as v, type ServiceInstanceConfigClient as w, type ServiceTypeClient as x, type RoomClime1AlertEventValue as y, type ServiceDataRequestParams as z };