Skip to content

Conversation

@ByteEVM
Copy link
Contributor

@ByteEVM ByteEVM commented Jan 7, 2026

Summary

Since April 1st, 2025, Microsoft Graph supports skipping the Deleted Items folder by permanently deleting, which will move deleted items to the hidden Purges folder within the user's mailbox.

This behavior is the same as deleting with Shift + Delete from Outlook web UI, to then delete from Deleted Items a final time. Both API and web UI will move items to Purges folder, up to configured retention policies.

A helper funcion i.e., executeDeletion, takes care of deciding whether the API request should use the HTTP method DELETE or POST, in response for "normal" deletions or permanent ones, respectively.

See docs for message: permanentDelete in Microsoft Graph v1.0

Related Linear tickets, Github issues, and Community forum posts

Review / Merge checklist

  • PR title and summary are descriptive. (conventions)
  • Docs updated or follow-up ticket created.
  • Tests included.
  • PR Labeled with release/backport (if the PR is an urgent fix that needs to be backported)

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

1 issue found across 7 files

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="packages/nodes-base/nodes/Microsoft/Outlook/v2/helpers/utils.ts">

<violation number="1" location="packages/nodes-base/nodes/Microsoft/Outlook/v2/helpers/utils.ts:313">
P2: Rule violated: **Prefer Typeguards over Type casting**

Use a type annotation instead of `as` for type narrowing. The rule recommends preferring type annotations (`const x: A = y`) over casting (`const x = y as A`).</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

@n8n-assistant n8n-assistant bot added community Authored by a community member node/improvement New feature or request in linear Issue or PR has been created in Linear for internal review labels Jan 7, 2026
@n8n-assistant
Copy link
Contributor

n8n-assistant bot commented Jan 7, 2026

Hey @ByteEVM,

Thank you for your contribution. We appreciate the time and effort you’ve taken to submit this pull request.

Before we can proceed, please ensure the following:
• Tests are included for any new functionality, logic changes or bug fixes.
• The PR aligns with our contribution guidelines.

Regarding new nodes:
We no longer accept new nodes directly into the core codebase. Instead, we encourage contributors to follow our Community Node Submission Guide to publish nodes independently.

If your node integrates with an AI service that you own or represent, please email [email protected] and we will be happy to discuss the best approach.

About review timelines:
This PR has been added to our internal tracker as "GHC-6206". While we plan to review it, we are currently unable to provide an exact timeframe. Our goal is to begin reviews within a month, but this may change depending on team priorities. We will reach out when the review begins.

Thank you again for contributing to n8n.

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

1 issue found across 8 files (changes from recent commits).

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="packages/nodes-base/nodes/Microsoft/Outlook/v2/helpers/delete.ts">

<violation number="1" location="packages/nodes-base/nodes/Microsoft/Outlook/v2/helpers/delete.ts:19">
P2: Rule violated: **Prefer Typeguards over Type casting**

Avoid using `as` for type narrowing. Per the rule, prefer type annotations or extract a type guard for the options parameter shape. Consider using a type annotation instead:

```typescript
interface DeleteOptions {
  permanentDelete?: boolean;
}
const options = this.getNodeParameter('options', itemIndex, {}) as DeleteOptions;

Or better, if getNodeParameter generic allows, provide the type parameter directly.


</details>

<sub>Reply with feedback, questions, or to request a fix. Tag `@cubic-dev-ai` to re-run a review.</sub>

@ByteEVM
Copy link
Contributor Author

ByteEVM commented Jan 7, 2026

May @ShireenMissi review this? Thanks 😄

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

Labels

community Authored by a community member in linear Issue or PR has been created in Linear for internal review node/improvement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant