refactor(api): add adapter layer for order/chat/review/dispute writes

This commit is contained in:
zetaloop
2026-02-23 11:04:16 +08:00
parent 1dfcd3927d
commit 8e62b15403
10 changed files with 258 additions and 98 deletions
+41
View File
@@ -1,3 +1,5 @@
import { deny } from "@/lib/policy/assert"
import { useAuthStore } from "@/store/auth"
import { useDisputeStore } from "@/store/disputes"
export function listDisputes() {
@@ -7,3 +9,42 @@ export function listDisputes() {
export function getDisputeByOrderId(orderId: string) {
return useDisputeStore.getState().disputes.find((dispute) => dispute.orderId === orderId)
}
export function submitDispute(input: { orderId: string; reason: string; evidence: string[] }) {
const user = useAuthStore.getState().user
if (!user?.id || !user.nickname) {
return { decision: deny("AUTH_REQUIRED", "请先登录") }
}
return useDisputeStore.getState().submitDispute({
orderId: input.orderId,
initiatorId: user.id,
initiatorName: user.nickname,
reason: input.reason,
evidence: input.evidence,
})
}
export function submitDisputeResponse(input: {
disputeId: string
reason: string
evidence: string[]
}) {
const userId = useAuthStore.getState().user?.id
if (!userId) {
return deny("AUTH_REQUIRED", "请先登录")
}
return useDisputeStore
.getState()
.submitResponse(input.disputeId, userId, input.reason, input.evidence)
}
export function submitDisputeAppeal(input: { disputeId: string; reason: string }) {
const userId = useAuthStore.getState().user?.id
if (!userId) {
return deny("AUTH_REQUIRED", "请先登录")
}
return useDisputeStore.getState().submitAppeal(input.disputeId, userId, input.reason)
}