4주 프로젝트에 사용자 비밀번호 암호화와 Access Token 만료에 대한 재생성 기능을 추가했다. 이제 백앤드로 목표했던 Bare Minimum과 Advanced는 끝이 났다.
이후로는 매일 전체 코드를 보면서 리팩토링하면서 보기 좋은 코드를 작성해야겠다 🤓
Models에 사용할 수 있는 Sequelize Hooks(lifecycle Events)란 레코드가 추가되기 전과 후에 호출되는 함수다. 쉽게 말해 테이블에 저장되기 전에 양념을 치거나 데이터를 꺼내온 뒤 양념을 쳐서 데이터를 전달하는 과정이 Hooks다.
1순위
beforeBulkCreate(instances, options)
beforeBulkDestroy(options)
beforeBulkUpdate(options)
2순위
beforeValidate(instance, options)
[... validation happens ...]
3순위
afterValidate(instance, options)
validationFailed(instance, options, error)
4순위
beforeCreate(instance, options)
beforeDestroy(instance, options)
beforeUpdate(instance, options)
beforeSave(instance, options)
beforeUpsert(values, options)
[... creation/update/destruction happens ...]
5순위
afterCreate(instance, options)
afterDestroy(instance, options)
afterUpdate(instance, options)
afterSave(instance, options)
afterUpsert(created, options)
6순위
afterBulkCreate(instances, options)
afterBulkDestroy(options)
afterBulkUpdate(options)
이 순위를 참고하면 양념을 언제 칠 수 있는지 알 수 있다.
일반적인 레코드 동작은 4순위 마지막인걸 알 수 있다.