35 lines
896 B
Swift
35 lines
896 B
Swift
import Vapor
|
|
import SwiftMsgpack
|
|
import JWT
|
|
|
|
struct ToolController: RouteCollection {
|
|
func boot(routes: any RoutesBuilder) throws {
|
|
let group = routes.grouped("tool")
|
|
group.post("signup", use: self.signup)
|
|
|
|
}
|
|
|
|
@Sendable
|
|
func signup(req: Request) async throws -> Response {
|
|
let body = try req.content.decode(SignupReq.self, using: MsgPackDecoder())
|
|
|
|
let session = try await req.jwt.verify(body.access_token, as: SessionPayload.self)
|
|
guard session.type == SessionType.ZAT.rawValue else {
|
|
throw Abort(.forbidden, reason: "Invalid access token")
|
|
}
|
|
|
|
|
|
throw Abort(.notImplemented)
|
|
}
|
|
}
|
|
|
|
struct SignupReq: Content {
|
|
let app_secret: String
|
|
let access_token: String
|
|
let storage_directory_path: String
|
|
let app_admin: String
|
|
let kakao_pid: String
|
|
let device_id: Double
|
|
let idp_code: String
|
|
}
|