Search code examples
typescriptrestormapi-designtypeorm

TypeORM: update item and return it


As far as I know, it's a best practice to return an item after it has been updated. TypeORM's updateById returns void, not the updated item though.

My question: Is it possible to update and return the modified item in a single line?

What I tried so far:

await this.taskRepository.updateById(id, { state, dueDate });
return this.taskRepository.findOne({ id });

What I'm looking for:

return this.taskRepository.updateById(id, { state, dueDate }); // returns updated task

Solution

  • I just found out that I can do this with the .save method:

    return this.taskRepository.save({
        id: task.id,
        state,
        dueDate
    });
    

    According to the docs (section save), partial updates are supported as well:

    Also supports partial updating since all undefined properties are skipped.