import * as _ from 'lodash' import { baseOrganizationState, organizationState } from '~/types/interfaces' export const state = () => ({ id: null, name: '', product: '', modules: [], hasChildren: false, networks: [], website: '', subDomain: '', parents: [] }) export const mutations = { setId (state:organizationState, id:number) { state.id = id }, setName (state:organizationState, name:string) { state.name = name }, setProduct (state:organizationState, product:string) { state.product = product }, setModules (state:organizationState, modules:Array) { state.modules = modules }, setHasChildren (state:organizationState, hasChildren:boolean) { state.hasChildren = hasChildren }, setNetworks (state:organizationState, networks:Array) { state.networks = networks }, setParents (state:organizationState, parents:Array) { state.parents = parents }, setWebsite (state:organizationState, website:string) { state.website = website }, setSubDomain (state:organizationState, subDomain:string) { state.subDomain = subDomain }, addParent (state:organizationState, parent:organizationState) { state.parents.push(parent) } } export const actions = { setProfile (context:any, profile:any) { context.commit('setId', profile.id) context.commit('setName', profile.name) context.commit('setProduct', profile.product) context.commit('setWebsite', profile.website) context.commit('setSubDomain', profile.subDomain) context.commit('setModules', profile.modules) context.commit('setHasChildren', profile.hasChildren) context.commit('setNetworks', profile.networks) _.each(profile.parents, (parent) => { const p:baseOrganizationState = { id: parent.id, name: parent.name, website: parent.website, subDomain: parent.subDomain } context.commit('addParent', p) }) } }