From 17228e5c5509dd031ea9ec35501772771b353e53 Mon Sep 17 00:00:00 2001 From: Roman Timashev Date: Mon, 23 Jan 2017 00:46:49 +0300 Subject: [PATCH] core schedule eslinted --- src/core/schedule.js | 162 +++++++++++++++++++++---------------------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/src/core/schedule.js b/src/core/schedule.js index 7a5119aa..e3ca4a44 100644 --- a/src/core/schedule.js +++ b/src/core/schedule.js @@ -1,116 +1,116 @@ -import {c} from '../core/db'; -import {select} from '../utils/fn'; -import {createMap} from '../utils/common'; -import {getCollective} from './collective'; +import {c} from '../core/db' +import {select} from '../utils/fn' +import {createMap} from '../utils/common' +import {getCollective} from './collective' -import {scheduleDate, getPeriod as schedulePeriod} from '../models/schedule'; -import {getCourseName} from '../models/course'; +import {scheduleDate, getPeriod as schedulePeriod} from '../models/schedule' +import {getCourseName} from '../models/course' -const SCHEDULES = 'schedules'; +const SCHEDULES = 'schedules' export async function getSchedule(period, semester) { - const schedule = await c(SCHEDULES).findOne({ - $or: [ + const schedule = await c(SCHEDULES).findOne({ + $or: [ {period: period}, {period: schedulePeriod(period)} - ], - semester: semester - }); + ], + semester: semester + }) - return schedule ? migrate(schedule) : null; + return schedule ? migrate(schedule) : null } export async function getSchedules(fields = ['_id', 'id', 'period', 'semester']) { - const list = await c(SCHEDULES) + const list = await c(SCHEDULES) .find({}) - .toArray(); + .toArray() - const schedules = await Promise.all(list.map(migrate)); - return schedules + const schedules = await Promise.all(list.map(migrate)) + return schedules .sort((a, b) => { - const ad = scheduleDate(a).getTime(); - const bd = scheduleDate(b).getTime(); - return ad - bd; - }) - .map(select(fields)); + const ad = scheduleDate(a).getTime() + const bd = scheduleDate(b).getTime() + return ad - bd +}) + .map(select(fields)) } async function migrate(schedule) { - const versions = { - '1.0': migrate_10_to_20, - '2.0': migrate_20_to_30, - }; + const versions = { + '1.0': migrate10to20, + '2.0': migrate20to30, + } - const version = schedule.version; - const update = versions[version]; - return version in versions ? migrate(update(schedule)) : schedule; + const version = schedule.version + const update = versions[version] + return version in versions ? migrate(update(schedule)) : schedule } -function migrate_10_to_20(schedule) { - const dayNames = ['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun']; - const time = time => time - .map(i => i.split(' ')); +function migrate10to20(schedule) { + const dayNames = ['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun'] + const time = time => time + .map(i => i.split(' ')) - const week = days => days.reduce((week, lesson, index) => { - if (lesson) { - const day = dayNames[index]; - week[day] = [Object.assign(lesson, { - time: time(lesson.time) - })]; - } + const week = days => days.reduce((week, lesson, index) => { + if (lesson) { + const day = dayNames[index] + week[day] = [Object.assign(lesson, { + time: time(lesson.time) + })] + } - return week; - }, {}); + return week + }, {}) - return Object.assign(schedule, { - version: '2.0', - period: schedulePeriod(schedule.period), - groups: schedule.schedule + return Object.assign(schedule, { + version: '2.0', + period: schedulePeriod(schedule.period), + groups: schedule.schedule .map(group => ({ - name: group.group, - time: group.time, - week: week(group.week) - })) - }); + name: group.group, + time: group.time, + week: week(group.week) +})) + }) } -async function migrate_20_to_30(schedule) { - const days = ['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun']; +async function migrate20to30(schedule) { + const days = ['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun'] - const persons = await getCollective(); - const person = createMap(i => i.id, persons); + const persons = await getCollective() + const person = createMap(i => i.id, persons) - const week = week => days + const week = week => days .map(day => week[day] || []) - .map(lessons => lessons.map(lesson)); + .map(lessons => lessons.map(lesson)) - const lesson = i => ({ - time: i.time, - course: course(i.lesson), - teacher: teacher(i.teacher) - }); + const lesson = i => ({ + time: i.time, + course: course(i.lesson), + teacher: teacher(i.teacher) + }) - const teacher = id => ({ - id: id, - url: `/teacher/${id}`, - name: personName(id) - }); + const teacher = id => ({ + id: id, + url: `/teacher/${id}`, + name: personName(id) + }) - const personName = id => person.has(id) ? person.get(id).name : null; + const personName = id => person.has(id) ? person.get(id).name : null - const course = id => ({ - id: id, - url: null, - title: getCourseName(id) - }); + const course = id => ({ + id: id, + url: null, + title: getCourseName(id) + }) - return Object.assign(schedule, { - version: '3.0', - groups: schedule.groups + return Object.assign(schedule, { + version: '3.0', + groups: schedule.groups .map(group => ({ - name: group.name, - time: group.time, - week: week(group.week) - })) - }); + name: group.name, + time: group.time, + week: week(group.week) +})) + }) }