organization.ts 1.9 KB

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