61 lines
1.5 KiB
JavaScript
61 lines
1.5 KiB
JavaScript
import { Model, DataTypes } from 'sequelize';
|
|
import { sequelize } from '../../../utils/sequelize.js';
|
|
|
|
class ChildRelation extends Model {}
|
|
|
|
ChildRelation.init(
|
|
{
|
|
fatherCharacterId: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false},
|
|
motherCharacterId: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false},
|
|
childCharacterId: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false},
|
|
fatherName: {
|
|
type: DataTypes.STRING,
|
|
allowNull: false},
|
|
motherName: {
|
|
type: DataTypes.STRING,
|
|
allowNull: false},
|
|
nameSet: {
|
|
type: DataTypes.BOOLEAN,
|
|
allowNull: false,
|
|
default: false},
|
|
isHeir: {
|
|
type: DataTypes.BOOLEAN,
|
|
allowNull: true,
|
|
default: false},
|
|
legitimacy: {
|
|
type: DataTypes.STRING,
|
|
allowNull: false,
|
|
defaultValue: 'legitimate',
|
|
validate: {
|
|
isIn: [['legitimate', 'acknowledged_bastard', 'hidden_bastard']]
|
|
}},
|
|
birthContext: {
|
|
type: DataTypes.STRING,
|
|
allowNull: false,
|
|
defaultValue: 'marriage',
|
|
validate: {
|
|
isIn: [['marriage', 'lover']]
|
|
}},
|
|
publicKnown: {
|
|
type: DataTypes.BOOLEAN,
|
|
allowNull: false,
|
|
defaultValue: false}
|
|
},
|
|
{
|
|
sequelize,
|
|
modelName: 'ChildRelation',
|
|
tableName: 'child_relation', // exakter Tabellenname
|
|
schema: 'falukant_data', // exaktes Schema
|
|
// keine Pluralisierung
|
|
timestamps: true,
|
|
underscored: true}
|
|
);
|
|
|
|
export default ChildRelation;
|