summaryrefslogtreecommitdiffstats
path: root/api4
diff options
context:
space:
mode:
Diffstat (limited to 'api4')
-rw-r--r--api4/system.go10
-rw-r--r--api4/system_test.go7
2 files changed, 16 insertions, 1 deletions
diff --git a/api4/system.go b/api4/system.go
index 7e860ba76..1f4589bf5 100644
--- a/api4/system.go
+++ b/api4/system.go
@@ -231,6 +231,14 @@ func getClientLicense(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
+ var clientLicense map[string]string
+
+ if app.SessionHasPermissionTo(c.Session, model.PERMISSION_MANAGE_SYSTEM) {
+ clientLicense = utils.ClientLicense
+ } else {
+ clientLicense = utils.GetSanitizedClientLicense()
+ }
+
w.Header().Set(model.HEADER_ETAG_SERVER, etag)
- w.Write([]byte(model.MapToJson(utils.GetSanitizedClientLicense())))
+ w.Write([]byte(model.MapToJson(clientLicense)))
}
diff --git a/api4/system_test.go b/api4/system_test.go
index ba30dd1eb..850705040 100644
--- a/api4/system_test.go
+++ b/api4/system_test.go
@@ -180,6 +180,13 @@ func TestGetOldClientLicense(t *testing.T) {
if _, err := Client.DoApiGet("/license/client?format=junk", ""); err == nil || err.StatusCode != http.StatusBadRequest {
t.Fatal("should have errored with 400")
}
+
+ license, resp = th.SystemAdminClient.GetOldClientLicense("")
+ CheckNoError(t, resp)
+
+ if len(license["IsLicensed"]) == 0 {
+ t.Fatal("license not returned correctly")
+ }
}
func TestGetAudits(t *testing.T) {