Rutger Huijsmans
Rutger Huijsmans

Reputation: 2408

Creating and returning database records with Vapor

I'm trying to create a user and access token record in my database.

However I can't figure out how to do this.

My code looks like this:

// Create new user
func create(_ req: Request) throws -> Future<AccessToken> {
    return try req.content.decode(User.self).flatMap { user in
        user.pushToken = ""
        user.create(on: req).map {_ -> EventLoopFuture<AccessToken> in
            let accessToken = AccessToken(accessToken: UUID().uuidString, userID: user.id!)
            return accessToken.create(on: req)
        }
    }
}

I create a user (this works well) then I want to create an access token tied to that user (through user ID)

Because of this I need to know the user ID of the user that I just created. However this code doesn't seem to compile.

Xcode is giving me: Missing return in a closer expected to return EventLoopFuture<AccessToken>

Upvotes: 2

Views: 262

Answers (1)

Genki
Genki

Reputation: 3195

Missing a return in the user.create(on: req).map {_ -> EventLoopFuture<AccessToken> in ?

Upvotes: 2

Related Questions