assertCommitUnitsEncryptedAtRest()
function assertCommitUnitsEncryptedAtRest(context, units): void;
Defined in: packages/rxdb-plugin-working-tree/src/commit/commit-codec.ts:228
校验一批变更单元的加密列都已处于落库形态(FR-038)。
Parameters
| Parameter | Type | Description |
|---|---|---|
context | CommitPatchCodecContext | 元数据解析与 at-rest 判定上下文 |
units | readonly CommitChangeUnitContent[] | 待提交的变更单元,按写入顺序;baseline 提交传空数组 |
Returns
void
Throws
CommitEncryptedAtRestError 某个加密列的值不是落库形态,或没有判定器可判
Throws
UnknownWorkingTreePatchEntityError 某个单元的目标实体未在本进程注册
Remarks
必须在算 contentFingerprint 之前调用,理由见本文件 fileoverview「调用顺序」。
只看 metadata.encryptedPropertyMap 里的那些键:非加密列里的明文本来就该是明文,
把它们也拖进判定只会让调用方为了过检查去加密不需要加密的列。
目标实体解析不到时抛,与 encodeWorkingTreePatch 同一口径——这条路径只在写入侧跑,
而写入的前提就是实体已注册;原样放行等于「查不到就不查」,正是 fail-open。
baseline 提交(kind: 'baseline')不带任何变更单元,因此没有加密暴露面;
传空数组是 no-op,也不需要判定器。将来若有人想「顺手给 baseline 存一份实体快照」,
会先在这里撞上——那份快照必须同样受本断言约束。