From d80b3bc27fb2cac1cd7808eb0ce54433e0462bd4 Mon Sep 17 00:00:00 2001 From: gaba Date: Tue, 1 Nov 2016 13:35:09 -0700 Subject: [PATCH 01/21] 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; From 4ec6da6ed7c22ced58bb90e5f37de612e1d76d37 Mon Sep 17 00:00:00 2001 From: gaba Date: Tue, 1 Nov 2016 13:50:04 -0700 Subject: [PATCH 02/21] Use mongoose that already is in the repo. It changes var to const. --- models/asset.js | 8 ++++---- models/comments.js | 12 ++++++------ models/user.js | 8 ++++---- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/models/asset.js b/models/asset.js index 863c0512e..5628594bb 100644 --- a/models/asset.js +++ b/models/asset.js @@ -1,14 +1,14 @@ 'use strict'; -var mongoose = require('mongoose'); -var Schema = mongoose.Schema; +const mongoose = require('../mongoose'); +const Schema = mongoose.Schema; -var assetSchema = new Schema({ +const 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); +const Asset = mongoose.model('Asset', assetSchema); module.exports = Asset; diff --git a/models/comments.js b/models/comments.js index 01df61ecc..c3997cc96 100644 --- a/models/comments.js +++ b/models/comments.js @@ -1,11 +1,11 @@ 'use strict'; -var mongoose = require('mongoose'); -var Schema = mongoose.Schema; -var User = require('user'); -var Asset = require('asset'); +const mongoose = require('../mongoose'); +const Schema = mongoose.Schema; +const User = require('user'); +const Asset = require('asset'); -var commentSchema = new Schema({ +const commentSchema = new Schema({ content: { type: String, required: [true, 'The content is required.'], @@ -27,6 +27,6 @@ var commentSchema = new Schema({ updated_at: { type: Date, default: Date.now } }); -var Comment = mongoose.model('Comment', commentSchema); +const Comment = mongoose.model('Comment', commentSchema); module.exports = Comment; diff --git a/models/user.js b/models/user.js index 63aebe7b9..1276f3ac2 100644 --- a/models/user.js +++ b/models/user.js @@ -1,14 +1,14 @@ 'use strict'; -var mongoose = require('mongoose'); -var Schema = mongoose.Schema; +const mongoose = require('../mongoose'); +const Schema = mongoose.Schema; -var userSchema = new Schema({ +const 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); +const User = mongoose.model('User', userSchema); module.exports = User; From c56eba1226cc4cd21dd622b4344d1af51881d638 Mon Sep 17 00:00:00 2001 From: gaba Date: Tue, 1 Nov 2016 14:29:06 -0700 Subject: [PATCH 03/21] * Adds identifier and hide _id. * Gets only the user for subdocuments and not the whole document. --- models/asset.js | 13 +++++++++++-- models/comments.js | 43 +++++++++++++++++++++++++++++++++++-------- models/user.js | 13 +++++++++++-- 3 files changed, 57 insertions(+), 12 deletions(-) diff --git a/models/asset.js b/models/asset.js index 5628594bb..b8e4a7967 100644 --- a/models/asset.js +++ b/models/asset.js @@ -1,14 +1,23 @@ 'use strict'; const mongoose = require('../mongoose'); +const uuid = require('uuid'); const Schema = mongoose.Schema; -const assetSchema = new Schema({ +const AssetSchema = new Schema({ + id: { + type: String, + default: uuid.v4, + unique: true + }, title: String, created_at: { type: Date, default: Date.now }, updated_at: { type: Date, default: Date.now } +},{ + _id: false }); -const Asset = mongoose.model('Asset', assetSchema); +const Asset = mongoose.model('Asset', AssetSchema); module.exports = Asset; +module.exports.Schema = AssetSchema; diff --git a/models/comments.js b/models/comments.js index c3997cc96..c900d88cb 100644 --- a/models/comments.js +++ b/models/comments.js @@ -1,21 +1,27 @@ 'use strict'; const mongoose = require('../mongoose'); +const uuid = require('uuid'); const Schema = mongoose.Schema; -const User = require('user'); -const Asset = require('asset'); +const UserSchema = require('./user').Schema; +const AssetSchema = require('./asset').Schema; -const commentSchema = new Schema({ +const CommentSchema = new Schema({ + id: { + type: String, + default: uuid.v4, + unique: true + }, content: { type: String, required: [true, 'The content is required.'], minlenght: 50 }, - asset: Asset, - author: User, + asset: AssetSchema, + author: UserSchema, actions: { - flags: [User], - likes: [User] + flags: [UserSchema], + likes: [UserSchema] }, status: { type: String, @@ -25,8 +31,29 @@ const commentSchema = new Schema({ parent: Comment, created_at: { type: Date, default: Date.now }, updated_at: { type: Date, default: Date.now } +},{ + _id: false }); -const Comment = mongoose.model('Comment', commentSchema); +/** + * Finds a user by the id. + * @param {String} id identifier of the user (uuid) +*/ +CommentSchema.methods.findById = function(id, done) { + Comment.findOne({ + id : id + }, (err, comment) => { + if (err) { + return done(err); + } + + if (!comment) { + return done(null, false); + } + return done(null, comment); + }); +}; + +const Comment = mongoose.model('Comment', CommentSchema); module.exports = Comment; diff --git a/models/user.js b/models/user.js index 1276f3ac2..8e626fc39 100644 --- a/models/user.js +++ b/models/user.js @@ -1,14 +1,23 @@ 'use strict'; const mongoose = require('../mongoose'); +const uuid = require('uuid'); const Schema = mongoose.Schema; -const userSchema = new Schema({ +const UserSchema = new Schema({ + id: { + type: String, + default: uuid.v4, + unique: true + }, name: String, created_at: { type: Date, default: Date.now }, updated_at: { type: Date, default: Date.now } +},{ + _id: false }); -const User = mongoose.model('User', userSchema); +const User = mongoose.model('User', UserSchema); module.exports = User; +module.exports.Schema = UserSchema; From 0c9b80617cad68d3ff839a952a724fecf6bd5ab5 Mon Sep 17 00:00:00 2001 From: gaba Date: Tue, 1 Nov 2016 14:41:24 -0700 Subject: [PATCH 04/21] Change to access the foreign keys by ref. http://mongoosejs.com/docs/populate.html --- models/asset.js | 1 - models/comments.js | 27 ++++++++++++++++++++------- models/user.js | 1 - 3 files changed, 20 insertions(+), 9 deletions(-) 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; From efa1048e02f1c9d8eab34d66dea162f6f1e32415 Mon Sep 17 00:00:00 2001 From: gaba Date: Tue, 1 Nov 2016 14:42:43 -0700 Subject: [PATCH 05/21] npm run lint works for me but not npm lint. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5f8b6d3d7..70e2d1110 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Runs Talk. `npm test` ### Lint -`npm lint` +`npm run lint` ### Docs `swagger.yaml` From 443ddc91e9b3bb0b45b17812e28857ff5a98706d Mon Sep 17 00:00:00 2001 From: gaba Date: Tue, 1 Nov 2016 15:23:43 -0700 Subject: [PATCH 06/21] Initial diagram for the data model. --- data-model.png | Bin 0 -> 35165 bytes data-model.xml | 1 + 2 files changed, 1 insertion(+) create mode 100644 data-model.png create mode 100644 data-model.xml diff --git a/ data-model.png b/ data-model.png new file mode 100644 index 0000000000000000000000000000000000000000..1510195ef400eee4e869b4ddd3bb7e31fb6be2e7 GIT binary patch literal 35165 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�^s{;-{owH8Zze^s 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 literal 0 HcmV?d00001 diff --git a/ data-model.xml b/ data-model.xml new file mode 100644 index 000000000..aee39d387 --- /dev/null +++ b/ data-model.xml @@ -0,0 +1 @@ +7Vttb6M4EP41fGwF5iXJx03avfvQk6qrTnf7aeWCQ7wLOAJn0+yvvzHYvDkktAlst6KK1DCM3+YZD/OMiWGv4pc/Urzd/MUCEhnIDF4M+85AyHJsE/4JyUFKTFNKwpQGUlYJnuhPohSldEcDkjUUOWMRp9um0GdJQnzekOE0Zfum2ppFzVG3OCSa4MnHkS79lwZ8U0jnrlnJ/yQ03KiRLbW+Z+x/D1O2S+R4BrLX+V9xO8aqL6mfbXDA9jWRfW/Yq5QxXnyLX1YkEsZVZivafe64W847JQnv1cAtWvzA0U6ufcXiWLQu5scPyibZnsYRTuBqueFxBEILvq5Zwp+kkgnX/oZGwQM+sJ0YP+NgD3W13LCU/gR9rBrD7ZRL9JEneqNRtGIRS0GQsGKsstGT6EwOk5IMmj2qdVql6AFnXE2FRRHeZvQ5n5xQiXEa0mTJOGexVFKr+lwbuQLNXkrzkJSTl04bWyVysCUIiwlPD6AiGyC1HeRumEmb7yvPshypsql5FZpLIZbeHJZdV4jCFwlqB8CeBjDcamMLi+NNXDOesu+khcUReHBEwwQuI7IWPQhDUdhHn6SYs63obIt9moQPuc6dU0n+lqsVov2GcvIEcjGnPQQWkDHobx3lG2RDg4AkAmfGMcfPpcdtGU14biF3CR+w2cq8dQ0X1rWCa6u6ho9QT/mKJbA+THP8CHjMngiv6Qm2exxtiS7yeqLrXQHcmQYuRER+bPdOCF8NYReNh7DtaAjjLCP867SJh4R4Nh9xE891iHccHnsTxoNibJnOeCCrfusg+5zC8iaIB4RYZV6jQIw0iCG/5bsJ4SERdkdMtxxbQ1hOdUJ4OITnI6Zbjp5u+SnBnARf8YTykKzJHDHjcvSix24bTCgPj7I9YsrlWhqUJAiJKlbBUjcsZAmO7ivpMi/dkUCar4E5TvknUVqs8M1lonAk1UkSKA0/AppG/UIoVUQ33wjnB1nxgiyfCRzLiTww4RFHXMxAtpn/lXdUVdLKRwDL/CfmcDtz1fUXebOwgVj4GdDAUGyX+qT5qIMVhuQMuCmJMKc/mgMcQ042fRROWZXHytqpdBLbaZW9ijnIVhX+YGp8qKlJX+8cp6y5qgfLwq13d1ZfzatL3zLdU/rwpZhx5bylDfv5s55fFihC2Ho+9AhbeYG0Mzjc1QKWL3pNj4SsGAJNvk8i/EyiZVnsflXlVBbt5UyM0s51n3RPl1RvzFuEGta+kZ2/1RmVCluvM8KNdpx5HVTWQoPqU6a6nWrq/R4lJx3A8lqbc9HzyWK5J3yi76MF6Wx+qtVcljgsTicOI7I8Nb0auJxysMyE72D4jllSVw+OieONDPKYRXVPj9ATxRsD5FGr6ratQXktilcRuDrLs5osTzpBRfHMoSjeC+V1hgeXXwxFOiX7K6lgfufW7Un+DI37oWPcb34c9del26+lbDO7SaksdJqyzVpZ4Wv1zzBCe3ZK/WKCZ+uvahQHgR+R4BVbtzO/B37neE7D2u+K4SH9KOCfDCw6EbwrETyv9dKU5dn9nivlmd9FOaJ+DjARvIvSBtSx338BwbN1ApDgeOJ3A8I7Kr/TT3cmfjcGyGPyO6TnShO/GwPkcfmdq0F5Ab8rmdKNeWuasyZdsha/wynfI0kpWFGk7vlcjDcRPHUK2yB4HbR+WIKHzHaW59X946w+mp/WLz3zjfqOdWWKp7+wzZIe4eq3YnYdx8QVs0PuvIm68X6IneNdM+S893hS1JQaLw28PayovVMPK11PkwvfGXAXx8/yr/3OgDNvxQ/5snZX/GjrW/aZAlQ7/tnXjTeOfhC9jnAYfsSKUrFzT8Qdy0GL9xRp5oMkN5DbWE4ztzFnZbLTTiDecYB6YxBCAwSh3q+c6adOMQtIij/kOzpOx5lAueEcz23W79Gv235wWf2qtlCvfrts3/8P \ No newline at end of file From 4494c446773ab70fa6d935f1c90f567de09a3c9b Mon Sep 17 00:00:00 2001 From: gaba Date: Tue, 1 Nov 2016 15:29:31 -0700 Subject: [PATCH 07/21] add multiplicity --- data-model.png | Bin 35165 -> 35869 bytes data-model.xml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/ data-model.png b/ data-model.png index 1510195ef400eee4e869b4ddd3bb7e31fb6be2e7..65378395e58614888f08ea5187e2601d6d8371eb 100644 GIT binary patch literal 35869 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 H`{4fpt_8XQ literal 35165 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�^s{;-{owH8Zze^s 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 diff --git a/ data-model.xml b/ data-model.xml index aee39d387..08b532341 100644 --- a/ data-model.xml +++ b/ data-model.xml @@ -1 +1 @@ -7Vttb6M4EP41fGwF5iXJx03avfvQk6qrTnf7aeWCQ7wLOAJn0+yvvzHYvDkktAlst6KK1DCM3+YZD/OMiWGv4pc/Urzd/MUCEhnIDF4M+85AyHJsE/4JyUFKTFNKwpQGUlYJnuhPohSldEcDkjUUOWMRp9um0GdJQnzekOE0Zfum2ppFzVG3OCSa4MnHkS79lwZ8U0jnrlnJ/yQ03KiRLbW+Z+x/D1O2S+R4BrLX+V9xO8aqL6mfbXDA9jWRfW/Yq5QxXnyLX1YkEsZVZivafe64W847JQnv1cAtWvzA0U6ufcXiWLQu5scPyibZnsYRTuBqueFxBEILvq5Zwp+kkgnX/oZGwQM+sJ0YP+NgD3W13LCU/gR9rBrD7ZRL9JEneqNRtGIRS0GQsGKsstGT6EwOk5IMmj2qdVql6AFnXE2FRRHeZvQ5n5xQiXEa0mTJOGexVFKr+lwbuQLNXkrzkJSTl04bWyVysCUIiwlPD6AiGyC1HeRumEmb7yvPshypsql5FZpLIZbeHJZdV4jCFwlqB8CeBjDcamMLi+NNXDOesu+khcUReHBEwwQuI7IWPQhDUdhHn6SYs63obIt9moQPuc6dU0n+lqsVov2GcvIEcjGnPQQWkDHobx3lG2RDg4AkAmfGMcfPpcdtGU14biF3CR+w2cq8dQ0X1rWCa6u6ho9QT/mKJbA+THP8CHjMngiv6Qm2exxtiS7yeqLrXQHcmQYuRER+bPdOCF8NYReNh7DtaAjjLCP867SJh4R4Nh9xE891iHccHnsTxoNibJnOeCCrfusg+5zC8iaIB4RYZV6jQIw0iCG/5bsJ4SERdkdMtxxbQ1hOdUJ4OITnI6Zbjp5u+SnBnARf8YTykKzJHDHjcvSix24bTCgPj7I9YsrlWhqUJAiJKlbBUjcsZAmO7ivpMi/dkUCar4E5TvknUVqs8M1lonAk1UkSKA0/AppG/UIoVUQ33wjnB1nxgiyfCRzLiTww4RFHXMxAtpn/lXdUVdLKRwDL/CfmcDtz1fUXebOwgVj4GdDAUGyX+qT5qIMVhuQMuCmJMKc/mgMcQ042fRROWZXHytqpdBLbaZW9ijnIVhX+YGp8qKlJX+8cp6y5qgfLwq13d1ZfzatL3zLdU/rwpZhx5bylDfv5s55fFihC2Ho+9AhbeYG0Mzjc1QKWL3pNj4SsGAJNvk8i/EyiZVnsflXlVBbt5UyM0s51n3RPl1RvzFuEGta+kZ2/1RmVCluvM8KNdpx5HVTWQoPqU6a6nWrq/R4lJx3A8lqbc9HzyWK5J3yi76MF6Wx+qtVcljgsTicOI7I8Nb0auJxysMyE72D4jllSVw+OieONDPKYRXVPj9ATxRsD5FGr6ratQXktilcRuDrLs5osTzpBRfHMoSjeC+V1hgeXXwxFOiX7K6lgfufW7Un+DI37oWPcb34c9del26+lbDO7SaksdJqyzVpZ4Wv1zzBCe3ZK/WKCZ+uvahQHgR+R4BVbtzO/B37neE7D2u+K4SH9KOCfDCw6EbwrETyv9dKU5dn9nivlmd9FOaJ+DjARvIvSBtSx338BwbN1ApDgeOJ3A8I7Kr/TT3cmfjcGyGPyO6TnShO/GwPkcfmdq0F5Ab8rmdKNeWuasyZdsha/wynfI0kpWFGk7vlcjDcRPHUK2yB4HbR+WIKHzHaW59X946w+mp/WLz3zjfqOdWWKp7+wzZIe4eq3YnYdx8QVs0PuvIm68X6IneNdM+S893hS1JQaLw28PayovVMPK11PkwvfGXAXx8/yr/3OgDNvxQ/5snZX/GjrW/aZAlQ7/tnXjTeOfhC9jnAYfsSKUrFzT8Qdy0GL9xRp5oMkN5DbWE4ztzFnZbLTTiDecYB6YxBCAwSh3q+c6adOMQtIij/kOzpOx5lAueEcz23W79Gv235wWf2qtlCvfrts3/8P \ No newline at end of file +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 \ No newline at end of file From f64d6d293afb117e11cf704b23daf06651fddfb2 Mon Sep 17 00:00:00 2001 From: Belen Curcio Date: Wed, 2 Nov 2016 08:54:33 -0300 Subject: [PATCH 08/21] running lint before commiting --- package.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/package.json b/package.json index 9f70a3f54..12cb1bfef 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,17 @@ "start": "./server/bin/www", "lint": "eslint ." }, + "config": { + "pre-git": { + "commit-msg": [], + "pre-commit": [ + "npm run lint" + ], + "pre-push": [], + "post-commit": [], + "post-merge": [] + } + }, "repository": { "type": "git", "url": "git+https://github.com/coralproject/talk.git" @@ -27,5 +38,11 @@ "debug": "^2.2.0", "express": "^4.14.0", "mongoose": "^4.6.5" + }, + "devDependencies": { + "chai": "^3.5.0", + "mocha": "^3.1.2", + "pre-git": "^3.10.0", + "supertest": "^2.0.1" } } From ac80d2683dd0dbc5a8bd2b010fab90513ae3e12f Mon Sep 17 00:00:00 2001 From: Belen Curcio Date: Wed, 2 Nov 2016 08:58:31 -0300 Subject: [PATCH 09/21] Adding eslint as devDep --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 12cb1bfef..dbee39dd4 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ }, "devDependencies": { "chai": "^3.5.0", + "eslint": "^3.9.1", "mocha": "^3.1.2", "pre-git": "^3.10.0", "supertest": "^2.0.1" From 61e9e30ac58133638938e172197442b06e8c2ba2 Mon Sep 17 00:00:00 2001 From: Belen Curcio Date: Wed, 2 Nov 2016 09:02:34 -0300 Subject: [PATCH 10/21] Adding test script --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index dbee39dd4..333f6b98e 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "main": "./server/bin/www", "scripts": { "start": "./server/bin/www", - "lint": "eslint ." + "lint": "eslint .", + "test": "mocha" }, "config": { "pre-git": { From 265be1898d03e21d19ccb1a2a3d8d1003074f63b Mon Sep 17 00:00:00 2001 From: Belen Curcio Date: Wed, 2 Nov 2016 09:57:18 -0300 Subject: [PATCH 11/21] Adding mock test --- package.json | 7 +++++-- tests/index.js | 12 ++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 tests/index.js diff --git a/package.json b/package.json index 422caa613..a4b4d603c 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "scripts": { "start": "./bin/www", "lint": "eslint .", - "test": "mocha" + "pretest": "npm install", + "test": "mocha tests" }, "config": { "pre-git": { @@ -14,7 +15,9 @@ "pre-commit": [ "npm run lint" ], - "pre-push": [], + "pre-push": [ + "npm test" + ], "post-commit": [], "post-merge": [] } diff --git a/tests/index.js b/tests/index.js new file mode 100644 index 000000000..0a212b7a4 --- /dev/null +++ b/tests/index.js @@ -0,0 +1,12 @@ +/* eslint-env node, mocha */ +'use strict'; + +const expect = require('chai').expect; + +describe('Comment', () => { + describe.only('#add', () => { + it('should add a comment', () => { + expect(0).to.be.equal(0); + }); + }); +}); From 85b7096cecddf6394d58d6d54ffc815a834e7b58 Mon Sep 17 00:00:00 2001 From: gaba Date: Wed, 2 Nov 2016 09:21:05 -0700 Subject: [PATCH 12/21] Adds one method. --- models/asset.js | 19 +++++++++++++++++++ models/comments.js | 4 ++-- models/user.js | 24 +++++++++++++++++++++++- 3 files changed, 44 insertions(+), 3 deletions(-) diff --git a/models/asset.js b/models/asset.js index 3e620e553..161c62154 100644 --- a/models/asset.js +++ b/models/asset.js @@ -17,6 +17,25 @@ const AssetSchema = new Schema({ _id: false }); +/** + * Finds an asset by the id. + * @param {String} id identifier of the asset (uuid) +*/ +AssetSchema.methods.findById = function(id, done) { + Asset.findOne({ + id : id + }, (err, asset) => { + if (err) { + return done(err); + } + + if (!asset) { + return done(null, false); + } + return done(null, asset); + }); +}; + const Asset = mongoose.model('Asset', AssetSchema); module.exports = Asset; diff --git a/models/comments.js b/models/comments.js index 73538d378..bf54fcf82 100644 --- a/models/comments.js +++ b/models/comments.js @@ -49,8 +49,8 @@ const CommentSchema = new Schema({ }); /** - * Finds a user by the id. - * @param {String} id identifier of the user (uuid) + * Finds a comment by the id. + * @param {String} id identifier of the comment (uuid) */ CommentSchema.methods.findById = function(id, done) { Comment.findOne({ diff --git a/models/user.js b/models/user.js index 31213101c..56cc476d0 100644 --- a/models/user.js +++ b/models/user.js @@ -10,13 +10,35 @@ const UserSchema = new Schema({ default: uuid.v4, unique: true }, - name: String, + name: { + type: String, + unique: true + }, created_at: { type: Date, default: Date.now }, updated_at: { type: Date, default: Date.now } },{ _id: false }); +/** + * Finds a user by the id. + * @param {String} id identifier of the user (uuid) +*/ +UserSchema.methods.findById = function(id, done) { + User.findOne({ + id : id + }, (err, user) => { + if (err) { + return done(err); + } + + if (!user) { + return done(null, false); + } + return done(null, user); + }); +}; + const User = mongoose.model('User', UserSchema); module.exports = User; From f839ac63425d680ed2f0dd48a5ca27672dc5204a Mon Sep 17 00:00:00 2001 From: gaba Date: Wed, 2 Nov 2016 11:21:35 -0700 Subject: [PATCH 13/21] Rename comments to comment. --- models/{comments.js => comment.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename models/{comments.js => comment.js} (100%) diff --git a/models/comments.js b/models/comment.js similarity index 100% rename from models/comments.js rename to models/comment.js From f0f6963aa5618be26c4ea3757b57c207d4ca2500 Mon Sep 17 00:00:00 2001 From: Riley Davis Date: Wed, 2 Nov 2016 14:09:10 -0600 Subject: [PATCH 14/21] add more rules to eslint file --- .eslintrc.json | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/.eslintrc.json b/.eslintrc.json index a28ebd512..f92aa27b1 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -23,6 +23,29 @@ "semi": [ "error", "always" - ] + ], + "no-template-curly-in-string": [1], + "no-unsafe-negation": [1], + "array-callback-return": [1], + "eqeqeq": [2], + "no-eval": [2], + "no-global-assign": [2], + "no-implied-eval": [2], + "no-script-url": [2], + "no-throw-literal": [2], + "yoda": [1], + "no-path-concat": [2], + "no-process-exit": [2], + "camelcase": [1], + "eol-last": [1], + "no-continue": [1], + "no-nested-ternary": [1], + "no-tabs": [2], + "no-unneeded-ternary": [1], + "object-curly-spacing": [1], + "space-infix-ops": ["error"], + "no-const-assign": [2], + "no-duplicate-imports": [2], + "prefer-template": [1] } } From 98bf6e48b18de010593c7ee5bad39d7fbe26d108 Mon Sep 17 00:00:00 2001 From: Belen Curcio Date: Wed, 2 Nov 2016 17:34:06 -0300 Subject: [PATCH 15/21] first draft swagger --- swagger.yaml | 195 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 179 insertions(+), 16 deletions(-) diff --git a/swagger.yaml b/swagger.yaml index 3c154c6f7..4685a4774 100644 --- a/swagger.yaml +++ b/swagger.yaml @@ -11,35 +11,198 @@ produces: - application/json paths: /comments: - get: - summary: Comment Types - description: | - This endpoint retrieves comments + # get: + # tags: + # - Comments + # produces: + # - application/json + # summary: Comment Types + # description: | + # This endpoint retrieves comments + # parameters: + # - name: id + # in: query + # description: Comment by id + # required: false + # type: string + # responses: + # 200: + # description: An array of comments + # schema: + # type: array + # items: + # $ref: '#/definitions/Comment' + post: + description: Add a new comment parameters: - - name: id - in: query - description: Comment by id - required: false - type: string - tags: - - Products + - name: body + in: body + description: Body + required: true + schema: + $ref: '#/definitions/Comment' responses: 200: - description: An array of comments + description: "OK: Comment Added" + 500: + description: "Error" + /comments/{comment_id}/actions: + post: + tags: + - Comments + description: Add a action + parameters: + - name: comment_id + in: path + description: Comment ID + required: true + type: string + - name: body + in: body + description: comment + required: true + schema: + $ref: '#/definitions/Action' + responses: + 200: + description: Action Added schema: type: array items: $ref: '#/definitions/Comment' + /comments/{comment_id}/status: + post: + tags: + - Comments + description: Add a new status + parameters: + - name: comment_id + in: path + description: Comment ID + required: true + type: string + - name: body + in: body + description: comment + required: true + schema: + $ref: '#/definitions/ModerationAction' + responses: + 200: + description: ModerationAction Added + schema: + type: array + items: + $ref: '#/definitions/ModerationAction' + /queue: + get: + tags: + - Queue + description: Queue + parameters: + - name: type + in: query + description: + "pending: no status | flagged: flagged action + no status | rejected: rejected status" + required: true + type: string + - name: limit + in: query + description: Queue limit + required: false + type: integer + - name: skip + in: query + description: Skip + required: false + type: integer + responses: + 200: + description: ModerationAction Added + schema: + type: array + items: + $ref: '#/definitions/ModerationAction' + /stream: + get: + tags: + - Stream + description: Stream + parameters: + - name: asset_id + in: query + description: Description + required: true + type: string + responses: + 200: + description: OK + schema: + type: array + items: + $ref: '#/definitions/Item' + /settings: + get: + tags: + - Settings + description: Settings + responses: + 200: + description: OK + put: + tags: + - Settings + description: Settings + responses: + 200: + description: OK + + + definitions: + Item: + type: string + ModerationAction: + type: string Comment: type: object properties: id: type: string description: Unique identifier - description: + body: type: string - description: Description of comment. - display_name: + description: Description of comment + created_at: + type: string + format: date-time + description: Display name of comment + user_id: + type: string + description: Display name of comment + parent_id: + type: string + description: Display name of comment + asset_id: + type: string + description: Display name of comment + # Actions: + # type: object + # properties: + # item_id: + # type: string + # item_type: + # type: string # comment, user... + # type: + # type: string # flagged, likes, upvotes... + # count: + # type: integer + # current_user: + # type: boolean + Action: + type: object + properties: + type: + type: string + user_id: type: string - description: Display name of comment. From 1a2cb1d8eb38457a3d75de2e64c2d287615d3be5 Mon Sep 17 00:00:00 2001 From: gaba Date: Wed, 2 Nov 2016 13:43:08 -0700 Subject: [PATCH 16/21] Add action model. --- models/asset.js | 41 ----------------------------------------- 1 file changed, 41 deletions(-) delete mode 100644 models/asset.js diff --git a/models/asset.js b/models/asset.js deleted file mode 100644 index 161c62154..000000000 --- a/models/asset.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict'; - -const mongoose = require('../mongoose'); -const uuid = require('uuid'); -const Schema = mongoose.Schema; - -const AssetSchema = new Schema({ - id: { - type: String, - default: uuid.v4, - unique: true - }, - title: String, - created_at: { type: Date, default: Date.now }, - updated_at: { type: Date, default: Date.now } -},{ - _id: false -}); - -/** - * Finds an asset by the id. - * @param {String} id identifier of the asset (uuid) -*/ -AssetSchema.methods.findById = function(id, done) { - Asset.findOne({ - id : id - }, (err, asset) => { - if (err) { - return done(err); - } - - if (!asset) { - return done(null, false); - } - return done(null, asset); - }); -}; - -const Asset = mongoose.model('Asset', AssetSchema); - -module.exports = Asset; From 0b4dcbdffb9afc7fe6001578e581bafe1af3a2d7 Mon Sep 17 00:00:00 2001 From: gaba Date: Wed, 2 Nov 2016 13:43:38 -0700 Subject: [PATCH 17/21] Moves from ObjectId to uuid. changes status to remove 'untouched'. Using blank instead. --- models/comment.js | 58 ++++++++++++----------------------------------- 1 file changed, 15 insertions(+), 43 deletions(-) diff --git a/models/comment.js b/models/comment.js index bf54fcf82..107708a3b 100644 --- a/models/comment.js +++ b/models/comment.js @@ -10,61 +10,33 @@ const CommentSchema = new Schema({ default: uuid.v4, unique: true }, - content: { + body: { type: String, - required: [true, 'The content is required.'], - minlenght: 50 - }, - asset: { - type: Schema.Types.ObjectId, - ref: 'Asset' - }, - author: { - type: Schema.Types.ObjectId, - ref: 'User' - }, - actions: { - flags: [{ - type: Schema.Types.ObjectId, - ref: 'User' - }], - likes: [{ - type: Schema.Types.ObjectId, - ref: 'User' - }] + required: [true, 'The body is required.'], + minlength: 50 }, + asset_id: String, + author_id: String, status: { type: String, - enum: ['accepted', 'rejected', 'untouched'], - default: 'untouched' + enum: ['accepted', 'rejected', ''], + default: '' }, - parent: { - type: Schema.Types.ObjectId, - ref: 'Comment' - }, - created_at: { type: Date, default: Date.now }, - updated_at: { type: Date, default: Date.now } + parent_id: String },{ - _id: false + _id: false, + timestamps: { + createdAt: 'created_at', + updatedAt: 'updated_at' + } }); /** * Finds a comment by the id. * @param {String} id identifier of the comment (uuid) */ -CommentSchema.methods.findById = function(id, done) { - Comment.findOne({ - id : id - }, (err, comment) => { - if (err) { - return done(err); - } - - if (!comment) { - return done(null, false); - } - return done(null, comment); - }); +CommentSchema.statics.findById = function(id) { + return Comment.findOne({id}); }; const Comment = mongoose.model('Comment', CommentSchema); From 94ade6f6fefe4231cfe078d1117b4e7e7af221f9 Mon Sep 17 00:00:00 2001 From: gaba Date: Wed, 2 Nov 2016 13:44:05 -0700 Subject: [PATCH 18/21] Renames to userProfile, change name to displayname. Changes objectid for uuid. --- models/action.js | 35 +++++++++++++++++++++++++++++++++++ models/user.js | 39 ++++++++++++++++----------------------- 2 files changed, 51 insertions(+), 23 deletions(-) create mode 100644 models/action.js diff --git a/models/action.js b/models/action.js new file mode 100644 index 000000000..139ec2cff --- /dev/null +++ b/models/action.js @@ -0,0 +1,35 @@ +'use strict'; + +const mongoose = require('../mongoose'); +const uuid = require('uuid'); +const Schema = mongoose.Schema; + +const ActionSchema = new Schema({ + id: { + type: String, + default: uuid.v4, + unique: true + }, + action_type: String, + item_type: String, + item_id: String, + user_id: String +},{ + _id: false, + timestamps: { + createdAt: 'created_at', + updatedAt: 'updated_at' + } +}); + +/** + * Finds an action by the id. + * @param {String} id identifier of the action (uuid) +*/ +ActionSchema.methods.findById = function(id) { + return Action.findOne({id}); +}; + +const Action = mongoose.model('Action', ActionSchema); + +module.exports = Action; diff --git a/models/user.js b/models/user.js index 56cc476d0..d6b174075 100644 --- a/models/user.js +++ b/models/user.js @@ -4,41 +4,34 @@ const mongoose = require('../mongoose'); const uuid = require('uuid'); const Schema = mongoose.Schema; -const UserSchema = new Schema({ +const UserProfileSchema = new Schema({ id: { type: String, default: uuid.v4, unique: true }, - name: { - type: String, - unique: true - }, - created_at: { type: Date, default: Date.now }, - updated_at: { type: Date, default: Date.now } + display_name: String, + auth_user_id: String },{ - _id: false + _id: false, + timestamps: { + createdAt: 'created_at', + updatedAt: 'updated_at' + } }); /** * Finds a user by the id. * @param {String} id identifier of the user (uuid) */ -UserSchema.methods.findById = function(id, done) { - User.findOne({ - id : id - }, (err, user) => { - if (err) { - return done(err); - } - - if (!user) { - return done(null, false); - } - return done(null, user); - }); +UserProfileSchema.statics.findById = function(id) { + return UserProfile.findOne({id}); }; -const User = mongoose.model('User', UserSchema); +// TO DO: methods +// modifications to user as statics +// find by auth user id -module.exports = User; +const UserProfile = mongoose.model('UserProfile', UserProfileSchema); + +module.exports = UserProfile; From 321a5bb49a81ac5124e0ee799c167be2f1c97603 Mon Sep 17 00:00:00 2001 From: gaba Date: Wed, 2 Nov 2016 13:53:21 -0700 Subject: [PATCH 19/21] statics instead of method. --- models/action.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/action.js b/models/action.js index 139ec2cff..581108a71 100644 --- a/models/action.js +++ b/models/action.js @@ -26,7 +26,7 @@ const ActionSchema = new Schema({ * Finds an action by the id. * @param {String} id identifier of the action (uuid) */ -ActionSchema.methods.findById = function(id) { +ActionSchema.statics.findById = function(id) { return Action.findOne({id}); }; From 96ef280e47fe95a51a0f1cbb7e15e1ae43fb772d Mon Sep 17 00:00:00 2001 From: gaba Date: Wed, 2 Nov 2016 13:58:48 -0700 Subject: [PATCH 20/21] Updates diagrams. --- data-model.png | Bin 35869 -> 45245 bytes data-model.xml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/ data-model.png b/ data-model.png index 65378395e58614888f08ea5187e2601d6d8371eb..43855b5423db8767b0e2153b4aef1af8ca0ae723 100644 GIT binary patch literal 45245 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 QBLjn;){d>o8s>ig7q~d`RR910 literal 35869 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 H`{4fpt_8XQ diff --git a/ data-model.xml b/ data-model.xml index 08b532341..1597bf7d9 100644 --- a/ data-model.xml +++ b/ data-model.xml @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file From 6310fea2a5d1429b868cb15ba1a87826d82fc73f Mon Sep 17 00:00:00 2001 From: Belen Curcio Date: Wed, 2 Nov 2016 18:09:57 -0300 Subject: [PATCH 21/21] changes --- swagger.yaml | 50 ++++++++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/swagger.yaml b/swagger.yaml index 4685a4774..a7fdc973d 100644 --- a/swagger.yaml +++ b/swagger.yaml @@ -42,8 +42,10 @@ paths: schema: $ref: '#/definitions/Comment' responses: - 200: + 201: description: "OK: Comment Added" + schema: + $ref: '#/definitions/Comment' 500: description: "Error" /comments/{comment_id}/actions: @@ -64,7 +66,7 @@ paths: schema: $ref: '#/definitions/Action' responses: - 200: + 201: description: Action Added schema: type: array @@ -88,12 +90,8 @@ paths: schema: $ref: '#/definitions/ModerationAction' responses: - 200: + 204: description: ModerationAction Added - schema: - type: array - items: - $ref: '#/definitions/ModerationAction' /queue: get: tags: @@ -106,6 +104,10 @@ paths: "pending: no status | flagged: flagged action + no status | rejected: rejected status" required: true type: string + enum: + - pending + - flagged + - rejected - name: limit in: query description: Queue limit @@ -154,14 +156,14 @@ paths: - Settings description: Settings responses: - 200: + 204: description: OK definitions: Item: - type: string + type: object ModerationAction: type: string Comment: @@ -177,6 +179,10 @@ definitions: type: string format: date-time description: Display name of comment + updated_at: + type: string + format: date-time + description: Display name of comment user_id: type: string description: Display name of comment @@ -186,19 +192,19 @@ definitions: asset_id: type: string description: Display name of comment - # Actions: - # type: object - # properties: - # item_id: - # type: string - # item_type: - # type: string # comment, user... - # type: - # type: string # flagged, likes, upvotes... - # count: - # type: integer - # current_user: - # type: boolean + Actions: + type: object + properties: + item_id: + type: string + item_type: + type: string # comment, user... + type: + type: string # flagged, likes, upvotes... + count: + type: integer + current_user: + type: boolean Action: type: object properties: