organization.ts 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import {organizationState} from "~/types/types";
  2. import * as _ from "lodash";
  3. export const state = () => ({
  4. name: '',
  5. product: '',
  6. modules: [],
  7. hasChildren: false,
  8. website: '',
  9. subDomain: '',
  10. parents: []
  11. })
  12. export const mutations = {
  13. setName(state:organizationState, name:string){
  14. state.name = name
  15. },
  16. setProduct(state:organizationState, product:string){
  17. state.product = product
  18. },
  19. setModules(state:organizationState, modules:Array<string>) {
  20. state.modules = modules
  21. },
  22. setHasChildren(state:organizationState, hasChildren:boolean) {
  23. state.hasChildren = hasChildren
  24. },
  25. setParents(state:organizationState, parents:Array<organizationState>) {
  26. state.parents = parents
  27. },
  28. setWebsite(state:organizationState, website:string) {
  29. state.website = website
  30. },
  31. setSubDomain(state:organizationState, subDomain:string) {
  32. state.subDomain = subDomain
  33. },
  34. addParent(state:organizationState, parent:organizationState) {
  35. state.parents.push(parent)
  36. }
  37. }
  38. export const actions = {
  39. setProfile(context:any, profile:any){
  40. context.commit('setName', profile.name)
  41. context.commit('setProduct', profile.product)
  42. context.commit('setWebsite', profile.website)
  43. context.commit('setSubDomain', profile.subDomain)
  44. context.commit('setModules', profile.modules)
  45. context.commit('setHasChildren', profile.hasChildren)
  46. _.each(profile.parents, parent => {
  47. const p:organizationState = {
  48. name: parent.name,
  49. website: parent.website,
  50. subDomain: parent.subDomain,
  51. parents: []
  52. }
  53. context.commit('addParent', p)
  54. });
  55. }
  56. }