@becomes/cms
Version:
Simple CMS for building APIs.
137 lines • 4.55 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.UserFactory = void 0;
var user_model_1 = require("../models/user.model");
var mongoose_1 = require("mongoose");
var purple_cheetah_1 = require("purple-cheetah");
var UserFactory = (function () {
function UserFactory() {
}
Object.defineProperty(UserFactory, "instance", {
get: function () {
return new user_model_1.User(new mongoose_1.Types.ObjectId(), Date.now(), Date.now(), '', '', '', [], [], {
personal: {
firstName: '',
lastName: '',
avatarUri: '',
},
address: {},
policy: {
media: {
get: false,
post: false,
put: false,
delete: false,
},
customPortal: {
get: false,
post: false,
put: false,
delete: false,
},
templates: [],
webhooks: [],
},
});
},
enumerable: false,
configurable: true
});
UserFactory.admin = function (config) {
return new user_model_1.User(new mongoose_1.Types.ObjectId(), Date.now(), Date.now(), config.username, config.email, '', [
{
name: purple_cheetah_1.RoleName.ADMIN,
permissions: [
{
name: purple_cheetah_1.PermissionName.READ,
},
{
name: purple_cheetah_1.PermissionName.WRITE,
},
{
name: purple_cheetah_1.PermissionName.DELETE,
},
{
name: purple_cheetah_1.PermissionName.EXECUTE,
},
],
},
], [], {
personal: {
firstName: config.firstName,
lastName: config.lastName,
avatarUri: config.avatarUri || '',
},
address: {},
policy: {
media: {
get: false,
post: false,
put: false,
delete: false,
},
customPortal: {
get: false,
post: false,
put: false,
delete: false,
},
templates: [],
webhooks: [],
},
});
};
UserFactory.user = function (config) {
return new user_model_1.User(new mongoose_1.Types.ObjectId(), Date.now(), Date.now(), config.username, config.email, '', [
{
name: purple_cheetah_1.RoleName.USER,
permissions: [
{
name: purple_cheetah_1.PermissionName.READ,
},
{
name: purple_cheetah_1.PermissionName.WRITE,
},
{
name: purple_cheetah_1.PermissionName.DELETE,
},
{
name: purple_cheetah_1.PermissionName.EXECUTE,
},
],
},
], [], {
personal: {
firstName: config.firstName,
lastName: config.lastName,
avatarUri: config.avatarUri || '',
},
address: {},
policy: {
media: {
get: false,
post: false,
put: false,
delete: false,
},
customPortal: {
get: false,
post: false,
put: false,
delete: false,
},
templates: [],
webhooks: [],
},
});
};
UserFactory.removeProtected = function (user) {
var u = JSON.parse(JSON.stringify(user));
delete u.password;
delete u.refreshTokens;
return JSON.parse(JSON.stringify(u));
};
return UserFactory;
}());
exports.UserFactory = UserFactory;
//# sourceMappingURL=user.factory.js.map