This commit is contained in:
Isaac
2021-05-22 00:04:18 +01:00
parent 777719d1b3
commit 32f43ac18f
58 changed files with 837 additions and 926 deletions

View File

@@ -2,67 +2,65 @@ const { DataTypes } = require('sequelize');
module.exports = ({ config }, sequelize) => {
const { DB_TABLE_PREFIX } = process.env;
sequelize.define('Category', {
id: {
type: DataTypes.CHAR(19),
primaryKey: true,
allowNull: false,
},
claiming: {
type: DataTypes.BOOLEAN,
defaultValue: false,
type: DataTypes.BOOLEAN
},
guild: {
type: DataTypes.CHAR(19),
allowNull: false,
references: {
model: DB_TABLE_PREFIX + 'guilds',
key: 'id'
key: 'id',
model: DB_TABLE_PREFIX + 'guilds'
},
type: DataTypes.CHAR(19),
unique: 'name-guild'
},
id: {
allowNull: false,
primaryKey: true,
type: DataTypes.CHAR(19)
},
image: {
type: DataTypes.STRING,
allowNull: true,
type: DataTypes.STRING
},
max_per_member: {
type: DataTypes.INTEGER,
defaultValue: 1
defaultValue: 1,
type: DataTypes.INTEGER
},
name: {
type: DataTypes.STRING,
allowNull: false,
type: DataTypes.STRING,
unique: 'name-guild'
},
name_format: {
type: DataTypes.STRING,
allowNull: false,
defaultValue: config.defaults.name_format
defaultValue: config.defaults.name_format,
type: DataTypes.STRING
},
opening_message: {
type: DataTypes.STRING,
defaultValue: config.defaults.opening_message,
type: DataTypes.STRING
},
opening_questions: {
type: DataTypes.JSON,
allowNull: true,
type: DataTypes.JSON
},
ping: {
type: DataTypes.JSON,
defaultValue: [],
type: DataTypes.JSON
},
require_topic: {
type: DataTypes.BOOLEAN,
defaultValue: false,
type: DataTypes.BOOLEAN
},
roles: {
type: DataTypes.JSON,
allowNull: false,
type: DataTypes.JSON
},
survey: {
type: DataTypes.STRING,
allowNull: true,
type: DataTypes.STRING
}
}, {
tableName: DB_TABLE_PREFIX + 'categories'
});
}, { tableName: DB_TABLE_PREFIX + 'categories' });
};

View File

@@ -1,23 +1,21 @@
const { DataTypes } = require('sequelize');
module.exports = (client, sequelize) => {
module.exports = (_client, sequelize) => {
const { DB_TABLE_PREFIX } = process.env;
sequelize.define('ChannelEntity', {
channel: {
type: DataTypes.CHAR(19),
allowNull: false,
type: DataTypes.CHAR(19),
unique: 'channel-ticket'
},
name: DataTypes.TEXT,
ticket: {
type: DataTypes.CHAR(19),
allowNull: false,
unique: 'channel-ticket',
references: {
model: DB_TABLE_PREFIX + 'tickets',
key: 'id'
key: 'id',
model: DB_TABLE_PREFIX + 'tickets'
},
},
}, {
tableName: DB_TABLE_PREFIX + 'channel_entities'
});
type: DataTypes.CHAR(19),
unique: 'channel-ticket'
}
}, { tableName: DB_TABLE_PREFIX + 'channel_entities' });
};

View File

@@ -2,48 +2,47 @@ const { DataTypes } = require('sequelize');
module.exports = ({ config }, sequelize) => {
const { DB_TABLE_PREFIX } = process.env;
sequelize.define('Guild', {
id: {
type: DataTypes.CHAR(19),
primaryKey: true,
allowNull: false,
},
blacklist: {
type: DataTypes.JSON,
defaultValue: [],
type: DataTypes.JSON
},
colour: {
type: DataTypes.STRING,
defaultValue: config.defaults.colour
defaultValue: config.defaults.colour,
type: DataTypes.STRING
},
command_prefix: {
type: DataTypes.STRING,
defaultValue: config.defaults.command_prefix
defaultValue: config.defaults.command_prefix,
type: DataTypes.STRING
},
error_colour: {
type: DataTypes.STRING,
defaultValue: 'RED'
defaultValue: 'RED',
type: DataTypes.STRING
},
footer: {
type: DataTypes.STRING,
defaultValue: 'Discord Tickets by eartharoid'
defaultValue: 'Discord Tickets by eartharoid',
type: DataTypes.STRING
},
id: {
allowNull: false,
primaryKey: true,
type: DataTypes.CHAR(19)
},
locale: {
type: DataTypes.STRING,
defaultValue: config.locale
defaultValue: config.locale,
type: DataTypes.STRING
},
log_messages: {
type: DataTypes.BOOLEAN,
defaultValue: config.defaults.log_messages
defaultValue: config.defaults.log_messages,
type: DataTypes.BOOLEAN
},
success_colour: {
type: DataTypes.STRING,
defaultValue: 'GREEN'
defaultValue: 'GREEN',
type: DataTypes.STRING
},
tags: {
type: DataTypes.JSON,
defaultValue: {}
defaultValue: {},
type: DataTypes.JSON
}
}, {
tableName: DB_TABLE_PREFIX + 'guilds'
});
}, { tableName: DB_TABLE_PREFIX + 'guilds' });
};

View File

@@ -1,37 +1,36 @@
const { DataTypes } = require('sequelize');
module.exports = (client, sequelize) => {
module.exports = (_client, sequelize) => {
const { DB_TABLE_PREFIX } = process.env;
sequelize.define('Message', {
id: {
type: DataTypes.CHAR(19),
primaryKey: true,
allowNull: false,
},
author: {
type: DataTypes.CHAR(19),
allowNull: false,
type: DataTypes.CHAR(19)
},
data: {
type: DataTypes.TEXT,
allowNull: false,
type: DataTypes.TEXT
},
deleted: {
type: DataTypes.BOOLEAN,
defaultValue: false,
type: DataTypes.BOOLEAN
},
edited: {
type: DataTypes.BOOLEAN,
defaultValue: false,
type: DataTypes.BOOLEAN
},
id: {
allowNull: false,
primaryKey: true,
type: DataTypes.CHAR(19)
},
ticket: {
type: DataTypes.CHAR(19),
allowNull: false,
references: {
model: DB_TABLE_PREFIX + 'tickets',
key: 'id'
key: 'id',
model: DB_TABLE_PREFIX + 'tickets'
},
},
}, {
tableName: DB_TABLE_PREFIX + 'messages'
});
type: DataTypes.CHAR(19)
}
}, { tableName: DB_TABLE_PREFIX + 'messages' });
};

View File

@@ -3,26 +3,24 @@ module.exports = (client, sequelize) => {
const { DB_TABLE_PREFIX } = process.env;
sequelize.define('Panel', {
categories: {
type: DataTypes.JSON,
allowNull: false
allowNull: false,
type: DataTypes.JSON
},
channel: {
type: DataTypes.CHAR(19),
allowNull: false
allowNull: false,
type: DataTypes.CHAR(19)
},
guild: {
type: DataTypes.CHAR(19),
allowNull: false,
references: {
model: DB_TABLE_PREFIX + 'guilds',
key: 'id'
}
key: 'id',
model: DB_TABLE_PREFIX + 'guilds'
},
type: DataTypes.CHAR(19)
},
message: {
type: DataTypes.CHAR(19),
allowNull: false
allowNull: false,
type: DataTypes.CHAR(19)
}
}, {
tableName: DB_TABLE_PREFIX + 'panels'
});
}, { tableName: DB_TABLE_PREFIX + 'panels' });
};

View File

@@ -3,25 +3,23 @@ module.exports = (client, sequelize) => {
const { DB_TABLE_PREFIX } = process.env;
sequelize.define('RoleEntity', {
colour: {
type: DataTypes.CHAR(6),
defaultValue: '7289DA',
type: DataTypes.CHAR(6)
},
name: DataTypes.TEXT,
role: {
type: DataTypes.CHAR(19),
allowNull: false,
type: DataTypes.CHAR(19),
unique: 'role-ticket'
},
ticket: {
type: DataTypes.CHAR(19),
allowNull: false,
unique: 'role-ticket',
references: {
model: DB_TABLE_PREFIX + 'tickets',
key: 'id'
key: 'id',
model: DB_TABLE_PREFIX + 'tickets'
},
},
}, {
tableName: DB_TABLE_PREFIX + 'role_entities'
});
type: DataTypes.CHAR(19),
unique: 'role-ticket'
}
}, { tableName: DB_TABLE_PREFIX + 'role_entities' });
};

View File

@@ -3,24 +3,22 @@ module.exports = (client, sequelize) => {
const { DB_TABLE_PREFIX } = process.env;
sequelize.define('Survey', {
guild: {
type: DataTypes.CHAR(19),
allowNull: false,
references: {
model: DB_TABLE_PREFIX + 'guilds',
key: 'id'
key: 'id',
model: DB_TABLE_PREFIX + 'guilds'
},
type: DataTypes.CHAR(19),
unique: 'name-guild'
},
name: {
type: DataTypes.STRING,
allowNull: false,
type: DataTypes.STRING,
unique: 'name-guild'
},
questions: {
type: DataTypes.JSON,
allowNull: true,
},
}, {
tableName: DB_TABLE_PREFIX + 'surveys'
});
type: DataTypes.JSON
}
}, { tableName: DB_TABLE_PREFIX + 'surveys' });
};

View File

