diff --git a/models/asset.js b/models/asset.js index b8e4a7967..3e620e553 100644 --- a/models/asset.js +++ b/models/asset.js @@ -20,4 +20,3 @@ const AssetSchema = new Schema({ const Asset = mongoose.model('Asset', AssetSchema); module.exports = Asset; -module.exports.Schema = AssetSchema; diff --git a/models/comments.js b/models/comments.js index c900d88cb..73538d378 100644 --- a/models/comments.js +++ b/models/comments.js @@ -3,8 +3,6 @@ const mongoose = require('../mongoose'); const uuid = require('uuid'); const Schema = mongoose.Schema; -const UserSchema = require('./user').Schema; -const AssetSchema = require('./asset').Schema; const CommentSchema = new Schema({ id: { @@ -17,18 +15,33 @@ const CommentSchema = new Schema({ required: [true, 'The content is required.'], minlenght: 50 }, - asset: AssetSchema, - author: UserSchema, + asset: { + type: Schema.Types.ObjectId, + ref: 'Asset' + }, + author: { + type: Schema.Types.ObjectId, + ref: 'User' + }, actions: { - flags: [UserSchema], - likes: [UserSchema] + flags: [{ + type: Schema.Types.ObjectId, + ref: 'User' + }], + likes: [{ + type: Schema.Types.ObjectId, + ref: 'User' + }] }, status: { type: String, enum: ['accepted', 'rejected', 'untouched'], default: 'untouched' }, - parent: Comment, + parent: { + type: Schema.Types.ObjectId, + ref: 'Comment' + }, created_at: { type: Date, default: Date.now }, updated_at: { type: Date, default: Date.now } },{ diff --git a/models/user.js b/models/user.js index 8e626fc39..31213101c 100644 --- a/models/user.js +++ b/models/user.js @@ -20,4 +20,3 @@ const UserSchema = new Schema({ const User = mongoose.model('User', UserSchema); module.exports = User; -module.exports.Schema = UserSchema;