From d80b3bc27fb2cac1cd7808eb0ce54433e0462bd4 Mon Sep 17 00:00:00 2001 From: gaba Date: Tue, 1 Nov 2016 13:35:09 -0700 Subject: [PATCH] Adding a draft for models. --- models/asset.js | 14 ++++++++++++++ models/comments.js | 32 ++++++++++++++++++++++++++++++++ models/user.js | 14 ++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 models/asset.js create mode 100644 models/comments.js create mode 100644 models/user.js diff --git a/models/asset.js b/models/asset.js new file mode 100644 index 000000000..863c0512e --- /dev/null +++ b/models/asset.js @@ -0,0 +1,14 @@ +'use strict'; + +var mongoose = require('mongoose'); +var Schema = mongoose.Schema; + +var assetSchema = new Schema({ + title: String, + created_at: { type: Date, default: Date.now }, + updated_at: { type: Date, default: Date.now } +}); + +var Asset = mongoose.model('Asset', assetSchema); + +module.exports = Asset; diff --git a/models/comments.js b/models/comments.js new file mode 100644 index 000000000..01df61ecc --- /dev/null +++ b/models/comments.js @@ -0,0 +1,32 @@ +'use strict'; + +var mongoose = require('mongoose'); +var Schema = mongoose.Schema; +var User = require('user'); +var Asset = require('asset'); + +var commentSchema = new Schema({ + content: { + type: String, + required: [true, 'The content is required.'], + minlenght: 50 + }, + asset: Asset, + author: User, + actions: { + flags: [User], + likes: [User] + }, + status: { + type: String, + enum: ['accepted', 'rejected', 'untouched'], + default: 'untouched' + }, + parent: Comment, + created_at: { type: Date, default: Date.now }, + updated_at: { type: Date, default: Date.now } +}); + +var Comment = mongoose.model('Comment', commentSchema); + +module.exports = Comment; diff --git a/models/user.js b/models/user.js new file mode 100644 index 000000000..63aebe7b9 --- /dev/null +++ b/models/user.js @@ -0,0 +1,14 @@ +'use strict'; + +var mongoose = require('mongoose'); +var Schema = mongoose.Schema; + +var userSchema = new Schema({ + name: String, + created_at: { type: Date, default: Date.now }, + updated_at: { type: Date, default: Date.now } +}); + +var User = mongoose.model('User', userSchema); + +module.exports = User;