Helper func to parse validation error
This commit is contained in:
parent
5eacb93966
commit
ea31ace0eb
@ -277,12 +277,15 @@ class MariaDB
|
|||||||
}
|
}
|
||||||
return new Promise<void>(resolve =>
|
return new Promise<void>(resolve =>
|
||||||
{
|
{
|
||||||
|
this.#logger?.info('Closing pool');
|
||||||
if (!this.#pool)
|
if (!this.#pool)
|
||||||
{
|
{
|
||||||
|
this.#logger?.debug('Pool was already closed');
|
||||||
resolve(); return;
|
resolve(); return;
|
||||||
}
|
}
|
||||||
this.#pool.end(() =>
|
this.#pool.end(() =>
|
||||||
{
|
{
|
||||||
|
this.#logger?.status('Pool closed');
|
||||||
this.#pool?.removeAllListeners();
|
this.#pool?.removeAllListeners();
|
||||||
resolve();
|
resolve();
|
||||||
});
|
});
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { inspect } from 'node:util';
|
import { inspect } from 'node:util';
|
||||||
import { MongoClient, MongoClientOptions, Db, Document, WithId, ObjectId, Filter, IndexSpecification, CreateIndexesOptions, FindOptions, ModifyResult, DistinctOptions } from 'mongodb';
|
import { MongoClient, MongoClientOptions, Db, Document, WithId, ObjectId, Filter, IndexSpecification, CreateIndexesOptions, FindOptions, ModifyResult, DistinctOptions, MongoServerError } from 'mongodb';
|
||||||
import { IServer, ILogger } from './interfaces/index.js';
|
import { IServer, ILogger } from './interfaces/index.js';
|
||||||
|
|
||||||
interface Credentials {
|
interface Credentials {
|
||||||
@ -40,6 +40,16 @@ const objIsSubset = (superObj: StringIndexable, subObj: StringIndexable): boolea
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const parseValidationError = (error: MongoServerError) =>
|
||||||
|
{
|
||||||
|
if (error.code !== 121 || !error.errInfo)
|
||||||
|
throw new Error('Not a validation error');
|
||||||
|
const rule = error.errInfo.details.schemaRulesNotSatisfied;
|
||||||
|
const missing = rule.missingProperties as string[];
|
||||||
|
const required = rule.specifiedAs.required as string[];
|
||||||
|
return { missing, required };
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A dedicated class to locally wrap the mongodb API wrapper
|
* A dedicated class to locally wrap the mongodb API wrapper
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user