Sono il core concept di FeathersJs. Per generarne uno usare:
npx feathers generate serviceI service creano un sistema CRUD dal nome che si passa ed espone i classici metodi di querying, creazione modifica e eliminazione
Secondo la logica di scalabilità, non si modificano i metodi find, get ecc, ma si definiscono gli Schema (che vendono poi usati anche per la validazione) i valori del DB (scrivere a parti le migrazioni) e si agisce sugli hook esposti
Personalizzare i metodi
agire sul file <service>.class.ts e estendere correttamente i metodi (vedere doc)
Aggiungere nuovo metodo
si possono aggiungere nuovi metodi specificando il nome del metodo su <service>.shared.ts e si implementa su <service>.class.ts (doc)
type PlayData = {
id: number
}
// ...
export class ... {
async play(data: PlayData, params?: ServiceParams) {
// ....
}
}Per richiamarlo lato client fare una chiamata POST specificando l’header X-Service-Method: 'nome-metodo'
return feathersClient.service('palimpsests').create({id}, {headers: {
'X-Service-Method': 'play'
}}).then...