@forzalabs/remora
Version:
A powerful CLI tool for seamless data translation.
67 lines (66 loc) • 2.69 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());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const DatabaseEngine_1 = __importDefault(require("../database/DatabaseEngine"));
const Helper_1 = __importDefault(require("../helper/Helper"));
const Settings_1 = __importDefault(require("../helper/Settings"));
class UserManagerClass {
constructor() {
this.getUser = () => {
if (Helper_1.default.isDev())
return DEV_USER;
else
return MOCK_USER;
// TODO: figure out how to handle users
};
this.getRemoraWorkerUser = () => {
const remora = {
_id: '__remora_worker__',
auth: { oid: '', provider: 'internal' },
email: '',
name: 'Remora Worker',
roles: ['root'],
_signature: '',
lastLogin: new Date().toJSON()
};
return remora;
};
this.findOIDC = (oid) => __awaiter(this, void 0, void 0, function* () {
return yield DatabaseEngine_1.default.findOne(Settings_1.default.db.collections.users, { 'auth.oid': oid });
});
this.update = (user) => __awaiter(this, void 0, void 0, function* () {
return yield DatabaseEngine_1.default.upsert(Settings_1.default.db.collections.users, user._id, user);
});
}
}
const UserManager = new UserManagerClass();
exports.default = UserManager;
const DEV_USER = {
_id: '__dev__',
auth: { oid: '', provider: 'azure' },
email: '',
name: 'Dev',
roles: ['admin'],
_signature: '',
lastLogin: new Date().toJSON()
};
const MOCK_USER = {
_id: '__mock__',
auth: { oid: '', provider: 'azure' },
email: 'mock.user@email.com',
name: 'Mock User',
roles: ['user'],
_signature: '',
lastLogin: new Date().toJSON()
};