inital commit

This commit is contained in:
2026-04-10 20:51:43 -05:00
parent cd1f2eae29
commit 562a8525d0
85 changed files with 4820 additions and 2 deletions

58
equipment/serializers.py Normal file
View File

@@ -0,0 +1,58 @@
from rest_framework import serializers
from .models import EquipmentCategory, EquipmentImage, EquipmentItem
class EquipmentCategorySerializer(serializers.ModelSerializer):
class Meta:
model = EquipmentCategory
fields = ("id", "name", "slug", "description")
class EquipmentImageSerializer(serializers.ModelSerializer):
image_url = serializers.SerializerMethodField()
class Meta:
model = EquipmentImage
fields = ("id", "image_url", "alt_text", "sort_order", "is_primary")
def get_image_url(self, obj):
if not obj.image:
return ""
request = self.context.get("request")
if request:
return request.build_absolute_uri(obj.image.url)
return obj.image.url
class EquipmentItemSerializer(serializers.ModelSerializer):
category = EquipmentCategorySerializer(read_only=True)
category_id = serializers.PrimaryKeyRelatedField(
queryset=EquipmentCategory.objects.all(),
source="category",
write_only=True,
)
vendor_slug = serializers.CharField(source="vendor.slug", read_only=True)
vendor_business_name = serializers.CharField(source="vendor.business_name", read_only=True)
images = EquipmentImageSerializer(many=True, read_only=True)
class Meta:
model = EquipmentItem
fields = (
"id",
"public_id",
"title",
"description",
"details",
"location",
"price_per_day",
"is_active",
"category",
"category_id",
"vendor_slug",
"vendor_business_name",
"images",
"created_at",
"updated_at",
)
read_only_fields = ("created_at", "updated_at")