@myrjfa/state 2.2.0 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -201
- package/README.md +20 -3
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/lib/actions/actions.d.ts +13 -13
- package/dist/lib/actions/actions.d.ts.map +1 -1
- package/dist/lib/actions/actions.js +5 -4
- package/dist/lib/actions/auth.d.ts +116 -7
- package/dist/lib/actions/auth.d.ts.map +1 -1
- package/dist/lib/actions/auth.js +59 -10
- package/dist/lib/actions/chat.d.ts +261 -24
- package/dist/lib/actions/chat.d.ts.map +1 -1
- package/dist/lib/actions/chat.js +525 -41
- package/dist/lib/actions/fetcher.d.ts.map +1 -1
- package/dist/lib/actions/fetcher.js +26 -9
- package/dist/lib/actions/serverActions.d.ts +1 -0
- package/dist/lib/actions/serverActions.d.ts.map +1 -1
- package/dist/lib/actions/serverActions.js +15 -0
- package/dist/lib/actions/socket.d.ts.map +1 -1
- package/dist/lib/actions/socket.js +5 -1
- package/dist/lib/actions.d.ts +26 -26
- package/dist/lib/actions.d.ts.map +1 -1
- package/dist/lib/actions.js +17 -12
- package/dist/lib/adminDashboardActions.d.ts +15 -3
- package/dist/lib/adminDashboardActions.d.ts.map +1 -1
- package/dist/lib/adminDashboardActions.js +16 -7
- package/dist/lib/authSessionManager.d.ts.map +1 -1
- package/dist/lib/authSessionManager.js +77 -12
- package/dist/lib/authSessionPolicy.d.ts +44 -0
- package/dist/lib/authSessionPolicy.d.ts.map +1 -0
- package/dist/lib/authSessionPolicy.js +61 -0
- package/dist/lib/authorizationActions.d.ts +77 -0
- package/dist/lib/authorizationActions.d.ts.map +1 -0
- package/dist/lib/authorizationActions.js +61 -0
- package/dist/lib/context/ChatContext.d.ts +25 -6
- package/dist/lib/context/ChatContext.d.ts.map +1 -1
- package/dist/lib/context/ChatContext.js +356 -245
- package/dist/lib/discountActions.d.ts +43 -0
- package/dist/lib/discountActions.d.ts.map +1 -0
- package/dist/lib/discountActions.js +69 -0
- package/dist/lib/loyaltyActions.d.ts +32 -0
- package/dist/lib/loyaltyActions.d.ts.map +1 -0
- package/dist/lib/loyaltyActions.js +92 -0
- package/dist/lib/models/adventure.d.ts +0 -2
- package/dist/lib/models/adventure.d.ts.map +1 -1
- package/dist/lib/models/authorization.d.ts +108 -0
- package/dist/lib/models/authorization.d.ts.map +1 -0
- package/dist/lib/models/authorization.js +266 -0
- package/dist/lib/models/blog.d.ts +6 -6
- package/dist/lib/models/booking.d.ts +7 -2
- package/dist/lib/models/booking.d.ts.map +1 -1
- package/dist/lib/models/chat.d.ts +418 -32
- package/dist/lib/models/chat.d.ts.map +1 -1
- package/dist/lib/models/chat.js +5 -1
- package/dist/lib/models/discount.d.ts +589 -138
- package/dist/lib/models/discount.d.ts.map +1 -1
- package/dist/lib/models/discount.js +118 -96
- package/dist/lib/models/guide.d.ts +0 -2
- package/dist/lib/models/guide.d.ts.map +1 -1
- package/dist/lib/models/loyalty.d.ts +88 -0
- package/dist/lib/models/loyalty.d.ts.map +1 -0
- package/dist/lib/models/loyalty.js +1 -0
- package/dist/lib/models/notifications.d.ts +6 -6
- package/dist/lib/models/opportunities/freelance.d.ts +66 -20
- package/dist/lib/models/opportunities/freelance.d.ts.map +1 -1
- package/dist/lib/models/opportunities/internship.d.ts +66 -20
- package/dist/lib/models/opportunities/internship.d.ts.map +1 -1
- package/dist/lib/models/opportunities/job.d.ts +66 -20
- package/dist/lib/models/opportunities/job.d.ts.map +1 -1
- package/dist/lib/models/opportunities/opportunity.d.ts +66 -20
- package/dist/lib/models/opportunities/opportunity.d.ts.map +1 -1
- package/dist/lib/models/opportunities/opportunity.js +2 -0
- package/dist/lib/models/opportunities/volunteerJob.d.ts +66 -20
- package/dist/lib/models/opportunities/volunteerJob.d.ts.map +1 -1
- package/dist/lib/models/package.d.ts +77 -216
- package/dist/lib/models/package.d.ts.map +1 -1
- package/dist/lib/models/package.js +0 -2
- package/dist/lib/models/portfolio.d.ts +2 -2
- package/dist/lib/models/pricing.d.ts +12 -12
- package/dist/lib/models/props.d.ts +1 -1
- package/dist/lib/models/props.d.ts.map +1 -1
- package/dist/lib/models/rental.d.ts +0 -2
- package/dist/lib/models/rental.d.ts.map +1 -1
- package/dist/lib/models/review.d.ts +2 -2
- package/dist/lib/models/stay.d.ts +17 -17
- package/dist/lib/models/store.d.ts +71 -0
- package/dist/lib/models/store.d.ts.map +1 -0
- package/dist/lib/models/store.js +1 -0
- package/dist/lib/models/tile.d.ts +0 -2
- package/dist/lib/models/tile.d.ts.map +1 -1
- package/dist/lib/models/travelPackage.d.ts +211 -310
- package/dist/lib/models/travelPackage.d.ts.map +1 -1
- package/dist/lib/models/travelPackage.js +0 -2
- package/dist/lib/models/user.d.ts +32 -8
- package/dist/lib/models/user.d.ts.map +1 -1
- package/dist/lib/models/user.js +10 -1
- package/dist/lib/opportunityFormPage.d.ts +1 -0
- package/dist/lib/opportunityFormPage.d.ts.map +1 -1
- package/dist/lib/opportunityFormPage.js +1 -0
- package/dist/lib/rentalActions.js +0 -1
- package/dist/lib/rentalDummyData.d.ts.map +1 -1
- package/dist/lib/rentalDummyData.js +0 -35
- package/dist/lib/rentalFormPage.d.ts +0 -2
- package/dist/lib/rentalFormPage.d.ts.map +1 -1
- package/dist/lib/rentalFormPage.js +0 -3
- package/dist/lib/storeActions.d.ts +25 -0
- package/dist/lib/storeActions.d.ts.map +1 -0
- package/dist/lib/storeActions.js +46 -0
- package/dist/lib/storeDummyData.d.ts +2 -26
- package/dist/lib/storeDummyData.d.ts.map +1 -1
- package/dist/lib/userAtom.d.ts +178 -42
- package/dist/lib/userAtom.d.ts.map +1 -1
- package/dist/lib/userAtom.js +80 -52
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +1 -1
- package/package.json +4 -2
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { DiscountGrant, DiscountQuote, DiscountQuoteRequest, DiscountStrategy } from "./models/discount";
|
|
2
|
+
type Result<T> = {
|
|
3
|
+
success: true;
|
|
4
|
+
data: T;
|
|
5
|
+
message?: string;
|
|
6
|
+
} | {
|
|
7
|
+
success: false;
|
|
8
|
+
error: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function quoteDiscounts(input: DiscountQuoteRequest): Promise<Result<DiscountQuote>>;
|
|
11
|
+
export declare function getDiscountOffers(input?: {
|
|
12
|
+
featureType?: string;
|
|
13
|
+
targetId?: string;
|
|
14
|
+
}): Promise<Result<{
|
|
15
|
+
strategies: DiscountStrategy[];
|
|
16
|
+
grants: DiscountGrant[];
|
|
17
|
+
}>>;
|
|
18
|
+
export declare function getDiscountStrategies(): Promise<Result<DiscountStrategy[]>>;
|
|
19
|
+
export type DiscountTargetOptions = {
|
|
20
|
+
hosts: Array<{
|
|
21
|
+
id: string;
|
|
22
|
+
label: string;
|
|
23
|
+
username: string;
|
|
24
|
+
}>;
|
|
25
|
+
listings: Array<{
|
|
26
|
+
id: string;
|
|
27
|
+
label: string;
|
|
28
|
+
featureType: string;
|
|
29
|
+
hostId: string | null;
|
|
30
|
+
}>;
|
|
31
|
+
};
|
|
32
|
+
export declare function getDiscountTargetOptions(): Promise<Result<DiscountTargetOptions>>;
|
|
33
|
+
export declare function createDiscountStrategy(input: DiscountStrategy): Promise<Result<DiscountStrategy>>;
|
|
34
|
+
export declare function updateDiscountStrategy(id: string, input: Partial<DiscountStrategy>): Promise<Result<DiscountStrategy>>;
|
|
35
|
+
export declare function respondToDiscountSuggestion(id: string, action: "accept" | "reject", target?: {
|
|
36
|
+
targetId?: string;
|
|
37
|
+
subTargetId?: string;
|
|
38
|
+
featureTypes?: string[];
|
|
39
|
+
}): Promise<Result<DiscountStrategy | {
|
|
40
|
+
id: string;
|
|
41
|
+
}>>;
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=discountActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discountActions.d.ts","sourceRoot":"","sources":["../../src/lib/discountActions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG9G,KAAK,MAAM,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAElG,wBAAsB,cAAc,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAOhG;AAED,wBAAsB,iBAAiB,CAAC,KAAK,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAAC,MAAM,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC,CAAC,CAU7K;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAOjF;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CAC5F,CAAC;AAEF,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAOvF;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAOvG;AAED,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAO5H;AAED,wBAAsB,2BAA2B,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,MAAM,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAO5N"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { get, patch, post } from "./actions/fetcher";
|
|
2
|
+
export async function quoteDiscounts(input) {
|
|
3
|
+
try {
|
|
4
|
+
const response = await post("/discounts/quote", input, true);
|
|
5
|
+
return { success: true, data: response.data, message: response.message };
|
|
6
|
+
}
|
|
7
|
+
catch (error) {
|
|
8
|
+
return { success: false, error: error.message || "Unable to validate offers" };
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export async function getDiscountOffers(input = {}) {
|
|
12
|
+
try {
|
|
13
|
+
const params = new URLSearchParams();
|
|
14
|
+
if (input.featureType)
|
|
15
|
+
params.set("featureType", input.featureType);
|
|
16
|
+
if (input.targetId)
|
|
17
|
+
params.set("targetId", input.targetId);
|
|
18
|
+
const response = await get(`/discounts/offers${params.size ? `?${params}` : ""}`, true);
|
|
19
|
+
return { success: true, data: response.data, message: response.message };
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
return { success: false, error: error.message || "Unable to load offers" };
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export async function getDiscountStrategies() {
|
|
26
|
+
try {
|
|
27
|
+
const response = await get("/discounts/strategies", true);
|
|
28
|
+
return { success: true, data: response.data.strategies, message: response.message };
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
return { success: false, error: error.message || "Unable to load discount strategies" };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export async function getDiscountTargetOptions() {
|
|
35
|
+
try {
|
|
36
|
+
const response = await get("/discounts/targets", true);
|
|
37
|
+
return { success: true, data: response.data };
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
return { success: false, error: error?.message || "Unable to load discount targets" };
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export async function createDiscountStrategy(input) {
|
|
44
|
+
try {
|
|
45
|
+
const response = await post("/discounts/strategies", input, true);
|
|
46
|
+
return { success: true, data: response.data.strategy, message: response.message };
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
return { success: false, error: error.message || "Unable to create discount strategy" };
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export async function updateDiscountStrategy(id, input) {
|
|
53
|
+
try {
|
|
54
|
+
const response = await patch(`/discounts/strategies/${id}`, input);
|
|
55
|
+
return { success: true, data: response.data.strategy, message: response.message };
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
return { success: false, error: error.message || "Unable to update discount strategy" };
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export async function respondToDiscountSuggestion(id, action, target) {
|
|
62
|
+
try {
|
|
63
|
+
const response = await post(`/discounts/suggestions/${id}/${action}`, target || {}, true);
|
|
64
|
+
return { success: true, data: response.data.strategy || { id: response.data.id || id }, message: response.message };
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
return { success: false, error: error.message || `Unable to ${action} discount suggestion` };
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { HostPremiumQuote, PartnerCouponReveal, RewardWallet, UserMembershipProgress } from "./models/loyalty";
|
|
2
|
+
type Result<T> = {
|
|
3
|
+
success: true;
|
|
4
|
+
data: T;
|
|
5
|
+
message?: string;
|
|
6
|
+
} | {
|
|
7
|
+
success: false;
|
|
8
|
+
error: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function getMyRewardWallet(): Promise<Result<RewardWallet>>;
|
|
11
|
+
export declare function getMyMembership(): Promise<Result<UserMembershipProgress>>;
|
|
12
|
+
export declare function activateUserPlus(idempotencyKey: string): Promise<Result<{
|
|
13
|
+
membership: UserMembershipProgress["membership"];
|
|
14
|
+
}>>;
|
|
15
|
+
export declare function getMyHostPremiumQuote(): Promise<Result<HostPremiumQuote>>;
|
|
16
|
+
export declare function activateHostPremiumByCommission(): Promise<Result<{
|
|
17
|
+
membership: unknown;
|
|
18
|
+
}>>;
|
|
19
|
+
export declare function createHostPremiumPaymentOrder(): Promise<Result<any>>;
|
|
20
|
+
export declare function verifyHostPremiumPayment(input: {
|
|
21
|
+
agreementId: string;
|
|
22
|
+
razorpay_order_id: string;
|
|
23
|
+
razorpay_payment_id: string;
|
|
24
|
+
razorpay_signature: string;
|
|
25
|
+
}): Promise<Result<{
|
|
26
|
+
membership: unknown;
|
|
27
|
+
}>>;
|
|
28
|
+
export declare function getMyHostPerformance(): Promise<Result<any>>;
|
|
29
|
+
export declare function revealPartnerCoupon(campaignSlug: string): Promise<Result<PartnerCouponReveal>>;
|
|
30
|
+
export declare function reviewOpportunityMembershipRequirement(slug: string, decision: "approved" | "rejected"): Promise<Result<any>>;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=loyaltyActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loyaltyActions.d.ts","sourceRoot":"","sources":["../../src/lib/loyaltyActions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAGpH,KAAK,MAAM,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAIlG,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAKvE;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAK/E;AAED,wBAAsB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAA;CAAE,CAAC,CAAC,CAKpI;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAK/E;AAED,wBAAsB,+BAA+B,IAAI,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,CAKhG;AAED,wBAAsB,6BAA6B,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAK1E;AAED,wBAAsB,wBAAwB,CAAC,KAAK,EAAE;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,GAAG,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,CAK3C;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAKjE;AAED,wBAAsB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAKpG;AAED,wBAAsB,sCAAsC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAKlI"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { get, patch, post } from "./actions/fetcher";
|
|
2
|
+
const failure = (error, fallback) => ({ success: false, error: error?.message || fallback });
|
|
3
|
+
export async function getMyRewardWallet() {
|
|
4
|
+
try {
|
|
5
|
+
const response = await get("/rewards/me");
|
|
6
|
+
return { success: true, data: response.data, message: response.message };
|
|
7
|
+
}
|
|
8
|
+
catch (error) {
|
|
9
|
+
return failure(error, "Unable to load rewards");
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export async function getMyMembership() {
|
|
13
|
+
try {
|
|
14
|
+
const response = await get("/memberships/me");
|
|
15
|
+
return { success: true, data: response.data, message: response.message };
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
return failure(error, "Unable to load membership");
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export async function activateUserPlus(idempotencyKey) {
|
|
22
|
+
try {
|
|
23
|
+
const response = await post("/memberships/user/plus/activate", { idempotencyKey });
|
|
24
|
+
return { success: true, data: response.data, message: response.message };
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
return failure(error, "Unable to activate Plus");
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export async function getMyHostPremiumQuote() {
|
|
31
|
+
try {
|
|
32
|
+
const response = await get("/memberships/host/premium/quote");
|
|
33
|
+
return { success: true, data: response.data, message: response.message };
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
return failure(error, "Unable to load Host Premium pricing");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export async function activateHostPremiumByCommission() {
|
|
40
|
+
try {
|
|
41
|
+
const response = await post("/memberships/host/premium/commission", { accepted: true });
|
|
42
|
+
return { success: true, data: response.data, message: response.message };
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
return failure(error, "Unable to activate Host Premium");
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export async function createHostPremiumPaymentOrder() {
|
|
49
|
+
try {
|
|
50
|
+
const response = await post("/memberships/host/premium/payment-order", {});
|
|
51
|
+
return { success: true, data: response.data, message: response.message };
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
return failure(error, "Unable to initialize Host Premium payment");
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
export async function verifyHostPremiumPayment(input) {
|
|
58
|
+
try {
|
|
59
|
+
const response = await post("/memberships/host/premium/verify-payment", input);
|
|
60
|
+
return { success: true, data: response.data, message: response.message };
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
return failure(error, "Unable to verify Host Premium payment");
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
export async function getMyHostPerformance() {
|
|
67
|
+
try {
|
|
68
|
+
const response = await get("/host-performance/me");
|
|
69
|
+
return { success: true, data: response.data, message: response.message };
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
return failure(error, "Unable to load host performance");
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
export async function revealPartnerCoupon(campaignSlug) {
|
|
76
|
+
try {
|
|
77
|
+
const response = await get(`/partner-programs/campaigns/${encodeURIComponent(campaignSlug)}/reveal`, false);
|
|
78
|
+
return { success: true, data: response.data, message: response.message };
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
return failure(error, "Unable to reveal coupon");
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
export async function reviewOpportunityMembershipRequirement(slug, decision) {
|
|
85
|
+
try {
|
|
86
|
+
const response = await patch(`/newHostPost/${encodeURIComponent(slug)}/membership-requirement/review`, { decision });
|
|
87
|
+
return { success: true, data: response.data, message: response.message };
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
return failure(error, "Unable to review membership requirement");
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Pricing } from "./pricing";
|
|
2
|
-
import { Discount } from "./discount";
|
|
3
2
|
import { DifficultyEnum } from "./travelPackage";
|
|
4
3
|
export type ActivityType = string;
|
|
5
4
|
export type AdventureStatus = "draft" | "pending" | "open" | "closed" | "denied" | "archived";
|
|
@@ -37,7 +36,6 @@ export interface Adventure {
|
|
|
37
36
|
longitude?: number;
|
|
38
37
|
meetingPoint?: string;
|
|
39
38
|
pricing?: Pricing;
|
|
40
|
-
discount?: Discount;
|
|
41
39
|
pricingSummary?: {
|
|
42
40
|
basePrice: number;
|
|
43
41
|
discountedPrice: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adventure.d.ts","sourceRoot":"","sources":["../../../src/lib/models/adventure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"adventure.d.ts","sourceRoot":"","sources":["../../../src/lib/models/adventure.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
export declare const AUTHORIZATION_ROLES: readonly ["user", "host", "hr", "sales", "developer", "customer_support", "admin"];
|
|
2
|
+
export type AuthorizationRole = (typeof AUTHORIZATION_ROLES)[number] | string;
|
|
3
|
+
export declare const AUTHORIZATION_PERMISSIONS: readonly ["roles.read", "roles.manage", "permissions.read", "permissions.manage", "users.read", "users.manage", "hosts.read", "hosts.manage", "staff.read", "staff.manage", "listings.read", "listings.create", "listings.update.own", "listings.delete.own", "listings.moderate", "content.moderate", "opportunities.applications.read", "opportunities.membership_requirements.approve", "bookings.read.own", "bookings.read.host", "bookings.read.all", "bookings.manage.host", "bookings.manage.all", "pricing.read", "pricing.manage.own", "pricing.manage.platform", "discounts.read", "discounts.manage.own", "discounts.manage.platform", "partner_programs.read", "partner_programs.manage", "rewards.read.own", "rewards.read.all", "rewards.manage", "rewards.adjust", "memberships.read.all", "memberships.manage", "host_performance.read.all", "host_performance.manage", "payouts.read", "payouts.record", "platform.settings.read", "platform.settings.manage", "verification.read", "verification.manage", "support.contacts.read", "audit.read", "developer.diagnostics.read", "database.collections.read"];
|
|
4
|
+
export type AuthorizationPermission = (typeof AUTHORIZATION_PERMISSIONS)[number] | string;
|
|
5
|
+
export type BaseAccountType = "user" | "host";
|
|
6
|
+
export type AccountType = BaseAccountType | "staff";
|
|
7
|
+
export type PermissionAwareActor = {
|
|
8
|
+
role?: string | null;
|
|
9
|
+
legacyRole?: string | null;
|
|
10
|
+
permissions?: string[] | null;
|
|
11
|
+
accountType?: AccountType | string | null;
|
|
12
|
+
baseAccountType?: BaseAccountType | string | null;
|
|
13
|
+
staffProfileId?: string | null;
|
|
14
|
+
};
|
|
15
|
+
export declare const STAFF_DASHBOARD_PERMISSIONS: readonly ["roles.read", "roles.manage", "permissions.read", "permissions.manage", "users.read", "users.manage", "hosts.read", "hosts.manage", "staff.read", "staff.manage", "listings.read", "listings.moderate", "content.moderate", "opportunities.applications.read", "bookings.read.all", "bookings.manage.all", "payouts.read", "payouts.record", "platform.settings.read", "platform.settings.manage", "discounts.manage.platform", "partner_programs.read", "partner_programs.manage", "rewards.read.all", "rewards.manage", "memberships.read.all", "memberships.manage", "host_performance.read.all", "host_performance.manage", "verification.read", "verification.manage", "support.contacts.read", "audit.read", "developer.diagnostics.read"];
|
|
16
|
+
export declare const MODERATION_DASHBOARD_PERMISSIONS: readonly ["listings.read", "listings.moderate", "content.moderate"];
|
|
17
|
+
export declare const PAYOUT_DASHBOARD_PERMISSIONS: readonly ["payouts.read", "payouts.record"];
|
|
18
|
+
export declare const PLATFORM_DASHBOARD_PERMISSIONS: readonly ["platform.settings.read", "platform.settings.manage", "discounts.manage.platform", "partner_programs.read", "partner_programs.manage", "rewards.read.all", "rewards.manage", "memberships.read.all", "memberships.manage", "host_performance.read.all", "host_performance.manage"];
|
|
19
|
+
export declare const AUTHORIZATION_DASHBOARD_PERMISSIONS: readonly ["roles.read", "roles.manage", "permissions.read", "permissions.manage"];
|
|
20
|
+
export declare const ADMIN_ROUTE_PERMISSION_GROUPS: {
|
|
21
|
+
readonly applications: readonly ["opportunities.applications.read"];
|
|
22
|
+
readonly authorization: readonly ["roles.read", "roles.manage", "permissions.read", "permissions.manage"];
|
|
23
|
+
readonly moderation: readonly ["listings.read", "listings.moderate", "content.moderate"];
|
|
24
|
+
readonly payouts: readonly ["payouts.read", "payouts.record"];
|
|
25
|
+
readonly platform: readonly ["platform.settings.read", "platform.settings.manage", "discounts.manage.platform", "partner_programs.read", "partner_programs.manage", "rewards.read.all", "rewards.manage", "memberships.read.all", "memberships.manage", "host_performance.read.all", "host_performance.manage"];
|
|
26
|
+
readonly registrations: readonly ["bookings.read.all", "bookings.manage.all"];
|
|
27
|
+
readonly staffAssignment: readonly ["roles.manage"];
|
|
28
|
+
};
|
|
29
|
+
export type AuthorizationRoleDto = {
|
|
30
|
+
_id?: string;
|
|
31
|
+
slug: string;
|
|
32
|
+
name: string;
|
|
33
|
+
description?: string;
|
|
34
|
+
permissions: string[];
|
|
35
|
+
system?: boolean;
|
|
36
|
+
isActive?: boolean;
|
|
37
|
+
};
|
|
38
|
+
export type AuthorizationPermissionDto = {
|
|
39
|
+
_id?: string;
|
|
40
|
+
key: string;
|
|
41
|
+
name: string;
|
|
42
|
+
description?: string;
|
|
43
|
+
category?: string;
|
|
44
|
+
system?: boolean;
|
|
45
|
+
isActive?: boolean;
|
|
46
|
+
};
|
|
47
|
+
export type StaffRoleAssignmentDto = {
|
|
48
|
+
staffProfileId: string;
|
|
49
|
+
baseAccountType: BaseAccountType;
|
|
50
|
+
baseAccountId: string;
|
|
51
|
+
baseAccountModel: "User" | "HostProfile";
|
|
52
|
+
username?: string;
|
|
53
|
+
email?: string;
|
|
54
|
+
staffRole: string;
|
|
55
|
+
baseUserId?: string | null;
|
|
56
|
+
baseHostId?: string | null;
|
|
57
|
+
};
|
|
58
|
+
export type StaffProfileDto = {
|
|
59
|
+
_id: string;
|
|
60
|
+
baseUserId?: string | null;
|
|
61
|
+
baseHostId?: string | null;
|
|
62
|
+
staffRole: string;
|
|
63
|
+
permissionOverrides?: string[];
|
|
64
|
+
isActive?: boolean;
|
|
65
|
+
baseUser?: Pick<AssignableAccountDto, "username" | "email" | "firstName" | "lastName"> & {
|
|
66
|
+
_id: string;
|
|
67
|
+
} | null;
|
|
68
|
+
baseHost?: Pick<AssignableAccountDto, "username" | "email" | "firstName" | "lastName"> & {
|
|
69
|
+
_id: string;
|
|
70
|
+
} | null;
|
|
71
|
+
};
|
|
72
|
+
export type AssignableAccountDto = {
|
|
73
|
+
baseAccountType: BaseAccountType;
|
|
74
|
+
baseAccountId: string;
|
|
75
|
+
baseAccountModel: "User" | "HostProfile";
|
|
76
|
+
username?: string;
|
|
77
|
+
email?: string;
|
|
78
|
+
firstName?: string;
|
|
79
|
+
lastName?: string;
|
|
80
|
+
phoneNumber?: string;
|
|
81
|
+
legacyRole?: string;
|
|
82
|
+
staffProfileId?: string | null;
|
|
83
|
+
staffRole?: string | null;
|
|
84
|
+
permissionOverrides?: string[];
|
|
85
|
+
};
|
|
86
|
+
export declare function getActorRole(actor?: PermissionAwareActor | null): string | null;
|
|
87
|
+
export declare function getActorBaseAccountType(actor?: PermissionAwareActor | null): BaseAccountType;
|
|
88
|
+
export declare function isTravellerAccount(actor?: PermissionAwareActor | null): boolean;
|
|
89
|
+
export declare function isStaffSession(actor?: PermissionAwareActor | null): boolean;
|
|
90
|
+
export declare function isHostSession(actor?: PermissionAwareActor | null): boolean;
|
|
91
|
+
export declare function canUseTravellerFlows(actor?: PermissionAwareActor | null): boolean;
|
|
92
|
+
export declare function getActorRoles(actor?: PermissionAwareActor | null): string[];
|
|
93
|
+
export declare function getActorPermissions(actor?: PermissionAwareActor | null): string[];
|
|
94
|
+
export declare function hasRole(actor: PermissionAwareActor | null | undefined, role: string): boolean;
|
|
95
|
+
export declare function hasPermission(actor: PermissionAwareActor | null | undefined, permission: string): boolean;
|
|
96
|
+
export declare function hasAnyPermission(actor: PermissionAwareActor | null | undefined, permissions: readonly string[]): boolean;
|
|
97
|
+
export declare function hasAllPermissions(actor: PermissionAwareActor | null | undefined, permissions: readonly string[]): boolean;
|
|
98
|
+
export declare function hasStaffDashboardAccess(actor: PermissionAwareActor | null | undefined): boolean;
|
|
99
|
+
export declare function hasHostDashboardAccess(actor: PermissionAwareActor | null | undefined): boolean;
|
|
100
|
+
export declare function getActorDashboardRoute(actor: PermissionAwareActor | null | undefined): "/dashboard/staff/overview" | "/dashboard/host/overview" | "/dashboard/user";
|
|
101
|
+
export declare function canCreateListing(actor: PermissionAwareActor | null | undefined): boolean;
|
|
102
|
+
export declare function canCreateListingForHost(actor: PermissionAwareActor | null | undefined): boolean;
|
|
103
|
+
export declare function canAccessListingEditor(actor: PermissionAwareActor | null | undefined): boolean;
|
|
104
|
+
export declare function canAccessOpportunityApplicationReview(actor: PermissionAwareActor | null | undefined): boolean;
|
|
105
|
+
export declare function getOpportunityApplicationApprovalStatus(actor: PermissionAwareActor | null | undefined): "adminApproved" | "approved";
|
|
106
|
+
export declare function getAdminDashboardRoutePermissions(pathname: string): readonly ["roles.read", "roles.manage", "permissions.read", "permissions.manage", "users.read", "users.manage", "hosts.read", "hosts.manage", "staff.read", "staff.manage", "listings.read", "listings.moderate", "content.moderate", "opportunities.applications.read", "bookings.read.all", "bookings.manage.all", "payouts.read", "payouts.record", "platform.settings.read", "platform.settings.manage", "discounts.manage.platform", "partner_programs.read", "partner_programs.manage", "rewards.read.all", "rewards.manage", "memberships.read.all", "memberships.manage", "host_performance.read.all", "host_performance.manage", "verification.read", "verification.manage", "support.contacts.read", "audit.read", "developer.diagnostics.read"] | readonly ["listings.read", "listings.moderate", "content.moderate"] | readonly ["payouts.read", "payouts.record"] | readonly ["roles.read", "roles.manage", "permissions.read", "permissions.manage"] | readonly ["opportunities.applications.read"] | readonly ["bookings.read.all", "bookings.manage.all"];
|
|
107
|
+
export declare function hasAdminDashboardRouteAccess(actor: PermissionAwareActor | null | undefined, pathname: string): boolean;
|
|
108
|
+
//# sourceMappingURL=authorization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../../../src/lib/models/authorization.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,oFAQtB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE9E,eAAO,MAAM,yBAAyB,+jCAkD5B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE1F,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAC9C,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,OAAO,CAAC;AAEpD,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,eAAe,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAAC;IAClD,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,2BAA2B,4tBAmC9B,CAAC;AAEX,eAAO,MAAM,gCAAgC,qEAInC,CAAC;AAEX,eAAO,MAAM,4BAA4B,6CAG/B,CAAC;AAEX,eAAO,MAAM,8BAA8B,8RAYjC,CAAC;AAEX,eAAO,MAAM,mCAAmC,mFAKtC,CAAC;AAEX,eAAO,MAAM,6BAA6B;;;;;;;;CAQhC,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,GAAG,aAAa,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAChH,QAAQ,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACjH,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,GAAG,aAAa,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,oBAAoB,GAAG,IAAI,iBAG/D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,CAAC,EAAE,oBAAoB,GAAG,IAAI,GAAG,eAAe,CAI5F;AAED,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,oBAAoB,GAAG,IAAI,WAOrE;AAED,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,oBAAoB,GAAG,IAAI,WAMjE;AAED,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,oBAAoB,GAAG,IAAI,WAEhE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,oBAAoB,GAAG,IAAI,WAEvE;AAED,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,oBAAoB,GAAG,IAAI,YAGhE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,oBAAoB,GAAG,IAAI,YAQtE;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,WAGnF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,WAM/F;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,EAC9C,WAAW,EAAE,SAAS,MAAM,EAAE,WAG/B;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,EAC9C,WAAW,EAAE,SAAS,MAAM,EAAE,WAG/B;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,WAErF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,WAEpF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,gFAIpF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,WAM9E;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,WAErF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,WAMpF;AAED,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,WAO/C;AAED,wBAAgB,uCAAuC,CACrD,KAAK,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,gCAK/C;AAED,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,MAAM,6gCAoCjE;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,EAC9C,QAAQ,EAAE,MAAM,WAOjB"}
|