All files / src/lib/dbHelpers insertOne.ts

0% Statements 0/8
0% Branches 0/4
0% Functions 0/1
0% Lines 0/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26                                                   
import { NoThrow } from "@/utils/NoThrow";
import { Collection, Document, MongoError, OptionalUnlessRequiredId } from "mongodb";
 
export async function insertOne<T extends Document>(document: OptionalUnlessRequiredId<T>, collection: Collection<T>) {
    try {
        const result = await collection.insertOne(document);
 
        /* if (result.acknowledged) {
                    return NoThrow.success(result.insertedId);
                } */
 
        return NoThrow.success(result);
        // return NoThrow.error(new Error("MongoDB 'insertOne' err"));
    } catch (error) {
        if (error instanceof MongoError) {
            return NoThrow.error(error);
        }
 
        if (error instanceof Error) {
            return NoThrow.error(error);
        }
 
        return NoThrow.error(new Error("Unknown error"));
    }
}