@Entity('USER')
class User {
@Column('number', { primary: true, name: 'ID', precision: 20, scale: 0 })
@AutoMap()
id: number;
@Column('varchar2', { name: 'PASSWORD', nullable: true, length: 50 })
@AutoMap()
password: string | null;
@Column('nvarchar2', { name: 'USER_NAME', nullable: true, length: 100 })
@AutoMap()
userName: string | null;
}
Trong trường hợp bạn muốn lấy thông tin của một user các bạn sẽ thực hiện như sau:
let userInfo = userRepo.findOne(id);
userInfo
về cho frontend. Nhưng có vẻ có gì đó không ổn ở đây nhỉ. Làm sao mình có thể trả về password
của người dùng về cho frontend được. Vậy giải pháp ở đây là gì :D. Các bạn hãy nhìn lên tiêu đề bài viết nhé AutoMapper. Sau đây mình sẽ hướng dẫn các bạn sử dụng tính năng cơ bản của thư viện này nhé.Tạo một class UserVm như sau:
class UserVm {
@AutoMap()
id: number;
@AutoMap()
userName: string | null;
}
Mapper.createMap(User, UserVm);
let userInfo = Mapper.map(userRepo.findOne(id), UserVm);