@@ -247,3 +247,81 @@ struct TagDedupCreateDogOperation: OperationRepresentable {
247247 ]
248248 }
249249}
250+
251+ // MARK: -
252+
253+ struct SecurityRequirementDedupInfo : InfoRepresentable {
254+ var title : String { " Security Requirement Dedup Test " }
255+ var version : String { " 1.0.0 " }
256+ }
257+
258+ struct SecurityRequirementDedupDocument : DocumentRepresentable {
259+ var info : OpenAPIInfoRepresentable
260+ var paths : PathMap
261+ var components : OpenAPIComponentsRepresentable
262+ }
263+
264+ struct SecurityRequirementDedupPaths : PathCollectionRepresentable {
265+ var pathMap : PathMap {
266+ [
267+ " cats " : SecurityRequirementDedupCatPathItem ( )
268+ ]
269+ }
270+ }
271+
272+ struct SecurityRequirementDedupCatPathItem : PathItemRepresentable {
273+ var get : OperationRepresentable ? {
274+ SecurityRequirementDedupListCatsOperation ( )
275+ }
276+ var post : OperationRepresentable ? {
277+ SecurityRequirementDedupCreateCatOperation ( )
278+ }
279+ }
280+
281+ struct SecurityRequirementDedupBearerTokenScheme : SecuritySchemeRepresentable {
282+ var type : OpenAPI . SecurityScheme . SecurityType {
283+ . http(
284+ scheme: " bearer " ,
285+ bearerFormat: " token "
286+ )
287+ }
288+ }
289+
290+ struct SecurityRequirementDedupBearerTokenRequirement :
291+ SecurityRequirementRepresentable
292+ {
293+ var security : any SecuritySchemeRepresentable {
294+ SecurityRequirementDedupBearerTokenScheme ( )
295+ }
296+ }
297+
298+ struct SecurityRequirementDedupCatSchema : StringSchemaRepresentable {
299+ var example : String ? = " Milo "
300+ }
301+
302+ struct SecurityRequirementDedupCatResponse : JSONResponseRepresentable {
303+ var description : String = " Cat response "
304+ var schema : SecurityRequirementDedupCatSchema = . init( )
305+ }
306+
307+ struct SecurityRequirementDedupListCatsOperation : OperationRepresentable {
308+ var security : [ SecurityRequirementRepresentable ] ? {
309+ [ SecurityRequirementDedupBearerTokenRequirement ( ) ]
310+ }
311+ var responseMap : ResponseMap {
312+ [
313+ 200 : SecurityRequirementDedupCatResponse ( ) . reference ( )
314+ ]
315+ }
316+ }
317+
318+ struct SecurityRequirementDedupCreateCatOperation : OperationRepresentable {
319+ var security : [ SecurityRequirementRepresentable ] ? {
320+ [ SecurityRequirementDedupBearerTokenRequirement ( ) ]
321+ }
322+ var responseMap : ResponseMap {
323+ [
324+ 200 : SecurityRequirementDedupCatResponse ( ) . reference ( )
325+ ]
326+ }
327+ }
0 commit comments