diff options
Diffstat (limited to 'hooks')
-rw-r--r-- | hooks/convertPoll.ts (renamed from hooks/expandAuthor.ts) | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/hooks/expandAuthor.ts b/hooks/convertPoll.ts index 5993839..62ddea1 100644 --- a/hooks/expandAuthor.ts +++ b/hooks/convertPoll.ts @@ -1,9 +1,9 @@ import { HookContext } from '@feathersjs/feathers'; import bluebird from 'bluebird'; import _ from 'lodash'; +import { Poll, User } from 'which-types'; -import { Poll, PollSchema } from '../models/polls/poll.schema'; -import { User } from '../models/users/user.schema'; +import { PollSchema } from '../models/polls/poll.schema'; import UserModel from '../models/users/user.model'; const convertPoll = async (poll: PollSchema): Promise<Poll | null> => { @@ -11,20 +11,20 @@ const convertPoll = async (poll: PollSchema): Promise<Poll | null> => { .lean<User>() .exec() .then((author: User | null): Poll | null => { - 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 + return author && _.merge( + _.omit(poll, ['authorId']), + { + author, + contents: { + left: { + votes: poll.contents.left.votes.length + }, + right: { + votes: poll.contents.right.votes.length + } } } - }; + ); }) .catch(err => { console.error(err); @@ -32,12 +32,12 @@ const convertPoll = async (poll: PollSchema): Promise<Poll | null> => { }); }; -export const expandAuthorHook = async (context: HookContext): Promise<HookContext> => { +export const convertPollHook = async (context: HookContext): Promise<HookContext> => { context.result = await convertPoll(context.result); return context; }; -export const expandAuthorManyHook = async (context: HookContext): Promise<HookContext> => { +export const convertPollManyHook = async (context: HookContext): Promise<HookContext> => { const polls = await bluebird.map(context.result, (poll: PollSchema) => convertPoll(poll)); context.result = _.compact(polls); return context; |