aboutsummaryrefslogtreecommitdiff
path: root/models
diff options
context:
space:
mode:
authoreug-vs <eug-vs@keemail.me>2020-06-10 19:47:48 +0300
committereug-vs <eug-vs@keemail.me>2020-06-10 19:47:48 +0300
commitd40f6e6cf8150f9e112d0b5d8d7075c2fc90264b (patch)
tree7cdb3cb7b86e3333c15bbaefe14fe228cc93d023 /models
parent0915870f347eecbf5d1646fa732e2a73418960a6 (diff)
downloadwhich-api-d40f6e6cf8150f9e112d0b5d8d7075c2fc90264b.tar.gz
refactor: improve interfaces and expandAuthor
Diffstat (limited to 'models')
-rw-r--r--models/polls/poll.schema.ts9
-rw-r--r--models/users/user.schema.ts4
2 files changed, 10 insertions, 3 deletions
diff --git a/models/polls/poll.schema.ts b/models/polls/poll.schema.ts
index 79036c3..ea91051 100644
--- a/models/polls/poll.schema.ts
+++ b/models/polls/poll.schema.ts
@@ -1,18 +1,23 @@
import { Document, Schema, Types } from 'mongoose';
+import { User } from '../users/user.schema'
interface ImageData {
url: string;
votes: number;
}
-export interface PollSchema extends Document {
- authorId: string;
+export interface Poll {
+ author: User;
contents: {
left: ImageData;
right: ImageData;
};
}
+export interface PollSchema extends Document, Omit<Poll, 'author'> {
+ authorId: string;
+}
+
const imageDataSchema = {
url: String,
diff --git a/models/users/user.schema.ts b/models/users/user.schema.ts
index 5292add..e39f667 100644
--- a/models/users/user.schema.ts
+++ b/models/users/user.schema.ts
@@ -1,11 +1,13 @@
import { Document, Schema } from "mongoose"
-export interface UserSchema extends Document {
+export interface User {
name: string;
avatarUrl?: string;
age?: number;
}
+export interface UserSchema extends Document, User {}
+
export const userSchema = new Schema({
name: String,
avatarUrl: {