Issue: bug(authn): Throw 401 if cookies are not found

Currently BE is throwing 400 if cookies are not found and this is breaking FE if token is present in local storage but not in cookies. 

If 401 is thrown, FE will remove the token from the local storage automatically.

Resolution: <think>
PR Context:
- Title: refactor(users): Use domain email type in user DB functions
- Merged: 2024-11-29T13:37:38Z
- Files changed: 12 files
- Commits: 5 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [x] Bugfix
- [ ] New feature
- [ ] Enhancement
- [x] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
This PR does 3 things.
1. Throw 401 if cookies are not found in request or if JWT is not found in cookies.
2. Cache role info only if the ttl is greater than or equal to 0.
3. Use `UserEmail` type in DB functions.

### Additional Changes
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** refactor(users): Use domain email type in user DB functions (#6699)
Files to modify:


**crates/hyperswitch_domain_models/src/errors/api_error_response.rs**
  Modify existing code

**crates/router/src/compatibility/stripe/errors.rs**
  Modify existing code

**crates/router/src/core/user.rs**
  Modify existing code

**crates/router/src/core/user_role.rs**
  Modify existing code

**crates/router/src/db/kafka_store.rs**
  Modify existing code

**crates/router/src/db/user.rs**
  Modify existing code

**crates/router/src/services/authentication.rs**
  Modify existing code

**crates/router/src/services/authentication/cookies.rs**
  Modify existing code

**crates/router/src/services/authorization.rs**
  Modify existing code

**crates/router/src/services/email/types.rs**
  Modify existing code

**crates/router/src/types/domain/user.rs**
  Add:
    - function: pub::get_inner

**crates/router/src/utils/user.rs**
  Modify existing code