mirror of
https://github.com/Hessenuk/DiscordTickets.git
synced 2025-09-05 17:51:27 +03:00
Database encryption
Security ™️
This commit is contained in:
52
src/database/models/category.model.js
Normal file
52
src/database/models/category.model.js
Normal file
@@ -0,0 +1,52 @@
|
||||
const { DataTypes } = require('sequelize');
|
||||
module.exports = ({ config }, sequelize) => {
|
||||
const { DB_TABLE_PREFIX } = process.env;
|
||||
sequelize.define('Category', {
|
||||
id: {
|
||||
type: DataTypes.CHAR(18),
|
||||
primaryKey: true,
|
||||
allowNull: false,
|
||||
},
|
||||
guild: {
|
||||
type: DataTypes.CHAR(18),
|
||||
allowNull: false,
|
||||
references: {
|
||||
model: DB_TABLE_PREFIX + 'guilds',
|
||||
key: 'id'
|
||||
},
|
||||
unique: 'name-guild'
|
||||
},
|
||||
max_per_member: {
|
||||
type: DataTypes.INTEGER,
|
||||
defaultValue: 1
|
||||
},
|
||||
name: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: false,
|
||||
unique: 'name-guild'
|
||||
},
|
||||
name_format: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: false,
|
||||
defaultValue: config.defaults.name_format
|
||||
},
|
||||
opening_message: {
|
||||
type: DataTypes.STRING,
|
||||
defaultValue: config.defaults.opening_message,
|
||||
},
|
||||
require_topic: {
|
||||
type: DataTypes.BOOLEAN,
|
||||
defaultValue: true,
|
||||
},
|
||||
roles: {
|
||||
type: DataTypes.JSON,
|
||||
allowNull: false,
|
||||
},
|
||||
questions: {
|
||||
type: DataTypes.JSON,
|
||||
allowNull: true,
|
||||
},
|
||||
}, {
|
||||
tableName: DB_TABLE_PREFIX + 'categories'
|
||||
});
|
||||
};
|
23
src/database/models/channel_entity.model.js
Normal file
23
src/database/models/channel_entity.model.js
Normal file
@@ -0,0 +1,23 @@
|
||||
const { DataTypes } = require('sequelize');
|
||||
module.exports = (client, sequelize) => {
|
||||
const { DB_TABLE_PREFIX } = process.env;
|
||||
sequelize.define('ChannelEntity', {
|
||||
channel: {
|
||||
type: DataTypes.CHAR(18),
|
||||
allowNull: false,
|
||||
unique: 'id-ticket'
|
||||
},
|
||||
name: DataTypes.TEXT,
|
||||
ticket: {
|
||||
type: DataTypes.CHAR(18),
|
||||
allowNull: false,
|
||||
unique: 'id-ticket',
|
||||
references: {
|
||||
model: DB_TABLE_PREFIX + 'tickets',
|
||||
key: 'id'
|
||||
},
|
||||
},
|
||||
}, {
|
||||
tableName: DB_TABLE_PREFIX + 'channel_entities'
|
||||
});
|
||||
};
|
41
src/database/models/guild.model.js
Normal file
41
src/database/models/guild.model.js
Normal file
@@ -0,0 +1,41 @@
|
||||
const { DataTypes } = require('sequelize');
|
||||
module.exports = ({ config }, sequelize) => {
|
||||
const { DB_TABLE_PREFIX } = process.env;
|
||||
sequelize.define('Guild', {
|
||||
id: {
|
||||
type: DataTypes.CHAR(18),
|
||||
primaryKey: true,
|
||||
allowNull: false,
|
||||
},
|
||||
colour: {
|
||||
type: DataTypes.STRING,
|
||||
defaultValue: config.defaults.colour
|
||||
},
|
||||
command_prefix: {
|
||||
type: DataTypes.STRING,
|
||||
defaultValue: config.defaults.command_prefix
|
||||
},
|
||||
error_colour: {
|
||||
type: DataTypes.STRING,
|
||||
defaultValue: 'RED'
|
||||
},
|
||||
footer: {
|
||||
type: DataTypes.STRING,
|
||||
defaultValue: 'Discord Tickets by eartharoid'
|
||||
},
|
||||
locale: {
|
||||
type: DataTypes.STRING,
|
||||
defaultValue: config.locale
|
||||
},
|
||||
log_messages: {
|
||||
type: DataTypes.BOOLEAN,
|
||||
defaultValue: config.defaults.log_messages
|
||||
},
|
||||
success_colour: {
|
||||
type: DataTypes.STRING,
|
||||
defaultValue: 'GREEN'
|
||||
},
|
||||
}, {
|
||||
tableName: DB_TABLE_PREFIX + 'guilds'
|
||||
});
|
||||
};
|
37
src/database/models/message.model.js
Normal file
37
src/database/models/message.model.js
Normal file
@@ -0,0 +1,37 @@
|
||||
const { DataTypes } = require('sequelize');
|
||||
module.exports = (client, sequelize) => {
|
||||
const { DB_TABLE_PREFIX } = process.env;
|
||||
sequelize.define('Message', {
|
||||
id: {
|
||||
type: DataTypes.CHAR(18),
|
||||
primaryKey: true,
|
||||
allowNull: false,
|
||||
},
|
||||
author: {
|
||||
type: DataTypes.CHAR(18),
|
||||
allowNull: false,
|
||||
},
|
||||
data: {
|
||||
type: DataTypes.TEXT,
|
||||
allowNull: false,
|
||||
},
|
||||
deleted: {
|
||||
type: DataTypes.BOOLEAN,
|
||||
defaultValue: false,
|
||||
},
|
||||
edited: {
|
||||
type: DataTypes.BOOLEAN,
|
||||
defaultValue: false,
|
||||
},
|
||||
ticket: {
|
||||
type: DataTypes.CHAR(18),
|
||||
allowNull: false,
|
||||
references: {
|
||||
model: DB_TABLE_PREFIX + 'tickets',
|
||||
key: 'id'
|
||||
},
|
||||
},
|
||||
}, {
|
||||
tableName: DB_TABLE_PREFIX + 'messages'
|
||||
});
|
||||
};
|
27
src/database/models/role_entity.model.js
Normal file
27
src/database/models/role_entity.model.js
Normal file
@@ -0,0 +1,27 @@
|
||||
const { DataTypes } = require('sequelize');
|
||||
module.exports = (client, sequelize) => {
|
||||
const { DB_TABLE_PREFIX } = process.env;
|
||||
sequelize.define('RoleEntity', {
|
||||
colour: {
|
||||
type: DataTypes.CHAR(6),
|
||||
defaultValue: '7289DA',
|
||||
},
|
||||
name: DataTypes.TEXT,
|
||||
role: {
|
||||
type: DataTypes.CHAR(18),
|
||||
allowNull: false,
|
||||
unique: 'id-ticket'
|
||||
},
|
||||
ticket: {
|
||||
type: DataTypes.CHAR(18),
|
||||
allowNull: false,
|
||||
unique: 'id-ticket',
|
||||
references: {
|
||||
model: DB_TABLE_PREFIX + 'tickets',
|
||||
key: 'id'
|
||||
},
|
||||
},
|
||||
}, {
|
||||
tableName: DB_TABLE_PREFIX + 'role_entities'
|
||||
});
|
||||
};
|
51
src/database/models/ticket.model.js
Normal file
51
src/database/models/ticket.model.js
Normal file
@@ -0,0 +1,51 @@
|
||||
const { DataTypes } = require('sequelize');
|
||||
module.exports = (client, sequelize) => {
|
||||
const { DB_TABLE_PREFIX } = process.env;
|
||||
sequelize.define('Ticket', {
|
||||
id: {
|
||||
type: DataTypes.CHAR(18),
|
||||
primaryKey: true,
|
||||
allowNull: false,
|
||||
},
|
||||
category: {
|
||||
type: DataTypes.CHAR(18),
|
||||
allowNull: false,
|
||||
references: {
|
||||
model: DB_TABLE_PREFIX + 'categories',
|
||||
key: 'id'
|
||||
},
|
||||
},
|
||||
closed_by: {
|
||||
type: DataTypes.CHAR(18),
|
||||
allowNull: true,
|
||||
},
|
||||
creator: {
|
||||
type: DataTypes.CHAR(18),
|
||||
allowNull: false,
|
||||
},
|
||||
guild: {
|
||||
type: DataTypes.CHAR(18),
|
||||
allowNull: false,
|
||||
references: {
|
||||
model: DB_TABLE_PREFIX + 'guilds',
|
||||
key: 'id'
|
||||
},
|
||||
unique: 'number-guild'
|
||||
},
|
||||
number: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
unique: 'number-guild'
|
||||
},
|
||||
open: {
|
||||
type: DataTypes.BOOLEAN,
|
||||
defaultValue: true
|
||||
},
|
||||
topic: {
|
||||
type: DataTypes.TEXT,
|
||||
allowNull: true,
|
||||
},
|
||||
}, {
|
||||
tableName: DB_TABLE_PREFIX + 'tickets'
|
||||
});
|
||||
};
|
28
src/database/models/user_entity.model.js
Normal file
28
src/database/models/user_entity.model.js
Normal file
@@ -0,0 +1,28 @@
|
||||
const { DataTypes } = require('sequelize');
|
||||
module.exports = (client, sequelize) => {
|
||||
const { DB_TABLE_PREFIX } = process.env;
|
||||
sequelize.define('UserEntity', {
|
||||
avatar: DataTypes.STRING,
|
||||
bot: DataTypes.BOOLEAN,
|
||||
colour: DataTypes.CHAR(6),
|
||||
discriminator: DataTypes.STRING,
|
||||
display_name: DataTypes.TEXT,
|
||||
ticket: {
|
||||
type: DataTypes.CHAR(18),
|
||||
allowNull: false,
|
||||
unique: 'id-ticket',
|
||||
references: {
|
||||
model: DB_TABLE_PREFIX + 'tickets',
|
||||
key: 'id'
|
||||
},
|
||||
},
|
||||
user: {
|
||||
type: DataTypes.CHAR(18),
|
||||
allowNull: false,
|
||||
unique: 'id-ticket'
|
||||
},
|
||||
username: DataTypes.TEXT,
|
||||
}, {
|
||||
tableName: DB_TABLE_PREFIX + 'user_entities'
|
||||
});
|
||||
};
|
Reference in New Issue
Block a user