feat: refactor zod validation

This commit is contained in:
abdou6666 2025-02-10 15:57:51 +01:00
parent 455c59453a
commit 6a1ec0d22f
2 changed files with 2 additions and 31 deletions

View File

@ -312,11 +312,6 @@ export const validMessageTextSchema = z.object({
message: z.string(),
});
// is-message validation
const MESSAGE_REGEX = /^function \(context\) \{[^]+\}/;
export const messageRegexSchema = z.string().regex(MESSAGE_REGEX);
export const textSchema = z.array(z.string().max(1000));
const quickReplySchema = z
@ -391,6 +386,7 @@ const attachmentBlockMessageSchema = z.object({
// BlockMessage Schema
export const blockMessageObjectSchema = z.union([
textSchema,
pluginBlockMessageSchema,
textBlockMessageSchema,
buttonMessageSchema,

View File

@ -16,36 +16,11 @@ import {
import {
BlockMessage,
blockMessageObjectSchema,
messageRegexSchema,
textSchema,
} from '../schemas/types/message';
/* eslint-disable no-console */
export function isValidMessage(msg: any) {
if (typeof msg === 'string' && msg !== '') {
const result = messageRegexSchema.safeParse(msg);
if (!result.success) {
console.error('Block Model: Invalid custom code.', result.error);
return false;
}
return true;
} else if (Array.isArray(msg)) {
const result = textSchema.safeParse(msg);
if (!result.success) {
console.error('Block Model: Invalid text message array.', result.error);
}
return result.success;
} else if (typeof msg === 'object' && msg !== null) {
const result = blockMessageObjectSchema.safeParse(msg);
if (!result.success) {
console.error('Block Model: Object validation failed!', result.error);
}
return result.success;
}
console.log('Validation reached default false');
return false;
return blockMessageObjectSchema.safeParse(msg).success;
}
/* eslint-enable no-console */
@ValidatorConstraint({ async: false })
export class MessageValidator implements ValidatorConstraintInterface {