Просьба сохранить массив моделей в паре 3

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

1 ответ

Решение

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

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 ответ

Другие вопросы по тегам