diff options
author | eug-vs <eug-vs@keemail.me> | 2020-06-25 09:03:46 +0300 |
---|---|---|
committer | eug-vs <eug-vs@keemail.me> | 2020-06-25 09:39:44 +0300 |
commit | fc9cf3b8f77e9068fa51d614b0d0b120f7bf2440 (patch) | |
tree | 66485a3f34a3a1d77b337edd880e2560205f2b8b | |
parent | ffcb9d248228087ee05c7569784705b41d729aee (diff) | |
download | which-api-fc9cf3b8f77e9068fa51d614b0d0b120f7bf2440.tar.gz |
feat!: construct VoteService based on VoteModel
-rw-r--r-- | models/polls/poll.schema.ts | 7 | ||||
-rw-r--r-- | services/votes/votes.class.ts | 14 | ||||
-rw-r--r-- | services/votes/votes.service.ts | 9 |
3 files changed, 6 insertions, 24 deletions
diff --git a/models/polls/poll.schema.ts b/models/polls/poll.schema.ts index 2f39aa1..4d1d762 100644 --- a/models/polls/poll.schema.ts +++ b/models/polls/poll.schema.ts @@ -2,7 +2,6 @@ import { Document, Schema, Types } from 'mongoose'; export interface ImageDataSchema { url: string; - votes: string[]; } export interface PollSchema extends Document { @@ -17,12 +16,6 @@ export interface PollSchema extends Document { export const imageDataSchema = { url: String, - votes: [ - { - type: Types.ObjectId, - ref: 'vote' - } - ] }; export const pollSchema = new Schema({ diff --git a/services/votes/votes.class.ts b/services/votes/votes.class.ts deleted file mode 100644 index 3220ee7..0000000 --- a/services/votes/votes.class.ts +++ /dev/null @@ -1,14 +0,0 @@ -import PollModel from '../../models/polls/poll.model'; -import { PollSchema } from '../../models/polls/poll.schema'; - -export default class Votes { - async create(data: any, params: any): Promise<PollSchema | null> { - const poll = await PollModel.findById(params.route.id); - if (poll) { - const updatedPoll = await poll.vote(params.user._id, data.which); - return updatedPoll.toObject(); - } - return null; - } -} - diff --git a/services/votes/votes.service.ts b/services/votes/votes.service.ts index 3947d9b..81f767c 100644 --- a/services/votes/votes.service.ts +++ b/services/votes/votes.service.ts @@ -1,10 +1,13 @@ import { Application } from '@feathersjs/express'; -import Votes from './votes.class'; +import service from 'feathers-mongoose'; +import Model from '../../models/votes/vote.model'; import hooks from './votes.hooks'; +const VoteService = service({ Model }); + export default (app: Application): void => { - app.use('/polls/:id/votes/', new Votes()); - app.service('/polls/:id/votes/').hooks(hooks); + app.use('/votes/', VoteService); + app.service('votes').hooks(hooks); }; |