This commit is contained in:
19
app/ayanova/src/api/apimeta.js
Normal file
19
app/ayanova/src/api/apimeta.js
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
/* xeslint-disable */
|
||||||
|
import apiUtil from "./apiutil";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
fetchAPIInfo() {
|
||||||
|
return new Promise(function(resolve, reject) {
|
||||||
|
//step 2: get it
|
||||||
|
fetch(apiUtil.APIUrl("ServerInfo"), apiUtil.fetch())
|
||||||
|
.then(apiUtil.status)
|
||||||
|
.then(apiUtil.json)
|
||||||
|
.then(response => {
|
||||||
|
resolve(response);
|
||||||
|
})
|
||||||
|
.catch(function(error) {
|
||||||
|
reject(error);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -51,6 +51,14 @@ export default {
|
|||||||
body: JSON.stringify(data)
|
body: JSON.stringify(data)
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
fetch() {
|
||||||
|
/* GET WITH AUTH */
|
||||||
|
return {
|
||||||
|
method: "get",
|
||||||
|
mode: "cors",
|
||||||
|
headers: this.postAuthorizedHeaders()
|
||||||
|
};
|
||||||
|
},
|
||||||
APIUrl(apiPath) {
|
APIUrl(apiPath) {
|
||||||
if ("" == store.state.apiUrl) {
|
if ("" == store.state.apiUrl) {
|
||||||
//construct the api url and store it
|
//construct the api url and store it
|
||||||
|
|||||||
@@ -2,5 +2,102 @@
|
|||||||
<div class="about">
|
<div class="about">
|
||||||
<v-img :src="require('../assets/bw-logo.svg')" class="my-3" contain height="200"></v-img>
|
<v-img :src="require('../assets/bw-logo.svg')" class="my-3" contain height="200"></v-img>
|
||||||
<h1>About AyaNova</h1>
|
<h1>About AyaNova</h1>
|
||||||
|
<v-list two-line subheader>
|
||||||
|
<v-subheader>Server</v-subheader>
|
||||||
|
<v-list-tile avatar>
|
||||||
|
<v-list-tile-content>
|
||||||
|
<v-list-tile-title>API version</v-list-tile-title>
|
||||||
|
<v-list-tile-sub-title>{{ serverInfo.serverVersion }}</v-list-tile-sub-title>
|
||||||
|
</v-list-tile-content>
|
||||||
|
</v-list-tile>
|
||||||
|
<v-list-tile avatar>
|
||||||
|
<v-list-tile-content>
|
||||||
|
<v-list-tile-title>DB Schema version</v-list-tile-title>
|
||||||
|
<v-list-tile-sub-title>{{ serverInfo.dbSchemaVersion }}</v-list-tile-sub-title>
|
||||||
|
</v-list-tile-content>
|
||||||
|
</v-list-tile>
|
||||||
|
<v-list-tile avatar>
|
||||||
|
<v-list-tile-content>
|
||||||
|
<v-list-tile-title>Server local time</v-list-tile-title>
|
||||||
|
<v-list-tile-sub-title>{{ serverInfo.serverLocalTime }}</v-list-tile-sub-title>
|
||||||
|
</v-list-tile-content>
|
||||||
|
</v-list-tile>
|
||||||
|
<v-list-tile avatar>
|
||||||
|
<v-list-tile-content>
|
||||||
|
<v-list-tile-title>Server timezone</v-list-tile-title>
|
||||||
|
<v-list-tile-sub-title>{{ serverInfo.serverTimeZone }}</v-list-tile-sub-title>
|
||||||
|
</v-list-tile-content>
|
||||||
|
</v-list-tile>
|
||||||
|
</v-list>
|
||||||
|
<v-divider></v-divider>
|
||||||
|
<v-list two-line subheader>
|
||||||
|
<v-subheader>License</v-subheader>
|
||||||
|
<v-list-tile avatar>
|
||||||
|
<v-list-tile-content>
|
||||||
|
<v-list-tile-title>Licensed to</v-list-tile-title>
|
||||||
|
<v-list-tile-sub-title>{{ serverInfo.license.license.licensedTo }}</v-list-tile-sub-title>
|
||||||
|
</v-list-tile-content>
|
||||||
|
</v-list-tile>
|
||||||
|
<v-list-tile avatar>
|
||||||
|
<v-list-tile-content>
|
||||||
|
<v-list-tile-title>DB instance ID</v-list-tile-title>
|
||||||
|
<v-list-tile-sub-title>{{ serverInfo.license.license.dbId }}</v-list-tile-sub-title>
|
||||||
|
</v-list-tile-content>
|
||||||
|
</v-list-tile>
|
||||||
|
<v-list-tile avatar>
|
||||||
|
<v-list-tile-content>
|
||||||
|
<v-list-tile-title>Key serial</v-list-tile-title>
|
||||||
|
<v-list-tile-sub-title>{{ serverInfo.license.license.keySerial }}</v-list-tile-sub-title>
|
||||||
|
</v-list-tile-content>
|
||||||
|
</v-list-tile>
|
||||||
|
<v-list-tile avatar>
|
||||||
|
<v-list-tile-content>
|
||||||
|
<v-list-tile-title>License expiration</v-list-tile-title>
|
||||||
|
<v-list-tile-sub-title>{{ serverInfo.license.license.licenseExpiration }}</v-list-tile-sub-title>
|
||||||
|
</v-list-tile-content>
|
||||||
|
</v-list-tile>
|
||||||
|
<v-list-tile avatar>
|
||||||
|
<v-list-tile-content>
|
||||||
|
<v-list-tile-title>Maintenance expiration</v-list-tile-title>
|
||||||
|
<v-list-tile-sub-title>{{ serverInfo.license.license.maintenanceExpiration }}</v-list-tile-sub-title>
|
||||||
|
</v-list-tile-content>
|
||||||
|
</v-list-tile>
|
||||||
|
<v-list-tile avatar>
|
||||||
|
<v-list-tile-content>
|
||||||
|
<v-list-tile-title>Licensed features</v-list-tile-title>
|
||||||
|
<v-list-tile-sub-title>{{ serverInfo.license.license.features}}</v-list-tile-sub-title>
|
||||||
|
</v-list-tile-content>
|
||||||
|
</v-list-tile>
|
||||||
|
</v-list>
|
||||||
|
<h4>{{ serverInfo }}</h4>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
/* xeslint-disable */
|
||||||
|
import apiMeta from "../api/apimeta";
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
serverInfo: {}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
apiMeta
|
||||||
|
.fetchAPIInfo()
|
||||||
|
.then(response => {
|
||||||
|
this.serverInfo = response.data;
|
||||||
|
})
|
||||||
|
.catch(function(error) {
|
||||||
|
/* xeslint-disable-next-line */
|
||||||
|
//console.log(error);
|
||||||
|
//TODO: turn this into a general error handling method for every form
|
||||||
|
//probablyo an error component with error message slot to fill in
|
||||||
|
alert(error);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -71,6 +71,28 @@ namespace AyaNova.Api.Controllers
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get API server info for general display
|
||||||
|
///
|
||||||
|
/// Required roles: Any
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>API server info</returns>
|
||||||
|
[HttpGet("ServerInfo")]
|
||||||
|
public ActionResult ServerInfo()
|
||||||
|
{
|
||||||
|
return Ok(new
|
||||||
|
{
|
||||||
|
data = new
|
||||||
|
{
|
||||||
|
ServerVersion = AyaNovaVersion.FullNameAndVersion,
|
||||||
|
DBSchemaVersion = AySchema.currentSchema,
|
||||||
|
ServerLocalTime = DateUtil.ServerDateTimeString(System.DateTime.UtcNow),
|
||||||
|
ServerTimeZone = TimeZoneInfo.Local.Id,
|
||||||
|
License = AyaNova.Core.License.LicenseInfoAsJson
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
#if (DEBUG)
|
#if (DEBUG)
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user