withSignature
@mineflow/contracts / withSignature
Function: withSignature()
function withSignature<T>(base: T): ZodObject<{
[key: string]: any;
_signature: ZodOptional<ZodObject<{
cms: ZodString;
format: ZodLiteral<"cms">;
}, $strip>>;
_signatures: ZodOptional<ZodArray<ZodObject<{
cms: ZodString;
format: ZodLiteral<"cms">;
}, $strip>>>;
}, $strip>;
Defined in: shared.ts:134
withSignature(base) — навешивает на подписываемый DTO зарезервированные
опциональные поля транспорта ЭЦП: _signature (одиночная) и _signatures
(массив для dual-party, ступень 4). Применяется к .strict()-DTO по дписываемых
write-роутов, чтобы _signature(s) прошёл ZodValidationPipe (иначе .strict()
отвергнет неизвестный ключ). Доменная логика use-case'а эти поля игнорирует —
подпись снимает SignatureGuard ДО ValidationPipe. Роуты без тела получают
минимальное опциональное тело: withSignature(z.object({}).strict()).
Type Parameters
| Type Parameter |
|---|
T extends ZodObject<$ZodLooseShape, $strip> |
Parameters
| Parameter | Type |
|---|---|
base | T |
Returns
ZodObject<{
[key: string]: any;
_signature: ZodOptional<ZodObject<{
cms: ZodString;
format: ZodLiteral<"cms">;
}, $strip>>;
_signatures: ZodOptional<ZodArray<ZodObject<{
cms: ZodString;
format: ZodLiteral<"cms">;
}, $strip>>>;
}, $strip>
Example
const ApproveBody = withSignature(z.object({}).strict());