Compare commits

..

2 Commits

Author SHA1 Message Date
da1a45e9f0
update typings 2023-05-07 03:37:14 +03:00
bc3a1d8e4c
v1.3.9 2023-05-03 00:59:58 +03:00
2 changed files with 16 additions and 22 deletions

View File

@ -1,6 +1,6 @@
{
"name": "@navy.gif/wrappers",
"version": "1.3.8",
"version": "1.3.9",
"description": "Various wrapper classes I use in my projects",
"repository": "https://git.corgi.wtf/Navy.gif/wrappers.git",
"author": "Navy.gif",

View File

@ -187,7 +187,7 @@ class MongoDB {
* @returns {WriteResult} Object containing the followint counts: Matched, Upserted, Modified
* @memberof Database
*/
async updateMany (db: string, filter: MongoQuery, data: object, upsert = false) {
async updateMany (db: string, filter: MongoQuery, data: Document, upsert = false) {
if (!this.#db)
throw new Error(`MongoDB not connected`);
@ -195,8 +195,7 @@ class MongoDB {
throw new TypeError('Expecting collection name for the first argument');
if (!filter)
throw new Error(`Cannot run update many without a filter, if you mean to update every single document, pass an empty object`);
if (typeof filter._id === 'string')
if (typeof filter._id === 'string')
filter._id = new ObjectId(filter._id);
this.#logger.debug(`Incoming update query for '${db}' with parameters\n${inspect(filter)}\nand data\n${inspect(data)}`);
@ -214,13 +213,12 @@ class MongoDB {
* @returns {WriteResult} Object containing the followint counts: Matched, Upserted, Modified
* @memberof Database
*/
async updateOne (db: string, filter: MongoQuery, data: object, upsert = false) {
async updateOne (db: string, filter: MongoQuery, data: Document, upsert = false) {
if (!this.#db)
throw new Error(`MongoDB not connected`);
if (typeof db !== 'string')
throw new TypeError('Expecting collection name for the first argument');
if (typeof filter._id === 'string')
filter._id = new ObjectId(filter._id);
@ -239,12 +237,14 @@ class MongoDB {
* @returns {WriteResult} Object containing the followint counts: Matched, Upserted, Modified
* @memberof Database
*/
async insertOne (db: string, data: object) {
async insertOne (db: string, data: Document) {
if (!this.#db)
throw new Error(`MongoDB not connected`);
if (typeof db !== 'string')
throw new TypeError('Expecting collection name for the first argument');
if (typeof data._id === 'string')
data._id = new ObjectId(data._id);
this.#logger.debug(`Incoming insertOne query for ${db} with parameters ${inspect(data)}`);
const result = await this.#db.collection(db).insertOne(data);
@ -252,12 +252,14 @@ class MongoDB {
}
async deleteOne (db: string, filter: object) {
async deleteOne (db: string, filter: Document) {
if (!this.#db)
throw new Error(`MongoDB not connected`);
if (typeof db !== 'string')
throw new TypeError('Expecting collection name for the first argument');
if (typeof filter._id === 'string')
filter._id = new ObjectId(filter._id);
this.#logger.debug(`Incoming deleteOne query for ${db} with parameters ${inspect(filter)}`);
const result = await this.#db.collection(db).deleteOne(filter);
@ -275,12 +277,14 @@ class MongoDB {
* @returns
* @memberof Database
*/
async push (db: string, filter: object, data: object, upsert = false) {
async push (db: string, filter: Document, data: object, upsert = false) {
if (!this.#db)
throw new Error(`MongoDB not connected`);
if (typeof db !== 'string')
throw new TypeError('Expecting collection name for the first argument');
if (typeof filter._id === 'string')
filter._id = new ObjectId(filter._id);
this.#logger.debug(`Incoming push query for ${db}, with upsert ${upsert} and with parameters ${inspect(filter)} and data ${inspect(data)}`);
const result = await this.#db.collection(db).updateOne(filter, { $push: data }, { upsert });
@ -297,12 +301,14 @@ class MongoDB {
* @returns {object}
* @memberof Database
*/
random (db: string, filter = {}, amount = 1) {
random (db: string, filter: Document = {}, amount = 1) {
if (!this.#db)
throw new Error(`MongoDB not connected`);
if (typeof db !== 'string')
throw new TypeError('Expecting collection name for the first argument');
if (typeof filter._id === 'string')
filter._id = new ObjectId(filter._id);
this.#logger.debug(`Incoming random query for ${db} with parameters ${inspect(filter)} and amount ${amount}`);
@ -335,18 +341,6 @@ class MongoDB {
await this.#db.collection(collection).createIndex(indices);
}
// async getKey (key: string, collection = 'memoryStore') {
// const response = await this.findOne(collection, { key });
// if (response)
// return response.value;
// return null;
// }
// async setKey (key: string, value: object, collection = 'memoryStore') {
// await this.updateOne(collection, { key }, { value }, true);
// return value;
// }
}
export { MongoDB };