Open noahsal opened 7 months ago
I just noticed that this duplicates the in-progress PR https://github.com/feathersjs-ecosystem/feathers-permissions/pull/125. However, that PR updates to a pre-release version instead of the now released latest version (and hasn't been touched in a while).
Going to leave this open for now, since the issue is still ongoing and doesn't seem to be actively in progress. Feel free to close if this duplicate violates issue guidelines.
@noahsal Hello, any news on this topic ?
@aessig I think this issue has not been fixed yet. The checkPermissions
function still uses Hook
, but does not give any way for the user to supply generic types to make types compatible when a custom HookContext
is used throughout the application.
For example, I have the following defined:
export type MyApplication = ExpressFeathers<MyServiceTypes>;
export type MyHookContext = FeathersHookContext<MyApplication>;
In order for checkPermissions
to pass the type check I need to cast it as follows:
checkPermissions({
...
}) as HookFunction<MyHookContext>
It would be nice if I could just do something like checkPermissions<MyHookContext>(...)
, instead of needing to use an as
cast.
@noahsal Thanks for the update, I hope it will be updated soon.
Steps to reproduce
feathers-permissions
currently uses Feathers 4.5.15. This library is not compatible with the latest Feathers v5 hook types. Specifically, the return type ofcheckPermissions
(Hook
) is not compatible with the newHookFunction
type -Argument of type 'Hook' is not assignable to parameter of type 'HookFunction<A, S>
.The common solution seems to be to cast the
checkPermissions
hook toany
(or some other matching type), which isn't ideal.Expected behavior
Using the
checkPermissions
hook with Feathers v5 does not produce a type error.Actual behavior
Type error when using
checkPermissions
hook with Feathers v5.System configuration
Tell us about the applicable parts of your setup.
Module versions (especially the part that's not working):
NodeJS version: v20.3.0
Operating System: 14.3.1 (23D60)
Browser Version: Chrome Version 123.0.6312.59