Issue:
bug(auth_methods): Create auth methods is allowing auth methods with same type to be inserted multiple times

Currently create will accept and insert auth methods with same type and name, which shouldn't be possible.

Create should have checks for this and block these kind of requests.

Resolution:
<think>
PR Context:
- Title: fix(auth_methods): Add checks for duplicate `auth_method` in create API
- Merged: 2024-07-02T08:05:59Z
- Files changed: 3 files
- Commits: 6 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [x] Bugfix
- [ ] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
Currently create will accept and insert auth methods with same type and name, which shouldn't be possible. This PR fixes that.

### Additional Changes

- [ ] This PR modifies the API contract
- [ ] This PR modifies the database schema
- 
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** fix(auth_methods): Add checks for duplicate `auth_method` in create API (#5161)
Files to modify:


**crates/api_models/src/user.rs**
  Modify existing code

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

**crates/router/src/utils/user.rs**
  Add:
    - function: private::construct_public_and_private_db_configs
    - function: pub::parse_value