package pl.polskalokalnie.listing;

import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive;
import java.math.BigDecimal;
import java.util.List;

public record ListingCreateRequest(
        @NotBlank String title,
        @NotBlank String description,
        @NotNull OfferType offerType,
        @NotNull PropertyType propertyType,
        @NotBlank String city,
        String address,
        @NotNull @Positive BigDecimal price,
        @NotNull @Positive Double area,
        @NotNull @Min(1) Integer rooms,
        // --- pola opcjonalne ---
        String market,
        String district,
        String street,
        String building,
        String floor,
        String buildingFloors,
        Integer yearBuilt,
        String condition,
        String ownership,
        String contactName,
        String contactPhone,
        String contactEmail,
        BigDecimal rentExtra,
        String availableFrom,
        String furnishing,
        String buildingType,
        String buildingMaterial,
        String windows,
        String exposure,
        String roomHeight,
        Double lat,
        Double lng,
        List<String> media,
        List<String> amenities,
        List<String> photos,
        String virtualTourUrl
) {
}
