You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feathers-permissions currently uses Feathers 4.5.15. This library is not compatible with the latest Feathers v5 hook types. Specifically, the return type of checkPermissions (Hook) is not compatible with the new HookFunction 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 to any (or some other matching type), which isn't ideal.
Tell us what broke. The more detailed the better.
If you can, please create a simple example that reproduces the issue and link to a gist, jsbin, repo, etc.
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):
"@feathersjs/feathers": "^5.0.24"
"feathers-permissions": "^2.1.4"
NodeJS version:
v20.3.0
Operating System:
14.3.1 (23D60)
Browser Version:
Chrome Version 123.0.6312.59
The text was updated successfully, but these errors were encountered:
I just noticed that this duplicates the in-progress PR #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.
@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.
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
The text was updated successfully, but these errors were encountered: