Add models and relationships for sequelize
This commit is contained in:
55
server/dist/mapping.js
vendored
55
server/dist/mapping.js
vendored
@ -1,6 +1,61 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const Sequelize_1 = require("./Sequelize");
|
||||
const Catalogue_1 = require("./models/Catalogue");
|
||||
exports.Catalogue = Catalogue_1.Catalogue;
|
||||
const Character_1 = require("./models/Character");
|
||||
exports.Character = Character_1.Character;
|
||||
const CharacterGrowthRate_1 = require("./models/CharacterGrowthRate");
|
||||
exports.CharacterGrowthRate = CharacterGrowthRate_1.CharacterGrowthRate;
|
||||
const ClassGrowthRate_1 = require("./models/ClassGrowthRate");
|
||||
exports.ClassGrowthRate = ClassGrowthRate_1.ClassGrowthRate;
|
||||
const FE_Class_1 = require("./models/FE_Class");
|
||||
exports.FE_Class = FE_Class_1.FE_Class;
|
||||
const Gender_1 = require("./models/Gender");
|
||||
exports.Gender = Gender_1.Gender;
|
||||
const House_1 = require("./models/House");
|
||||
exports.House = House_1.House;
|
||||
const RestrictedCharacterClass_1 = require("./models/RestrictedCharacterClass");
|
||||
exports.RestrictedCharacterClass = RestrictedCharacterClass_1.RestrictedCharacterClass;
|
||||
const Stat_1 = require("./models/Stat");
|
||||
exports.Stat = Stat_1.Stat;
|
||||
// Sequelize associations
|
||||
House_1.House.hasMany(Character_1.Character, {
|
||||
sourceKey: "id",
|
||||
foreignKey: "idHouse",
|
||||
});
|
||||
Gender_1.Gender.hasMany(Character_1.Character, {
|
||||
sourceKey: "id",
|
||||
foreignKey: "idGender",
|
||||
});
|
||||
Gender_1.Gender.hasMany(FE_Class_1.FE_Class, {
|
||||
sourceKey: "id",
|
||||
foreignKey: "idGender",
|
||||
});
|
||||
Character_1.Character.belongsToMany(FE_Class_1.FE_Class, {
|
||||
foreignKey: { name: "Id_Character" },
|
||||
through: RestrictedCharacterClass_1.RestrictedCharacterClass,
|
||||
});
|
||||
FE_Class_1.FE_Class.belongsToMany(Character_1.Character, {
|
||||
foreignKey: { name: "Id_Class" },
|
||||
through: RestrictedCharacterClass_1.RestrictedCharacterClass,
|
||||
});
|
||||
Character_1.Character.belongsToMany(Stat_1.Stat, {
|
||||
foreignKey: { name: "Id_Character" },
|
||||
through: CharacterGrowthRate_1.CharacterGrowthRate,
|
||||
});
|
||||
Stat_1.Stat.belongsToMany(Character_1.Character, {
|
||||
foreignKey: { name: "Id_Stat" },
|
||||
through: CharacterGrowthRate_1.CharacterGrowthRate,
|
||||
});
|
||||
FE_Class_1.FE_Class.belongsToMany(Stat_1.Stat, {
|
||||
foreignKey: { name: "Id_Class" },
|
||||
through: ClassGrowthRate_1.ClassGrowthRate,
|
||||
});
|
||||
Stat_1.Stat.belongsToMany(FE_Class_1.FE_Class, {
|
||||
foreignKey: { name: "Id_Stat" },
|
||||
through: ClassGrowthRate_1.ClassGrowthRate,
|
||||
});
|
||||
// Create tables if not exists
|
||||
Sequelize_1.sequelize.sync();
|
||||
//# sourceMappingURL=mapping.js.map
|
2
server/dist/mapping.js.map
vendored
2
server/dist/mapping.js.map
vendored
@ -1 +1 @@
|
||||
{"version":3,"file":"mapping.js","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":";;AAAA,2CAAsC;AAEtC,8BAA8B;AAC9B,qBAAS,CAAC,IAAI,EAAE,CAAC"}
|
||||
{"version":3,"file":"mapping.js","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":";;AAAA,2CAAsC;AACtC,kDAA6C;AAyDrC,oBAzDA,qBAAS,CAyDA;AAxDjB,kDAA6C;AAwD1B,oBAxDX,qBAAS,CAwDW;AAvD5B,sEAAiE;AAuDnC,8BAvDtB,yCAAmB,CAuDsB;AAtDjD,8DAAyD;AAsDN,0BAtD3C,iCAAe,CAsD2C;AArDlE,gDAA2C;AAqDyB,mBArD5D,mBAAQ,CAqD4D;AApD5E,4CAAuC;AAoDuC,iBApDtE,eAAM,CAoDsE;AAnDpF,0CAAqC;AAmDiD,gBAnD9E,aAAK,CAmD8E;AAlD3F,gFAA2E;AAkDwB,mCAlD3F,mDAAwB,CAkD2F;AAjD3H,wCAAmC;AAiD0D,eAjDrF,WAAI,CAiDqF;AA/CjG,yBAAyB;AAEzB,aAAK,CAAC,OAAO,CAAC,qBAAS,EAAE;IACrB,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,SAAS;CACxB,CAAC,CAAC;AAEH,eAAM,CAAC,OAAO,CAAC,qBAAS,EAAE;IACtB,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,UAAU;CACzB,CAAC,CAAC;AAEH,eAAM,CAAC,OAAO,CAAC,mBAAQ,EAAE;IACrB,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,UAAU;CACzB,CAAC,CAAC;AAEH,qBAAS,CAAC,aAAa,CAAC,mBAAQ,EAAE;IAC9B,UAAU,EAAE,EAAC,IAAI,EAAE,cAAc,EAAC;IAClC,OAAO,EAAE,mDAAwB;CACpC,CAAC,CAAC;AACH,mBAAQ,CAAC,aAAa,CAAC,qBAAS,EAAE;IAC9B,UAAU,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC;IAC9B,OAAO,EAAE,mDAAwB;CACpC,CAAC,CAAC;AAEH,qBAAS,CAAC,aAAa,CAAC,WAAI,EAAE;IAC1B,UAAU,EAAE,EAAC,IAAI,EAAE,cAAc,EAAC;IAClC,OAAO,EAAE,yCAAmB;CAC/B,CAAC,CAAC;AACH,WAAI,CAAC,aAAa,CAAC,qBAAS,EAAE;IAC1B,UAAU,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC;IAC7B,OAAO,EAAE,yCAAmB;CAC/B,CAAC,CAAC;AAEH,mBAAQ,CAAC,aAAa,CAAC,WAAI,EAAE;IACzB,UAAU,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC;IAC9B,OAAO,EAAE,iCAAe;CAC3B,CAAC,CAAC;AACH,WAAI,CAAC,aAAa,CAAC,mBAAQ,EAAE;IACzB,UAAU,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC;IAC7B,OAAO,EAAE,iCAAe;CAC3B,CAAC,CAAC;AAEH,8BAA8B;AAC9B,qBAAS,CAAC,IAAI,EAAE,CAAC"}
|
36
server/dist/models/Catalogue.js
vendored
Normal file
36
server/dist/models/Catalogue.js
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const Sequelize_1 = require("../Sequelize");
|
||||
class Catalogue extends Sequelize_1.Model {
|
||||
}
|
||||
exports.Catalogue = Catalogue;
|
||||
const versionField = "No_Version";
|
||||
Catalogue.init({
|
||||
id: {
|
||||
type: Sequelize_1.DataTypes.INTEGER.UNSIGNED,
|
||||
autoIncrement: true,
|
||||
primaryKey: true,
|
||||
field: "Id_Catalogue",
|
||||
},
|
||||
version: {
|
||||
type: Sequelize_1.DataTypes.STRING(16),
|
||||
allowNull: false,
|
||||
field: versionField
|
||||
},
|
||||
lastUpdate: {
|
||||
type: Sequelize_1.DataTypes.DATE,
|
||||
allowNull: false,
|
||||
field: "Dttm_Last_Update"
|
||||
},
|
||||
}, {
|
||||
indexes: [
|
||||
{
|
||||
unique: true,
|
||||
fields: [versionField],
|
||||
},
|
||||
],
|
||||
timestamps: false,
|
||||
tableName: 'Tbl_Catalogue',
|
||||
sequelize: Sequelize_1.sequelize,
|
||||
});
|
||||
//# sourceMappingURL=Catalogue.js.map
|
1
server/dist/models/Catalogue.js.map
vendored
Normal file
1
server/dist/models/Catalogue.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"Catalogue.js","sourceRoot":"","sources":["../../src/models/Catalogue.ts"],"names":[],"mappings":";;AAAA,4CAAyD;AAEzD,MAAM,SAAU,SAAQ,iBAAK;CAI5B;AAiCO,8BAAS;AA/BjB,MAAM,YAAY,GAAG,YAAY,CAAC;AAElC,SAAS,CAAC,IAAI,CAAC;IACX,EAAE,EAAE;QACA,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,QAAQ;QAChC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,cAAc;KACxB;IACD,OAAO,EAAE;QACL,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,YAAY;KACtB;IACD,UAAU,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,kBAAkB;KAC5B;CACJ,EAAE;IACC,OAAO,EAAE;QACL;YACI,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,CAAC,YAAY,CAAC;SACzB;KACJ;IACD,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,eAAe;IAC1B,SAAS,EAAE,qBAAS;CACvB,CAAC,CAAC"}
|
44
server/dist/models/Character.js
vendored
Normal file
44
server/dist/models/Character.js
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const Sequelize_1 = require("../Sequelize");
|
||||
class Character extends Sequelize_1.Model {
|
||||
}
|
||||
exports.Character = Character;
|
||||
Character.init({
|
||||
id: {
|
||||
type: Sequelize_1.DataTypes.INTEGER.UNSIGNED,
|
||||
autoIncrement: true,
|
||||
primaryKey: true,
|
||||
field: "Id_Character",
|
||||
},
|
||||
firstName: {
|
||||
type: Sequelize_1.DataTypes.STRING(32),
|
||||
allowNull: true,
|
||||
field: "Nm_First",
|
||||
},
|
||||
lastName: {
|
||||
type: Sequelize_1.DataTypes.STRING(32),
|
||||
allowNull: true,
|
||||
field: "Nm_Last",
|
||||
},
|
||||
imgFileName: {
|
||||
type: Sequelize_1.DataTypes.STRING(64),
|
||||
allowNull: true,
|
||||
field: "Nm_File_Img",
|
||||
},
|
||||
idHouse: {
|
||||
type: Sequelize_1.DataTypes.INTEGER.UNSIGNED,
|
||||
allowNull: false,
|
||||
field: "Id_House",
|
||||
},
|
||||
idGender: {
|
||||
type: Sequelize_1.DataTypes.INTEGER.UNSIGNED,
|
||||
allowNull: false,
|
||||
field: "Id_Gender",
|
||||
},
|
||||
}, {
|
||||
timestamps: false,
|
||||
tableName: 'Tbl_Character',
|
||||
sequelize: Sequelize_1.sequelize,
|
||||
});
|
||||
//# sourceMappingURL=Character.js.map
|
1
server/dist/models/Character.js.map
vendored
Normal file
1
server/dist/models/Character.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"Character.js","sourceRoot":"","sources":["../../src/models/Character.ts"],"names":[],"mappings":";;AAAA,4CAAyD;AAEzD,MAAM,SAAU,SAAQ,iBAAK;CAO5B;AAwCO,8BAAS;AAtCjB,SAAS,CAAC,IAAI,CAAC;IACX,EAAE,EAAE;QACA,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,QAAQ;QAChC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,cAAc;KACxB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;KACpB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,SAAS;KACnB;IACD,WAAW,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,aAAa;KACvB;IACD,OAAO,EAAE;QACL,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,QAAQ;QAChC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,UAAU;KACpB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,QAAQ;QAChC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,WAAW;KACrB;CACJ,EAAE;IACC,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,eAAe;IAC1B,SAAS,EAAE,qBAAS;CACvB,CAAC,CAAC"}
|
29
server/dist/models/CharacterGrowthRate.js
vendored
Normal file
29
server/dist/models/CharacterGrowthRate.js
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const Sequelize_1 = require("../Sequelize");
|
||||
class CharacterGrowthRate extends Sequelize_1.Model {
|
||||
}
|
||||
exports.CharacterGrowthRate = CharacterGrowthRate;
|
||||
CharacterGrowthRate.init({
|
||||
value: {
|
||||
type: Sequelize_1.DataTypes.INTEGER,
|
||||
defaultValue: 0,
|
||||
allowNull: false,
|
||||
field: "Nb_Value",
|
||||
},
|
||||
idCharacter: {
|
||||
type: Sequelize_1.DataTypes.INTEGER.UNSIGNED,
|
||||
allowNull: false,
|
||||
field: "Id_Character",
|
||||
},
|
||||
idStat: {
|
||||
type: Sequelize_1.DataTypes.INTEGER.UNSIGNED,
|
||||
allowNull: false,
|
||||
field: "Id_Stat",
|
||||
},
|
||||
}, {
|
||||
timestamps: false,
|
||||
tableName: 'Tbl_Character_Growth_Rate',
|
||||
sequelize: Sequelize_1.sequelize,
|
||||
});
|
||||
//# sourceMappingURL=CharacterGrowthRate.js.map
|
1
server/dist/models/CharacterGrowthRate.js.map
vendored
Normal file
1
server/dist/models/CharacterGrowthRate.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"CharacterGrowthRate.js","sourceRoot":"","sources":["../../src/models/CharacterGrowthRate.ts"],"names":[],"mappings":";;AAAA,4CAAyD;AAEzD,MAAM,mBAAoB,SAAQ,iBAAK;CAItC;AAyBO,kDAAmB;AAvB3B,mBAAmB,CAAC,IAAI,CAAC;IACrB,KAAK,EAAE;QACH,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,UAAU;KACpB;IACD,WAAW,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,QAAQ;QAChC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,cAAc;KACxB;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,QAAQ;QAChC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,SAAS;KACnB;CACJ,EAAE;IACC,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,2BAA2B;IACtC,SAAS,EAAE,qBAAS;CACvB,CAAC,CAAC"}
|
29
server/dist/models/ClassGrowthRate.js
vendored
Normal file
29
server/dist/models/ClassGrowthRate.js
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const Sequelize_1 = require("../Sequelize");
|
||||
class ClassGrowthRate extends Sequelize_1.Model {
|
||||
}
|
||||
exports.ClassGrowthRate = ClassGrowthRate;
|
||||
ClassGrowthRate.init({
|
||||
value: {
|
||||
type: Sequelize_1.DataTypes.INTEGER,
|
||||
defaultValue: 0,
|
||||
allowNull: false,
|
||||
field: "Nb_Value",
|
||||
},
|
||||
idClass: {
|
||||
type: Sequelize_1.DataTypes.INTEGER.UNSIGNED,
|
||||
allowNull: false,
|
||||
field: "Id_Class",
|
||||
},
|
||||
idStat: {
|
||||
type: Sequelize_1.DataTypes.INTEGER.UNSIGNED,
|
||||
allowNull: false,
|
||||
field: "Id_Stat",
|
||||
},
|
||||
}, {
|
||||
timestamps: false,
|
||||
tableName: 'Tbl_Class_Growth_Rate',
|
||||
sequelize: Sequelize_1.sequelize,
|
||||
});
|
||||
//# sourceMappingURL=ClassGrowthRate.js.map
|
1
server/dist/models/ClassGrowthRate.js.map
vendored
Normal file
1
server/dist/models/ClassGrowthRate.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"ClassGrowthRate.js","sourceRoot":"","sources":["../../src/models/ClassGrowthRate.ts"],"names":[],"mappings":";;AAAA,4CAAyD;AAEzD,MAAM,eAAgB,SAAQ,iBAAK;CAIlC;AAyBO,0CAAe;AAvBvB,eAAe,CAAC,IAAI,CAAC;IACjB,KAAK,EAAE;QACH,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,UAAU;KACpB;IACD,OAAO,EAAE;QACL,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,QAAQ;QAChC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,UAAU;KACpB;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,QAAQ;QAChC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,SAAS;KACnB;CACJ,EAAE;IACC,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,uBAAuB;IAClC,SAAS,EAAE,qBAAS;CACvB,CAAC,CAAC"}
|
41
server/dist/models/FE_Class.js
vendored
Normal file
41
server/dist/models/FE_Class.js
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const Sequelize_1 = require("../Sequelize");
|
||||
class FE_Class extends Sequelize_1.Model {
|
||||
}
|
||||
exports.FE_Class = FE_Class;
|
||||
const nameField = "Nm_Class";
|
||||
FE_Class.init({
|
||||
id: {
|
||||
type: Sequelize_1.DataTypes.INTEGER.UNSIGNED,
|
||||
autoIncrement: true,
|
||||
primaryKey: true,
|
||||
field: "Id_Class",
|
||||
},
|
||||
name: {
|
||||
type: Sequelize_1.DataTypes.STRING(32),
|
||||
allowNull: false,
|
||||
field: nameField,
|
||||
},
|
||||
isAvailableForAll: {
|
||||
type: Sequelize_1.DataTypes.BOOLEAN,
|
||||
allowNull: false,
|
||||
field: "Is_Available_For_All",
|
||||
},
|
||||
idGender: {
|
||||
type: Sequelize_1.DataTypes.INTEGER.UNSIGNED,
|
||||
allowNull: false,
|
||||
field: "Id_Gender",
|
||||
},
|
||||
}, {
|
||||
indexes: [
|
||||
{
|
||||
unique: true,
|
||||
fields: [nameField],
|
||||
},
|
||||
],
|
||||
timestamps: false,
|
||||
tableName: 'Tbl_Class',
|
||||
sequelize: Sequelize_1.sequelize,
|
||||
});
|
||||
//# sourceMappingURL=FE_Class.js.map
|
1
server/dist/models/FE_Class.js.map
vendored
Normal file
1
server/dist/models/FE_Class.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"FE_Class.js","sourceRoot":"","sources":["../../src/models/FE_Class.ts"],"names":[],"mappings":";;AAAA,4CAAyD;AAEzD,MAAM,QAAS,SAAQ,iBAAK;CAK3B;AAsCO,4BAAQ;AApChB,MAAM,SAAS,GAAG,UAAU,CAAC;AAE7B,QAAQ,CAAC,IAAI,CAAC;IACV,EAAE,EAAE;QACA,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,QAAQ;QAChC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,UAAU;KACpB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,SAAS;KACnB;IACD,iBAAiB,EAAE;QACf,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,sBAAsB;KAChC;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,QAAQ;QAChC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,WAAW;KACrB;CACJ,EAAE;IACC,OAAO,EAAE;QACL;YACI,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,CAAC,SAAS,CAAC;SACtB;KACJ;IACD,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,qBAAS;CACvB,CAAC,CAAC"}
|
31
server/dist/models/Gender.js
vendored
Normal file
31
server/dist/models/Gender.js
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const Sequelize_1 = require("../Sequelize");
|
||||
class Gender extends Sequelize_1.Model {
|
||||
}
|
||||
exports.Gender = Gender;
|
||||
const nameField = "Nm_Gender";
|
||||
Gender.init({
|
||||
id: {
|
||||
type: Sequelize_1.DataTypes.INTEGER.UNSIGNED,
|
||||
autoIncrement: true,
|
||||
primaryKey: true,
|
||||
field: "Id_Gender",
|
||||
},
|
||||
name: {
|
||||
type: Sequelize_1.DataTypes.STRING(16),
|
||||
allowNull: false,
|
||||
field: nameField,
|
||||
},
|
||||
}, {
|
||||
indexes: [
|
||||
{
|
||||
unique: true,
|
||||
fields: [nameField],
|
||||
}
|
||||
],
|
||||
timestamps: false,
|
||||
tableName: 'Tbl_Gender',
|
||||
sequelize: Sequelize_1.sequelize,
|
||||
});
|
||||
//# sourceMappingURL=Gender.js.map
|
1
server/dist/models/Gender.js.map
vendored
Normal file
1
server/dist/models/Gender.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"Gender.js","sourceRoot":"","sources":["../../src/models/Gender.ts"],"names":[],"mappings":";;AAAA,4CAAyD;AAEzD,MAAM,MAAO,SAAQ,iBAAK;CAGzB;AA4BO,wBAAM;AA1Bd,MAAM,SAAS,GAAG,WAAW,CAAC;AAE9B,MAAM,CAAC,IAAI,CAAC;IACR,EAAE,EAAE;QACA,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,QAAQ;QAChC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,WAAW;KACrB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,SAAS;KACnB;CACJ,EAAE;IACC,OAAO,EAAE;QACL;YACI,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,CAAC,SAAS,CAAC;SACtB;KACJ;IACD,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,qBAAS;CACvB,CAAC,CAAC"}
|
31
server/dist/models/House.js
vendored
Normal file
31
server/dist/models/House.js
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const Sequelize_1 = require("../Sequelize");
|
||||
class House extends Sequelize_1.Model {
|
||||
}
|
||||
exports.House = House;
|
||||
const nameField = "Nm_House";
|
||||
House.init({
|
||||
id: {
|
||||
type: Sequelize_1.DataTypes.INTEGER.UNSIGNED,
|
||||
autoIncrement: true,
|
||||
primaryKey: true,
|
||||
field: "Id_House",
|
||||
},
|
||||
name: {
|
||||
type: Sequelize_1.DataTypes.STRING(64),
|
||||
allowNull: false,
|
||||
field: nameField,
|
||||
},
|
||||
}, {
|
||||
indexes: [
|
||||
{
|
||||
unique: true,
|
||||
fields: [nameField],
|
||||
}
|
||||
],
|
||||
timestamps: false,
|
||||
tableName: 'Tbl_House',
|
||||
sequelize: Sequelize_1.sequelize,
|
||||
});
|
||||
//# sourceMappingURL=House.js.map
|
1
server/dist/models/House.js.map
vendored
Normal file
1
server/dist/models/House.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"House.js","sourceRoot":"","sources":["../../src/models/House.ts"],"names":[],"mappings":";;AAAA,4CAAyD;AAEzD,MAAM,KAAM,SAAQ,iBAAK;CAGxB;AA4BO,sBAAK;AA1Bb,MAAM,SAAS,GAAG,UAAU,CAAC;AAE7B,KAAK,CAAC,IAAI,CAAC;IACP,EAAE,EAAE;QACA,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,QAAQ;QAChC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,UAAU;KACpB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,SAAS;KACnB;CACJ,EAAE;IACC,OAAO,EAAE;QACL;YACI,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,CAAC,SAAS,CAAC;SACtB;KACJ;IACD,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,qBAAS;CACvB,CAAC,CAAC"}
|
23
server/dist/models/RestrictedCharacterClass.js
vendored
Normal file
23
server/dist/models/RestrictedCharacterClass.js
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const Sequelize_1 = require("../Sequelize");
|
||||
class RestrictedCharacterClass extends Sequelize_1.Model {
|
||||
}
|
||||
exports.RestrictedCharacterClass = RestrictedCharacterClass;
|
||||
RestrictedCharacterClass.init({
|
||||
idClass: {
|
||||
type: Sequelize_1.DataTypes.INTEGER.UNSIGNED,
|
||||
allowNull: false,
|
||||
field: "Id_Class",
|
||||
},
|
||||
idCharacter: {
|
||||
type: Sequelize_1.DataTypes.INTEGER.UNSIGNED,
|
||||
allowNull: false,
|
||||
field: "Id_Character",
|
||||
},
|
||||
}, {
|
||||
timestamps: false,
|
||||
tableName: 'Tbl_Character_Class',
|
||||
sequelize: Sequelize_1.sequelize,
|
||||
});
|
||||
//# sourceMappingURL=RestrictedCharacterClass.js.map
|
1
server/dist/models/RestrictedCharacterClass.js.map
vendored
Normal file
1
server/dist/models/RestrictedCharacterClass.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"RestrictedCharacterClass.js","sourceRoot":"","sources":["../../src/models/RestrictedCharacterClass.ts"],"names":[],"mappings":";;AAAA,4CAAyD;AAEzD,MAAM,wBAAyB,SAAQ,iBAAK;CAG3C;AAmBO,4DAAwB;AAjBhC,wBAAwB,CAAC,IAAI,CAAC;IAC1B,OAAO,EAAE;QACL,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,QAAQ;QAChC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,UAAU;KACpB;IACD,WAAW,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,QAAQ;QAChC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,cAAc;KACxB;CACJ,EAAE;IACC,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,qBAAqB;IAChC,SAAS,EAAE,qBAAS;CACvB,CAAC,CAAC"}
|
41
server/dist/models/Stat.js
vendored
Normal file
41
server/dist/models/Stat.js
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const Sequelize_1 = require("../Sequelize");
|
||||
class Stat extends Sequelize_1.Model {
|
||||
}
|
||||
exports.Stat = Stat;
|
||||
const nameField = "Nm_Stat";
|
||||
const shortNameField = "Nm_Short";
|
||||
Stat.init({
|
||||
id: {
|
||||
type: Sequelize_1.DataTypes.INTEGER.UNSIGNED,
|
||||
autoIncrement: true,
|
||||
primaryKey: true,
|
||||
field: "Id_Stat",
|
||||
},
|
||||
name: {
|
||||
type: Sequelize_1.DataTypes.STRING(16),
|
||||
allowNull: false,
|
||||
field: nameField,
|
||||
},
|
||||
shortName: {
|
||||
type: Sequelize_1.DataTypes.STRING(3),
|
||||
allowNull: false,
|
||||
field: shortNameField,
|
||||
},
|
||||
}, {
|
||||
indexes: [
|
||||
{
|
||||
unique: true,
|
||||
fields: [nameField],
|
||||
},
|
||||
{
|
||||
unique: true,
|
||||
fields: [shortNameField],
|
||||
}
|
||||
],
|
||||
timestamps: false,
|
||||
tableName: 'Tbl_Stat',
|
||||
sequelize: Sequelize_1.sequelize,
|
||||
});
|
||||
//# sourceMappingURL=Stat.js.map
|
1
server/dist/models/Stat.js.map
vendored
Normal file
1
server/dist/models/Stat.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"Stat.js","sourceRoot":"","sources":["../../src/models/Stat.ts"],"names":[],"mappings":";;AAAA,4CAAyD;AAEzD,MAAM,IAAK,SAAQ,iBAAK;CAIvB;AAsCO,oBAAI;AApCZ,MAAM,SAAS,GAAG,SAAS,CAAC;AAC5B,MAAM,cAAc,GAAG,UAAU,CAAC;AAElC,IAAI,CAAC,IAAI,CAAC;IACN,EAAE,EAAE;QACA,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,QAAQ;QAChC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,SAAS;KACnB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,SAAS;KACnB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACzB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,cAAc;KACxB;CACJ,EAAE;IACC,OAAO,EAAE;QACL;YACI,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,CAAC,SAAS,CAAC;SACtB;QACD;YACI,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,CAAC,cAAc,CAAC;SAC3B;KACJ;IACD,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,qBAAS;CACvB,CAAC,CAAC"}
|
2
server/package-lock.json
generated
2
server/package-lock.json
generated
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "fe-charts",
|
||||
"version": "0.0.1",
|
||||
"version": "0.1.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "fe-charts",
|
||||
"version": "0.0.1",
|
||||
"version": "0.1.0",
|
||||
"description": "API for Fire Emblem Three Houses",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
|
@ -1,4 +1,59 @@
|
||||
import {sequelize} from "./Sequelize";
|
||||
import {Catalogue} from "./models/Catalogue";
|
||||
import {Character} from "./models/Character";
|
||||
import {CharacterGrowthRate} from "./models/CharacterGrowthRate";
|
||||
import {ClassGrowthRate} from "./models/ClassGrowthRate";
|
||||
import {FE_Class} from "./models/FE_Class";
|
||||
import {Gender} from "./models/Gender";
|
||||
import {House} from "./models/House";
|
||||
import {RestrictedCharacterClass} from "./models/RestrictedCharacterClass";
|
||||
import {Stat} from "./models/Stat";
|
||||
|
||||
// Sequelize associations
|
||||
|
||||
House.hasMany(Character, {
|
||||
sourceKey: "id",
|
||||
foreignKey: "idHouse",
|
||||
});
|
||||
|
||||
Gender.hasMany(Character, {
|
||||
sourceKey: "id",
|
||||
foreignKey: "idGender",
|
||||
});
|
||||
|
||||
Gender.hasMany(FE_Class, {
|
||||
sourceKey: "id",
|
||||
foreignKey: "idGender",
|
||||
});
|
||||
|
||||
Character.belongsToMany(FE_Class, {
|
||||
foreignKey: {name: "Id_Character"},
|
||||
through: RestrictedCharacterClass,
|
||||
});
|
||||
FE_Class.belongsToMany(Character, {
|
||||
foreignKey: {name: "Id_Class"},
|
||||
through: RestrictedCharacterClass,
|
||||
});
|
||||
|
||||
Character.belongsToMany(Stat, {
|
||||
foreignKey: {name: "Id_Character"},
|
||||
through: CharacterGrowthRate,
|
||||
});
|
||||
Stat.belongsToMany(Character, {
|
||||
foreignKey: {name: "Id_Stat"},
|
||||
through: CharacterGrowthRate,
|
||||
});
|
||||
|
||||
FE_Class.belongsToMany(Stat, {
|
||||
foreignKey: {name: "Id_Class"},
|
||||
through: ClassGrowthRate,
|
||||
});
|
||||
Stat.belongsToMany(FE_Class, {
|
||||
foreignKey: {name: "Id_Stat"},
|
||||
through: ClassGrowthRate,
|
||||
});
|
||||
|
||||
// Create tables if not exists
|
||||
sequelize.sync();
|
||||
|
||||
export {Catalogue, Character, CharacterGrowthRate, ClassGrowthRate, FE_Class, Gender, House, Stat, RestrictedCharacterClass};
|
40
server/src/models/Catalogue.ts
Normal file
40
server/src/models/Catalogue.ts
Normal file
@ -0,0 +1,40 @@
|
||||
import {sequelize, Model, DataTypes} from "../Sequelize";
|
||||
|
||||
class Catalogue extends Model {
|
||||
public id!: number;
|
||||
public version!: string;
|
||||
public lastUpdate!: Date;
|
||||
}
|
||||
|
||||
const versionField = "No_Version";
|
||||
|
||||
Catalogue.init({
|
||||
id: {
|
||||
type: DataTypes.INTEGER.UNSIGNED,
|
||||
autoIncrement: true,
|
||||
primaryKey: true,
|
||||
field: "Id_Catalogue",
|
||||
},
|
||||
version: {
|
||||
type: DataTypes.STRING(16),
|
||||
allowNull: false,
|
||||
field: versionField
|
||||
},
|
||||
lastUpdate: {
|
||||
type: DataTypes.DATE,
|
||||
allowNull: false,
|
||||
field: "Dttm_Last_Update"
|
||||
},
|
||||
}, {
|
||||
indexes: [
|
||||
{
|
||||
unique: true,
|
||||
fields: [versionField],
|
||||
},
|
||||
],
|
||||
timestamps: false,
|
||||
tableName: 'Tbl_Catalogue',
|
||||
sequelize: sequelize,
|
||||
});
|
||||
|
||||
export {Catalogue}
|
50
server/src/models/Character.ts
Normal file
50
server/src/models/Character.ts
Normal file
@ -0,0 +1,50 @@
|
||||
import {sequelize, Model, DataTypes} from "../Sequelize";
|
||||
|
||||
class Character extends Model {
|
||||
public id!: number;
|
||||
public firstName: string;
|
||||
public lastName: string;
|
||||
public imgFileName: string;
|
||||
public idHouse!: number;
|
||||
public idGender!: number;
|
||||
}
|
||||
|
||||
Character.init({
|
||||
id: {
|
||||
type: DataTypes.INTEGER.UNSIGNED,
|
||||
autoIncrement: true,
|
||||
primaryKey: true,
|
||||
field: "Id_Character",
|
||||
},
|
||||
firstName: {
|
||||
type: DataTypes.STRING(32),
|
||||
allowNull: true,
|
||||
field: "Nm_First",
|
||||
},
|
||||
lastName: {
|
||||
type: DataTypes.STRING(32),
|
||||
allowNull: true,
|
||||
field: "Nm_Last",
|
||||
},
|
||||
imgFileName: {
|
||||
type: DataTypes.STRING(64),
|
||||
allowNull: true,
|
||||
field: "Nm_File_Img",
|
||||
},
|
||||
idHouse: {
|
||||
type: DataTypes.INTEGER.UNSIGNED,
|
||||
allowNull: false,
|
||||
field: "Id_House",
|
||||
},
|
||||
idGender: {
|
||||
type: DataTypes.INTEGER.UNSIGNED,
|
||||
allowNull: false,
|
||||
field: "Id_Gender",
|
||||
},
|
||||
}, {
|
||||
timestamps: false,
|
||||
tableName: 'Tbl_Character',
|
||||
sequelize: sequelize,
|
||||
});
|
||||
|
||||
export {Character}
|
32
server/src/models/CharacterGrowthRate.ts
Normal file
32
server/src/models/CharacterGrowthRate.ts
Normal file
@ -0,0 +1,32 @@
|
||||
import {sequelize, Model, DataTypes} from "../Sequelize";
|
||||
|
||||
class CharacterGrowthRate extends Model {
|
||||
public value!: number;
|
||||
public idCharacter!: number;
|
||||
public idStat!: number;
|
||||
}
|
||||
|
||||
CharacterGrowthRate.init({
|
||||
value: {
|
||||
type: DataTypes.INTEGER,
|
||||
defaultValue: 0,
|
||||
allowNull: false,
|
||||
field: "Nb_Value",
|
||||
},
|
||||
idCharacter: {
|
||||
type: DataTypes.INTEGER.UNSIGNED,
|
||||
allowNull: false,
|
||||
field: "Id_Character",
|
||||
},
|
||||
idStat: {
|
||||
type: DataTypes.INTEGER.UNSIGNED,
|
||||
allowNull: false,
|
||||
field: "Id_Stat",
|
||||
},
|
||||
}, {
|
||||
timestamps: false,
|
||||
tableName: 'Tbl_Character_Growth_Rate',
|
||||
sequelize: sequelize,
|
||||
});
|
||||
|
||||
export {CharacterGrowthRate};
|
32
server/src/models/ClassGrowthRate.ts
Normal file
32
server/src/models/ClassGrowthRate.ts
Normal file
@ -0,0 +1,32 @@
|
||||
import {sequelize, Model, DataTypes} from "../Sequelize";
|
||||
|
||||
class ClassGrowthRate extends Model {
|
||||
public value!: number;
|
||||
public idClass!: number;
|
||||
public idStat!: number;
|
||||
}
|
||||
|
||||
ClassGrowthRate.init({
|
||||
value: {
|
||||
type: DataTypes.INTEGER,
|
||||
defaultValue: 0,
|
||||
allowNull: false,
|
||||
field: "Nb_Value",
|
||||
},
|
||||
idClass: {
|
||||
type: DataTypes.INTEGER.UNSIGNED,
|
||||
allowNull: false,
|
||||
field: "Id_Class",
|
||||
},
|
||||
idStat: {
|
||||
type: DataTypes.INTEGER.UNSIGNED,
|
||||
allowNull: false,
|
||||
field: "Id_Stat",
|
||||
},
|
||||
}, {
|
||||
timestamps: false,
|
||||
tableName: 'Tbl_Class_Growth_Rate',
|
||||
sequelize: sequelize,
|
||||
});
|
||||
|
||||
export {ClassGrowthRate};
|
46
server/src/models/FE_Class.ts
Normal file
46
server/src/models/FE_Class.ts
Normal file
@ -0,0 +1,46 @@
|
||||
import {sequelize, Model, DataTypes} from "../Sequelize";
|
||||
|
||||
class FE_Class extends Model {
|
||||
public id!: number;
|
||||
public name!: string;
|
||||
public isAvailableForAll!: boolean;
|
||||
public idGender!: number;
|
||||
}
|
||||
|
||||
const nameField = "Nm_Class";
|
||||
|
||||
FE_Class.init({
|
||||
id: {
|
||||
type: DataTypes.INTEGER.UNSIGNED,
|
||||
autoIncrement: true,
|
||||
primaryKey: true,
|
||||
field: "Id_Class",
|
||||
},
|
||||
name: {
|
||||
type: DataTypes.STRING(32),
|
||||
allowNull: false,
|
||||
field: nameField,
|
||||
},
|
||||
isAvailableForAll: {
|
||||
type: DataTypes.BOOLEAN,
|
||||
allowNull: false,
|
||||
field: "Is_Available_For_All",
|
||||
},
|
||||
idGender: {
|
||||
type: DataTypes.INTEGER.UNSIGNED,
|
||||
allowNull: false,
|
||||
field: "Id_Gender",
|
||||
},
|
||||
}, {
|
||||
indexes: [
|
||||
{
|
||||
unique: true,
|
||||
fields: [nameField],
|
||||
},
|
||||
],
|
||||
timestamps: false,
|
||||
tableName: 'Tbl_Class',
|
||||
sequelize: sequelize,
|
||||
});
|
||||
|
||||
export {FE_Class}
|
34
server/src/models/Gender.ts
Normal file
34
server/src/models/Gender.ts
Normal file
@ -0,0 +1,34 @@
|
||||
import {sequelize, Model, DataTypes} from "../Sequelize";
|
||||
|
||||
class Gender extends Model {
|
||||
public id!: number;
|
||||
public name!: string;
|
||||
}
|
||||
|
||||
const nameField = "Nm_Gender";
|
||||
|
||||
Gender.init({
|
||||
id: {
|
||||
type: DataTypes.INTEGER.UNSIGNED,
|
||||
autoIncrement: true,
|
||||
primaryKey: true,
|
||||
field: "Id_Gender",
|
||||
},
|
||||
name: {
|
||||
type: DataTypes.STRING(16),
|
||||
allowNull: false,
|
||||
field: nameField,
|
||||
},
|
||||
}, {
|
||||
indexes: [
|
||||
{
|
||||
unique: true,
|
||||
fields: [nameField],
|
||||
}
|
||||
],
|
||||
timestamps: false,
|
||||
tableName: 'Tbl_Gender',
|
||||
sequelize: sequelize,
|
||||
});
|
||||
|
||||
export {Gender}
|
34
server/src/models/House.ts
Normal file
34
server/src/models/House.ts
Normal file
@ -0,0 +1,34 @@
|
||||
import {sequelize, Model, DataTypes} from "../Sequelize";
|
||||
|
||||
class House extends Model {
|
||||
public id!: number;
|
||||
public name!: string;
|
||||
}
|
||||
|
||||
const nameField = "Nm_House";
|
||||
|
||||
House.init({
|
||||
id: {
|
||||
type: DataTypes.INTEGER.UNSIGNED,
|
||||
autoIncrement: true,
|
||||
primaryKey: true,
|
||||
field: "Id_House",
|
||||
},
|
||||
name: {
|
||||
type: DataTypes.STRING(64),
|
||||
allowNull: false,
|
||||
field: nameField,
|
||||
},
|
||||
}, {
|
||||
indexes: [
|
||||
{
|
||||
unique: true,
|
||||
fields: [nameField],
|
||||
}
|
||||
],
|
||||
timestamps: false,
|
||||
tableName: 'Tbl_House',
|
||||
sequelize: sequelize,
|
||||
});
|
||||
|
||||
export {House}
|
25
server/src/models/RestrictedCharacterClass.ts
Normal file
25
server/src/models/RestrictedCharacterClass.ts
Normal file
@ -0,0 +1,25 @@
|
||||
import {sequelize, Model, DataTypes} from "../Sequelize";
|
||||
|
||||
class RestrictedCharacterClass extends Model {
|
||||
public idClass!: number;
|
||||
public idCharacter!: number;
|
||||
}
|
||||
|
||||
RestrictedCharacterClass.init({
|
||||
idClass: {
|
||||
type: DataTypes.INTEGER.UNSIGNED,
|
||||
allowNull: false,
|
||||
field: "Id_Class",
|
||||
},
|
||||
idCharacter: {
|
||||
type: DataTypes.INTEGER.UNSIGNED,
|
||||
allowNull: false,
|
||||
field: "Id_Character",
|
||||
},
|
||||
}, {
|
||||
timestamps: false,
|
||||
tableName: 'Tbl_Character_Class',
|
||||
sequelize: sequelize,
|
||||
});
|
||||
|
||||
export {RestrictedCharacterClass};
|
45
server/src/models/Stat.ts
Normal file
45
server/src/models/Stat.ts
Normal file
@ -0,0 +1,45 @@
|
||||
import {sequelize, Model, DataTypes} from "../Sequelize";
|
||||
|
||||
class Stat extends Model {
|
||||
public id!: number;
|
||||
public name!: string;
|
||||
public shortName!: string;
|
||||
}
|
||||
|
||||
const nameField = "Nm_Stat";
|
||||
const shortNameField = "Nm_Short";
|
||||
|
||||
Stat.init({
|
||||
id: {
|
||||
type: DataTypes.INTEGER.UNSIGNED,
|
||||
autoIncrement: true,
|
||||
primaryKey: true,
|
||||
field: "Id_Stat",
|
||||
},
|
||||
name: {
|
||||
type: DataTypes.STRING(16),
|
||||
allowNull: false,
|
||||
field: nameField,
|
||||
},
|
||||
shortName: {
|
||||
type: DataTypes.STRING(3),
|
||||
allowNull: false,
|
||||
field: shortNameField,
|
||||
},
|
||||
}, {
|
||||
indexes: [
|
||||
{
|
||||
unique: true,
|
||||
fields: [nameField],
|
||||
},
|
||||
{
|
||||
unique: true,
|
||||
fields: [shortNameField],
|
||||
}
|
||||
],
|
||||
timestamps: false,
|
||||
tableName: 'Tbl_Stat',
|
||||
sequelize: sequelize,
|
||||
});
|
||||
|
||||
export {Stat}
|
Reference in New Issue
Block a user