Added api for add property
All checks were successful
Build frontend / build (push) Successful in 1m39s

This commit is contained in:
Rahaf
2026-07-04 12:24:13 +03:00
parent 3bef951d5c
commit bb47b05858
3 changed files with 39 additions and 6 deletions

View File

@ -52,7 +52,7 @@ import {
Trees
} from 'lucide-react';
import toast, { Toaster } from 'react-hot-toast';
import { addRentProperty, addSaleProperty, getCurrencies, uploadPicture } from '../../../utils/api';
import { addRentProperty, addSaleProperty, buildRentPropertyPayload, getCurrencies, uploadPicture } from '../../../utils/api';
import {
BuildingType,
RentPropertyCondition,
@ -683,6 +683,7 @@ const handleMarkerDragEnd = async (lat, lng) => {
propertyType: formData.furnished ? RentPropertyCondition.WITH_FURNITURE : RentPropertyCondition.WITHOUT_FURNITURE,
documentType: formData.documentType,
governorate: formData.city,
city: formData.city,
};
try {
@ -696,8 +697,11 @@ const handleMarkerDragEnd = async (lat, lng) => {
toast.success(t('toast.salePropertySuccess'));
} else {
const rentTypeMap = { daily: RentType.DAILY, monthly: RentType.MONTHLY, both: RentType.MONTHLY };
const payload = {
const payload = buildRentPropertyPayload({
propertyInformation: propInfo,
city: formData.city,
governorate: formData.city,
documentType: formData.documentType,
deposit: parseFloat(formData.deposit) || 0,
monthlyRent: parseFloat(formData.monthlyPrice) || 0,
dailyRent: parseFloat(formData.dailyPrice) || 0,
@ -706,7 +710,7 @@ const handleMarkerDragEnd = async (lat, lng) => {
rentType: rentTypeMap[formData.offerType] ?? RentType.MONTHLY,
type: formData.furnished ? RentPropertyType.FURNISHED : RentPropertyType.UNFURNISHED,
allowedPaymentPeriod: formData.allowedPaymentPeriod || '',
};
});
const res = await addRentProperty(payload);
toast.success(t('toast.rentPropertySuccess'));
}

View File

@ -56,6 +56,7 @@ import {
import toast, { Toaster } from "react-hot-toast";
import AuthService from "../../services/AuthService";
import {
buildRentPropertyPayload,
getMyRentListings,
getMySaleListings,
editRentProperty,
@ -1588,8 +1589,11 @@ export default function OwnerPropertiesPage() {
if (formData.purpose === 'rent') {
const rentTypeMap = { daily: 1, monthly: 0, both: 0 };
const payload = {
const payload = buildRentPropertyPayload({
propertyInformation: propInfo,
city: formData.city || property?.city || property?.governorate || "",
governorate: formData.city || property?.city || property?.governorate || "",
documentType: formData.documentType || property?.documentType || "",
deposit: parseFloat(formData.deposit) || 0,
monthlyRent: parseFloat(formData.monthlyPrice) || 0,
dailyRent: parseFloat(formData.dailyPrice) || 0,
@ -1599,7 +1603,7 @@ export default function OwnerPropertiesPage() {
rentType: rentTypeMap[formData.rentType] ?? 0,
type: formData.furnished ? 0 : 1,
allowedPaymentPeriod: formData.allowedPaymentPeriod || '',
};
});
await editRentProperty(property.id, payload);
} else {
const payload = {