feat(chat): add private message unlock flow

This commit is contained in:
2026-06-23 13:21:57 +08:00
parent c9d75b6fe6
commit ebd44c4980
20 changed files with 455 additions and 29 deletions
+12
View File
@@ -23,6 +23,9 @@ export const LocalMessageSchema = z.object({
content: z.string(),
createdAt: z.string().default(""),
imageUrl: z.string().nullable().default(null),
isPrivate: z.boolean().nullable().default(null),
privateLocked: z.boolean().nullable().default(null),
privateHint: z.string().nullable().default(null),
sessionId: z.string().default(""),
});
@@ -35,6 +38,9 @@ export class LocalMessage {
declare readonly content: string;
declare readonly createdAt: string;
declare readonly imageUrl: string | null;
declare readonly isPrivate: boolean | null;
declare readonly privateLocked: boolean | null;
declare readonly privateHint: string | null;
declare readonly sessionId: string;
private constructor(input: LocalMessageInput) {
@@ -63,6 +69,9 @@ export class LocalMessage {
content: this.content,
createdAt: this.createdAt,
imageUrl: this.imageUrl,
isPrivate: this.isPrivate,
privateLocked: this.privateLocked,
privateHint: this.privateHint,
sessionId: this.sessionId,
};
}
@@ -75,6 +84,9 @@ export class LocalMessage {
content: row.content,
createdAt: row.createdAt,
imageUrl: row.imageUrl ?? null,
isPrivate: row.isPrivate ?? null,
privateLocked: row.privateLocked ?? null,
privateHint: row.privateHint ?? null,
sessionId: row.sessionId,
});
}