Compare commits
4 Commits
fb5c680804
...
5cf42e538c
Author | SHA1 | Date | |
---|---|---|---|
5cf42e538c | |||
b13051943d | |||
5bdc6e7542 | |||
ffcdc003ad |
6
index.ts
6
index.ts
@ -1,3 +1,3 @@
|
|||||||
export { MessageBroker } from "./src/MessageBroker.js";
|
export { MessageBroker, BrokerOptions } from "./src/MessageBroker.js";
|
||||||
export { MariaDB } from './src/MariaDB.js';
|
export { MariaDB, MariaOptions } from './src/MariaDB.js';
|
||||||
export { MongoDB } from './src/MongoDB.js';
|
export { MongoDB, MongoOptions } from './src/MongoDB.js';
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@navy.gif/wrappers",
|
"name": "@navy.gif/wrappers",
|
||||||
"version": "1.1.1",
|
"version": "1.2.2",
|
||||||
"description": "Various wrapper classes I use in my projects",
|
"description": "Various wrapper classes I use in my projects",
|
||||||
"repository": "https://git.corgi.wtf/Navy.gif/wrappers.git",
|
"repository": "https://git.corgi.wtf/Navy.gif/wrappers.git",
|
||||||
"author": "Navy.gif",
|
"author": "Navy.gif",
|
||||||
|
@ -14,7 +14,7 @@ type Credentials = {
|
|||||||
database: string
|
database: string
|
||||||
}
|
}
|
||||||
|
|
||||||
type MariaOptions = {
|
export type MariaOptions = {
|
||||||
load: boolean,
|
load: boolean,
|
||||||
cluster: PoolClusterConfig,
|
cluster: PoolClusterConfig,
|
||||||
client: PoolConfig,
|
client: PoolConfig,
|
||||||
|
@ -22,7 +22,7 @@ type QueueDef = {
|
|||||||
maxPriority: number
|
maxPriority: number
|
||||||
}
|
}
|
||||||
|
|
||||||
type BrokerOptions = {
|
export type BrokerOptions = {
|
||||||
host: string,
|
host: string,
|
||||||
user: string,
|
user: string,
|
||||||
pass: string,
|
pass: string,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { inspect } from "node:util";
|
import { inspect } from "node:util";
|
||||||
import { MongoClient, MongoClientOptions, Db } from "mongodb";
|
import { MongoClient, MongoClientOptions, Db, Document, WithId } from "mongodb";
|
||||||
import { IServer, ILogger, LoggerClientOptions } from "./interfaces/index.js";
|
import { IServer, ILogger, LoggerClientOptions } from "./interfaces/index.js";
|
||||||
|
|
||||||
type Credentials = {
|
type Credentials = {
|
||||||
@ -12,7 +12,7 @@ type Credentials = {
|
|||||||
authDb: string
|
authDb: string
|
||||||
}
|
}
|
||||||
|
|
||||||
type MongoOptions = {
|
export type MongoOptions = {
|
||||||
credentials: Credentials,
|
credentials: Credentials,
|
||||||
loggerOptions: LoggerClientOptions,
|
loggerOptions: LoggerClientOptions,
|
||||||
client: MongoClientOptions
|
client: MongoClientOptions
|
||||||
@ -120,7 +120,7 @@ class MongoDB {
|
|||||||
* @returns {Array} An array containing the corresponding objects for the query
|
* @returns {Array} An array containing the corresponding objects for the query
|
||||||
* @memberof Database
|
* @memberof Database
|
||||||
*/
|
*/
|
||||||
async find (db: string, query: object, options: object) {
|
async find<T extends Document> (db: string, query: object, options?: object): Promise<WithId<T>[]> {
|
||||||
|
|
||||||
if (!this.#db)
|
if (!this.#db)
|
||||||
throw new Error(`MongoDB not connected`);
|
throw new Error(`MongoDB not connected`);
|
||||||
@ -130,7 +130,7 @@ class MongoDB {
|
|||||||
|
|
||||||
this.#logger.debug(`Incoming find query for ${db} with parameters ${inspect(query)}`);
|
this.#logger.debug(`Incoming find query for ${db} with parameters ${inspect(query)}`);
|
||||||
|
|
||||||
const cursor = this.#db.collection(db).find(query, options);
|
const cursor = this.#db.collection<T>(db).find(query, options);
|
||||||
return cursor.toArray();
|
return cursor.toArray();
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -143,7 +143,7 @@ class MongoDB {
|
|||||||
* @returns {Object} An object containing the queried data
|
* @returns {Object} An object containing the queried data
|
||||||
* @memberof Database
|
* @memberof Database
|
||||||
*/
|
*/
|
||||||
async findOne (db: string, query: object, options = {}) {
|
async findOne<T extends Document> (db: string, query: object, options = {}): Promise<WithId<T> | null> {
|
||||||
|
|
||||||
if (!this.#db)
|
if (!this.#db)
|
||||||
throw new Error(`MongoDB not connected`);
|
throw new Error(`MongoDB not connected`);
|
||||||
@ -151,7 +151,7 @@ class MongoDB {
|
|||||||
throw new TypeError('Expecting collection name for the first argument');
|
throw new TypeError('Expecting collection name for the first argument');
|
||||||
|
|
||||||
this.#logger.debug(`Incoming findOne query for ${db} with parameters ${inspect(query)}`);
|
this.#logger.debug(`Incoming findOne query for ${db} with parameters ${inspect(query)}`);
|
||||||
const result = await this.#db.collection(db).findOne(query, options);
|
const result = await this.#db.collection<T>(db).findOne(query, options);
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -299,7 +299,7 @@ class MongoDB {
|
|||||||
return this.#db.collection(coll);
|
return this.#db.collection(coll);
|
||||||
}
|
}
|
||||||
|
|
||||||
async ensureIndex (collection: string, indices = []) {
|
async ensureIndex (collection: string, indices: string[] = []) {
|
||||||
if (!this.#db)
|
if (!this.#db)
|
||||||
throw new Error(`MongoDB not connected`);
|
throw new Error(`MongoDB not connected`);
|
||||||
if (!(indices instanceof Array))
|
if (!(indices instanceof Array))
|
||||||
|
Loading…
Reference in New Issue
Block a user