hook context là object chưa thông tin về hàm service gọi hook
2 loại context là read only và wriable
READ-ONLY
context.app - The Feathers application object. This can be used to e.g. call other services
context.service - The service this hook is currently running on
context.path - The path (name) of the service
context.method - The service method name
context.type - The hook type (before, after or error)
WRIABLE
context.params - The service method call params. For external calls, params usually contains:
context.params.query - The query (e.g. query string for REST) for the service call
context.params.provider - The name of the transport (which we will look at in the next chapter) the call has been made through. Usually rest, socketio, primus. Will be undefined for internal calls.
context.id - The id for a get, remove, update and patch service method call
context.data - The data sent by the user in a create, update and patch service method call
context.error - The error that was thrown (in error hooks)
context.result - The result of the service method call (in after hooks)
register hook
để đăng kí hook ta đăng kí trong file .hooks.js của các service
Khi nào dùng hook, khi nào extended service khi nào custom service
Hook khi
chức năng được dùng nhiều hơn một nơi (validation, permission)
Đó không phải chức năng chính của service và service có thể hoạt động không có nó (gửi email sau khi create user)
Extend service khi
chức năng chỉ dùng trong service này
service không thể hoạt động thiếu nó
Custom service khi
nhiều service combined với nhau (report)
Service làm nhiều thao tác khác chứ không chỉ nói chuyện với db (call another API, sensor)
Authentication
POST /users → create user
{
“email”:”aquarius.superstar@gmail.com”,
“password”:”quang123”
}
→ vào db thấy tạo ra được user
Authen POST /authentication → READ
{
"strategy":"local",
"email":"aquarius.superstar@gmail.com",
"password":"quang123"
}
→ có được token → gửi vào postman: Authorization: Bearer <Token>