chore: Rename all event keys to uppercase (#7787)
* chore: Rename all event keys to uppercase * fix: Remove main entity from event builder
This commit is contained in:
@@ -2,56 +2,43 @@ import { camelToSnakeCase, kebabCase, lowerCaseFirst } from "../common"
|
||||
import { CommonEvents } from "./common-events"
|
||||
import { KebabCase, SnakeCase } from "@medusajs/types"
|
||||
|
||||
type ReturnType<TNames extends string[]> = TNames extends [
|
||||
infer TFirstName,
|
||||
...infer TRest
|
||||
]
|
||||
? {
|
||||
[K in Lowercase<CommonEvents>]: `${KebabCase<TFirstName & string>}.${K}`
|
||||
} & {
|
||||
[K in TRest[number] as `${SnakeCase<K & string>}_created`]: `${KebabCase<
|
||||
K & string
|
||||
>}.created`
|
||||
} & {
|
||||
[K in TRest[number] as `${SnakeCase<K & string>}_updated`]: `${KebabCase<
|
||||
K & string
|
||||
>}.updated`
|
||||
} & {
|
||||
[K in TRest[number] as `${SnakeCase<K & string>}_deleted`]: `${KebabCase<
|
||||
K & string
|
||||
>}.deleted`
|
||||
} & {
|
||||
[K in TRest[number] as `${SnakeCase<K & string>}_restored`]: `${KebabCase<
|
||||
K & string
|
||||
>}.restored`
|
||||
} & {
|
||||
[K in TRest[number] as `${SnakeCase<K & string>}_attached`]: `${KebabCase<
|
||||
K & string
|
||||
>}.attached`
|
||||
} & {
|
||||
[K in TRest[number] as `${SnakeCase<K & string>}_detached`]: `${KebabCase<
|
||||
K & string
|
||||
>}.detached`
|
||||
}
|
||||
: {}
|
||||
type ReturnType<TNames extends string[]> = {
|
||||
[K in TNames[number] as `${Uppercase<
|
||||
SnakeCase<K & string>
|
||||
>}_CREATED`]: `${KebabCase<K & string>}.created`
|
||||
} & {
|
||||
[K in TNames[number] as `${Uppercase<
|
||||
SnakeCase<K & string>
|
||||
>}_UPDATED`]: `${KebabCase<K & string>}.updated`
|
||||
} & {
|
||||
[K in TNames[number] as `${Uppercase<
|
||||
SnakeCase<K & string>
|
||||
>}_DELETED`]: `${KebabCase<K & string>}.deleted`
|
||||
} & {
|
||||
[K in TNames[number] as `${Uppercase<
|
||||
SnakeCase<K & string>
|
||||
>}_RESTORED`]: `${KebabCase<K & string>}.restored`
|
||||
} & {
|
||||
[K in TNames[number] as `${Uppercase<
|
||||
SnakeCase<K & string>
|
||||
>}_ATTACHED`]: `${KebabCase<K & string>}.attached`
|
||||
} & {
|
||||
[K in TNames[number] as `${Uppercase<
|
||||
SnakeCase<K & string>
|
||||
>}_DETACHED`]: `${KebabCase<K & string>}.detached`
|
||||
}
|
||||
|
||||
/**
|
||||
* From the given strings it will produce the event names accordingly.
|
||||
* the result will look like:
|
||||
* input: 'serviceZone'
|
||||
* output: {
|
||||
* created: 'fulfillment-set.created',
|
||||
* updated: 'fulfillment-set.updated',
|
||||
* deleted: 'fulfillment-set.deleted',
|
||||
* restored: 'fulfillment-set.restored',
|
||||
* attached: 'fulfillment-set.attached',
|
||||
* detached: 'fulfillment-set.detached',
|
||||
* service_zone_created: 'service-zone.created',
|
||||
* service_zone_updated: 'service-zone.updated',
|
||||
* service_zone_deleted: 'service-zone.deleted',
|
||||
* service_zone_restored: 'service-zone.restored',
|
||||
* service_zone_attached: 'service-zone.attached',
|
||||
* service_zone_detached: 'service-zone.detached',
|
||||
* SERVICE_ZONE_CREATED: 'service-zone.created',
|
||||
* SERVICE_ZONE_UPDATED: 'service-zone.updated',
|
||||
* SERVICE_ZONE_DELETED: 'service-zone.deleted',
|
||||
* SERVICE_ZONE_RESTORED: 'service-zone.restored',
|
||||
* SERVICE_ZONE_ATTACHED: 'service-zone.attached',
|
||||
* SERVICE_ZONE_DETACHED: 'service-zone.detached',
|
||||
* ...
|
||||
* }
|
||||
*
|
||||
@@ -65,16 +52,9 @@ export function buildEventNamesFromEntityName<TNames extends string[]>(
|
||||
|
||||
for (let i = 0; i < names.length; i++) {
|
||||
const name = names[i]
|
||||
const snakedCaseName = lowerCaseFirst(camelToSnakeCase(name))
|
||||
const snakedCaseName = camelToSnakeCase(name).toUpperCase()
|
||||
const kebabCaseName = lowerCaseFirst(kebabCase(name))
|
||||
|
||||
if (i === 0) {
|
||||
for (const event of Object.values(CommonEvents) as string[]) {
|
||||
events[event] = `${prefix ? prefix + "." : ""}${kebabCaseName}.${event}`
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
for (const event of Object.values(CommonEvents) as string[]) {
|
||||
events[`${snakedCaseName}_${event}`] = `${
|
||||
prefix ? prefix + "." : ""
|
||||
|
||||
@@ -16,20 +16,17 @@ import { Context, EventBusTypes } from "@medusajs/types"
|
||||
* sharedContext,
|
||||
* })
|
||||
*
|
||||
* @param isMainEntity
|
||||
* @param action
|
||||
* @param object
|
||||
* @param eventsEnum
|
||||
* @param service
|
||||
*/
|
||||
export function eventBuilderFactory({
|
||||
isMainEntity,
|
||||
action,
|
||||
object,
|
||||
eventsEnum,
|
||||
source,
|
||||
}: {
|
||||
isMainEntity?: boolean
|
||||
action: string
|
||||
object: string
|
||||
eventsEnum: Record<string, string>
|
||||
@@ -55,9 +52,7 @@ export function eventBuilderFactory({
|
||||
action,
|
||||
context: sharedContext,
|
||||
data: { id: dataItem.id },
|
||||
eventName: isMainEntity
|
||||
? eventsEnum[action]
|
||||
: eventsEnum[`${object}_${action}`],
|
||||
eventName: eventsEnum[`${object}_${action}`],
|
||||
object,
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
export const OrderEvents = {
|
||||
placed: "order.placed",
|
||||
canceled: "order.canceled",
|
||||
completed: "order.completed",
|
||||
PLACED: "order.placed",
|
||||
CANCELED: "order.canceled",
|
||||
COMPLETED: "order.completed",
|
||||
}
|
||||
|
||||
@@ -5,5 +5,5 @@ const eventBaseNames: ["user", "invite"] = ["user", "invite"]
|
||||
|
||||
export const UserEvents = {
|
||||
...buildEventNamesFromEntityName(eventBaseNames, Modules.USER),
|
||||
invite_token_generated: `${Modules.USER}.user.invite.token_generated`,
|
||||
INVITE_TOKEN_GENERATED: `${Modules.USER}.user.invite.token_generated`,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user