Merge branch 'main' into tournament

This commit is contained in:
Torsten Schulz
2025-03-13 16:24:08 +01:00
10 changed files with 2176 additions and 1374 deletions

View File

@@ -0,0 +1,43 @@
import { DataTypes } from 'sequelize';
import sequelize from '../database.js';
import bcrypt from 'bcrypt';
import { encryptData, decryptData } from '../utils/encrypt.js';
const Accident = sequelize.define('Accident', {
memberId: {
type: DataTypes.INTEGER,
allowNull: false,
},
diaryDateId: {
type: DataTypes.INTEGER,
allowNull: false,
},
accident: {
type: DataTypes.STRING,
allowNull: false,
set(value) {
const encryptedValue = encryptData(value);
this.setDataValue('accident', encryptedValue);
},
get() {
const encryptedValue = this.getDataValue('accident');
return decryptData(encryptedValue);
}
},
salt: {
type: DataTypes.STRING,
allowNull: true,
},
}, {
tableName: 'accident',
underscored: true,
timestamps: true,
hooks: {
beforeCreate: async (user) => {
const salt = await bcrypt.genSalt(10);
user.salt = salt;
},
}
});
export default Accident;

View File

@@ -4,7 +4,7 @@ import sequelize from '../database.js';
import Club from './Club.js';
import { encryptData, decryptData } from '../utils/encrypt.js';
const Member = sequelize.define('User', {
const Member = sequelize.define('Member', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,

View File

@@ -26,6 +26,7 @@ import TournamentGroup from './TournamentGroup.js';
import TournamentMember from './TournamentMember.js';
import TournamentMatch from './TournamentMatch.js';
import TournamentResult from './TournamentResult.js';
import Accident from './Accident.js';
User.hasMany(Log, { foreignKey: 'userId' });
Log.belongsTo(User, { foreignKey: 'userId' });
@@ -156,6 +157,12 @@ TournamentMatch.belongsTo(TournamentMember, { foreignKey: 'player2Id', as: 'play
TournamentMember.hasMany(TournamentMatch, { foreignKey: 'player1Id', as: 'player1Matches' });
TournamentMember.hasMany(TournamentMatch, { foreignKey: 'player2Id', as: 'player2Matches' });
Accident.belongsTo(Member, { foreignKey: 'memberId', as: 'members' });
Member.hasMany(Accident, { foreignKey: 'memberId', as: 'accidents' });
Accident.belongsTo(DiaryDate, { foreignKey: 'diaryDateId', as: 'diaryDates' });
DiaryDate.hasMany(Accident, { foreignKey: 'diaryDateId', as: 'accidents' });
export {
User,
Log,
@@ -184,4 +191,5 @@ export {
TournamentMember,
TournamentMatch,
TournamentResult,
Accident,
};