allow having multiple time the same file

This commit is contained in:
grimhilt 2023-08-08 21:16:53 +02:00
parent 443eed8dd1
commit 605be906d5
3 changed files with 6 additions and 7 deletions

View File

@ -1,4 +1,4 @@
from flask import jsonify, request
from flask import jsonify
from ..models import Playlist, PlaylistFile, File
from .. import db
from datetime import datetime
@ -46,7 +46,6 @@ class PlaylistAbl:
# EDIT PLAYLIST CONTENT
@staticmethod
def add_file(playlist_id, data):
data = request.get_json()
new_playlist_file = PlaylistFile( \
playlist_id=playlist_id, \
file_id=data['file_id'], \
@ -78,10 +77,8 @@ class PlaylistAbl:
@staticmethod
def remove_file(playlist_id, data):
data = request.get_json()
query = db.session.query(PlaylistFile) \
.filter(PlaylistFile.file_id == data['file_id']) \
.filter(PlaylistFile.playlist_id == playlist_id) \
.filter(PlaylistFile.id == data['id']) \
.first()
db.session.delete(query)
db.session.commit()

View File

@ -7,6 +7,7 @@ class PlaylistDao:
files = []
for playlist_file in query.playlist_files:
file = playlist_file.file.as_dict()
file['pfid'] = playlist_file.id
file['position'] = playlist_file.position
file['seconds'] = playlist_file.seconds
files.append(file)

View File

@ -4,8 +4,9 @@ from sqlalchemy.sql import func
class PlaylistFile(db.Model):
__tablename__ = 'PlaylistFile'
playlist_id = db.Column(db.Integer, db.ForeignKey('playlist.id'), primary_key=True)
file_id = db.Column(db.Integer, db.ForeignKey('file.id'), primary_key=True)
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
playlist_id = db.Column(db.Integer, db.ForeignKey('playlist.id'))
file_id = db.Column(db.Integer, db.ForeignKey('file.id'))
position = db.Column(db.Integer)
seconds = db.Column(db.Integer, default=10)
playlist = db.relationship('Playlist', back_populates='playlist_files')