Quellcode durchsuchen

add app data view, fix network status

pull/1/head
Jonathan Cobb vor 4 Jahren
Ursprung
Commit
68f5986170
6 geänderte Dateien mit 140 neuen und 184 gelöschten Zeilen
  1. +5
    -36
      src/_services/app.service.js
  2. +12
    -138
      src/_store/apps.module.js
  3. +2
    -1
      src/_store/index.js
  4. +2
    -4
      src/_store/networks.module.js
  5. +117
    -2
      src/account/AppDataViewPage.vue
  6. +2
    -3
      src/account/NetworkPage.vue

+ 5
- 36
src/_services/app.service.js Datei anzeigen

@@ -17,14 +17,7 @@ export const appService = {
disableAppSiteByUserId,

getAppDataByUserId,
enableAppDataByUserId,
disableAppDataByUserId,
deleteAppDataByUserId,

getAppSiteDataByUserId,
enableAppSiteDataByUserId,
disableAppSiteDataByUserId,
deleteAppSiteDataByUserId
getAppSiteDataByUserId
};

// MITM
@@ -75,35 +68,11 @@ function disableAppSiteByUserId(userId, appId, siteId, messages, errors) {
}

// Data by App
function getAppDataByUserId(userId, appId, messages, errors) {
return fetch(`${config.apiUrl}/users/${userId}/apps/${appId}/data`, util.getWithAuth()).then(util.handleCrudResponse(messages, errors));
}

function enableAppDataByUserId(userId, appId, datumId, messages, errors) {
return fetch(`${config.apiUrl}/users/${userId}/apps/${appId}/data/${datumId}/enable`, util.postWithAuth()).then(util.handleCrudResponse(messages, errors));
}

function disableAppDataByUserId(userId, appId, datumId, messages, errors) {
return fetch(`${config.apiUrl}/users/${userId}/apps/${appId}/data/${datumId}/disable`, util.postWithAuth()).then(util.handleCrudResponse(messages, errors));
}

