diff --git a/backend/src/app.py b/backend/src/app.py index 41ecd9d..665603a 100644 --- a/backend/src/app.py +++ b/backend/src/app.py @@ -1,11 +1,15 @@ -from flask import Flask, request, Response, jsonify +from flask import Flask, Response, jsonify, request from flask_cors import CORS +<<<<<<< HEAD import dotenv from .classes import Room # from . import song_fetch dotenv.load_dotenv() +======= +from room import Room +>>>>>>> refs/remotes/origin/main app = Flask(__name__) CORS(app) diff --git a/backend/src/classes.py b/backend/src/classes.py deleted file mode 100644 index c607883..0000000 --- a/backend/src/classes.py +++ /dev/null @@ -1,9 +0,0 @@ -from dataclasses import dataclass - - -@dataclass -class Room: - id: int - coord: ... - name: str - pin: int | None diff --git a/backend/src/connect.py b/backend/src/connect.py new file mode 100644 index 0000000..12e53d8 --- /dev/null +++ b/backend/src/connect.py @@ -0,0 +1,6 @@ +import sqlite3 + + +def get_connection(): + conn = sqlite3.connect("jukebox.db") + return conn diff --git a/backend/src/room.py b/backend/src/room.py new file mode 100644 index 0000000..bdf4026 --- /dev/null +++ b/backend/src/room.py @@ -0,0 +1,18 @@ +from dataclasses import dataclass + +from song import Song + +type UserScoredSong = tuple[Song, int] + + +@dataclass +class Room: + id: int + coord: tuple[float, float] + name: str + pin: int | None + tags: set[str] + creative: bool + + playlist: set[UserScoredSong] + history: list[Song] diff --git a/backend/src/song.py b/backend/src/song.py new file mode 100644 index 0000000..2260838 --- /dev/null +++ b/backend/src/song.py @@ -0,0 +1,29 @@ +from dataclasses import dataclass +from connect import get_connection + + +def init_db(): + conn = get_connection() + cursor = conn.cursor() + cursor.execute(""" + CREATE TABLE IF NOT EXISTS songs ( + mbid TEXT PRIMARY KEY, + title TEXT NOT NULL, + artist TEXT NOT NULL, + tags TEXT NOT NULL, + lastfm_image_id TEXT NOT NULL, + youtube_id TEXT NOT NULL + ); + """) + conn.commit() + conn.close() + + +@dataclass +class Song: + mbid: str + title: str + artist: str + tags: list[str] + image_id: str + youtube_id: str