# 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 (` ```