UNPKG

@iotize/ionic

Version:

Iotize specific building blocks on top of @ionic/angular.

99 lines 13.8 kB
import { AppPathType, TapResponse } from '@iotize/tap'; import { InterfaceService } from '@iotize/tap/service/impl/interface'; import { TapnpassService } from '@iotize/tap/service/impl/tapnpass'; import { TargetService } from '@iotize/tap/service/impl/target'; export async function adpServiceGetAdpVersion() { const response = await this.getStatus(); response.successful(); const data = await response.rawBody(); const version = data.slice(2, 5); return { major: version[0], minor: version[1], patch: version[2], }; } TapnpassService.prototype.getAdpVersion = adpServiceGetAdpVersion; // export async function interfaceServiceGetAppType(this: InterfaceService): Promise<TapVersion>{ // let response: TapResponse<any> = await this. // } // InterfaceService.prototype.getAppType = interfaceServiceGetAppType; export async function interfaceServiceGetAppPathResolved() { const response = (await this.getAppPath()); if (response.isSuccessful()) { let value = response.body(); if (value.length >= 3) { const start = value.substring(0, 3); const valueWithoutPrefix = value.substring(3); switch (start) { case AppPathType.PRIMER_CLOUD_WEB_APP_URL: value = `https://user.cloud.iotize.com/users/${valueWithoutPrefix}`; break; case AppPathType.URL: value = `${valueWithoutPrefix}`; break; case AppPathType.PRIMER_CLOUD_CONFIG_URL: value = `https://user.cloud.iotize.com/users/${valueWithoutPrefix}`; break; } } response.setBody(value); } return response; } InterfaceService.prototype.getAppPathResolved = interfaceServiceGetAppPathResolved; export async function interfaceServiceGetConfigPath() { const response = (await this.getAppPath()); if (response.isSuccessful()) { let value = response.body(); const start = value.substr(0, 2); switch (start) { case '$5': value = `http://user.cloud.iotize.com/users${value.substr(2)}`; break; default: if (!value.endsWith('.json') && !value.endsWith('.xml') && !value.endsWith('.cloud')) { value = ''; } } response.setBody(value); } return response; } InterfaceService.prototype.getConfigPath = interfaceServiceGetConfigPath; // export async function targetServiceGetAppType(this: TargetService): Promise<TapResponse<string>> { // let response = await this.getProtocol(); // let protocol = response.body(); // let newResponse: TapResponse<string> = TapResponse.SUCCESS(); // switch (protocol) { // case TargetProtocol.SERIAL_VIA_TAPNPASS: // newResponse.setBody("tapnpass"); // default: // newResponse.setBody("tapnlink"); // } // return newResponse; // } export async function targetServiceGetAppType() { const response = await this.getSubProtocol(); const newResponse = TapResponse.SUCCESS(); if (response.isSuccessful()) { newResponse.setBody('tapnpass'); } else { newResponse.setBody('tapnlink'); } return newResponse; } TargetService.prototype.getAppType = targetServiceGetAppType; // export async function isConnected(this: TargetService): Promise<TapResponse<boolean>> { // return this._call({ // path: "/target/connect", // methodType: "get", // responseBodyDecoder: "boolean" // }) // } // TargetService.prototype.isConnected = isConnected; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWNsaWVudC1leHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW90aXplLWlvbmljL3NyYy9saWIvZXh0ZW5zaW9ucy9kZXZpY2UtY2xpZW50LWV4dGVuc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQWMsTUFBTSxhQUFhLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQU9oRSxNQUFNLENBQUMsS0FBSyxVQUFVLHVCQUF1QjtJQUczQyxNQUFNLFFBQVEsR0FBcUIsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDMUQsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLE1BQU0sSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLE9BQU87UUFDTCxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNqQixLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNqQixLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztLQUNsQixDQUFDO0FBQ0osQ0FBQztBQUVELGVBQWUsQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLHVCQUF1QixDQUFDO0FBVWxFLGlHQUFpRztBQUNqRyxtREFBbUQ7QUFDbkQsSUFBSTtBQUVKLHNFQUFzRTtBQUV0RSxNQUFNLENBQUMsS0FBSyxVQUFVLGtDQUFrQztJQUd0RCxNQUFNLFFBQVEsR0FBd0IsQ0FBQyxN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TyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFDRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBRUQsYUFBYSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsdUJBQXVCLENBQUM7QUFFN0QsMEZBQTBGO0FBQzFGLDBCQUEwQjtBQUMxQixtQ0FBbUM7QUFDbkMsNkJBQTZCO0FBQzdCLHlDQUF5QztBQUN6QyxTQUFTO0FBQ1QsSUFBSTtBQUVKLHFEQUFxRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcFBhdGhUeXBlLCBUYXBSZXNwb25zZSwgVGFwVmVyc2lvbiB9IGZyb20gJ0Bpb3RpemUvdGFwJztcbmltcG9ydCB7IEludGVyZmFjZVNlcnZpY2UgfSBmcm9tICdAaW90aXplL3RhcC9zZXJ2aWNlL2ltcGwvaW50ZXJmYWNlJztcbmltcG9ydCB7IFRhcG5wYXNzU2VydmljZSB9IGZyb20gJ0Bpb3RpemUvdGFwL3NlcnZpY2UvaW1wbC90YXBucGFzcyc7XG5pbXBvcnQgeyBUYXJnZXRTZXJ2aWNlIH0gZnJvbSAnQGlvdGl6ZS90YXAvc2VydmljZS9pbXBsL3RhcmdldCc7XG5cbmRlY2xhcmUgbW9kdWxlICdAaW90aXplL3RhcC9zZXJ2aWNlL2ltcGwvdGFwbnBhc3MvbGliL2dlbmVyYXRlZC9zZXJ2aWNlJyB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgVGFwbnBhc3NTZXJ2aWNlIHtcbiAgICBnZXRBZHBWZXJzaW9uKCk6IFByb21pc2U8VGFwVmVyc2lvbj47XG4gIH1cbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhZHBTZXJ2aWNlR2V0QWRwVmVyc2lvbihcbiAgdGhpczogVGFwbnBhc3NTZXJ2aWNlXG4pOiBQcm9taXNlPFRhcFZlcnNpb24+IHtcbiAgY29uc3QgcmVzcG9uc2U6IFRhcFJlc3BvbnNlPGFueT4gPSBhd2FpdCB0aGlzLmdldFN0YXR1cygpO1xuICByZXNwb25zZS5zdWNjZXNzZnVsKCk7XG4gIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5yYXdCb2R5KCk7XG4gIGNvbnN0IHZlcnNpb24gPSBkYXRhLnNsaWNlKDIsIDUpO1xuICByZXR1cm4ge1xuICAgIG1ham9yOiB2ZXJzaW9uWzBdLFxuICAgIG1pbm9yOiB2ZXJzaW9uWzFdLFxuICAgIHBhdGNoOiB2ZXJzaW9uWzJdLFxuICB9O1xufVxuXG5UYXBucGFzc1NlcnZpY2UucHJvdG90eXBlLmdldEFkcFZlcnNpb24gPSBhZHBTZXJ2aWNlR2V0QWRwVmVyc2lvbjtcblxuZGVjbGFyZSBtb2R1bGUgJ0Bpb3RpemUvdGFwL3NlcnZpY2UvaW1wbC9pbnRlcmZhY2UvbGliL2dlbmVyYXRlZC9zZXJ2aWNlJyB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlU2VydmljZSB7XG4gICAgZ2V0QXBwUGF0aFJlc29sdmVkKCk6IFByb21pc2U8VGFwUmVzcG9uc2U8c3RyaW5nPj47XG5cbiAgICBnZXRDb25maWdQYXRoKCk6IFByb21pc2U8VGFwUmVzcG9uc2U8c3RyaW5nPj47XG4gIH1cbn1cblxuLy8gZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGludGVyZmFjZVNlcnZpY2VHZXRBcHBUeXBlKHRoaXM6IEludGVyZmFjZVNlcnZpY2UpOiBQcm9taXNlPFRhcFZlcnNpb24+e1xuLy8gICAgIGxldCByZXNwb25zZTogVGFwUmVzcG9uc2U8YW55PiA9IGF3YWl0IHRoaXMuXG4vLyB9XG5cbi8vIEludGVyZmFjZVNlcnZpY2UucHJvdG90eXBlLmdldEFwcFR5cGUgPSBpbnRlcmZhY2VTZXJ2aWNlR2V0QXBwVHlwZTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGludGVyZmFjZVNlcnZpY2VHZXRBcHBQYXRoUmVzb2x2ZWQoXG4gIHRoaXM6IEludGVyZmFjZVNlcnZpY2Vcbik6IFByb21pc2U8VGFwUmVzcG9uc2U8c3RyaW5nPj4ge1xuICBjb25zdCByZXNwb25zZTogVGFwUmVzcG9uc2U8c3RyaW5nPiA9IChhd2FpdCB0aGlzLmdldEFwcFBhdGgoKSkgYXMgYW55O1xuICBpZiAocmVzcG9uc2UuaXNTdWNjZXNzZnVsKCkpIHtcbiAgICBsZXQgdmFsdWUgPSByZXNwb25zZS5ib2R5KCk7XG4gICAgaWYgKHZhbHVlLmxlbmd0aCA+PSAzKSB7XG4gICAgICBjb25zdCBzdGFydCA9IHZhbHVlLnN1YnN0cmluZygwLCAzKTtcbiAgICAgIGNvbnN0IHZhbHVlV2l0aG91dFByZWZpeCA9IHZhbHVlLnN1YnN0cmluZygzKTtcbiAgICAgIHN3aXRjaCAoc3RhcnQpIHtcbiAgICAgICAgY2FzZSBBcHBQYXRoVHlwZS5QUklNRVJfQ0xPVURfV0VCX0FQUF9VUkw6XG4gICAgICAgICAgdmFsdWUgPSBgaHR0cHM6Ly91c2VyLmNsb3VkLmlvdGl6ZS5jb20vdXNlcnMvJHt2YWx1ZVdpdGhvdXRQcmVmaXh9YDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBBcHBQYXRoVHlwZS5VUkw6XG4gICAgICAgICAgdmFsdWUgPSBgJHt2YWx1ZVdpdGhvdXRQcmVmaXh9YDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBBcHBQYXRoVHlwZS5QUklNRVJfQ0xPVURfQ09ORklHX1VSTDpcbiAgICAgICAgICB2YWx1ZSA9IGBodHRwczovL3VzZXIuY2xvdWQuaW90aXplLmNvbS91c2Vycy8ke3ZhbHVlV2l0aG91dFByZWZpeH1gO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXNwb25zZS5zZXRCb2R5KHZhbHVlKTtcbiAgfVxuICByZXR1cm4gcmVzcG9uc2U7XG59XG5cbkludGVyZmFjZVNlcnZpY2UucHJvdG90eXBlLmdldEFwcFBhdGhSZXNvbHZlZCA9XG4gIGludGVyZmFjZVNlcnZpY2VHZXRBcHBQYXRoUmVzb2x2ZWQ7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbnRlcmZhY2VTZXJ2aWNlR2V0Q29uZmlnUGF0aChcbiAgdGhpczogSW50ZXJmYWNlU2VydmljZVxuKTogUHJvbWlzZTxUYXBSZXNwb25zZTxzdHJpbmc+PiB7XG4gIGNvbnN0IHJlc3BvbnNlOiBUYXBSZXNwb25zZTxzdHJpbmc+ID1cbiAgICAoYXdhaXQgdGhpcy5nZXRBcHBQYXRoKCkpIGFzIFRhcFJlc3BvbnNlPHN0cmluZz47XG4gIGlmIChyZXNwb25zZS5pc1N1Y2Nlc3NmdWwoKSkge1xuICAgIGxldCB2YWx1ZSA9IHJlc3BvbnNlLmJvZHkoKTtcbiAgICBjb25zdCBzdGFydCA9IHZhbHVlLnN1YnN0cigwLCAyKTtcbiAgICBzd2l0Y2ggKHN0YXJ0KSB7XG4gICAgICBjYXNlICckNSc6XG4gICAgICAgIHZhbHVlID0gYGh0dHA6Ly91c2VyLmNsb3VkLmlvdGl6ZS5jb20vdXNlcnMke3ZhbHVlLnN1YnN0cigyKX1gO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmIChcbiAgICAgICAgICAhdmFsdWUuZW5kc1dpdGgoJy5qc29uJykgJiZcbiAgICAgICAgICAhdmFsdWUuZW5kc1dpdGgoJy54bWwnKSAmJlxuICAgICAgICAgICF2YWx1ZS5lbmRzV2l0aCgnLmNsb3VkJylcbiAgICAgICAgKSB7XG4gICAgICAgICAgdmFsdWUgPSAnJztcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXNwb25zZS5zZXRCb2R5KHZhbHVlKTtcbiAgfVxuICByZXR1cm4gcmVzcG9uc2U7XG59XG5cbkludGVyZmFjZVNlcnZpY2UucHJvdG90eXBlLmdldENvbmZpZ1BhdGggPSBpbnRlcmZhY2VTZXJ2aWNlR2V0Q29uZmlnUGF0aDtcblxuZGVjbGFyZSBtb2R1bGUgJ0Bpb3RpemUvdGFwL3NlcnZpY2UvaW1wbC90YXJnZXQvbGliL2dlbmVyYXRlZC9zZXJ2aWNlJyB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgVGFyZ2V0U2VydmljZSB7XG4gICAgZ2V0QXBwVHlwZSgpOiBQcm9taXNlPFRhcFJlc3BvbnNlPHN0cmluZz4+O1xuICB9XG59XG5cbi8vIGV4cG9ydCBhc3luYyBmdW5jdGlvbiB0YXJnZXRTZXJ2aWNlR2V0QXBwVHlwZSh0aGlzOiBUYXJnZXRTZXJ2aWNlKTogUHJvbWlzZTxUYXBSZXNwb25zZTxzdHJpbmc+PiB7XG4vLyAgICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5nZXRQcm90b2NvbCgpO1xuLy8gICAgIGxldCBwcm90b2NvbCA9IHJlc3BvbnNlLmJvZHkoKTtcbi8vICAgICBsZXQgbmV3UmVzcG9uc2U6IFRhcFJlc3BvbnNlPHN0cmluZz4gPSBUYXBSZXNwb25zZS5TVUNDRVNTKCk7XG4vLyAgICAgc3dpdGNoIChwcm90b2NvbCkge1xuLy8gICAgICAgICBjYXNlIFRhcmdldFByb3RvY29sLlNFUklBTF9WSUFfVEFQTlBBU1M6XG4vLyAgICAgICAgICAgICBuZXdSZXNwb25zZS5zZXRCb2R5KFwidGFwbnBhc3NcIik7XG4vLyAgICAgICAgIGRlZmF1bHQ6XG4vLyAgICAgICAgICAgICBuZXdSZXNwb25zZS5zZXRCb2R5KFwidGFwbmxpbmtcIik7XG4vLyAgICAgfVxuLy8gICAgIHJldHVybiBuZXdSZXNwb25zZTtcbi8vIH1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRhcmdldFNlcnZpY2VHZXRBcHBUeXBlKFxuICB0aGlzOiBUYXJnZXRTZXJ2aWNlXG4pOiBQcm9taXNlPFRhcFJlc3BvbnNlPHN0cmluZz4+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmdldFN1YlByb3RvY29sKCk7XG4gIGNvbnN0IG5ld1Jlc3BvbnNlOiBUYXBSZXNwb25zZTxzdHJpbmc+ID0gVGFwUmVzcG9uc2UuU1VDQ0VTUygpO1xuICBpZiAocmVzcG9uc2UuaXNTdWNjZXNzZnVsKCkpIHtcbiAgICBuZXdSZXNwb25zZS5zZXRCb2R5KCd0YXBucGFzcycpO1xuICB9IGVsc2Uge1xuICAgIG5ld1Jlc3BvbnNlLnNldEJvZHkoJ3RhcG5saW5rJyk7XG4gIH1cbiAgcmV0dXJuIG5ld1Jlc3BvbnNlO1xufVxuXG5UYXJnZXRTZXJ2aWNlLnByb3RvdHlwZS5nZXRBcHBUeXBlID0gdGFyZ2V0U2VydmljZUdldEFwcFR5cGU7XG5cbi8vIGV4cG9ydCBhc3luYyBmdW5jdGlvbiBpc0Nvbm5lY3RlZCh0aGlzOiBUYXJnZXRTZXJ2aWNlKTogUHJvbWlzZTxUYXBSZXNwb25zZTxib29sZWFuPj4ge1xuLy8gICAgIHJldHVybiB0aGlzLl9jYWxsKHtcbi8vICAgICAgICAgcGF0aDogXCIvdGFyZ2V0L2Nvbm5lY3RcIixcbi8vICAgICAgICAgbWV0aG9kVHlwZTogXCJnZXRcIixcbi8vICAgICAgICAgcmVzcG9uc2VCb2R5RGVjb2RlcjogXCJib29sZWFuXCJcbi8vICAgICB9KVxuLy8gfVxuXG4vLyBUYXJnZXRTZXJ2aWNlLnByb3RvdHlwZS5pc0Nvbm5lY3RlZCA9IGlzQ29ubmVjdGVkO1xuIl19