feat: Begins integrating database client into vapor app.

This commit is contained in:
2025-01-14 11:50:06 -05:00
parent c8bcffa0b5
commit ccf80f05a7
42 changed files with 2378 additions and 2540 deletions

View File

@@ -1,8 +1,10 @@
import DatabaseClientLive
import Dependencies
import Fluent
import FluentSQLiteDriver
import Leaf
import NIOSSL
import SharedModels
import Vapor
// configures your application
@@ -10,7 +12,7 @@ public func configure(_ app: Application) async throws {
// uncomment to serve files from /Public folder
app.middleware.use(FileMiddleware(publicDirectory: app.directory.publicDirectory))
app.middleware.use(app.sessions.middleware)
app.middleware.use(User.sessionAuthenticator())
// app.middleware.use(User.sessionAuthenticator())
#if DEBUG
app.lifecycle.use(BrowserSyncHandler())
@@ -23,21 +25,25 @@ public func configure(_ app: Application) async throws {
app.databases.use(DatabaseConfigurationFactory.sqlite(.memory), as: .sqlite)
}
app.migrations.add(Vendor.Migrate())
app.migrations.add(VendorBranch.Migrate())
app.migrations.add(Employee.Migrate())
app.migrations.add(User.Migrate())
app.migrations.add(UserToken.Migrate())
app.migrations.add(PurchaseOrder.Migrate())
let databaseClient = DatabaseClient.live(database: app.db)
try await app.migrations.add(databaseClient.migrations())
// app.migrations.add(Vendor.Migrate())
// app.migrations.add(VendorBranch.Migrate())
// app.migrations.add(Employee.Migrate())
// app.migrations.add(User.Migrate())
// app.migrations.add(UserToken.Migrate())
// app.migrations.add(PurchaseOrder.Migrate())
app.views.use(.leaf)
try withDependencies {
$0.employees = .live(database: app.db(.sqlite))
$0.purchaseOrders = .live(database: app.db(.sqlite))
$0.users = .live(database: app.db(.sqlite))
$0.vendorBranches = .live(database: app.db(.sqlite))
$0.vendors = .live(database: app.db(.sqlite))
$0.database = databaseClient
// $0.employees = .live(database: app.db(.sqlite))
// $0.purchaseOrders = .live(database: app.db(.sqlite))
// $0.users = .live(database: app.db(.sqlite))
// $0.vendorBranches = .live(database: app.db(.sqlite))
// $0.vendors = .live(database: app.db(.sqlite))
} operation: {
// register routes
try routes(app)