Commit bc79d18c authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Implemented keep alive and audit logging; minor improvements

parent d6ee290f
Loading
Loading
Loading
Loading
+1594 −1328

File changed.

Preview size limit exceeded, changes collapsed.

+16 −16
Original line number Diff line number Diff line
@@ -8,29 +8,29 @@
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "@fortawesome/fontawesome-svg-core": "^1.2.19",
    "@fortawesome/free-solid-svg-icons": "^5.9.0",
    "@fortawesome/vue-fontawesome": "^0.1.6",
    "bootstrap-vue": "^2.0.0-rc.27",
    "core-js": "^2.6.5",
    "@fortawesome/fontawesome-svg-core": "^1.2.25",
    "@fortawesome/free-solid-svg-icons": "^5.11.2",
    "@fortawesome/vue-fontawesome": "^0.1.8",
    "bootstrap-vue": "^2.1.0",
    "core-js": "^2.6.10",
    "debounce": "^1.2.0",
    "vue": "^2.6.10",
    "vuex": "^3.1.1"
    "vuex": "^3.1.2"
  },
  "devDependencies": {
    "@babel/polyfill": "^7.4.4",
    "@vue/cli-plugin-babel": "^3.8.0",
    "@vue/cli-plugin-eslint": "^3.8.0",
    "@vue/cli-service": "^3.8.0",
    "babel-eslint": "^10.0.1",
    "bootstrap": "^4.3.1",
    "@babel/polyfill": "^7.7.0",
    "@vue/cli-plugin-babel": "^3.12.1",
    "@vue/cli-plugin-eslint": "^3.12.1",
    "@vue/cli-service": "^3.12.1",
    "babel-eslint": "^10.0.3",
    "bootstrap": "^4.4.1",
    "eslint": "^5.16.0",
    "eslint-plugin-vue": "^5.0.0",
    "mutationobserver-shim": "^0.3.3",
    "node-sass": "^4.12.0",
    "popper.js": "^1.15.0",
    "portal-vue": "^2.1.4",
    "sass-loader": "^7.1.0",
    "node-sass": "^4.13.0",
    "popper.js": "^1.16.0",
    "portal-vue": "^2.1.6",
    "sass-loader": "^7.3.1",
    "vue-cli-plugin-bootstrap-vue": "^0.4.0",
    "vue-template-compiler": "^2.6.10"
  },
+2 −0
Original line number Diff line number Diff line
@@ -56,6 +56,8 @@ export default {
      .then(model => {
        this.$store.commit('updateHomePageModel', model);
      });

    setInterval(client.keepAlive, 60000);
  }
}
</script>
+20 −17
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ import permission from './data/permission';
import search from './data/search';
import openUserSearchResult from './data/openUserSearchResult';

const fetch = (mockData, time = 0) => {
const fetch = (mockData, time = 500) => {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve(mockData)
@@ -18,51 +18,54 @@ const fetch = (mockData, time = 0) => {

export default {
  fetchHomePageModel() {
    return fetch(home, 500);
    return fetch(home);
  },
  fetchGroupsTab() {
    return fetch(groups, 500);
    return fetch(groups);
  },
  fetchGroupsPanel() {
    return fetch(groupsPanel, 500);
    return fetch(groupsPanel);
  },
  fetchMembersPanel() {
    return fetch(membersPanel, 500);
    return fetch(membersPanel);
  },
  fetchPermissionsPanel() {
    return fetch(permissionsPanel, 500);
    return fetch(permissionsPanel);
  },
  addGroup() {
    return fetch(groupsPanel, 500);
    return fetch(groupsPanel);
  },
  renameGroup() {
    return fetch(groupsPanel, 500);
    return fetch(groupsPanel);
  },
  removeGroup() {
    return fetch(groupsPanel, 500);
    return fetch(groupsPanel);
  },
  searchUser() {
    return fetch(searchUser, 500);
    return fetch(searchUser);
  },
  addPermission() {
    return fetch(permissionsPanel, 500);
    return fetch(permissionsPanel);
  },
  getPermission() {
    return fetch(permission, 500);
    return fetch(permission);
  },
  removePermission() {
    return fetch(permissionsPanel, 500);
    return fetch(permissionsPanel);
  },
  addMember() {
    return fetch(membersPanel, 500);
    return fetch(membersPanel);
  },
  removeMember() {
    return fetch(membersPanel, 500);
    return fetch(membersPanel);
  },
  search() {
    return fetch(search, 500);
    return fetch(search);
  },
  openUserSearchResult() {
    return fetch(openUserSearchResult, 500);
    return fetch(openUserSearchResult);
  },
  setKeepAlive() {
    return fetch({});
  }
}
+18 −3
Original line number Diff line number Diff line
const BASE_API_URL = process.env.VUE_APP_API_BASE_URL;

function apiRequest(url, options) {
function apiRequest(url, options, showLoading = true) {
  if (showLoading) {
    loading(true);
  }
  return new Promise((resolve) => {
    fetch(url, options)
      .then(response => {
        loading(false);
        if ([200, 201, 204, 400].includes(response.status)) { // valid status codes
          if (response.status === 204) {
            resolve({});
          } else {
            resolve(response.json());
          }
        } else {
          response.json().then(jsonValue => dispatchApiErrorEvent(jsonValue));
        }
@@ -304,5 +310,14 @@ export default {
        'Accept': 'application/json',
      }
    });
  },
  keepAlive() {
    let url = BASE_API_URL + 'keepAlive';

    return apiRequest(url, {
      method: 'GET',
      cache: 'no-cache',
      credentials: 'include'
    }, false);
  }
};
Loading