fixed mongo

This commit is contained in:
Bojan Kucera 2025-06-09 20:19:25 -04:00
parent c172ecc6d3
commit 2437628591
5 changed files with 133 additions and 130 deletions

View file

@ -15,7 +15,7 @@ import type {
} from './types';
import { MongoDBHealthMonitor } from './health';
import { schemaMap } from './schemas';
import { z } from 'zod';
import * as yup from 'yup';
/**
* MongoDB Client for Stock Bot
@ -147,15 +147,15 @@ export class MongoDBClient {
} as T; // Validate document if schema exists
if (collectionName in schemaMap) {
try {
(schemaMap as any)[collectionName].parse(docWithTimestamps);
(schemaMap as any)[collectionName].validateSync(docWithTimestamps);
} catch (error) {
if (error instanceof z.ZodError) {
if (error instanceof yup.ValidationError) {
this.logger.error(`Document validation failed for ${collectionName}:`, error.errors);
throw new Error(`Document validation failed: ${error.errors.map(e => e.message).join(', ')}`);
throw new Error(`Document validation failed: ${error.errors?.map(e => e).join(', ')}`);
}
throw error;
}
} const result = await collection.insertOne(docWithTimestamps as OptionalUnlessRequiredId<T>);
}const result = await collection.insertOne(docWithTimestamps as OptionalUnlessRequiredId<T>);
return { ...docWithTimestamps, _id: result.insertedId } as T;
}