@myrjfa/state 2.2.0 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -201
- package/README.md +20 -3
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/lib/actions/actions.d.ts +13 -13
- package/dist/lib/actions/actions.d.ts.map +1 -1
- package/dist/lib/actions/actions.js +5 -4
- package/dist/lib/actions/adminDashboard.d.ts +4 -0
- package/dist/lib/actions/adminDashboard.d.ts.map +1 -0
- package/dist/lib/actions/adminDashboard.js +29 -0
- package/dist/lib/actions/adventure.d.ts +104 -0
- package/dist/lib/actions/adventure.d.ts.map +1 -0
- package/dist/lib/actions/adventure.js +203 -0
- package/dist/lib/actions/application.d.ts +35 -0
- package/dist/lib/actions/application.d.ts.map +1 -0
- package/dist/lib/actions/application.js +573 -0
- package/dist/lib/actions/auth.d.ts +108 -3
- package/dist/lib/actions/auth.d.ts.map +1 -1
- package/dist/lib/actions/auth.js +38 -8
- package/dist/lib/actions/blog.d.ts +61 -0
- package/dist/lib/actions/blog.d.ts.map +1 -0
- package/dist/lib/actions/blog.js +762 -0
- package/dist/lib/actions/brand.d.ts +83 -0
- package/dist/lib/actions/brand.d.ts.map +1 -0
- package/dist/lib/actions/brand.js +28 -0
- package/dist/lib/actions/chat.d.ts +261 -24
- package/dist/lib/actions/chat.d.ts.map +1 -1
- package/dist/lib/actions/chat.js +525 -41
- package/dist/lib/actions/companion.d.ts +174 -0
- package/dist/lib/actions/companion.d.ts.map +1 -0
- package/dist/lib/actions/companion.js +276 -0
- package/dist/lib/actions/event.d.ts +178 -0
- package/dist/lib/actions/event.d.ts.map +1 -0
- package/dist/lib/actions/event.js +214 -0
- package/dist/lib/actions/fetcher.d.ts.map +1 -1
- package/dist/lib/actions/fetcher.js +18 -8
- package/dist/lib/actions/guide.d.ts +55 -0
- package/dist/lib/actions/guide.d.ts.map +1 -0
- package/dist/lib/actions/guide.js +128 -0
- package/dist/lib/actions/hostDashboard.d.ts +122 -0
- package/dist/lib/actions/hostDashboard.d.ts.map +1 -0
- package/dist/lib/actions/hostDashboard.js +329 -0
- package/dist/lib/actions/location.d.ts +141 -0
- package/dist/lib/actions/location.d.ts.map +1 -0
- package/dist/lib/actions/location.js +113 -0
- package/dist/lib/actions/notifications.d.ts +91 -0
- package/dist/lib/actions/notifications.d.ts.map +1 -0
- package/dist/lib/actions/notifications.js +83 -0
- package/dist/lib/actions/opportunity.d.ts +44 -0
- package/dist/lib/actions/opportunity.d.ts.map +1 -0
- package/dist/lib/actions/opportunity.js +318 -0
- package/dist/lib/actions/package.d.ts +85 -0
- package/dist/lib/actions/package.d.ts.map +1 -0
- package/dist/lib/actions/package.js +167 -0
- package/dist/lib/actions/place.d.ts +191 -0
- package/dist/lib/actions/place.d.ts.map +1 -0
- package/dist/lib/actions/place.js +57 -0
- package/dist/lib/actions/portfolio.d.ts +65 -0
- package/dist/lib/actions/portfolio.d.ts.map +1 -0
- package/dist/lib/actions/portfolio.js +62 -0
- package/dist/lib/actions/property.d.ts +17 -0
- package/dist/lib/actions/property.d.ts.map +1 -0
- package/dist/lib/actions/property.js +16 -0
- package/dist/lib/actions/rental.d.ts +87 -0
- package/dist/lib/actions/rental.d.ts.map +1 -0
- package/dist/lib/actions/rental.js +205 -0
- package/dist/lib/actions/review.d.ts +8 -0
- package/dist/lib/actions/review.d.ts.map +1 -0
- package/dist/lib/actions/review.js +102 -0
- package/dist/lib/actions/room.d.ts +39 -0
- package/dist/lib/actions/room.d.ts.map +1 -0
- package/dist/lib/actions/room.js +74 -0
- package/dist/lib/actions/serverActions.d.ts +1 -0
- package/dist/lib/actions/serverActions.d.ts.map +1 -1
- package/dist/lib/actions/serverActions.js +15 -0
- package/dist/lib/actions/socket.d.ts.map +1 -1
- package/dist/lib/actions/socket.js +5 -1
- package/dist/lib/actions/stay.d.ts +97 -0
- package/dist/lib/actions/stay.d.ts.map +1 -0
- package/dist/lib/actions/stay.js +138 -0
- package/dist/lib/actions/travelPackage.d.ts +104 -0
- package/dist/lib/actions/travelPackage.d.ts.map +1 -0
- package/dist/lib/actions/travelPackage.js +487 -0
- package/dist/lib/actions.d.ts +24 -24
- package/dist/lib/actions.d.ts.map +1 -1
- package/dist/lib/actions.js +14 -11
- package/dist/lib/adminDashboardActions.d.ts +15 -3
- package/dist/lib/adminDashboardActions.d.ts.map +1 -1
- package/dist/lib/adminDashboardActions.js +16 -7
- package/dist/lib/authSessionManager.d.ts.map +1 -1
- package/dist/lib/authSessionManager.js +4 -3
- package/dist/lib/authSessionPolicy.d.ts +10 -0
- package/dist/lib/authSessionPolicy.d.ts.map +1 -0
- package/dist/lib/authSessionPolicy.js +9 -0
- package/dist/lib/authorizationActions.d.ts +77 -0
- package/dist/lib/authorizationActions.d.ts.map +1 -0
- package/dist/lib/authorizationActions.js +61 -0
- package/dist/lib/context/ChatContext.d.ts +25 -6
- package/dist/lib/context/ChatContext.d.ts.map +1 -1
- package/dist/lib/context/ChatContext.js +356 -245
- package/dist/lib/data/adventureDummyData.d.ts +3 -0
- package/dist/lib/data/adventureDummyData.d.ts.map +1 -0
- package/dist/lib/data/adventureDummyData.js +138 -0
- package/dist/lib/data/adventureFormPage.d.ts +28 -0
- package/dist/lib/data/adventureFormPage.d.ts.map +1 -0
- package/dist/lib/data/adventureFormPage.js +58 -0
- package/dist/lib/data/companionDummyData.d.ts +99 -0
- package/dist/lib/data/companionDummyData.d.ts.map +1 -0
- package/dist/lib/data/companionDummyData.js +203 -0
- package/dist/lib/data/destinations.d.ts +14 -0
- package/dist/lib/data/destinations.d.ts.map +1 -0
- package/dist/lib/data/destinations.js +203 -0
- package/dist/lib/data/eventFormPage.d.ts +38 -0
- package/dist/lib/data/eventFormPage.d.ts.map +1 -0
- package/dist/lib/data/eventFormPage.js +56 -0
- package/dist/lib/data/eventsDummyData.d.ts +54 -0
- package/dist/lib/data/eventsDummyData.d.ts.map +1 -0
- package/dist/lib/data/eventsDummyData.js +586 -0
- package/dist/lib/data/guideDummyData.d.ts +3 -0
- package/dist/lib/data/guideDummyData.d.ts.map +1 -0
- package/dist/lib/data/guideDummyData.js +66 -0
- package/dist/lib/data/opportunityFormData.d.ts +13 -0
- package/dist/lib/data/opportunityFormData.d.ts.map +1 -0
- package/dist/lib/data/opportunityFormData.js +62 -0
- package/dist/lib/data/opportunityFormPage.d.ts +12 -0
- package/dist/lib/data/opportunityFormPage.d.ts.map +1 -0
- package/dist/lib/data/opportunityFormPage.js +33 -0
- package/dist/lib/data/packageDummyData.d.ts +3 -0
- package/dist/lib/data/packageDummyData.d.ts.map +1 -0
- package/dist/lib/data/packageDummyData.js +56 -0
- package/dist/lib/data/rentalDummyData.d.ts +3 -0
- package/dist/lib/data/rentalDummyData.d.ts.map +1 -0
- package/dist/lib/data/rentalDummyData.js +382 -0
- package/dist/lib/data/rentalFormPage.d.ts +11 -0
- package/dist/lib/data/rentalFormPage.d.ts.map +1 -0
- package/dist/lib/data/rentalFormPage.js +86 -0
- package/dist/lib/data/staysDummyData.d.ts +72 -0
- package/dist/lib/data/staysDummyData.d.ts.map +1 -0
- package/dist/lib/data/staysDummyData.js +694 -0
- package/dist/lib/data/storeDummyData.d.ts +33 -0
- package/dist/lib/data/storeDummyData.d.ts.map +1 -0
- package/dist/lib/data/storeDummyData.js +336 -0
- package/dist/lib/data/travelPackageFormData.d.ts +19 -0
- package/dist/lib/data/travelPackageFormData.d.ts.map +1 -0
- package/dist/lib/data/travelPackageFormData.js +51 -0
- package/dist/lib/data/travelPackageFormPage.d.ts +22 -0
- package/dist/lib/data/travelPackageFormPage.d.ts.map +1 -0
- package/dist/lib/data/travelPackageFormPage.js +40 -0
- package/dist/lib/data/vehicleData.d.ts +2 -0
- package/dist/lib/data/vehicleData.d.ts.map +1 -0
- package/dist/lib/data/vehicleData.js +187 -0
- package/dist/lib/data/vehicleModels.d.ts +2 -0
- package/dist/lib/data/vehicleModels.d.ts.map +1 -0
- package/dist/lib/data/vehicleModels.js +128 -0
- package/dist/lib/discountActions.d.ts +43 -0
- package/dist/lib/discountActions.d.ts.map +1 -0
- package/dist/lib/discountActions.js +69 -0
- package/dist/lib/hooks/usePersistentDraftState.d.ts +20 -0
- package/dist/lib/hooks/usePersistentDraftState.d.ts.map +1 -0
- package/dist/lib/hooks/usePersistentDraftState.js +47 -0
- package/dist/lib/loyaltyActions.d.ts +32 -0
- package/dist/lib/loyaltyActions.d.ts.map +1 -0
- package/dist/lib/loyaltyActions.js +92 -0
- package/dist/lib/models/adventure.d.ts +0 -2
- package/dist/lib/models/adventure.d.ts.map +1 -1
- package/dist/lib/models/authorization.d.ts +107 -0
- package/dist/lib/models/authorization.d.ts.map +1 -0
- package/dist/lib/models/authorization.js +263 -0
- package/dist/lib/models/blog.d.ts +2 -2
- package/dist/lib/models/booking.d.ts +7 -2
- package/dist/lib/models/booking.d.ts.map +1 -1
- package/dist/lib/models/chat.d.ts +418 -32
- package/dist/lib/models/chat.d.ts.map +1 -1
- package/dist/lib/models/chat.js +5 -1
- package/dist/lib/models/discount.d.ts +587 -136
- package/dist/lib/models/discount.d.ts.map +1 -1
- package/dist/lib/models/discount.js +118 -96
- package/dist/lib/models/forms.d.ts +384 -0
- package/dist/lib/models/forms.d.ts.map +1 -0
- package/dist/lib/models/forms.js +121 -0
- package/dist/lib/models/guide.d.ts +0 -2
- package/dist/lib/models/guide.d.ts.map +1 -1
- package/dist/lib/models/loyalty.d.ts +88 -0
- package/dist/lib/models/loyalty.d.ts.map +1 -0
- package/dist/lib/models/loyalty.js +1 -0
- package/dist/lib/models/notifications.d.ts +4 -4
- package/dist/lib/models/opportunities/freelance.d.ts +66 -20
- package/dist/lib/models/opportunities/freelance.d.ts.map +1 -1
- package/dist/lib/models/opportunities/internship.d.ts +66 -20
- package/dist/lib/models/opportunities/internship.d.ts.map +1 -1
- package/dist/lib/models/opportunities/job.d.ts +66 -20
- package/dist/lib/models/opportunities/job.d.ts.map +1 -1
- package/dist/lib/models/opportunities/opportunity.d.ts +66 -20
- package/dist/lib/models/opportunities/opportunity.d.ts.map +1 -1
- package/dist/lib/models/opportunities/opportunity.js +2 -0
- package/dist/lib/models/opportunities/volunteerJob.d.ts +66 -20
- package/dist/lib/models/opportunities/volunteerJob.d.ts.map +1 -1
- package/dist/lib/models/package.d.ts +81 -220
- package/dist/lib/models/package.d.ts.map +1 -1
- package/dist/lib/models/package.js +0 -2
- package/dist/lib/models/props.d.ts +1 -1
- package/dist/lib/models/props.d.ts.map +1 -1
- package/dist/lib/models/rental.d.ts +0 -2
- package/dist/lib/models/rental.d.ts.map +1 -1
- package/dist/lib/models/stay.d.ts +4 -4
- package/dist/lib/models/store.d.ts +71 -0
- package/dist/lib/models/store.d.ts.map +1 -0
- package/dist/lib/models/store.js +1 -0
- package/dist/lib/models/tile.d.ts +0 -2
- package/dist/lib/models/tile.d.ts.map +1 -1
- package/dist/lib/models/travelPackage.d.ts +206 -305
- package/dist/lib/models/travelPackage.d.ts.map +1 -1
- package/dist/lib/models/travelPackage.js +0 -2
- package/dist/lib/models/user.d.ts +28 -4
- package/dist/lib/models/user.d.ts.map +1 -1
- package/dist/lib/models/user.js +10 -1
- package/dist/lib/opportunityFormPage.d.ts +1 -0
- package/dist/lib/opportunityFormPage.d.ts.map +1 -1
- package/dist/lib/opportunityFormPage.js +1 -0
- package/dist/lib/pricingActions.d.ts +13 -0
- package/dist/lib/pricingActions.d.ts.map +1 -0
- package/dist/lib/pricingActions.js +16 -0
- package/dist/lib/rentalActions.js +0 -1
- package/dist/lib/rentalDummyData.d.ts.map +1 -1
- package/dist/lib/rentalDummyData.js +0 -35
- package/dist/lib/rentalFormPage.d.ts +0 -2
- package/dist/lib/rentalFormPage.d.ts.map +1 -1
- package/dist/lib/rentalFormPage.js +0 -3
- package/dist/lib/storeActions.d.ts +25 -0
- package/dist/lib/storeActions.d.ts.map +1 -0
- package/dist/lib/storeActions.js +46 -0
- package/dist/lib/storeDummyData.d.ts +2 -26
- package/dist/lib/storeDummyData.d.ts.map +1 -1
- package/dist/lib/userAtom.d.ts +71 -36
- package/dist/lib/userAtom.d.ts.map +1 -1
- package/dist/lib/userAtom.js +11 -17
- package/dist/lib/utils/entitySubmission.d.ts +21 -0
- package/dist/lib/utils/entitySubmission.d.ts.map +1 -0
- package/dist/lib/utils/entitySubmission.js +10 -0
- package/dist/lib/utils/imageUpload.d.ts +4 -0
- package/dist/lib/utils/imageUpload.d.ts.map +1 -0
- package/dist/lib/utils/imageUpload.js +36 -0
- package/dist/lib/utils/tileConverters.d.ts +8 -0
- package/dist/lib/utils/tileConverters.d.ts.map +1 -0
- package/dist/lib/utils/tileConverters.js +59 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +1 -1
- package/package.json +4 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rental.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/rental.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { get, patch, post, del } from "./fetcher";
|
|
2
|
+
import { calculatePricingStrategyDisplayUnitPrice, getPrimaryPricingStrategy, getPricingCurrency } from "../models/pricing";
|
|
3
|
+
// ─── Public ───────────────────────────────────────────────────────────────────
|
|
4
|
+
export async function getRentalTiles(limit, filters) {
|
|
5
|
+
try {
|
|
6
|
+
let endpoint = `/rentals/getAllRentalTiles?status=open`;
|
|
7
|
+
if (limit)
|
|
8
|
+
endpoint += `&limit=${limit}`;
|
|
9
|
+
if (filters?.vehicleType)
|
|
10
|
+
endpoint += `&vehicleType=${filters.vehicleType}`;
|
|
11
|
+
if (filters?.fuelType)
|
|
12
|
+
endpoint += `&fuelType=${filters.fuelType}`;
|
|
13
|
+
if (filters?.driverOption)
|
|
14
|
+
endpoint += `&driverOption=${filters.driverOption}`;
|
|
15
|
+
const data = await get(endpoint);
|
|
16
|
+
return {
|
|
17
|
+
success: true,
|
|
18
|
+
message: data.message,
|
|
19
|
+
tiles: data.data.map(rentalToTile),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
console.error("Failed to fetch rental tiles:", error);
|
|
24
|
+
return { success: false, error: error.message, tiles: [] };
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export async function trendingRentalTiles(limit) {
|
|
28
|
+
return getRentalTiles(limit);
|
|
29
|
+
}
|
|
30
|
+
export async function rentalDetails(slug, options = {}) {
|
|
31
|
+
try {
|
|
32
|
+
const query = options.edit ? "?context=edit" : "";
|
|
33
|
+
const data = await get(`/rentals/getRental/${slug}${query}`);
|
|
34
|
+
return { success: true, message: data.message, rental: data.data };
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
console.error("Failed to fetch rental details:", error);
|
|
38
|
+
return { success: false, error: error.message, rental: null };
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export async function rentalMetaData(slug) {
|
|
42
|
+
try {
|
|
43
|
+
const data = await get(`/rentals/getRental/${slug}`);
|
|
44
|
+
const rental = data.data;
|
|
45
|
+
return {
|
|
46
|
+
success: true,
|
|
47
|
+
message: data.message,
|
|
48
|
+
metadata: {
|
|
49
|
+
image: rental.images?.[0] || "/images/placeholder.svg",
|
|
50
|
+
title: rental.title || "Trippeaze Rentals",
|
|
51
|
+
city: rental.city,
|
|
52
|
+
state: rental.state,
|
|
53
|
+
category: rental.vehicleType,
|
|
54
|
+
price: calculatePricingStrategyDisplayUnitPrice(getPrimaryPricingStrategy(rental)),
|
|
55
|
+
currency: getPricingCurrency(rental),
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
return { success: false, error: error.message, metadata: null };
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
export async function rentalsByUsername(username, limit) {
|
|
64
|
+
try {
|
|
65
|
+
let endpoint = `/rentals/getRentalsByUsername/${username}`;
|
|
66
|
+
if (limit)
|
|
67
|
+
endpoint += `?limit=${limit}`;
|
|
68
|
+
const data = await get(endpoint);
|
|
69
|
+
return {
|
|
70
|
+
success: true,
|
|
71
|
+
message: data.message,
|
|
72
|
+
tiles: data.data.map(rentalToTile),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
return { success: false, error: error.message, tiles: [] };
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// ─── Host Dashboard ───────────────────────────────────────────────────────────
|
|
80
|
+
export async function rentalsByHost() {
|
|
81
|
+
try {
|
|
82
|
+
const data = await get(`/rentals/hostRentals`);
|
|
83
|
+
return { success: true, message: data.message, rentals: data.data || [] };
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
console.error("Failed to fetch host rentals:", error);
|
|
87
|
+
const errorMessage = error?.message ||
|
|
88
|
+
error?.error ||
|
|
89
|
+
"Failed to load rentals. Please try again.";
|
|
90
|
+
return { success: false, error: errorMessage, rentals: [] };
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
export async function createRental(formData) {
|
|
94
|
+
try {
|
|
95
|
+
const data = await post(`/rentals/create`, formData);
|
|
96
|
+
return { success: true, slug: data.data, message: data.message };
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
console.error("Failed to create rental:", error);
|
|
100
|
+
return { success: false, error: error.message };
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
export async function editRental(formData, slug) {
|
|
104
|
+
try {
|
|
105
|
+
const data = await patch(`/rentals/update/${slug}`, formData);
|
|
106
|
+
return { success: true, message: data.message };
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
console.error("Failed to update rental:", error);
|
|
110
|
+
return { success: false, error: error.message };
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
export async function deleteRental(slug) {
|
|
114
|
+
try {
|
|
115
|
+
const data = await del(`/rentals/delete/${slug}`);
|
|
116
|
+
return { success: true, message: data.message };
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
return { success: false, error: error.message };
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// ─── Admin Dashboard ──────────────────────────────────────────────────────────
|
|
123
|
+
export async function getPendingRentals() {
|
|
124
|
+
try {
|
|
125
|
+
const data = await get(`/admin/rentals?status=all`);
|
|
126
|
+
return { success: true, message: data.message, rentals: data.data };
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
return { success: false, error: error.message, rentals: [] };
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
export async function adminRentalsByHost(username) {
|
|
133
|
+
try {
|
|
134
|
+
const data = await get(`/rentals/getRentalsByUsername/${username}?status=open,pending,draft,denied,archived,closed`);
|
|
135
|
+
return { success: true, rentals: data.data || [] };
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
return { success: false, rentals: [], error: error.message };
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
// Approve uses the dedicated admin endpoint
|
|
142
|
+
export async function approveRental(slug) {
|
|
143
|
+
try {
|
|
144
|
+
const data = await patch(`/admin/rentals/approve/${slug}`, {});
|
|
145
|
+
return { success: true, message: data.message };
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
return { success: false, error: error.message };
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
export async function rejectRental(slug, rejectionReason) {
|
|
152
|
+
try {
|
|
153
|
+
const data = await patch(`/admin/rentals/reject/${slug}`, { rejectionReason });
|
|
154
|
+
return { success: true, message: data.message };
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
return { success: false, error: error.message };
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
export async function getRentalBookingsAdmin(slugOrId) {
|
|
161
|
+
try {
|
|
162
|
+
const data = await get(`/rentals/host/${slugOrId}/bookings`);
|
|
163
|
+
return { success: true, bookings: data.data || [] };
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
return { success: false, bookings: [], error: error.message };
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// ─── Helper ───────────────────────────────────────────────────────────────────
|
|
170
|
+
function rentalToTile(rental) {
|
|
171
|
+
return {
|
|
172
|
+
slug: rental.slug || "",
|
|
173
|
+
image: rental.images?.[0] || "/images/placeholder.svg",
|
|
174
|
+
title: rental.title || "",
|
|
175
|
+
description: rental.description || "",
|
|
176
|
+
location: `${rental.city}, ${rental.state}`,
|
|
177
|
+
date: rental.createdAt,
|
|
178
|
+
rating: rental.rating,
|
|
179
|
+
price: calculatePricingStrategyDisplayUnitPrice(getPrimaryPricingStrategy(rental)),
|
|
180
|
+
currency: getPricingCurrency(rental),
|
|
181
|
+
tileType: "rentals",
|
|
182
|
+
isWishlisted: rental.isWishlisted,
|
|
183
|
+
host: rental.host
|
|
184
|
+
? {
|
|
185
|
+
name: rental.host.name,
|
|
186
|
+
image: rental.host.image || rental.host.profilePic,
|
|
187
|
+
}
|
|
188
|
+
: undefined,
|
|
189
|
+
vehicleType: rental.vehicleType,
|
|
190
|
+
fuelType: rental.fuelType,
|
|
191
|
+
transmission: rental.transmission,
|
|
192
|
+
seatingCapacity: rental.seatingCapacity,
|
|
193
|
+
pickupPoints: rental.pickupPoints,
|
|
194
|
+
payAtPickup: rental.payAtPickup,
|
|
195
|
+
completedTrips: rental.completedTrips,
|
|
196
|
+
reviewCount: rental.reviewCount,
|
|
197
|
+
distanceLimit: rental.distanceLimit,
|
|
198
|
+
weeklyPrice: rental.weeklyPrice,
|
|
199
|
+
fifteenDaysPrice: rental.fifteenDaysPrice,
|
|
200
|
+
monthlyPrice: rental.monthlyPrice,
|
|
201
|
+
brand: rental.brand,
|
|
202
|
+
model: rental.model,
|
|
203
|
+
depositAmount: rental.depositAmount,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Review } from "../models/review";
|
|
2
|
+
export declare function getReviewsById(id: string, type: "opportunity" | "host" | "user" | "blog"): Promise<{
|
|
3
|
+
success: boolean;
|
|
4
|
+
reviews: Review[];
|
|
5
|
+
message?: string;
|
|
6
|
+
error?: string;
|
|
7
|
+
}>;
|
|
8
|
+
//# sourceMappingURL=review.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/review.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AA8F/C,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAC7C,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAkBD"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { get } from "./fetcher";
|
|
2
|
+
// all opportunities (may not be required or may delete in future)
|
|
3
|
+
// export async function getAllOpportunities(): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
|
|
4
|
+
// try {
|
|
5
|
+
// const res = await fetch('/sample/opportunity.json');
|
|
6
|
+
// const opportunities = await res.json() as Opportunity[];
|
|
7
|
+
// return {
|
|
8
|
+
// success: true,
|
|
9
|
+
// message: "fetch success",
|
|
10
|
+
// opportunities: opportunities,
|
|
11
|
+
// }
|
|
12
|
+
// } catch (error: any) {
|
|
13
|
+
// console.error('Failed to fetch all oppotunities: ', error);
|
|
14
|
+
// return {
|
|
15
|
+
// success: false,
|
|
16
|
+
// error: error.message,
|
|
17
|
+
// opportunities: []
|
|
18
|
+
// };
|
|
19
|
+
// }
|
|
20
|
+
// };
|
|
21
|
+
// for admin dashboard
|
|
22
|
+
// export async function getOpportunitiesByStatus(status: string[], limit?: number): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
|
|
23
|
+
// try {
|
|
24
|
+
// const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
|
|
25
|
+
// const data: {
|
|
26
|
+
// data: Opportunity[], message: string
|
|
27
|
+
// } = await get(endpoint);
|
|
28
|
+
// return {
|
|
29
|
+
// success: true,
|
|
30
|
+
// message: data.message,
|
|
31
|
+
// opportunities: data.data,
|
|
32
|
+
// }
|
|
33
|
+
// } catch (error: any) {
|
|
34
|
+
// console.error('Failed to fetch opportunities by status: ', error);
|
|
35
|
+
// return {
|
|
36
|
+
// success: false,
|
|
37
|
+
// error: error.message,
|
|
38
|
+
// opportunities: []
|
|
39
|
+
// };
|
|
40
|
+
// }
|
|
41
|
+
// };
|
|
42
|
+
// export async function approveOpportunity(formData: FormData, slug: string): Promise<{ success: boolean, slug?: string, message?: string, error?: string }> {
|
|
43
|
+
// try {
|
|
44
|
+
// const endpoint = `/admin/approve-post/${slug}`
|
|
45
|
+
// const data: { message: string, data: string } = await patch(endpoint, formData);
|
|
46
|
+
// return {
|
|
47
|
+
// success: true,
|
|
48
|
+
// slug: data.data,
|
|
49
|
+
// message: data.message,
|
|
50
|
+
// }
|
|
51
|
+
// }
|
|
52
|
+
// catch (error: any) {
|
|
53
|
+
// console.error('Failed to save opportuntiy: ', error);
|
|
54
|
+
// return {
|
|
55
|
+
// success: false,
|
|
56
|
+
// error: error.message,
|
|
57
|
+
// };
|
|
58
|
+
// }
|
|
59
|
+
// }
|
|
60
|
+
// blogs
|
|
61
|
+
// may not be needed
|
|
62
|
+
// export async function getAllBlogs(): Promise<{ success: boolean, blogs: Blog[], message?: string, error?: string }> {
|
|
63
|
+
// try {
|
|
64
|
+
// const res = await fetch('/sample/blogs.json');
|
|
65
|
+
// const blogs = await res.json() as Blog[];
|
|
66
|
+
// return {
|
|
67
|
+
// success: true,
|
|
68
|
+
// message: "fetch success",
|
|
69
|
+
// blogs: blogs,
|
|
70
|
+
// };
|
|
71
|
+
// } catch (error: any) {
|
|
72
|
+
// console.error('Failed to fetch blogs: ', error);
|
|
73
|
+
// return {
|
|
74
|
+
// success: false,
|
|
75
|
+
// error: error.message,
|
|
76
|
+
// blogs: [],
|
|
77
|
+
// };
|
|
78
|
+
// }
|
|
79
|
+
// }
|
|
80
|
+
// for admin dashboard
|
|
81
|
+
// Application form
|
|
82
|
+
// rating and reviews
|
|
83
|
+
export async function getReviewsById(id, type) {
|
|
84
|
+
try {
|
|
85
|
+
const endpoint = `/reviews/entity/${id}/${type}`;
|
|
86
|
+
const data = await get(endpoint);
|
|
87
|
+
// const data = { data: sampleReviews, message: "success" };
|
|
88
|
+
return {
|
|
89
|
+
success: true,
|
|
90
|
+
reviews: data.data,
|
|
91
|
+
message: data.message,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
console.error("Failed to get reviews: ", error);
|
|
96
|
+
return {
|
|
97
|
+
success: true,
|
|
98
|
+
reviews: [],
|
|
99
|
+
error: error.message,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Room Actions — CRUD operations for the Room entity
|
|
3
|
+
* Rooms are linked to properties via propertyId
|
|
4
|
+
*/
|
|
5
|
+
export declare function getRoomsByProperty(propertyId: string): Promise<{
|
|
6
|
+
success: boolean;
|
|
7
|
+
rooms: any[];
|
|
8
|
+
error?: string;
|
|
9
|
+
}>;
|
|
10
|
+
export declare function getRoomsBySlug(slug: string): Promise<{
|
|
11
|
+
success: boolean;
|
|
12
|
+
rooms: any[];
|
|
13
|
+
error?: string;
|
|
14
|
+
}>;
|
|
15
|
+
export declare function getRoomById(roomId: string): Promise<{
|
|
16
|
+
success: boolean;
|
|
17
|
+
room: any | null;
|
|
18
|
+
error?: string;
|
|
19
|
+
}>;
|
|
20
|
+
export declare function createRoom(formData: FormData): Promise<{
|
|
21
|
+
success: boolean;
|
|
22
|
+
room?: any;
|
|
23
|
+
error?: string;
|
|
24
|
+
}>;
|
|
25
|
+
export declare function updateRoom(roomId: string, formData: FormData): Promise<{
|
|
26
|
+
success: boolean;
|
|
27
|
+
room?: any;
|
|
28
|
+
error?: string;
|
|
29
|
+
}>;
|
|
30
|
+
export declare function patchRoomFields(roomId: string, fields: Record<string, unknown>): Promise<{
|
|
31
|
+
success: boolean;
|
|
32
|
+
room?: any;
|
|
33
|
+
error?: string;
|
|
34
|
+
}>;
|
|
35
|
+
export declare function deleteRoom(roomId: string): Promise<{
|
|
36
|
+
success: boolean;
|
|
37
|
+
error?: string;
|
|
38
|
+
}>;
|
|
39
|
+
//# sourceMappingURL=room.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/room.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,GAAG,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAO7D;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,GAAG,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAO7D;AAID,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAOjE;AAID,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAO3D;AAID,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAU3D;AAID,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAO3D;AAID,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAO/C"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Room Actions — CRUD operations for the Room entity
|
|
3
|
+
* Rooms are linked to properties via propertyId
|
|
4
|
+
*/
|
|
5
|
+
import { get, post, patch, del } from "./fetcher";
|
|
6
|
+
// ─── Fetch rooms for a property ──────────────────────────────────────────────
|
|
7
|
+
export async function getRoomsByProperty(propertyId) {
|
|
8
|
+
try {
|
|
9
|
+
const data = await get(`/rooms?propertyId=${propertyId}`);
|
|
10
|
+
return { success: true, rooms: data.data };
|
|
11
|
+
}
|
|
12
|
+
catch (err) {
|
|
13
|
+
return { success: false, error: err.message, rooms: [] };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export async function getRoomsBySlug(slug) {
|
|
17
|
+
try {
|
|
18
|
+
const data = await get(`/stays/${slug}/rooms`);
|
|
19
|
+
return { success: true, rooms: data.data };
|
|
20
|
+
}
|
|
21
|
+
catch (err) {
|
|
22
|
+
return { success: false, error: err.message, rooms: [] };
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
// ─── Single room detail ──────────────────────────────────────────────────────
|
|
26
|
+
export async function getRoomById(roomId) {
|
|
27
|
+
try {
|
|
28
|
+
const data = await get(`/rooms/${roomId}`);
|
|
29
|
+
return { success: true, room: data.data };
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
return { success: false, error: err.message, room: null };
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
// ─── Create room ─────────────────────────────────────────────────────────────
|
|
36
|
+
export async function createRoom(formData) {
|
|
37
|
+
try {
|
|
38
|
+
const data = await post(`/rooms`, formData);
|
|
39
|
+
return { success: true, room: data.data };
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
return { success: false, error: err.message };
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// ─── Update room ─────────────────────────────────────────────────────────────
|
|
46
|
+
export async function updateRoom(roomId, formData) {
|
|
47
|
+
try {
|
|
48
|
+
const data = await patch(`/rooms/${roomId}`, formData);
|
|
49
|
+
return { success: true, room: data.data };
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
return { success: false, error: err.message };
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// ─── Patch room fields (JSON, no files) ──────────────────────────────────────
|
|
56
|
+
export async function patchRoomFields(roomId, fields) {
|
|
57
|
+
try {
|
|
58
|
+
const data = await patch(`/rooms/${roomId}`, fields);
|
|
59
|
+
return { success: true, room: data.data };
|
|
60
|
+
}
|
|
61
|
+
catch (err) {
|
|
62
|
+
return { success: false, error: err.message };
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// ─── Delete room ─────────────────────────────────────────────────────────────
|
|
66
|
+
export async function deleteRoom(roomId) {
|
|
67
|
+
try {
|
|
68
|
+
await del(`/rooms/${roomId}`);
|
|
69
|
+
return { success: true };
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
return { success: false, error: err.message };
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverActions.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/serverActions.ts"],"names":[],"mappings":"AAKA,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAKvD;AAED,wBAAsB,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWtD"}
|
|
1
|
+
{"version":3,"file":"serverActions.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/serverActions.ts"],"names":[],"mappings":"AAKA,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAKvD;AAED,wBAAsB,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWtD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAahF"}
|
|
@@ -20,3 +20,18 @@ export async function getRole() {
|
|
|
20
20
|
return null;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
+
export async function getAccountType() {
|
|
24
|
+
try {
|
|
25
|
+
const accountType = (await cookies()).get("accountType")?.value;
|
|
26
|
+
return accountType === "user" || accountType === "host" || accountType === "staff"
|
|
27
|
+
? accountType
|
|
28
|
+
: null;
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
if (err && typeof err === 'object' && ('$$typeof' in err || err.digest === 'DYNAMIC_SERVER_USAGE')) {
|
|
32
|
+
throw err;
|
|
33
|
+
}
|
|
34
|
+
console.error('Invalid account type cookie', err);
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAYjD,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAA6B,CAAC;AAClF,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,OAAO,CAAwB,CAAC;AAE5E,eAAO,MAAM,SAAS,QAAO,MAS5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAK5B,CAAA"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { io } from "socket.io-client";
|
|
2
2
|
import { atom } from "jotai";
|
|
3
|
-
const
|
|
3
|
+
const configuredSocketUrl = process.env.NEXT_PUBLIC_BACKEND_URL || process.env.NEXT_PUBLIC_API_URL;
|
|
4
|
+
// Socket.IO is served from the backend origin, while REST configuration may
|
|
5
|
+
// include the API version path. Normalise either supported public variable so
|
|
6
|
+
// an environment with NEXT_PUBLIC_BACKEND_URL=/api/v1 still reaches /socket.io.
|
|
7
|
+
const SOCKET_URL = configuredSocketUrl?.replace(/\/api\/v1\/?$/, "");
|
|
4
8
|
let socket = null;
|
|
5
9
|
export const socketAtom = atom(null);
|
|
6
10
|
export const isConnectedAtom = atom(false);
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
export declare function fetchStays(params?: Record<string, string>): Promise<any>;
|
|
2
|
+
export declare function fetchStayBySlug(slug: string): Promise<{
|
|
3
|
+
success: boolean;
|
|
4
|
+
stay: any;
|
|
5
|
+
error?: undefined;
|
|
6
|
+
} | {
|
|
7
|
+
success: boolean;
|
|
8
|
+
error: any;
|
|
9
|
+
stay: null;
|
|
10
|
+
}>;
|
|
11
|
+
export declare function createStayListing(formData: FormData): Promise<{
|
|
12
|
+
success: boolean;
|
|
13
|
+
slug?: string;
|
|
14
|
+
_id?: string;
|
|
15
|
+
message?: string;
|
|
16
|
+
error?: string;
|
|
17
|
+
}>;
|
|
18
|
+
export declare function updateStayListing(id: string, formData: FormData): Promise<{
|
|
19
|
+
success: boolean;
|
|
20
|
+
message?: string;
|
|
21
|
+
error?: string;
|
|
22
|
+
}>;
|
|
23
|
+
export declare function deleteStayListing(id: string): Promise<{
|
|
24
|
+
success: boolean;
|
|
25
|
+
message?: string;
|
|
26
|
+
error?: string;
|
|
27
|
+
}>;
|
|
28
|
+
export declare function getMyStayListings(): Promise<{
|
|
29
|
+
success: boolean;
|
|
30
|
+
stays: any[];
|
|
31
|
+
error?: string;
|
|
32
|
+
}>;
|
|
33
|
+
export declare function getStayManagers(slug: string): Promise<{
|
|
34
|
+
success: boolean;
|
|
35
|
+
managers: any[];
|
|
36
|
+
error?: undefined;
|
|
37
|
+
} | {
|
|
38
|
+
success: boolean;
|
|
39
|
+
error: any;
|
|
40
|
+
managers: never[];
|
|
41
|
+
}>;
|
|
42
|
+
export declare function addStayManager(slug: string, payload: {
|
|
43
|
+
username: string;
|
|
44
|
+
role: string;
|
|
45
|
+
managerRole?: string;
|
|
46
|
+
permissions?: string[];
|
|
47
|
+
}): Promise<{
|
|
48
|
+
success: boolean;
|
|
49
|
+
managers: any[];
|
|
50
|
+
error?: undefined;
|
|
51
|
+
} | {
|
|
52
|
+
success: boolean;
|
|
53
|
+
error: any;
|
|
54
|
+
managers?: undefined;
|
|
55
|
+
}>;
|
|
56
|
+
export declare function updateStayManager(slug: string, managerId: string, payload: {
|
|
57
|
+
permissions?: string[];
|
|
58
|
+
managerRole?: string;
|
|
59
|
+
}): Promise<{
|
|
60
|
+
success: boolean;
|
|
61
|
+
managers: any[];
|
|
62
|
+
error?: undefined;
|
|
63
|
+
} | {
|
|
64
|
+
success: boolean;
|
|
65
|
+
error: any;
|
|
66
|
+
managers?: undefined;
|
|
67
|
+
}>;
|
|
68
|
+
export declare function removeStayManager(slug: string, managerId: string): Promise<{
|
|
69
|
+
success: boolean;
|
|
70
|
+
managers: any[];
|
|
71
|
+
error?: undefined;
|
|
72
|
+
} | {
|
|
73
|
+
success: boolean;
|
|
74
|
+
error: any;
|
|
75
|
+
managers?: undefined;
|
|
76
|
+
}>;
|
|
77
|
+
export declare function getPendingStays(): Promise<{
|
|
78
|
+
success: boolean;
|
|
79
|
+
stays: any[];
|
|
80
|
+
error?: string;
|
|
81
|
+
}>;
|
|
82
|
+
export declare function approveStay(slug: string): Promise<{
|
|
83
|
+
success: boolean;
|
|
84
|
+
message?: string;
|
|
85
|
+
error?: string;
|
|
86
|
+
}>;
|
|
87
|
+
export declare function rejectStay(slug: string, rejectionReason: string): Promise<{
|
|
88
|
+
success: boolean;
|
|
89
|
+
message?: string;
|
|
90
|
+
error?: string;
|
|
91
|
+
}>;
|
|
92
|
+
export declare function getStayBookingsAdmin(slugOrId: string): Promise<{
|
|
93
|
+
success: boolean;
|
|
94
|
+
bookings: any[];
|
|
95
|
+
error?: string;
|
|
96
|
+
}>;
|
|
97
|
+
//# sourceMappingURL=stay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stay.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/stay.ts"],"names":[],"mappings":"AAOA,wBAAsB,UAAU,CAAC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,gBAQnE;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM;;;;;;;;GAOjD;AAID,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IACnE,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAYD;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAOjE;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,MAAM,GACT,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAOjE;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAOD;AAID,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM;;;;;;;;GAOjD;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;;;;;;;;GAWF;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IACP,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;;;;;;;;GAWF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;;;;GAStE;AAID,wBAAsB,eAAe,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,GAAG,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAOnG;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAO/G;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAOvI;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACpE,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAOD"}
|