Add playlist, video and ad skeleton

This commit is contained in:
Yûki VACHOT 2021-10-30 03:10:15 +02:00
parent e87c4bb146
commit 5f73ec72bc
20 changed files with 414 additions and 65 deletions

View file

@ -0,0 +1,18 @@
module.exports = mongoose => {
let schema = mongoose.Schema({
images: [],
text: String,
subjectTarget: [],
seen: Number
},
{ timestamps: true }
);
schema.method("toJSON", function() {
const { __v, _id, ...object } = this.toObject();
object.id = _id;
return object;
});
return mongoose.model("ad", schema);
};

View file

@ -0,0 +1,18 @@
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);
};

View file

@ -7,5 +7,9 @@ const db = {};
db.mongoose = mongoose;
db.url = dbConfig.url;
db.users = require("./user.model")(mongoose);
db.playlists = require("./playlist.model")(mongoose);
db.videos = require("./video.model")(mongoose);
db.ads = require("./ad.model")(mongoose);
db.images = require("./image.model")(mongoose);
module.exports = db;

View file

@ -0,0 +1,16 @@
module.exports = mongoose => {
let schema = mongoose.Schema({
name: String,
videos: []
},
{ timestamps: true }
);
schema.method("toJSON", function() {
const { __v, _id, ...object } = this.toObject();
object.id = _id;
return object;
});
return mongoose.model("playlist", schema);
};

View file

@ -0,0 +1,16 @@
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);
};

View file

@ -1,3 +1,5 @@
const roles = require("../config/role.config");
module.exports = mongoose => {
let schema = mongoose.Schema({
login: String,
@ -5,8 +7,9 @@ module.exports = mongoose => {
mail: String,
role: {
type: Number,
default: 0
}
default: roles.User
},
playlists: []
},
{ timestamps: true }
);

View file

@ -0,0 +1,18 @@
module.exports = mongoose => {
let schema = mongoose.Schema({
url: String,
title: String,
description: String,
views: Number
},
{ timestamps: true }
);
schema.method("toJSON", function() {
const { __v, _id, ...object } = this.toObject();
object.id = _id;
return object;
});
return mongoose.model("video", schema);
};