import Fluent import FluentPostgresDriver import NIOSSL import Vapor // configures your application public func configure(_ app: Application) async throws { app.middleware.use(ErrorMiddleware.default(environment: app.environment)) // uncomment to serve files from /Public folder // app.middleware.use(FileMiddleware(publicDirectory: app.directory.publicDirectory)) app.routes.defaultMaxBodySize = "128mb" let timeout = HTTPClient.Configuration.Timeout(connect: .seconds(300), read: .seconds(300)) app.http.client.configuration.timeout = timeout let envHost = Environment.get("DATABASE_HOST") ?? "127.0.0.1" var envPort: Int switch app.environment { case .development: envPort = 5433 default: envPort = 5432 } let envUsername = Environment.get("DATABASE_USERNAME") ?? "mcarman" let envPassword = Environment.get("DATABASE_PASSWORD") ?? "@ng31F@rm0823262" let envDB = Environment.get("DATABASE_NAME") ?? "fueling" app.databases.use(DatabaseConfigurationFactory.postgres(configuration: .init( hostname: envHost, port: envPort, username: envUsername, password: envPassword, database: envDB) ), as: .psql) // app.databases.use(.postgres(hostname: "127.0.0.1", port: 5432, username: "mcarman", password: "@ng31F@rm0823262", database: "fueling"), as: .psql) app.http.server.configuration.port = 3002 app.migrations.add(CreateFuelEntry()) app.migrations.add(AddLatitudeAndLongitudeAndRemoveGpsLocationAndImage()) app.migrations.add(AddImageBackIn()) app.migrations.add(StoreImageDataInDatabase()) app.migrations.add(AddDownloadedBool()) app.migrations.add(CreateUser()) app.migrations.add(CreateTokens()) app.migrations.add(UpdateUser1()) app.migrations.add(UpdateTokens1()) app.migrations.add(UpdateUser2_AddTokenfield()) app.migrations.add(UpdateUser3_RemoveTokenfield()) app.migrations.add(AddLoadDateAndPullDate()) app.migrations.add(AddDeviceSerial()) try await app.autoMigrate().get() // register routes try routes(app) }