Initial commit - SoundWave v1.0
- Full PWA support with offline capabilities - Comprehensive search across songs, playlists, and channels - Offline playlist manager with download tracking - Pre-built frontend for zero-build deployment - Docker-based deployment with docker compose - Material-UI dark theme interface - YouTube audio download and management - Multi-user authentication support
This commit is contained in:
commit
51679d1943
254 changed files with 37281 additions and 0 deletions
0
backend/appsettings/__init__.py
Normal file
0
backend/appsettings/__init__.py
Normal file
5
backend/appsettings/admin.py
Normal file
5
backend/appsettings/admin.py
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
"""App settings admin"""
|
||||
|
||||
from django.contrib import admin
|
||||
|
||||
# No models to register for appsettings
|
||||
0
backend/appsettings/migrations/__init__.py
Normal file
0
backend/appsettings/migrations/__init__.py
Normal file
6
backend/appsettings/models.py
Normal file
6
backend/appsettings/models.py
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
"""App settings models - configuration stored in database"""
|
||||
|
||||
from django.db import models
|
||||
|
||||
# Settings can be stored in database or managed through environment variables
|
||||
# For now, we'll use environment variables primarily
|
||||
12
backend/appsettings/serializers.py
Normal file
12
backend/appsettings/serializers.py
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
"""App settings serializers"""
|
||||
|
||||
from rest_framework import serializers
|
||||
|
||||
|
||||
class AppConfigSerializer(serializers.Serializer):
|
||||
"""Application configuration"""
|
||||
app_name = serializers.CharField(default='SoundWave')
|
||||
version = serializers.CharField(default='1.0.0')
|
||||
sw_host = serializers.URLField()
|
||||
audio_quality = serializers.CharField(default='best')
|
||||
auto_update_ytdlp = serializers.BooleanField(default=False)
|
||||
9
backend/appsettings/urls.py
Normal file
9
backend/appsettings/urls.py
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
"""App settings URL patterns"""
|
||||
|
||||
from django.urls import path
|
||||
from appsettings.views import AppConfigView, BackupView
|
||||
|
||||
urlpatterns = [
|
||||
path('config/', AppConfigView.as_view(), name='app-config'),
|
||||
path('backup/', BackupView.as_view(), name='backup'),
|
||||
]
|
||||
37
backend/appsettings/views.py
Normal file
37
backend/appsettings/views.py
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
"""App settings API views"""
|
||||
|
||||
from django.conf import settings
|
||||
from rest_framework.response import Response
|
||||
from appsettings.serializers import AppConfigSerializer
|
||||
from common.views import ApiBaseView, AdminOnly
|
||||
|
||||
|
||||
class AppConfigView(ApiBaseView):
|
||||
"""Application configuration endpoint"""
|
||||
|
||||
def get(self, request):
|
||||
"""Get app configuration"""
|
||||
config = {
|
||||
'app_name': 'SoundWave',
|
||||
'version': '1.0.0',
|
||||
'sw_host': settings.SW_HOST,
|
||||
'audio_quality': 'best',
|
||||
'auto_update_ytdlp': settings.SW_AUTO_UPDATE_YTDLP,
|
||||
}
|
||||
serializer = AppConfigSerializer(config)
|
||||
return Response(serializer.data)
|
||||
|
||||
|
||||
class BackupView(ApiBaseView):
|
||||
"""Backup management endpoint"""
|
||||
permission_classes = [AdminOnly]
|
||||
|
||||
def get(self, request):
|
||||
"""Get list of backups"""
|
||||
# TODO: Implement backup listing
|
||||
return Response({'backups': []})
|
||||
|
||||
def post(self, request):
|
||||
"""Create backup"""
|
||||
# TODO: Implement backup creation
|
||||
return Response({'message': 'Backup created'})
|
||||
Loading…
Add table
Add a link
Reference in a new issue