aboutsummaryrefslogtreecommitdiff
path: root/hooks
diff options
context:
space:
mode:
authoreug-vs <eug-vs@keemail.me>2020-06-21 14:29:59 +0300
committereug-vs <eug-vs@keemail.me>2020-06-21 14:30:55 +0300
commite99b51895afd532a529744396ecae87d47c68503 (patch)
treeb5c1ebc0f364d8e11ddad0f27b57340d45b44bb1 /hooks
parentf4c4f2d4789880c0cfc956d08aab10b5a93ebcb1 (diff)
downloadwhich-api-e99b51895afd532a529744396ecae87d47c68503.tar.gz
feat: change hooks and install which-types
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;