-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(core): Refactor how permissions get serialized for sessions into using a new strategy #3222
base: master
Are you sure you want to change the base?
feat(core): Refactor how permissions get serialized for sessions into using a new strategy #3222
Conversation
… using a new strategy
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
packages/core/src/config/auth/channel-role-permission-resolver-strategy.ts
Outdated
Show resolved
Hide resolved
…stand the overlap
packages/core/src/config/auth/role-permission-resolver-strategy.ts
Outdated
Show resolved
Hide resolved
…ResolverStrategy` We need UI for the selection of channels but for the POC it will simply assign the default channel. Also moved emitting of events to the end of admin-update function so that a failure from updating custom field relations doesnt lead to wrong behavior of event handlers.
|
@@ -14,6 +14,7 @@ export interface UserChannelPermissions { | |||
|
|||
/** | |||
* Returns an array of Channels and permissions on those Channels for the given User. | |||
* @deprecated See `RolePermissionResolverStrategy` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we really need to deprecate this first? This helper isn't exported, so I would say it's ok to just mention in the changelog that you should use configService.authOptions.rolePermissionResolverStrategy.resolvePermissions
from now on.
packages/core/src/config/auth/role-permission-resolver-strategy.ts
Outdated
Show resolved
Hide resolved
I like it already. One question, to mess everything up: Is there any functional benefit of useing I know it makes this PR less complex and less breaking, but if there is no functional benefit over the |
FYI: Questions have been answered in private but I'll resurface them here to be visible for future interested parties (cc @mohdbk )
and
Talked about it with Michael and our consensus is that breaking existing Vendure instances is a non starter, especially since technically nothing is "wrong" with the existing handling of Roles/Permissions, it just doesnt fit marketplaces specifically. Marketplaces are a niche and not the norm, so it feels more correct to have this as purely opt in. There might come a point in the future where this new channel role strategy becomes the default, like for example the next major Vendure version, but for now keeping it a strict opt-in is a lot nicer to the existing user base. :-) |
This is needed in order to construct the `ChannelRoleInput`s
Deployment failed with the following error:
|
@DanielBiegler is attempting to deploy a commit to the Vendure Team on Vercel. A member of the Team first needs to authorize it. |
|
Preamble
This is a proof of concept for #3095
Description
Since people are asking for more details on how this works I'll copy the docs here as quick reminder:
Breaking changes
Nothing should change with the default strategy but once you use the new strategy there is a migration needed because the plugin introduces a new Entity (
ChannelRole
) and existing roles will stop working. This makes this feature purely opt-in for people that are interested in multi-vendor setups.Screenshots
You can add screenshots here if applicable.
ToDo
Checklist
📌 Always:
👍 Most of the time: