@owlnext/heimdall-js-native
Version:
Heimdall API client & utils for react native technologies
439 lines • 21 kB
JavaScript
"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