24 lines
880 B
TypeScript
24 lines
880 B
TypeScript
import { AuditActorSchema } from "@platform/spec/audit/actor.ts";
|
|
import { event } from "@valkyr/event-store";
|
|
import z from "zod";
|
|
|
|
import { AvatarSchema } from "../value-objects/avatar.ts";
|
|
import { ContactSchema } from "../value-objects/contact.ts";
|
|
import { NameSchema } from "../value-objects/name.ts";
|
|
|
|
export default [
|
|
event
|
|
.type("workspace:user:created")
|
|
.data(
|
|
z.strictObject({
|
|
workspaceId: z.string(),
|
|
identityId: z.string(),
|
|
}),
|
|
)
|
|
.meta(AuditActorSchema),
|
|
event.type("workspace:user:name-set").data(NameSchema).meta(AuditActorSchema),
|
|
event.type("workspace:user:avatar-set").data(AvatarSchema).meta(AuditActorSchema),
|
|
event.type("workspace:user:contacts-added").data(z.array(ContactSchema)).meta(AuditActorSchema),
|
|
event.type("workspace:user:contacts-removed").data(z.array(z.string())).meta(AuditActorSchema),
|
|
];
|