diff --git a/app/ayanova/src/api/apimeta.js b/app/ayanova/src/api/apimeta.js
new file mode 100644
index 00000000..c7fc85bf
--- /dev/null
+++ b/app/ayanova/src/api/apimeta.js
@@ -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);
+ });
+ });
+ }
+};
diff --git a/app/ayanova/src/api/apiutil.js b/app/ayanova/src/api/apiutil.js
index 6c815fdc..411e44d8 100644
--- a/app/ayanova/src/api/apiutil.js
+++ b/app/ayanova/src/api/apiutil.js
@@ -51,6 +51,14 @@ export default {
body: JSON.stringify(data)
};
},
+ fetch() {
+ /* GET WITH AUTH */
+ return {
+ method: "get",
+ mode: "cors",
+ headers: this.postAuthorizedHeaders()
+ };
+ },
APIUrl(apiPath) {
if ("" == store.state.apiUrl) {
//construct the api url and store it
diff --git a/app/ayanova/src/views/About.vue b/app/ayanova/src/views/About.vue
index f85d522a..f0c8f03f 100644
--- a/app/ayanova/src/views/About.vue
+++ b/app/ayanova/src/views/About.vue
@@ -2,5 +2,102 @@
About AyaNova
+
+ Server
+
+
+ API version
+ {{ serverInfo.serverVersion }}
+
+
+
+
+ DB Schema version
+ {{ serverInfo.dbSchemaVersion }}
+
+
+
+
+ Server local time
+ {{ serverInfo.serverLocalTime }}
+
+
+
+
+ Server timezone
+ {{ serverInfo.serverTimeZone }}
+
+
+
+
+
+ License
+
+
+ Licensed to
+ {{ serverInfo.license.license.licensedTo }}
+
+
+
+
+ DB instance ID
+ {{ serverInfo.license.license.dbId }}
+
+
+
+
+ Key serial
+ {{ serverInfo.license.license.keySerial }}
+
+
+
+
+ License expiration
+ {{ serverInfo.license.license.licenseExpiration }}
+
+
+
+
+ Maintenance expiration
+ {{ serverInfo.license.license.maintenanceExpiration }}
+
+
+
+
+ Licensed features
+ {{ serverInfo.license.license.features}}
+
+
+
+ {{ serverInfo }}
+
+
+
+
diff --git a/server/AyaNova/Controllers/ApiRootController.cs b/server/AyaNova/Controllers/ApiRootController.cs
index 0ec5c834..2ed19b10 100644
--- a/server/AyaNova/Controllers/ApiRootController.cs
+++ b/server/AyaNova/Controllers/ApiRootController.cs
@@ -71,6 +71,28 @@ namespace AyaNova.Api.Controllers
}
+ ///
+ /// Get API server info for general display
+ ///
+ /// Required roles: Any
+ ///
+ ///
+ /// API server info
+ [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)
///