import Fluent import FluentSQLiteDriver import Leaf import NIOSSL import Vapor // configures your application 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()) switch app.environment { case .production, .development: app.databases.use(DatabaseConfigurationFactory.sqlite(.file("db.sqlite")), as: .sqlite) default: 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()) app.views.use(.leaf) // register routes try routes(app) if app.environment != .production { try await app.autoMigrate() } }