From 002f79851a0848e9e69645e5de5f42faa7954041 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Y=C3=BBki=20Vachot?= Date: Wed, 1 Dec 2021 05:52:34 +0100 Subject: [PATCH] Update: Models --- .../{video.model.js => database/ads.model.js} | 13 +++++++++---- .../playlists.model.js} | 5 +++-- .../{user.model.js => database/users.model.js} | 18 ++++++++++++------ .../{ad.model.js => database/videos.model.js} | 12 +++++++----- app-backend/models/history.model.js | 15 --------------- app-backend/models/image.model.js | 18 ------------------ app-backend/models/mongodb.model.js | 9 ++++----- app-backend/models/objects/image.model.js | 10 ++++++++++ app-backend/models/objects/token.model.js | 10 ++++++++++ app-backend/models/subjectTarget.model.js | 16 ---------------- 10 files changed, 55 insertions(+), 71 deletions(-) rename app-backend/models/{video.model.js => database/ads.model.js} (58%) rename app-backend/models/{playlist.model.js => database/playlists.model.js} (75%) rename app-backend/models/{user.model.js => database/users.model.js} (74%) rename app-backend/models/{ad.model.js => database/videos.model.js} (57%) delete mode 100644 app-backend/models/history.model.js delete mode 100644 app-backend/models/image.model.js create mode 100644 app-backend/models/objects/image.model.js create mode 100644 app-backend/models/objects/token.model.js delete mode 100644 app-backend/models/subjectTarget.model.js diff --git a/app-backend/models/video.model.js b/app-backend/models/database/ads.model.js similarity index 58% rename from app-backend/models/video.model.js rename to app-backend/models/database/ads.model.js index ce2769e..4d3f3a0 100644 --- a/app-backend/models/video.model.js +++ b/app-backend/models/database/ads.model.js @@ -1,9 +1,14 @@ module.exports = mongoose => { let schema = mongoose.Schema({ - url: String, + userId: String, title: String, - description: String, - views: Number + images: Array, + url: String, + interests: Array, + comment: String, + views: Array, + isVisible: Boolean, + isActive: Boolean }, { timestamps: true } ); @@ -14,5 +19,5 @@ module.exports = mongoose => { return object; }); - return mongoose.model("video", schema); + return mongoose.model("ads", schema); }; diff --git a/app-backend/models/playlist.model.js b/app-backend/models/database/playlists.model.js similarity index 75% rename from app-backend/models/playlist.model.js rename to app-backend/models/database/playlists.model.js index fbebb69..9d16c5c 100644 --- a/app-backend/models/playlist.model.js +++ b/app-backend/models/database/playlists.model.js @@ -1,8 +1,9 @@ module.exports = mongoose => { let schema = mongoose.Schema({ userId: String, + videoIds: Array, name: String, - videos: Array + isActive: Boolean }, { timestamps: true } ); @@ -13,5 +14,5 @@ module.exports = mongoose => { return object; }); - return mongoose.model("playlist", schema); + return mongoose.model("playlists", schema); }; diff --git a/app-backend/models/user.model.js b/app-backend/models/database/users.model.js similarity index 74% rename from app-backend/models/user.model.js rename to app-backend/models/database/users.model.js index 1cd3bce..1640401 100644 --- a/app-backend/models/user.model.js +++ b/app-backend/models/database/users.model.js @@ -1,14 +1,15 @@ -const roles = require("../config/role.config"); +const roles = require("../../config/role.config"); module.exports = mongoose => { let schema = mongoose.Schema({ - login: String, + email: String, hashPass: String, // WARNING: We don't want to send back the hashPass - mail: String, + login: String, role: { type: Object, default: roles.User }, + company: String, profilePictureUrl: { type: String, default: null @@ -25,10 +26,15 @@ module.exports = mongoose => { type: Array, default: null }, - active: { + isActive: { type: Boolean, default: true - } + }, + isAccepted: { + type: Boolean, + default: false + }, + lastConnexion: Date }, { timestamps: true } ); @@ -39,5 +45,5 @@ module.exports = mongoose => { return object; }); - return mongoose.model("user", schema); + return mongoose.model("users", schema); }; diff --git a/app-backend/models/ad.model.js b/app-backend/models/database/videos.model.js similarity index 57% rename from app-backend/models/ad.model.js rename to app-backend/models/database/videos.model.js index 85404bc..529ce87 100644 --- a/app-backend/models/ad.model.js +++ b/app-backend/models/database/videos.model.js @@ -1,9 +1,11 @@ module.exports = mongoose => { let schema = mongoose.Schema({ - images: [], - text: String, - subjectTarget: [], - seen: Number + userId: String, + videoId: String, + source: String, + tags: Array, + interest: String, + watchedDates: Array }, { timestamps: true } ); @@ -14,5 +16,5 @@ module.exports = mongoose => { return object; }); - return mongoose.model("ad", schema); + return mongoose.model("videos", schema); }; diff --git a/app-backend/models/history.model.js b/app-backend/models/history.model.js deleted file mode 100644 index b984e99..0000000 --- a/app-backend/models/history.model.js +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = mongoose => { - let schema = mongoose.Schema({ - user: Object - }, - { timestamps: true } - ); - - schema.method("toJSON", function() { - const { __v, _id, ...object } = this.toObject(); - object.id = _id; - return object; - }); - - return mongoose.model("history", schema); -}; diff --git a/app-backend/models/image.model.js b/app-backend/models/image.model.js deleted file mode 100644 index c966167..0000000 --- a/app-backend/models/image.model.js +++ /dev/null @@ -1,18 +0,0 @@ -module.exports = mongoose => { - let schema = mongoose.Schema({ - base64: String, - fromUrl: String, - description: String, - type: Number - }, - { timestamps: true } - ); - - schema.method("toJSON", function() { - const { __v, _id, ...object } = this.toObject(); - object.id = _id; - return object; - }); - - return mongoose.model("image", schema); -}; diff --git a/app-backend/models/mongodb.model.js b/app-backend/models/mongodb.model.js index 18542b9..9ddb7cd 100644 --- a/app-backend/models/mongodb.model.js +++ b/app-backend/models/mongodb.model.js @@ -11,10 +11,9 @@ if(typeof process.env.NODE_ENV !== 'undefined' && process.env.NODE_ENV === 'prod db.url = dbConfig.devUrl; } -db.users = require("./user.model")(mongoose); -db.playlists = require("./playlist.model")(mongoose); -db.ads = require("./ad.model")(mongoose); -db.histories = require("./history.model")(mongoose); - +db.users = require("./database/users.model")(mongoose); +db.playlists = require("./database/playlists.model")(mongoose); +db.videos = require("./database/videos.model")(mongoose); +db.ads = require("./database/ads.model")(mongoose); module.exports = db; diff --git a/app-backend/models/objects/image.model.js b/app-backend/models/objects/image.model.js new file mode 100644 index 0000000..72ec783 --- /dev/null +++ b/app-backend/models/objects/image.model.js @@ -0,0 +1,10 @@ +class Image { + constructor(base64, url, description, type){ + this.base64 = base64; + this.url = url; + this.description = description; + this.type = type; + } +} + +module.exports = Image; diff --git a/app-backend/models/objects/token.model.js b/app-backend/models/objects/token.model.js new file mode 100644 index 0000000..5049744 --- /dev/null +++ b/app-backend/models/objects/token.model.js @@ -0,0 +1,10 @@ +class Token { + constructor(id, email, profileImageUrl, role){ + this.id = id; + this.email = email; + this.profileImageUrl = profileImageUrl; + this.role = role; + } +} + +module.exports = Token; diff --git a/app-backend/models/subjectTarget.model.js b/app-backend/models/subjectTarget.model.js deleted file mode 100644 index cded850..0000000 --- a/app-backend/models/subjectTarget.model.js +++ /dev/null @@ -1,16 +0,0 @@ -module.exports = mongoose => { - let schema = mongoose.Schema({ - name: String, - keywords: [] - }, - { timestamps: true } - ); - - schema.method("toJSON", function() { - const { __v, _id, ...object } = this.toObject(); - object.id = _id; - return object; - }); - - return mongoose.model("subjectTarget", schema); -};