From 10fe95bbc9bd68b5196b61b3abf95689c9e3e2eb Mon Sep 17 00:00:00 2001 From: Daniel-olaO <88808467+Daniel-olaO@users.noreply.github.com> Date: Thu, 27 Apr 2023 12:07:01 -0400 Subject: [PATCH 1/4] Created team schema --- models/team.js | 12 ++++++++++++ models/teamMember.js | 31 +++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 models/team.js create mode 100644 models/teamMember.js diff --git a/models/team.js b/models/team.js new file mode 100644 index 000000000..acc112e01 --- /dev/null +++ b/models/team.js @@ -0,0 +1,12 @@ +module.exports = function (sequelize, DataTypes) { + const Team = sequelize.define('Team', { + id: { + type: DataTypes.INTEGER, + primaryKey: true, + AllowNull: false + }, + name: DataTypes.STRING, + description: DataTypes.STRING, + timestamps: true, + }) +} diff --git a/models/teamMember.js b/models/teamMember.js new file mode 100644 index 000000000..481d3a3b2 --- /dev/null +++ b/models/teamMember.js @@ -0,0 +1,31 @@ +const Team = require('./team') +const User = require('./user') + +module.exports = function (sequelize, DataTypes) { + const TeamMember = sequelize.define('TeamMember', { + id: { + type: DataTypes.INTEGER, + primaryKey: true, + AllowNull: false + }, + team_id: { + type: DataTypes.INTEGER, + allowNull: false, + references: { + model: 'Team', + key: 'id', + }, + }, + user_id: { + type: DataTypes.INTEGER, + allowNull: false, + references: { + model: 'User', + key: 'id', + }, + }, + timestamps: true, + }) + TeamMember.belongsTo(Team, { foreignKey: 'team_id' }) + TeamMember.belongsTo(User, { foreignKey: 'user_id' }) +} From fc340f296b6a570020af909f69241264add237c0 Mon Sep 17 00:00:00 2001 From: Daniel-olaO <88808467+Daniel-olaO@users.noreply.github.com> Date: Tue, 6 Jun 2023 09:01:28 -0400 Subject: [PATCH 2/4] Added return statement --- models/team.js | 3 ++- models/teamMember.js | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/models/team.js b/models/team.js index acc112e01..1dc9d525d 100644 --- a/models/team.js +++ b/models/team.js @@ -8,5 +8,6 @@ module.exports = function (sequelize, DataTypes) { name: DataTypes.STRING, description: DataTypes.STRING, timestamps: true, - }) + }); + return Team; } diff --git a/models/teamMember.js b/models/teamMember.js index 481d3a3b2..5d2428190 100644 --- a/models/teamMember.js +++ b/models/teamMember.js @@ -26,6 +26,8 @@ module.exports = function (sequelize, DataTypes) { }, timestamps: true, }) - TeamMember.belongsTo(Team, { foreignKey: 'team_id' }) - TeamMember.belongsTo(User, { foreignKey: 'user_id' }) + TeamMember.belongsTo(Team, { foreignKey: 'team_id' }); + TeamMember.belongsTo(User, { foreignKey: 'user_id' }); + + return TeamMember; } From 102c42d772698a00a0fb11a2137455ee81ac9e8b Mon Sep 17 00:00:00 2001 From: Daniel-olaO <88808467+Daniel-olaO@users.noreply.github.com> Date: Tue, 6 Jun 2023 12:05:35 -0400 Subject: [PATCH 3/4] Address PR comments --- models/teamMember.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/models/teamMember.js b/models/teamMember.js index 5d2428190..eb4804331 100644 --- a/models/teamMember.js +++ b/models/teamMember.js @@ -25,9 +25,11 @@ module.exports = function (sequelize, DataTypes) { }, }, timestamps: true, - }) - TeamMember.belongsTo(Team, { foreignKey: 'team_id' }); - TeamMember.belongsTo(User, { foreignKey: 'user_id' }); - + }); + TeamMember.associate = (model) => { + TeamMember.belongsTo(model.Team,{ + foreignKey: 'team_id', + }) + } return TeamMember; } From 96829b6cc2e911f9ab30dc0c5d099eb94cd0edeb Mon Sep 17 00:00:00 2001 From: Daniel-olaO <88808467+Daniel-olaO@users.noreply.github.com> Date: Tue, 6 Jun 2023 12:42:49 -0400 Subject: [PATCH 4/4] Removed imports --- models/teamMember.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/models/teamMember.js b/models/teamMember.js index eb4804331..7c8e7ee5d 100644 --- a/models/teamMember.js +++ b/models/teamMember.js @@ -1,6 +1,3 @@ -const Team = require('./team') -const User = require('./user') - module.exports = function (sequelize, DataTypes) { const TeamMember = sequelize.define('TeamMember', { id: { @@ -29,7 +26,10 @@ module.exports = function (sequelize, DataTypes) { TeamMember.associate = (model) => { TeamMember.belongsTo(model.Team,{ foreignKey: 'team_id', - }) + }); + TeamMember.belongsTo(model.User,{ + foreignKey: 'user_id', + }); } return TeamMember; }