feat: Removes api routes and controller as they're currently not used.
All checks were successful
CI / Linux Tests (push) Successful in 5m30s

This commit is contained in:
2026-01-30 17:10:14 -05:00
parent b359a3317f
commit a3fb87f86e
15 changed files with 42 additions and 761 deletions

View File

@@ -1,37 +1,37 @@
import ApiController
import ManualDCore
import Vapor
extension ApiController {
func respond(_ route: SiteRoute.Api, request: Vapor.Request) async throws
-> any AsyncResponseEncodable
{
guard let encodable = try await json(.init(route: route, logger: request.logger)) else {
return HTTPStatus.ok
}
return AnyJSONResponse(value: encodable)
}
}
struct AnyJSONResponse: AsyncResponseEncodable {
public var headers: HTTPHeaders = ["Content-Type": "application/json"]
let value: any Encodable
init(additionalHeaders: HTTPHeaders = [:], value: any Encodable) {
if additionalHeaders.contains(name: .contentType) {
self.headers = additionalHeaders
} else {
headers.add(contentsOf: additionalHeaders)
}
self.value = value
}
func encodeResponse(for request: Request) async throws -> Response {
try Response(
status: .ok,
headers: headers,
body: .init(data: JSONEncoder().encode(value))
)
}
}
// import ApiController
// import ManualDCore
// import Vapor
//
// extension ApiController {
//
// func respond(_ route: SiteRoute.Api, request: Vapor.Request) async throws
// -> any AsyncResponseEncodable
// {
// guard let encodable = try await json(.init(route: route, logger: request.logger)) else {
// return HTTPStatus.ok
// }
// return AnyJSONResponse(value: encodable)
// }
// }
//
// struct AnyJSONResponse: AsyncResponseEncodable {
// public var headers: HTTPHeaders = ["Content-Type": "application/json"]
// let value: any Encodable
//
// init(additionalHeaders: HTTPHeaders = [:], value: any Encodable) {
// if additionalHeaders.contains(name: .contentType) {
// self.headers = additionalHeaders
// } else {
// headers.add(contentsOf: additionalHeaders)
// }
// self.value = value
// }
//
// func encodeResponse(for request: Request) async throws -> Response {
// try Response(
// status: .ok,
// headers: headers,
// body: .init(data: JSONEncoder().encode(value))
// )
// }
// }

View File

@@ -1,4 +1,4 @@
import ApiController
// import ApiController
import AuthClient
import DatabaseClient
import Dependencies
@@ -12,17 +12,17 @@ import ViewController
struct DependenciesMiddleware: AsyncMiddleware {
private let values: DependencyValues.Continuation
private let apiController: ApiController
// private let apiController: ApiController
private let database: DatabaseClient
private let viewController: ViewController
init(
database: DatabaseClient,
apiController: ApiController = .liveValue,
// apiController: ApiController = .liveValue,
viewController: ViewController = .liveValue
) {
self.values = withEscapedDependencies { $0 }
self.apiController = apiController
// self.apiController = apiController
self.database = database
self.viewController = viewController
}
@@ -30,7 +30,7 @@ struct DependenciesMiddleware: AsyncMiddleware {
func respond(to request: Request, chainingTo next: any AsyncResponder) async throws -> Response {
try await values.yield {
try await withDependencies {
$0.apiController = apiController
// $0.apiController = apiController
$0.auth = .live(on: request)
$0.database = database
// $0.dateFormatter = .liveValue

View File

@@ -100,8 +100,6 @@ extension SiteRoute {
fileprivate func middleware() -> [any Middleware]? {
switch self {
case .api:
return nil
case .health:
return nil
case .view(let route):
@@ -117,13 +115,10 @@ private func siteHandler(
request: Request,
route: SiteRoute
) async throws -> any AsyncResponseEncodable {
@Dependency(\.apiController) var apiController
@Dependency(\.viewController) var viewController
@Dependency(\.projectClient) var projectClient
switch route {
case .api(let route):
return try await apiController.respond(route, request: request)
case .health:
return HTTPStatus.ok
// Generating a pdf return's a `Response` instead of `HTML` like other views, so we