30 lines
873 B
TypeScript
30 lines
873 B
TypeScript
import { deny } from "@/lib/decision"
|
|
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(401, "请先登录")
|
|
}
|
|
|
|
return useReviewStore.getState().submitReview({
|
|
orderId: input.orderId,
|
|
fromUserId: userId,
|
|
rating: input.rating,
|
|
content: input.content,
|
|
})
|
|
}
|