Files
ohtuilmo/backend/seeders/20240319143908-add-review-question-set.js
2026-08-04 13:24:16 +03:00

391 lines
13 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: 'peerReview',
},
]
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: 'peerReview',
peers: {
'New User': 'Ihan hyvää työtä!',
'John Smith': 'Hyvin toimi yhteistyö (itseni kanssa)!',
'Jane Madison': 'Loistavaa!',
},
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: 'peerReview',
peers: {
'New User':
'En osaa sanoa, kirjoittamminen on minulle välillä vaikeaa. Ihan kiva tyyppi, jaksoi tulla paikalle.',
'John Smith': 'En tiiä, en tunne tätä tyyppiä ollenkaan.',
'Jane Madison': 'Hyvä tyyppi, osasi hommansa (itsearvio)!',
},
questionHeader: 'Tiimin yhteistyön arviointi',
},
]
const initialPeerReviewAnswers3 = [
{
id: 0,
type: 'number',
answer: '30',
questionHeader: 'Kuinka monta tuntia käytit projektin parissa?',
},
{
id: 1,
type: 'radio',
peers: { 'New User': 4, 'John Smith': 3, 'Jane Madison': 2 },
questionHeader: 'Tiimin jäsenten tekninen kontribuutio',
},
{
id: 2,
type: 'peerReview',
peers: {
'New User': 'Ihan hyvin mulla meni, kiitos kysymästä!',
'John Smith': 'Yhteistyö sujui hyvin, aktiivinen osallistuminen!',
'Jane Madison': 'Erinomaista työtä, hyvä tiimipelaaja!',
},
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),
},
{
user_id: 112345700,
configuration_id: 1,
review_round: 1,
answer_sheet: JSON.stringify(initialPeerReviewAnswers3),
},
]
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, {})
},
}