add server sent events
This commit is contained in:
@@ -9,6 +9,7 @@ import {
|
||||
permitModel,
|
||||
UpdatePermitInput,
|
||||
} from "./permit.schema";
|
||||
import { ChangeEvent, dbEvents } from "../realtime";
|
||||
|
||||
export async function createPermit(input: CreatePermitInput, tenantId: string) {
|
||||
const permit = await permitModel.create({
|
||||
@@ -17,6 +18,13 @@ export async function createPermit(input: CreatePermitInput, tenantId: string) {
|
||||
...input,
|
||||
});
|
||||
|
||||
dbEvents.emit("change", {
|
||||
type: "insert",
|
||||
collection: "permits",
|
||||
document: permit,
|
||||
requiredClaims: ["permit:read"],
|
||||
} as ChangeEvent);
|
||||
|
||||
return permit;
|
||||
}
|
||||
|
||||
@@ -172,13 +180,33 @@ export async function updatePermit(
|
||||
.populate({ path: "assignedTo", select: "pid name avatar" })
|
||||
.populate({ path: "createdBy", select: "pid name avatar" });
|
||||
|
||||
if (updatePermitResult) {
|
||||
dbEvents.emit("change", {
|
||||
type: "update",
|
||||
collection: "permits",
|
||||
document: updatePermitResult,
|
||||
requiredClaims: ["permit:read"],
|
||||
} as ChangeEvent);
|
||||
}
|
||||
|
||||
return updatePermitResult;
|
||||
}
|
||||
|
||||
export async function deletePermit(permitId: string, tenantId: string) {
|
||||
return await permitModel.deleteOne({
|
||||
const res = await permitModel.deleteOne({
|
||||
$and: [{ tenantId: tenantId }, { pid: permitId }],
|
||||
});
|
||||
|
||||
dbEvents.emit("change", {
|
||||
type: "delete",
|
||||
collection: "permits",
|
||||
document: {
|
||||
pid: permitId,
|
||||
},
|
||||
requiredClaims: ["permit:read"],
|
||||
} as ChangeEvent);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
export async function searchPermit(params: PageQueryParams, tenantId: string) {
|
||||
|
||||
Reference in New Issue
Block a user