diff options
author | eug-vs <eug-vs@keemail.me> | 2020-06-21 14:29:59 +0300 |
---|---|---|
committer | eug-vs <eug-vs@keemail.me> | 2020-06-21 14:30:55 +0300 |
commit | e99b51895afd532a529744396ecae87d47c68503 (patch) | |
tree | b5c1ebc0f364d8e11ddad0f27b57340d45b44bb1 /hooks/expandAuthor.ts | |
parent | f4c4f2d4789880c0cfc956d08aab10b5a93ebcb1 (diff) | |
download | which-api-e99b51895afd532a529744396ecae87d47c68503.tar.gz |
feat: change hooks and install which-types
Diffstat (limited to 'hooks/expandAuthor.ts')
-rw-r--r-- | hooks/expandAuthor.ts | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/hooks/expandAuthor.ts b/hooks/expandAuthor.ts deleted file mode 100644 index 5993839..0000000 --- a/hooks/expandAuthor.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { HookContext } from '@feathersjs/feathers'; -import bluebird from 'bluebird'; -import _ from 'lodash'; - -import { Poll, PollSchema } from '../models/polls/poll.schema'; -import { User } from '../models/users/user.schema'; -import UserModel from '../models/users/user.model'; - -const convertPoll = async (poll: PollSchema): Promise<Poll | null> => { - return UserModel.findById(poll.authorId) - .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 - } - } - }; - }) - .catch(err => { - console.error(err); - return err; - }); -}; - -export const expandAuthorHook = async (context: HookContext): Promise<HookContext> => { - context.result = await convertPoll(context.result); - return context; -}; - -export const expandAuthorManyHook = async (context: HookContext): Promise<HookContext> => { - const polls = await bluebird.map(context.result, (poll: PollSchema) => convertPoll(poll)); - context.result = _.compact(polls); - return context; -}; - |