Unify create events
This commit is contained in:
parent
924c103ccc
commit
31eaa36883
|
@ -1,21 +1,10 @@
|
|||
import { publishEvent } from "../events"
|
||||
import {
|
||||
Event,
|
||||
ScimUserCreatedEvent,
|
||||
ScimUserDeletedEvent,
|
||||
ScimUserUpdatedEvent,
|
||||
} from "@budibase/types"
|
||||
|
||||
async function SCIMUserCreated(props: {
|
||||
userId: string
|
||||
timestamp?: string | number
|
||||
}) {
|
||||
const properties: ScimUserCreatedEvent = {
|
||||
userId: props.userId,
|
||||
}
|
||||
await publishEvent(Event.SCIM_USER_CREATED, properties, props.timestamp)
|
||||
}
|
||||
|
||||
async function SCIMUserUpdated(props: {
|
||||
userId: string
|
||||
timestamp?: string | number
|
||||
|
@ -34,7 +23,6 @@ async function SCIMUserDeleted(props: { userId: string }) {
|
|||
}
|
||||
|
||||
export default {
|
||||
SCIMUserCreated,
|
||||
SCIMUserUpdated,
|
||||
SCIMUserDeleted,
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ async function created(user: User, timestamp?: number) {
|
|||
userId: user._id as string,
|
||||
audited: {
|
||||
email: user.email,
|
||||
scim: !!user.scimInfo?.isSync,
|
||||
},
|
||||
}
|
||||
await publishEvent(Event.USER_CREATED, properties, timestamp)
|
||||
|
|
|
@ -121,6 +121,5 @@ jest.spyOn(events.plugin, "init")
|
|||
jest.spyOn(events.plugin, "imported")
|
||||
jest.spyOn(events.plugin, "deleted")
|
||||
|
||||
jest.spyOn(events.scim, "SCIMUserCreated")
|
||||
jest.spyOn(events.scim, "SCIMUserUpdated")
|
||||
jest.spyOn(events.scim, "SCIMUserDeleted")
|
||||
|
|
|
@ -186,7 +186,6 @@ export enum Event {
|
|||
AUDIT_LOGS_DOWNLOADED = "audit_log:downloaded",
|
||||
|
||||
// SCIM
|
||||
SCIM_USER_CREATED = "scim:user:created",
|
||||
SCIM_USER_UPDATED = "scim:user:updated",
|
||||
SCIM_USER_DELETED = "scim:user:deleted",
|
||||
}
|
||||
|
@ -199,7 +198,7 @@ export enum Event {
|
|||
// a user facing event or not.
|
||||
export const AuditedEventFriendlyName: Record<Event, string | undefined> = {
|
||||
// USER
|
||||
[Event.USER_CREATED]: `User "{{ email }}" created`,
|
||||
[Event.USER_CREATED]: `User "{{ email }}" created{{#if scim}} via SCIM{{/if}}`,
|
||||
[Event.USER_UPDATED]: `User "{{ email }}" updated`,
|
||||
[Event.USER_DELETED]: `User "{{ email }}" deleted`,
|
||||
[Event.USER_PERMISSION_ADMIN_ASSIGNED]: `User "{{ email }}" admin role assigned`,
|
||||
|
@ -371,7 +370,6 @@ export const AuditedEventFriendlyName: Record<Event, string | undefined> = {
|
|||
[Event.AUDIT_LOGS_DOWNLOADED]: undefined,
|
||||
|
||||
// SCIM
|
||||
[Event.SCIM_USER_CREATED]: `SCIM user "{{ email }}" created`,
|
||||
[Event.SCIM_USER_UPDATED]: `SCIM user "{{ email }}" updated`,
|
||||
[Event.SCIM_USER_DELETED]: `SCIM user "{{ email }}" deleted`,
|
||||
}
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
import { BaseEvent } from "./event"
|
||||
|
||||
export interface ScimUserCreatedEvent extends BaseEvent {
|
||||
userId: string
|
||||
}
|
||||
|
||||
export interface ScimUserUpdatedEvent extends BaseEvent {
|
||||
userId: string
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ export interface UserCreatedEvent extends BaseEvent {
|
|||
userId: string
|
||||
audited: {
|
||||
email: string
|
||||
scim: boolean
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -243,11 +243,16 @@ describe("/api/global/scim/v2/users", () => {
|
|||
|
||||
const res = await postScimUser({ body })
|
||||
|
||||
expect(events.scim.SCIMUserCreated).toBeCalledTimes(1)
|
||||
expect(events.scim.SCIMUserCreated).toBeCalledWith({
|
||||
userId: res.id,
|
||||
timestamp: mockedTime.toISOString(),
|
||||
})
|
||||
expect(events.user.created).toBeCalledTimes(1)
|
||||
expect(events.user.created).toBeCalledWith(
|
||||
expect.objectContaining({
|
||||
_id: res.id,
|
||||
createdAt: mockedTime.toISOString(),
|
||||
scimInfo: expect.objectContaining({
|
||||
isSync: true,
|
||||
}),
|
||||
})
|
||||
)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue