# Mixins
## Current Architecture
Mixins are split into two layers:
1. **Pure helpers** (`src/helpers/`) - Framework-agnostic logic
2. **Vue mixins** (`src/mixins/`) - Vue-specific wrappers
### Why This Split?
- Helpers can be used anywhere (services, stores, utilities)
- No Vue dependencies in business logic
- Easier to test
- Ready for future migration to composables
### Usage Examples
**In Services** (use helpers directly):
```javascript
import { isDestinationTypeVoiceBox } from 'src/helpers/destination'
export function processCall(sipUri) {
if (isDestinationTypeVoiceBox(sipUri)) {
// ...
}
}
```
**In Options API Components** (use mixin):
```javascript
import destinationMixin from 'src/mixins/destination'
export default {
mixins: [destinationMixin],
methods: {
checkType() {
if (this.isDestinationTypeVoiceBox(sipUri)) {
// ...
}
}
}
}
```
**In Composition API with `
```
## Available Mixins
### destination.js
**Helpers**: `src/helpers/destination.js`
**Status**: Pure functions extracted
**Migration**: Import helpers directly in `
```
**After (`
```