feat: add playlist update and delete functionality

This commit is contained in:
Ante Brähler
2024-12-20 00:49:41 +01:00
parent 8973d9bd5d
commit f727477d47
10 changed files with 193 additions and 83 deletions

View File

@@ -0,0 +1,47 @@
const PlaylistService = require('../services/PlaylistService');
const ChannelService = require('../services/ChannelService');
const Channel = require('../models/Channel');
module.exports = (io, socket) => {
socket.on('add-playlist', async ({ playlist, restream, headersJson }) => {
try {
const channels = await PlaylistService.addPlaylist(playlist, restream, headersJson);
if (channels) {
channels.forEach(channel => {
io.emit('channel-added', channel);
});
}
} catch (err) {
console.error(err);
socket.emit('app-error', { message: err.message });
}
});
socket.on('update-playlist', ({ playlist, updatedAttributes }) => {
try {
const channels = PlaylistService.updatePlaylist(playlist, updatedAttributes);
channels.forEach(channel => {
io.emit('channel-updated', channel);
});
} catch (err) {
console.error(err);
socket.emit('app-error', { message: err.message });
}
});
socket.on('delete-playlist', (playlist) => {
try {
const channels = PlaylistService.deletePlaylist(playlist);
channels.forEach(channel => {
io.emit('channel-deleted', channel.id);
});
io.emit('channel-selected', ChannelService.getCurrentChannel());
} catch (err) {
console.error(err);
socket.emit('app-error', { message: err.message });
}
});
};