core: allow hooking oplog

This commit is contained in:
undefined committed 2022-02-05 15:51:35 +08:00
1 parent 2c01eaa967
commit 51bb147dff
2 files changed
+3 -1

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "hydrooj", "name": "hydrooj",
"version": "3.4.4", "version": "3.4.5",
"bin": "bin/hydrooj.js", "bin": "bin/hydrooj.js",
"main": "src/loader", "main": "src/loader",
"module": "src/loader", "module": "src/loader",
+2
View File
@@ -1,5 +1,6 @@
import { ObjectID } from 'mongodb'; import { ObjectID } from 'mongodb';
import { OplogDoc } from '../interface'; import { OplogDoc } from '../interface';
import * as bus from '../service/bus';
import db from '../service/db'; import db from '../service/db';
import type { Handler } from '../service/server'; import type { Handler } from '../service/server';
@@ -18,6 +19,7 @@ export async function add(data: Partial<OplogDoc> & { type: string }): Promise<O
export async function log<T extends Handler>(handler: T, type: string, data: any) { export async function log<T extends Handler>(handler: T, type: string, data: any) {
const args = { ...handler.args }; const args = { ...handler.args };
delete args.password; delete args.password;
await bus.serial('oplog/log', type, handler, args, data);
const res = await coll.insertOne({ const res = await coll.insertOne({
...data, ...data,
_id: new ObjectID(), _id: new ObjectID(),