PromucFlow_constructor/app
Nilansh Bansal b6b00d077a
feat: Adding Tenant Information to Redis Cache for quick fetch (#33641)
## Description

The tenant is fetched multiple times across the appsmith codebase but is
rarely updated (from the admin settings). Every time a fetch call to the
database is costly both in terms of resources and time taken.
The consolidated api also makes a call to fetch the tenant and return to
the client. To improve the performance of fetching the tenant
information, we are moving the tenant information to redis cache for
quicker fetch.
This will improve the performance of the consolidated api and also
reduce the time taken by all the different functionalities within the
backend codebase which depend on tenant to process further.

> The old PR implementation
https://github.com/appsmithorg/appsmith/pull/33309 had to be reverted
due to the tenant GAC permissions not in sync between database and
redis. RCA
[ref](https://www.notion.so/appsmith/Reversion-for-Tenant-Caching-implementation-after-merging-to-release-cd720b9959e4413f98decb884c375ad2).
This PR uses the same branch as the old PR and builds the pending
functionalities to complete the implementation.

**Counterpart EE PR**:
https://github.com/appsmithorg/appsmith-ee/pull/4275

**TL;DR**
Adds tenant information `tenantService.getDefaultTenant()` to redis.

Fixes #33083, #33504,
https://github.com/appsmithorg/appsmith/issues/33578
## Automation

/ok-to-test tags="@tag.Settings"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9253953003>
> Commit: 7b4bf8d6b0b6273988c71ff37b615f81e36f03f4
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9253953003&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->












## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No

---------

Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
2024-05-28 08:50:16 +05:30
..
client chore: Remove @JsonView on hasExpired method (#33765) 2024-05-28 07:31:25 +05:30
server feat: Adding Tenant Information to Redis Cache for quick fetch (#33641) 2024-05-28 08:50:16 +05:30
util