irest-app-test
Version:
iRest simulator application tooling and scripts - Backend
3 lines • 4.61 kB
JavaScript
;var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")),_logger=_interopRequireDefault(require("./logger")),_schemaDefaults=require("./constants/schemaDefaults"),bcrypt=require("bcryptjs"),SALT_ROUND=process.env.SALT_ROUND,saltRound=parseInt(SALT_ROUND,10),_require=require("sequelize"),Sequelize=_require.Sequelize,DataTypes=_require.DataTypes,sequelize=new Sequelize(process.env.IREST_SQLITE_DATABASE,process.env.IREST_SQLITE_USERNAME,process.env.IREST_SQLITE_PASSWORD,{host:process.env.IREST_SQLITE_HOST,dialect:process.env.IREST_SQLITE_DIALECT/* one of 'mysql' | 'mariadb' | 'postgres' | 'mssql' */,storage:process.env.IREST_SQLITE_STORAGE,logging:!1});sequelize.authenticate().then(function(){})["catch"](function(){});var db={};db.sequelize=sequelize,require("./models/index")(db,sequelize,DataTypes),db.sequelize.query("PRAGMA foreign_keys = false;"),db.sequelize.sync({force:!1,alter:{drop:!1}}).then(function(){// add roles
// add default user
db.sequelize.query("SELECT _id, name FROM Companies WHERE _id='DEFAULT' AND name='DEFAULT'").then(function(a){var b=(0,_slicedToArray2["default"])(a,1),c=b[0];0===c.length&&db.sequelize.query("INSERT INTO `Companies` (_id, name, domain, createdBy, createdAt, updatedAt, status) VALUES ('DEFAULT','DEFAULT','default.com', 'DEFAULT', '2023-06-28 15:19:21.546 +00:00', '2023-06-28 15:19:21.546 +00:00','enabled')")})["catch"](function(a){_logger["default"].error(JSON.stringify(a))}),db.sequelize.query("SELECT _id, name FROM Departments WHERE _id='DEFAULT' AND name='DEFAULT'").then(function(a){var b=(0,_slicedToArray2["default"])(a,1),c=b[0];0===c.length&&db.sequelize.query("INSERT INTO `Departments` (_id, name, companyId, createdBy, createdAt, updatedAt, status) VALUES ('DEFAULT','DEFAULT','DEFAULT', 'DEFAULT', '2023-06-28 15:19:21.546 +00:00', '2023-06-28 15:19:21.546 +00:00','enabled')")})["catch"](function(a){_logger["default"].error(JSON.stringify(a))}),db.sequelize.query("SELECT _id, role FROM Roles WHERE role='subuser' OR role='poc' OR role='superadmin' OR role='companyAdmin' OR role='individual'").then(function(a){var b=(0,_slicedToArray2["default"])(a,1),c=b[0],d=c.map(function(a){return a.role});d.includes(_schemaDefaults.ROLES.SUB_USER)||db.sequelize.query("INSERT INTO `Roles` (_id, role, createdAt, updatedAt, priority) VALUES (1,'subuser', '2023-06-28 15:19:21.546 +00:00', '2023-06-28 15:19:21.546 +00:00', 2) ON CONFLICT(_id) DO UPDATE SET priority=excluded.priority;"),d.includes(_schemaDefaults.ROLES.POC)||db.sequelize.query("INSERT INTO `Roles` (_id, role, createdAt, updatedAt, priority) VALUES (2,'poc', '2023-06-28 15:19:21.546 +00:00', '2023-06-28 15:19:21.546 +00:00',3) ON CONFLICT(_id) DO UPDATE SET priority=excluded.priority;"),d.includes(_schemaDefaults.ROLES.SUPER_ADMIN)||db.sequelize.query("INSERT INTO `Roles` (_id, role, createdAt, updatedAt, priority) VALUES (3,'superadmin', '2023-06-28 15:19:21.546 +00:00', '2023-06-28 15:19:21.546 +00:00',5) ON CONFLICT(_id) DO UPDATE SET priority=excluded.priority;"),d.includes(_schemaDefaults.ROLES.COMPANY_ADMIN)||db.sequelize.query("INSERT INTO `Roles` (_id, role, createdAt, updatedAt, priority) VALUES (4,'companyadmin', '2023-06-28 15:19:21.546 +00:00', '2023-06-28 15:19:21.546 +00:00',4) ON CONFLICT(_id) DO UPDATE SET priority=excluded.priority;"),d.includes(_schemaDefaults.ROLES.INDIVIDUAL)||db.sequelize.query("INSERT INTO `Roles` (_id, role, createdAt, updatedAt, priority) VALUES (5,'individual', '2023-06-28 15:19:21.546 +00:00', '2023-06-28 15:19:21.546 +00:00',1) ON CONFLICT(_id) DO UPDATE SET priority=excluded.priority;")})["catch"](function(a){_logger["default"].error(JSON.stringify(a))}),db.sequelize.query("SELECT id, role, name, email, companyId, status FROM Users WHERE name='superadmin'").then(function(a){var b=(0,_slicedToArray2["default"])(a,1),c=b[0],d=null;0===c.length&&bcrypt.hash("superadmin",saltRound,function(a,b){d=b,db.sequelize.query("INSERT INTO Users (id, role, name, email, password, companyId, status, createdAt, updatedAt) VALUES (1, 'superadmin', 'superadmin', 'superadmin@default.com', '".concat(d,"' , 'DEFAULT', 'enabled', '2023-06-28 15:19:21.546 +00:00', '2023-06-28 15:19:21.546 +00:00')"))})})["catch"](function(a){_logger["default"].error(a)}),db.sequelize.query("PRAGMA foreign_keys = true;")})["catch"](function(a){_logger["default"].error(JSON.stringify(a))});var _default=exports["default"]=db;