Issue:
[Analytics/Payouts] - add kafka events and clickhouse schema for payout analytics

add kafka events and clickhouse schema for payout analytics

Resolution:
<think>
PR Context:
- Title: feat(payout-events): add kafka events for payout analytics
- Merged: 2024-04-04T07:39:29Z
- Files changed: 9 files
- Commits: 15 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [ ] New feature
- [x] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
add kafka events and clickhouse schema for payout analytics

### Additional Changes

- [ ] This PR modifies the API contract
- [ ] This PR modifies the database schema
- [ ] This PR modifies application configuration/environment variables

<!--
Provide links to the files with
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat(payout-events): add kafka events for payout analytics (#4211)
Co-authored-by: hyperswitch-bot[b
Files to modify:


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

**crates/router/src/events.rs**
  Modify existing code

**crates/router/src/services/kafka.rs**
  Add:
    - function: pub::log_payout
    - function: pub::log_payout_delete
    - mod: private::payout

**crates/router/src/services/kafka/payout.rs**
  Add:
    - function: pub::from_storage
    - function: private::key
    - function: private::creation_timestamp
    - function: private::event_type
    - struct: pub::KafkaPayout
    - impl: impl KafkaPayout<'a>
    - impl: impl super::KafkaMessage for KafkaPayout<'a>