Files
juwan-frontend/lib/api/reviews.ts
T

30 lines
890 B
TypeScript

import { deny } from "@/lib/policy/assert"
import { useAuthStore } from "@/store/auth"
import { useReviewStore } from "@/store/reviews"
export function listReviews() {
return useReviewStore.getState().reviews
}
export function listReviewsByOrder(orderId: string) {
return useReviewStore.getState().reviews.filter((review) => review.orderId === orderId)
}
export function listReviewsByTargetUser(userId: string) {
return useReviewStore.getState().reviews.filter((review) => review.toUserId === userId)
}
export function submitReview(input: { orderId: string; rating: number; content?: string }) {
const userId = useAuthStore.getState().user?.id
if (!userId) {
return deny("AUTH_REQUIRED", "请先登录")
}
return useReviewStore.getState().submitReview({
orderId: input.orderId,
fromUserId: userId,
rating: input.rating,
content: input.content,
})
}