1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
openapi: 3.0.0
info:
title: Stripe-like Circular Import Test
version: 1.0.0
paths: {}
components:
schemas:
# Models in root (will go to __init__.py)
BalanceTransaction:
type: object
properties:
id:
type: string
amount:
type: integer
source:
$ref: '#/components/schemas/issuing.Authorization'
# Models with dot notation (will go to issuing.py)
issuing.Authorization:
type: object
properties:
id:
type: string
invoice:
$ref: '#/components/schemas/billing.Invoice'
cardholder:
$ref: '#/components/schemas/issuing.Cardholder'
issuing.Cardholder:
type: object
properties:
id:
type: string
name:
type: string
# Models in billing module
billing.Invoice:
type: object
properties:
id:
type: string
session:
$ref: '#/components/schemas/checkout.Session'
subscription:
$ref: '#/components/schemas/billing.Subscription'
billing.Subscription:
type: object
properties:
id:
type: string
plan:
type: string
# Models in checkout module - completes the cycle back to root
checkout.Session:
type: object
properties:
id:
type: string
transaction:
$ref: '#/components/schemas/BalanceTransaction'
line_items:
type: array
items:
$ref: '#/components/schemas/checkout.LineItem'
checkout.LineItem:
type: object
properties:
id:
type: string
price:
type: integer
|