You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
860 B
38 lines
860 B
|
|
from apiApp.database.Audio import Audio |
|
from apiApp.database import db |
|
import datetime |
|
|
|
class AudioDB: |
|
|
|
@staticmethod |
|
def list(): |
|
return Audio.query.all() |
|
|
|
@staticmethod |
|
def get(audio_id): |
|
return Audio.query.get(audio_id) |
|
|
|
@staticmethod |
|
def add(data): |
|
data['datetime'] = datetime.datetime.now() |
|
audio = Audio(**data) |
|
db.session.add(audio) |
|
db.session.commit() |
|
return audio |
|
|
|
@staticmethod |
|
def put(audio_id, data): |
|
audio = Audio.query.get(audio_id) |
|
for key, value in data.items(): |
|
setattr(audio, key, value) |
|
db.session.commit() |
|
return audio |
|
|
|
@staticmethod |
|
def delete(audio_id): |
|
audio = Audio.query.get(audio_id) |
|
db.session.delete(audio) |
|
db.session.commit() |
|
return audio |
|
|