Skip to content

Commit

Permalink
add: member registration
Browse files Browse the repository at this point in the history
  • Loading branch information
pbc1017 committed Mar 14, 2024
1 parent 05c84e1 commit e4e9c85
Show file tree
Hide file tree
Showing 21 changed files with 2,029 additions and 33 deletions.
96 changes: 96 additions & 0 deletions back/models/RegistrationMember.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
const Sequelize = require('sequelize');
module.exports = function(sequelize, DataTypes) {
return sequelize.define('RegistrationMember', {
id: {
autoIncrement: true,
type: DataTypes.INTEGER,
allowNull: false,
primaryKey: true
},
semester_id: {
type: DataTypes.INTEGER,
allowNull: false,
references: {
model: 'Semester',
key: 'id'
}
},
student_id: {
type: DataTypes.INTEGER,
allowNull: false,
references: {
model: 'Member',
key: 'student_id'
}
},
club_id: {
type: DataTypes.INTEGER,
allowNull: false,
references: {
model: 'SemesterClub',
key: 'club_id'
}
},
approved_type: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 1
},
apply_time: {
type: DataTypes.DATE,
allowNull: false
},
approve_time: {
type: DataTypes.DATE,
allowNull: true
}
}, {
sequelize,
tableName: 'RegistrationMember',
timestamps: false,
indexes: [
{
name: "PRIMARY",
unique: true,
using: "BTREE",
fields: [
{ name: "id" },
]
},
{
name: "RegistrationMember_pk2",
unique: true,
using: "BTREE",
fields: [
{ name: "club_id" },
{ name: "student_id" },
{ name: "approved_type" },
{ name: "semester_id" },
]
},
{
name: "RegistrationMember_MemberStatus_semester_id_student_id_fk",
using: "BTREE",
fields: [
{ name: "semester_id" },
{ name: "student_id" },
]
},
{
name: "RegistrationMember_Member_student_id_fk",
using: "BTREE",
fields: [
{ name: "student_id" },
]
},
{
name: "RegistrationMember_SemesterClub_semester_id_club_id_fk",
using: "BTREE",
fields: [
{ name: "semester_id" },
{ name: "club_id" },
]
},
]
});
};
9 changes: 9 additions & 0 deletions back/models/init-models.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ var _RegistrationActivityMember = require("./RegistrationActivityMember");
var _RegistrationEvidence = require("./RegistrationEvidence");
var _RegistrationEvidenceType = require("./RegistrationEvidenceType");
var _RegistrationFeedback = require("./RegistrationFeedback");
var _RegistrationMember = require("./RegistrationMember");
var _RegistrationSign = require("./RegistrationSign");
var _RegistrationSignType = require("./RegistrationSignType");
var _RegistrationType = require("./RegistrationType");
Expand Down Expand Up @@ -117,6 +118,7 @@ function initModels(sequelize) {
var RegistrationEvidence = _RegistrationEvidence(sequelize, DataTypes);
var RegistrationEvidenceType = _RegistrationEvidenceType(sequelize, DataTypes);
var RegistrationFeedback = _RegistrationFeedback(sequelize, DataTypes);
var RegistrationMember = _RegistrationMember(sequelize, DataTypes);
var RegistrationSign = _RegistrationSign(sequelize, DataTypes);
var RegistrationSignType = _RegistrationSignType(sequelize, DataTypes);
var RegistrationType = _RegistrationType(sequelize, DataTypes);
Expand Down Expand Up @@ -252,6 +254,8 @@ function initModels(sequelize) {
Member.hasMany(RegistrationActivityMember, { as: "RegistrationActivityMembers", foreignKey: "member_student_id"});
RegistrationFeedback.belongsTo(Member, { as: "student", foreignKey: "student_id"});
Member.hasMany(RegistrationFeedback, { as: "RegistrationFeedbacks", foreignKey: "student_id"});
RegistrationMember.belongsTo(Member, { as: "student", foreignKey: "student_id"});
Member.hasMany(RegistrationMember, { as: "RegistrationMembers", foreignKey: "student_id"});
MemberClub.belongsTo(MemberStatus, { as: "semester", foreignKey: "semester_id"});
MemberStatus.hasMany(MemberClub, { as: "MemberClubs", foreignKey: "semester_id"});
RegistrationActivity.belongsTo(Registration, { as: "registration_Registration", foreignKey: "registration"});
Expand Down Expand Up @@ -284,8 +288,12 @@ function initModels(sequelize) {
Semester.hasMany(Registration, { as: "Registrations", foreignKey: "semester_id"});
RegistrationActivity.belongsTo(Semester, { as: "semester", foreignKey: "semester_id"});
Semester.hasMany(RegistrationActivity, { as: "RegistrationActivities", foreignKey: "semester_id"});
RegistrationMember.belongsTo(Semester, { as: "semester", foreignKey: "semester_id"});
Semester.hasMany(RegistrationMember, { as: "RegistrationMembers", foreignKey: "semester_id"});
SemesterClub.belongsTo(Semester, { as: "semester", foreignKey: "semester_id"});
Semester.hasMany(SemesterClub, { as: "SemesterClubs", foreignKey: "semester_id"});
RegistrationMember.belongsTo(SemesterClub, { as: "club", foreignKey: "club_id"});
SemesterClub.hasMany(RegistrationMember, { as: "RegistrationMembers", foreignKey: "club_id"});
SemesterClub.belongsTo(SemesterClubType, { as: "type", foreignKey: "type_id"});
SemesterClubType.hasMany(SemesterClub, { as: "SemesterClubs", foreignKey: "type_id"});

Expand Down Expand Up @@ -344,6 +352,7 @@ function initModels(sequelize) {
RegistrationEvidence,
RegistrationEvidenceType,
RegistrationFeedback,
RegistrationMember,
RegistrationSign,
RegistrationSignType,
RegistrationType,
Expand Down
12 changes: 12 additions & 0 deletions back/routes/club.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ const {
MemberClub,
MemberStatus,
ClubBuilding,
RegistrationMember,
} = require("../models");

router.get("/club_detail", async (req, res) => {
Expand Down Expand Up @@ -495,6 +496,14 @@ router.get("/division_clubs", async (req, res) => {
},
});

const registrationState = await RegistrationMember.findOne({
where: {
club_id: club.id,
semester_id: currentSemester.id,
student_id: req.session.user.student_id,
},
});

return {
id: club.id,
clubName: club.name,
Expand All @@ -503,6 +512,9 @@ router.get("/division_clubs", async (req, res) => {
clubPresident: clubPresident,
advisor: semesterClubInfo.advisor,
totalMembers: totalMembersCount,
registrationState: registrationState
? registrationState.approved_type
: 0,
};
})
);
Expand Down
Loading

0 comments on commit e4e9c85

Please sign in to comment.