create methods to fetch data from the database

- start using a class to hold search query results
This commit is contained in:
geoffrey45
2022-06-13 17:11:58 +03:00
parent 030ab8a379
commit b6c5c57186
4 changed files with 95 additions and 31 deletions
+49
View File
@@ -1,11 +1,14 @@
"""
Contains all the search routes.
"""
from typing import List
from app import helpers
from app.lib import searchlib
from flask import Blueprint
from flask import request
from server.app import instances, models
search_bp = Blueprint("search", __name__, url_prefix="/")
SEARCH_RESULTS = {
@@ -15,6 +18,52 @@ SEARCH_RESULTS = {
}
class SearchResults:
"""
Holds all the search results.
"""
query: str = ""
class Tracks:
"""
Holds all the tracks search results.
"""
results: List[models.Track]
class Albums:
"""
Holds all the albums search results.
"""
results: List[models.Album]
class Artists:
"""
Holds all the artists search results.
"""
results: List[models.Artist]
class DoSearch:
def __init__(self, query: str) -> None:
self.query = query
self.tracks = helpers.Get.get_all_tracks()
self.albums = helpers.Get.get_all_albums()
self.artists = helpers.Get.get_all_artists()
self.playlists = helpers.Get.get_all_playlists()
def search_tracks(self):
results = searchlib.SearchTracks(self.tracks, self.query)
def search_artists(self):
SearchResults.Artists.results = searchlib.SearchArtists(
self.artists, self.query
)
@search_bp.route("/search/tracks", methods=["GET"])
def search_tracks():
"""