45 lines
1.1 KiB
Swift
45 lines
1.1 KiB
Swift
import FluentKit
|
|
|
|
/// A Fluent database that is not an `SQLDatabase`, so the probe's downcast fails.
|
|
///
|
|
/// Every query succeeds, proving the probe reports "not reachable" because of the failed downcast
|
|
/// rather than a failing backend.
|
|
struct NotSQLDatabase: Database {
|
|
|
|
let context: DatabaseContext
|
|
|
|
var inTransaction: Bool { false }
|
|
|
|
func execute(
|
|
query: DatabaseQuery,
|
|
onOutput: @escaping @Sendable (any DatabaseOutput) -> Void
|
|
) -> EventLoopFuture<Void> {
|
|
context.eventLoop.makeSucceededVoidFuture()
|
|
}
|
|
|
|
func execute(
|
|
schema: DatabaseSchema
|
|
) -> EventLoopFuture<Void> {
|
|
context.eventLoop.makeSucceededVoidFuture()
|
|
}
|
|
|
|
func execute(
|
|
enum: DatabaseEnum
|
|
) -> EventLoopFuture<Void> {
|
|
context.eventLoop.makeSucceededVoidFuture()
|
|
}
|
|
|
|
func transaction<T>(
|
|
_ closure: @escaping @Sendable (any Database) -> EventLoopFuture<T>
|
|
) -> EventLoopFuture<T> {
|
|
closure(self)
|
|
}
|
|
|
|
func withConnection<T>(
|
|
_ closure: @escaping @Sendable (any Database) -> EventLoopFuture<T>
|
|
) -> EventLoopFuture<T> {
|
|
closure(self)
|
|
}
|
|
|
|
}
|