Updated archivedMediaSchema to track channel by DB identifier instead of name.
This commit is contained in:
parent
0dda73cd14
commit
a07edfc842
3 changed files with 11 additions and 10 deletions
|
|
@ -777,7 +777,7 @@ class queue{
|
||||||
if(media == null){
|
if(media == null){
|
||||||
try{
|
try{
|
||||||
//Attempt to delete matching item from archived media
|
//Attempt to delete matching item from archived media
|
||||||
const deletedArchive = await archivedMediaModel.deleteOne({channel: this.channel.name, uuid: new BSON.UUID(uuid)});
|
const deletedArchive = await archivedMediaModel.deleteOne({channel: this.channel._id, uuid: new BSON.UUID(uuid)});
|
||||||
|
|
||||||
//if nothing got deleted
|
//if nothing got deleted
|
||||||
if(deletedArchive == null || deletedArchive.deletedCount == 0){
|
if(deletedArchive == null || deletedArchive.deletedCount == 0){
|
||||||
|
|
@ -1850,7 +1850,7 @@ class queue{
|
||||||
this.scheduleMedia([archivedMediaObject], null, chanDB, true, true, true);
|
this.scheduleMedia([archivedMediaObject], null, chanDB, true, true, true);
|
||||||
|
|
||||||
//Splice the fucker out of the archive
|
//Splice the fucker out of the archive
|
||||||
await archivedMediaModel.deleteOne({channel: this.channel.name, uuid: new BSON.UUID(chanDB.media.liveRemainder)});
|
await archivedMediaModel.deleteOne({channel: this.channel._id, uuid: new BSON.UUID(chanDB.media.liveRemainder)});
|
||||||
}
|
}
|
||||||
|
|
||||||
//Break out of the loop
|
//Break out of the loop
|
||||||
|
|
@ -1880,7 +1880,7 @@ class queue{
|
||||||
*/
|
*/
|
||||||
async archiveMedia(media){
|
async archiveMedia(media){
|
||||||
//Convert queuedMedia object to archivedMedia object
|
//Convert queuedMedia object to archivedMedia object
|
||||||
let archived = archivedMedia.fromQueuedMedia(media, this.channel.name);
|
let archived = archivedMedia.fromQueuedMedia(media, this.channel._id);
|
||||||
//Save archivedMedia object to site-wide media archive (gross but performant)
|
//Save archivedMedia object to site-wide media archive (gross but performant)
|
||||||
let archivedDoc = await archivedMediaModel.create(archived);
|
let archivedDoc = await archivedMediaModel.create(archived);
|
||||||
}
|
}
|
||||||
|
|
@ -1893,14 +1893,14 @@ class queue{
|
||||||
if(startDate != null){
|
if(startDate != null){
|
||||||
//Return archived media after start date
|
//Return archived media after start date
|
||||||
return await archivedMediaModel.find({
|
return await archivedMediaModel.find({
|
||||||
channel:this.channel.name,
|
channel:this.channel._id,
|
||||||
//Prevent mongoose from attempting to sanatize and invalidate our query object, plus I think we can trust an epoch that came from server-side :)
|
//Prevent mongoose from attempting to sanatize and invalidate our query object, plus I think we can trust an epoch that came from server-side :)
|
||||||
startTime: mongoose.trusted({$gt: startDate.getTime()})
|
startTime: mongoose.trusted({$gt: startDate.getTime()})
|
||||||
});
|
});
|
||||||
//Otherwise
|
//Otherwise
|
||||||
}else{
|
}else{
|
||||||
//return all archived media
|
//return all archived media
|
||||||
return await archivedMediaModel.find({channel:this.channel.name});
|
return await archivedMediaModel.find({channel:this.channel._id});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,8 +26,9 @@ const archivedMedia = require('../../../app/channel/media/archivedMedia');
|
||||||
*/
|
*/
|
||||||
const archivedProperties = new mongoose.Schema({
|
const archivedProperties = new mongoose.Schema({
|
||||||
channel: {
|
channel: {
|
||||||
type: mongoose.SchemaTypes.String,
|
type: mongoose.SchemaTypes.ObjectID,
|
||||||
required: true,
|
ref: "channel",
|
||||||
|
required: true
|
||||||
},
|
},
|
||||||
startTime: {
|
startTime: {
|
||||||
type: mongoose.SchemaTypes.Number,
|
type: mongoose.SchemaTypes.Number,
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ const sessionUtils = require('./sessionUtils');
|
||||||
const statModel = require('../schemas/statSchema');
|
const statModel = require('../schemas/statSchema');
|
||||||
const { userModel } = require('../schemas/user/userSchema');
|
const { userModel } = require('../schemas/user/userSchema');
|
||||||
const channelModel = require('../schemas/channel/channelSchema');
|
const channelModel = require('../schemas/channel/channelSchema');
|
||||||
const archiveModel = require('../schemas/channel/media/archivedMediaSchema');
|
const archivedMediaModel = require('../schemas/channel/media/archivedMediaSchema');
|
||||||
const { channelPlaylistModel } = require('../schemas/channel/media/playlist/playlistSchema');
|
const { channelPlaylistModel } = require('../schemas/channel/media/playlist/playlistSchema');
|
||||||
const { userPlaylistModel } = require('../schemas/channel/media/playlist/playlistSchema');
|
const { userPlaylistModel } = require('../schemas/channel/media/playlist/playlistSchema');
|
||||||
const archivedMedia = require('../app/channel/media/archivedMedia');
|
const archivedMedia = require('../app/channel/media/archivedMedia');
|
||||||
|
|
@ -93,10 +93,10 @@ async function upgradePanamaRed(quiet = false){
|
||||||
const mediaObject = archivedMedia.fromQueuedMedia(entry.rehydrate())
|
const mediaObject = archivedMedia.fromQueuedMedia(entry.rehydrate())
|
||||||
|
|
||||||
//Tattoo channel name into media object
|
//Tattoo channel name into media object
|
||||||
mediaObject.channel = channel.name;
|
mediaObject.channel = channel._id;
|
||||||
|
|
||||||
//Add media object to the site-wide media archive
|
//Add media object to the site-wide media archive
|
||||||
await archiveModel.create(mediaObject);
|
await archivedMediaModel.create(mediaObject);
|
||||||
|
|
||||||
//We could just pull the archvied array count, but this feels more honest XP
|
//We could just pull the archvied array count, but this feels more honest XP
|
||||||
archived++;
|
archived++;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue