Skip to content

Commit

Permalink
Compute targetResourceType
Browse files Browse the repository at this point in the history
  • Loading branch information
andrii-balitskyi committed Dec 19, 2024
1 parent 2445ffd commit 8829f62
Showing 1 changed file with 13 additions and 6 deletions.
19 changes: 13 additions & 6 deletions src/lib/blueprint.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ export interface Resource {
interface EventResource extends Resource {
resourceType: 'event'
eventType: string
targetResourceType: string
targetResourceType: string | null
}

export interface Namespace {
Expand Down Expand Up @@ -287,6 +287,7 @@ export interface BlueprintOptions {

const createEvents = (
schemas: Openapi['components']['schemas'],
resources: Record<string, Resource>,
): EventResource[] => {
const eventSchema = schemas['event']
if (
Expand All @@ -307,11 +308,15 @@ const createEvents = (
return null
}

const eventType = schema.properties.event_type.enum[0]
const targetResourceType = Object.keys(resources).find((resourceName) =>
eventType.split('.').includes(resourceName),
)

return {
...createResource('event', schema as OpenapiSchema),
eventType: schema.properties.event_type.enum[0],
// TODO: Compute targetResourceType
targetResourceType: '',
eventType,
targetResourceType: targetResourceType ?? null,
}
})
.filter((event): event is EventResource => event !== null)
Expand All @@ -331,11 +336,13 @@ export const createBlueprint = async (
formatCode,
}

const resources = createResources(openapi.components.schemas)

return {
title: openapi.info.title,
routes: await createRoutes(openapi.paths, context),
resources: createResources(openapi.components.schemas),
events: createEvents(openapi.components.schemas),
resources,
events: createEvents(openapi.components.schemas, resources),
}
}

Expand Down

0 comments on commit 8829f62

Please sign in to comment.