Commit Graph

66 Commits

Author SHA1 Message Date
Ricardo Espinoza
5633502c63 feat(core): Allow transferring user's data to team project when deleting them (no-changelog) (#13941) 2025-03-18 15:25:40 -04:00
Ricardo Espinoza
c7bcdc544d feat(core): Transfer folder structure when deleting user (no-changelog) (#13845) 2025-03-12 10:34:51 -04:00
Danny Martini
967ee4b89b feat: Synchronize deletions when pulling from source control (#12170)
Co-authored-by: r00gm <raul00gm@gmail.com>
2025-01-20 16:53:55 +01:00
कारतोफ्फेलस्क्रिप्ट™
371a09de96 refactor(core): Port 3 more controllers to use DTOs (no-changelog) (#12375) 2024-12-26 16:09:42 +01:00
Iván Ovejero
f754b22a3f refactor(core): Mark all backend Enterprise Edition files and dirs (#12350) 2024-12-24 13:02:05 +01:00
कारतोफ्फेलस्क्रिप्ट™
471d7b9420 refactor(core): Move Logger to core (no-changelog) (#12310) 2024-12-23 13:46:13 +01:00
Iván Ovejero
3a9c65e1cb refactor(core): Modernize logger service (#11031) 2024-10-01 12:16:09 +02:00
कारतोफ्फेलस्क्रिप्ट™
769ddfdd1d refactor(core): Move some request DTOs to @n8n/api-types (no-changelog) (#10880) 2024-09-20 21:14:06 +02:00
Tomi Turtiainen
5156313074 refactor(core): Enable import/order eslint rule (#10794) 2024-09-12 19:07:18 +03:00
Iván Ovejero
6485ca0a4b refactor(core): Enforce filename casing in cli package (no-changelog) (#10594) 2024-08-28 17:57:46 +02:00
कारतोफ्फेलस्क्रिप्ट™
ab9835126e refactor(core): Use @/databases/ instead of @db/ (no-changelog) (#10573) 2024-08-27 17:24:20 +02:00
Iván Ovejero
fd58a272e1 refactor(core): Standardize filename casing for controllers and databases (no-changelog) (#10564) 2024-08-27 16:44:32 +02:00
Iván Ovejero
f667b384c9 refactor(core): Standardize filenames in cli (no-changelog) (#10484)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-08-22 11:10:37 +02:00
Iván Ovejero
42a0b594d6 fix(core): Fix user telemetry bugs (#10293) 2024-08-05 13:24:26 +02:00
Iván Ovejero
c0f3693e8a refactor(core): Decouple user events from internal hooks (no-changelog) (#10292) 2024-08-05 12:07:42 +02:00
Iván Ovejero
aa0a470dce refactor(core): Clean up event relays (no-changelog) (#10284) 2024-08-02 16:52:49 +02:00
Tomi Turtiainen
d6770b5fca fix(core): Flush instance stopped event immediately (#10238) 2024-07-30 14:49:41 +03:00
Iván Ovejero
aba1c64500 refactor(core): Rename EventRelay to EventService (no-changelog) (#10110) 2024-07-19 12:55:38 +02:00
Iván Ovejero
199dff4fb3 refactor(core): Decouple event bus from internal hooks (no-changelog) (#9724) 2024-06-20 12:32:22 +02:00
कारतोफ्फेलस्क्रिप्ट™
5887ed6498 refactor(core): Extract all Auth-related User columns into a separate entity (#9557)
Co-authored-by: Ricardo Espinoza <ricardo@n8n.io>
2024-05-31 09:40:19 +02:00
कारतोफ्फेलस्क्रिप्ट™
fc83005ba0 fix(core): Do not allow admins to delete the instance owner (#9489) 2024-05-22 16:23:40 +02:00
कारतोफ्फेलस्क्रिप्ट™
88b9a4070b fix(core): Do not allow admins to generate password-reset links for instance owner (#9488) 2024-05-22 16:13:56 +02:00
Csaba Tuncsik
596c472ecc feat: RBAC (#8922)
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Val <68596159+valya@users.noreply.github.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Valya Bullions <valya@n8n.io>
Co-authored-by: Danny Martini <danny@n8n.io>
Co-authored-by: Danny Martini <despair.blue@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: oleg <me@olegivaniv.com>
Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
Co-authored-by: Elias Meire <elias@meire.dev>
Co-authored-by: Giulio Andreini <andreini@netseven.it>
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: Ayato Hayashi <go12limchangyong@gmail.com>
2024-05-17 10:53:15 +02:00
कारतोफ्फेलस्क्रिप्ट™
5025d209ca fix(core): All calls to plainToInstance should exclude extraneous values (no-changelog) (#9338) 2024-05-08 15:49:41 +02:00
Iván Ovejero
7b925ab871 refactor(core): Rename ActiveWorkflowRunner to ActiveWorkflowManager (no-changelog) (#9280) 2024-05-06 17:54:05 +02:00
कारतोफ्फेलस्क्रिप्ट™
db4a419c8d refactor(core): Enforce authorization by default on all routes (no-changelog) (#8762) 2024-02-28 17:02:18 +01:00
कारतोफ्फेलस्क्रिप्ट™
2811f77798 refactor(core): Rename RequireGlobalScope to GlobalScope (no-changelog) (#8760) 2024-02-28 14:40:02 +01:00
कारतोफ्फेलस्क्रिप्ट™
56c8791aff refactor(core): Remove all legacy auth middleware code (no-changelog) (#8755) 2024-02-28 13:12:28 +01:00
कारतोफ्फेलस्क्रिप्ट™
d6deceacde refactor(core): Remove roleId indirection (no-changelog) (#8413) 2024-01-24 13:38:57 +01:00
Cornelius Suermann
d597c2ab29 feat: Extend collection of usage metrics during license renewal (no-changelog) (#8369)
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2024-01-22 12:29:28 +01:00
Tomi Turtiainen
9a1cc56806 fix: Set '@typescript-eslint/return-await' rule to 'always' for node code (no-changelog) (#8363)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-01-17 17:08:50 +02:00
Iván Ovejero
23a4ac96c0 refactor(core): Continue moving typeorm operators to repositories (no-changelog) (#8212)
Follow-up to: https://github.com/n8n-io/n8n/pull/8186
2024-01-05 13:06:24 +01:00
कारतोफ्फेलस्क्रिप्ट™
cfe9525dd4 fix(core): Better input validation for the changeRole endpoint (#8189)
also refactored the code to
1. stop passing around `scope === 'global'`, since this code can be used
only for changing globalRole.
2. leak less details when input validation fails.

## Review / Merge checklist
- [x] PR title and summary are descriptive
- [x] Tests included
2024-01-03 09:33:35 +01:00
Iván Ovejero
40c1eeeddd refactor(core): Continue moving typeorm operators to repositories (no-changelog) (#8186)
Follow-up to: #8163
2024-01-02 17:53:24 +01:00
कारतोफ्फेलस्क्रिप्ट™
f69ddcd796 refactor(core): Use Dependency Injection for all Controller classes (no-changelog) (#8146)
## Review / Merge checklist
- [x] PR title and summary are descriptive
2023-12-27 11:50:43 +01:00
Iván Ovejero
a70a5076ee refactor(core): Add telemetry for RBAC roles (#7969)
Add telemetry for RBAC roles, see
[requirements](https://linear.app/n8n/issue/PAY-1067/add-telemetry-events-for-adding-and-assigning-admin-users#comment-184619fe).
2023-12-13 12:22:11 +01:00
Csaba Tuncsik
dbd62a4992 feat: Introduce advanced permissions (#7844)
This PR introduces the possibility of inviting new users with an `admin`
role and changing the role of already invited users.
Also using scoped permission checks where applicable instead of using
user role checks.

---------

Co-authored-by: Val <68596159+valya@users.noreply.github.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2023-12-08 12:52:25 +01:00
Iván Ovejero
386bd61967 fix(core): Ensure inviter and invitee are set correctly in invite link (#7943)
## Summary
Ensure inviter and invitee are set correctly in invite link

...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

https://linear.app/n8n/issue/ADO-1494


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-07 10:53:31 +01:00
Val
1cb92ffe16 feat: Replace owner checks with scope checks (no-changelog) (#7846)
Github issue / Community forum post (link here to close automatically):
2023-11-29 14:48:36 +00:00
Iván Ovejero
476806ebb0 feat(core): Allow admin creation (#7837)
https://linear.app/n8n/issue/PAY-1038
2023-11-29 13:55:41 +01:00
Val
a37f1cb0ba feat: Add initial scope checks via decorators (#7737) 2023-11-28 11:41:34 +00:00
Iván Ovejero
1c6178759c refactor(core): Reorganize error hierarchy in cli package (no-changelog) (#7839)
Ensure all errors in `cli` inherit from `ApplicationError` to continue
normalizing all the errors we report to Sentry

Follow-up to: https://github.com/n8n-io/n8n/pull/7820
2023-11-28 10:19:27 +01:00
Iván Ovejero
9b87a596ca fix(core): Ensure member and admin cannot be promoted to owner (#7830)
https://linear.app/n8n/issue/PAY-985/add-user-role-modification-endpoint#comment-62355f6b
2023-11-27 17:35:58 +01:00
Iván Ovejero
7a86d36068 feat(core): Allow user role modification (#7797)
https://linear.app/n8n/issue/PAY-985

```
PATCH /users/:id/role
  unauthenticated user
    ✓ should receive 401 (349 ms)
  member
    ✓ should fail to demote owner to member (349 ms)
    ✓ should fail to demote owner to admin (359 ms)
    ✓ should fail to demote admin to member (381 ms)
    ✓ should fail to promote other member to owner (353 ms)
    ✓ should fail to promote other member to admin (377 ms)
    ✓ should fail to promote self to admin (354 ms)
    ✓ should fail to promote self to owner (371 ms)
  admin
    ✓ should receive 400 on invalid payload (351 ms)
    ✓ should receive 404 on unknown target user (351 ms)
    ✓ should fail to demote owner to admin (349 ms)
    ✓ should fail to demote owner to member (347 ms)
    ✓ should fail to promote member to owner (384 ms)
    ✓ should fail to promote admin to owner (350 ms)
    ✓ should be able to demote admin to member (354 ms)
    ✓ should be able to demote self to member (350 ms)
    ✓ should be able to promote member to admin (349 ms)
  owner
    ✓ should be able to promote member to admin (349 ms)
    ✓ should be able to demote admin to member (349 ms)
    ✓ should fail to demote self to admin (348 ms)
    ✓ should fail to demote self to member (354 ms)
```
2023-11-24 11:40:08 +01:00
Ricardo Espinoza
8e0ae3cf8c refactor: Extract Invitation routes to InvitationController (no-changelog) (#7726)
This PR:

- Creates `InvitationController`
- Moves `POST /users` to `POST /invitations` and move related test to
`invitations.api.tests`
- Moves `POST /users/:id` to `POST /invitations/:id/accept` and move
related test to `invitations.api.tests`
- Adjusts FE to use new endpoints
- Moves all the invitation logic to the `UserService`

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-16 12:39:43 -05:00
Ricardo Espinoza
4020c14d59 refactor: Use POST /users to re-invite users (no-changelog) (#7714) 2023-11-15 06:40:57 -05:00
कारतोफ्फेलस्क्रिप्ट™
000e76e3b4 ci(core): Reduce memory usage in tests (part-2) (no-changelog) (#7671)
This also gets rid of `Db.collection`, which was another source of
circular dependencies.
2023-11-10 15:04:26 +01:00
कारतोफ्फेलस्क्रिप्ट™
60314248f4 fix(core): Make password-reset urls valid only for single-use (#7622) 2023-11-07 15:35:43 +01:00
कारतोफ्फेलस्क्रिप्ट™
05586a900d refactor(core): Make Logger a service (no-changelog) (#7494) 2023-10-25 16:35:22 +02:00
कारतोफ्फेलस्क्रिप्ट™
55c6a1b0d3 fix(core): Do not return inviteAcceptUrl in response if email was sent (#7465) 2023-10-19 13:58:06 +02:00