UNPKG

lavva.exalushome

Version:

Library implementing communication and abstraction layers for ExalusHome system

118 lines 5.94 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { Api } from "../../Api"; import { DataFrame, Method, Status } from "../../DataFrame"; import { ExalusConnectionService } from "../ExalusConnectionService"; import { ResponseResult } from "../FieldChangeResult"; import { UpsertConnectedAppResult } from "./IConnectedAppsService"; import { LoggerService } from "../Logging/LoggerService"; export class ConnectedAppsService { constructor() { this._connection = Api.Get(ExalusConnectionService.ServiceName); this._log = Api.Get(LoggerService.ServiceName); } GetServiceName() { return ConnectedAppsService.ServiceName; } IsSupportedAsync() { return __awaiter(this, void 0, void 0, function* () { let info = yield this._connection.SendAndWaitForResponseAsync(new CheckIfSupportedRequest(), 2000, true); this._log.Debug(ConnectedAppsService.ServiceName, `IsSupportedAsync: ${info === null || info === void 0 ? void 0 : info.Status} resp: ${JSON.stringify(info)}`); if (info == null) return false; else if (info.Status == Status.WrongData) return true; return false; }); } GetConnectedAppsAsync() { return __awaiter(this, void 0, void 0, function* () { let response = yield this._connection.SendAndWaitForResponseAsync(new GetConnectedAppsRequest(), 2000, true); switch (response === null || response === void 0 ? void 0 : response.Status) { case Status.OK: return response === null || response === void 0 ? void 0 : response.Data; default: return response === null || response === void 0 ? void 0 : response.Status; } }); } UpsertConnectedAppAsync(app) { return __awaiter(this, void 0, void 0, function* () { let response = yield this._connection.SendAndWaitForResponseAsync(new UpsertConnectedAppRequest(app), 2000, false); switch (response === null || response === void 0 ? void 0 : response.Status) { case Status.OK: return new ResponseResult(UpsertConnectedAppResult.Changed, ""); case Status.WrongData: switch (response.Data) { case "AccessTokenToShort": return new ResponseResult(UpsertConnectedAppResult.AccessTokenToShort, response.Data); case "AnotherAppWithGivenAccessTokenAlreadyExists": return new ResponseResult(UpsertConnectedAppResult.AnotherAppWithGivenAccessTokenAlreadyExists, response.Data); case "AppGuidDoesNotExists": return new ResponseResult(UpsertConnectedAppResult.AppGuidDoesNotExists, response.Data); case "AppNameToShort": return new ResponseResult(UpsertConnectedAppResult.AppNameToShort, response.Data); case "AppUrlToShort": return new ResponseResult(UpsertConnectedAppResult.AppUrlToShort, response.Data); case "AppUserIdToShort": return new ResponseResult(UpsertConnectedAppResult.AppUserIdToShort, response.Data); case "AppUserNameToShort": return new ResponseResult(UpsertConnectedAppResult.AppUserNameToShort, response.Data); default: return new ResponseResult(UpsertConnectedAppResult.UnkownError, response.Data); } case Status.ResourceDoesNotExists: case Status.ResourceIsNotAvailable: return new ResponseResult(UpsertConnectedAppResult.ResourceIsNotAvailable, response.Data); default: return new ResponseResult(UpsertConnectedAppResult.UnkownError, response.Data); } }); } RemoveConnectedAppAsync(app) { return __awaiter(this, void 0, void 0, function* () { let response = yield this._connection.SendAndWaitForResponseAsync(new DeleteConnectedAppRequest(app.Guid), 2000, true); return response === null || response === void 0 ? void 0 : response.Status; }); } } ConnectedAppsService.ServiceName = "ConnectedAppsService"; class CheckIfSupportedRequest extends DataFrame { constructor() { super(); this.Resource = "/applications/app/auth"; this.Method = Method.Put; this.Data = ""; } } class GetConnectedAppsRequest extends DataFrame { constructor() { super(); this.Resource = "/applications/get"; this.Method = Method.Get; } } class DeleteConnectedAppRequest extends DataFrame { constructor(appGuid) { super(); this.Resource = "/applications/app/delete"; this.Method = Method.Delete; this.Data = appGuid; } } class UpsertConnectedAppRequest extends DataFrame { constructor(app) { super(); this.Resource = "/applications/app/upsert"; this.Method = Method.Put; this.Data = app; } } //# sourceMappingURL=ConnectedAppsService.js.map