2n-helios-client
Version:
2n client for Node
146 lines (145 loc) • 4.35 kB
JavaScript
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());
});
};
// helpers
export function logSub(days, ax) {
return __awaiter(this, void 0, void 0, function* () {
const daysInSeconds = days * 86400;
const { data } = yield ax({
url: `/log/subscribe`,
method: 'get',
params: {
filter: 'UserAuthenticated',
include: `-${daysInSeconds}`
}
});
return {
subSuccess: data.success,
id: data.result.id
};
});
}
export function logPull(sub, ax) {
return __awaiter(this, void 0, void 0, function* () {
const { data } = yield ax({
url: '/log/pull',
method: 'get',
params: {
id: sub
}
});
return {
pullSuccess: data.success,
result: data.result
};
});
}
export function fingerEnroll(reader, ax) {
return __awaiter(this, void 0, void 0, function* () {
const { data } = yield ax({
method: 'post',
url: 'fingerenroll/start',
params: {
reader
}
});
return {
success: data.success,
session: data.result.session
};
});
}
export function fingerSub(ax) {
return __awaiter(this, void 0, void 0, function* () {
const { data } = yield ax({
method: 'post',
url: '/log/subscribe',
params: {
filter: 'FingerEnrollState',
duration: 60
}
});
if (data.success) {
return data.result.id;
}
else {
return false;
}
});
}
export function fingerUnsub(id, ax) {
return __awaiter(this, void 0, void 0, function* () {
const { data } = yield ax({
method: 'post',
url: '/log/unsubscribe',
params: {
id
}
});
if (data.success) {
return true;
}
});
}
export function fingerResult(session, ax) {
return __awaiter(this, void 0, void 0, function* () {
const { data } = yield ax({
method: 'post',
url: 'fingerenroll/result',
params: {
session
}
});
if (data.success) {
return {
success: data.success,
result: data.result.template
};
}
else {
return {
success: data.success,
result: data.error.code
};
}
});
}
export function userAccess(id, params, ax) {
return __awaiter(this, void 0, void 0, function* () {
const formData = new FormData();
formData.append('blob-dir_new', JSON.stringify({ users: [{ uuid: id, access: params }] }));
const { data } = yield ax({
method: 'put',
url: '/dir/update',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
return data.success;
});
}
export function userDetails(id, ax) {
return __awaiter(this, void 0, void 0, function* () {
const formData = new FormData();
formData.append('blob-json', JSON.stringify({ users: [{ uuid: id }] }));
const { data } = yield ax({
method: 'post',
url: '/dir/get',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
if (data.success) {
return data.result.users[0];
}
;
});
}