diff --git a/.env.development b/.env.development index 1fab9dc..4c27c32 100644 --- a/.env.development +++ b/.env.development @@ -16,3 +16,8 @@ REDIS_MAX_ACTIVE_CON="20" DEFAULT_USER_NAME="Test Test" DEFAULT_USER_EMAIL="test@grodt.com" DEFAULT_USER_PASSWORD="password" + +# Logging +REQUEST_LOG_HEADERS="true" +RESPONSE_LOG_HEADERS="true" +REQUEST_LOG_BODY_PREVIEW="true" \ No newline at end of file diff --git a/Sources/Grodt/Endpoints/Routes/ski/account/AccountRoute.swift b/Sources/Grodt/Endpoints/Routes/ski/account/AccountRoute.swift new file mode 100644 index 0000000..f9a73d0 --- /dev/null +++ b/Sources/Grodt/Endpoints/Routes/ski/account/AccountRoute.swift @@ -0,0 +1,25 @@ +import Vapor +import Fluent + +class AccountRoute: RouteCollection { + private let service: AccountService + + init(service: AccountService) { + self.service = service + } + + func boot(routes: Vapor.RoutesBuilder) throws { + let account = routes.grouped("account") + account.group("me") { me in + me.get(use: userInfo) + } + } + + func userInfo(req: Request) async throws -> UserInfoDTO { + let userID = try req.requireUserID() + + return try await self.service.userInfo(for: userID) + } +} + +extension UserInfoDTO: Content { } diff --git a/Sources/Grodt/Endpoints/Routes/ski/routes+ski.swift b/Sources/Grodt/Endpoints/Routes/ski/routes+ski.swift index 91e6acb..0beae3e 100644 --- a/Sources/Grodt/Endpoints/Routes/ski/routes+ski.swift +++ b/Sources/Grodt/Endpoints/Routes/ski/routes+ski.swift @@ -60,5 +60,9 @@ func registerSkiRoutes(_ app: Application, _ container: AppContainer) throws { try protected.register(collection: InvestmentRoute( serivce: container.investmentService) ) + + try protected.register(collection: AccountRoute( + service: container.accountService) + ) } }