mirror of
https://github.com/Dadechin/Dashboard-XRoom.git
synced 2025-07-17 15:44:34 +00:00
Compare commits
No commits in common. "03387512975333973c99510930a60ea2ff5230f8" and "4c2b402b7ab53e5050d93a5bc6f0808c5442f3ef" have entirely different histories.
0338751297
...
4c2b402b7a
|
@ -16,7 +16,6 @@ from core.models.AssignRoomUser import AssignRoomUser
|
||||||
from core.models.AssignedRule import AssignedRule
|
from core.models.AssignedRule import AssignedRule
|
||||||
from core.models.Meeting import Meeting
|
from core.models.Meeting import Meeting
|
||||||
from core.models.Invitation import Invitation
|
from core.models.Invitation import Invitation
|
||||||
from core.models.download import Download
|
|
||||||
|
|
||||||
|
|
||||||
admin.site.register(Image)
|
admin.site.register(Image)
|
||||||
|
@ -34,4 +33,3 @@ admin.site.register(AssetBundleRoom)
|
||||||
admin.site.register(AssignRoomUser)
|
admin.site.register(AssignRoomUser)
|
||||||
admin.site.register(Meeting)
|
admin.site.register(Meeting)
|
||||||
admin.site.register(Invitation)
|
admin.site.register(Invitation)
|
||||||
admin.site.register(Download)
|
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
from django.db import models
|
|
||||||
|
|
||||||
class Download(models.Model):
|
|
||||||
name = models.CharField(max_length=255)
|
|
||||||
description = models.TextField(blank=True)
|
|
||||||
url = models.URLField(blank=True) # Optional if file is used
|
|
||||||
version = models.CharField(max_length=50)
|
|
||||||
type = models.CharField(max_length=50)
|
|
||||||
file = models.FileField(upload_to='downloads/', blank=True, null=True)
|
|
||||||
created_at = models.DateTimeField(auto_now_add=True)
|
|
||||||
|
|
||||||
def __str__(self):
|
|
||||||
return f"{self.name} ({self.type}) - v{self.version}"
|
|
|
@ -1,7 +0,0 @@
|
||||||
from rest_framework import serializers
|
|
||||||
from core.models.download import Download
|
|
||||||
|
|
||||||
class DownloadSerializer(serializers.ModelSerializer):
|
|
||||||
class Meta:
|
|
||||||
model = Download
|
|
||||||
fields = ['id', 'name', 'description', 'url', 'version', 'type']
|
|
|
@ -17,7 +17,6 @@ from .views import subscriptionView
|
||||||
from django.urls import include, path
|
from django.urls import include, path
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.conf.urls.static import static
|
from django.conf.urls.static import static
|
||||||
from .views import downloadView
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -103,10 +102,6 @@ urlpatterns = [
|
||||||
path('get_user_meetings', meetingView. get_user_meetings, name='get_user_meetings'),
|
path('get_user_meetings', meetingView. get_user_meetings, name='get_user_meetings'),
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
path('latest-download/', downloadView.get_latest_downloads_by_type),
|
|
||||||
|
|
||||||
|
|
||||||
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
from rest_framework.decorators import api_view
|
|
||||||
from rest_framework.response import Response
|
|
||||||
from rest_framework import status
|
|
||||||
from core.models.download import Download
|
|
||||||
from core.serializers.DownloadSerializer import DownloadSerializer
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@api_view(['GET'])
|
|
||||||
def get_latest_downloads_by_type(request):
|
|
||||||
types = Download.objects.values_list('type', flat=True).distinct()
|
|
||||||
latest_items = []
|
|
||||||
|
|
||||||
for download_type in types:
|
|
||||||
latest_item = (
|
|
||||||
Download.objects
|
|
||||||
.filter(type=download_type)
|
|
||||||
.order_by('-version') # Note: This is simple string sort
|
|
||||||
.first()
|
|
||||||
)
|
|
||||||
if latest_item:
|
|
||||||
latest_items.append(latest_item)
|
|
||||||
|
|
||||||
serializer = DownloadSerializer(latest_items, many=True)
|
|
||||||
return Response(serializer.data)
|
|
Loading…
Reference in New Issue
Block a user