From 14e638b2ed75c5bcdc9d1b1561ffbad0edd6f5cc Mon Sep 17 00:00:00 2001 From: yaziming Date: Sat, 23 May 2020 12:03:34 +0800 Subject: [PATCH] Add ShouldBindMulti and generate vendor --- backend/model/setting.go | 45 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 backend/model/setting.go diff --git a/backend/model/setting.go b/backend/model/setting.go new file mode 100644 index 00000000..3b546f68 --- /dev/null +++ b/backend/model/setting.go @@ -0,0 +1,45 @@ +package model + +import ( + "crawlab/database" + "github.com/globalsign/mgo/bson" + "time" +) + +type Setting struct { + Keyword string + Document bson.Raw +} + +func GetRawSetting(keyword string, pointer interface{}) error { + s, col := database.GetCol("settings") + defer s.Close() + var setting Setting + err := col.Find(bson.M{"keyword": keyword}).One(&setting) + if err != nil { + return err + } + return setting.Document.Unmarshal(pointer) +} + +type DocumentMeta struct { + DocumentVersion int + DocStructVersion int + UpdateTime time.Time + CreateTime time.Time + DeleteTime time.Time +} + +//demo +type SecuritySetting struct { + EnableRegister bool + EnableInvitation bool + DocumentMeta `bson:"inline" json:"inline"` +} + +func GetSecuritySetting() (SecuritySetting, error) { + var app SecuritySetting + err := GetRawSetting("security", &app) + return app, err + +}