Files
ohtuilmo/backend/seeders/20240319143908-add-review-question-set.js
T

201 lines
9.8 KiB
JavaScript

'use strict'
const initialQuestionsWithAnswers = [
{
Header: 'Kuinka monta tuntia käytit projektin parissa?',
Description: 'Arvioi käyttämäsi aika tunteina.',
Type: 'number'
},
{
Header: 'Tiimin jäsenten tekninen kontribuutio',
Type: 'radio',
Options: [1, 2, 3, 4, 5]
},
{
Header: 'Tiimin yhteistyön arviointi',
Description: 'Arvioi sanallisesti tiimin yhteistyötä ja kommunikaatiota.',
Type: 'text'
},
]
const initialReviewQuestionSet = [
{
name: 'Review 1',
questions: JSON.stringify(
initialQuestionsWithAnswers.map((item) => {
return {
header: item.Header,
description: item.Description,
type: item.Type,
options: item.Options
}
})
)
}
]
const initialPeerReviewAnswers1 =[
{
'id': 0,
'type': 'number',
'answer': '20',
'questionHeader': 'Kuinka monta tuntia käytit projektin parissa?'
},
{
'id': 1,
'type': 'radio',
'peers': { 'New User': 2, 'John Smith': 3, 'Jane Madison': 4 },
'questionHeader': 'Tiimin jäsenten tekninen kontribuutio'
},
{
'id': 2,
'type': 'text',
'answer': 'Hyvä tiimi, mutta kommunikaatio voisi olla selkeämpää. Tiimin jäsenet olivat kuitenkin aktiivisia ja osallistuivat.',
'questionHeader': 'Tiimin yhteistyön arviointi'
}
]
const initialPeerReviewAnswers2 =[
{
'id': 0,
'type': 'number',
'answer': '35',
'questionHeader': 'Kuinka monta tuntia käytit projektin parissa?'
},
{
'id': 1,
'type': 'radio',
'peers': { 'New User': 5, 'John Smith': 4, 'Jane Madison': 1 },
'questionHeader': 'Tiimin jäsenten tekninen kontribuutio'
},
{
'id': 2,
'type': 'text',
'answer': 'En osaa sanoa, kirjoittamminen on minulle välillä vaikeaa. Ihan kivat tyypit, jaksoin tulla paikalle.',
'questionHeader': 'Tiimin yhteistyön arviointi'
}
]
const InitialPeerReview = [
{
user_id: 112345701,
configuration_id: 1,
review_round: 1,
answer_sheet: JSON.stringify(initialPeerReviewAnswers1)
},
{
user_id: 112345702,
configuration_id: 1,
review_round: 1,
answer_sheet: JSON.stringify(initialPeerReviewAnswers2)
},
]
const InitialInstructorReview = [
{
user_id: 112345699,
answer_sheet: JSON.stringify({
group_id: 1,
group_name: 'ohtuilmo-ryhmä',
answer_sheet: [
{
name: {
last_name: 'User',
first_names: 'New'
},
answers: [
{ type: 'info', header: 'Tekninen kontribuutio', description: '' },
{ id: 1, type: 'text', answer: 'Tässä pitäisi olla vertaisarvion arvosanat ja keskiarvo', header: 'Vertaisarvion arvosanat ja keskiarvo' },
{ id: 2, type: 'text', answer: 'Tässä pitäisi olla Poimintoja sanallisista vertaisarvioista', header: 'Poimintoja sanallisista vertaisarvioista' },
{ id: 3, type: 'text', answer: 'Tässä pitäisi olla Ohjaajan kommentit', header: 'Ohjaajan kommentit' },
{ id: 4, type: 'number', answer: '5', header: 'Tekninen kontribuutio: arvosana' },
{ type: 'info', header: 'Prosessin noudattaminen', description: '' },
{ id: 6, type: 'text', answer: 'Tässä pitäisi olla vertaisarvion arvosanat ja keskiarvo', header: 'Vertaisarvion arvosanat ja keskiarvo' },
{ id: 7, type: 'text', answer: 'Tässä pitäisi olla Poimintoja sanallisista vertaisarvioista', header: 'Poimintoja sanallisista vertaisarvioista' },
{ id: 8, type: 'text', answer: 'Tässä pitäisi olla Ohjaajan kommentit', header: 'Ohjaajan kommentit' },
{ id: 9, type: 'number', answer: '4', header: 'Prosessin noudattaminen: arvosana' },
{ type: 'info', header: 'Prosessin kehittäminen', description: '' },
{ id: 11, type: 'text', answer: 'Tässä pitäisi olla vertaisarvion arvosanat ja keskiarvo', header: 'Vertaisarvion arvosanat ja keskiarvo' },
{ id: 12, type: 'text', answer: 'Tässä pitäisi olla Poimintoja sanallisista vertaisarvioista', header: 'Poimintoja sanallisista vertaisarvioista' },
{ id: 13, type: 'text', answer: 'Tässä pitäisi olla Ohjaajan kommentit', header: 'Ohjaajan kommentit' },
{ id: 14, type: 'number', answer: '3', header: 'Prosessin kehittäminen: arvosana' },
{ type: 'info', header: 'Ryhmätyöskentely', description: '' },
{ id: 16, type: 'text', answer: 'Tässä pitäisi olla vertaisarvion arvosanat ja keskiarvo', header: 'Vertaisarvion arvosanat ja keskiarvo' },
{ id: 17, type: 'text', answer: 'Tässä pitäisi olla Poimintoja sanallisista vertaisarvioista', header: 'Poimintoja sanallisista vertaisarvioista' },
{ id: 18, type: 'text', answer: 'Tässä pitäisi olla Ohjaajan kommentit', header: 'Ohjaajan kommentit' },
{ id: 19, type: 'number', answer: '2', header: 'Ryhmätyöskentely: arvosana' },
{ type: 'info', header: 'Asiakastyöskentely', description: '' },
{ id: 21, type: 'text', answer: 'Tässä pitäisi olla vertaisarvion arvosanat ja keskiarvo', header: 'Vertaisarvion arvosanat ja keskiarvo' },
{ id: 22, type: 'text', answer: 'Tässä pitäisi olla Poimintoja sanallisista vertaisarvioista', header: 'Poimintoja sanallisista vertaisarvioista' },
{ id: 23, type: 'text', answer: 'Tässä pitäisi olla Ohjaajan kommentit', header: 'Ohjaajan kommentit' },
{ id: 24, type: 'number', answer: '1', header: 'Asiakastyöskentely: arvosana' },
{ type: 'info', header: 'Koko projekti', description: '' },
{ id: 26, type: 'number', answer: '3', header: 'arvosana' }
]
},
{
name: {
last_name: 'Smith',
first_names: 'John'
},
answers: [
{ type: 'info', header: 'Tekninen kontribuutio', description: '' },
{ id: 1, type: 'text', answer: 'Tässä pitäisi olla vertaisarvion arvosanat ja keskiarvo', header: 'Vertaisarvion arvosanat ja keskiarvo' },
{ id: 2, type: 'text', answer: 'Tässä pitäisi olla Poimintoja sanallisista vertaisarvioista', header: 'Poimintoja sanallisista vertaisarvioista' },
{ id: 3, type: 'text', answer: 'Tässä pitäisi olla Ohjaajan kommentit', header: 'Ohjaajan kommentit' },
{ id: 4, type: 'number', answer: '2', header: 'Tekninen kontribuutio: arvosana' },
{ type: 'info', header: 'Prosessin noudattaminen', description: '' },
{ id: 6, type: 'text', answer: 'Tässä pitäisi olla vertaisarvion arvosanat ja keskiarvo', header: 'Vertaisarvion arvosanat ja keskiarvo' },
{ id: 7, type: 'text', answer: 'Tässä pitäisi olla Poimintoja sanallisista vertaisarvioista', header: 'Poimintoja sanallisista vertaisarvioista' },
{ id: 8, type: 'text', answer: 'Tässä pitäisi olla Ohjaajan kommentit', header: 'Ohjaajan kommentit' },
{ id: 9, type: 'number', answer: '2', header: 'Prosessin noudattaminen: arvosana' },
{ type: 'info', header: 'Prosessin kehittäminen', description: '' },
{ id: 11, type: 'text', answer: 'Tässä pitäisi olla vertaisarvion arvosanat ja keskiarvo', header: 'Vertaisarvion arvosanat ja keskiarvo' },
{ id: 12, type: 'text', answer: 'Tässä pitäisi olla Poimintoja sanallisista vertaisarvioista', header: 'Poimintoja sanallisista vertaisarvioista' },
{ id: 13, type: 'text', answer: 'Tässä pitäisi olla Ohjaajan kommentit', header: 'Ohjaajan kommentit' },
{ id: 14, type: 'number', answer: '3', header: 'Prosessin kehittäminen: arvosana' },
{ type: 'info', header: 'Ryhmätyöskentely', description: '' },
{ id: 16, type: 'text', answer: 'Tässä pitäisi olla vertaisarvion arvosanat ja keskiarvo', header: 'Vertaisarvion arvosanat ja keskiarvo' },
{ id: 17, type: 'text', answer: 'Tässä pitäisi olla Poimintoja sanallisista vertaisarvioista', header: 'Poimintoja sanallisista vertaisarvioista' },
{ id: 18, type: 'text', answer: 'Tässä pitäisi olla Ohjaajan kommentit', header: 'Ohjaajan kommentit' },
{ id: 19, type: 'number', answer: '4', header: 'Ryhmätyöskentely: arvosana' },
{ type: 'info', header: 'Asiakastyöskentely', description: '' },
{ id: 21, type: 'text', answer: 'Tässä pitäisi olla vertaisarvion arvosanat ja keskiarvo', header: 'Vertaisarvion arvosanat ja keskiarvo' },
{ id: 22, type: 'text', answer: 'Tässä pitäisi olla Poimintoja sanallisista vertaisarvioista', header: 'Poimintoja sanallisista vertaisarvioista' },
{ id: 23, type: 'text', answer: 'Tässä pitäisi olla Ohjaajan kommentit', header: 'Ohjaajan kommentit' },
{ id: 24, type: 'number', answer: '1', header: 'Asiakastyöskentely: arvosana' },
{ type: 'info', header: 'Koko projekti', description: '' },
{ id: 26, type: 'number', answer: '3', header: 'arvosana' }
]
}
]
})
}
]
const addTimeStamps = (arr) => {
return arr.map((item) => {
return {
...item,
created_at: new Date(),
updated_at: new Date()
}
})
}
module.exports = {
up: async (query) => {
await query.bulkInsert('review_question_sets', addTimeStamps(initialReviewQuestionSet), {})
await query.bulkInsert('peer_reviews', addTimeStamps(InitialPeerReview), {})
await query.bulkUpdate('configurations', { review_question_set1_id: 1 }, { id: 1 } )
await query.bulkInsert('instructor_reviews', addTimeStamps(InitialInstructorReview), {})
},
down: async (query) => {
await query.bulkDelete('review_question_sets', null, {})
await query.bulkDelete('peer_reviews', null, {})
await query.bulkUpdate('configurations', { review_question_set1_id: null }, { id: 1 } )
await query.bulkDelete('instructor_reviews', null, {})
}
}