Iván Ovejero
b716241b42
feat(core): Add filtering, selection and pagination to users ( #6994 )
...
https://linear.app/n8n/issue/PAY-646
2023-08-28 16:13:17 +02:00
Ricardo Espinoza
2b7ba6fdf1
feat(core): Add MFA ( #4767 )
...
https://linear.app/n8n/issue/ADO-947/sync-branch-with-master-and-fix-fe-e2e-tets
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in >
2023-08-23 22:59:16 -04:00
Iván Ovejero
96a9de68a0
refactor(core): Move all user DB access to UserRepository ( #6910 )
...
Prep for https://linear.app/n8n/issue/PAY-646
2023-08-22 15:58:05 +02:00
Iván Ovejero
2cfa6d344e
refactor: Consolidate WorkflowService.getMany() (no-changelog) ( #6892 )
...
In scope:
- Consolidate `WorkflowService.getMany()`.
- Support non-entity field `ownedBy` for `select`.
- Support `tags` for `filter`.
- Move `addOwnerId` to `OwnershipService`.
- Remove unneeded check for `filter.id`.
- Simplify DTO validation for `filter` and `select`.
- Expand tests for `GET /workflows`.
Workflow list query DTOs:
```
filter → name, active, tags
select → id, name, active, tags, createdAt, updatedAt, versionId, ownedBy
```
Out of scope:
- Migrate `shared_workflow.roleId` and `shared_credential.roleId` to
string IDs.
- Refactor `WorkflowHelpers.getSharedWorkflowIds()`.
2023-08-22 13:19:37 +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
कारतोफ्फेलस्क्रिप्ट™
cfeb322b3b
fix(core): Don't let bull override the default redis config ( #6897 )
2023-08-09 18:10:58 +02:00
Iván Ovejero
dceff675ec
perf(core): Add filtering and pagination to GET /workflows ( #6845 )
...
* Initial setup
* Specify max paginated items
* Simplify
* Add tests
* Add more tests
* Add migrations
* Add top-level property
* Add field selection
* Cleanup
* Rename `total` to `count`
* More cleanup
* Move query logic into `WorkflowRepository`
* Create `AbstractRepository`
* Cleanup
* Fix name
* Remove leftover comments
* Replace reference
* Add default for `rawSkip`
* Remove unneeded typing
* Switch to `class-validator`
* Simplify
* Simplify
* Type as optional
* Make typing more accurate
* Fix lint
* Use `getOwnPropertyNames`
* Use DSL
* Set schema at repo level
* Cleanup
* Remove comment
* Refactor repository methods to middleware
* Add middleware tests
* Remove old test files
* Remove generic experiment
* Reuse `reportError`
* Remove unused type
* Cleanup
* Improve wording
* Reduce diff
* Add missing mw
* Use `Container.get`
* Adjust lint rule
* Reorganize into subdir
* Remove unused directive
* Remove nodes
* Silly mistake
* Validate take
* refactor(core): Adjust index handling in new migrations DSL (no-changelog) (#6876 )
* refactor(core): Adjust index handling in new migrations DSL (no-changelog)
* Account for custom index name
* Also for dropping
* Fix `select` issue with `relations`
* Tighten validation
* Ensure `ownerId` is not added when specifying `select`
2023-08-09 12:30:02 +02:00
Michael Auerswald
adcf5a96e8
feat(core): Add metrics option to cache ( #6846 )
...
* add metrics to cache
* use events for metrics
* pr comments / broken test
* lint fix
* update the test
* improve tests
* Update packages/cli/src/config/schema.ts
* disable flaky test
* lint fix
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in >
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com >
2023-08-04 20:51:07 +02:00
Michael Auerswald
fdfc6c5a92
fix(core): Handle empty keys in cache service (no-changelog) ( #6854 )
...
* fix handle empty keys in cache service
* add test
* add cache mock test
* add simpler mocking, and add tests for all the updated methods
* don't use RedisStore specifically in the mock
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in >
2023-08-04 19:44:41 +02:00
Iván Ovejero
0511458d41
perf(core): Cache webhooks ( #6825 )
...
* refactor: Initial setup
* Refactor for clarity
* Comments to clarify
* More replacements
* Simplify with `fullPath`
* Fix tests
* Implement remaining methods
* chore: Fix misresolved conflicts
* Simplify syntax
* Reduce diff
* Minor cleanup
* Fix lint
* Inject dependency
* Improve typings
* Remove unused method
* Restore method
* Add comment
* Rename in test
* Restore comments
* Clean up dynamic webhook handling
* Clean up tests
* Remove redundant `cache` prefix
* fix: Correct `uniquePath` for dynamic webhooks
2023-08-04 11:52:45 +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
3cad60e918
feat(core): Make Redis available for backend communication ( #6719 )
...
* 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
* do not cache null or undefined values
* fix merge
* lint fix
2023-08-02 12:51:25 +02:00
Iván Ovejero
ffae8edce3
refactor(core): Cache workflow ownership ( #6738 )
...
* refactor: Set up ownership service
* refactor: Specify cache keys and values
* refactor: Replace util with service calls
* test: Mock service in tests
* refactor: Use dependency injection
* test: Write tests
* refactor: Apply feedback from Omar and Micha
* test: Fix tests
* test: Fix missing spot
* refactor: Return user entity from cache
* refactor: More dependency injection!
2023-07-31 11:37: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
Michael Auerswald
c0d2bac94d
feat(core): Add cache service ( #6729 )
...
* add cache service
* PR adjustments
* switch to maxSize for memory cache
2023-07-25 11:56:38 +02:00
Ricardo Espinoza
89f44021b9
fix(core): Use JWT as reset password token ( #6714 )
...
* use jwt to reset password
* increase expiration time to 1d
* drop user id query string
* refactor
* use service instead of package in tests
* sqlite migration
* postgres migration
* mysql migration
* remove unused properties
* remove userId from FE
* fix test for users.api
* move migration to the common folder
* move type assertion to the jwt.service
* Add jwt secret as a readonly property
* use signData instead of sign in user.controller
* remove base class
* remove base class
* add tests
2023-07-24 17:40:17 -04:00
कारतोफ्फेलस्क्रिप्ट™
f4a18ba87d
refactor(core): Refactor WorkflowStatistics code (no-changelog) ( #6617 )
...
refactor(core): Refactor WorkflowStatistics code
2023-07-18 11:28:24 +02:00