backend/src/schemas.py

50 lines
1009 B
Python

#!/usr/bin/env python3
from marshm import ma
from marshmallow import fields
"""
Marshmallow schemas
"""
__author__ = "@tormakris"
__copyright__ = "Copyright 2020, onSpot Team"
__module_name__ = "schemas"
__version__text__ = "1"
class UserSchema(ma.Schema):
"""
Parameters:
- name (string)
- passowrd (string)
"""
name = fields.String(required=True)
password = fields.String(required=True)
class TrackSchema(ma.Schema):
"""
Parameters:
- id (integer)
- title (string)
- artist (string)
- album (string)
- spotify_id (string)
- cover_url (string)
"""
id = fields.Integer(required=True)
title = fields.String(required=True)
artist = fields.String(required=True)
album = fields.String(required=True)
spotify_id = fields.String(required=True)
cover_url = fields.String(required=True)
class ListSchema(ma.Schema):
id = fields.Integer(required=True)
tracklist = fields.Nested(TrackSchema, many=True)