typeorm-transactional-async-callbacks
Version:
A Transactional Method Decorator for typeorm that uses cls-hooked to handle and propagate transactions between different repositories and service methods. Inpired by Spring Trasnactional Annotation and Sequelize CLS
20 lines (14 loc) • 510 B
text/typescript
import { DataSource, Repository } from 'typeorm';
import { User } from '../entities/User.entity';
export class UserRepository extends Repository<User> {
constructor(private readonly dataSource: DataSource) {
super(User, dataSource.manager);
}
async createUser(name: string, money: number = 0): Promise<User> {
const user = new User(name, money);
return this.save(user);
}
async findUserByName(name: string): Promise<User | null> {
return this.findOne({ where: { name } });
}
}