UNPKG

@owlnext/heimdall-js-native

Version:

Heimdall API client & utils for react native technologies

439 lines 21 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; 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()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const router_1 = __importDefault(require("./routing/router")); const http_client_1 = __importDefault(require("./http-client/http-client")); const Methods = __importStar(require("./http-client/http-methods")); const Routes = __importStar(require("./routing/routes")); const error_payload_1 = __importDefault(require("./utils/error-payload")); const HeimdallError_1 = __importDefault(require("../exception/HeimdallError")); const error_message_transformer_1 = __importDefault(require("./transformer/error-message-transformer")); class HeimdallApi { constructor() { // region Authentication this.authenticate = (payload) => __awaiter(this, void 0, void 0, function* () { this._http_client.setServerEnvironment(payload.server_environment); let uri = this._router.generate(Routes.AUTHENTICATE); return yield this._http_client.doRequest({ uri: uri, method: Methods.POST, body: { login: payload.login, password: payload.password, application_uuid: payload.application_uuid } }).then(response => { this._jwt_token = response.data.token; this._jwt_refresh_token = response.data.refresh_token; this._application_uuid = payload.application_uuid; this._current_logged_in = payload.login; return Promise.resolve({ jwt_token: this._jwt_token, refresh_token: this._jwt_refresh_token }); }).catch(err => { console.error(err); throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this.isAuthenticated = () => { return null !== this._jwt_token; }; this.getCurrentLoggedIn = () => { return this._current_logged_in; }; this.logout = () => { this._jwt_token = null; this._jwt_refresh_token = null; this._application_uuid = null; this._current_logged_in = null; }; this.refresh = () => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.REFRESH_AUTHENTICATION); return yield this._http_client.doRequest({ uri: uri, method: Methods.POST, body: { refresh_token: this._jwt_refresh_token, application_uuid: this._application_uuid } }).then(response => { this._jwt_token = response.data.token; this._jwt_refresh_token = response.data.refresh_token; return Promise.resolve({ jwt_token: this._jwt_token, refresh_token: this._jwt_refresh_token }); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this.refreshWithExternalData = (payload) => __awaiter(this, void 0, void 0, function* () { this._http_client.setServerEnvironment(payload.server_environment); let uri = this._router.generate(Routes.REFRESH_AUTHENTICATION); return yield this._http_client.doRequest({ uri: uri, method: Methods.POST, body: { refresh_token: payload.refresh_token, application_uuid: payload.application_uuid } }).then(response => { this._jwt_token = response.data.token; this._jwt_refresh_token = response.data.refresh_token; this._application_uuid = payload.application_uuid; this._current_logged_in = null; // cannot be determined with jwt refresh return Promise.resolve({ jwt_token: this._jwt_token, refresh_token: this._jwt_refresh_token }); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); // endregion // region Users this.getUserList = (paginator) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.USER_LIST); return yield this._http_client.doRequest({ uri: uri, method: Methods.GET, jwt_token: this._jwt_token, query_params: { page: paginator.page || 1, per_page: paginator.per_page || 50 } }).then(res => { return Promise.resolve(res.data["hydra:member"]); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this.createUser = (payload) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.USER_LIST); return yield this._http_client.doRequest({ uri: uri, method: Methods.POST, jwt_token: this._jwt_token, body: payload }).then(res => { return Promise.resolve(res.data); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this.getUser = (id) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.USER_DETAILS, [['id', id]]); return yield this._http_client.doRequest({ uri: uri, method: Methods.GET, jwt_token: this._jwt_token }).then(res => { return Promise.resolve(res.data); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this.updateUser = (id, payload) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.USER_DETAILS, [['id', id]]); return yield this._http_client.doRequest({ uri: uri, method: Methods.PUT, jwt_token: this._jwt_token, body: payload }).then(res => { return Promise.resolve(res.data); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this.deleteUser = (id) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.USER_DETAILS, [['id', id]]); return yield this._http_client.doRequest({ uri: uri, method: Methods.DELETE, jwt_token: this._jwt_token }).then(res => { return Promise.resolve(true); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this.updateUserPassword = (id, payload) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.USER_CHANGE_PASSWORD, [['id', id]]); return yield this._http_client.doRequest({ uri: uri, method: Methods.PUT, jwt_token: this._jwt_token, body: payload }).then(res => { return Promise.resolve(res.data); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); //endregion //region Applications this.getApplicationList = (paginator) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.APPLICATION_LIST); return yield this._http_client.doRequest({ uri: uri, method: Methods.GET, jwt_token: this._jwt_token, query_params: { page: paginator.page || 1, per_page: paginator.per_page || 50 } }).then(res => { return Promise.resolve(res.data); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this.getApplication = (id) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.APPLICATION_DETAILS, [['id', id]]); return yield this._http_client.doRequest({ uri: uri, method: Methods.GET, jwt_token: this._jwt_token }).then(res => { return Promise.resolve(res.data); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); //endregion // region Groups this.getGroupList = (paginator) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.GROUP_LIST); return yield this._http_client.doRequest({ uri: uri, method: Methods.GET, jwt_token: this._jwt_token, query_params: { page: paginator.page || 1, per_page: paginator.per_page || 50 } }).then(res => { return Promise.resolve(res.data); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this.createGroup = (payload) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.GROUP_LIST); return yield this._http_client.doRequest({ uri: uri, method: Methods.POST, jwt_token: this._jwt_token, body: payload }).then(res => { return Promise.resolve(res.data); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this.getGroup = (id) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.GROUP_DETAILS, [['id', id]]); return yield this._http_client.doRequest({ uri: uri, method: Methods.GET, jwt_token: this._jwt_token }).then(res => { return Promise.resolve(res.data); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this.updateGroup = (id, payload) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.GROUP_DETAILS, [['id', id]]); return yield this._http_client.doRequest({ uri: uri, method: Methods.PUT, jwt_token: this._jwt_token, body: payload }).then(res => { return Promise.resolve(res.data); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this.deleteGroup = (id) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.GROUP_DETAILS, [['id', id]]); return yield this._http_client.doRequest({ uri: uri, method: Methods.DELETE, jwt_token: this._jwt_token }).then(res => { return Promise.resolve(true); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); //endregion //region KeyChains this.getKeychainList = (paginator) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.KEYCHAIN_LIST); return yield this._http_client.doRequest({ uri: uri, method: Methods.GET, jwt_token: this._jwt_token, query_params: { page: paginator.page || 1, per_page: paginator.per_page || 50 } }).then(res => { return Promise.resolve(res.data); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this.createKeychain = (payload) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.KEYCHAIN_LIST); return yield this._http_client.doRequest({ uri: uri, method: Methods.POST, jwt_token: this._jwt_token, body: payload }).then(res => { return Promise.resolve(res.data); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this.getKeychain = (id) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.KEYCHAIN_DETAILS, [['id', id]]); return yield this._http_client.doRequest({ uri: uri, method: Methods.GET, jwt_token: this._jwt_token }).then(res => { return Promise.resolve(res.data); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this.deleteKeychain = (id) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.KEYCHAIN_DETAILS, [['id', id]]); return yield this._http_client.doRequest({ uri: uri, method: Methods.DELETE, jwt_token: this._jwt_token }).then(res => { return Promise.resolve(true); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this.getKeychainCipherKey = (id) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.KEYCHAIN_CIPHER_KEY, [['id', id]]); return yield this._http_client.doRequest({ uri: uri, method: Methods.GET, jwt_token: this._jwt_token }).then(res => { return Promise.resolve(res.data); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); //endregion //region KeychainAccessLogs this.getKeychainAccessLogList = (paginator) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.KEYCHAIN_ACCESS_LOG_LIST); return yield this._http_client.doRequest({ uri: uri, method: Methods.GET, jwt_token: this._jwt_token, query_params: { page: paginator.page || 1, per_page: paginator.per_page || 50 } }).then(res => { return Promise.resolve(res.data); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this.getKeychainAccessLog = (id) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.KEYCHAIN_ACCESS_LOG_DETAILS, [['id', id]]); return yield this._http_client.doRequest({ uri: uri, method: Methods.GET, jwt_token: this._jwt_token }).then(res => { return Promise.resolve(res.data); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); //endregions //region DeviceSessions this.getDeviceSessionList = (paginator) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.DEVICE_SESSION_LIST); return yield this._http_client.doRequest({ uri: uri, method: Methods.GET, jwt_token: this._jwt_token, query_params: { page: paginator.page || 1, per_page: paginator.per_page || 50 } }).then(res => { return Promise.resolve(res.data); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this.getDeviceSession = (id) => __awaiter(this, void 0, void 0, function* () { let uri = this._router.generate(Routes.DEVICE_SESSION_DETAIL, [['id', id]]); return yield this._http_client.doRequest({ uri: uri, method: Methods.GET, jwt_token: this._jwt_token }).then(res => { return Promise.resolve(res.data); }).catch(err => { throw new HeimdallError_1.default(error_message_transformer_1.default.transform(new error_payload_1.default(err))); }); }); this._jwt_token = null; this._jwt_refresh_token = null; this._application_uuid = null; this._current_logged_in = null; this._router = new router_1.default(); this._http_client = new http_client_1.default(); } } exports.default = HeimdallApi; //# sourceMappingURL=heimdall-api.js.map