import {database} from "./start"; import {Dict, Group} from "../types"; import {Filter, ObjectId, WithId} from "mongodb"; export interface GroupData { groups: Dict, ignored: string[], base: string[] } type InsertMeta = T & { createdOn: Date, modifiedOn: Date, accessedOn: Date } type GroupFilter = Filter> export async function setGroups(data: GroupData) { const collection = (await database.resolve())?.collection>('setups') if (!collection) return const result = await collection.insertOne({ ...data, createdOn: new Date(), modifiedOn: new Date(), accessedOn: new Date() }) console.log(result.insertedId, result.insertedId.toString()) return result.insertedId.toString() } export async function getGroup(uuid: string) { const collection = (await database.resolve())?.collection>('setups') if (!collection) return console.log(uuid) const data = (await collection.findOne({ _id: new ObjectId(uuid) } as GroupFilter)) ?? undefined if (data) { await collection.updateOne({_id: new ObjectId(uuid)}, { $set: {accessedOn: new Date()}}) } return data }