🚧 refactoring is ongoing
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
const User = require('./user');
|
||||
const Message = require('./message');
|
||||
const sequelize = require('../common/database');
|
||||
|
||||
Message.belongsTo(User);
|
||||
|
||||
(async () => {
|
||||
await sequelize.sync({ alter: true });
|
||||
console.log('Database initialized.');
|
||||
const isNoAdminExisted =
|
||||
(await User.findOne({ where: { isAdmin: true } })) === null;
|
||||
if (isNoAdminExisted) {
|
||||
console.log('No admin user existed! Creating one for you.');
|
||||
await User.create({
|
||||
username: 'admin',
|
||||
password: '123456',
|
||||
isAdmin: true,
|
||||
prefix: 'admin',
|
||||
});
|
||||
}
|
||||
})();
|
||||
|
||||
exports.User = User;
|
||||
exports.Message = Message;
|
||||
+21
-16
@@ -1,19 +1,24 @@
|
||||
const db = require("../utils/database").db;
|
||||
const { v4: uuid } = require("uuid");
|
||||
const { DataTypes, Model } = require('sequelize');
|
||||
const sequelize = require('../common/database');
|
||||
|
||||
class Message {
|
||||
create(message) {
|
||||
message.id = uuid();
|
||||
return db("messages").insert(message);
|
||||
}
|
||||
class Message extends Model {}
|
||||
|
||||
getById(id) {
|
||||
return db("messages").where("id", id);
|
||||
}
|
||||
Message.init(
|
||||
{
|
||||
id: {
|
||||
type: DataTypes.UUID,
|
||||
defaultValue: DataTypes.UUIDV4,
|
||||
primaryKey: true,
|
||||
},
|
||||
title: DataTypes.STRING,
|
||||
description: DataTypes.TEXT,
|
||||
content: DataTypes.TEXT,
|
||||
type: {
|
||||
type: DataTypes.INTEGER,
|
||||
defaultValue: 0,
|
||||
},
|
||||
},
|
||||
{ sequelize }
|
||||
);
|
||||
|
||||
deleteById(id) {
|
||||
return db("messages").where("id", id).del();
|
||||
}
|
||||
}
|
||||
|
||||
module.exports.Message = new Message();
|
||||
module.exports = Message;
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
const { DataTypes, Model } = require('sequelize');
|
||||
const sequelize = require('../common/database');
|
||||
|
||||
class User extends Model {}
|
||||
|
||||
User.init(
|
||||
{
|
||||
id: {
|
||||
type: DataTypes.UUID,
|
||||
defaultValue: DataTypes.UUIDV4,
|
||||
primaryKey: true,
|
||||
},
|
||||
username: {
|
||||
type: DataTypes.STRING,
|
||||
unique: true,
|
||||
},
|
||||
password: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: false,
|
||||
},
|
||||
accessToken: {
|
||||
type: DataTypes.STRING,
|
||||
defaultValue: '',
|
||||
},
|
||||
email: {
|
||||
type: DataTypes.STRING,
|
||||
},
|
||||
prefix: {
|
||||
type: DataTypes.STRING,
|
||||
unique: true,
|
||||
},
|
||||
isAdmin: {
|
||||
type: DataTypes.BOOLEAN,
|
||||
defaultValue: false,
|
||||
},
|
||||
isBlocked: {
|
||||
type: DataTypes.BOOLEAN,
|
||||
defaultValue: false,
|
||||
},
|
||||
wechatAppId: DataTypes.STRING,
|
||||
wechatAppSecret: DataTypes.STRING,
|
||||
wechatTemplateId: DataTypes.STRING,
|
||||
wechatOpenId: DataTypes.STRING,
|
||||
},
|
||||
{ sequelize }
|
||||
);
|
||||
|
||||
module.exports = User;
|
||||
Reference in New Issue
Block a user