-
Notifications
You must be signed in to change notification settings - Fork 10.8k
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(API): Exclude pinned data from workflows #12261
feat(API): Exclude pinned data from workflows #12261
Conversation
@@ -120,6 +121,10 @@ export = { | |||
return res.status(404).json({ message: 'Not Found' }); | |||
} | |||
|
|||
if (excludePinnedData) { |
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.
we don't have to fix this here, but maybe we should create a tech-debt ticket to remove this at the query level, instead of using delete
on the returned data.
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.
Created a tech-debt ticket: PAY-2385.
@@ -199,6 +212,12 @@ export = { | |||
...(!config.getEnv('workflowTagsDisabled') && { relations: ['tags'] }), | |||
}); | |||
|
|||
if (excludePinnedData) { | |||
workflows.forEach((workflow) => { | |||
delete workflow.pinData; |
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.
same here
…se to make TS happy
Codecov ReportAll modified and coverable lines are covered by tests ✅ 📢 Thoughts on this report? Let us know! |
n8n Run #8404
Run Properties:
|
Project |
n8n
|
Branch Review |
pay-2238-option-to-exclude-pinned-data-when-getting-all-workflows
|
Run status |
Passed #8404
|
Run duration | 04m 34s |
Commit |
6479520e67: 🌳 🖥️ browsers:node18.12.0-chrome107 🤖 MarcL 🗃️ e2e/*
|
Committer | Marc Littlemore |
View all properties for this run ↗︎ |
Test results | |
---|---|
Failures |
0
|
Flaky |
1
|
Pending |
0
|
Skipped |
0
|
Passing |
480
|
View all changes introduced in this branch ↗︎ |
✅ All Cypress E2E specs passed |
Got released with |
Summary
Adds the ability to exclude pinned data when retrieving workflows via the public API. This can be applied to both the retrieval of all workflows and to the retrieval of a single workflow.
To avoid breaking the existing API contract, a query parameter
?excludePinnedData=true
should be added to explicitly exclude the data. By default, it continues to be included.There was no great approach to excluding the data when making a database query without explicitly creating a
select
option which includes all data. This would introduce a brittle query that always has to match any changes to the workflow and corresponding joined data. Instead, I've opted to delete the data after retrieval from the DB. Shout if you think there's a better approach.Related Linear tickets, Github issues, and Community forum posts
Fixes: PAY-2238
Review / Merge checklist
release/backport
(if the PR is an urgent fix that needs to be backported)