function deleteAppDataByUserId(userId, appId, datumId, messages, errors) {
return fetch(`${config.apiUrl}/users/${userId}/apps/${appId}/data/${datumId}`, util.deleteWithAuth()).then(util.handleCrudResponse(messages, errors));
function getAppDataByUserId(userId, appId, viewId, query, messages, errors) {
return fetch(`${config.apiUrl}/users/${userId}/apps/${appId}/view/${viewId}`, util.postWithAuth(query)).then(util.handleCrudResponse(messages, errors));
}

// Data by App + Site
function getAppSiteDataByUserId(userId, appId, siteId, messages, errors) {
return fetch(`${config.apiUrl}/users/${userId}/apps/${appId}/sites/${siteId}/data`, util.getWithAuth()).then(util.handleCrudResponse(messages, errors));
}

function enableAppSiteDataByUserId(userId, appId, siteId, datumId, messages, errors) {
return fetch(`${config.apiUrl}/users/${userId}/apps/${appId}/sites/${siteId}/data/${datumId}/enable`, util.postWithAuth()).then(util.handleCrudResponse(messages, errors));
}

function disableAppSiteDataByUserId(userId, appId, siteId, datumId, messages, errors) {
return fetch(`${config.apiUrl}/users/${userId}/apps/${appId}/sites/${siteId}/data/${datumId}/disable`, util.postWithAuth()).then(util.handleCrudResponse(messages, errors));
}

function deleteAppSiteDataByUserId(userId, appId, siteId, messages, errors) {
return fetch(`${config.apiUrl}/users/${userId}/apps/${appId}/sites/${siteId}/data/${datumId}`, util.deleteWithAuth()).then(util.handleCrudResponse(messages, errors));
function getAppSiteDataByUserId(userId, appId, siteId, viewId, query, messages, errors) {
return fetch(`${config.apiUrl}/users/${userId}/apps/${appId}/sites/${siteId}/view/${viewId}`, util.postWithAuth(query)).then(util.handleCrudResponse(messages, errors));
}

+ 12
- 138
src/_store/apps.module.js Datei anzeigen

@@ -6,7 +6,7 @@ const state = {
enableMitm: false, disableMitm: false,
apps: false, app: false, enableApp: false, disableApp: false,
sites: false, site: false, enableSite: false, disableSite: false,
data: false, enableData: false, disableData: false, deleteData: false
appData: false
},
mitmEnabled: null,
error: null,
@@ -125,77 +125,22 @@ const actions = {
commit('resetAppDataSuccess');
},

getAppDataByUserId({ commit }, {userId, appId, messages, errors}) {
getAppDataByUserId({ commit }, {userId, appId, viewId, query, messages, errors}) {
commit('getAppDataByUserIdRequest');
appService.getAppDataByUserId(userId, appId, messages, errors)
appService.getAppDataByUserId(userId, appId, viewId, query, messages, errors)
.then(
appData => commit('getAppDataByUserIdSuccess', appData),
error => commit('getAppDataByUserIdFailure', error)
);
},

enableAppDataByUserId({ commit }, {userId, appId, datumId, messages, errors}) {
commit('enableAppDataByUserIdRequest');
appService.enableAppDataByUserId(userId, appId, datumId, messages, errors)
.then(
appData => commit('enableAppDataByUserIdSuccess', appData),
error => commit('enableAppDataByUserIdFailure', error)
);
},

disableAppDataByUserId({ commit }, {userId, appId, datumId, messages, errors}) {
commit('disableAppDataByUserIdRequest');
appService.disableAppDataByUserId(userId, appId, datumId, messages, errors)
.then(
appData => commit('disableAppDataByUserIdSuccess', appData),
error => commit('disableAppDataByUserIdFailure', error)
);
},

deleteAppDataByUserId({ commit }, {userId, appId, datumId, messages, errors}) {
commit('deleteAppDataByUserIdRequest');
appService.deleteAppDataByUserId(userId, appId, datumId, messages, errors)
.then(
appData => commit('deleteAppDataByUserIdSuccess', appData),
error => commit('deleteAppDataByUserIdFailure', error)
);
},

// App Site Data
getAppSiteDataByUserId({ commit }, {userId, appId, siteId, messages, errors}) {
getAppSiteDataByUserId({ commit }, {userId, appId, siteId, viewId, query, messages, errors}) {
commit('getAppSiteDataByUserIdRequest');
appService.getAppSiteDataByUserId(userId, appId, siteId, messages, errors)
appService.getAppSiteDataByUserId(userId, appId, siteId, viewId, query, messages, errors)
.then(
appData => commit('getAppSiteDataByUserIdSuccess', appData),
error => commit('getAppSiteDataByUserIdFailure', error)
);
},

enableAppSiteDataByUserId({ commit }, {userId, appId, siteId, datumId, messages, errors}) {
commit('enableAppSiteDataByUserIdRequest');
appService.enableAppSiteDataByUserId(userId, appId, siteId, datumId, messages, errors)
.then(
appData => commit('enableAppSiteDataByUserIdSuccess', appData),
error => commit('enableAppSiteDataByUserIdFailure', error)
);
},

disableAppSiteDataByUserId({ commit }, {userId, appId, siteId, datumId, messages, errors}) {
commit('disableAppSiteDataByUserIdRequest');
appService.disableAppSiteDataByUserId(userId, appId, siteId, datumId, messages, errors)
.then(
appData => commit('disableAppSiteDataByUserIdSuccess', appData),
error => commit('disableAppSiteDataByUserIdFailure', error)
);
},

deleteAppSiteDataByUserId({ commit }, {userId, appId, siteId, datumId, messages, errors}) {
commit('deleteAppSiteDataByUserIdRequest');
appService.deleteAppSiteDataByUserId(userId, appId, siteId, datumId, messages, errors)
.then(
appData => commit('deleteAppSiteDataByUserIdSuccess', appData),
error => commit('deleteAppSiteDataByUserIdFailure', error)
);
}

};
@@ -337,106 +282,35 @@ const mutations = {
},

resetAppDataSuccess(state) {
state.loading.data = false;
state.loading.appData = false;
state.appData = null;
},

// App Data
getAppDataByUserIdRequest(state) {
state.loading.data = true;
state.loading.appData = true;
},
getAppDataByUserIdSuccess(state, appData) {
state.loading.data = false;
state.loading.appData = false;
state.appData = appData;
},
getAppDataByUserIdFailure(state, error) {
state.loading.data = false;
state.error = error;
},

enableAppDataByUserIdRequest(state) {
state.loading.enableData = true;
},
enableAppDataByUserIdSuccess(state, appData) {
state.loading.enableData = false;
state.appData = appData;
},
enableAppDataByUserIdFailure(state, error) {
state.loading.enableData = false;
state.error = error;
},

disableAppDataByUserIdRequest(state) {
state.loading.disableData = true;
},
disableAppDataByUserIdSuccess(state, appData) {
state.loading.disableData = false;
state.appData = appData;
},
disableAppDataByUserIdFailure(state, error) {
state.loading.disableData = false;
state.error = error;
},

deleteAppDataByUserIdRequest(state) {
state.loading.deleteData = true;
},
deleteAppDataByUserIdSuccess(state, appData) {
state.loading.deleteData = false;
},
deleteAppDataByUserIdFailure(state, error) {
state.loading.deleteData = false;
state.loading.appData = false;
state.error = error;
},

// App Site Data
getAppSiteDataByUserIdRequest(state) {
state.loading.data = true;
state.loading.appData = true;
},
getAppSiteDataByUserIdSuccess(state, appData) {
state.loading.data = false;
state.loading.appData = false;
state.appData = appData;
},
getAppSiteDataByUserIdFailure(state, error) {
state.loading.data = false;
state.error = error;
},

enableAppSiteDataByUserIdRequest(state) {
state.loading.enableData = true;
},
enableAppSiteDataByUserIdSuccess(state, appData) {
state.loading.enableData = false;
state.appData = appData;
},
enableAppSiteDataByUserIdFailure(state, error) {
state.loading.enableData = false;
state.error = error;
},

disableAppSiteDataByUserIdRequest(state) {
state.loading.disableData = true;
},
disableAppSiteDataByUserIdSuccess(state, appData) {
state.loading.disableData = false;
state.appData = appData;
},
disableAppSiteDataByUserIdFailure(state, error) {
state.loading.disableData = false;
state.error = error;
},

deleteAppSiteDataByUserIdRequest(state) {
state.loading.deleteData = true;
},
deleteAppSiteDataByUserIdSuccess(state, appData) {
state.loading.deleteData = false;
},
deleteAppSiteDataByUserIdFailure(state, error) {
state.loading.deleteData = false;
state.loading.appData = false;
state.error = error;
}

};

const getters = {


+ 2
- 1
src/_store/index.js Datei anzeigen

@@ -62,7 +62,8 @@ String.prototype.parseDateMessage = function (millis, messages) {
const context = {
YYYY: date.getFullYear(),
MMM: messages['label_date_month_'+date.getMonth()],
M: messages['label_date_month_short_'+date.getMonth()],
MM: messages['label_date_month_short_'+date.getMonth()],
M: messages['label_date_month_number_'+date.getMonth()],
EEE: messages['label_date_day_'+date.getDay()],
E: messages['label_date_day_short_'+date.getDay()],
d: date.getDate(),


+ 2
- 4
src/_store/networks.module.js Datei anzeigen

@@ -14,7 +14,7 @@ const state = {
network: null,
nearestRegions: null,
newNodeNotification: null,
networkStatuses: {},
networkStatuses: [],
networkNodes: null,
deletedNetwork: null,
networkKeysRequested: null,
@@ -178,9 +178,7 @@ const mutations = {
},
getStatusesByNetworkIdSuccess(state, {networkId, statuses}) {
state.loading.networkStatuses = false;
const newStatuses = {};
newStatuses[networkId] = statuses;
state.networkStatuses = Object.assign({}, state.networkStatuses, newStatuses);
state.networkStatuses = statuses;
},
getStatusesByNetworkIdFailure(state, {networkId, error}) {
state.loading.networkStatuses = false;


+ 117
- 2
src/account/AppDataViewPage.vue Datei anzeigen

@@ -1,18 +1,133 @@
<template>
<div>
App Data View Page

<table v-if="app && viewDetails && viewDetails.fields && viewDetails.fields.length && viewDetails.fields.length > 0" border="1">
<thead>
<tr>
<th v-for="field in viewDetails.fields">{{messages['app_'+app.name+'_field_'+field]}}</th>
</tr>
</thead>
<tbody v-if="appData && appData.results && appData.results.length && appData.results.length > 0">
<tr v-for="row in appData.results">
<td v-for="field in viewDetails.fields">
<span v-if="field === 'expiration'">
<span v-if="row[field.name] !== null && row[field.name] > 0">{{messages.date_format_app_data_expiration.parseDateMessage(row[field.name], messages)}}</span>
<span v-else>{{messages.message_app_data_no_expiration}}</span>
</span>
<span v-else-if="field === 'ctime' || field === 'mtime'">
{{messages.date_format_app_data_epoch_time.parseDateMessage(row[field.name], messages)}}
</span>
<span v-else>{{row[field.name]}}</span>
</td>
</tr>
<tr>
<td align="left">
<span v-if="this.pageNumber > 1">{{messages.message_app_data_previous_page}}</span>
</td>
<td align="right">
<span v-if="hasNextPage()">{{messages.message_app_data_next_page}}</span>
</td>
</tr>
</tbody>
<tbody v-else>
<tr>
<td :colspan="getTotalColumns()">{{messages.message_no_data}}</td>
</tr>
</tbody>
</table>

</div>
</template>

<script>
import { mapState, mapActions } from 'vuex'
import { mapState, mapActions, mapGetters } from 'vuex'

export default {
data () {
return {
user: util.currentUser(),
appId: null,
siteId: null,
viewId: null,
viewDetails: null,
query: {
pageNumber: 1,
pageSize: 5
}
};
},
computed: {
...mapState('apps', ['app', 'site', 'appData']),
...mapState('system', ['messages'])
},
created () {
this.appId = this.$route.params.app;
this.siteId = this.$route.params.site;
this.viewId = this.$route.params.view;
this.getAppByUserId({
userId: this.user.uuid,
appId: this.appId,
messages: this.messages,
errors: this.errors
});
if (this.siteId) {
this.getAppSiteByUserId({
userId: this.user.uuid,
appId: this.appId,
siteId: this.siteId,
messages: this.messages,
errors: this.errors
});
}
},
methods: {
...mapActions('apps', [
'getAppByUserId', 'getAppSiteByUserId', 'getAppDataByUserId', 'getAppSiteDataByUserId'
]),
...mapGetters('apps', ['loading']),
hasNextPage () {
return this.appData.totalCount && (this.appData.totalCount > (this.pageNumber * this.pageSize));
},
getTotalColumns () {
let cols = this.viewDetails.fields.length;
if (this.viewDetails.actions && this.viewDetails.actions.length) cols += this.viewDetails.actions.length;
return cols;
}
},
watch: {
app (a) {
if (a && a.dataConfig && a.dataConfig.views && a.dataConfig.views.length && a.dataConfig.views.length > 0) {
const allViews = a.dataConfig.views;
for (let i=0; i<allViews.length; i++) {
if (allViews[i].name === this.viewId) {
this.viewDetails = allViews[i];
if (this.siteId) {
this.getAppSiteDataByUserId({
userId: this.user.name,
appId: this.appId,
siteId: this.siteId,
viewId: this.viewId,
query: this.query,
messages: this.messages,
errors: this.errors
});
} else {
this.getAppDataByUserId({
userId: this.user.name,
appId: this.appId,
siteId: this.siteId,
viewId: this.viewId,
query: this.query,
messages: this.messages,
errors: this.errors
});
}
return;
}
}
console.warn('watch.app: view not found: '+this.viewId);
}
}
}
};
</script>

+ 2
- 3
src/account/NetworkPage.vue Datei anzeigen

@@ -206,9 +206,9 @@
// console.log('watch.networkNodes: received: '+JSON.stringify(nodes));
},
networkStatuses (stats) {
if (stats && stats.length && stats.length > 0) {
if (this.network && stats && stats.length && stats.length > 0) {
for (let i=0; i<stats.length; i++) {
if (stats[i].network === this.networkId) {
if (stats[i].network === this.network.uuid) {
this.stats = stats[i];
if (this.stats.percent === 100) {
clearInterval(this.refresher);
@@ -221,7 +221,6 @@
}
},
deletedNetwork (network) {
console.log('watch.deletedNetwork: '+JSON.stringify(network));
if (network && (network.name === this.networkId || network.uuid === this.networkId)) {
this.$router.replace({path: '/bubbles'});
}


Laden…
Abbrechen
Speichern