[Swift] fix(#18074): correctly map OpenAPIDateWithoutTime to string in path (#18077)

This commit is contained in:
Julian Kalinowski 2024-07-15 15:10:00 +02:00 committed by GitHub
parent 7f01a354a5
commit 304ff96577
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
20 changed files with 66 additions and 0 deletions

View File

@ -62,6 +62,8 @@ import Vapor{{/useVapor}}
return collection
.compactMap { value in convertAnyToString(value) }
.joined(separator: ",")
} else if let value = source as? any RawRepresentable {
return "\(value.rawValue)"
}
return source
}

View File

@ -81,3 +81,18 @@ extension OpenAPIDateWithoutTime: JSONEncodable {
return OpenISO8601DateFormatter.withoutTime.string(from: self.normalizedWrappedDate())
}
}
extension OpenAPIDateWithoutTime: RawRepresentable {
public typealias RawValue = String
public init?(rawValue: String) {
if let date = OpenISO8601DateFormatter.withoutTime.date(from: rawValue) {
self.init(wrappedDate: date)
} else {
return nil
}
}
public var rawValue: String {
OpenISO8601DateFormatter.withoutTime.string(from: normalizedWrappedDate())
}
}

View File

@ -61,6 +61,8 @@ public struct APIHelper {
return collection
.compactMap { value in convertAnyToString(value) }
.joined(separator: ",")
} else if let value = source as? any RawRepresentable {
return "\(value.rawValue)"
}
return source
}

View File

@ -81,3 +81,18 @@ extension OpenAPIDateWithoutTime: JSONEncodable {
return OpenISO8601DateFormatter.withoutTime.string(from: self.normalizedWrappedDate())
}
}
extension OpenAPIDateWithoutTime: RawRepresentable {
public typealias RawValue = String
public init?(rawValue: String) {
if let date = OpenISO8601DateFormatter.withoutTime.date(from: rawValue) {
self.init(wrappedDate: date)
} else {
return nil
}
}
public var rawValue: String {
OpenISO8601DateFormatter.withoutTime.string(from: normalizedWrappedDate())
}
}

View File

@ -61,6 +61,8 @@ public struct APIHelper {
return collection
.compactMap { value in convertAnyToString(value) }
.joined(separator: ",")
} else if let value = source as? any RawRepresentable {
return "\(value.rawValue)"
}
return source
}

View File

@ -61,6 +61,8 @@ public struct APIHelper {
return collection
.compactMap { value in convertAnyToString(value) }
.joined(separator: ",")
} else if let value = source as? any RawRepresentable {
return "\(value.rawValue)"
}
return source
}

View File

@ -61,6 +61,8 @@ public struct APIHelper {
return collection
.compactMap { value in convertAnyToString(value) }
.joined(separator: ",")
} else if let value = source as? any RawRepresentable {
return "\(value.rawValue)"
}
return source
}

View File

@ -61,6 +61,8 @@ public struct APIHelper {
return collection
.compactMap { value in convertAnyToString(value) }
.joined(separator: ",")
} else if let value = source as? any RawRepresentable {
return "\(value.rawValue)"
}
return source
}

View File

@ -61,6 +61,8 @@ public struct APIHelper {
return collection
.compactMap { value in convertAnyToString(value) }
.joined(separator: ",")
} else if let value = source as? any RawRepresentable {
return "\(value.rawValue)"
}
return source
}

View File

@ -61,6 +61,8 @@ public struct APIHelper {
return collection
.compactMap { value in convertAnyToString(value) }
.joined(separator: ",")
} else if let value = source as? any RawRepresentable {
return "\(value.rawValue)"
}
return source
}

View File

@ -61,6 +61,8 @@ internal struct APIHelper {
return collection
.compactMap { value in convertAnyToString(value) }
.joined(separator: ",")
} else if let value = source as? any RawRepresentable {
return "\(value.rawValue)"
}
return source
}

View File

@ -61,6 +61,8 @@ public struct APIHelper {
return collection
.compactMap { value in convertAnyToString(value) }
.joined(separator: ",")
} else if let value = source as? any RawRepresentable {
return "\(value.rawValue)"
}
return source
}

View File

@ -61,6 +61,8 @@ public struct APIHelper {
return collection
.compactMap { value in convertAnyToString(value) }
.joined(separator: ",")
} else if let value = source as? any RawRepresentable {
return "\(value.rawValue)"
}
return source
}

View File

@ -61,6 +61,8 @@ public struct APIHelper {
return collection
.compactMap { value in convertAnyToString(value) }
.joined(separator: ",")
} else if let value = source as? any RawRepresentable {
return "\(value.rawValue)"
}
return source
}

View File

@ -61,6 +61,8 @@ public struct APIHelper {
return collection
.compactMap { value in convertAnyToString(value) }
.joined(separator: ",")
} else if let value = source as? any RawRepresentable {
return "\(value.rawValue)"
}
return source
}

View File

@ -61,6 +61,8 @@ public struct APIHelper {
return collection
.compactMap { value in convertAnyToString(value) }
.joined(separator: ",")
} else if let value = source as? any RawRepresentable {
return "\(value.rawValue)"
}
return source
}

View File

@ -61,6 +61,8 @@ public struct APIHelper {
return collection
.compactMap { value in convertAnyToString(value) }
.joined(separator: ",")
} else if let value = source as? any RawRepresentable {
return "\(value.rawValue)"
}
return source
}

View File

@ -61,6 +61,8 @@ public struct APIHelper {
return collection
.compactMap { value in convertAnyToString(value) }
.joined(separator: ",")
} else if let value = source as? any RawRepresentable {
return "\(value.rawValue)"
}
return source
}

View File

@ -61,6 +61,8 @@ public struct APIHelper {
return collection
.compactMap { value in convertAnyToString(value) }
.joined(separator: ",")
} else if let value = source as? any RawRepresentable {
return "\(value.rawValue)"
}
return source
}

View File

@ -61,6 +61,8 @@ public struct APIHelper {
return collection
.compactMap { value in convertAnyToString(value) }
.joined(separator: ",")
} else if let value = source as? any RawRepresentable {
return "\(value.rawValue)"
}
return source
}