Updated saveSong function
This commit is contained in:
parent
a5a5d82969
commit
92825ab201
3 changed files with 29 additions and 39 deletions
4
index.js
4
index.js
|
@ -1,7 +1,6 @@
|
|||
const radio = require('radio-stream')
|
||||
const request = require('request')
|
||||
const irc = require('irc-upd')
|
||||
const Db = require('./libs/Db')
|
||||
const models = require('./models').models
|
||||
const Help = require('./libs/Help')
|
||||
const ArtistSong = require('./libs/ArtistSong')
|
||||
|
@ -11,7 +10,6 @@ const List = require('./libs/List')
|
|||
const allowedCommands = ['!artist', '!song', '!stats', '!when', '!help', '!notifications', '!list']
|
||||
|
||||
// Init des librairies
|
||||
const db = new Db(models)
|
||||
const artistSong = new ArtistSong(models)
|
||||
const when = new When(models)
|
||||
const stats = new Statistics(models)
|
||||
|
@ -44,7 +42,7 @@ const checkCurrentSong = () => {
|
|||
bot.say(process.env.IRC_CHANNEL, `${process.env.RADIO_ALIAS} : ${currentSong.artist} - ${currentSong.title}`)
|
||||
|
||||
// Save song for history
|
||||
db.saveSong({
|
||||
artistSong.saveCurrent({
|
||||
radio: process.env.RADIO_ALIAS,
|
||||
artist: currentSong.artist,
|
||||
title: currentSong.title
|
||||
|
|
|
@ -5,6 +5,34 @@ class ArtistSong {
|
|||
this.models = models
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction sauvegardant en historique le morceau en cours de lecture
|
||||
* @param {Object} value
|
||||
*/
|
||||
saveCurrent (value) {
|
||||
// Find if previous song was the same (on bot reload)
|
||||
this.models.Histories
|
||||
.find({})
|
||||
.sort({
|
||||
createdAt: 'desc'
|
||||
})
|
||||
.limit(1)
|
||||
.exec((err, last) => {
|
||||
if (err ||
|
||||
last.length === 0 ||
|
||||
(last[0] !== undefined &&
|
||||
last[0].artist !== value.artist &&
|
||||
last[0].title !== value.title
|
||||
)
|
||||
) {
|
||||
console.log('Save song!', value)
|
||||
// Previous song was different => save song!
|
||||
const history = new this.models.Histories(value)
|
||||
history.save()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Point d'entrée pour l'ajout suppression de favoris
|
||||
* @param {String} type
|
||||
|
|
36
libs/Db.js
36
libs/Db.js
|
@ -1,36 +0,0 @@
|
|||
|
||||
class Db {
|
||||
constructor (models) {
|
||||
this.models = models
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction sauvegardant en historique le morceau en cours de lecture
|
||||
* @param {Object} value
|
||||
*/
|
||||
saveSong (value) {
|
||||
// Find if previous song was the same (on bot reload)
|
||||
this.models.Histories
|
||||
.find({})
|
||||
.sort({
|
||||
createdAt: 'desc'
|
||||
})
|
||||
.limit(1)
|
||||
.exec((err, last) => {
|
||||
if (err ||
|
||||
last.length === 0 ||
|
||||
(last[0] !== undefined &&
|
||||
last[0].artist !== value.artist &&
|
||||
last[0].title !== value.title
|
||||
)
|
||||
) {
|
||||
console.log('Save song!', value)
|
||||
// Previous song was different => save song!
|
||||
const history = new this.models.Histories(value)
|
||||
history.save()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Db
|
Loading…
Reference in a new issue