typeorm-encrypted
Version:
encrypted typeorm fields
32 lines (28 loc) • 584 B
text/typescript
import {
EventSubscriber,
EntitySubscriberInterface,
InsertEvent,
UpdateEvent
} from 'typeorm';
import { encrypt, decrypt } from '../entity';
()
export class AutoEncryptSubscriber implements EntitySubscriberInterface {
/**
* Encrypt before insertion.
*/
beforeInsert(event: InsertEvent<any>): void {
encrypt(event.entity);
}
/**
* Encrypt before update.
*/
beforeUpdate(event: UpdateEvent<any>): void {
encrypt(event.entity);
}
/**
* Decrypt after find.
*/
afterLoad(entity: any): void {
decrypt(entity);
}
}