summaryrefslogtreecommitdiffstats
path: root/model/scheme.go
diff options
context:
space:
mode:
Diffstat (limited to 'model/scheme.go')
-rw-r--r--model/scheme.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/model/scheme.go b/model/scheme.go
index 959b80c24..2247717eb 100644
--- a/model/scheme.go
+++ b/model/scheme.go
@@ -69,6 +69,11 @@ func (sc *SchemeConveyor) Scheme() *Scheme {
}
}
+type SchemeRoles struct {
+ SchemeAdmin bool `json:"scheme_admin"`
+ SchemeUser bool `json:"scheme_user"`
+}
+
func (scheme *Scheme) ToJson() string {
b, _ := json.Marshal(scheme)
return string(b)
@@ -190,3 +195,14 @@ func IsValidSchemeName(name string) bool {
re := regexp.MustCompile(fmt.Sprintf("^[a-z0-9_]{0,%d}$", SCHEME_NAME_MAX_LENGTH))
return re.MatchString(name)
}
+
+func (schemeRoles *SchemeRoles) ToJson() string {
+ b, _ := json.Marshal(schemeRoles)
+ return string(b)
+}
+
+func SchemeRolesFromJson(data io.Reader) *SchemeRoles {
+ var schemeRoles *SchemeRoles
+ json.NewDecoder(data).Decode(&schemeRoles)
+ return schemeRoles
+}