add part of get image

This commit is contained in:
Kseninia Mikhaylova 2024-07-18 13:49:56 +03:00
parent b32f930cbd
commit ce81205317
3 changed files with 24 additions and 3 deletions

View File

@ -30,6 +30,7 @@ router.register(r'api/inventory', views.InventoryItemViewSet)
router.register(r'api/tmc/fields', tmc_views.BaseCustomFieldViewSet) router.register(r'api/tmc/fields', tmc_views.BaseCustomFieldViewSet)
router.register(r'api/tmc/items', tmc_views.CustomTableViewSet) router.register(r'api/tmc/items', tmc_views.CustomTableViewSet)
router.register(r'api/tgbot', tgbot_views.TgItemViewSet) router.register(r'api/tgbot', tgbot_views.TgItemViewSet)
router.register(r'api/tgbot/items', tgbot_views.TmcFieldViewset)
urlpatterns = [ urlpatterns = [
path('', include(router.urls)), path('', include(router.urls)),

View File

@ -9,4 +9,10 @@ logger = logging.getLogger("root")
class TgItemSerializer(serializers.ModelSerializer): class TgItemSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = TgItem model = TgItem
fields = '__all__' fields = "__all__"
depth = 3
class TmcFieldSerializer(serializers.ModelSerializer):
class Meta:
model = TgItem
fields = "__all__"

View File

@ -10,7 +10,7 @@ from rest_framework.decorators import action
from .tgbot import TgBot from .tgbot import TgBot
from .apps import TgBotUpdater from .apps import TgBotUpdater
from .models import TgItem, TmcElement, TmcField from .models import TgItem, TmcElement, TmcField
from .serializers import TgItemSerializer from .serializers import TgItemSerializer, TmcFieldSerializer
import logging import logging
@ -29,3 +29,17 @@ class TgItemViewSet(viewsets.ModelViewSet):
) )
return Response({"result": "ok"}) return Response({"result": "ok"})
# return super().create(request, *args, **kwargs) # return super().create(request, *args, **kwargs)
class TmcFieldViewset(viewsets.ModelViewSet):
queryset = TmcField.objects.all()
serializer_class = TmcFieldSerializer
http_method_names = ["get"]
@action(detail=False, methods=["get"], url_path=r"get_image/(?P<field_id>[^/.]+)")
def get_image(self, request, field_id):
if TmcField.objects.filter(id=field_id).exists():
field = TmcField.objects.get(id=field_id)
return Response({"fileId": field.text})
else:
raise (FileNotFoundError())