Skip to content

Commit cdd7816

Browse files
committed
Move XOR logic to definitions, remove unused definition NonBearerHTTPSecurityScheme
1 parent 81e3dd5 commit cdd7816

File tree

1 file changed

+67
-145
lines changed

1 file changed

+67
-145
lines changed

schemas/v3.0/schema.yaml

+67-145
Original file line numberDiff line numberDiff line change
@@ -395,9 +395,8 @@ definitions:
395395
patternProperties:
396396
'^x-': {}
397397
additionalProperties: false
398-
not:
399-
description: Example and examples are mutually exclusive
400-
required: [example, examples]
398+
allOf:
399+
- $ref: '#/definitions/ExampleXORExamples'
401400

402401
Example:
403402
type: object
@@ -457,28 +456,8 @@ definitions:
457456
'^x-': {}
458457
additionalProperties: false
459458
allOf:
460-
- description: Example and examples are mutually exclusive
461-
not:
462-
required: [example, examples]
463-
464-
- description: Schema and content are mutually exclusive, at least one is required
465-
not:
466-
required: [schema, content]
467-
oneOf:
468-
- required: [schema]
469-
- description: Content does not allow some properties
470-
required: [content]
471-
allOf:
472-
- not:
473-
required: [style]
474-
- not:
475-
required: [explode]
476-
- not:
477-
required: [allowReserved]
478-
- not:
479-
required: [example]
480-
- not:
481-
required: [examples]
459+
- $ref: '#/definitions/ExampleXORExamples'
460+
- $ref: '#/definitions/SchemaXORContent'
482461

483462
Paths:
484463
type: object
@@ -618,6 +597,31 @@ definitions:
618597
'^x-': {}
619598
additionalProperties: false
620599

600+
ExampleXORExamples:
601+
description: Example and examples are mutually exclusive
602+
not:
603+
required: [example, examples]
604+
605+
SchemaXORContent:
606+
description: Schema and content are mutually exclusive, at least one is required
607+
not:
608+
required: [schema, content]
609+
oneOf:
610+
- required: [schema]
611+
- required: [content]
612+
description: Some properties are not allowed if content is present
613+
allOf:
614+
- not:
615+
required: [style]
616+
- not:
617+
required: [explode]
618+
- not:
619+
required: [allowReserved]
620+
- not:
621+
required: [example]
622+
- not:
623+
required: [examples]
624+
621625
Parameter:
622626
type: object
623627
properties:
@@ -665,87 +669,48 @@ definitions:
665669
- name
666670
- in
667671
allOf:
668-
- description: Example and examples are mutually exclusive
669-
not:
670-
required:
671-
- example
672-
- examples
673-
674-
- description: Schema and content are mutually exclusive, at least one is required
675-
not:
676-
required: [schema, content]
677-
oneOf:
678-
- required: [schema]
679-
- required: [content]
680-
description: Some properties are not allowed if content is present
681-
allOf:
682-
- not:
683-
required: [style]
684-
- not:
685-
required: [explode]
686-
- not:
687-
required: [allowReserved]
688-
- not:
689-
required: [example]
690-
- not:
691-
required: [examples]
692-
693-
694-
- description: Parameter location
695-
oneOf:
696-
- description: Parameter in path
697-
required:
698-
- required
699-
properties:
700-
in:
701-
enum:
702-
- path
703-
style:
704-
enum:
705-
- matrix
706-
- label
707-
- simple
708-
default: simple
709-
required:
710-
enum:
711-
- true
712-
672+
- $ref: '#/definitions/ExampleXORExamples'
673+
- $ref: '#/definitions/SchemaXORContent'
674+
- $ref: '#/definitions/ParameterLocation'
713675

714-
- description: Parameter in query
715-
properties:
716-
in:
717-
enum:
718-
- query
719-
style:
720-
enum:
721-
- form
722-
- spaceDelimited
723-
- pipeDelimited
724-
- deepObject
725-
default: form
726-
727-
728-
- description: Parameter in header
729-
properties:
730-
in:
731-
enum:
732-
- header
733-
style:
734-
enum:
735-
- simple
736-
default: simple
676+
ParameterLocation:
677+
description: Parameter location
678+
oneOf:
679+
- description: Parameter in path
680+
required:
681+
- required
682+
properties:
683+
in:
684+
enum: [path]
685+
style:
686+
enum: [matrix, label, simple]
687+
default: simple
688+
required:
689+
enum: [true]
737690

691+
- description: Parameter in query
692+
properties:
693+
in:
694+
enum: [query]
695+
style:
696+
enum: [form, spaceDelimited, pipeDelimited, deepObject]
697+
default: form
738698

699+
- description: Parameter in header
700+
properties:
701+
in:
702+
enum: [header]
703+
style:
704+
enum: [simple]
705+
default: simple
739706

740-
- description: Parameter in cookie
741-
properties:
742-
in:
743-
enum:
744-
- header
745-
style:
746-
enum:
747-
- form
748-
default: form
707+
- description: Parameter in cookie
708+
properties:
709+
in:
710+
enum: [cookie]
711+
style:
712+
enum: [form]
713+
default: form
749714

750715
RequestBody:
751716
type: object
@@ -830,49 +795,6 @@ definitions:
830795
not:
831796
enum: [bearer]
832797

833-
NonBearerHTTPSecurityScheme:
834-
type: object
835-
required:
836-
- scheme
837-
- type
838-
properties:
839-
scheme:
840-
type: string
841-
not:
842-
enum:
843-
- bearer
844-
description:
845-
type: string
846-
type:
847-
type: string
848-
enum:
849-
- http
850-
patternProperties:
851-
'^x-': {}
852-
additionalProperties: false
853-
854-
BearerHTTPSecurityScheme:
855-
type: object
856-
required:
857-
- type
858-
- scheme
859-
properties:
860-
scheme:
861-
type: string
862-
enum:
863-
- bearer
864-
bearerFormat:
865-
type: string
866-
type:
867-
type: string
868-
enum:
869-
- http
870-
description:
871-
type: string
872-
patternProperties:
873-
'^x-': {}
874-
additionalProperties: false
875-
876798
OAuth2SecurityScheme:
877799
type: object
878800
required:

0 commit comments

Comments
 (0)