Skip to content

M1-contracts:MailProvisioner 接口 + 通知类型表 + 邀请状态机 + 用户表扩展 #47

Description

@HandyWote

M1 契约与数据地基(波次 1,无依赖)

决策依据:§6.6、requirements #23-26。

  • packages/contracts:MailProvisioner 四方法接口(createAccount / disableAccount / enableAccount / resetPassword),只开 M1 用到的方法,不为想象需求加方法
  • core D1 迁移:
    · users 表扩展(issuer+sub 唯一约束、email claim 列、status、个人邮箱列)
    · invites 表(一次性令牌哈希、状态机:pending/approved/rejected/consumed/expired、个人邮箱、前缀)
    · notification_types 表(type/文案模板/渠道位)+ notifications 表
    · DROP TABLE IF EXISTS oidc_flows(M0 死表,全仓零引用)
  • zod schema 全部带导出类型;单测覆盖状态机非法迁移拒绝

文件归属:packages/contracts/*、services/core-api 迁移目录。分支 m1/issue-47,PR base m1/dev。

验收:typecheck/test/build 三件套全绿;迁移在本地 miniflare D1 幂等重跑通过。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions