ZH
测试版翻译

@core / reviews

1.0.1 ▾
已验证MIT
GitHub

基于 @core/comments 的商品评价:已验证购买、图片、标注来源的导入评价、评分和邀评邮件

代码5 个文件上下文约 540 个 token扫描通过

应用 .genpmignore 后将被注入的确切目录树。固定于

src/lib/reviews/schema.ts只读 · 9c40b7a
// Tablas de @core/reviews. Las reseñas son comentarios (@core/comments) con valoración; aquí solo sus datos extra.
import { boolean, integer, jsonb, pgTable, text } from 'drizzle-orm/pg-core';
import { comments } from '../comments/index.ts';
import { timestamps } from '../db/index.ts';

export const reviewMeta = pgTable('review_meta', {
  commentId: text('comment_id')
    .primaryKey()
    .references(() => comments.id, { onDelete: 'cascade' }),
  productId: text('product_id').notNull(),
  /** Compra comprobada: el autor tiene un pedido pagado y enviado con este producto. */
  verified: boolean('verified').notNull().default(false),
  orderId: text('order_id'),
  /** `site` o el origen de una reseña importada (`aliexpress`, `trustpilot`…), que se muestra siempre. */
  source: text('source').notNull().default('site'),
  photos: jsonb('photos').$type<string[]>().notNull().default([]),
  ...timestamps,
});

/** Agregado por producto (se recalcula al publicar o moderar). `average` × 100. */
export const reviewStats = pgTable('review_stats', {
  productId: text('product_id').primaryKey(),
  count: integer('count').notNull().default(0),
  average: integer('average').notNull().default(0),
  histogram: jsonb('histogram').$type<[number, number, number, number, number]>().notNull().default([0, 0, 0, 0, 0]),
  ...timestamps,
});

举报 @core/reviews

使用 GitHub 登录后才能举报包。