@greenpress/auth
Version:
Express Passport authentication service
44 lines (37 loc) • 980 B
text/typescript
/**
* this file used to initiate basic data inside the authentication service
*/
import { model } from "mongoose";
import {privilegedRoles} from "../config";
const User = model("User");
export function init() {
const user = new User({
tenant: process.env.TENANT,
email: process.env.EMAIL || "test@test.com",
name: "Administrator",
password: process.env.PASSWORD || "admin",
roles: [privilegedRoles[0]],
});
return user.save().then((lastUser) => {
return lastUser;
});
}
export function reset(): Promise<void> {
return new Promise((resolve, reject) => {
if (process.env.NODE_ENV !== "production") {
User.deleteMany({}, {}, (err) => {
if (err) {
return reject(err);
}
User.syncIndexes({}, (errIdx) => {
if (errIdx) {
reject(errIdx);
}
resolve();
});
});
} else {
return reject(new Error("cannot reset production"));
}
});
}