text: /*
   * Copyright 2019 Verapi Inc
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  /* eslint-disable */
  import api from '@/api';
  
  const state = {
    items: [],
    lastUpdatedAt: 0,
  };
  
  const getters = {};
  
  const actions = {
    getSubjectPermissions: ({ commit }, { uuid, refresh = false  }) => {
      const { lastUpdatedAt } = state;
      if (lastUpdatedAt > 0 && !refresh ) {
        return false;
      }
      api.getSubjectPermissions(uuid)
      .then((response) => {
        if (response && response.data) {
          commit('setSubjectPermissions', response.data);
        }
      })
      .catch((error) => {
        if (error.status === 404) {
          commit('setSubjectPermissions', []);
        }
      });
    },
  };
  
  const mutations = {
    setSubjectPermissions: (state, subjectPermissions) => {
      state.items = subjectPermissions;
      state.lastUpdatedAt = (new Date()).getTime();
    },
  };
  
  export default {
    namespaced: true,
    state,
    getters,
    actions,
    mutations,
  };
  