Iván Ovejero
aba1c64500
refactor(core): Rename EventRelay
to EventService
(no-changelog) ( #10110 )
2024-07-19 12:55:38 +02:00
Iván Ovejero
5eca7c8e28
refactor(core): More decouplings from internal hooks (no-changelog) ( #10099 )
2024-07-19 10:33:13 +02:00
Iván Ovejero
f876f9ec8b
refactor(core): Decouple source control telemetry from internal hooks (no-changelog) ( #10095 )
2024-07-18 15:00:24 +02:00
Iván Ovejero
e33a47311f
refactor: Upgrade to TypeScript 5.5 (no-changelog) ( #9828 )
2024-06-24 17:49:59 +02:00
Iván Ovejero
44ea4c73eb
refactor: Remove unused lint directives (no-changelog) ( #9842 )
2024-06-24 12:13:18 +02:00
Iván Ovejero
8e529219df
refactor(core): Lint to restrict @n8n/typeorm
to persistence layer (no-changelog) ( #9840 )
2024-06-24 10:24:05 +02:00
Danny Martini
8da0d6e9ba
fix(core): Fix type errors (no-changelog) ( #9571 )
2024-05-31 14:06:13 +02:00
Iván Ovejero
dbaac82f79
fix(core): Set source control repository to track remote if ready ( #9532 )
2024-05-29 10:21:21 +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
Iván Ovejero
7b925ab871
refactor(core): Rename ActiveWorkflowRunner
to ActiveWorkflowManager
(no-changelog) ( #9280 )
2024-05-06 17:54:05 +02:00
Iván Ovejero
093dcefafc
fix(core): Stop relying on filesystem for SSH keys ( #9217 )
2024-04-25 15:09:12 +02:00
Iván Ovejero
b8ab049932
refactor(core, editor): Remove legacy nodesAccess
(no-changelog) ( #9016 )
2024-04-05 13:17:34 +02:00
Iván Ovejero
ddc0f57116
refactor(core): Store SSH key pair for source control in DB settings ( #8965 )
2024-03-26 19:09:46 +01:00
Iván Ovejero
260bc07ca9
fix(core): Assign credential ownership correctly in source control import ( #8955 )
2024-03-26 17:18:41 +01: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
Tomi Turtiainen
05e13a68ea
fix: Fix typeorm .save usage (no-changelog) ( #8678 )
2024-02-20 17:34:54 +02:00
कारतोफ्फेलस्क्रिप्ट™
8e392cfc1d
feat(core): Migrate to n8n's typeorm fork ( #8590 )
2024-02-08 15:13:29 +01:00
कारतोफ्फेलस्क्रिप्ट™
033fd344b5
fix(core): Handle possibly invalid updatedAt
timestamps in source-control ( #8485 )
2024-01-31 14:25:03 +01:00
कारतोफ्फेलस्क्रिप्ट™
d6deceacde
refactor(core): Remove roleId indirection (no-changelog) ( #8413 )
2024-01-24 13:38:57 +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
Iván Ovejero
f53c482939
perf(core): Improve caching service ( #8213 )
...
Story: https://linear.app/n8n/issue/PAY-1188
- Implement Redis hashes on the caching service, based on Micha's work
in #7747 , adapted from `node-cache-manager-ioredis-yet`. Optimize
workflow ownership lookups and manual webhook lookups with Redis hashes.
- Simplify the caching service by removing all currently unused methods
and options: `enable`, `disable`, `getCache`, `keys`, `keyValues`,
`refreshFunctionEach`, `refreshFunctionMany`, `refreshTtl`, etc.
- Remove the flag `N8N_CACHE_ENABLED`. Currently some features on
`master` are broken with caching disabled, and test webhooks now rely
entirely on caching, for multi-main setup support. We originally
introduced this flag to protect against excessive memory usage, but
total cache usage is low enough that we decided to drop this setting.
Apparently this flag was also never documented.
- Overall caching service refactor: use generics, reduce branching, add
discriminants for cache kinds for better type safety, type caching
events, improve readability, remove outdated docs, etc. Also refactor
and expand caching service tests.
Follow-up to: https://github.com/n8n-io/n8n/pull/8176
---------
Co-authored-by: Michael Auerswald <michael.auerswald@gmail.com>
2024-01-05 11:52:44 +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
Iván Ovejero
5aee7a1d48
refactor(core): Move typeorm
operators from SourceControlExportService
to repositories (no-changelog) ( #8168 )
...
Follow-up to: #8165
2023-12-28 09:27:38 +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
कारतोफ्फेलस्क्रिप्ट™
baee47a276
refactor(core): Move all base URLs to UrlService (no-changelog) ( #8141 )
...
This change kept coming up in #6713 , #7773 , and #8135 .
So this PR moves the existing code without actually changing anything,
to help get rid of some of the circular dependencies.
## Review / Merge checklist
- [x] PR title and summary are descriptive.
2023-12-22 15:19:50 +01:00
Iván Ovejero
f49aebb740
refactor(core): Move instance owner retrieval to ownership service (no-changelog) ( #7980 )
...
## Summary
Provide details about your pull request and what it adds, fixes, or
changes. Photos and videos are recommended.
Continue breaking down `UserManagementHelper.ts`
...
#### 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
...
## 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-11 13:35:09 +01:00
Iván Ovejero
8cb9c6b3ea
ci: Introduce no-plain-errors
lint rule for BE packages (no-changelog) ( #7961 )
...
## Summary
Require `ApplicationError` or its child classes instead of plain `Error`
in BE packages. This ensures the error will be normalized when reported
to Sentry, if applicable.
Follow-up to:
https://github.com/n8n-io/n8n/pulls?q=is%3Apr+is%3Aclosed+applicationerror
...
#### 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
...
## 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-08 12:51:49 +01:00
Iván Ovejero
c08c5cc37b
refactor(core): Switch plain errors in cli
to ApplicationError
( #7857 )
...
Ensure all errors in `cli` are `ApplicationError` or children of it and
contain no variables in the message, to continue normalizing all the
errors we report to Sentry
Follow-up to: https://github.com/n8n-io/n8n/pull/7839
2023-11-29 12:25:10 +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
Val
27e048c201
feat: Add Licensed decorator (no-changelog) ( #7828 )
...
Github issue / Community forum post (link here to close automatically):
2023-11-27 13:46:18 +00:00
Val
5acb7b94c0
refactor: Refactor variables controller into a RestController (no-changelog) ( #7822 )
...
Github issue / Community forum post (link here to close automatically):
2023-11-27 12:17:09 +00:00
Michael Auerswald
5835e055d3
fix(editor): Show nice error when environment is not set up ( #7778 )
...
Adds a nicer error message with a link for owners who press Push to Git
without having a repository connected yet.
2023-11-23 13:50:03 +01: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
Iván Ovejero
f73a0597ba
refactor: Add rule no-constant-binary-expression
(no-changelog) ( #7670 )
...
https://eslint.org/docs/latest/rules/no-constant-binary-expression
2023-11-09 17:50:59 +01:00
Iván Ovejero
62c096710f
refactor: Run lintfix
(no-changelog) ( #7537 )
...
- Fix autofixable violations
- Remove unused directives
- Allow for PascalCased variables - needed for dynamically imported or
assigned classes, decorators, routers, etc.
2023-10-27 14:15:02 +02:00
कारतोफ्फेलस्क्रिप्ट™
05586a900d
refactor(core): Make Logger a service (no-changelog) ( #7494 )
2023-10-25 16:35:22 +02:00
कारतोफ्फेलस्क्रिप्ट™
b6de910cbe
refactor(core): Abstract away InstanceSettings and encryptionKey
into injectable services (no-changelog) ( #7471 )
...
This change ensures that things like `encryptionKey` and `instanceId`
are always available directly where they are needed, instead of passing
them around throughout the code.
2023-10-23 13:39:35 +02:00
Michael Auerswald
fdac2c8572
feat(core): Add rsa option to ssh key generation ( #7154 )
...
PR adds a new field to the SourceControlPreferences as well as to the
POST parameters for the `source-control/preferences` and
`source-control/generate-key-pair` endpoints. Both now accept an
optional string parameter `keyGeneratorType` of `'ed25519' | 'rsa'`
Calling the `source-control/generate-key-pair` endpoint with the
parameter set, it will also update the stored preferences accordingly
(so that in the future new keys will use the same method)
By default ed25519 is being used. The default may be changed using a new
environment parameter:
`N8N_SOURCECONTROL_DEFAULT_SSH_KEY_TYPE` which can be `rsa` or `ed25519`
RSA keys are generated with a length of 4096 bytes.
2023-09-14 11:34:51 +02:00
कारतोफ्फेलस्क्रिप्ट™
a693b29134
ci: Fix prettier auto-formatting (no-changelog) ( #7063 )
2023-09-01 13:29:31 +02:00
कारतोफ्फेलस्क्रिप्ट™
72f65dcdd6
refactor(core): Do not import BaseCommand outside src/commands
(no-changelog) ( #7008 )
2023-08-25 00:17:00 +02:00
Iván Ovejero
9b9b891e68
refactor(core): Move remaining tags logic to service (no-changelog) ( #6920 )
...
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-08-22 12:24:43 +02:00
Iván Ovejero
11440bfd3c
refactor(core): Move tag collection into repository (no-changelog) ( #6860 )
...
* refactor(core): Move tag collection into repository
* Fix tests
* Address feedback
* Fix missing spot
2023-08-08 14:08:56 +02:00
Nihaal Sangha
6ec7033bb7
fix(core): Fix source control name and email being switched ( #6839 )
2023-08-03 15:19:54 +02:00
Iván Ovejero
e4f041815a
perf(core): Cache roles ( #6803 )
...
* refactor: Create `RoleService`
* refactor: Refactor to use service
* refactor: Move `getUserRoleForWorkflow`
* refactor: Clear out old `RoleService`
* refactor: Consolidate utils into service
* refactor: Remove unused methods
* test: Add tests
* refactor: Remove redundant return types
* refactor: Missing utility
* chore: Remove commented out bit
* refactor: Make `Db.collections.Repository` inaccessible
* chore: Cleanup
* feat: Prepopulate cache
* chore: Remove logging
* fix: Account for tests where roles are undefined
* fix: Restore `prettier.prettierPath`
* test: Account for cache enabled and disabled
* fix: Restore `Role` in `Db.collections`
* refactor: Simplify by removing `orFail`
* refactor: Rename for clarity
* refactor: Use `cacheKey` for readability
* refactor: Validate role before creation
* refacator: Remove redundant `cache` prefix
* ci: Lint fix
* test: Fix e2e
2023-08-03 08:58:36 +02:00
Michael Auerswald
659ca26fe7
fix(core): Change VariablesService to DI and use caching ( #6827 )
...
* support redis cluster
* cleanup, fix config schema
* set default prefix to bull
* initial commit
* improve logging
* improve types and refactor
* list support and refactor
* fix redis service and tests
* add comment
* add redis and cache prefix
* use injection
* lint fix
* clean schema comments
* improve naming, tests, cluster client
* merge master
* cache returns unknown instead of T
* update cache service, tests and doc
* remove console.log
* VariablesService as DI, add caching, fix tests
* do not cache null or undefined values
* import fix
* more DI and remove collections
* fix merge
* lint fix
* rename to ~Cached
* fix test for CI
* fix ActiveWorkflowRunner test
2023-08-02 14:51:09 +02:00
Iván Ovejero
72523462ea
refactor: Clear unused ESLint directives from BE packages (no-changelog) ( #6798 )
2023-07-31 11:00:48 +02:00
कारतोफ्फेलस्क्रिप्ट™
dc2ba743eb
refactor(core): Use mixins to delete redundant code between Entity classes (no-changelog) ( #6616 )
...
* db entities don't need an ID before they are inserted
* don't define constructors on entity classes, use repository.create instead
* use mixins to reduce duplicate code in db entity classes
2023-07-27 11:53:37 +02:00