From 7ab64a4ee15dab10c5b6e0f44d43183bbb000e36 Mon Sep 17 00:00:00 2001 From: dario-cfpt Date: Tue, 3 Dec 2019 11:45:01 +0100 Subject: [PATCH] Add models and relationships for sequelize --- server/dist/mapping.js | 55 +++++++++++++++++++ server/dist/mapping.js.map | 2 +- server/dist/models/Catalogue.js | 36 ++++++++++++ server/dist/models/Catalogue.js.map | 1 + server/dist/models/Character.js | 44 +++++++++++++++ server/dist/models/Character.js.map | 1 + server/dist/models/CharacterGrowthRate.js | 29 ++++++++++ server/dist/models/CharacterGrowthRate.js.map | 1 + server/dist/models/ClassGrowthRate.js | 29 ++++++++++ server/dist/models/ClassGrowthRate.js.map | 1 + server/dist/models/FE_Class.js | 41 ++++++++++++++ server/dist/models/FE_Class.js.map | 1 + server/dist/models/Gender.js | 31 +++++++++++ server/dist/models/Gender.js.map | 1 + server/dist/models/House.js | 31 +++++++++++ server/dist/models/House.js.map | 1 + .../dist/models/RestrictedCharacterClass.js | 23 ++++++++ .../models/RestrictedCharacterClass.js.map | 1 + server/dist/models/Stat.js | 41 ++++++++++++++ server/dist/models/Stat.js.map | 1 + server/package-lock.json | 2 +- server/package.json | 2 +- server/src/mapping.ts | 55 +++++++++++++++++++ server/src/models/Catalogue.ts | 40 ++++++++++++++ server/src/models/Character.ts | 50 +++++++++++++++++ server/src/models/CharacterGrowthRate.ts | 32 +++++++++++ server/src/models/ClassGrowthRate.ts | 32 +++++++++++ server/src/models/FE_Class.ts | 46 ++++++++++++++++ server/src/models/Gender.ts | 34 ++++++++++++ server/src/models/House.ts | 34 ++++++++++++ server/src/models/RestrictedCharacterClass.ts | 25 +++++++++ server/src/models/Stat.ts | 45 +++++++++++++++ 32 files changed, 765 insertions(+), 3 deletions(-) create mode 100644 server/dist/models/Catalogue.js create mode 100644 server/dist/models/Catalogue.js.map create mode 100644 server/dist/models/Character.js create mode 100644 server/dist/models/Character.js.map create mode 100644 server/dist/models/CharacterGrowthRate.js create mode 100644 server/dist/models/CharacterGrowthRate.js.map create mode 100644 server/dist/models/ClassGrowthRate.js create mode 100644 server/dist/models/ClassGrowthRate.js.map create mode 100644 server/dist/models/FE_Class.js create mode 100644 server/dist/models/FE_Class.js.map create mode 100644 server/dist/models/Gender.js create mode 100644 server/dist/models/Gender.js.map create mode 100644 server/dist/models/House.js create mode 100644 server/dist/models/House.js.map create mode 100644 server/dist/models/RestrictedCharacterClass.js create mode 100644 server/dist/models/RestrictedCharacterClass.js.map create mode 100644 server/dist/models/Stat.js create mode 100644 server/dist/models/Stat.js.map create mode 100644 server/src/models/Catalogue.ts create mode 100644 server/src/models/Character.ts create mode 100644 server/src/models/CharacterGrowthRate.ts create mode 100644 server/src/models/ClassGrowthRate.ts create mode 100644 server/src/models/FE_Class.ts create mode 100644 server/src/models/Gender.ts create mode 100644 server/src/models/House.ts create mode 100644 server/src/models/RestrictedCharacterClass.ts create mode 100644 server/src/models/Stat.ts diff --git a/server/dist/mapping.js b/server/dist/mapping.js index 35a7682..93a720e 100644 --- a/server/dist/mapping.js +++ b/server/dist/mapping.js @@ -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 \ No newline at end of file diff --git a/server/dist/mapping.js.map b/server/dist/mapping.js.map index 69c97d1..4fca025 100644 --- a/server/dist/mapping.js.map +++ b/server/dist/mapping.js.map @@ -1 +1 @@ -{"version":3,"file":"mapping.js","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":";;AAAA,2CAAsC;AAEtC,8BAA8B;AAC9B,qBAAS,CAAC,IAAI,EAAE,CAAC"} \ No newline at end of file +{"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"} \ No newline at end of file diff --git a/server/dist/models/Catalogue.js b/server/dist/models/Catalogue.js new file mode 100644 index 0000000..c4b5d0d --- /dev/null +++ b/server/dist/models/Catalogue.js @@ -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 \ No newline at end of file diff --git a/server/dist/models/Catalogue.js.map b/server/dist/models/Catalogue.js.map new file mode 100644 index 0000000..8475dbc --- /dev/null +++ b/server/dist/models/Catalogue.js.map @@ -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"} \ No newline at end of file diff --git a/server/dist/models/Character.js b/server/dist/models/Character.js new file mode 100644 index 0000000..d6b5c0e --- /dev/null +++ b/server/dist/models/Character.js @@ -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 \ No newline at end of file diff --git a/server/dist/models/Character.js.map b/server/dist/models/Character.js.map new file mode 100644 index 0000000..8ff72dc --- /dev/null +++ b/server/dist/models/Character.js.map @@ -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"} \ No newline at end of file diff --git a/server/dist/models/CharacterGrowthRate.js b/server/dist/models/CharacterGrowthRate.js new file mode 100644 index 0000000..344a11b --- /dev/null +++ b/server/dist/models/CharacterGrowthRate.js @@ -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 \ No newline at end of file diff --git a/server/dist/models/CharacterGrowthRate.js.map b/server/dist/models/CharacterGrowthRate.js.map new file mode 100644 index 0000000..6ed1ded --- /dev/null +++ b/server/dist/models/CharacterGrowthRate.js.map @@ -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"} \ No newline at end of file diff --git a/server/dist/models/ClassGrowthRate.js b/server/dist/models/ClassGrowthRate.js new file mode 100644 index 0000000..75cdeac --- /dev/null +++ b/server/dist/models/ClassGrowthRate.js @@ -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 \ No newline at end of file diff --git a/server/dist/models/ClassGrowthRate.js.map b/server/dist/models/ClassGrowthRate.js.map new file mode 100644 index 0000000..67d47ec --- /dev/null +++ b/server/dist/models/ClassGrowthRate.js.map @@ -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"} \ No newline at end of file diff --git a/server/dist/models/FE_Class.js b/server/dist/models/FE_Class.js new file mode 100644 index 0000000..bfabaf8 --- /dev/null +++ b/server/dist/models/FE_Class.js @@ -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 \ No newline at end of file diff --git a/server/dist/models/FE_Class.js.map b/server/dist/models/FE_Class.js.map new file mode 100644 index 0000000..14da6b6 --- /dev/null +++ b/server/dist/models/FE_Class.js.map @@ -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"} \ No newline at end of file diff --git a/server/dist/models/Gender.js b/server/dist/models/Gender.js new file mode 100644 index 0000000..e164f7e --- /dev/null +++ b/server/dist/models/Gender.js @@ -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 \ No newline at end of file diff --git a/server/dist/models/Gender.js.map b/server/dist/models/Gender.js.map new file mode 100644 index 0000000..d9685ee --- /dev/null +++ b/server/dist/models/Gender.js.map @@ -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"} \ No newline at end of file diff --git a/server/dist/models/House.js b/server/dist/models/House.js new file mode 100644 index 0000000..3041e85 --- /dev/null +++ b/server/dist/models/House.js @@ -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 \ No newline at end of file diff --git a/server/dist/models/House.js.map b/server/dist/models/House.js.map new file mode 100644 index 0000000..91cf346 --- /dev/null +++ b/server/dist/models/House.js.map @@ -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"} \ No newline at end of file diff --git a/server/dist/models/RestrictedCharacterClass.js b/server/dist/models/RestrictedCharacterClass.js new file mode 100644 index 0000000..092a3a2 --- /dev/null +++ b/server/dist/models/RestrictedCharacterClass.js @@ -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 \ No newline at end of file diff --git a/server/dist/models/RestrictedCharacterClass.js.map b/server/dist/models/RestrictedCharacterClass.js.map new file mode 100644 index 0000000..e77d28d --- /dev/null +++ b/server/dist/models/RestrictedCharacterClass.js.map @@ -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"} \ No newline at end of file diff --git a/server/dist/models/Stat.js b/server/dist/models/Stat.js new file mode 100644 index 0000000..7505f9f --- /dev/null +++ b/server/dist/models/Stat.js @@ -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 \ No newline at end of file diff --git a/server/dist/models/Stat.js.map b/server/dist/models/Stat.js.map new file mode 100644 index 0000000..1fc87cd --- /dev/null +++ b/server/dist/models/Stat.js.map @@ -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"} \ No newline at end of file diff --git a/server/package-lock.json b/server/package-lock.json index b0e0f58..32e74d3 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -1,6 +1,6 @@ { "name": "fe-charts", - "version": "0.0.1", + "version": "0.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/server/package.json b/server/package.json index 6924a88..ab72d16 100644 --- a/server/package.json +++ b/server/package.json @@ -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": { diff --git a/server/src/mapping.ts b/server/src/mapping.ts index 299f6c7..b4a19fd 100644 --- a/server/src/mapping.ts +++ b/server/src/mapping.ts @@ -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}; \ No newline at end of file diff --git a/server/src/models/Catalogue.ts b/server/src/models/Catalogue.ts new file mode 100644 index 0000000..8540aa2 --- /dev/null +++ b/server/src/models/Catalogue.ts @@ -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} \ No newline at end of file diff --git a/server/src/models/Character.ts b/server/src/models/Character.ts new file mode 100644 index 0000000..43c2d6a --- /dev/null +++ b/server/src/models/Character.ts @@ -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} \ No newline at end of file diff --git a/server/src/models/CharacterGrowthRate.ts b/server/src/models/CharacterGrowthRate.ts new file mode 100644 index 0000000..d93c368 --- /dev/null +++ b/server/src/models/CharacterGrowthRate.ts @@ -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}; \ No newline at end of file diff --git a/server/src/models/ClassGrowthRate.ts b/server/src/models/ClassGrowthRate.ts new file mode 100644 index 0000000..0813773 --- /dev/null +++ b/server/src/models/ClassGrowthRate.ts @@ -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}; \ No newline at end of file diff --git a/server/src/models/FE_Class.ts b/server/src/models/FE_Class.ts new file mode 100644 index 0000000..ff87c72 --- /dev/null +++ b/server/src/models/FE_Class.ts @@ -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} \ No newline at end of file diff --git a/server/src/models/Gender.ts b/server/src/models/Gender.ts new file mode 100644 index 0000000..2735fd9 --- /dev/null +++ b/server/src/models/Gender.ts @@ -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} \ No newline at end of file diff --git a/server/src/models/House.ts b/server/src/models/House.ts new file mode 100644 index 0000000..6759d0a --- /dev/null +++ b/server/src/models/House.ts @@ -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} \ No newline at end of file diff --git a/server/src/models/RestrictedCharacterClass.ts b/server/src/models/RestrictedCharacterClass.ts new file mode 100644 index 0000000..3f44556 --- /dev/null +++ b/server/src/models/RestrictedCharacterClass.ts @@ -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}; \ No newline at end of file diff --git a/server/src/models/Stat.ts b/server/src/models/Stat.ts new file mode 100644 index 0000000..30b1634 --- /dev/null +++ b/server/src/models/Stat.ts @@ -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} \ No newline at end of file