From f4c4f2d4789880c0cfc956d08aab10b5a93ebcb1 Mon Sep 17 00:00:00 2001 From: ilyayudovin Date: Sun, 21 Jun 2020 13:10:05 +0300 Subject: feat: change votes type --- hooks/expandAuthor.ts | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'hooks') diff --git a/hooks/expandAuthor.ts b/hooks/expandAuthor.ts index 3b3e3df..5993839 100644 --- a/hooks/expandAuthor.ts +++ b/hooks/expandAuthor.ts @@ -6,12 +6,25 @@ import { Poll, PollSchema } from '../models/polls/poll.schema'; import { User } from '../models/users/user.schema'; import UserModel from '../models/users/user.model'; -const expandAuthor = async (poll: PollSchema): Promise => { +const convertPoll = async (poll: PollSchema): Promise => { return UserModel.findById(poll.authorId) .lean() .exec() .then((author: User | null): Poll | null => { - return author && _.merge(_.omit(poll, 'authorId'), { author }); + return author && { + _id: poll._id, + author, + contents: { + left: { + url: poll.contents.left.url, + votes: poll.contents.left.votes.length + }, + right: { + url: poll.contents.right.url, + votes: poll.contents.right.votes.length + } + } + }; }) .catch(err => { console.error(err); @@ -20,12 +33,12 @@ const expandAuthor = async (poll: PollSchema): Promise => { }; export const expandAuthorHook = async (context: HookContext): Promise => { - context.result = await expandAuthor(context.result); + context.result = await convertPoll(context.result); return context; }; export const expandAuthorManyHook = async (context: HookContext): Promise => { - const polls = await bluebird.map(context.result, (poll: PollSchema) => expandAuthor(poll)); + const polls = await bluebird.map(context.result, (poll: PollSchema) => convertPoll(poll)); context.result = _.compact(polls); return context; }; -- cgit v1.2.3