@myrjfa/state 3.0.7 → 3.0.9
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/lib/actions/adminDashboard.d.ts.map +1 -1
- package/dist/lib/actions/adminDashboard.js +2 -1
- package/dist/lib/actions/adventure.d.ts.map +1 -1
- package/dist/lib/actions/adventure.js +3 -2
- package/dist/lib/actions/application.d.ts +5 -3
- package/dist/lib/actions/application.d.ts.map +1 -1
- package/dist/lib/actions/application.js +46 -2
- package/dist/lib/actions/auth.d.ts +18 -3
- package/dist/lib/actions/auth.d.ts.map +1 -1
- package/dist/lib/actions/auth.js +22 -0
- package/dist/lib/actions/blog.d.ts.map +1 -1
- package/dist/lib/actions/blog.js +4 -2
- package/dist/lib/actions/booking.d.ts +29 -1
- package/dist/lib/actions/booking.d.ts.map +1 -1
- package/dist/lib/actions/booking.js +186 -0
- package/dist/lib/actions/brand.d.ts +7 -0
- package/dist/lib/actions/brand.d.ts.map +1 -1
- package/dist/lib/actions/brand.js +4 -0
- package/dist/lib/actions/chat.d.ts +3 -0
- package/dist/lib/actions/chat.d.ts.map +1 -1
- package/dist/lib/actions/chat.js +40 -1
- package/dist/lib/actions/community.d.ts +5 -2
- package/dist/lib/actions/community.d.ts.map +1 -1
- package/dist/lib/actions/community.js +16 -4
- package/dist/lib/actions/companion.d.ts +27 -15
- package/dist/lib/actions/companion.d.ts.map +1 -1
- package/dist/lib/actions/companion.js +22 -15
- package/dist/lib/actions/companionUpload.d.ts +11 -0
- package/dist/lib/actions/companionUpload.d.ts.map +1 -0
- package/dist/lib/actions/companionUpload.js +14 -0
- package/dist/lib/actions/event.d.ts +1 -1
- package/dist/lib/actions/event.d.ts.map +1 -1
- package/dist/lib/actions/event.js +8 -4
- package/dist/lib/actions/fetcher.d.ts +9 -3
- package/dist/lib/actions/fetcher.d.ts.map +1 -1
- package/dist/lib/actions/fetcher.js +60 -15
- package/dist/lib/actions/guide.d.ts.map +1 -1
- package/dist/lib/actions/guide.js +4 -2
- package/dist/lib/actions/homeBanner.d.ts +8 -0
- package/dist/lib/actions/homeBanner.d.ts.map +1 -0
- package/dist/lib/actions/homeBanner.js +33 -0
- package/dist/lib/actions/hostDashboard.d.ts +1 -11
- package/dist/lib/actions/hostDashboard.d.ts.map +1 -1
- package/dist/lib/actions/hostDashboard.js +1 -146
- package/dist/lib/actions/itinerary.d.ts +1 -1
- package/dist/lib/actions/itinerary.d.ts.map +1 -1
- package/dist/lib/actions/itinerary.js +2 -2
- package/dist/lib/actions/listingInterest.d.ts +2 -5
- package/dist/lib/actions/listingInterest.d.ts.map +1 -1
- package/dist/lib/actions/listingInterest.js +18 -3
- package/dist/lib/actions/location.d.ts +4 -0
- package/dist/lib/actions/location.d.ts.map +1 -1
- package/dist/lib/actions/location.js +10 -6
- package/dist/lib/actions/marketplaceContract.d.ts.map +1 -1
- package/dist/lib/actions/marketplaceContract.js +3 -2
- package/dist/lib/actions/nativeTransport.d.ts +25 -0
- package/dist/lib/actions/nativeTransport.d.ts.map +1 -0
- package/dist/lib/actions/nativeTransport.js +50 -0
- package/dist/lib/actions/notification.d.ts +54 -2
- package/dist/lib/actions/notification.d.ts.map +1 -1
- package/dist/lib/actions/notification.js +13 -1
- package/dist/lib/actions/opportunity.d.ts.map +1 -1
- package/dist/lib/actions/opportunity.js +3 -2
- package/dist/lib/actions/package.d.ts +5 -3
- package/dist/lib/actions/package.d.ts.map +1 -1
- package/dist/lib/actions/package.js +15 -9
- package/dist/lib/actions/portfolio.d.ts.map +1 -1
- package/dist/lib/actions/portfolio.js +2 -1
- package/dist/lib/actions/profile.d.ts +5 -0
- package/dist/lib/actions/profile.d.ts.map +1 -1
- package/dist/lib/actions/profile.js +15 -2
- package/dist/lib/actions/rental.d.ts.map +1 -1
- package/dist/lib/actions/rental.js +3 -2
- package/dist/lib/actions/review.d.ts +7 -0
- package/dist/lib/actions/review.d.ts.map +1 -1
- package/dist/lib/actions/review.js +65 -31
- package/dist/lib/actions/room.d.ts +0 -4
- package/dist/lib/actions/room.d.ts.map +1 -1
- package/dist/lib/actions/room.js +3 -2
- package/dist/lib/actions/serverActions.native.d.ts +4 -0
- package/dist/lib/actions/serverActions.native.d.ts.map +1 -0
- package/dist/lib/actions/serverActions.native.js +5 -0
- package/dist/lib/actions/socialAutomation.d.ts.map +1 -1
- package/dist/lib/actions/socialAutomation.js +3 -2
- package/dist/lib/actions/socket.d.ts.map +1 -1
- package/dist/lib/actions/socket.js +6 -5
- package/dist/lib/actions/stay.d.ts +14 -1
- package/dist/lib/actions/stay.d.ts.map +1 -1
- package/dist/lib/actions/stay.js +32 -4
- package/dist/lib/actions/store.d.ts +1 -0
- package/dist/lib/actions/store.d.ts.map +1 -1
- package/dist/lib/actions/store.js +9 -0
- package/dist/lib/actions/user.d.ts +2 -0
- package/dist/lib/actions/user.d.ts.map +1 -1
- package/dist/lib/actions/user.js +5 -0
- package/dist/lib/companion/discoveryPrefill.d.ts +17 -0
- package/dist/lib/companion/discoveryPrefill.d.ts.map +1 -1
- package/dist/lib/companion/discoveryPrefill.js +20 -0
- package/dist/lib/context/ChatContext.d.ts.map +1 -1
- package/dist/lib/context/ChatContext.js +59 -51
- package/dist/lib/data/catalogueLocations.d.ts +3 -0
- package/dist/lib/data/catalogueLocations.d.ts.map +1 -0
- package/dist/lib/data/catalogueLocations.js +21 -0
- package/dist/lib/data/skills.d.ts +5 -0
- package/dist/lib/data/skills.d.ts.map +1 -0
- package/dist/lib/data/skills.js +97 -0
- package/dist/lib/forms/application.d.ts +4 -0
- package/dist/lib/forms/application.d.ts.map +1 -0
- package/dist/lib/forms/application.js +17 -0
- package/dist/lib/forms/packageEnquiry.d.ts +4 -0
- package/dist/lib/forms/packageEnquiry.d.ts.map +1 -0
- package/dist/lib/forms/packageEnquiry.js +12 -0
- package/dist/lib/forms/review.d.ts +6 -0
- package/dist/lib/forms/review.d.ts.map +1 -0
- package/dist/lib/forms/review.js +20 -0
- package/dist/lib/hooks/useSubmissionGuard.d.ts +2 -0
- package/dist/lib/hooks/useSubmissionGuard.d.ts.map +1 -0
- package/dist/lib/hooks/useSubmissionGuard.js +12 -0
- package/dist/lib/hooks/useUploadTasks.d.ts +7 -0
- package/dist/lib/hooks/useUploadTasks.d.ts.map +1 -0
- package/dist/lib/hooks/useUploadTasks.js +11 -0
- package/dist/lib/models/application.d.ts +21 -0
- package/dist/lib/models/application.d.ts.map +1 -1
- package/dist/lib/models/authorization.d.ts +1 -1
- package/dist/lib/models/authorization.d.ts.map +1 -1
- package/dist/lib/models/authorization.js +2 -0
- package/dist/lib/models/blog.d.ts +2 -2
- package/dist/lib/models/booking.d.ts +3 -0
- package/dist/lib/models/booking.d.ts.map +1 -1
- package/dist/lib/models/chat.d.ts +8 -0
- package/dist/lib/models/chat.d.ts.map +1 -1
- package/dist/lib/models/chat.js +10 -0
- package/dist/lib/models/community.d.ts +15 -0
- package/dist/lib/models/community.d.ts.map +1 -1
- package/dist/lib/models/community.js +2 -1
- package/dist/lib/models/companion.d.ts +46 -0
- package/dist/lib/models/companion.d.ts.map +1 -1
- package/dist/lib/models/discount.d.ts +20 -20
- package/dist/lib/models/enquiry.d.ts +13 -0
- package/dist/lib/models/enquiry.d.ts.map +1 -1
- package/dist/lib/models/homeBanner.d.ts +17 -0
- package/dist/lib/models/homeBanner.d.ts.map +1 -0
- package/dist/lib/models/homeBanner.js +1 -0
- package/dist/lib/models/interest.d.ts +42 -0
- package/dist/lib/models/interest.d.ts.map +1 -0
- package/dist/lib/models/interest.js +1 -0
- package/dist/lib/models/location.d.ts +1 -0
- package/dist/lib/models/location.d.ts.map +1 -1
- package/dist/lib/models/notifications.d.ts +30 -2
- package/dist/lib/models/notifications.d.ts.map +1 -1
- package/dist/lib/models/notifications.js +6 -0
- package/dist/lib/models/opportunities/freelance.d.ts +37 -4
- package/dist/lib/models/opportunities/freelance.d.ts.map +1 -1
- package/dist/lib/models/opportunities/internship.d.ts +37 -4
- package/dist/lib/models/opportunities/internship.d.ts.map +1 -1
- package/dist/lib/models/opportunities/job.d.ts +37 -4
- package/dist/lib/models/opportunities/job.d.ts.map +1 -1
- package/dist/lib/models/opportunities/opportunity.d.ts +38 -5
- package/dist/lib/models/opportunities/opportunity.d.ts.map +1 -1
- package/dist/lib/models/opportunities/opportunity.js +1 -1
- package/dist/lib/models/opportunities/volunteerJob.d.ts +37 -4
- package/dist/lib/models/opportunities/volunteerJob.d.ts.map +1 -1
- package/dist/lib/models/pricing.d.ts +2 -0
- package/dist/lib/models/pricing.d.ts.map +1 -1
- package/dist/lib/models/pricing.js +4 -0
- package/dist/lib/models/props.d.ts +4 -43
- package/dist/lib/models/props.d.ts.map +1 -1
- package/dist/lib/models/props.js +3 -121
- package/dist/lib/models/question.d.ts +14 -0
- package/dist/lib/models/question.d.ts.map +1 -0
- package/dist/lib/models/question.js +6 -0
- package/dist/lib/models/review.d.ts +13 -1
- package/dist/lib/models/review.d.ts.map +1 -1
- package/dist/lib/models/review.js +4 -0
- package/dist/lib/models/tile.d.ts +7 -1
- package/dist/lib/models/tile.d.ts.map +1 -1
- package/dist/lib/models/travelPackage.d.ts +37 -4
- package/dist/lib/models/travelPackage.d.ts.map +1 -1
- package/dist/lib/models/travelPackage.js +1 -1
- package/dist/lib/models/user.d.ts +25 -2
- package/dist/lib/models/user.d.ts.map +1 -1
- package/dist/lib/models/user.js +1 -0
- package/dist/lib/userAtom.d.ts +30 -5
- package/dist/lib/userAtom.d.ts.map +1 -1
- package/dist/lib/utils/entityTiles.d.ts.map +1 -1
- package/dist/lib/utils/entityTiles.js +3 -2
- package/dist/lib/utils/htmlDescription.d.ts +3 -0
- package/dist/lib/utils/htmlDescription.d.ts.map +1 -0
- package/dist/lib/utils/htmlDescription.js +7 -0
- package/dist/lib/utils/htmlDescription.native.d.ts +3 -0
- package/dist/lib/utils/htmlDescription.native.d.ts.map +1 -0
- package/dist/lib/utils/htmlDescription.native.js +7 -0
- package/dist/lib/utils/text.d.ts +5 -1
- package/dist/lib/utils/text.d.ts.map +1 -1
- package/dist/lib/utils/text.js +18 -6
- package/dist/lib/utils/uploadFile.d.ts +9 -0
- package/dist/lib/utils/uploadFile.d.ts.map +1 -0
- package/dist/lib/utils/uploadFile.js +9 -0
- package/dist/lib/utils/uploadTasks.d.ts +76 -0
- package/dist/lib/utils/uploadTasks.d.ts.map +1 -0
- package/dist/lib/utils/uploadTasks.js +102 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/brand.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,0BAA0B,EAC3B,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/brand.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,0BAA0B,EAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,wBAAsB,WAAW,CAAC,IAAI,SAAI,EAAE,QAAQ,SAAK;WAEpB,YAAY,EAAE;WAAS,MAAM;UAAQ,MAAM;gBAAc,MAAM;GACnG;AAED,YAAY,EACV,aAAa,EACb,aAAa,EACb,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAOD;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACxD,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAOD;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,eAAe,GAAG,qBAAqB,GAAG,YAAY,GAAG,UAAU,CAAC;IACvF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,GACA,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAO3D;AAED,wBAAsB,8BAA8B,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAG5F;AAED,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,SAAS,GAAG,QAAQ,EAC9B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,0BAA0B,CAAC,CAMrC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { get, post, put } from "./fetcher";
|
|
2
|
+
export async function fetchBrands(page = 1, location = "") {
|
|
3
|
+
const query = new URLSearchParams({ page: String(page), limit: "12", ...(location ? { location } : {}) });
|
|
4
|
+
return (await get(`/brands?${query}`, false)).data;
|
|
5
|
+
}
|
|
2
6
|
export async function fetchBrandPage(slug) {
|
|
3
7
|
try {
|
|
4
8
|
const data = await get(`/brands/${slug}`);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ChatActorModel, ChatActorRef, ChatEvent, ChatGroupInvite, ChatGroupJoinRequest, ChatPaymentIntent, ChatPaymentDetailRequest, ChatBusinessProfile, ChatQuickReply, ChatHostConversationState, ChatOwnedListing, ChatCopilotResult, ChatAIActionProposal, ChatLiveLocation, ChatCampaignDraft, ChatHostKnowledgeSource, ChatAssistantSnapshot, ChatAssistantMessage, ChatAssistantSendResult, ChatAssistantProposal, ChatAssistantOpportunityStatusResult, ChatSafetyAlert, ChatPaymentProfile, Conversation, ConversationPreference, ConversationSearchResponse, ConversationStorageSummary, Message, PinnedMessage, StarredMessage, SharedChatCardInput, LinkedListingGroup, ListingAudience, ManagedListingGroup } from "../models/chat";
|
|
2
|
+
import { type UploadFile } from '../utils/uploadFile';
|
|
2
3
|
export declare const normalizeChatMessage: (message: any) => Message;
|
|
3
4
|
export declare const normalizeConversation: (conversation: any) => Conversation;
|
|
4
5
|
export declare const chatApi: {
|
|
@@ -123,6 +124,8 @@ export declare const chatApi: {
|
|
|
123
124
|
data: null;
|
|
124
125
|
error: unknown;
|
|
125
126
|
}>;
|
|
127
|
+
/** Same upload/send phases used by web chat, with native URI multipart support. */
|
|
128
|
+
sendTravellerAttachments: (convId: string, text: string, files: UploadFile[], replyTo?: string) => Promise<Message>;
|
|
126
129
|
sendSharedCard: (convId: string, data: SharedChatCardInput) => Promise<Message>;
|
|
127
130
|
editMessage: (id: string, text: string) => Promise<Message | null>;
|
|
128
131
|
addMessageReaction: (id: string, emoji: string) => Promise<Message | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,cAAc,EACd,YAAY,EACZ,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,cAAc,EACd,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,oCAAoC,EACpC,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,OAAO,EAEP,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACtB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,cAAc,EACd,YAAY,EACZ,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,cAAc,EACd,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,oCAAoC,EACpC,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,OAAO,EAEP,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAWxE,eAAO,MAAM,oBAAoB,GAAI,SAAS,GAAG,KAAG,OA6BlD,CAAC;AAEH,eAAO,MAAM,qBAAqB,GAAI,cAAc,GAAG,KAAG,YA4DxD,CAAC;AAyCH,eAAO,MAAM,OAAO;wBAGQ,OAAO,CAAC,qBAAqB,CAAC;qCAIf;QACnC,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,gBAAgB,CAAC,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;KAC/D,KAAG,OAAO,CAAC,qBAAqB,CAAC;iCAIC,MAAM,aAAa,MAAM,qBAAqB,MAAM,GAAG,IAAI,WAAW,WAAW,gBAAgB,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,KAAG,OAAO,CAAC,uBAAuB,CAAC;wCAInM,MAAM,KAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;kDAI7B,MAAM,SAAS;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAG,OAAO,CAAC,oBAAoB,CAAC;6CAI3F,MAAM,KAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;6CAK5E,MAAM,SACL;QAAE,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAA;KAAE,KACzC,OAAO,CAAC,oCAAoC,CAAC;yCAQtC,MAAM,SACL;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAA;KAAE,KAC3D,OAAO,CAAC,oCAAoC,CAAC;iCAOf,OAAO,CAAC,qBAAqB,EAAE,CAAC;0CAIrB,MAAM,WAAW,OAAO,KAAG,OAAO,CAAC,qBAAqB,CAAC;0CAQxF,MAAM,UACP,UAAU,GAAG,WAAW,GAAG,WAAW,KAC/C,OAAO,CAAC,eAAe,CAAC;gCAIO,MAAM;;oBAIM,cAAc;;;;;wBAMlC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,cAAc,CAAA;SAAE,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;mCAIjI;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,eAAe,CAAA;KAAE;uBAClD,MAAM;;4CAGjB,MAAM,aAAa,MAAM,KAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;kCAKpE;QAChC,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,eAAe,CAAC;QAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,yBAAyB,CAAC,EAAE,OAAO,CAAC;QACpC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;KAC3B;gDAIiD,MAAM,WAAW,OAAO;gDAIxB,MAAM,UAAU,MAAM;yCAI7B,MAAM;wBACQ,MAAM;kBAAY,OAAO;;2CAGrC,MAAM,aAAa,MAAM,KAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;gCAMpE;QAC9B,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,CAAC;QAC3E,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB;0BAiB2B,MAAM;+BAUD;QAC7B,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,cAAc,CAAC;QACjC,OAAO,CAAC,EAAE;YACN,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,gBAAgB,GAAG,eAAe,GAAG,eAAe,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;YACjK,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,WAAW,CAAC,EAAE,MAAM,CAAC;SACxB,CAAC;KACL;6BAS8B,MAAM,QAAQ,GAAG;6BASjB,MAAM;0BAST,MAAM,kBAAkB;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,cAAc,CAAA;KAAE,EAAE;gCASnE,MAAM,WAAW,MAAM,cAAc,cAAc;gCASnD,MAAM,WAAW,MAAM,cAAc,cAAc,QAAQ;QAAE,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAA;KAAE;0BAWjG,MAAM,WAAW;QACzC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB;yBAe0B,MAAM,MAAM,MAAM;;eAED,MAAM;;;;;0BAUtB,MAAM,QAAQ,GAAG;;;;;;;IAS7C,mFAAmF;uCAC1C,MAAM,QAAQ,MAAM,SAAS,UAAU,EAAE,YAAY,MAAM;6BAgBxF,MAAM,QACR,mBAAmB;sBAKL,MAAM,QAAQ,MAAM;6BASb,MAAM,SAAS,MAAM;wBAS1B,MAAM;sBASR,MAAM,SAAS,MAAM;yBASlB,MAAM;uBASR,MAAM,cAAc,MAAM,EAAE;iCAUlB,MAAM,eAAe,cAAc;iBACJ,OAAO;;kCAMrC,MAAM,WAAW,MAAM,cAAc,cAAc,mBAAmB,MAAM,GAAG,IAAI;oCAOjF,MAAM;uCAKpC,MAAM,QACJ;QACF,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,iBAAiB,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;QAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB;iCAK8B,MAAM;mCAIJ,MAAM,eAAe,cAAc;iBACP,OAAO;;+BAKvC,MAAM,eAAe,cAAc;mBAGzC,OAAO;oBAAc,OAAO;;wBAK7B,MAAM,KAAG,OAAO,CAAC,SAAS,EAAE,CAAC;0BAI3B,MAAM,QAAQ,GAAG,KAAG,OAAO,CAAC,SAAS,CAAC;2BAIrC,MAAM,QAAQ,GAAG,KAAG,OAAO,CAAC,SAAS,CAAC;2BAItC,MAAM;yBAIR,MAAM,UAAU,OAAO,GAAG,OAAO,GAAG,WAAW,KAAG,OAAO,CAAC,SAAS,CAAC;mCAIhE,MAAM;gCAEH,MAAM,QAAQ;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAAG,OAAO,CAAC,eAAe,CAAC;8BAI7H,MAAM,KAAG,OAAO,CAAC,eAAe,EAAE,CAAC;kCAI/B,MAAM;gCAIR,MAAM;mCAIH,MAAM,KAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;wCAInC,MAAM,UAAU,UAAU,GAAG,UAAU;iCAI9C,MAAM,WAAW,MAAM;4BAI5B,MAAM,QAAQ;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,YAAY,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;6BAIjF,OAAO,CAAC,kBAAkB,CAAC;oCAIlB,KAAK,CAAC;QACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC,KAAG,OAAO,CAAC,kBAAkB,CAAC;sCAIQ,MAAM,UAAU,YAAY;kCAMhC,MAAM,KAAG,OAAO,CAAC;QAAE,OAAO,EAAE,wBAAwB,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;uCAOpE,MAAM,KAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC;oCAOzE,MAAM,UACN,YAAY,KACrB,OAAO,CAAC;QAAE,OAAO,EAAE,wBAAwB,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;+CAQpD,MAAM,YACP,OAAO,cACN,MAAM,EAAE,KACpB,OAAO,CAAC;QAAE,OAAO,EAAE,wBAAwB,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;gCAOjC,MAAM,KAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;kCAInC,MAAM,QAAQ,GAAG,KAAG,OAAO,CAAC,iBAAiB,CAAC;2CAIrC,MAAM,QAAQ;QACvD,iBAAiB,EAAE,MAAM,CAAC;QAC1B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,kBAAkB,EAAE,MAAM,CAAC;KAC9B,KAAG,OAAO,CAAC,iBAAiB,CAAC;4CAIgB,MAAM,+BAA6B,MAAM,KAAG,OAAO,CAAC,iBAAiB,CAAC;kCAIlF,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;sCAI7B,OAAO,CAAC,mBAAmB,CAAC,KAAG,OAAO,CAAC,mBAAmB,CAAC;+BAIpE,OAAO,CAAC,cAAc,EAAE,CAAC;+BAIvB,OAAO,CAAC,cAAc,CAAC,iBAAiB,MAAM,KAAG,OAAO,CAAC,cAAc,CAAC;yCAM9D,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;+CAGhB,MAAM,KAAG,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;qCAI9D,OAAO,CAAC,yBAAyB,EAAE,CAAC;kDAIrB,MAAM,QAAQ,OAAO,CAAC,yBAAyB,CAAC,GAAG;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAG,OAAO,CAAC,yBAAyB,CAAC;uDAI7I,OAAO,CAAC,gBAAgB,EAAE,CAAC;2CAK1D,MAAM,WACb,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,UAAU,CAAC,KAC1D,OAAO,CAAC,OAAO,CAAC;8CAO6B,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;sCAIjC,MAAM,aAAa,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;oCAQhE,MAAM,QAChB;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAC5G,OAAO,CAAC,OAAO,CAAC;uCAQC,MAAM,QAEhB;QACE,IAAI,EAAE,cAAc,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,WAAW,GAAG,YAAY,GAAG,aAAa,CAAC;QACnD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,GACC;QACE,IAAI,EAAE,WAAW,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,KACN,OAAO,CAAC,OAAO,CAAC;mDAQC,MAAM,QAChB;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,YAC7H;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAClC,OAAO,CAAC,iBAAiB,CAAC;+CAIoB,MAAM,QAAQ;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,OAAO,CAAC;2CAKtG,MAAM,WACb,MAAM,KAChB,OAAO,CAAC;QAAE,QAAQ,CAAC,EAAE,oBAAoB,CAAC;QAAC,KAAK,CAAC,EAAE,iBAAiB,CAAA;KAAE,CAAC;uCAOjC,MAAM,WAAW,OAAO,KAAG,OAAO,CAAC,oBAAoB,CAAC;sDAK7E,MAAM,WACb,wBAAwB,GAAG,sBAAsB,GAAG,gBAAgB,WACpE,OAAO,KACjB,OAAO,CAAC,IAAI,CAAC;6BAGa,OAAO,CAAC,iBAAiB,EAAE,CAAC;uDAKrC,MAAM,KACvB,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,wBAAwB,GAAG,sBAAsB,GAAG,gBAAgB,CAAC;QAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;gCAMjG,OAAO,CAAC,iBAAiB,CAAC,KAAG,OAAO,CAAC,iBAAiB,CAAC;iCAKzE,MAAM,QACZ;QAAE,MAAM,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,KACxE,OAAO,CAAC,iBAAiB,CAAC;uCAIU,OAAO,CAAC,uBAAuB,EAAE,CAAC;wCAK/D,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,KAC9D,OAAO,CAAC,uBAAuB,CAAC;8CAMa,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;6CAGvB,MAAM,KAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;wCAIzC,MAAM,QAAQ;QACpD,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;KACnG,KAAG,OAAO,CAAC,gBAAgB,CAAC;yCAIc,MAAM,QAAQ;QACrD,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC1D,KAAG,OAAO,CAAC,gBAAgB,CAAC;yCAIc,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;4BAKnC,MAAM;8BAUJ,MAAM,QAAQ,GAAG;;eAEJ,MAAM;;;;;0BAOvB,MAAM,SAAS,MAAM;;eAEH,MAAM;;;;;0BAOxB,MAAM,QAAQ,GAAG;;eAEC,MAAM;;;;;0BAOxB,MAAM;eAEU,MAAM;cAAQ,GAAG;;;;;0BASjC,MAAM;4BAUJ,MAAM,QAAQ,GAAG;eAEF,MAAM;cAAQ,GAAG;;;;;wBAOpC,MAAM,QAAQ,GAAG;eAEG,MAAM;cAAQ,GAAG;;;;;sBAOvC,MAAM,iBAAiB,MAAM,UAAU,MAAM,oBAAoB,cAAc;eAE1D,MAAM;cAAQ,GAAG;;;;;wBAOpC,MAAM;eAEY,MAAM;cAAQ,GAAG;;;;;0BAOjC,MAAM;mCAkBG,MAAM;4BASb,QAAQ,qBAAqB,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;eAEvC,MAAM;cAAQ,GAAG;;;;;4BAOhC,IAAI,aAAa,MAAM;cAOnC,MAAM;kBACF,MAAM,GAAG,IAAI;kBACb,MAAM;eACT,MAAM;;kCAKW,MAAM;uBAUjB,MAAM;0BAUH,MAAM;yBASP,MAAM,QAAQ,GAAG;eAEC,MAAM;cAAQ,OAAO;;;;;yBAOvC,MAAM,QAAQ;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE;;eAE1D,MAAM;;;;;yCAQxC,MAAM,UACN;QACJ,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,cAAc,CAAC;QAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,KACF,OAAO,CAAC,0BAA0B,CAAC;+BAcL,MAAM,WAAW,MAAM,WAAW,MAAM;;iBAGvB,MAAM;qBAA6B,MAAM,GAAG,IAAI;;qCAW3D,MAAM,KAAG,OAAO,CAAC,0BAA0B,CAAC;6BAIpD,MAAM;+BAIJ,MAAM;oCAID,MAAM;mBACS,MAAM;sBAAgB,OAAO;;gCAMhD,MAAM,yBAAyB,MAAM,EAAE;;;;iCAUtC,MAAM,WAAW,MAAM,KAAG,OAAO,CAAC,cAAc,EAAE,CAAC;4BASxD,MAAM,cAAc,MAAM;8BAIxB,MAAM;gCAIJ,MAAM,KAAG,OAAO,CAAC,aAAa,EAAE,CAAC;uBAS1C,MAAM,eAAe,MAAM;;eAEN,MAAM;;;;;CAOvD,CAAC"}
|
package/dist/lib/actions/chat.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { get, post, patch, put, del } from "./fetcher";
|
|
2
|
+
import { getNativeTransport, nativeInteractionGuard } from "./nativeTransport";
|
|
3
|
+
import { appendUploadFile } from '../utils/uploadFile';
|
|
4
|
+
import { runUploadTask } from '../utils/uploadTasks';
|
|
2
5
|
const BASE_PATH = "/chat";
|
|
3
6
|
const idString = (value) => String(value || "");
|
|
4
7
|
const normalizeActorRef = (actor) => ({
|
|
@@ -240,6 +243,8 @@ export const chatApi = {
|
|
|
240
243
|
return (response.data || []).map(normalizeConversation);
|
|
241
244
|
}
|
|
242
245
|
catch (error) {
|
|
246
|
+
if (getNativeTransport())
|
|
247
|
+
throw error;
|
|
243
248
|
console.error(error);
|
|
244
249
|
return [];
|
|
245
250
|
}
|
|
@@ -250,6 +255,8 @@ export const chatApi = {
|
|
|
250
255
|
return response.data ? normalizeConversation(response.data) : null;
|
|
251
256
|
}
|
|
252
257
|
catch (error) {
|
|
258
|
+
if (getNativeTransport())
|
|
259
|
+
throw error;
|
|
253
260
|
console.error(error);
|
|
254
261
|
return null;
|
|
255
262
|
}
|
|
@@ -330,6 +337,8 @@ export const chatApi = {
|
|
|
330
337
|
return (response.data || []).map(normalizeChatMessage);
|
|
331
338
|
}
|
|
332
339
|
catch (error) {
|
|
340
|
+
if (getNativeTransport())
|
|
341
|
+
throw error;
|
|
333
342
|
console.error(error);
|
|
334
343
|
return [];
|
|
335
344
|
}
|
|
@@ -357,6 +366,28 @@ export const chatApi = {
|
|
|
357
366
|
return { data: null, error };
|
|
358
367
|
}
|
|
359
368
|
},
|
|
369
|
+
/** Same upload/send phases used by web chat, with native URI multipart support. */
|
|
370
|
+
sendTravellerAttachments: async (convId, text, files, replyTo) => {
|
|
371
|
+
if (!files.length || files.length > 5)
|
|
372
|
+
throw new Error('Choose 1–5 attachments');
|
|
373
|
+
const assertActor = nativeInteractionGuard();
|
|
374
|
+
return runUploadTask({ title: 'Chat attachments', completeLabel: 'Message sent', retrySafe: false, href: `/conversation/${convId}`, operation: async ({ progress, submitting, assertCurrent }) => {
|
|
375
|
+
const body = new FormData();
|
|
376
|
+
files.forEach(file => appendUploadFile(body, 'files', file));
|
|
377
|
+
const uploaded = await chatApi.uploadFiles(body, progress);
|
|
378
|
+
assertCurrent();
|
|
379
|
+
assertActor();
|
|
380
|
+
if (!uploaded.data?.files?.length)
|
|
381
|
+
throw new Error('Attachment upload could not be confirmed');
|
|
382
|
+
submitting();
|
|
383
|
+
const sent = await chatApi.sendMessage(convId, { text: text.trim(), media: uploaded.data.files, replyTo, type: 'media' });
|
|
384
|
+
assertCurrent();
|
|
385
|
+
assertActor();
|
|
386
|
+
if (sent.error || !sent.data)
|
|
387
|
+
throw new Error('Message confirmation is uncertain. Check the conversation before retrying.');
|
|
388
|
+
return sent.data;
|
|
389
|
+
} });
|
|
390
|
+
},
|
|
360
391
|
sendSharedCard: async (convId, data) => {
|
|
361
392
|
const response = await post(`${BASE_PATH}/conversations/${convId}/messages/shared-card`, data);
|
|
362
393
|
return normalizeChatMessage(response.data);
|
|
@@ -612,7 +643,7 @@ export const chatApi = {
|
|
|
612
643
|
return normalizeChatMessage(response.data);
|
|
613
644
|
},
|
|
614
645
|
requestChatAICommand: async (conversationId, command) => {
|
|
615
|
-
const response = await post(`${BASE_PATH}/conversations/${conversationId}/ai/command`, { command, idempotencyKey: crypto.randomUUID() });
|
|
646
|
+
const response = await post(`${BASE_PATH}/conversations/${conversationId}/ai/command`, { command, idempotencyKey: (getNativeTransport()?.randomUUID?.() ?? crypto.randomUUID()) });
|
|
616
647
|
return response.data;
|
|
617
648
|
},
|
|
618
649
|
decideChatAIProposal: async (proposalId, confirm) => {
|
|
@@ -673,6 +704,8 @@ export const chatApi = {
|
|
|
673
704
|
return (response.data || []).map(normalizeMilestone);
|
|
674
705
|
}
|
|
675
706
|
catch (error) {
|
|
707
|
+
if (getNativeTransport())
|
|
708
|
+
throw error;
|
|
676
709
|
console.error(error);
|
|
677
710
|
return [];
|
|
678
711
|
}
|
|
@@ -724,6 +757,8 @@ export const chatApi = {
|
|
|
724
757
|
return (response.data || []).map(normalizeExpense);
|
|
725
758
|
}
|
|
726
759
|
catch (error) {
|
|
760
|
+
if (getNativeTransport())
|
|
761
|
+
throw error;
|
|
727
762
|
console.error(error);
|
|
728
763
|
return [];
|
|
729
764
|
}
|
|
@@ -782,6 +817,8 @@ export const chatApi = {
|
|
|
782
817
|
} : null;
|
|
783
818
|
}
|
|
784
819
|
catch (error) {
|
|
820
|
+
if (getNativeTransport())
|
|
821
|
+
throw error;
|
|
785
822
|
console.error(error);
|
|
786
823
|
return null;
|
|
787
824
|
}
|
|
@@ -831,6 +868,8 @@ export const chatApi = {
|
|
|
831
868
|
return response.data;
|
|
832
869
|
}
|
|
833
870
|
catch (error) {
|
|
871
|
+
if (getNativeTransport())
|
|
872
|
+
throw error;
|
|
834
873
|
console.error(error);
|
|
835
874
|
return [];
|
|
836
875
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type UploadFile } from "../utils/uploadFile";
|
|
1
2
|
import type { CommunityComment, CommunityContent, CommunityEntitySearchKind, CommunityEntitySearchPage, CommunityModerationQueue, CommunityPlaceContentPage, CommunityPreferences, CommunitySearchPage, CommunityVideoPosterUpload, ContentPage, CreateCommunityContentInput, FeedPage } from "../models/community";
|
|
2
3
|
export declare const getCommunityFeed: (mode?: "for_you" | "following", cursor?: string, sessionId?: string) => Promise<FeedPage>;
|
|
3
4
|
export declare const getCommunityContent: (slug: string, authenticated?: boolean) => Promise<CommunityContent>;
|
|
@@ -7,7 +8,7 @@ export declare const getPlaceCommunityContent: (slugPath: string, cursor?: strin
|
|
|
7
8
|
export declare const searchCommunityContent: (query: string, cursor?: string) => Promise<CommunitySearchPage>;
|
|
8
9
|
export declare const searchCommunityEntities: (type: CommunityEntitySearchKind, query?: string, limit?: number) => Promise<CommunityEntitySearchPage>;
|
|
9
10
|
export declare const createCommunityContent: (input: CreateCommunityContentInput) => Promise<CommunityContent>;
|
|
10
|
-
export declare const uploadCommunityAssets: (files:
|
|
11
|
+
export declare const uploadCommunityAssets: (files: UploadFile[], videoPosters?: CommunityVideoPosterUpload[], onUploadProgress?: (percent: number) => void) => Promise<import("../models/community").CommunityMedia[]>;
|
|
11
12
|
export declare const updateCommunityContent: (id: string, input: Partial<CreateCommunityContentInput>) => Promise<CommunityContent>;
|
|
12
13
|
export declare const deleteCommunityContent: (id: string) => Promise<unknown>;
|
|
13
14
|
export declare const setCommunityReaction: (contentId: string, kind: "like" | "bookmark", enabled: boolean) => Promise<{
|
|
@@ -32,7 +33,9 @@ export declare const saveCommunityPreferences: (input: Partial<CommunityPreferen
|
|
|
32
33
|
export declare const getCommunityPreferences: () => Promise<CommunityPreferences>;
|
|
33
34
|
export declare const reportCommunityContent: (contentId: string, reason: string) => Promise<unknown>;
|
|
34
35
|
export declare const getCommunityModerationQueue: (limit?: number) => Promise<CommunityModerationQueue>;
|
|
35
|
-
export declare const moderateCommunityContent: (contentId: string, moderationState: "approved" | "rejected" | "hidden", reason?: string) => Promise<CommunityContent>;
|
|
36
|
+
export declare const moderateCommunityContent: (contentId: string, moderationState: "approved" | "rejected" | "hidden", reason?: string, processingVersion?: number) => Promise<CommunityContent>;
|
|
36
37
|
export declare const moderateCommunityComment: (commentId: string, moderationState: "approved" | "rejected" | "hidden", reason?: string) => Promise<CommunityComment>;
|
|
37
38
|
export declare const recordCommunityShare: (contentId: string) => Promise<unknown>;
|
|
39
|
+
export declare const retryCommunityAutomatedReview: (contentId: string, processingVersion: number) => Promise<CommunityContent>;
|
|
40
|
+
export declare const retryOwnCommunityProcessing: (contentId: string, processingVersion: number) => Promise<CommunityContent>;
|
|
38
41
|
//# sourceMappingURL=community.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"community.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/community.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpT,eAAO,MAAM,gBAAgB,GAAU,OAAM,SAAS,GAAG,WAAuB,EAAE,SAAS,MAAM,EAAE,YAAY,MAAM,sBAAkM,CAAC;AACxT,eAAO,MAAM,mBAAmB,GAAU,MAAM,MAAM,EAAE,uBAAoB,8BAAkH,CAAC;AAC/L,eAAO,MAAM,wBAAwB,GAAU,SAAS,MAAM,yBAAwH,CAAC;AACvL,eAAO,MAAM,yBAAyB,GAAU,WAAW,MAAM,GAAG,MAAM,EAAE,UAAU,MAAM,EAAE,SAAS,MAAM,yBAA+K,CAAC;AAC7R,eAAO,MAAM,wBAAwB,GAAU,UAAU,MAAM,EAAE,SAAS,MAAM,uCAAwL,CAAC;AACzQ,eAAO,MAAM,sBAAsB,GAAU,OAAO,MAAM,EAAE,SAAS,MAAM,iCAAgK,CAAC;AAC5O,eAAO,MAAM,uBAAuB,GAAU,MAAM,yBAAyB,EAAE,cAAU,EAAE,cAAU,uCAAuK,CAAC;AAC7Q,eAAO,MAAM,sBAAsB,GAAU,OAAO,2BAA2B,8BAA+E,CAAC;AAC/J,eAAO,MAAM,qBAAqB,GAAU,OAAO,
|
|
1
|
+
{"version":3,"file":"community.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/community.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { runUploadTask } from "../utils/uploadTasks";
|
|
2
|
+
import { appendUploadFile } from "../utils/uploadFile";
|
|
3
|
+
import { nativeInteractionGuard } from "./nativeTransport";
|
|
1
4
|
import { del, get, patch, post, put } from "./fetcher";
|
|
2
5
|
export const getCommunityFeed = async (mode = "for_you", cursor, sessionId) => (await get(`/community/feed?mode=${mode}${cursor ? `&cursor=${encodeURIComponent(cursor)}` : ""}${sessionId ? `&sessionId=${encodeURIComponent(sessionId)}` : ""}`)).data;
|
|
3
6
|
export const getCommunityContent = async (slug, authenticated = true) => (await get(`/community/content/${encodeURIComponent(slug)}`, authenticated)).data;
|
|
@@ -7,9 +10,10 @@ export const getPlaceCommunityContent = async (slugPath, cursor) => (await get(`
|
|
|
7
10
|
export const searchCommunityContent = async (query, cursor) => (await get(`/community/search?q=${encodeURIComponent(query)}${cursor ? `&cursor=${encodeURIComponent(cursor)}` : ""}`)).data;
|
|
8
11
|
export const searchCommunityEntities = async (type, query = "", limit = 12) => (await get(`/community/entities?type=${type}&q=${encodeURIComponent(query)}&limit=${Math.max(1, Math.min(limit, 20))}`)).data;
|
|
9
12
|
export const createCommunityContent = async (input) => (await post("/community/content", input)).data;
|
|
10
|
-
export const uploadCommunityAssets = async (files, videoPosters = []) => {
|
|
13
|
+
export const uploadCommunityAssets = async (files, videoPosters = [], onUploadProgress) => {
|
|
14
|
+
const assertCurrent = nativeInteractionGuard();
|
|
11
15
|
const form = new FormData();
|
|
12
|
-
files.slice(0, 10).forEach((file) => form
|
|
16
|
+
files.slice(0, 10).forEach((file) => appendUploadFile(form, "portfolio", file));
|
|
13
17
|
const validPosters = videoPosters
|
|
14
18
|
.filter(({ assetIndex }) => Number.isInteger(assetIndex) && assetIndex >= 0 && assetIndex < Math.min(files.length, 10))
|
|
15
19
|
.slice(0, 10);
|
|
@@ -17,7 +21,13 @@ export const uploadCommunityAssets = async (files, videoPosters = []) => {
|
|
|
17
21
|
form.append("videoPosterIndexes", JSON.stringify(validPosters.map(({ assetIndex }) => assetIndex)));
|
|
18
22
|
validPosters.forEach(({ file }) => form.append("videoPoster", file));
|
|
19
23
|
}
|
|
20
|
-
|
|
24
|
+
const upload = (progress) => post("/community/assets", form, true, { onUploadProgress: progress });
|
|
25
|
+
if (onUploadProgress) {
|
|
26
|
+
const response = await upload(onUploadProgress);
|
|
27
|
+
assertCurrent();
|
|
28
|
+
return response.data;
|
|
29
|
+
}
|
|
30
|
+
return (await runUploadTask({ title: 'Community media', retrySafe: true, href: typeof window === "undefined" || !window.location ? undefined : window.location.pathname, operation: ({ progress }) => upload(progress), resultHref: result => result.data[0]?.url })).data;
|
|
21
31
|
};
|
|
22
32
|
export const updateCommunityContent = async (id, input) => (await patch(`/community/content/${id}`, input)).data;
|
|
23
33
|
export const deleteCommunityContent = async (id) => (await del(`/community/content/${id}`)).data;
|
|
@@ -31,6 +41,8 @@ export const saveCommunityPreferences = async (input) => (await put("/community/
|
|
|
31
41
|
export const getCommunityPreferences = async () => (await get("/community/preferences")).data;
|
|
32
42
|
export const reportCommunityContent = async (contentId, reason) => (await post(`/community/content/${contentId}/report`, { reason })).data;
|
|
33
43
|
export const getCommunityModerationQueue = async (limit = 40) => (await get(`/community/moderation/queue?limit=${Math.max(1, Math.min(limit, 100))}`)).data;
|
|
34
|
-
export const moderateCommunityContent = async (contentId, moderationState, reason = "") => (await put(`/community/moderation/content/${contentId}`, { moderationState, reason })).data;
|
|
44
|
+
export const moderateCommunityContent = async (contentId, moderationState, reason = "", processingVersion = 0) => (await put(`/community/moderation/content/${contentId}`, { moderationState, reason, processingVersion })).data;
|
|
35
45
|
export const moderateCommunityComment = async (commentId, moderationState, reason = "") => (await put(`/community/moderation/comments/${commentId}`, { moderationState, reason })).data;
|
|
36
46
|
export const recordCommunityShare = async (contentId) => (await post(`/community/content/${contentId}/share`, {})).data;
|
|
47
|
+
export const retryCommunityAutomatedReview = async (contentId, processingVersion) => (await post(`/community/moderation/content/${encodeURIComponent(contentId)}/retry`, { processingVersion })).data;
|
|
48
|
+
export const retryOwnCommunityProcessing = async (contentId, processingVersion) => (await post(`/community/content/${encodeURIComponent(contentId)}/retry`, { processingVersion })).data;
|
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
import type { CompanionListingCard, CompanionListingSuggestions, CompanionSavedType, CompanionStandaloneKind } from "../models/companion";
|
|
1
|
+
import type { CompanionDiscoveryTraveler, CompanionDiscoveryTrip, CompanionListingCard, CompanionListingSuggestions, CompanionSavedType, CompanionStandaloneKind } from "../models/companion";
|
|
2
|
+
export declare function getCompanionEligibility(): Promise<{
|
|
3
|
+
eligible: boolean;
|
|
4
|
+
missingFields: string[];
|
|
5
|
+
success: true;
|
|
6
|
+
error?: undefined;
|
|
7
|
+
} | {
|
|
8
|
+
success: false;
|
|
9
|
+
error: string;
|
|
10
|
+
}>;
|
|
2
11
|
export declare function getCompanionSavedStatus(type: CompanionSavedType, targetId: string): Promise<{
|
|
3
12
|
success: boolean;
|
|
4
13
|
saved: boolean;
|
|
@@ -30,19 +39,14 @@ export declare function getCompanionSavedItems(type: CompanionSavedType, cursor?
|
|
|
30
39
|
}>;
|
|
31
40
|
export declare function getMyTravelProfile(): Promise<{
|
|
32
41
|
success: boolean;
|
|
42
|
+
missing: boolean;
|
|
33
43
|
error: any;
|
|
34
44
|
profile?: undefined;
|
|
35
|
-
missing?: undefined;
|
|
36
45
|
} | {
|
|
37
46
|
success: boolean;
|
|
38
47
|
profile: any;
|
|
39
|
-
error?: undefined;
|
|
40
48
|
missing?: undefined;
|
|
41
|
-
|
|
42
|
-
success: boolean;
|
|
43
|
-
missing: boolean;
|
|
44
|
-
error: string;
|
|
45
|
-
profile?: undefined;
|
|
49
|
+
error?: undefined;
|
|
46
50
|
}>;
|
|
47
51
|
export declare function saveMyTravelProfile(profileData: any): Promise<{
|
|
48
52
|
success: boolean;
|
|
@@ -175,7 +179,10 @@ export declare function toggleLikePlan(id: string): Promise<{
|
|
|
175
179
|
isLiked: any;
|
|
176
180
|
error?: undefined;
|
|
177
181
|
}>;
|
|
178
|
-
export declare function getMyTravelPlans(
|
|
182
|
+
export declare function getMyTravelPlans(options?: {
|
|
183
|
+
page?: number;
|
|
184
|
+
limit?: number;
|
|
185
|
+
}): Promise<{
|
|
179
186
|
success: boolean;
|
|
180
187
|
error: any;
|
|
181
188
|
plans: never[];
|
|
@@ -237,11 +244,11 @@ export declare function handleJoinRequest(planId: string, requestId: string, act
|
|
|
237
244
|
}>;
|
|
238
245
|
export declare function discoverTrips(filters?: Record<string, string>): Promise<{
|
|
239
246
|
success: boolean;
|
|
240
|
-
error:
|
|
247
|
+
error: string | undefined;
|
|
241
248
|
trips: never[];
|
|
242
249
|
} | {
|
|
243
250
|
success: boolean;
|
|
244
|
-
trips:
|
|
251
|
+
trips: CompanionDiscoveryTrip[];
|
|
245
252
|
error?: undefined;
|
|
246
253
|
}>;
|
|
247
254
|
export declare function swipeTrip(travelPlanId: string, action: "like" | "pass"): Promise<{
|
|
@@ -255,25 +262,30 @@ export declare function swipeTrip(travelPlanId: string, action: "like" | "pass")
|
|
|
255
262
|
}>;
|
|
256
263
|
export declare function discoverTravelers(filters?: Record<string, string>): Promise<{
|
|
257
264
|
success: boolean;
|
|
258
|
-
error:
|
|
265
|
+
error: string | undefined;
|
|
259
266
|
travelers: never[];
|
|
260
267
|
} | {
|
|
261
268
|
success: boolean;
|
|
262
|
-
travelers:
|
|
269
|
+
travelers: CompanionDiscoveryTraveler[];
|
|
263
270
|
error?: undefined;
|
|
264
271
|
}>;
|
|
265
272
|
export declare function swipeTraveler(targetUserId: string, action: "like" | "pass"): Promise<{
|
|
266
273
|
success: boolean;
|
|
267
274
|
error: any;
|
|
268
275
|
matched?: undefined;
|
|
276
|
+
status?: undefined;
|
|
269
277
|
matchScore?: undefined;
|
|
270
278
|
} | {
|
|
271
279
|
success: boolean;
|
|
272
|
-
matched:
|
|
280
|
+
matched: boolean;
|
|
281
|
+
status: any;
|
|
273
282
|
matchScore: any;
|
|
274
283
|
error?: undefined;
|
|
275
284
|
}>;
|
|
276
|
-
export declare function getMyMatches(
|
|
285
|
+
export declare function getMyMatches(options?: {
|
|
286
|
+
page?: number;
|
|
287
|
+
limit?: number;
|
|
288
|
+
}): Promise<{
|
|
277
289
|
success: boolean;
|
|
278
290
|
error: any;
|
|
279
291
|
matches: never[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"companion.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/companion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"companion.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/companion.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
"use server";
|
|
2
2
|
import { del, get, post, put } from "./fetcher";
|
|
3
|
+
import { uploadCompanionTripCover as uploadTripCover } from "./companionUpload";
|
|
3
4
|
const BASE_PATH = "/companion";
|
|
5
|
+
export async function getCompanionEligibility() {
|
|
6
|
+
try {
|
|
7
|
+
const response = await get(`${BASE_PATH}/eligibility`);
|
|
8
|
+
if (typeof response.data?.eligible !== "boolean" || !Array.isArray(response.data.missingFields))
|
|
9
|
+
throw new Error("Invalid eligibility response");
|
|
10
|
+
return { success: true, ...response.data };
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return { success: false, error: "Could not check your profile. Please try again." };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
4
16
|
export async function getCompanionSavedStatus(type, targetId) {
|
|
5
17
|
try {
|
|
6
18
|
const data = await get(`${BASE_PATH}/saved/${type}/${encodeURIComponent(targetId)}`);
|
|
@@ -34,7 +46,7 @@ export async function getMyTravelProfile() {
|
|
|
34
46
|
try {
|
|
35
47
|
const data = await get(`${BASE_PATH}/profile/me`);
|
|
36
48
|
if (data.statusCode >= 400)
|
|
37
|
-
return { success: false, error: data.message };
|
|
49
|
+
return { success: false, missing: data.statusCode === 404, error: data.message };
|
|
38
50
|
return { success: true, profile: data.data };
|
|
39
51
|
}
|
|
40
52
|
catch (error) {
|
|
@@ -66,15 +78,7 @@ export async function createTravelPlan(planData) {
|
|
|
66
78
|
}
|
|
67
79
|
}
|
|
68
80
|
export async function uploadCompanionTripCover(file) {
|
|
69
|
-
|
|
70
|
-
const body = new FormData();
|
|
71
|
-
body.append("images", file);
|
|
72
|
-
const data = await post(`${BASE_PATH}/uploads/trip-cover`, body);
|
|
73
|
-
return { success: true, url: data.data.url };
|
|
74
|
-
}
|
|
75
|
-
catch (error) {
|
|
76
|
-
return { success: false, error: error instanceof Error ? error.message : "Could not upload the trip cover." };
|
|
77
|
-
}
|
|
81
|
+
return uploadTripCover(file);
|
|
78
82
|
}
|
|
79
83
|
export async function createTravelPlanFromItinerary(itineraryId, inviteCount, joinPolicy = "approval_required", options = {}) {
|
|
80
84
|
try {
|
|
@@ -194,9 +198,10 @@ export async function toggleLikePlan(id) {
|
|
|
194
198
|
return { success: false, error: "Failed to like plan" };
|
|
195
199
|
}
|
|
196
200
|
}
|
|
197
|
-
export async function getMyTravelPlans() {
|
|
201
|
+
export async function getMyTravelPlans(options) {
|
|
198
202
|
try {
|
|
199
|
-
const
|
|
203
|
+
const query = options ? new URLSearchParams({ page: String(Math.max(1, Math.floor(options.page || 1))), limit: String(Math.min(20, Math.max(1, Math.floor(options.limit || 20)))) }).toString() : "";
|
|
204
|
+
const data = await get(`${BASE_PATH}/plans/mine${query ? `?${query}` : ""}`);
|
|
200
205
|
if (data.statusCode >= 400)
|
|
201
206
|
return { success: false, error: data.message, plans: [] };
|
|
202
207
|
return { success: true, plans: data.data?.plans ?? data.data ?? [] };
|
|
@@ -309,7 +314,8 @@ export async function swipeTraveler(targetUserId, action) {
|
|
|
309
314
|
return { success: false, error: data.message };
|
|
310
315
|
return {
|
|
311
316
|
success: true,
|
|
312
|
-
matched: data.data?.matched
|
|
317
|
+
matched: Boolean(data.data?.matched || data.data?.status === "matched"),
|
|
318
|
+
status: data.data?.status,
|
|
313
319
|
matchScore: data.data?.matchScore ?? 0,
|
|
314
320
|
};
|
|
315
321
|
}
|
|
@@ -318,9 +324,10 @@ export async function swipeTraveler(targetUserId, action) {
|
|
|
318
324
|
}
|
|
319
325
|
}
|
|
320
326
|
// ── Matches ─────────────────────────────────────────────────────────────────────
|
|
321
|
-
export async function getMyMatches() {
|
|
327
|
+
export async function getMyMatches(options) {
|
|
322
328
|
try {
|
|
323
|
-
const
|
|
329
|
+
const query = options ? new URLSearchParams({ page: String(Math.max(1, Math.floor(options.page || 1))), limit: String(Math.min(20, Math.max(1, Math.floor(options.limit || 20)))) }).toString() : "";
|
|
330
|
+
const data = await get(`${BASE_PATH}/matches${query ? `?${query}` : ""}`);
|
|
324
331
|
if (data.statusCode >= 400)
|
|
325
332
|
return { success: false, error: data.message, matches: [] };
|
|
326
333
|
return { success: true, matches: data.data ?? [] };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type UploadFile } from "../utils/uploadFile";
|
|
2
|
+
export declare function uploadCompanionTripCover(file: UploadFile): Promise<{
|
|
3
|
+
success: boolean;
|
|
4
|
+
url: string;
|
|
5
|
+
error?: undefined;
|
|
6
|
+
} | {
|
|
7
|
+
success: boolean;
|
|
8
|
+
error: string;
|
|
9
|
+
url?: undefined;
|
|
10
|
+
}>;
|
|
11
|
+
//# sourceMappingURL=companionUpload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"companionUpload.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/companionUpload.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAExE,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,UAAU;;;;;;;;GAS9D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { post } from "./fetcher";
|
|
2
|
+
import { runUploadTask } from "../utils/uploadTasks";
|
|
3
|
+
import { appendUploadFile } from "../utils/uploadFile";
|
|
4
|
+
export async function uploadCompanionTripCover(file) {
|
|
5
|
+
const body = new FormData();
|
|
6
|
+
appendUploadFile(body, "images", file);
|
|
7
|
+
try {
|
|
8
|
+
const response = await runUploadTask({ title: "Trip cover", recoveryKey: "companion-cover", retrySafe: true, href: "/find-companion/create", operation: ({ progress }) => post("/companion/uploads/trip-cover", body, true, { onUploadProgress: progress }) });
|
|
9
|
+
return { success: true, url: response.data.url };
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
return { success: false, error: error instanceof Error ? error.message : "Could not upload the trip cover." };
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare function fetchEvents(params?: Record<string, string
|
|
1
|
+
export declare function fetchEvents(params?: Record<string, string>, signal?: AbortSignal): Promise<any>;
|
|
2
2
|
export declare function fetchEventBySlug(slug: string): Promise<{
|
|
3
3
|
success: boolean;
|
|
4
4
|
event: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/event.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/event.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { runUploadTask } from "../utils/uploadTasks";
|
|
1
2
|
import { post, get, patch, del } from "./fetcher";
|
|
3
|
+
import { getNativeTransport } from './nativeTransport';
|
|
2
4
|
import { calculatePricingStrategyDisplayUnitPrice, getPrimaryPricingStrategy } from "../models/pricing";
|
|
3
5
|
function formatTrendingEventDate(value) {
|
|
4
6
|
const date = new Date(value);
|
|
@@ -10,10 +12,10 @@ function formatTrendingEventDate(value) {
|
|
|
10
12
|
});
|
|
11
13
|
}
|
|
12
14
|
// ── Public ────────────────────────────────────────────────────────────────────
|
|
13
|
-
export async function fetchEvents(params = {}) {
|
|
15
|
+
export async function fetchEvents(params = {}, signal) {
|
|
14
16
|
try {
|
|
15
17
|
const qs = new URLSearchParams(params).toString();
|
|
16
|
-
const data = await get(`/events?${qs}
|
|
18
|
+
const data = await get(`/events?${qs}`, true, { signal });
|
|
17
19
|
return { success: true, ...data.data };
|
|
18
20
|
}
|
|
19
21
|
catch (err) {
|
|
@@ -26,6 +28,8 @@ export async function fetchEventBySlug(slug) {
|
|
|
26
28
|
return { success: true, event: data.data };
|
|
27
29
|
}
|
|
28
30
|
catch (err) {
|
|
31
|
+
if (getNativeTransport())
|
|
32
|
+
return { success: false, error: err.message, event: null };
|
|
29
33
|
try {
|
|
30
34
|
const data = await get(`/events/host/my?status=all`);
|
|
31
35
|
const event = (data.data || []).find((item) => item.slug === slug);
|
|
@@ -126,7 +130,7 @@ export async function cancelEventBookingApi(bookingId) {
|
|
|
126
130
|
// ── Host Event Management ─────────────────────────────────────────────────────
|
|
127
131
|
export async function createEventListing(formData) {
|
|
128
132
|
try {
|
|
129
|
-
const data = await post(`/events/host/create`, formData);
|
|
133
|
+
const data = await runUploadTask({ title: 'Event listing', retrySafe: false, href: "/dashboard/host/events", body: formData, operation: ({ progress }) => post(`/events/host/create`, formData, true, { onUploadProgress: progress }) });
|
|
130
134
|
return {
|
|
131
135
|
success: true,
|
|
132
136
|
slug: data.data?.slug,
|
|
@@ -140,7 +144,7 @@ export async function createEventListing(formData) {
|
|
|
140
144
|
}
|
|
141
145
|
export async function updateEventListing(eventId, formData) {
|
|
142
146
|
try {
|
|
143
|
-
const data = await patch(`/events/host/${eventId}`, formData);
|
|
147
|
+
const data = await runUploadTask({ title: 'Event listing', retrySafe: false, href: "/dashboard/host/events", body: formData, operation: ({ progress }) => patch(`/events/host/${eventId}`, formData, { onUploadProgress: progress }) });
|
|
144
148
|
return { success: true, event: data.data, message: data.message };
|
|
145
149
|
}
|
|
146
150
|
catch (err) {
|
|
@@ -6,10 +6,16 @@ interface FetchOptions {
|
|
|
6
6
|
keepalive?: boolean;
|
|
7
7
|
onUploadProgress?: (percent: number) => void;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* #2 — Stable device fingerprint stored in localStorage.
|
|
11
|
+
* Survives browser sessions (unlike cookies which can expire/be cleared).
|
|
12
|
+
* Generated once per browser using crypto.randomUUID().
|
|
13
|
+
*/
|
|
14
|
+
export declare function getOrCreateDeviceId(): string | null;
|
|
15
|
+
export declare function get<T>(url: string, includeAuth?: boolean, options?: Pick<FetchOptions, 'signal'>): Promise<T>;
|
|
10
16
|
export declare function post<T>(url: string, body: any, includeAuth?: boolean, options?: Pick<FetchOptions, 'signal' | 'headers' | 'retry' | 'keepalive' | 'onUploadProgress'>): Promise<T>;
|
|
11
|
-
export declare function put<T>(url: string, body: any): Promise<T>;
|
|
12
|
-
export declare function patch<T>(url: string, body: any): Promise<T>;
|
|
17
|
+
export declare function put<T>(url: string, body: any, options?: Pick<FetchOptions, 'onUploadProgress'>): Promise<T>;
|
|
18
|
+
export declare function patch<T>(url: string, body: any, options?: Pick<FetchOptions, 'onUploadProgress'>): Promise<T>;
|
|
13
19
|
export declare function del<T>(url: string, body?: any, includeAuth?: boolean, options?: Pick<FetchOptions, 'signal' | 'headers' | 'retry'>): Promise<T>;
|
|
14
20
|
export {};
|
|
15
21
|
//# sourceMappingURL=fetcher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/fetcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/fetcher.ts"],"names":[],"mappings":"AA0BA,UAAU,YAAY;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAChD;AAuCD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAYnD;AAoLD,wBAAsB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,GAAE,OAAc,EAAE,OAAO,GAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAM,cAEhH;AAED,wBAAsB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,GAAE,OAAc,EAAE,OAAO,GAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,kBAAkB,CAAM,cAErL;AAED,wBAAsB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAE,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAM,cAExG;AAED,wBAAsB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAE,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAM,cAE1G;AAED,wBAAsB,GAAG,CAAC,CAAC,EACvB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,WAAW,GAAE,OAAc,EAC3B,OAAO,GAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAM,cAGnE"}
|