diff --git a/src/core/Schemas.ts b/src/core/Schemas.ts index 8f202d9d0..3ea701d24 100644 --- a/src/core/Schemas.ts +++ b/src/core/Schemas.ts @@ -138,6 +138,8 @@ const SafeString = z ) .max(1000); +const PersistentIdSchema = z.string().uuid(); + const EmojiSchema = z .number() .nonnegative() @@ -388,7 +390,7 @@ export const ClientLogMessageSchema = z.object({ type: z.literal("log"), severity: z.nativeEnum(LogSeverity), log: ID, - persistentID: SafeString, + persistentID: PersistentIdSchema, // WARNING: PII }); export const ClientPingMessageSchema = z.object({ @@ -404,7 +406,7 @@ export const ClientIntentMessageSchema = z.object({ export const ClientJoinMessageSchema = z.object({ type: z.literal("join"), clientID: ID, - persistentID: SafeString, // WARNING: PII + persistentID: PersistentIdSchema, // WARNING: PII gameID: ID, lastTurn: z.number(), // The last turn the client saw. username: SafeString, @@ -424,7 +426,7 @@ export const PlayerRecordSchema = z.object({ clientID: ID, username: SafeString, ip: SafeString.nullable(), // WARNING: PII - persistentID: SafeString, // WARNING: PII + persistentID: PersistentIdSchema, // WARNING: PII }); export const GameRecordSchema = z.object({