@porulle/plugin-marketplace 0.64.0 → 0.65.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -59
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -11
- package/dist/routes/b2b.d.ts +1 -3
- package/dist/routes/b2b.d.ts.map +1 -1
- package/dist/routes/b2b.js +2 -70
- package/dist/routes/sub-orders.js +3 -3
- package/dist/routes/vendor-portal.js +6 -6
- package/dist/schema.d.ts +0 -194
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +0 -14
- package/dist/schemas/b2b.d.ts +0 -986
- package/dist/schemas/b2b.d.ts.map +1 -1
- package/dist/schemas/b2b.js +1 -184
- package/dist/schemas/commission.d.ts +0 -495
- package/dist/schemas/commission.d.ts.map +1 -1
- package/dist/schemas/commission.js +1 -78
- package/dist/schemas/disputes-returns-reviews.d.ts +0 -1354
- package/dist/schemas/disputes-returns-reviews.d.ts.map +1 -1
- package/dist/schemas/disputes-returns-reviews.js +1 -208
- package/dist/schemas/sub-orders.d.ts +0 -290
- package/dist/schemas/sub-orders.d.ts.map +1 -1
- package/dist/schemas/sub-orders.js +1 -59
- package/dist/schemas/vendor-portal.d.ts +0 -1755
- package/dist/schemas/vendor-portal.d.ts.map +1 -1
- package/dist/schemas/vendor-portal.js +1 -247
- package/dist/schemas/vendors.d.ts +0 -1321
- package/dist/schemas/vendors.d.ts.map +1 -1
- package/dist/schemas/vendors.js +1 -205
- package/dist/services/sub-order.d.ts +1 -31
- package/dist/services/sub-order.d.ts.map +1 -1
- package/dist/services/sub-order.js +14 -22
- package/dist/types.d.ts +0 -17
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -4
- package/package.json +13 -11
- package/src/index.ts +3 -11
- package/src/routes/b2b.ts +1 -76
- package/src/routes/sub-orders.ts +3 -3
- package/src/routes/vendor-portal.ts +6 -6
- package/src/schema.ts +0 -16
- package/src/schemas/b2b.ts +1 -208
- package/src/schemas/commission.ts +1 -86
- package/src/schemas/disputes-returns-reviews.ts +1 -225
- package/src/schemas/sub-orders.ts +1 -65
- package/src/schemas/vendor-portal.ts +1 -269
- package/src/schemas/vendors.ts +1 -222
- package/src/services/sub-order.ts +16 -18
- package/src/types.ts +0 -28
- package/dist/schemas/payouts.d.ts +0 -375
- package/dist/schemas/payouts.d.ts.map +0 -1
- package/dist/schemas/payouts.js +0 -78
- package/dist/services/contract-price.d.ts +0 -64
- package/dist/services/contract-price.d.ts.map +0 -1
- package/dist/services/contract-price.js +0 -57
- package/src/schemas/payouts.ts +0 -90
- package/src/services/contract-price.ts +0 -80
|
@@ -1,21 +1,4 @@
|
|
|
1
|
-
import { z
|
|
2
|
-
|
|
3
|
-
const ErrorSchema = z.object({
|
|
4
|
-
error: z.object({
|
|
5
|
-
code: z.string(),
|
|
6
|
-
message: z.string(),
|
|
7
|
-
}),
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
const errorResponses = {
|
|
11
|
-
401: { content: { "application/json": { schema: ErrorSchema } }, description: "Authentication required." },
|
|
12
|
-
403: { content: { "application/json": { schema: ErrorSchema } }, description: "Insufficient permissions." },
|
|
13
|
-
404: { content: { "application/json": { schema: ErrorSchema } }, description: "Not found." },
|
|
14
|
-
422: { content: { "application/json": { schema: ErrorSchema } }, description: "Validation error." },
|
|
15
|
-
500: { content: { "application/json": { schema: ErrorSchema } }, description: "Server error." },
|
|
16
|
-
} as const;
|
|
17
|
-
|
|
18
|
-
const DataResponseSchema = z.object({ data: z.any() });
|
|
1
|
+
import { z } from "@hono/zod-openapi";
|
|
19
2
|
|
|
20
3
|
// ═══════════════════════════════════════════════════════════════════════════════
|
|
21
4
|
// DISPUTES
|
|
@@ -30,20 +13,6 @@ export const OpenDisputeBodySchema = z.object({
|
|
|
30
13
|
description: z.string().optional(),
|
|
31
14
|
}).openapi("OpenDisputeRequest");
|
|
32
15
|
|
|
33
|
-
export const openDisputeRoute = createRoute({
|
|
34
|
-
method: "post",
|
|
35
|
-
path: "/api/marketplace/disputes",
|
|
36
|
-
tags: ["Marketplace - Disputes"],
|
|
37
|
-
summary: "Open a dispute",
|
|
38
|
-
request: {
|
|
39
|
-
body: { content: { "application/json": { schema: OpenDisputeBodySchema } }, required: true },
|
|
40
|
-
},
|
|
41
|
-
responses: {
|
|
42
|
-
201: { content: { "application/json": { schema: DataResponseSchema } }, description: "Dispute opened." },
|
|
43
|
-
...errorResponses,
|
|
44
|
-
},
|
|
45
|
-
});
|
|
46
|
-
|
|
47
16
|
// ─── Respond to Dispute ─────────────────────────────────────────────────────
|
|
48
17
|
|
|
49
18
|
export const RespondDisputeBodySchema = z.object({
|
|
@@ -52,21 +21,6 @@ export const RespondDisputeBodySchema = z.object({
|
|
|
52
21
|
url: z.string().url().optional().openapi({ example: "https://example.com/evidence.pdf" }),
|
|
53
22
|
}).openapi("RespondDisputeRequest");
|
|
54
23
|
|
|
55
|
-
export const respondDisputeRoute = createRoute({
|
|
56
|
-
method: "post",
|
|
57
|
-
path: "/api/marketplace/disputes/{id}/respond",
|
|
58
|
-
tags: ["Marketplace - Disputes"],
|
|
59
|
-
summary: "Respond to a dispute",
|
|
60
|
-
request: {
|
|
61
|
-
params: z.object({ id: z.string() }),
|
|
62
|
-
body: { content: { "application/json": { schema: RespondDisputeBodySchema } }, required: true },
|
|
63
|
-
},
|
|
64
|
-
responses: {
|
|
65
|
-
200: { content: { "application/json": { schema: DataResponseSchema } }, description: "Response recorded." },
|
|
66
|
-
...errorResponses,
|
|
67
|
-
},
|
|
68
|
-
});
|
|
69
|
-
|
|
70
24
|
// ─── Resolve Dispute ────────────────────────────────────────────────────────
|
|
71
25
|
|
|
72
26
|
export const ResolveDisputeBodySchema = z.object({
|
|
@@ -78,21 +32,6 @@ export const ResolveDisputeBodySchema = z.object({
|
|
|
78
32
|
refundAmountCents: z.number().int().optional().openapi({ example: 1500 }),
|
|
79
33
|
}).openapi("ResolveDisputeRequest");
|
|
80
34
|
|
|
81
|
-
export const resolveDisputeRoute = createRoute({
|
|
82
|
-
method: "post",
|
|
83
|
-
path: "/api/marketplace/disputes/{id}/resolve",
|
|
84
|
-
tags: ["Marketplace - Disputes"],
|
|
85
|
-
summary: "Resolve a dispute",
|
|
86
|
-
request: {
|
|
87
|
-
params: z.object({ id: z.string() }),
|
|
88
|
-
body: { content: { "application/json": { schema: ResolveDisputeBodySchema } }, required: true },
|
|
89
|
-
},
|
|
90
|
-
responses: {
|
|
91
|
-
200: { content: { "application/json": { schema: DataResponseSchema } }, description: "Dispute resolved." },
|
|
92
|
-
...errorResponses,
|
|
93
|
-
},
|
|
94
|
-
});
|
|
95
|
-
|
|
96
35
|
// ═══════════════════════════════════════════════════════════════════════════════
|
|
97
36
|
// RETURNS
|
|
98
37
|
// ═══════════════════════════════════════════════════════════════════════════════
|
|
@@ -107,41 +46,12 @@ export const RequestReturnBodySchema = z.object({
|
|
|
107
46
|
lineItems: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
108
47
|
}).openapi("RequestReturnRequest");
|
|
109
48
|
|
|
110
|
-
export const requestReturnRoute = createRoute({
|
|
111
|
-
method: "post",
|
|
112
|
-
path: "/api/marketplace/returns",
|
|
113
|
-
tags: ["Marketplace - Returns"],
|
|
114
|
-
summary: "Request a return",
|
|
115
|
-
request: {
|
|
116
|
-
body: { content: { "application/json": { schema: RequestReturnBodySchema } }, required: true },
|
|
117
|
-
},
|
|
118
|
-
responses: {
|
|
119
|
-
201: { content: { "application/json": { schema: DataResponseSchema } }, description: "Return requested." },
|
|
120
|
-
...errorResponses,
|
|
121
|
-
},
|
|
122
|
-
});
|
|
123
|
-
|
|
124
49
|
// ─── Ship Back ──────────────────────────────────────────────────────────────
|
|
125
50
|
|
|
126
51
|
export const ShipBackReturnBodySchema = z.object({
|
|
127
52
|
trackingNumber: z.string().min(1).openapi({ example: "TRACK123456" }),
|
|
128
53
|
}).openapi("ShipBackReturnRequest");
|
|
129
54
|
|
|
130
|
-
export const shipBackReturnRoute = createRoute({
|
|
131
|
-
method: "post",
|
|
132
|
-
path: "/api/marketplace/returns/{id}/ship-back",
|
|
133
|
-
tags: ["Marketplace - Returns"],
|
|
134
|
-
summary: "Ship back a return",
|
|
135
|
-
request: {
|
|
136
|
-
params: z.object({ id: z.string() }),
|
|
137
|
-
body: { content: { "application/json": { schema: ShipBackReturnBodySchema } }, required: true },
|
|
138
|
-
},
|
|
139
|
-
responses: {
|
|
140
|
-
200: { content: { "application/json": { schema: DataResponseSchema } }, description: "Return shipped back." },
|
|
141
|
-
...errorResponses,
|
|
142
|
-
},
|
|
143
|
-
});
|
|
144
|
-
|
|
145
55
|
// ═══════════════════════════════════════════════════════════════════════════════
|
|
146
56
|
// REVIEWS
|
|
147
57
|
// ═══════════════════════════════════════════════════════════════════════════════
|
|
@@ -156,156 +66,22 @@ export const CreateReviewBodySchema = z.object({
|
|
|
156
66
|
body: z.string().optional(),
|
|
157
67
|
}).openapi("CreateVendorReviewRequest");
|
|
158
68
|
|
|
159
|
-
export const createReviewRoute = createRoute({
|
|
160
|
-
method: "post",
|
|
161
|
-
path: "/api/marketplace/vendors/{id}/reviews",
|
|
162
|
-
tags: ["Marketplace - Reviews"],
|
|
163
|
-
summary: "Create a vendor review",
|
|
164
|
-
request: {
|
|
165
|
-
params: z.object({ id: z.string() }),
|
|
166
|
-
body: { content: { "application/json": { schema: CreateReviewBodySchema } }, required: true },
|
|
167
|
-
},
|
|
168
|
-
responses: {
|
|
169
|
-
201: { content: { "application/json": { schema: DataResponseSchema } }, description: "Review created." },
|
|
170
|
-
...errorResponses,
|
|
171
|
-
},
|
|
172
|
-
});
|
|
173
|
-
|
|
174
69
|
// ─── Moderate Review ────────────────────────────────────────────────────────
|
|
175
70
|
|
|
176
71
|
export const ModerateReviewBodySchema = z.object({
|
|
177
72
|
status: z.enum(["pending", "published", "hidden", "flagged"]).openapi({ example: "published" }),
|
|
178
73
|
}).openapi("ModerateReviewRequest");
|
|
179
74
|
|
|
180
|
-
export const moderateReviewRoute = createRoute({
|
|
181
|
-
method: "patch",
|
|
182
|
-
path: "/api/marketplace/reviews/{id}",
|
|
183
|
-
tags: ["Marketplace - Reviews"],
|
|
184
|
-
summary: "Moderate a review (update status)",
|
|
185
|
-
request: {
|
|
186
|
-
params: z.object({ id: z.string() }),
|
|
187
|
-
body: { content: { "application/json": { schema: ModerateReviewBodySchema } }, required: true },
|
|
188
|
-
},
|
|
189
|
-
responses: {
|
|
190
|
-
200: { content: { "application/json": { schema: DataResponseSchema } }, description: "Review moderated." },
|
|
191
|
-
...errorResponses,
|
|
192
|
-
},
|
|
193
|
-
});
|
|
194
|
-
|
|
195
75
|
// ─── List Disputes ──────────────────────────────────────────────────────────
|
|
196
76
|
|
|
197
|
-
export const listDisputesRoute = createRoute({
|
|
198
|
-
method: "get",
|
|
199
|
-
path: "/api/marketplace/disputes",
|
|
200
|
-
tags: ["Marketplace - Disputes"],
|
|
201
|
-
summary: "List disputes",
|
|
202
|
-
request: {
|
|
203
|
-
query: z.object({
|
|
204
|
-
status: z.string().optional(),
|
|
205
|
-
subOrderId: z.string().optional(),
|
|
206
|
-
}),
|
|
207
|
-
},
|
|
208
|
-
responses: {
|
|
209
|
-
200: { content: { "application/json": { schema: DataResponseSchema } }, description: "Success" },
|
|
210
|
-
...errorResponses,
|
|
211
|
-
},
|
|
212
|
-
});
|
|
213
|
-
|
|
214
77
|
// ─── Get Dispute ────────────────────────────────────────────────────────────
|
|
215
78
|
|
|
216
|
-
export const getDisputeRoute = createRoute({
|
|
217
|
-
method: "get",
|
|
218
|
-
path: "/api/marketplace/disputes/{id}",
|
|
219
|
-
tags: ["Marketplace - Disputes"],
|
|
220
|
-
summary: "Get dispute by ID",
|
|
221
|
-
request: {
|
|
222
|
-
params: z.object({ id: z.string() }),
|
|
223
|
-
},
|
|
224
|
-
responses: {
|
|
225
|
-
200: { content: { "application/json": { schema: DataResponseSchema } }, description: "Success" },
|
|
226
|
-
...errorResponses,
|
|
227
|
-
},
|
|
228
|
-
});
|
|
229
|
-
|
|
230
79
|
// ─── Escalate Dispute ───────────────────────────────────────────────────────
|
|
231
80
|
|
|
232
|
-
export const escalateDisputeRoute = createRoute({
|
|
233
|
-
method: "post",
|
|
234
|
-
path: "/api/marketplace/disputes/{id}/escalate",
|
|
235
|
-
tags: ["Marketplace - Disputes"],
|
|
236
|
-
summary: "Escalate a dispute",
|
|
237
|
-
request: {
|
|
238
|
-
params: z.object({ id: z.string() }),
|
|
239
|
-
},
|
|
240
|
-
responses: {
|
|
241
|
-
200: { content: { "application/json": { schema: DataResponseSchema } }, description: "Dispute escalated." },
|
|
242
|
-
...errorResponses,
|
|
243
|
-
},
|
|
244
|
-
});
|
|
245
|
-
|
|
246
81
|
// ─── List Returns ───────────────────────────────────────────────────────────
|
|
247
82
|
|
|
248
|
-
export const listReturnsRoute = createRoute({
|
|
249
|
-
method: "get",
|
|
250
|
-
path: "/api/marketplace/returns",
|
|
251
|
-
tags: ["Marketplace - Returns"],
|
|
252
|
-
summary: "List returns",
|
|
253
|
-
request: {
|
|
254
|
-
query: z.object({
|
|
255
|
-
subOrderId: z.string().optional(),
|
|
256
|
-
status: z.string().optional(),
|
|
257
|
-
}),
|
|
258
|
-
},
|
|
259
|
-
responses: {
|
|
260
|
-
200: { content: { "application/json": { schema: DataResponseSchema } }, description: "Success" },
|
|
261
|
-
...errorResponses,
|
|
262
|
-
},
|
|
263
|
-
});
|
|
264
|
-
|
|
265
83
|
// ─── Get Return ─────────────────────────────────────────────────────────────
|
|
266
84
|
|
|
267
|
-
export const getReturnRoute = createRoute({
|
|
268
|
-
method: "get",
|
|
269
|
-
path: "/api/marketplace/returns/{id}",
|
|
270
|
-
tags: ["Marketplace - Returns"],
|
|
271
|
-
summary: "Get return by ID",
|
|
272
|
-
request: {
|
|
273
|
-
params: z.object({ id: z.string() }),
|
|
274
|
-
},
|
|
275
|
-
responses: {
|
|
276
|
-
200: { content: { "application/json": { schema: DataResponseSchema } }, description: "Success" },
|
|
277
|
-
...errorResponses,
|
|
278
|
-
},
|
|
279
|
-
});
|
|
280
|
-
|
|
281
85
|
// ─── Receive Return ─────────────────────────────────────────────────────────
|
|
282
86
|
|
|
283
|
-
export const receiveReturnRoute = createRoute({
|
|
284
|
-
method: "post",
|
|
285
|
-
path: "/api/marketplace/returns/{id}/receive",
|
|
286
|
-
tags: ["Marketplace - Returns"],
|
|
287
|
-
summary: "Mark a return as received",
|
|
288
|
-
request: {
|
|
289
|
-
params: z.object({ id: z.string() }),
|
|
290
|
-
},
|
|
291
|
-
responses: {
|
|
292
|
-
200: { content: { "application/json": { schema: DataResponseSchema } }, description: "Return received." },
|
|
293
|
-
...errorResponses,
|
|
294
|
-
},
|
|
295
|
-
});
|
|
296
|
-
|
|
297
87
|
// ─── List Vendor Reviews ────────────────────────────────────────────────────
|
|
298
|
-
|
|
299
|
-
export const listVendorReviewsRoute = createRoute({
|
|
300
|
-
method: "get",
|
|
301
|
-
path: "/api/marketplace/vendors/{id}/reviews",
|
|
302
|
-
tags: ["Marketplace - Reviews"],
|
|
303
|
-
summary: "List reviews for a vendor",
|
|
304
|
-
request: {
|
|
305
|
-
params: z.object({ id: z.string() }),
|
|
306
|
-
},
|
|
307
|
-
responses: {
|
|
308
|
-
200: { content: { "application/json": { schema: DataResponseSchema } }, description: "Success" },
|
|
309
|
-
...errorResponses,
|
|
310
|
-
},
|
|
311
|
-
});
|
|
@@ -1,21 +1,4 @@
|
|
|
1
|
-
import { z
|
|
2
|
-
|
|
3
|
-
const ErrorSchema = z.object({
|
|
4
|
-
error: z.object({
|
|
5
|
-
code: z.string(),
|
|
6
|
-
message: z.string(),
|
|
7
|
-
}),
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
const errorResponses = {
|
|
11
|
-
401: { content: { "application/json": { schema: ErrorSchema } }, description: "Authentication required." },
|
|
12
|
-
403: { content: { "application/json": { schema: ErrorSchema } }, description: "Insufficient permissions." },
|
|
13
|
-
404: { content: { "application/json": { schema: ErrorSchema } }, description: "Not found." },
|
|
14
|
-
422: { content: { "application/json": { schema: ErrorSchema } }, description: "Validation error." },
|
|
15
|
-
500: { content: { "application/json": { schema: ErrorSchema } }, description: "Server error." },
|
|
16
|
-
} as const;
|
|
17
|
-
|
|
18
|
-
const SubOrderResponseSchema = z.object({ data: z.any() });
|
|
1
|
+
import { z } from "@hono/zod-openapi";
|
|
19
2
|
|
|
20
3
|
// ─── Update Sub-Order Status ─────────────────────────────────────────────────
|
|
21
4
|
|
|
@@ -25,53 +8,6 @@ export const UpdateSubOrderStatusBodySchema = z.object({
|
|
|
25
8
|
reason: z.string().optional().openapi({ example: "Admin force status change" }),
|
|
26
9
|
}).openapi("UpdateSubOrderStatusRequest");
|
|
27
10
|
|
|
28
|
-
export const updateSubOrderStatusRoute = createRoute({
|
|
29
|
-
method: "patch",
|
|
30
|
-
path: "/api/marketplace/sub-orders/{id}/status",
|
|
31
|
-
tags: ["Marketplace - Sub-Orders"],
|
|
32
|
-
summary: "Force a sub-order status change",
|
|
33
|
-
request: {
|
|
34
|
-
params: z.object({ id: z.uuid() }),
|
|
35
|
-
body: { content: { "application/json": { schema: UpdateSubOrderStatusBodySchema } }, required: true },
|
|
36
|
-
},
|
|
37
|
-
responses: {
|
|
38
|
-
200: { content: { "application/json": { schema: SubOrderResponseSchema } }, description: "Sub-order status updated." },
|
|
39
|
-
...errorResponses,
|
|
40
|
-
},
|
|
41
|
-
});
|
|
42
|
-
|
|
43
11
|
// ─── List Sub-Orders ────────────────────────────────────────────────────────
|
|
44
12
|
|
|
45
|
-
export const listSubOrdersRoute = createRoute({
|
|
46
|
-
method: "get",
|
|
47
|
-
path: "/api/marketplace/sub-orders",
|
|
48
|
-
tags: ["Marketplace - Sub-Orders"],
|
|
49
|
-
summary: "List sub-orders",
|
|
50
|
-
request: {
|
|
51
|
-
query: z.object({
|
|
52
|
-
orderId: z.string().optional(),
|
|
53
|
-
vendorId: z.string().optional(),
|
|
54
|
-
status: z.string().optional(),
|
|
55
|
-
}),
|
|
56
|
-
},
|
|
57
|
-
responses: {
|
|
58
|
-
200: { content: { "application/json": { schema: SubOrderResponseSchema } }, description: "Success" },
|
|
59
|
-
...errorResponses,
|
|
60
|
-
},
|
|
61
|
-
});
|
|
62
|
-
|
|
63
13
|
// ─── Get Sub-Order ──────────────────────────────────────────────────────────
|
|
64
|
-
|
|
65
|
-
export const getSubOrderRoute = createRoute({
|
|
66
|
-
method: "get",
|
|
67
|
-
path: "/api/marketplace/sub-orders/{id}",
|
|
68
|
-
tags: ["Marketplace - Sub-Orders"],
|
|
69
|
-
summary: "Get sub-order by ID",
|
|
70
|
-
request: {
|
|
71
|
-
params: z.object({ id: z.uuid() }),
|
|
72
|
-
},
|
|
73
|
-
responses: {
|
|
74
|
-
200: { content: { "application/json": { schema: SubOrderResponseSchema } }, description: "Success" },
|
|
75
|
-
...errorResponses,
|
|
76
|
-
},
|
|
77
|
-
});
|