8000
Skip to content

feat(core): Support create, delete, edit role for users in Public API#10279

Merged
ivov merged 1 commit intomasterfrom
pay-1801-support-create-delete-edit-role-for-users-in-public-api
Aug 2, 2024
Merged

feat(core): Support create, delete, edit role for users in Public API#10279
ivov merged 1 commit intomasterfrom
pay-1801-support-create-delete-edit-role-for-users-in-public-api

Conversation

@ivov
Copy link
Copy Markdown
Member
@ivov ivov commented Aug 2, 2024

Copy link
Copy Markdown
Contributor
@netroy netroy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As long as the API looks stable to you, we can merge this, and fix any implementation issues later.

createUser: [
globalScope('user:create'),
async (req: Create, res: Response) => {
const usersInvited = await Container.get(InvitationController).inviteUser(req);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should not be using private controllers in the public API. but I guess since all the payload validation is still in the controllers, we'd have to duplicate a lot of code.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For now the tests will ensure we catch any unexpected changes to the Public API.

$ref: '../schemas/userList.yml'
'401':
$ref: '../../../../shared/spec/responses/unauthorized.yml'
post:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should look into migrating the public api to a similar pattern using decorators and DI, and then generate the openapi spec file from the decorator metadata instead (if possible).

Copy link
Copy Markdown
Member Author
@ivov ivov Aug 2, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

100%! For context, we discussed internally and are aware of all the problems of the Public API, but Enterprise customers need this so we're expanding it as it is for now.

Comment on lines +90 to 94
if (withApiKey) {
return await addApiKey(await createUser({ role: 'global:member' }));
}

return await createUser({ role: 'global:member' });
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if (withApiKey) {
return await addApiKey(await createUser({ role: 'global:member' }));
}
return await createUser({ role: 'global:member' });
const member = await createUser({ role: 'global:member' });
if (withApiKey) {
return await addApiKey(member);
}
return member;

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll add this in the cleanup PR 👍🏻

@n8n-assistant n8n-assistant bot added core Enhancement outside /nodes-base and /editor-ui n8n team Authored by the n8n team labels Aug 2, 2024
@cypress
Copy link
Copy Markdown
cypress bot commented Aug 2, 2024



Test summary

390 0 0 0Flakiness 0


Run details

Project n8n
Status Passed
Commit cdc3edf
Started Aug 2, 2024 9:54 AM
Ended Aug 2, 2024 9:59 AM
Duration 04:42 💡
OS Linux Debian -
Browser Electron 118

View run in Cypress Cloud ➡️


This comment has been generated by cypress-bot as a result of this project's GitHub integration settings. You can manage this integration in this project's settings in the Cypress Cloud

@github-actions
Copy link
Copy Markdown
Contributor
github-actions bot commented Aug 2, 2024

✅ All Cypress E2E specs passed

@ivov ivov merged commit 84efbd9 into master Aug 2, 2024
@ivov ivov deleted the pay-1801-support-create-delete-edit-role-for-users-in-public-api branch August 2, 2024 10:06
MiloradFilipovic added a commit that referenced this pull request Aug 2, 2024
* master:
  refactor(core): Clean up event relays (no-changelog) (#10284)
  fix(editor): Fix execution retry button (#10275)
  feat(core): Show sub-node error on the logs pane. Open logs pane on sub-node error (#10248)
  refactor(core): Move instanceRole to InstanceSettings (no-changelog) (#10242)
  feat(core): Allow filtering executions and users by project in Public API  (#10250)
  fix(core): Make execution and its data creation atomic (#10276)
  refactor(core): Mark schema env vars used by cloud hooks (no-changelog) (#10283)
  ci: Fix DB tests (no-changelog) (#10282)
  feat(core): Support create, delete, edit role for users in Public API (#10279)
  refactor(core): Decouple post workflow execute event from internal hooks (no-changelog) (#10280)
  feat(core): Allow transferring credentials in Public API (#10259)
  feat(core): Support create, read, update, delete projects in Public API (#10269)
  ci: Introduce lint rule `no-type-unsafe-event-emitter` (no-changelog) (#10254)
  fix(core): Surface enterprise trial error message (#10267)
  fix(editor): Enable moving resources only if team projects are available by the license (#10271)
  fix(core): Upgrade tournament to address some XSS vulnerabilities (#10277)

# Conflicts:
#	packages/cli/src/Server.ts
@github-actions github-actions bot mentioned this pull request Aug 7, 2024
@janober
Copy link
Copy Markdown
Member
janober commented Aug 7, 2024

Got released with n8n@1.54.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Enhancement outside /nodes-base and /editor-ui n8n team Authored by the n8n team Released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

0