@@ -3,28 +3,26 @@ module.exports = (client, sequelize) => {
const { DB_TABLE_PREFIX } = process.env;
sequelize.define('SurveyResponse', {
answers: {
type: DataTypes.JSON,
allowNull: true,
type: DataTypes.JSON
},
survey: {
type: DataTypes.INTEGER,
allowNull: false,
unique: 'survey-ticket',
references: {
model: DB_TABLE_PREFIX + 'surveys',
key: 'id'
key: 'id',
model: DB_TABLE_PREFIX + 'surveys'
},
type: DataTypes.INTEGER,
unique: 'survey-ticket'
},
ticket: {
type: DataTypes.CHAR(19),
allowNull: false,
unique: 'survey-ticket',
references: {
model: DB_TABLE_PREFIX + 'tickets',
key: 'id'
key: 'id',
model: DB_TABLE_PREFIX + 'tickets'
},
},
}, {
tableName: DB_TABLE_PREFIX + 'survey_responses'
});
type: DataTypes.CHAR(19),
unique: 'survey-ticket'
}
}, { tableName: DB_TABLE_PREFIX + 'survey_responses' });
};

View File

@@ -1,75 +1,73 @@
const { DataTypes } = require('sequelize');
module.exports = (client, sequelize) => {
module.exports = (_client, sequelize) => {
const { DB_TABLE_PREFIX } = process.env;
sequelize.define('Ticket', {
id: {
type: DataTypes.CHAR(19),
primaryKey: true,
allowNull: false,
},
category: {
type: DataTypes.CHAR(19),
allowNull: false,
references: {
model: DB_TABLE_PREFIX + 'categories',
key: 'id'
key: 'id',
model: DB_TABLE_PREFIX + 'categories'
},
type: DataTypes.CHAR(19)
},
claimed_by: {
type: DataTypes.CHAR(19),
allowNull: true,
type: DataTypes.CHAR(19)
},
closed_by: {
type: DataTypes.CHAR(19),
allowNull: true,
type: DataTypes.CHAR(19)
},
closed_reason: {
type: DataTypes.STRING,
allowNull: true,
type: DataTypes.STRING
},
creator: {
type: DataTypes.CHAR(19),
allowNull: false,
type: DataTypes.CHAR(19)
},
first_response: {
type: DataTypes.DATE,
allowNull: true,
type: DataTypes.DATE
},
guild: {
type: DataTypes.CHAR(19),
allowNull: false,
references: {
model: DB_TABLE_PREFIX + 'guilds',
key: 'id'
key: 'id',
model: DB_TABLE_PREFIX + 'guilds'
},
type: DataTypes.CHAR(19),
unique: 'number-guild'
},
id: {
allowNull: false,
primaryKey: true,
type: DataTypes.CHAR(19)
},
last_message: {
type: DataTypes.DATE,
allowNull: true,
type: DataTypes.DATE
},
number: {
type: DataTypes.INTEGER,
allowNull: false,
type: DataTypes.INTEGER,
unique: 'number-guild'
},
open: {
type: DataTypes.BOOLEAN,
defaultValue: true
defaultValue: true,
type: DataTypes.BOOLEAN
},
opening_message: {
type: DataTypes.CHAR(19),
allowNull: true,
type: DataTypes.CHAR(19)
},
pinned_messages: {
type: DataTypes.JSON,
defaultValue: []
defaultValue: [],
type: DataTypes.JSON
},
topic: {
type: DataTypes.TEXT,
allowNull: true,
},
}, {
tableName: DB_TABLE_PREFIX + 'tickets'
});
type: DataTypes.TEXT
}
}, { tableName: DB_TABLE_PREFIX + 'tickets' });
};

View File

@@ -6,30 +6,29 @@ module.exports = (client, sequelize) => {
bot: DataTypes.BOOLEAN,
discriminator: DataTypes.STRING,
display_name: DataTypes.TEXT,
ticket: {
type: DataTypes.CHAR(19),
role: {
allowNull: false,
unique: 'user-ticket',
references: {
model: DB_TABLE_PREFIX + 'tickets',
key: 'id'
key: 'role',
model: DB_TABLE_PREFIX + 'role_entities'
},
type: DataTypes.CHAR(19)
},
user: {
type: DataTypes.CHAR(19),
ticket: {
allowNull: false,
references: {
key: 'id',
model: DB_TABLE_PREFIX + 'tickets'
},
type: DataTypes.CHAR(19),
unique: 'user-ticket'
},
username: DataTypes.TEXT,
role: {
type: DataTypes.CHAR(19),
user: {
allowNull: false,
references: {
model: DB_TABLE_PREFIX + 'role_entities',
key: 'role'
},
type: DataTypes.CHAR(19),
unique: 'user-ticket'
},
}, {
tableName: DB_TABLE_PREFIX + 'user_entities'
});
username: DataTypes.TEXT
}, { tableName: DB_TABLE_PREFIX + 'user_entities' });
};