/
githubmirror
/
novu
Обзор
Документация
Войти
/
githubmirror
/
novu
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
next
libs/application-generic/src/utils/generate-payload-example.ts
39 строк
1 KB
Dima Grossman
feat(dashboard): replace legacy local studio with Local environment mode fixes NV-8242 (#11847)
08 июл 2026, 19:44
Не верифицирован
08 июл 2026, 19:44
e390d5f
Код
Авторство
О чём код?
import { createMockObjectFromSchema, ResourceOriginEnum } from '@novu/shared'; import { WorkflowForPayloadExample } from '../types/workflow-mapper.types'; import { JsonSchemaMock } from './json-schema-mock'; /** * Generates a payload example from a workflow's payload schema */ export async function generatePayloadExample(workflow: WorkflowForPayloadExample): Promise<object | undefined> { if (!workflow.payloadSchema) { return undefined; } const shouldUsePayloadSchema = workflow.origin === ResourceOriginEnum.EXTERNAL || workflow.origin === ResourceOriginEnum.NOVU_CLOUD; if (!shouldUsePayloadSchema) { return undefined; } // Use JSON schema faker for more realistic mock data try { const schema = { type: 'object' as const, properties: { payload: workflow.payloadSchema }, additionalProperties: false, }; const mockData = JsonSchemaMock.generate(schema) as Record<string, unknown>; return mockData.payload as object; } catch (error) { // Fallback to the original method const schemaBasedPayloadExample = createMockObjectFromSchema({ type: 'object', properties: { payload: workflow.payloadSchema }, }); return schemaBasedPayloadExample.payload as object; } }