feat(api): embed slots with ov replica and public feed

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-09-20 22:22:19 +08:00
parent eb51069a12
commit aee4b7ac46
23 changed files with 1890 additions and 10 deletions
+17
View File
@@ -162,6 +162,23 @@ model visit_requests {
@@index([createdAt])
}
// —— 副本域:embed_slots_ov(cn embed_slots 的展示投影,P4b Task 2)——
// slotToken 即 cn embed_slots.publicToken(公开端点按它寻址,稳定不变);
// albumPublicToken 为绑定相册的公开令牌(null=未绑定 → 公开端 404)——副本
// 外键落公开令牌而非 cn id:嵌入侧只认 token(A22 换绑不认相册身份)。
// entityVersion 是 cn 权威版本(应用写入,ov 不自增);settings 为载荷原文
// (当前公开响应不含设置——loader 经 data-* 配置,副本位为对账/后续使用保留)。
// 无墓碑:下线是 enabled=false 的全量快照替换(cn 无删除端点)。
model embed_slots_ov {
slotToken String @id @db.VarChar(32)
enabled Boolean @default(true)
albumPublicToken String? @db.VarChar(32)
configVersion Int @default(1)
settings Json
entityVersion Int
updatedAt DateTime @updatedAt @db.DateTime(6)
}
// —— 统计回传队列:outbox_stat_events(ov→cn,Task 9 消费)——
// 与 cn outbox_events 同构的发送位:sentAt 为空即重发(中断恢复),statVersion
// 让 cn 侧「仅更高版本替换」幂等。total 恒为权威快照值(非增量)。