@myrjfa/state 3.0.2 → 3.0.4
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/adventure.d.ts +1 -1
- package/dist/lib/actions/adventure.d.ts.map +1 -1
- package/dist/lib/actions/adventure.js +7 -3
- package/dist/lib/actions/blog.d.ts +2 -2
- package/dist/lib/actions/blog.d.ts.map +1 -1
- package/dist/lib/actions/blog.js +3 -3
- package/dist/lib/actions/booking.d.ts +17 -0
- package/dist/lib/actions/booking.d.ts.map +1 -1
- package/dist/lib/actions/booking.js +11 -0
- package/dist/lib/actions/chat.d.ts +1 -1
- package/dist/lib/actions/chat.d.ts.map +1 -1
- package/dist/lib/actions/chat.js +3 -2
- package/dist/lib/actions/companion.d.ts +47 -1
- package/dist/lib/actions/companion.d.ts.map +1 -1
- package/dist/lib/actions/companion.js +45 -4
- package/dist/lib/actions/event.d.ts +2 -2
- package/dist/lib/actions/event.d.ts.map +1 -1
- package/dist/lib/actions/event.js +2 -2
- package/dist/lib/actions/fetcher.d.ts +2 -1
- package/dist/lib/actions/fetcher.d.ts.map +1 -1
- package/dist/lib/actions/fetcher.js +2 -1
- package/dist/lib/actions/guide.js +3 -0
- package/dist/lib/actions/opportunity.d.ts +1 -1
- package/dist/lib/actions/opportunity.d.ts.map +1 -1
- package/dist/lib/actions/opportunity.js +2 -2
- package/dist/lib/actions/package.d.ts +64 -6
- package/dist/lib/actions/package.d.ts.map +1 -1
- package/dist/lib/actions/package.js +238 -18
- package/dist/lib/actions/rental.d.ts +1 -1
- package/dist/lib/actions/rental.d.ts.map +1 -1
- package/dist/lib/actions/rental.js +7 -3
- package/dist/lib/actions/store.d.ts +1 -1
- package/dist/lib/actions/store.d.ts.map +1 -1
- package/dist/lib/actions/store.js +9 -3
- package/dist/lib/data/event.d.ts +1 -1
- package/dist/lib/data/event.d.ts.map +1 -1
- package/dist/lib/data/event.js +8 -8
- package/dist/lib/data/stay.d.ts +1 -1
- package/dist/lib/data/stay.d.ts.map +1 -1
- package/dist/lib/data/stay.js +7 -7
- package/dist/lib/data/store.js +14 -14
- package/dist/lib/forms/adventure.js +1 -1
- package/dist/lib/forms/event.js +1 -1
- package/dist/lib/forms/rental.js +2 -2
- package/dist/lib/models/adventure.d.ts +2 -0
- package/dist/lib/models/adventure.d.ts.map +1 -1
- package/dist/lib/models/authorization.d.ts +6 -4
- package/dist/lib/models/authorization.d.ts.map +1 -1
- package/dist/lib/models/authorization.js +10 -2
- package/dist/lib/models/booking.d.ts +6 -0
- package/dist/lib/models/booking.d.ts.map +1 -1
- package/dist/lib/models/community.d.ts +1 -1
- package/dist/lib/models/community.d.ts.map +1 -1
- package/dist/lib/models/companion.d.ts +19 -0
- package/dist/lib/models/companion.d.ts.map +1 -0
- package/dist/lib/models/companion.js +1 -0
- package/dist/lib/models/guide.d.ts +2 -0
- package/dist/lib/models/guide.d.ts.map +1 -1
- package/dist/lib/models/listingModeration.d.ts +4 -0
- package/dist/lib/models/listingModeration.d.ts.map +1 -0
- package/dist/lib/models/listingModeration.js +13 -0
- package/dist/lib/models/opportunities/freelance.d.ts +6 -0
- package/dist/lib/models/opportunities/freelance.d.ts.map +1 -1
- package/dist/lib/models/opportunities/internship.d.ts +6 -0
- package/dist/lib/models/opportunities/internship.d.ts.map +1 -1
- package/dist/lib/models/opportunities/job.d.ts +6 -0
- package/dist/lib/models/opportunities/job.d.ts.map +1 -1
- package/dist/lib/models/opportunities/opportunity.d.ts +6 -0
- package/dist/lib/models/opportunities/opportunity.d.ts.map +1 -1
- package/dist/lib/models/opportunities/opportunity.js +2 -0
- package/dist/lib/models/opportunities/volunteerJob.d.ts +6 -0
- package/dist/lib/models/opportunities/volunteerJob.d.ts.map +1 -1
- package/dist/lib/models/package.d.ts +6 -0
- package/dist/lib/models/package.d.ts.map +1 -1
- package/dist/lib/models/package.js +2 -0
- package/dist/lib/models/rental.d.ts +2 -0
- package/dist/lib/models/rental.d.ts.map +1 -1
- package/dist/lib/models/stay.d.ts +3 -3
- package/dist/lib/models/stay.js +1 -1
- package/dist/lib/models/store.d.ts +3 -1
- package/dist/lib/models/store.d.ts.map +1 -1
- package/dist/lib/models/tile.d.ts +3 -0
- package/dist/lib/models/tile.d.ts.map +1 -1
- package/dist/lib/utils/entityTiles.d.ts.map +1 -1
- package/dist/lib/utils/entityTiles.js +7 -0
- package/dist/lib/utils/listingCreateOptions.d.ts +16 -0
- package/dist/lib/utils/listingCreateOptions.d.ts.map +1 -0
- package/dist/lib/utils/listingCreateOptions.js +24 -0
- package/dist/lib/utils/listingSort.d.ts +4 -0
- package/dist/lib/utils/listingSort.d.ts.map +1 -0
- package/dist/lib/utils/listingSort.js +29 -0
- package/package.json +1 -1
- package/dist/lib/actions/travelPackage.d.ts +0 -108
- package/dist/lib/actions/travelPackage.d.ts.map +0 -1
- package/dist/lib/actions/travelPackage.js +0 -457
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TravelPackage } from "../models/package";
|
|
2
2
|
import { TileProps } from "../models/tile";
|
|
3
|
-
import { DifficultyEnum } from "../models/travelPackage";
|
|
3
|
+
import { DifficultyEnum, TravelPackage as DetailedTravelPackage, TravelPackageMetaData, TravelPackagePdfExtractionResult } from "../models/travelPackage";
|
|
4
|
+
import { EnquiryStatus, PackageEnquiry } from "../models/enquiry";
|
|
4
5
|
export type { PackageMetaData } from "../models/package";
|
|
5
|
-
export declare function getPackageTiles(limit?: number, filters?: {
|
|
6
|
+
export declare function getPackageTiles(status?: readonly string[], limit?: number, filters?: {
|
|
6
7
|
categoryId?: string;
|
|
7
8
|
difficultyLevel?: DifficultyEnum;
|
|
8
9
|
}): Promise<{
|
|
@@ -17,19 +18,37 @@ export declare function trendingPackageTiles(limit: number): Promise<{
|
|
|
17
18
|
message?: string;
|
|
18
19
|
error?: string;
|
|
19
20
|
}>;
|
|
21
|
+
export declare function relatedPackageTiles(slug: string, limit: number): Promise<{
|
|
22
|
+
success: boolean;
|
|
23
|
+
tiles: TileProps[];
|
|
24
|
+
message?: string;
|
|
25
|
+
error?: string;
|
|
26
|
+
}>;
|
|
27
|
+
export declare function favouritePackageTiles(): Promise<{
|
|
28
|
+
success: boolean;
|
|
29
|
+
tiles: TileProps[];
|
|
30
|
+
message?: string;
|
|
31
|
+
error?: string;
|
|
32
|
+
}>;
|
|
20
33
|
export declare function packageDetails(slug: string): Promise<{
|
|
21
34
|
success: boolean;
|
|
22
|
-
package:
|
|
35
|
+
package: DetailedTravelPackage | null;
|
|
36
|
+
message?: string;
|
|
37
|
+
error?: string;
|
|
38
|
+
}>;
|
|
39
|
+
export declare function packageDetailsForHost(slug: string): Promise<{
|
|
40
|
+
success: boolean;
|
|
41
|
+
package: DetailedTravelPackage | null;
|
|
23
42
|
message?: string;
|
|
24
43
|
error?: string;
|
|
25
44
|
}>;
|
|
26
45
|
export declare function packageMetaData(slug: string): Promise<{
|
|
27
46
|
success: boolean;
|
|
28
|
-
metadata:
|
|
47
|
+
metadata: TravelPackageMetaData | null;
|
|
29
48
|
message?: string;
|
|
30
49
|
error?: string;
|
|
31
50
|
}>;
|
|
32
|
-
export declare function
|
|
51
|
+
export declare function packageTilesByUsername(username: string, status?: readonly string[], limit?: number): Promise<{
|
|
33
52
|
success: boolean;
|
|
34
53
|
tiles: TileProps[];
|
|
35
54
|
message?: string;
|
|
@@ -53,11 +72,50 @@ export declare function createPackage(formData: FormData): Promise<{
|
|
|
53
72
|
message?: string;
|
|
54
73
|
error?: string;
|
|
55
74
|
}>;
|
|
75
|
+
export declare function extractPackageFromPdf(file: File): Promise<{
|
|
76
|
+
success: boolean;
|
|
77
|
+
data?: TravelPackagePdfExtractionResult;
|
|
78
|
+
message?: string;
|
|
79
|
+
error?: string;
|
|
80
|
+
}>;
|
|
81
|
+
export declare function editPackage(formData: FormData, slug: string): Promise<{
|
|
82
|
+
success: boolean;
|
|
83
|
+
slug?: string;
|
|
84
|
+
message?: string;
|
|
85
|
+
error?: string;
|
|
86
|
+
}>;
|
|
56
87
|
export declare function deletePackage(slug: string): Promise<{
|
|
57
88
|
success: boolean;
|
|
58
89
|
message?: string;
|
|
59
90
|
error?: string;
|
|
60
91
|
}>;
|
|
92
|
+
export declare function getPackageEnquiry(slug: string): Promise<{
|
|
93
|
+
success: boolean;
|
|
94
|
+
message?: string;
|
|
95
|
+
error?: string;
|
|
96
|
+
enquiry: PackageEnquiry | null;
|
|
97
|
+
}>;
|
|
98
|
+
export declare function getEnquiriesForPackage(slug: string): Promise<{
|
|
99
|
+
success: boolean;
|
|
100
|
+
message?: string;
|
|
101
|
+
error?: string;
|
|
102
|
+
enquiries: PackageEnquiry[];
|
|
103
|
+
}>;
|
|
104
|
+
export declare function savePackageEnquiry(formData: FormData): Promise<{
|
|
105
|
+
success: boolean;
|
|
106
|
+
message?: string;
|
|
107
|
+
error?: string;
|
|
108
|
+
}>;
|
|
109
|
+
export declare function updateEnquiryStatus(status: EnquiryStatus, id: string): Promise<{
|
|
110
|
+
success: boolean;
|
|
111
|
+
message?: string;
|
|
112
|
+
error?: string;
|
|
113
|
+
}>;
|
|
114
|
+
export declare function editPackageEnquiry(formData: FormData, id: string): Promise<{
|
|
115
|
+
success: boolean;
|
|
116
|
+
message?: string;
|
|
117
|
+
error?: string;
|
|
118
|
+
}>;
|
|
61
119
|
export declare function getPendingPackages(): Promise<{
|
|
62
120
|
success: boolean;
|
|
63
121
|
packages: TravelPackage[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/package.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/package.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,68 +1,129 @@
|
|
|
1
1
|
import { get, patch, post, del } from "./fetcher";
|
|
2
2
|
import { calculatePricingStrategyDisplayUnitPrice, getPricingCurrency, getPricingStrategies } from "../models/pricing";
|
|
3
|
+
import { convertTravelPackageToTileProps } from "../utils/entityTiles";
|
|
3
4
|
// ─── Public ───────────────────────────────────────────────────────────────────
|
|
4
|
-
export async function getPackageTiles(limit, filters) {
|
|
5
|
+
export async function getPackageTiles(status = ["open"], limit, filters) {
|
|
5
6
|
try {
|
|
6
|
-
let endpoint = `/packages/getAllPackageTiles?status
|
|
7
|
+
let endpoint = `/packages/getAllPackageTiles?status=${status.join(",")}`;
|
|
7
8
|
if (limit)
|
|
8
9
|
endpoint += `&limit=${limit}`;
|
|
9
10
|
if (filters?.categoryId)
|
|
10
11
|
endpoint += `&categoryId=${filters.categoryId}`;
|
|
11
12
|
if (filters?.difficultyLevel)
|
|
12
13
|
endpoint += `&difficultyLevel=${filters.difficultyLevel}`;
|
|
13
|
-
const data = await get(endpoint);
|
|
14
|
+
const data = await get(endpoint, false);
|
|
14
15
|
return {
|
|
15
16
|
success: true,
|
|
16
17
|
message: data.message,
|
|
17
|
-
tiles: data.data.map(
|
|
18
|
+
tiles: data.data.map((travelPackage) => convertTravelPackageToTileProps(travelPackage)),
|
|
18
19
|
};
|
|
19
20
|
}
|
|
20
21
|
catch (error) {
|
|
22
|
+
if (isDynamicServerUsageError(error))
|
|
23
|
+
throw error;
|
|
21
24
|
console.error("Failed to fetch package tiles:", error);
|
|
22
25
|
return { success: false, error: error.message, tiles: [] };
|
|
23
26
|
}
|
|
24
27
|
}
|
|
25
28
|
export async function trendingPackageTiles(limit) {
|
|
26
|
-
|
|
29
|
+
try {
|
|
30
|
+
const endpoint = `/packages/getAllPackageTiles?status=open&sort=trending${limit ? `&limit=${limit}` : ""}`;
|
|
31
|
+
const data = await get(endpoint, false);
|
|
32
|
+
return {
|
|
33
|
+
success: true,
|
|
34
|
+
message: data.message,
|
|
35
|
+
tiles: data.data.map((travelPackage) => convertTravelPackageToTileProps(travelPackage)),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
if (isDynamicServerUsageError(error))
|
|
40
|
+
throw error;
|
|
41
|
+
console.error("Failed to fetch trending packages:", error);
|
|
42
|
+
return { success: false, error: error.message, tiles: [] };
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export async function relatedPackageTiles(slug, limit) {
|
|
46
|
+
try {
|
|
47
|
+
const endpoint = `/packages/getAllPackageTiles?status=open${limit ? `&limit=${limit}` : ""}`;
|
|
48
|
+
const data = await get(endpoint, false);
|
|
49
|
+
return {
|
|
50
|
+
success: true,
|
|
51
|
+
message: data.message,
|
|
52
|
+
tiles: data.data
|
|
53
|
+
.filter((travelPackage) => travelPackage.slug !== slug)
|
|
54
|
+
.map((travelPackage) => convertTravelPackageToTileProps(travelPackage)),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
if (isDynamicServerUsageError(error))
|
|
59
|
+
throw error;
|
|
60
|
+
console.error("Failed to fetch related packages:", error);
|
|
61
|
+
return { success: false, error: error.message, tiles: [] };
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
export async function favouritePackageTiles() {
|
|
65
|
+
try {
|
|
66
|
+
const data = await get("/packages/favourites");
|
|
67
|
+
return {
|
|
68
|
+
success: true,
|
|
69
|
+
message: data.message,
|
|
70
|
+
tiles: data.data.map((travelPackage) => convertTravelPackageToTileProps(travelPackage)),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
if (isDynamicServerUsageError(error))
|
|
75
|
+
throw error;
|
|
76
|
+
console.error("Failed to fetch favourite packages:", error);
|
|
77
|
+
return { success: false, error: error.message, tiles: [] };
|
|
78
|
+
}
|
|
27
79
|
}
|
|
28
80
|
export async function packageDetails(slug) {
|
|
81
|
+
return fetchPackageDetails(slug, false);
|
|
82
|
+
}
|
|
83
|
+
export async function packageDetailsForHost(slug) {
|
|
84
|
+
return fetchPackageDetails(slug, true);
|
|
85
|
+
}
|
|
86
|
+
async function fetchPackageDetails(slug, includeAuth) {
|
|
29
87
|
try {
|
|
30
|
-
const data = await get(`/packages/getPackage/${slug}
|
|
88
|
+
const data = await get(`/packages/getPackage/${slug}`, includeAuth);
|
|
31
89
|
return { success: true, message: data.message, package: data.data };
|
|
32
90
|
}
|
|
33
91
|
catch (error) {
|
|
92
|
+
if (isDynamicServerUsageError(error))
|
|
93
|
+
throw error;
|
|
34
94
|
console.error("Failed to fetch package details:", error);
|
|
35
95
|
return { success: false, error: error.message, package: null };
|
|
36
96
|
}
|
|
37
97
|
}
|
|
38
98
|
export async function packageMetaData(slug) {
|
|
39
99
|
try {
|
|
40
|
-
const data = await get(`/packages/
|
|
100
|
+
const data = await get(`/packages/getPackageMetaData/${slug}`, false);
|
|
41
101
|
const p = data.data;
|
|
42
102
|
return {
|
|
43
103
|
success: true,
|
|
104
|
+
message: data.message,
|
|
44
105
|
metadata: {
|
|
45
106
|
image: p.packageImages?.[0] || "/images/placeholder.svg",
|
|
46
|
-
title: p.title,
|
|
47
|
-
|
|
48
|
-
|
|
107
|
+
title: p.title || "Trippeaze",
|
|
108
|
+
location: `${p.city}, ${p.state}`,
|
|
109
|
+
packageType: p.categoryId || "Travel package",
|
|
110
|
+
highlights: p.highlights || [],
|
|
49
111
|
categoryId: p.categoryId,
|
|
50
|
-
difficultyLevel: p.difficultyLevel,
|
|
51
|
-
price: calculatePricingStrategyDisplayUnitPrice(getPricingStrategies(p)?.[0]),
|
|
52
|
-
currency: getPricingCurrency(p),
|
|
53
112
|
},
|
|
54
113
|
};
|
|
55
114
|
}
|
|
56
115
|
catch (error) {
|
|
116
|
+
if (isDynamicServerUsageError(error))
|
|
117
|
+
throw error;
|
|
57
118
|
return { success: false, error: error.message, metadata: null };
|
|
58
119
|
}
|
|
59
120
|
}
|
|
60
|
-
export async function
|
|
121
|
+
export async function packageTilesByUsername(username, status = ["open"], limit) {
|
|
61
122
|
try {
|
|
62
|
-
let endpoint = `/packages/getPackagesByUsername/${username}?status
|
|
123
|
+
let endpoint = `/packages/getPackagesByUsername/${username}?status=${status.join(",")}`;
|
|
63
124
|
if (limit)
|
|
64
125
|
endpoint += `&limit=${limit}`;
|
|
65
|
-
const data = await get(endpoint);
|
|
126
|
+
const data = await get(endpoint, false);
|
|
66
127
|
return {
|
|
67
128
|
success: true,
|
|
68
129
|
message: data.message,
|
|
@@ -101,12 +162,49 @@ export async function createPackage(formData) {
|
|
|
101
162
|
const data = await post("/packages/create", formData);
|
|
102
163
|
return {
|
|
103
164
|
success: true,
|
|
104
|
-
slug: data.data
|
|
105
|
-
_id: data.data
|
|
165
|
+
slug: extractPackageSlug(data.data),
|
|
166
|
+
_id: extractPackageId(data.data),
|
|
106
167
|
message: data.message,
|
|
107
168
|
};
|
|
108
169
|
}
|
|
109
170
|
catch (error) {
|
|
171
|
+
console.error("Failed to create package:", error);
|
|
172
|
+
return {
|
|
173
|
+
success: false,
|
|
174
|
+
error: getPackageCreationError(error, formData),
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
export async function extractPackageFromPdf(file) {
|
|
179
|
+
try {
|
|
180
|
+
const formData = new FormData();
|
|
181
|
+
formData.append("packagePdf", file);
|
|
182
|
+
const response = await post("/packages/source-pdfs/extract", formData);
|
|
183
|
+
return {
|
|
184
|
+
success: true,
|
|
185
|
+
data: response.data,
|
|
186
|
+
message: response.message,
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
console.error("Failed to process package PDF:", error);
|
|
191
|
+
return {
|
|
192
|
+
success: false,
|
|
193
|
+
error: getPackagePdfUploadError(error),
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
export async function editPackage(formData, slug) {
|
|
198
|
+
try {
|
|
199
|
+
const data = await patch(`/packages/update/${slug}`, formData);
|
|
200
|
+
return {
|
|
201
|
+
success: true,
|
|
202
|
+
slug: extractPackageSlug(data.data) || slug,
|
|
203
|
+
message: data.message,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
catch (error) {
|
|
207
|
+
console.error("Failed to update package:", error);
|
|
110
208
|
return { success: false, error: error.message };
|
|
111
209
|
}
|
|
112
210
|
}
|
|
@@ -119,6 +217,60 @@ export async function deletePackage(slug) {
|
|
|
119
217
|
return { success: false, error: error.message };
|
|
120
218
|
}
|
|
121
219
|
}
|
|
220
|
+
// ─── Enquiries ───────────────────────────────────────────────────────────────
|
|
221
|
+
export async function getPackageEnquiry(slug) {
|
|
222
|
+
try {
|
|
223
|
+
const data = await get(`/enquiries/getEnquiryByUserAndSlug/${slug}`);
|
|
224
|
+
return {
|
|
225
|
+
success: true,
|
|
226
|
+
message: data.message,
|
|
227
|
+
enquiry: data.data,
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
catch (error) {
|
|
231
|
+
return { success: false, error: error.message, enquiry: null };
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
export async function getEnquiriesForPackage(slug) {
|
|
235
|
+
try {
|
|
236
|
+
const data = await get(`/enquiries/package/${slug}`);
|
|
237
|
+
return {
|
|
238
|
+
success: true,
|
|
239
|
+
message: data.message,
|
|
240
|
+
enquiries: data.data,
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
catch (error) {
|
|
244
|
+
return { success: false, error: error.message, enquiries: [] };
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
export async function savePackageEnquiry(formData) {
|
|
248
|
+
try {
|
|
249
|
+
const data = await post("/enquiries/enquireForPackage", formData);
|
|
250
|
+
return { success: true, message: data.message };
|
|
251
|
+
}
|
|
252
|
+
catch (error) {
|
|
253
|
+
return { success: false, error: error.message };
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
export async function updateEnquiryStatus(status, id) {
|
|
257
|
+
try {
|
|
258
|
+
const data = await patch(`/enquiries/updateEnquiry/${id}`, { status });
|
|
259
|
+
return { success: true, message: data.message };
|
|
260
|
+
}
|
|
261
|
+
catch (error) {
|
|
262
|
+
return { success: false, error: error.message };
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
export async function editPackageEnquiry(formData, id) {
|
|
266
|
+
try {
|
|
267
|
+
const data = await patch(`/enquiries/updateEnquiry/${id}`, formData);
|
|
268
|
+
return { success: true, message: data.message };
|
|
269
|
+
}
|
|
270
|
+
catch (error) {
|
|
271
|
+
return { success: false, error: error.message };
|
|
272
|
+
}
|
|
273
|
+
}
|
|
122
274
|
// ─── Admin ────────────────────────────────────────────────────────────────────
|
|
123
275
|
export async function getPendingPackages() {
|
|
124
276
|
try {
|
|
@@ -166,3 +318,71 @@ function packageToTile(p) {
|
|
|
166
318
|
host: p.host,
|
|
167
319
|
};
|
|
168
320
|
}
|
|
321
|
+
function extractPackageSlug(payload) {
|
|
322
|
+
if (typeof payload === "string")
|
|
323
|
+
return payload;
|
|
324
|
+
if (!payload || typeof payload !== "object")
|
|
325
|
+
return undefined;
|
|
326
|
+
const record = payload;
|
|
327
|
+
if (typeof record.slug === "string")
|
|
328
|
+
return record.slug;
|
|
329
|
+
if (typeof record.data === "string")
|
|
330
|
+
return record.data;
|
|
331
|
+
if (record.data)
|
|
332
|
+
return extractPackageSlug(record.data);
|
|
333
|
+
if (record.travelPackage)
|
|
334
|
+
return extractPackageSlug(record.travelPackage);
|
|
335
|
+
if (record.package)
|
|
336
|
+
return extractPackageSlug(record.package);
|
|
337
|
+
return undefined;
|
|
338
|
+
}
|
|
339
|
+
function extractPackageId(payload) {
|
|
340
|
+
if (!payload || typeof payload !== "object")
|
|
341
|
+
return undefined;
|
|
342
|
+
const record = payload;
|
|
343
|
+
if (typeof record._id === "string")
|
|
344
|
+
return record._id;
|
|
345
|
+
if (record.data)
|
|
346
|
+
return extractPackageId(record.data);
|
|
347
|
+
if (record.travelPackage)
|
|
348
|
+
return extractPackageId(record.travelPackage);
|
|
349
|
+
if (record.package)
|
|
350
|
+
return extractPackageId(record.package);
|
|
351
|
+
return undefined;
|
|
352
|
+
}
|
|
353
|
+
function isDynamicServerUsageError(error) {
|
|
354
|
+
return Boolean(error &&
|
|
355
|
+
typeof error === "object" &&
|
|
356
|
+
("$$typeof" in error ||
|
|
357
|
+
error.digest === "DYNAMIC_SERVER_USAGE" ||
|
|
358
|
+
error.message?.includes("bail out of prerendering")));
|
|
359
|
+
}
|
|
360
|
+
function getPackagePdfUploadError(error) {
|
|
361
|
+
if (isPayloadTooLargeError(error)) {
|
|
362
|
+
return "This PDF is too large for the server to accept. Reduce its file size and try again (maximum 10 MB).";
|
|
363
|
+
}
|
|
364
|
+
if (isNetworkFailure(error)) {
|
|
365
|
+
return "The PDF may be too large for the current server limit, or the connection was interrupted. Reduce its file size (maximum 10 MB) or try again.";
|
|
366
|
+
}
|
|
367
|
+
return error?.message || "The PDF could not be uploaded. Please try again.";
|
|
368
|
+
}
|
|
369
|
+
function getPackageCreationError(error, formData) {
|
|
370
|
+
if (isPayloadTooLargeError(error)) {
|
|
371
|
+
return "The travel package files are too large for the server to accept. Reduce their file sizes and try again.";
|
|
372
|
+
}
|
|
373
|
+
if (isNetworkFailure(error)) {
|
|
374
|
+
const includesFiles = Array.from(formData.values()).some((value) => typeof Blob !== "undefined" && value instanceof Blob);
|
|
375
|
+
return includesFiles
|
|
376
|
+
? "The travel package files may be too large for the current server limit, or the connection was interrupted. Reduce their file sizes or try again."
|
|
377
|
+
: "Could not reach Trippeaze right now. Please check your connection and try again.";
|
|
378
|
+
}
|
|
379
|
+
return error?.message || "Could not save the travel package. Please try again.";
|
|
380
|
+
}
|
|
381
|
+
function isPayloadTooLargeError(error) {
|
|
382
|
+
return Boolean(error?.statusCode === 413 ||
|
|
383
|
+
/(?:content|payload|request entity).*too large/i.test(error?.message || ""));
|
|
384
|
+
}
|
|
385
|
+
function isNetworkFailure(error) {
|
|
386
|
+
return Boolean(error instanceof TypeError &&
|
|
387
|
+
/(?:failed to fetch|fetch failed|networkerror)/i.test(error.message || ""));
|
|
388
|
+
}
|
|
@@ -28,7 +28,7 @@ export declare function rentalMetaData(slug: string): Promise<{
|
|
|
28
28
|
message?: string;
|
|
29
29
|
error?: string;
|
|
30
30
|
}>;
|
|
31
|
-
export declare function
|
|
31
|
+
export declare function rentalTilesByUsername(username: string, limit?: number): Promise<{
|
|
32
32
|
success: boolean;
|
|
33
33
|
tiles: TileProps[];
|
|
34
34
|
message?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rental.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/rental.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,wBAAsB,cAAc,CAClC,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3E,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAmBD;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAED;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAUD;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAsBD;AAED,wBAAsB,
|
|
1
|
+
{"version":3,"file":"rental.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/rental.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ export async function getRentalTiles(limit, filters) {
|
|
|
12
12
|
endpoint += `&fuelType=${filters.fuelType}`;
|
|
13
13
|
if (filters?.driverOption)
|
|
14
14
|
endpoint += `&driverOption=${filters.driverOption}`;
|
|
15
|
-
const data = await get(endpoint);
|
|
15
|
+
const data = await get(endpoint, false);
|
|
16
16
|
return {
|
|
17
17
|
success: true,
|
|
18
18
|
message: data.message,
|
|
@@ -59,12 +59,12 @@ export async function rentalMetaData(slug) {
|
|
|
59
59
|
return { success: false, error: error.message, metadata: null };
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
export async function
|
|
62
|
+
export async function rentalTilesByUsername(username, limit) {
|
|
63
63
|
try {
|
|
64
64
|
let endpoint = `/rentals/getRentalsByUsername/${username}`;
|
|
65
65
|
if (limit)
|
|
66
66
|
endpoint += `?limit=${limit}`;
|
|
67
|
-
const data = await get(endpoint);
|
|
67
|
+
const data = await get(endpoint, false);
|
|
68
68
|
return {
|
|
69
69
|
success: true,
|
|
70
70
|
message: data.message,
|
|
@@ -207,6 +207,9 @@ function rentalToTile(rental) {
|
|
|
207
207
|
location: getRentalAreaCityLabel(rental),
|
|
208
208
|
date: rental.createdAt,
|
|
209
209
|
rating: rental.rating,
|
|
210
|
+
sponsored: rental.sponsored,
|
|
211
|
+
trendingScore: rental.trendingScore,
|
|
212
|
+
updatedAt: rental.updatedAt,
|
|
210
213
|
price: getRentalStartingPrice(rental),
|
|
211
214
|
currency: getPricingCurrency(rental),
|
|
212
215
|
tileType: "rentals",
|
|
@@ -230,5 +233,6 @@ function rentalToTile(rental) {
|
|
|
230
233
|
brand: rental.brand,
|
|
231
234
|
model: rental.model,
|
|
232
235
|
depositAmount: rental.depositAmount,
|
|
236
|
+
status: rental.status,
|
|
233
237
|
};
|
|
234
238
|
}
|
|
@@ -5,7 +5,7 @@ type Result<T> = {
|
|
|
5
5
|
message?: string;
|
|
6
6
|
error?: string;
|
|
7
7
|
};
|
|
8
|
-
export declare function getStoreProducts(): Promise<Result<StoreProduct[]>>;
|
|
8
|
+
export declare function getStoreProducts(sort?: string): Promise<Result<StoreProduct[]>>;
|
|
9
9
|
export declare function getStoreProductBySlug(slug: string): Promise<Result<StoreProduct | null>>;
|
|
10
10
|
export declare function createStoreOrder(payload: CreateStoreOrderInput): Promise<Result<{
|
|
11
11
|
order: StoreOrder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEvF,KAAK,MAAM,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEvF,KAAK,MAAM,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjF,wBAAsB,gBAAgB,CAAC,IAAI,SAAa,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAazF;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAO9F;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAAC,CAO1M;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAO7L;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAO1F"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { get, post } from "./fetcher";
|
|
2
|
-
export async function getStoreProducts() {
|
|
2
|
+
export async function getStoreProducts(sort = "featured") {
|
|
3
3
|
try {
|
|
4
|
-
const
|
|
5
|
-
|
|
4
|
+
const endpoint = (page) => `/store?limit=100&page=${page}&sort=${encodeURIComponent(sort)}`;
|
|
5
|
+
const response = await get(endpoint(1), false);
|
|
6
|
+
const products = [...(response.data.products || [])];
|
|
7
|
+
for (let page = 2; page <= (response.data.totalPages || 1); page += 1) {
|
|
8
|
+
const next = await get(endpoint(page), false);
|
|
9
|
+
products.push(...(next.data.products || []));
|
|
10
|
+
}
|
|
11
|
+
return { success: true, data: products, message: response.message };
|
|
6
12
|
}
|
|
7
13
|
catch (error) {
|
|
8
14
|
return { success: false, data: [], error: error.message };
|
package/dist/lib/data/event.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/lib/data/event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/lib/data/event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,gBAAgB;;;;GAgB5B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,UAAU,EAukBvC,CAAC"}
|
package/dist/lib/data/event.js
CHANGED
|
@@ -96,7 +96,7 @@ export const eventsDummyData = [
|
|
|
96
96
|
rating: 4.8,
|
|
97
97
|
ratingCount: 3240,
|
|
98
98
|
views: 47800,
|
|
99
|
-
|
|
99
|
+
sponsored: true,
|
|
100
100
|
isOnline: false,
|
|
101
101
|
status: "open",
|
|
102
102
|
},
|
|
@@ -164,7 +164,7 @@ export const eventsDummyData = [
|
|
|
164
164
|
rating: 4.6,
|
|
165
165
|
ratingCount: 1820,
|
|
166
166
|
views: 22400,
|
|
167
|
-
|
|
167
|
+
sponsored: true,
|
|
168
168
|
isOnline: false,
|
|
169
169
|
status: "open",
|
|
170
170
|
},
|
|
@@ -240,7 +240,7 @@ export const eventsDummyData = [
|
|
|
240
240
|
rating: 4.9,
|
|
241
241
|
ratingCount: 640,
|
|
242
242
|
views: 18900,
|
|
243
|
-
|
|
243
|
+
sponsored: true,
|
|
244
244
|
isOnline: false,
|
|
245
245
|
status: "open",
|
|
246
246
|
},
|
|
@@ -311,7 +311,7 @@ export const eventsDummyData = [
|
|
|
311
311
|
rating: 4.7,
|
|
312
312
|
ratingCount: 280,
|
|
313
313
|
views: 6700,
|
|
314
|
-
|
|
314
|
+
sponsored: false,
|
|
315
315
|
isOnline: false,
|
|
316
316
|
status: "open",
|
|
317
317
|
},
|
|
@@ -376,7 +376,7 @@ export const eventsDummyData = [
|
|
|
376
376
|
rating: 4.5,
|
|
377
377
|
ratingCount: 420,
|
|
378
378
|
views: 11200,
|
|
379
|
-
|
|
379
|
+
sponsored: false,
|
|
380
380
|
isOnline: false,
|
|
381
381
|
status: "open",
|
|
382
382
|
},
|
|
@@ -459,7 +459,7 @@ export const eventsDummyData = [
|
|
|
459
459
|
rating: 4.9,
|
|
460
460
|
ratingCount: 180,
|
|
461
461
|
views: 8900,
|
|
462
|
-
|
|
462
|
+
sponsored: true,
|
|
463
463
|
isOnline: false,
|
|
464
464
|
status: "open",
|
|
465
465
|
},
|
|
@@ -504,7 +504,7 @@ export const eventsDummyData = [
|
|
|
504
504
|
rating: 4.4,
|
|
505
505
|
ratingCount: 890,
|
|
506
506
|
views: 19600,
|
|
507
|
-
|
|
507
|
+
sponsored: false,
|
|
508
508
|
isOnline: false,
|
|
509
509
|
status: "open",
|
|
510
510
|
},
|
|
@@ -579,7 +579,7 @@ export const eventsDummyData = [
|
|
|
579
579
|
rating: 4.8,
|
|
580
580
|
ratingCount: 320,
|
|
581
581
|
views: 12400,
|
|
582
|
-
|
|
582
|
+
sponsored: true,
|
|
583
583
|
isOnline: false,
|
|
584
584
|
status: "open",
|
|
585
585
|
},
|