add DTO object generator
This commit is contained in:
+122
@@ -0,0 +1,122 @@
|
||||
asyncapi: 3.0.0
|
||||
info:
|
||||
title: Order Service (NATS)
|
||||
version: 1.0.0
|
||||
description: Event-driven order service using NATS
|
||||
|
||||
servers:
|
||||
nats:
|
||||
host: nats://localhost:4222
|
||||
protocol: nats
|
||||
description: Local NATS server
|
||||
|
||||
channels:
|
||||
order.created:
|
||||
address: order.created
|
||||
messages:
|
||||
OrderCreated:
|
||||
$ref: '#/components/messages/OrderCreated'
|
||||
|
||||
order.placed:
|
||||
address: order.placed
|
||||
messages:
|
||||
OrderPlaced:
|
||||
$ref: '#/components/messages/OrderPlaced'
|
||||
|
||||
operations:
|
||||
onOrderCreated:
|
||||
action: receive
|
||||
channel:
|
||||
$ref: '#/channels/order.created'
|
||||
messages:
|
||||
- $ref: '#/channels/order.created/messages/OrderCreated'
|
||||
|
||||
onOrderPlaced:
|
||||
action: send
|
||||
channel:
|
||||
$ref: '#/channels/order.placed'
|
||||
messages:
|
||||
- $ref: '#/channels/order.placed/messages/OrderPlaced'
|
||||
|
||||
components:
|
||||
messages:
|
||||
OrderCreated:
|
||||
name: OrderCreated
|
||||
title: Order Created
|
||||
summary: Event emitted when an order is created.
|
||||
payload:
|
||||
$ref: '#/components/schemas/OrderCreated'
|
||||
|
||||
OrderPlaced:
|
||||
name: OrderPlaced
|
||||
title: Order Placed
|
||||
summary: Event emitted when an order is placed.
|
||||
payload:
|
||||
$ref: '#/components/schemas/OrderPlaced'
|
||||
|
||||
schemas:
|
||||
OrderCreated:
|
||||
$id: OrderCreated
|
||||
title: OrderCreated
|
||||
type: object
|
||||
required:
|
||||
- orderId
|
||||
- customerId
|
||||
- createdAt
|
||||
properties:
|
||||
orderId:
|
||||
type: string
|
||||
format: uuid
|
||||
example: "550e8400-e29b-41d4-a716-446655440000"
|
||||
customerId:
|
||||
type: string
|
||||
example: "cust-123"
|
||||
createdAt:
|
||||
type: string
|
||||
format: date-time
|
||||
example: "2025-06-03T12:00:00Z"
|
||||
status:
|
||||
type: string
|
||||
enum:
|
||||
- created
|
||||
- pending
|
||||
- confirmed
|
||||
default: created
|
||||
|
||||
OrderPlaced:
|
||||
$id: OrderPlaced
|
||||
title: OrderPlaced
|
||||
type: object
|
||||
required:
|
||||
- orderId
|
||||
- customerId
|
||||
- items
|
||||
- placedAt
|
||||
properties:
|
||||
orderId:
|
||||
type: string
|
||||
format: uuid
|
||||
example: "550e8400-e29b-41d4-a716-446655440001"
|
||||
customerId:
|
||||
type: string
|
||||
example: "cust-123"
|
||||
items:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
required:
|
||||
- productId
|
||||
- quantity
|
||||
properties:
|
||||
productId:
|
||||
type: string
|
||||
quantity:
|
||||
type: integer
|
||||
minimum: 1
|
||||
placedAt:
|
||||
type: string
|
||||
format: date-time
|
||||
example: "2025-06-03T12:05:00Z"
|
||||
totalAmount:
|
||||
type: number
|
||||
format: double
|
||||
Reference in New Issue
Block a user