summaryrefslogtreecommitdiff
path: root/venv/lib/python3.11/site-packages/litestar/openapi/spec/discriminator.py
diff options
context:
space:
mode:
authorcyfraeviolae <cyfraeviolae>2024-04-03 03:10:44 -0400
committercyfraeviolae <cyfraeviolae>2024-04-03 03:10:44 -0400
commit6d7ba58f880be618ade07f8ea080fe8c4bf8a896 (patch)
treeb1c931051ffcebd2bd9d61d98d6233ffa289bbce /venv/lib/python3.11/site-packages/litestar/openapi/spec/discriminator.py
parent4f884c9abc32990b4061a1bb6997b4b37e58ea0b (diff)
venv
Diffstat (limited to 'venv/lib/python3.11/site-packages/litestar/openapi/spec/discriminator.py')
-rw-r--r--venv/lib/python3.11/site-packages/litestar/openapi/spec/discriminator.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/venv/lib/python3.11/site-packages/litestar/openapi/spec/discriminator.py b/venv/lib/python3.11/site-packages/litestar/openapi/spec/discriminator.py
new file mode 100644
index 0000000..3c292ce
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/litestar/openapi/spec/discriminator.py
@@ -0,0 +1,25 @@
+from __future__ import annotations
+
+from dataclasses import dataclass
+
+from litestar.openapi.spec.base import BaseSchemaObject
+
+__all__ = ("Discriminator",)
+
+
+@dataclass(unsafe_hash=True)
+class Discriminator(BaseSchemaObject):
+ """When request bodies or response payloads may be one of a number of different schemas, a ``discriminator``
+ object can be used to aid in serialization, deserialization, and validation.
+
+ The discriminator is a specific object in a schema which is used to inform the consumer of the specification of an
+ alternative schema based on the value associated with it.
+
+ When using the discriminator, _inline_ schemas will not be considered.
+ """
+
+ property_name: str
+ """**REQUIRED**. The name of the property in the payload that will hold the discriminator value."""
+
+ mapping: dict[str, str] | None = None
+ """An object to hold mappings between payload values and schema names or references."""