просьба сохранить массив моделей в паре 3 - PullRequest
0 голосов
/ 30 сентября 2018

Как я могу обновить массив моделей в mysql, используя transactions?и вернуть Ok ответ после успешной операции

1 Ответ

0 голосов
/ 01 октября 2018

Итак, я решил свою проблему без транзакций:

func update(_ req: Request, todos: [CreateTodoRequest]) throws -> Future<HTTPStatus> {
    let user = try req.requireAuthenticated(User.self)
    // 1
    return try todos.map { try Todo(todo: $0, userID: user.requireID()).create(on: req) }
        // 2
        .flatten(on: req)
        // 3
        .transform(to: .ok)
}

.create(on: req) возвращает EventLoopFuture<Todo>.Так что todos.map вернет массив [EventLoopFuture<Todo>].Второй шаг - преобразовать его в EventLoopFuture<[Todo]>.И третий шаг - преобразовать его в HttpStatus.ok response

...