Update: Models

This commit is contained in:
Yûki VACHOT 2021-12-01 05:52:34 +01:00
parent 70ca726122
commit 002f79851a
10 changed files with 55 additions and 71 deletions

View file

@ -0,0 +1,23 @@
module.exports = mongoose => {
let schema = mongoose.Schema({
userId: String,
title: String,
images: Array,
url: String,
interests: Array,
comment: String,
views: Array,
isVisible: Boolean,
isActive: Boolean
},
{ timestamps: true }
);
schema.method("toJSON", function() {
const { __v, _id, ...object } = this.toObject();
object.id = _id;
return object;
});
return mongoose.model("ads", schema);
};

View file

@ -0,0 +1,18 @@
module.exports = mongoose => {
let schema = mongoose.Schema({
userId: String,
videoIds: Array,
name: String,
isActive: Boolean
},
{ timestamps: true }
);
schema.method("toJSON", function() {
const { __v, _id, ...object } = this.toObject();
object.id = _id;
return object;
});
return mongoose.model("playlists", schema);
};

View file

@ -0,0 +1,49 @@
const roles = require("../../config/role.config");
module.exports = mongoose => {
let schema = mongoose.Schema({
email: String,
hashPass: String, // WARNING: We don't want to send back the hashPass
login: String,
role: {
type: Object,
default: roles.User
},
company: String,
profilePictureUrl: {
type: String,
default: null
},
dateOfBirth: {
type: Date,
default: null
},
gender: {
type: String,
default: null
},
interests: {
type: Array,
default: null
},
isActive: {
type: Boolean,
default: true
},
isAccepted: {
type: Boolean,
default: false
},
lastConnexion: Date
},
{ timestamps: true }
);
schema.method("toJSON", function() {
const { __v, _id, ...object } = this.toObject();
object.id = _id;
return object;
});
return mongoose.model("users", schema);
};

View file

@ -0,0 +1,20 @@
module.exports = mongoose => {
let schema = mongoose.Schema({
userId: String,
videoId: String,
source: String,
tags: Array,
interest: String,
watchedDates: Array
},
{ timestamps: true }
);
schema.method("toJSON", function() {
const { __v, _id, ...object } = this.toObject();
object.id = _id;
return object;
});
return mongoose.model("videos", schema);
};