add server sent events

This commit is contained in:
2025-02-04 11:58:20 +05:30
parent bb7f11c6bf
commit 6a57fed0dc
9 changed files with 100 additions and 3 deletions

View File

@@ -1,4 +1,5 @@
import { getFilterObject, getSortObject, PageQueryParams } from "../pagination";
import { ChangeEvent, dbEvents } from "../realtime";
import { generateId } from "../utils/id";
import {
CreateOrgInput,
@@ -15,6 +16,13 @@ export async function createOrg(input: CreateOrgInput, tenantId: string) {
...input,
});
dbEvents.emit("change", {
type: "insert",
collection: "orgs",
document: org,
requiredClaims: ["org:read"],
} as ChangeEvent);
return org;
}
@@ -70,13 +78,35 @@ export async function updateOrg(
{ new: true }
);
if (updateOrgResult) {
dbEvents.emit("change", {
type: "update",
collection: "orgs",
document: updateOrgResult,
requiredClaims: ["org:read"],
} as ChangeEvent);
}
return updateOrgResult;
}
export async function deleteOrg(orgId: string, tenantId: string) {
return await orgModel.deleteOne({
const res = await orgModel.deleteOne({
$and: [{ tenantId: tenantId }, { pid: orgId }],
});
if (res.deletedCount > 0) {
dbEvents.emit("change", {
type: "delete",
collection: "orgs",
document: {
pid: orgId,
},
requiredClaims: ["org:read"],
} as ChangeEvent);
}
return res;
}
export async function searchOrgs(params: PageQueryParams, tenantId: string) {