Существует ли синтаксис FeathersJ для создания конечной точки с перехватами в одной команде?
Я нашел, как добавить хуки в существующий сервис:
app.use("/hello", { get: async () => "Hello World"});
app.service('/hello').hooks({
before: { create: someHookFn }
});
Но я почти уверен, что этот синтаксис можно улучшить, и я просто не могу найти пример. Попытка поиска в исходном коде также не помогла, она довольно сложна с точки зрения определений типов.
Существует ли синтаксис FeathersJ для создания конечной точки с перехватами в одной команде?
Что-то вроде этого:
// non-functional code
app.use("/hello", {
service: { get: async () => "Hello World"},
hooks: {
before: { create: someHookFn }
}
});
1 ответ
Вы можете сделать функцию, которая делает это так:
function createService(service, hooks) {
return feathers().use('', service).service('').hooks(hooks);
}
Тогда используйте это так:
app.use("/hello", createService({
{ get: async () => "Hello World"},
{ before: { create: someHookFn } }
}));
Причина, по которой я сделал это, заключалась в том, что я хотел иметь службу, не подключенную к конечной точке, для использования в graphql. Кроме того, мне не нравится связывать вещи по строковому идентификатору.