generated from Baipyrus/DiscordJS-Template
42 lines
1.3 KiB
JavaScript
42 lines
1.3 KiB
JavaScript
import { DataTypes, Deferrable, Sequelize } from 'sequelize';
|
|
|
|
/**
|
|
* @typedef {Object} RoleEmojiPair
|
|
* @property {string} id A universally unique id, generated by sequelize.
|
|
* @property {string} message A Discord message ID as a foreign key reference.
|
|
* @property {string} role A Discord role ID.
|
|
* @property {string} emoji Either a unicode emoji or a string representation in Discord custom emoji format.
|
|
* @property {(model: Object) => void} hasMany Defines an One-To-Many relationship.
|
|
* @property {(conditions: Object) => Promise<RoleEmojiPair>} findOne Finds one instance in the database matching the provided condition(-s).
|
|
* @property {(conditions: Object) => Promise<Array<RoleEmojiPair>>} findAll Finds all instances in the database matching the provided condition(-s).
|
|
*/
|
|
|
|
/**
|
|
* The definition of the `RoleEmojiPair` table in the database.
|
|
* @param {Sequelize} sequelize
|
|
* @returns {RoleEmojiPair}
|
|
*/
|
|
export default function (sequelize) {
|
|
return sequelize.define('RoleEmojiPairs', {
|
|
id: {
|
|
defaultValue: DataTypes.UUIDV4,
|
|
type: DataTypes.UUID,
|
|
primaryKey: true
|
|
},
|
|
message: {
|
|
type: DataTypes.STRING,
|
|
references: {
|
|
deferrable: Deferrable.INITIALLY_IMMEDIATE,
|
|
model: 'Messages',
|
|
key: 'id'
|
|
}
|
|
},
|
|
role: {
|
|
type: DataTypes.STRING
|
|
},
|
|
emoji: {
|
|
type: DataTypes.STRING
|
|
}
|
|
});
|
|
}
|