import ngModule from '../module';
import ModuleCard from 'salix/components/module-card';

class Controller extends ModuleCard {
    reload() {
        const filter = {
            include: [
                {
                    relation: 'user',
                    scope: {
                        fields: ['name', 'emailVerified'],
                        include: {
                            relation: 'emailUser',
                            scope: {
                                fields: ['email']
                            }
                        }
                    }
                }, {
                    relation: 'sip',
                    scope: {
                        fields: ['extension', 'secret']
                    }
                }, {
                    relation: 'department',
                    scope: {
                        include: {
                            relation: 'department'
                        }
                    }
                }
            ]
        };

        return Promise.all([
            this.$http.get(`Workers/${this.$params.id}`, {filter})
                .then(res => this.worker = res.data),
            this.$http.get(`Workers/${this.$params.id}/activeContract`)
                .then(res => this.hasWorkCenter = res.data?.workCenterFk)
        ]);
    }
}

ngModule.vnComponent('vnWorkerCard', {
    template: require('./index.html'),
    controller: Controller
});