Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Router from 'koa-router';
- import get from 'lodash/get';
- import 'colors';
- import moment from 'moment';
- import {
- getOldTestament,
- getNewTestament,
- getReading,
- getArticle,
- getInterpretations,
- getTranslates,
- getSlider,
- getMeta,
- } from '../../libs/getData';
- import checkReading from './checkReading';
- import titleToVerseInReading from './titleToVerseInReading';
- const router = new Router();
- router.get('/', async (ctx, next) => {
- let initialStore = {};
- let directProps = {};
- const { meta, headers } = ctx.locals;
- let metaData = {};
- // Редирект ниже
- console.log(ctx.request.query, ctx.request.querystring);
- if (ctx.request.querystring && ctx.request.querystring !== 'auth-need') {
- console.log(ctx.request.query, ctx.request.querystring);
- ctx.redirect('/');
- }
- //
- try {
- const [
- _oldTestament,
- _newTestament,
- _reading,
- _article,
- _interpretations,
- _sliders,
- _meta,
- _translates,
- ] = await Promise.all([
- getOldTestament(headers),
- getNewTestament(headers),
- getReading(headers),
- getArticle(headers),
- getInterpretations(headers),
- getSlider(),
- getMeta('main'),
- getTranslates(headers),
- ]);
- // TODO add to redux
- // const { interpretations, pages } = get(_interpretations, 'data');
- const { gospel_reading, apostolic_reading, morning_reading, more_reading, ...other } = get(
- _reading,
- 'data.reading',
- [],
- );
- const [
- _gospel_reading,
- _apostolic_reading,
- _morning_reading,
- _more_reading,
- ] = await Promise.all([
- checkReading(gospel_reading),
- checkReading(apostolic_reading),
- checkReading(morning_reading),
- checkReading(more_reading),
- ]);
- metaData = get(_meta, 'data.meta', {});
- initialStore = {
- books: {
- oldTestament: get(_oldTestament, 'data.books', []),
- newTestament: get(_newTestament, 'data.books', []),
- },
- lid: {
- data: {
- reading: {
- gospel_reading: titleToVerseInReading(gospel_reading, _gospel_reading),
- apostolic_reading: titleToVerseInReading(apostolic_reading, _apostolic_reading),
- morning_reading: titleToVerseInReading(morning_reading, _morning_reading),
- more_reading: titleToVerseInReading(more_reading, _more_reading),
- ...other,
- },
- },
- },
- // article: { article },
- translates: { translates: get(_translates, 'data.translates', []) },
- };
- directProps = {
- latestNewsList: get(_article, 'data.article', []),
- latestInterpretationsList: get(_interpretations, 'data.interpretations', []).map(inter => ({
- id: inter.id,
- username: inter.added_by.username,
- date: moment
- .unix(inter.added_at)
- .locale('ru')
- .format('DD MMM YYYY'),
- verse: inter.verse[0],
- author: get(inter, 'ekzeget.name', ''),
- authorId: get(inter, 'ekzeget.id', 0),
- investigated: inter.investigated,
- })),
- latestInterpretationsTotal: get(_interpretations, 'data.pages.totalCount', 0),
- latestSlider: get(_sliders, 'data', {}),
- };
- } catch (error) {
- console.error(error);
- }
- const { title, description } = metaData;
- meta.push({
- name: 'description',
- content: description,
- });
- ctx.locals = {
- initialStore,
- meta,
- directProps,
- title,
- };
- await next();
- });
- export default router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement