import { Model, DataTypes, Sequelize } from 'sequelize'; export interface QuestionnaireScoreAttributes { id: string; applicationId: string; sectionName: string; score: number; weightage: number; weightedScore: number; } export interface QuestionnaireScoreInstance extends Model, QuestionnaireScoreAttributes { } export default (sequelize: Sequelize) => { const QuestionnaireScore = sequelize.define('QuestionnaireScore', { id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV4, primaryKey: true }, applicationId: { type: DataTypes.UUID, allowNull: false, references: { model: 'applications', key: 'id' } }, sectionName: { type: DataTypes.STRING, allowNull: false }, score: { type: DataTypes.DECIMAL(10, 2), allowNull: false }, weightage: { type: DataTypes.DECIMAL(10, 2), allowNull: false }, weightedScore: { type: DataTypes.DECIMAL(10, 2), allowNull: false } }, { tableName: 'questionnaire_scores', timestamps: true, updatedAt: false }); (QuestionnaireScore as any).associate = (models: any) => { QuestionnaireScore.belongsTo(models.Application, { foreignKey: 'applicationId', as: 'application' }); }; return QuestionnaireScore; };