239 lines
5.6 KiB
JavaScript
239 lines
5.6 KiB
JavaScript
const db = require('../models');
|
|
const Users = db.users;
|
|
|
|
const EvaluationCriteria = db.evaluation_criteria;
|
|
|
|
const Evaluations = db.evaluations;
|
|
|
|
const IsoRequirements = db.iso_requirements;
|
|
|
|
const EvaluationCriteriaData = [
|
|
{
|
|
criterion_name: 'Risk Assessment',
|
|
|
|
rating: 'partial-conformity',
|
|
|
|
// type code here for "relation_one" field
|
|
},
|
|
|
|
{
|
|
criterion_name: 'Leadership Involvement',
|
|
|
|
rating: 'full-conformity',
|
|
|
|
// type code here for "relation_one" field
|
|
},
|
|
|
|
{
|
|
criterion_name: 'Resource Allocation',
|
|
|
|
rating: 'full-conformity',
|
|
|
|
// type code here for "relation_one" field
|
|
},
|
|
|
|
{
|
|
criterion_name: 'Process Control',
|
|
|
|
rating: 'full-conformity',
|
|
|
|
// type code here for "relation_one" field
|
|
},
|
|
];
|
|
|
|
const EvaluationsData = [
|
|
{
|
|
// type code here for "relation_one" field
|
|
|
|
// type code here for "relation_many" field
|
|
|
|
evaluation_date: new Date('2023-10-01T10:00:00Z'),
|
|
},
|
|
|
|
{
|
|
// type code here for "relation_one" field
|
|
|
|
// type code here for "relation_many" field
|
|
|
|
evaluation_date: new Date('2023-10-02T11:00:00Z'),
|
|
},
|
|
|
|
{
|
|
// type code here for "relation_one" field
|
|
|
|
// type code here for "relation_many" field
|
|
|
|
evaluation_date: new Date('2023-10-03T12:00:00Z'),
|
|
},
|
|
|
|
{
|
|
// type code here for "relation_one" field
|
|
|
|
// type code here for "relation_many" field
|
|
|
|
evaluation_date: new Date('2023-10-04T13:00:00Z'),
|
|
},
|
|
];
|
|
|
|
const IsoRequirementsData = [
|
|
{
|
|
requirement_code: '4.1',
|
|
|
|
description: 'Understanding the organization and its context.',
|
|
|
|
// type code here for "relation_many" field
|
|
},
|
|
|
|
{
|
|
requirement_code: '5.1',
|
|
|
|
description: 'Leadership and commitment.',
|
|
|
|
// type code here for "relation_many" field
|
|
},
|
|
|
|
{
|
|
requirement_code: '6.1',
|
|
|
|
description: 'Actions to address risks and opportunities.',
|
|
|
|
// type code here for "relation_many" field
|
|
},
|
|
|
|
{
|
|
requirement_code: '7.1',
|
|
|
|
description: 'Resources.',
|
|
|
|
// type code here for "relation_many" field
|
|
},
|
|
];
|
|
|
|
// Similar logic for "relation_many"
|
|
|
|
async function associateEvaluationCriteriumWithIso_requirement() {
|
|
const relatedIso_requirement0 = await IsoRequirements.findOne({
|
|
offset: Math.floor(Math.random() * (await IsoRequirements.count())),
|
|
});
|
|
const EvaluationCriterium0 = await EvaluationCriteria.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0,
|
|
});
|
|
if (EvaluationCriterium0?.setIso_requirement) {
|
|
await EvaluationCriterium0.setIso_requirement(relatedIso_requirement0);
|
|
}
|
|
|
|
const relatedIso_requirement1 = await IsoRequirements.findOne({
|
|
offset: Math.floor(Math.random() * (await IsoRequirements.count())),
|
|
});
|
|
const EvaluationCriterium1 = await EvaluationCriteria.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1,
|
|
});
|
|
if (EvaluationCriterium1?.setIso_requirement) {
|
|
await EvaluationCriterium1.setIso_requirement(relatedIso_requirement1);
|
|
}
|
|
|
|
const relatedIso_requirement2 = await IsoRequirements.findOne({
|
|
offset: Math.floor(Math.random() * (await IsoRequirements.count())),
|
|
});
|
|
const EvaluationCriterium2 = await EvaluationCriteria.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2,
|
|
});
|
|
if (EvaluationCriterium2?.setIso_requirement) {
|
|
await EvaluationCriterium2.setIso_requirement(relatedIso_requirement2);
|
|
}
|
|
|
|
const relatedIso_requirement3 = await IsoRequirements.findOne({
|
|
offset: Math.floor(Math.random() * (await IsoRequirements.count())),
|
|
});
|
|
const EvaluationCriterium3 = await EvaluationCriteria.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3,
|
|
});
|
|
if (EvaluationCriterium3?.setIso_requirement) {
|
|
await EvaluationCriterium3.setIso_requirement(relatedIso_requirement3);
|
|
}
|
|
}
|
|
|
|
async function associateEvaluationWithUser() {
|
|
const relatedUser0 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const Evaluation0 = await Evaluations.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0,
|
|
});
|
|
if (Evaluation0?.setUser) {
|
|
await Evaluation0.setUser(relatedUser0);
|
|
}
|
|
|
|
const relatedUser1 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const Evaluation1 = await Evaluations.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1,
|
|
});
|
|
if (Evaluation1?.setUser) {
|
|
await Evaluation1.setUser(relatedUser1);
|
|
}
|
|
|
|
const relatedUser2 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const Evaluation2 = await Evaluations.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2,
|
|
});
|
|
if (Evaluation2?.setUser) {
|
|
await Evaluation2.setUser(relatedUser2);
|
|
}
|
|
|
|
const relatedUser3 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const Evaluation3 = await Evaluations.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3,
|
|
});
|
|
if (Evaluation3?.setUser) {
|
|
await Evaluation3.setUser(relatedUser3);
|
|
}
|
|
}
|
|
|
|
// Similar logic for "relation_many"
|
|
|
|
// Similar logic for "relation_many"
|
|
|
|
module.exports = {
|
|
up: async (queryInterface, Sequelize) => {
|
|
await EvaluationCriteria.bulkCreate(EvaluationCriteriaData);
|
|
|
|
await Evaluations.bulkCreate(EvaluationsData);
|
|
|
|
await IsoRequirements.bulkCreate(IsoRequirementsData);
|
|
|
|
await Promise.all([
|
|
// Similar logic for "relation_many"
|
|
|
|
await associateEvaluationCriteriumWithIso_requirement(),
|
|
|
|
await associateEvaluationWithUser(),
|
|
|
|
// Similar logic for "relation_many"
|
|
|
|
// Similar logic for "relation_many"
|
|
]);
|
|
},
|
|
|
|
down: async (queryInterface, Sequelize) => {
|
|
await queryInterface.bulkDelete('evaluation_criteria', null, {});
|
|
|
|
await queryInterface.bulkDelete('evaluations', null, {});
|
|
|
|
await queryInterface.bulkDelete('iso_requirements', null, {});
|
|
},
|
|
};
|