@myrjfa/state 2.3.6 → 3.0.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/dist/index.d.ts +37 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -9
- package/dist/lib/{adminDashboardActions.d.ts → actions/adminDashboard.d.ts} +51 -1
- package/dist/lib/actions/adminDashboard.d.ts.map +1 -0
- package/dist/lib/{adminDashboardActions.js → actions/adminDashboard.js} +54 -1
- package/dist/lib/{adventureActions.d.ts → actions/adventure.d.ts} +3 -3
- package/dist/lib/actions/adventure.d.ts.map +1 -0
- package/dist/lib/{adventureActions.js → actions/adventure.js} +2 -2
- package/dist/lib/actions/analytics.d.ts +18 -0
- package/dist/lib/actions/analytics.d.ts.map +1 -0
- package/dist/lib/actions/analytics.js +25 -0
- package/dist/lib/actions/application.d.ts +46 -0
- package/dist/lib/actions/application.d.ts.map +1 -0
- package/dist/lib/actions/application.js +123 -0
- package/dist/lib/actions/auth.d.ts +27 -0
- package/dist/lib/actions/auth.d.ts.map +1 -1
- package/dist/lib/actions/auth.js +80 -16
- package/dist/lib/{authorizationActions.d.ts → actions/authorization.d.ts} +18 -2
- package/dist/lib/actions/authorization.d.ts.map +1 -0
- package/dist/lib/{authorizationActions.js → actions/authorization.js} +10 -1
- package/dist/lib/actions/b2b.d.ts +20 -0
- package/dist/lib/actions/b2b.d.ts.map +1 -0
- package/dist/lib/actions/b2b.js +8 -0
- package/dist/lib/actions/blog.d.ts +79 -0
- package/dist/lib/actions/blog.d.ts.map +1 -0
- package/dist/lib/actions/blog.js +243 -0
- package/dist/lib/actions/booking.d.ts +29 -5
- package/dist/lib/actions/booking.d.ts.map +1 -1
- package/dist/lib/actions/booking.js +29 -23
- package/dist/lib/actions/brand.d.ts +29 -0
- package/dist/lib/actions/brand.d.ts.map +1 -0
- package/dist/lib/{brandActions.js → actions/brand.js} +12 -1
- package/dist/lib/actions/chat.d.ts +27 -2
- package/dist/lib/actions/chat.d.ts.map +1 -1
- package/dist/lib/actions/chat.js +45 -1
- package/dist/lib/actions/community.d.ts +37 -0
- package/dist/lib/actions/community.d.ts.map +1 -0
- package/dist/lib/actions/community.js +35 -0
- package/dist/lib/{companionActions.d.ts → actions/companion.d.ts} +21 -2
- package/dist/lib/actions/companion.d.ts.map +1 -0
- package/dist/lib/{companionActions.js → actions/companion.js} +39 -75
- package/dist/lib/actions/contact.d.ts +13 -0
- package/dist/lib/actions/contact.d.ts.map +1 -0
- package/dist/lib/actions/contact.js +24 -0
- package/dist/lib/actions/creatorMarketplace.d.ts +20 -0
- package/dist/lib/actions/creatorMarketplace.d.ts.map +1 -0
- package/dist/lib/actions/creatorMarketplace.js +8 -0
- package/dist/lib/actions/deviceSession.d.ts +17 -0
- package/dist/lib/actions/deviceSession.d.ts.map +1 -0
- package/dist/lib/actions/deviceSession.js +34 -0
- package/dist/lib/{discountActions.d.ts → actions/discount.d.ts} +3 -16
- package/dist/lib/actions/discount.d.ts.map +1 -0
- package/dist/lib/{discountActions.js → actions/discount.js} +1 -1
- package/dist/lib/{eventActions.d.ts → actions/event.d.ts} +1 -1
- package/dist/lib/actions/event.d.ts.map +1 -0
- package/dist/lib/{eventActions.js → actions/event.js} +2 -2
- package/dist/lib/actions/fetcher.d.ts +3 -2
- package/dist/lib/actions/fetcher.d.ts.map +1 -1
- package/dist/lib/actions/fetcher.js +6 -5
- package/dist/lib/actions/geocoding.d.ts +8 -0
- package/dist/lib/actions/geocoding.d.ts.map +1 -0
- package/dist/lib/actions/geocoding.js +29 -0
- package/dist/lib/{guideActions.d.ts → actions/guide.d.ts} +3 -3
- package/dist/lib/actions/guide.d.ts.map +1 -0
- package/dist/lib/{guideActions.js → actions/guide.js} +2 -2
- package/dist/lib/{hostDashboardActions.d.ts → actions/hostDashboard.d.ts} +2 -1
- package/dist/lib/actions/hostDashboard.d.ts.map +1 -0
- package/dist/lib/{hostDashboardActions.js → actions/hostDashboard.js} +22 -4
- package/dist/lib/actions/itinerary.d.ts +12 -0
- package/dist/lib/actions/itinerary.d.ts.map +1 -0
- package/dist/lib/actions/itinerary.js +36 -0
- package/dist/lib/actions/itineraryOrder.d.ts +55 -0
- package/dist/lib/actions/itineraryOrder.d.ts.map +1 -0
- package/dist/lib/actions/itineraryOrder.js +15 -0
- package/dist/lib/actions/listingInterest.d.ts +6 -0
- package/dist/lib/actions/listingInterest.d.ts.map +1 -0
- package/dist/lib/actions/listingInterest.js +18 -0
- package/dist/lib/{locationActions.d.ts → actions/location.d.ts} +6 -76
- package/dist/lib/actions/location.d.ts.map +1 -0
- package/dist/lib/{locationActions.js → actions/location.js} +5 -1
- package/dist/lib/{loyaltyActions.d.ts → actions/loyalty.d.ts} +2 -2
- package/dist/lib/actions/loyalty.d.ts.map +1 -0
- package/dist/lib/{loyaltyActions.js → actions/loyalty.js} +1 -1
- package/dist/lib/actions/marketplaceContract.d.ts +25 -0
- package/dist/lib/actions/marketplaceContract.d.ts.map +1 -0
- package/dist/lib/actions/marketplaceContract.js +17 -0
- package/dist/lib/actions/{actions.d.ts → notification.d.ts} +3 -94
- package/dist/lib/actions/notification.d.ts.map +1 -0
- package/dist/lib/actions/notification.js +42 -0
- package/dist/lib/actions/opportunity.d.ts +108 -0
- package/dist/lib/actions/opportunity.d.ts.map +1 -0
- package/dist/lib/actions/opportunity.js +329 -0
- package/dist/lib/{packageActions.d.ts → actions/package.d.ts} +5 -14
- package/dist/lib/actions/package.d.ts.map +1 -0
- package/dist/lib/{packageActions.js → actions/package.js} +2 -2
- package/dist/lib/actions/place.d.ts +37 -0
- package/dist/lib/actions/place.d.ts.map +1 -0
- package/dist/lib/{placeActions.js → actions/place.js} +1 -1
- package/dist/lib/actions/portfolio.d.ts +58 -0
- package/dist/lib/actions/portfolio.d.ts.map +1 -0
- package/dist/lib/actions/portfolio.js +48 -0
- package/dist/lib/actions/profile.d.ts +36 -0
- package/dist/lib/actions/profile.d.ts.map +1 -0
- package/dist/lib/actions/profile.js +76 -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/{rentalActions.d.ts → actions/rental.d.ts} +3 -3
- package/dist/lib/actions/rental.d.ts.map +1 -0
- package/dist/lib/{rentalActions.js → actions/rental.js} +2 -2
- package/dist/lib/actions/review.d.ts +44 -0
- package/dist/lib/actions/review.d.ts.map +1 -0
- package/dist/lib/actions/review.js +101 -0
- package/dist/lib/{roomActions.d.ts → actions/room.d.ts} +1 -1
- package/dist/lib/actions/room.d.ts.map +1 -0
- package/dist/lib/{roomActions.js → actions/room.js} +1 -1
- package/dist/lib/actions/serverActions.js +1 -1
- package/dist/lib/{socialAutomationActions.d.ts → actions/socialAutomation.d.ts} +3 -3
- package/dist/lib/actions/socialAutomation.d.ts.map +1 -0
- package/dist/lib/{socialAutomationActions.js → actions/socialAutomation.js} +1 -1
- package/dist/lib/actions/socket.d.ts +5 -0
- package/dist/lib/actions/socket.d.ts.map +1 -1
- package/dist/lib/actions/socket.js +14 -0
- package/dist/lib/{stayActions.d.ts → actions/stay.d.ts} +1 -1
- package/dist/lib/actions/stay.d.ts.map +1 -0
- package/dist/lib/{stayActions.js → actions/stay.js} +1 -2
- package/dist/lib/{storeActions.d.ts → actions/store.d.ts} +2 -2
- package/dist/lib/actions/store.d.ts.map +1 -0
- package/dist/lib/{storeActions.js → actions/store.js} +1 -1
- package/dist/lib/actions/subscription.d.ts +9 -0
- package/dist/lib/actions/subscription.d.ts.map +1 -0
- package/dist/lib/actions/subscription.js +17 -0
- package/dist/lib/{travelPackageActions.d.ts → actions/travelPackage.d.ts} +4 -4
- package/dist/lib/actions/travelPackage.d.ts.map +1 -0
- package/dist/lib/{travelPackageActions.js → actions/travelPackage.js} +3 -51
- package/dist/lib/actions/user.d.ts +24 -0
- package/dist/lib/actions/user.d.ts.map +1 -1
- package/dist/lib/actions/user.js +57 -0
- package/dist/lib/actions/verification.d.ts +15 -0
- package/dist/lib/actions/verification.d.ts.map +1 -0
- package/dist/lib/actions/verification.js +78 -0
- package/dist/lib/actions/wishlist.d.ts +14 -0
- package/dist/lib/actions/wishlist.d.ts.map +1 -0
- package/dist/lib/actions/wishlist.js +29 -0
- package/dist/lib/context/ChatContext.d.ts.map +1 -1
- package/dist/lib/context/QueryProvider.d.ts.map +1 -0
- package/dist/lib/data/adventure.d.ts +3 -0
- package/dist/lib/data/adventure.d.ts.map +1 -0
- package/dist/lib/{companionDummyData.d.ts → data/companion.d.ts} +1 -1
- package/dist/lib/data/companion.d.ts.map +1 -0
- package/dist/lib/data/destinations.d.ts.map +1 -0
- package/dist/lib/{eventsDummyData.d.ts → data/event.d.ts} +2 -2
- package/dist/lib/data/event.d.ts.map +1 -0
- package/dist/lib/{eventsDummyData.js → data/event.js} +1 -1
- package/dist/lib/data/guide.d.ts +3 -0
- package/dist/lib/data/guide.d.ts.map +1 -0
- package/dist/lib/data/package.d.ts +3 -0
- package/dist/lib/data/package.d.ts.map +1 -0
- package/dist/lib/{packageDummyData.js → data/package.js} +1 -1
- package/dist/lib/data/rental.d.ts +3 -0
- package/dist/lib/data/rental.d.ts.map +1 -0
- package/dist/lib/{staysDummyData.d.ts → data/stay.d.ts} +1 -1
- package/dist/lib/data/stay.d.ts.map +1 -0
- package/dist/lib/{storeDummyData.d.ts → data/store.d.ts} +3 -3
- package/dist/lib/data/store.d.ts.map +1 -0
- package/dist/lib/{vehicleData.d.ts → data/vehicle.d.ts} +1 -1
- package/dist/lib/data/vehicle.d.ts.map +1 -0
- package/dist/lib/{adventureFormPage.d.ts → forms/adventure.d.ts} +2 -2
- package/dist/lib/forms/adventure.d.ts.map +1 -0
- package/dist/lib/{adventureFormPage.js → forms/adventure.js} +1 -1
- package/dist/lib/forms/entitySubmission.d.ts.map +1 -0
- package/dist/lib/{eventFormPage.d.ts → forms/event.d.ts} +1 -1
- package/dist/lib/forms/event.d.ts.map +1 -0
- package/dist/lib/forms/multistepDraft.d.ts.map +1 -0
- package/dist/lib/{opportunityFormPage.d.ts → forms/opportunity.d.ts} +7 -7
- package/dist/lib/forms/opportunity.d.ts.map +1 -0
- package/dist/lib/{opportunityFormData.d.ts → forms/opportunityData.d.ts} +1 -1
- package/dist/lib/forms/opportunityData.d.ts.map +1 -0
- package/dist/lib/{rentalFormPage.d.ts → forms/rental.d.ts} +2 -2
- package/dist/lib/forms/rental.d.ts.map +1 -0
- package/dist/lib/{rentalFormPage.js → forms/rental.js} +1 -1
- package/dist/lib/{travelPackageFormPage.d.ts → forms/travelPackage.d.ts} +19 -5
- package/dist/lib/forms/travelPackage.d.ts.map +1 -0
- package/dist/lib/{travelPackageFormPage.js → forms/travelPackage.js} +2 -2
- package/dist/lib/{travelPackageFormData.d.ts → forms/travelPackageData.d.ts} +2 -2
- package/dist/lib/forms/travelPackageData.d.ts.map +1 -0
- package/dist/lib/hooks/useContextualConversation.d.ts +1 -1
- package/dist/lib/hooks/useContextualConversation.d.ts.map +1 -1
- package/dist/lib/hooks/usePersistentDraftState.d.ts.map +1 -0
- package/dist/lib/models/analytics.d.ts +33 -0
- package/dist/lib/models/analytics.d.ts.map +1 -0
- package/dist/lib/models/analytics.js +1 -0
- package/dist/lib/models/authentication.d.ts +24 -0
- package/dist/lib/models/authentication.d.ts.map +1 -0
- package/dist/lib/models/authentication.js +1 -0
- package/dist/lib/models/authorization.d.ts +5 -3
- package/dist/lib/models/authorization.d.ts.map +1 -1
- package/dist/lib/models/authorization.js +29 -0
- package/dist/lib/models/blog.d.ts +10 -10
- package/dist/lib/{brandActions.d.ts → models/brand.d.ts} +16 -26
- package/dist/lib/models/brand.d.ts.map +1 -0
- package/dist/lib/models/brand.js +1 -0
- package/dist/lib/models/chat.d.ts +51 -3
- package/dist/lib/models/chat.d.ts.map +1 -1
- package/dist/lib/models/community.d.ts +255 -0
- package/dist/lib/models/community.d.ts.map +1 -0
- package/dist/lib/models/community.js +1 -0
- package/dist/lib/models/discount.d.ts +25 -12
- package/dist/lib/models/discount.d.ts.map +1 -1
- package/dist/lib/models/itinerary.d.ts +133 -0
- package/dist/lib/models/itinerary.d.ts.map +1 -0
- package/dist/lib/models/itinerary.js +1 -0
- package/dist/lib/models/location.d.ts +114 -0
- package/dist/lib/models/location.d.ts.map +1 -0
- package/dist/lib/models/location.js +1 -0
- package/dist/lib/models/marketplace.d.ts +253 -0
- package/dist/lib/models/marketplace.d.ts.map +1 -0
- package/dist/lib/models/marketplace.js +1 -0
- package/dist/lib/models/notifications.d.ts +2 -2
- package/dist/lib/models/opportunities/freelance.d.ts +6 -6
- package/dist/lib/models/opportunities/internship.d.ts +6 -6
- package/dist/lib/models/opportunities/job.d.ts +6 -6
- package/dist/lib/models/opportunities/opportunity.d.ts +6 -6
- package/dist/lib/models/opportunities/volunteerJob.d.ts +6 -6
- package/dist/lib/models/package.d.ts +6 -6
- package/dist/lib/{placeActions.d.ts → models/place.d.ts} +14 -36
- package/dist/lib/models/place.d.ts.map +1 -0
- package/dist/lib/models/place.js +1 -0
- package/dist/lib/models/portfolio.d.ts +8 -8
- package/dist/lib/models/review.d.ts +6 -6
- package/dist/lib/models/stay.d.ts +21 -21
- package/dist/lib/models/travelPackage.d.ts +7 -7
- package/dist/lib/models/travelPackage.d.ts.map +1 -1
- package/dist/lib/models/travelPackage.js +3 -3
- package/dist/lib/{vehicleModels.d.ts → models/vehicle.d.ts} +1 -1
- package/dist/lib/models/vehicle.d.ts.map +1 -0
- package/dist/lib/models/verification.d.ts +28 -0
- package/dist/lib/models/verification.d.ts.map +1 -0
- package/dist/lib/models/verification.js +1 -0
- package/dist/lib/utils/entityTiles.d.ts +11 -0
- package/dist/lib/utils/entityTiles.d.ts.map +1 -0
- package/dist/lib/{util.js → utils/entityTiles.js} +2 -2
- package/dist/lib/utils/imageUpload.d.ts.map +1 -0
- package/dist/lib/utils/packageAvailability.d.ts.map +1 -0
- package/dist/lib/{utils.d.ts → utils/text.d.ts} +2 -2
- package/dist/lib/utils/text.d.ts.map +1 -0
- package/package.json +2 -1
- package/dist/hooks/usePersistentDraftState.d.ts.map +0 -1
- package/dist/lib/QueryProvider.d.ts.map +0 -1
- package/dist/lib/actions/actions.d.ts.map +0 -1
- package/dist/lib/actions/actions.js +0 -374
- package/dist/lib/actions.d.ts +0 -557
- package/dist/lib/actions.d.ts.map +0 -1
- package/dist/lib/actions.js +0 -1330
- package/dist/lib/adminDashboardActions.d.ts.map +0 -1
- package/dist/lib/adventureActions.d.ts.map +0 -1
- package/dist/lib/adventureDummyData.d.ts +0 -3
- package/dist/lib/adventureDummyData.d.ts.map +0 -1
- package/dist/lib/adventureFormPage.d.ts.map +0 -1
- package/dist/lib/authorizationActions.d.ts.map +0 -1
- package/dist/lib/brandActions.d.ts.map +0 -1
- package/dist/lib/companionActions.d.ts.map +0 -1
- package/dist/lib/companionDummyData.d.ts.map +0 -1
- package/dist/lib/destinations.d.ts.map +0 -1
- package/dist/lib/discountActions.d.ts.map +0 -1
- package/dist/lib/entitySubmission.d.ts.map +0 -1
- package/dist/lib/eventActions.d.ts.map +0 -1
- package/dist/lib/eventFormPage.d.ts.map +0 -1
- package/dist/lib/eventsDummyData.d.ts.map +0 -1
- package/dist/lib/guideActions.d.ts.map +0 -1
- package/dist/lib/guideDummyData.d.ts +0 -3
- package/dist/lib/guideDummyData.d.ts.map +0 -1
- package/dist/lib/hostDashboardActions.d.ts.map +0 -1
- package/dist/lib/imageUpload.d.ts.map +0 -1
- package/dist/lib/locationActions.d.ts.map +0 -1
- package/dist/lib/loyaltyActions.d.ts.map +0 -1
- package/dist/lib/multistepDraft.d.ts.map +0 -1
- package/dist/lib/opportunityFormData.d.ts.map +0 -1
- package/dist/lib/opportunityFormPage.d.ts.map +0 -1
- package/dist/lib/packageActions.d.ts.map +0 -1
- package/dist/lib/packageAvailability.d.ts.map +0 -1
- package/dist/lib/packageDummyData.d.ts +0 -3
- package/dist/lib/packageDummyData.d.ts.map +0 -1
- package/dist/lib/placeActions.d.ts.map +0 -1
- package/dist/lib/propertyActions.d.ts +0 -17
- package/dist/lib/propertyActions.d.ts.map +0 -1
- package/dist/lib/propertyActions.js +0 -16
- package/dist/lib/rentalActions.d.ts.map +0 -1
- package/dist/lib/rentalDummyData.d.ts +0 -3
- package/dist/lib/rentalDummyData.d.ts.map +0 -1
- package/dist/lib/rentalFormPage.d.ts.map +0 -1
- package/dist/lib/roomActions.d.ts.map +0 -1
- package/dist/lib/socialAutomationActions.d.ts.map +0 -1
- package/dist/lib/stayActions.d.ts.map +0 -1
- package/dist/lib/staysDummyData.d.ts.map +0 -1
- package/dist/lib/storeActions.d.ts.map +0 -1
- package/dist/lib/storeDummyData.d.ts.map +0 -1
- package/dist/lib/travelPackageActions.d.ts.map +0 -1
- package/dist/lib/travelPackageFormData.d.ts.map +0 -1
- package/dist/lib/travelPackageFormPage.d.ts.map +0 -1
- package/dist/lib/util.d.ts +0 -11
- package/dist/lib/util.d.ts.map +0 -1
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/vehicleData.d.ts.map +0 -1
- package/dist/lib/vehicleModels.d.ts.map +0 -1
- /package/dist/lib/{QueryProvider.d.ts → context/QueryProvider.d.ts} +0 -0
- /package/dist/lib/{QueryProvider.js → context/QueryProvider.js} +0 -0
- /package/dist/lib/{adventureDummyData.js → data/adventure.js} +0 -0
- /package/dist/lib/{companionDummyData.js → data/companion.js} +0 -0
- /package/dist/lib/{destinations.d.ts → data/destinations.d.ts} +0 -0
- /package/dist/lib/{destinations.js → data/destinations.js} +0 -0
- /package/dist/lib/{guideDummyData.js → data/guide.js} +0 -0
- /package/dist/lib/{rentalDummyData.js → data/rental.js} +0 -0
- /package/dist/lib/{staysDummyData.js → data/stay.js} +0 -0
- /package/dist/lib/{storeDummyData.js → data/store.js} +0 -0
- /package/dist/lib/{vehicleData.js → data/vehicle.js} +0 -0
- /package/dist/lib/{entitySubmission.d.ts → forms/entitySubmission.d.ts} +0 -0
- /package/dist/lib/{entitySubmission.js → forms/entitySubmission.js} +0 -0
- /package/dist/lib/{eventFormPage.js → forms/event.js} +0 -0
- /package/dist/lib/{multistepDraft.d.ts → forms/multistepDraft.d.ts} +0 -0
- /package/dist/lib/{multistepDraft.js → forms/multistepDraft.js} +0 -0
- /package/dist/lib/{opportunityFormPage.js → forms/opportunity.js} +0 -0
- /package/dist/lib/{opportunityFormData.js → forms/opportunityData.js} +0 -0
- /package/dist/lib/{travelPackageFormData.js → forms/travelPackageData.js} +0 -0
- /package/dist/{hooks → lib/hooks}/usePersistentDraftState.d.ts +0 -0
- /package/dist/{hooks → lib/hooks}/usePersistentDraftState.js +0 -0
- /package/dist/lib/{vehicleModels.js → models/vehicle.js} +0 -0
- /package/dist/lib/{imageUpload.d.ts → utils/imageUpload.d.ts} +0 -0
- /package/dist/lib/{imageUpload.js → utils/imageUpload.js} +0 -0
- /package/dist/lib/{packageAvailability.d.ts → utils/packageAvailability.d.ts} +0 -0
- /package/dist/lib/{packageAvailability.js → utils/packageAvailability.js} +0 -0
- /package/dist/lib/{utils.js → utils/text.js} +0 -0
package/dist/lib/actions/auth.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { get, patch, post } from "./fetcher";
|
|
1
|
+
import { del, get, patch, post } from "./fetcher";
|
|
2
2
|
import { getAccountType } from "./serverActions";
|
|
3
3
|
import { isExpectedSignedOutError } from "../authSessionPolicy";
|
|
4
4
|
function clearSensitiveBrowserState() {
|
|
@@ -9,8 +9,26 @@ function clearSensitiveBrowserState() {
|
|
|
9
9
|
.filter((key) => key.startsWith("booking_draft_"))
|
|
10
10
|
.forEach((key) => window.sessionStorage.removeItem(key));
|
|
11
11
|
}
|
|
12
|
+
let activeSessionCleanup = null;
|
|
13
|
+
function cancelActiveSessionCleanup() {
|
|
14
|
+
const cleanup = activeSessionCleanup;
|
|
15
|
+
if (!cleanup)
|
|
16
|
+
return;
|
|
17
|
+
cleanup.controller.abort();
|
|
18
|
+
}
|
|
19
|
+
function getDeviceRecoveryEndpoint(accountType) {
|
|
20
|
+
if (accountType === "staff")
|
|
21
|
+
return "/auth/staff/device-recovery/devices";
|
|
22
|
+
if (accountType === "host")
|
|
23
|
+
return "/hosts/device-recovery/devices";
|
|
24
|
+
return "/users/device-recovery/devices";
|
|
25
|
+
}
|
|
12
26
|
export async function signIn(formData) {
|
|
13
27
|
try {
|
|
28
|
+
// A cache-miss cleanup may still be reconciling stale cookies when the
|
|
29
|
+
// public form becomes interactive. Abort it before issuing the login
|
|
30
|
+
// request so a late cleanup response cannot erase fresh auth cookies.
|
|
31
|
+
cancelActiveSessionCleanup();
|
|
14
32
|
let endpoint = '/users/login';
|
|
15
33
|
if (formData.role === 'host')
|
|
16
34
|
endpoint = '/hosts/login';
|
|
@@ -28,6 +46,7 @@ export async function signIn(formData) {
|
|
|
28
46
|
}
|
|
29
47
|
export async function signInStaff(formData) {
|
|
30
48
|
try {
|
|
49
|
+
cancelActiveSessionCleanup();
|
|
31
50
|
const data = await post("/auth/staff/login", formData);
|
|
32
51
|
return { user: data.data.user, message: data.message };
|
|
33
52
|
}
|
|
@@ -161,23 +180,68 @@ export async function validateSession() {
|
|
|
161
180
|
throw error;
|
|
162
181
|
}
|
|
163
182
|
}
|
|
164
|
-
|
|
165
|
-
export async function clearSessionCookies() {
|
|
166
|
-
const controller = new AbortController();
|
|
167
|
-
const timeout = setTimeout(() => controller.abort(), 10000);
|
|
183
|
+
export async function registerAccount(userData) {
|
|
168
184
|
try {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
185
|
+
const endpoint = `/${userData.role ?? "user"}s/register`;
|
|
186
|
+
const data = await post(endpoint, userData, false);
|
|
187
|
+
return { success: true, message: data.message };
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
return {
|
|
191
|
+
success: false,
|
|
192
|
+
status: error.statusCode || error.status,
|
|
193
|
+
error: error.message,
|
|
194
|
+
};
|
|
176
195
|
}
|
|
177
|
-
|
|
178
|
-
|
|
196
|
+
}
|
|
197
|
+
export async function resendVerificationEmail(email, role) {
|
|
198
|
+
try {
|
|
199
|
+
const data = await post(`/${role}s/resend-otp`, { email }, false);
|
|
200
|
+
return { success: true, message: data.message };
|
|
179
201
|
}
|
|
180
|
-
|
|
181
|
-
|
|
202
|
+
catch (error) {
|
|
203
|
+
return {
|
|
204
|
+
success: false,
|
|
205
|
+
status: error.statusCode || error.status,
|
|
206
|
+
error: error.message,
|
|
207
|
+
};
|
|
182
208
|
}
|
|
183
209
|
}
|
|
210
|
+
/** List active sessions using the short-lived recovery token returned by login. */
|
|
211
|
+
export async function getPreLoginDevices(token, accountType) {
|
|
212
|
+
const endpoint = getDeviceRecoveryEndpoint(accountType);
|
|
213
|
+
const response = await get(`${endpoint}?token=${encodeURIComponent(token)}`, false);
|
|
214
|
+
return response.data?.devices ?? [];
|
|
215
|
+
}
|
|
216
|
+
/** Remove one active session before login, then let the caller retry credentials. */
|
|
217
|
+
export async function removePreLoginDevice(token, accountType, deviceId) {
|
|
218
|
+
const endpoint = getDeviceRecoveryEndpoint(accountType);
|
|
219
|
+
await del(`${endpoint}/${encodeURIComponent(deviceId)}?token=${encodeURIComponent(token)}`, undefined, false, { retry: false });
|
|
220
|
+
}
|
|
221
|
+
/** Clear HTTP-only auth cookies after a local/server session mismatch. */
|
|
222
|
+
export async function clearSessionCookies() {
|
|
223
|
+
if (activeSessionCleanup)
|
|
224
|
+
return activeSessionCleanup.promise;
|
|
225
|
+
const controller = new AbortController();
|
|
226
|
+
const timeout = setTimeout(() => controller.abort(), 10000);
|
|
227
|
+
const cleanup = {
|
|
228
|
+
controller,
|
|
229
|
+
promise: Promise.resolve(),
|
|
230
|
+
};
|
|
231
|
+
activeSessionCleanup = cleanup;
|
|
232
|
+
cleanup.promise = (async () => {
|
|
233
|
+
try {
|
|
234
|
+
await post("/auth/session/clear", {}, true, { signal: controller.signal, retry: false });
|
|
235
|
+
}
|
|
236
|
+
catch {
|
|
237
|
+
// Local state still resets; this endpoint is an idempotent cleanup fallback.
|
|
238
|
+
}
|
|
239
|
+
finally {
|
|
240
|
+
clearTimeout(timeout);
|
|
241
|
+
if (activeSessionCleanup === cleanup) {
|
|
242
|
+
activeSessionCleanup = null;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
})();
|
|
246
|
+
return cleanup.promise;
|
|
247
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AssignableAccountDto, AuthorizationPermissionDto, AuthorizationRoleDto, StaffProfileDto, StaffRoleAssignmentDto } from "
|
|
1
|
+
import { AssignableAccountDto, AuthorizationPermissionDto, AuthorizationRoleDto, StaffProfileDto, StaffRoleAssignmentDto } from "../models/authorization";
|
|
2
2
|
export declare function getAuthorizationRoles(): Promise<{
|
|
3
3
|
success: boolean;
|
|
4
4
|
data: AuthorizationRoleDto[];
|
|
@@ -10,6 +10,22 @@ export declare function getAuthorizationRoles(): Promise<{
|
|
|
10
10
|
data?: undefined;
|
|
11
11
|
message?: undefined;
|
|
12
12
|
}>;
|
|
13
|
+
export declare function createAuthorizationRole(input: {
|
|
14
|
+
name: string;
|
|
15
|
+
slug?: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
permissions?: string[];
|
|
18
|
+
}): Promise<{
|
|
19
|
+
success: boolean;
|
|
20
|
+
data: AuthorizationRoleDto;
|
|
21
|
+
message: string | undefined;
|
|
22
|
+
error?: undefined;
|
|
23
|
+
} | {
|
|
24
|
+
success: boolean;
|
|
25
|
+
error: any;
|
|
26
|
+
data?: undefined;
|
|
27
|
+
message?: undefined;
|
|
28
|
+
}>;
|
|
13
29
|
export declare function getAuthorizationPermissions(): Promise<{
|
|
14
30
|
success: boolean;
|
|
15
31
|
data: AuthorizationPermissionDto[];
|
|
@@ -74,4 +90,4 @@ export declare function assignStaffRole(input: {
|
|
|
74
90
|
data?: undefined;
|
|
75
91
|
message?: undefined;
|
|
76
92
|
}>;
|
|
77
|
-
//# sourceMappingURL=
|
|
93
|
+
//# sourceMappingURL=authorization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/authorization.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AAOjC,wBAAsB,qBAAqB;;;;;;;;;;GAO1C;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;;;;;;;;;;GAUA;AAED,wBAAsB,2BAA2B;;;;;;;;;;GAOhD;AAED,wBAAsB,6BAA6B;;;;;;;;UAOY,eAAe,EAAE;;GAE/E;AAED,wBAAsB,qCAAqC,CAAC,KAAK,EAAE;IACjE,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;;;;;;UAY8D,oBAAoB,EAAE;;GAEpF;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;;;;;;;;;;GAUlF;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAC3C,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;;;;;;;;;;GAUA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { get, patch } from "./
|
|
1
|
+
import { get, patch, post } from "./fetcher";
|
|
2
2
|
export async function getAuthorizationRoles() {
|
|
3
3
|
try {
|
|
4
4
|
const response = await get("/authorization/roles");
|
|
@@ -8,6 +8,15 @@ export async function getAuthorizationRoles() {
|
|
|
8
8
|
return { success: false, error: error.message };
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
+
export async function createAuthorizationRole(input) {
|
|
12
|
+
try {
|
|
13
|
+
const response = await post("/authorization/roles", input);
|
|
14
|
+
return { success: true, data: response.data.role, message: response.message };
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
return { success: false, error: error.message };
|
|
18
|
+
}
|
|
19
|
+
}
|
|
11
20
|
export async function getAuthorizationPermissions() {
|
|
12
21
|
try {
|
|
13
22
|
const response = await get("/authorization/permissions");
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { B2BLead, B2BProfile, B2BProposal } from "../models/marketplace";
|
|
2
|
+
export type { OwnedB2BBrand } from "../models/marketplace";
|
|
3
|
+
export declare const getOwnedB2BBrands: () => Promise<import("../models/marketplace").OwnedMarketplaceBrand[]>;
|
|
4
|
+
export declare const getOwnedB2BProfile: (brandId: string) => Promise<B2BProfile | null>;
|
|
5
|
+
export declare const searchB2BProfiles: (filters?: {
|
|
6
|
+
offering?: string;
|
|
7
|
+
area?: string;
|
|
8
|
+
}) => Promise<B2BProfile[]>;
|
|
9
|
+
export declare const saveB2BProfile: (brandId: string, input: Partial<B2BProfile>) => Promise<B2BProfile>;
|
|
10
|
+
export declare const createB2BLead: (input: {
|
|
11
|
+
fromBrandId: string;
|
|
12
|
+
toBrandId: string;
|
|
13
|
+
message?: string;
|
|
14
|
+
proposal: B2BProposal;
|
|
15
|
+
sourceContentId?: string;
|
|
16
|
+
impressionId?: string;
|
|
17
|
+
}) => Promise<unknown>;
|
|
18
|
+
export declare const getB2BLeads: () => Promise<B2BLead[]>;
|
|
19
|
+
export declare const actOnB2BLead: (leadId: string, action: "accept" | "decline") => Promise<B2BLead>;
|
|
20
|
+
//# sourceMappingURL=b2b.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"b2b.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/b2b.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAiB,MAAM,uBAAuB,CAAC;AAE7F,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,eAAO,MAAM,iBAAiB,wEAAyE,CAAC;AACxG,eAAO,MAAM,kBAAkB,GAAU,SAAS,MAAM,+BAA8E,CAAC;AACvI,eAAO,MAAM,iBAAiB,GAAU,UAAS;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,0BAA4F,CAAC;AACvL,eAAO,MAAM,cAAc,GAAU,SAAS,MAAM,EAAE,OAAO,OAAO,CAAC,UAAU,CAAC,wBAA8E,CAAC;AAC/J,eAAO,MAAM,aAAa,GAAU,OAAO;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,WAAW,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,qBAA8D,CAAC;AAC9O,eAAO,MAAM,WAAW,0BAAkE,CAAC;AAC3F,eAAO,MAAM,YAAY,GAAU,QAAQ,MAAM,EAAE,QAAQ,QAAQ,GAAG,SAAS,qBAAgF,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { get, patch, post, put } from "./fetcher";
|
|
2
|
+
export const getOwnedB2BBrands = async () => (await get("/b2b/brands")).data;
|
|
3
|
+
export const getOwnedB2BProfile = async (brandId) => (await get(`/b2b/profiles/${brandId}`)).data;
|
|
4
|
+
export const searchB2BProfiles = async (filters = {}) => (await get(`/b2b/search?${new URLSearchParams(filters)}`)).data;
|
|
5
|
+
export const saveB2BProfile = async (brandId, input) => (await put(`/b2b/profiles/${brandId}`, input)).data;
|
|
6
|
+
export const createB2BLead = async (input) => (await post("/b2b/leads", input)).data;
|
|
7
|
+
export const getB2BLeads = async () => (await get("/b2b/leads")).data;
|
|
8
|
+
export const actOnB2BLead = async (leadId, action) => (await patch(`/b2b/leads/${leadId}/${action}`, {})).data;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { Blog, BlogMetaData } from "../models/blog";
|
|
2
|
+
import type { TileProps } from "../models/tile";
|
|
3
|
+
export declare function getBlogTilesByStatus(status: string[], limit?: number): Promise<{
|
|
4
|
+
success: boolean;
|
|
5
|
+
tiles: TileProps[];
|
|
6
|
+
message?: string;
|
|
7
|
+
error?: string;
|
|
8
|
+
}>;
|
|
9
|
+
export declare function relatedBlogTiles(slug: string, limit: number): Promise<{
|
|
10
|
+
success: boolean;
|
|
11
|
+
tiles: TileProps[];
|
|
12
|
+
message?: string;
|
|
13
|
+
error?: string;
|
|
14
|
+
}>;
|
|
15
|
+
export declare function trendingBlogTiles(limit: number): Promise<{
|
|
16
|
+
success: boolean;
|
|
17
|
+
tiles: TileProps[];
|
|
18
|
+
message?: string;
|
|
19
|
+
error?: string;
|
|
20
|
+
}>;
|
|
21
|
+
export declare function blogsByUsername(username: string, role: string): Promise<{
|
|
22
|
+
success: boolean;
|
|
23
|
+
tiles: TileProps[];
|
|
24
|
+
message?: string;
|
|
25
|
+
error?: string;
|
|
26
|
+
}>;
|
|
27
|
+
export declare function getMyBlogs(): Promise<{
|
|
28
|
+
success: boolean;
|
|
29
|
+
blogs: Blog[];
|
|
30
|
+
message?: string;
|
|
31
|
+
error?: string;
|
|
32
|
+
}>;
|
|
33
|
+
export declare function getAdminBlogs(): Promise<{
|
|
34
|
+
success: boolean;
|
|
35
|
+
pending: Blog[];
|
|
36
|
+
active: Blog[];
|
|
37
|
+
error?: string;
|
|
38
|
+
}>;
|
|
39
|
+
export declare function pendingBlogs(): Promise<{
|
|
40
|
+
success: boolean;
|
|
41
|
+
blogs: Blog[];
|
|
42
|
+
message?: string;
|
|
43
|
+
error?: string;
|
|
44
|
+
}>;
|
|
45
|
+
export declare function deleteBlog(slug: string): Promise<{
|
|
46
|
+
success: boolean;
|
|
47
|
+
message?: string;
|
|
48
|
+
error?: string;
|
|
49
|
+
}>;
|
|
50
|
+
export declare function blogDetails(id: string): Promise<{
|
|
51
|
+
success: boolean;
|
|
52
|
+
blog: Blog | null;
|
|
53
|
+
message?: string;
|
|
54
|
+
error?: string;
|
|
55
|
+
}>;
|
|
56
|
+
export declare function blogMetaData(slug: string): Promise<{
|
|
57
|
+
success: boolean;
|
|
58
|
+
metadata: BlogMetaData | null;
|
|
59
|
+
message?: string;
|
|
60
|
+
error?: string;
|
|
61
|
+
}>;
|
|
62
|
+
export declare function createBlog(formData: FormData): Promise<{
|
|
63
|
+
success: boolean;
|
|
64
|
+
slug?: string;
|
|
65
|
+
message?: string;
|
|
66
|
+
error?: string;
|
|
67
|
+
}>;
|
|
68
|
+
export declare function editBlog(formData: FormData, slug: string): Promise<{
|
|
69
|
+
success: boolean;
|
|
70
|
+
slug?: string;
|
|
71
|
+
message?: string;
|
|
72
|
+
error?: string;
|
|
73
|
+
}>;
|
|
74
|
+
export declare function toggleBlogLike(slug: string): Promise<{
|
|
75
|
+
success: boolean;
|
|
76
|
+
message?: string;
|
|
77
|
+
error?: string;
|
|
78
|
+
}>;
|
|
79
|
+
//# sourceMappingURL=blog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blog.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/blog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import { del, get, patch, post } from "./fetcher";
|
|
2
|
+
import { convertBlogToTileProps } from "../utils/entityTiles";
|
|
3
|
+
export async function getBlogTilesByStatus(status, limit) {
|
|
4
|
+
try {
|
|
5
|
+
const endpoint = `/blog/getAllBlogTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
|
|
6
|
+
const data = await get(endpoint, false);
|
|
7
|
+
return {
|
|
8
|
+
success: true,
|
|
9
|
+
message: data.message,
|
|
10
|
+
tiles: data.data.map((blog) => convertBlogToTileProps(blog)),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
console.error('Failed to fetch blogs: ', error);
|
|
15
|
+
return {
|
|
16
|
+
success: false,
|
|
17
|
+
error: error.message,
|
|
18
|
+
tiles: [],
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export async function relatedBlogTiles(slug, limit) {
|
|
23
|
+
try {
|
|
24
|
+
const endpoint = `/blog/getAllBlogTiles?status=posted${limit ? ("&limit=" + (limit + 1)) : ""}`;
|
|
25
|
+
const data = await get(endpoint, false);
|
|
26
|
+
return {
|
|
27
|
+
success: true,
|
|
28
|
+
message: data.message,
|
|
29
|
+
tiles: data.data.filter((blog) => blog.slug != slug).slice(0, limit).map((blog) => convertBlogToTileProps(blog)),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
console.error('Failed to fetch related blogs: ', error);
|
|
34
|
+
return {
|
|
35
|
+
success: false,
|
|
36
|
+
error: error.message,
|
|
37
|
+
tiles: [],
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export async function trendingBlogTiles(limit) {
|
|
42
|
+
try {
|
|
43
|
+
const endpoint = `/blog/getAllBlogTiles?status=posted${limit ? ("&limit=" + limit) : ""}`;
|
|
44
|
+
const data = await get(endpoint, false);
|
|
45
|
+
return {
|
|
46
|
+
success: true,
|
|
47
|
+
message: data.message,
|
|
48
|
+
tiles: data.data.map((blog) => convertBlogToTileProps(blog)),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
console.error('Failed to fetch trending blogs: ', error);
|
|
53
|
+
return {
|
|
54
|
+
success: false,
|
|
55
|
+
error: error.message,
|
|
56
|
+
tiles: [],
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export async function blogsByUsername(username, role) {
|
|
61
|
+
try {
|
|
62
|
+
// pending and admin blogs
|
|
63
|
+
const endpoint = `/blog/getBlogsByUsername/${role}/${username}`;
|
|
64
|
+
const data = await get(endpoint);
|
|
65
|
+
return {
|
|
66
|
+
success: true,
|
|
67
|
+
message: "fetch success",
|
|
68
|
+
tiles: data.data.map((blog) => convertBlogToTileProps(blog)),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
console.error('Failed to fetch blogs: ', error);
|
|
73
|
+
return {
|
|
74
|
+
success: false,
|
|
75
|
+
error: error.message,
|
|
76
|
+
tiles: [],
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
export async function getMyBlogs() {
|
|
81
|
+
try {
|
|
82
|
+
const endpoint = `/blog/getUserBlogs`;
|
|
83
|
+
const data = await get(endpoint);
|
|
84
|
+
return {
|
|
85
|
+
success: true,
|
|
86
|
+
message: "fetch success",
|
|
87
|
+
blogs: data.data,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
console.error('Failed to fetch blogs: ', error);
|
|
92
|
+
return {
|
|
93
|
+
success: false,
|
|
94
|
+
error: error.message,
|
|
95
|
+
blogs: [],
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
export async function getAdminBlogs() {
|
|
100
|
+
try {
|
|
101
|
+
const [pendingRes, activeRes] = await Promise.all([
|
|
102
|
+
get(`/blog/getAllBlogCards?status=pending`),
|
|
103
|
+
get(`/blog/getAllBlogCards?status=posted`),
|
|
104
|
+
]);
|
|
105
|
+
return { success: true, pending: pendingRes.data, active: activeRes.data };
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
return { success: false, pending: [], active: [], error: error.message };
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
export async function pendingBlogs() {
|
|
112
|
+
try {
|
|
113
|
+
const endpoint = `/blog/getAllBlogCards?status=pending`;
|
|
114
|
+
const data = await get(endpoint);
|
|
115
|
+
return {
|
|
116
|
+
success: true,
|
|
117
|
+
message: "fetch success",
|
|
118
|
+
blogs: data.data,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
console.error('Failed to fetch blogs: ', error);
|
|
123
|
+
return {
|
|
124
|
+
success: false,
|
|
125
|
+
error: error.message,
|
|
126
|
+
blogs: [],
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
export async function deleteBlog(slug) {
|
|
131
|
+
try {
|
|
132
|
+
const endpoint = `/blog/delete/${slug}`;
|
|
133
|
+
const data = await del(endpoint);
|
|
134
|
+
return {
|
|
135
|
+
success: true,
|
|
136
|
+
message: data.message,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
console.error('Failed to delete blog: ', error);
|
|
141
|
+
return {
|
|
142
|
+
success: false,
|
|
143
|
+
error: error.message,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
export async function blogDetails(id) {
|
|
148
|
+
try {
|
|
149
|
+
const endpoint = `/blog/getBlogBySlug/${id}`;
|
|
150
|
+
const data = await get(endpoint, false);
|
|
151
|
+
return {
|
|
152
|
+
success: true,
|
|
153
|
+
message: "fetch success",
|
|
154
|
+
blog: data.blog,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
console.error('Failed to fetch blogs: ', error);
|
|
159
|
+
return {
|
|
160
|
+
success: false,
|
|
161
|
+
error: error.message,
|
|
162
|
+
blog: null,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
export async function blogMetaData(slug) {
|
|
167
|
+
try {
|
|
168
|
+
const endpoint = `/blog/getBlogMetaData/${slug}`;
|
|
169
|
+
const data = await get(endpoint, false);
|
|
170
|
+
const blog = data.data;
|
|
171
|
+
return {
|
|
172
|
+
success: true,
|
|
173
|
+
message: data.message,
|
|
174
|
+
metadata: {
|
|
175
|
+
image: blog.blogImages?.[0] || "/images/placeholder.svg",
|
|
176
|
+
title: blog.title || 'Trippeaze Blog',
|
|
177
|
+
overview: blog.overview || 'Volunteer travel exchange platform - connect with global hosts and opportunities.',
|
|
178
|
+
hashtags: blog.hashtags || "",
|
|
179
|
+
},
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
console.error('Failed to add oppotunities by status: ', error);
|
|
184
|
+
return {
|
|
185
|
+
success: false,
|
|
186
|
+
error: error.message,
|
|
187
|
+
metadata: null
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
export async function createBlog(formData) {
|
|
192
|
+
try {
|
|
193
|
+
const endpoint = `/blog/create`;
|
|
194
|
+
const data = await post(endpoint, formData);
|
|
195
|
+
return {
|
|
196
|
+
success: true,
|
|
197
|
+
slug: data.data,
|
|
198
|
+
message: data.message,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
catch (error) {
|
|
202
|
+
console.error("Failed to save blog: ", error);
|
|
203
|
+
return {
|
|
204
|
+
success: false,
|
|
205
|
+
error: error.message,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
export async function editBlog(formData, slug) {
|
|
210
|
+
try {
|
|
211
|
+
const endpoint = `/blog/update/${slug}`;
|
|
212
|
+
const data = await patch(endpoint, formData);
|
|
213
|
+
return {
|
|
214
|
+
success: true,
|
|
215
|
+
slug: data.data,
|
|
216
|
+
message: data.message,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
catch (error) {
|
|
220
|
+
console.error("Failed to save blog: ", error);
|
|
221
|
+
return {
|
|
222
|
+
success: false,
|
|
223
|
+
error: error.message,
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
export async function toggleBlogLike(slug) {
|
|
228
|
+
try {
|
|
229
|
+
const endpoint = `/blog/${slug}/toogleLike`;
|
|
230
|
+
const data = await get(endpoint);
|
|
231
|
+
return {
|
|
232
|
+
success: true,
|
|
233
|
+
message: data.message,
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
catch (error) {
|
|
237
|
+
console.error(error);
|
|
238
|
+
return {
|
|
239
|
+
success: false,
|
|
240
|
+
error: error,
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
}
|
|
@@ -9,6 +9,19 @@ export declare function createBooking(bookingData: CreateBookingRequest): Promis
|
|
|
9
9
|
message?: string;
|
|
10
10
|
error?: string;
|
|
11
11
|
}>;
|
|
12
|
+
export declare function createGuestBooking(bookingData: CreateBookingRequest): Promise<{
|
|
13
|
+
success: true;
|
|
14
|
+
booking: Booking;
|
|
15
|
+
razorpayOrderId: string | undefined;
|
|
16
|
+
razorpayKeyId: string | undefined;
|
|
17
|
+
amount: number | undefined;
|
|
18
|
+
currency: string | undefined;
|
|
19
|
+
message: string;
|
|
20
|
+
} | {
|
|
21
|
+
success: false;
|
|
22
|
+
booking: null;
|
|
23
|
+
error: any;
|
|
24
|
+
}>;
|
|
12
25
|
export declare function verifyBookingPayment(payload: {
|
|
13
26
|
bookingId: string;
|
|
14
27
|
razorpay_order_id: string;
|
|
@@ -20,12 +33,23 @@ export declare function verifyBookingPayment(payload: {
|
|
|
20
33
|
message?: string;
|
|
21
34
|
error?: string;
|
|
22
35
|
}>;
|
|
23
|
-
export declare function
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
36
|
+
export declare function verifyGuestBookingPayment(payload: {
|
|
37
|
+
bookingId: string;
|
|
38
|
+
razorpay_order_id: string;
|
|
39
|
+
razorpay_payment_id: string;
|
|
40
|
+
razorpay_signature: string;
|
|
41
|
+
}): Promise<{
|
|
42
|
+
success: true;
|
|
43
|
+
booking: Booking;
|
|
44
|
+
message: string;
|
|
45
|
+
error?: undefined;
|
|
46
|
+
} | {
|
|
47
|
+
success: false;
|
|
48
|
+
booking: null;
|
|
49
|
+
error: any;
|
|
50
|
+
message?: undefined;
|
|
28
51
|
}>;
|
|
52
|
+
export declare function getBookingConfirmation<T>(bookingId: string, bookingCode: string): Promise<T>;
|
|
29
53
|
export declare function getBookingById(bookingId: string): Promise<{
|
|
30
54
|
success: boolean;
|
|
31
55
|
booking: Booking | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"booking.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/booking.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"booking.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/booking.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAgBlE,wBAAsB,aAAa,CAAC,WAAW,EAAE,oBAAoB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAarP;AAED,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,oBAAoB;;;;;;;;;;;;GAMzE;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAQvP;AAED,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;GAOjK;AAED,wBAAsB,sBAAsB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAIlG;AAED,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBhJ;AAED,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBlO"}
|