Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 

50 linhas
1.9 KiB

  1. import NIOSSL
  2. import Fluent
  3. import FluentPostgresDriver
  4. import Vapor
  5. extension String {
  6. var bytes: [UInt8] { .init(self.utf8) }
  7. }
  8. // configures your application
  9. public func configure(_ app: Application) async throws {
  10. // let privateKey = try String(contentsOfFile: app.directory.workingDirectory + "jwtRS256.key")
  11. // let privateSigner = try JWTSigner.rs256(key: .private(pem: privateKey.bytes))
  12. //
  13. // let publicKey = try String(contentsOfFile: app.directory.workingDirectory + "jwtRS256.key.pub")
  14. // let publicSigner = try JWTSigner.rs256(key: .public(pem: publicKey.bytes))
  15. //
  16. // app.jwt.signers.use(privateSigner, kid: .private)
  17. // app.jwt.signers.use(publicSigner, kid: .public, isDefault: true)
  18. app.middleware.use(CORSMiddleware())
  19. let corsConfiguration = CORSMiddleware.Configuration(
  20. allowedOrigin: .all,
  21. allowedMethods: [.GET, .POST, .PUT, .OPTIONS, .DELETE, .PATCH],
  22. allowedHeaders: [.accept, .authorization, .contentType, .origin, .xRequestedWith, .userAgent, .accessControlAllowOrigin]
  23. )
  24. let cors = CORSMiddleware(configuration: corsConfiguration)
  25. app.middleware.use(cors, at: .beginning)
  26. app.http.server.configuration.port = 3004
  27. app.databases.use(DatabaseConfigurationFactory.postgres(configuration: .init(
  28. hostname: Environment.get("DATABASE_HOST") ?? "localhost",
  29. port: Environment.get("DATABASE_PORT").flatMap(Int.init(_:)) ?? SQLPostgresConfiguration.ianaPortNumber,
  30. username: Environment.get("DATABASE_USERNAME") ?? "mcarman",
  31. password: Environment.get("DATABASE_PASSWORD") ?? "@ng31F@rm0823262",
  32. database: Environment.get("DATABASE_NAME") ?? "trainingdb",
  33. tls: .prefer(try .init(configuration: .clientDefault)))
  34. ), as: .psql)
  35. app.logger.logLevel = .debug
  36. try await doMigrations(app)
  37. // register routes
  38. try routes(app)
  39. }