feat(knowledge): 工单验收自动生成草稿,核对后发布,来源可追
- knowledge_doc 与 item 1:1,除 source_kind=manual 外必须有来源(库级约束) - 状态机 draft/in_review/published/archived,发布要 owner/admin;非法动作回 allowed_from 与 allowed_actions - 工单验收通过自动落 postmortem 草稿(generated_by=rule),同一来源只生成一次 - 接口:列表/详情/手记/改内容/状态动作/从事项沉淀;已发布禁改,改内容带乐观锁 - Web 知识页 + 详情抽屉;任务与工单详情里可「沉淀成知识」 - 8 个后端用例 + e2e 7 项断言(沉淀 → 待核对 → 发布)
This commit is contained in:
@@ -50,6 +50,13 @@ class ErrorCode(IntEnum):
|
||||
TICKET_FORBIDDEN = 6004
|
||||
NOTIFICATION_NOT_FOUND = 6005
|
||||
|
||||
# 7xxx 知识域
|
||||
KNOWLEDGE_NOT_FOUND = 7001
|
||||
KNOWLEDGE_ALREADY_EXISTS = 7002
|
||||
KNOWLEDGE_STATUS_INVALID = 7003
|
||||
KNOWLEDGE_FORBIDDEN = 7004
|
||||
KNOWLEDGE_SOURCE_REQUIRED = 7005
|
||||
|
||||
|
||||
# 默认 HTTP 状态:业务码自己带语义,HTTP 只是传输层
|
||||
_HTTP_STATUS: dict[ErrorCode, int] = {
|
||||
@@ -83,6 +90,11 @@ _HTTP_STATUS: dict[ErrorCode, int] = {
|
||||
ErrorCode.TICKET_STATUS_INVALID: 409,
|
||||
ErrorCode.TICKET_FORBIDDEN: 403,
|
||||
ErrorCode.NOTIFICATION_NOT_FOUND: 404,
|
||||
ErrorCode.KNOWLEDGE_NOT_FOUND: 404,
|
||||
ErrorCode.KNOWLEDGE_ALREADY_EXISTS: 409,
|
||||
ErrorCode.KNOWLEDGE_STATUS_INVALID: 409,
|
||||
ErrorCode.KNOWLEDGE_FORBIDDEN: 403,
|
||||
ErrorCode.KNOWLEDGE_SOURCE_REQUIRED: 409,
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user