func (a *SessionController) GetSession(r *knot.WebContext) interface{} { var filter *dbox.Filter r.Config.OutputType = knot.OutputJson _ = a.InitialSetDatabase() payload := map[string]interface{}{} err := r.GetForms(&payload) if err != nil { return helper.CreateResult(false, nil, err.Error()) } if strings.Contains(toolkit.TypeName(payload["find"]), "float") { payload["find"] = toolkit.ToInt(payload["find"], toolkit.RoundingAuto) } tSession := new(acl.Session) if find := toolkit.ToString(payload["find"]); find != "" { filter = new(dbox.Filter) filter = dbox.Contains("loginid", find) } take := toolkit.ToInt(payload["take"], toolkit.RoundingAuto) skip := toolkit.ToInt(payload["skip"], toolkit.RoundingAuto) // c, err := acl.Find(tAccess, filter, toolkit.M{}.Set("take", take).Set("skip", skip)) // c, err := acl.Find(tSession, nil, toolkit.M{}.Set("take", payload["take"].(int)).Set("skip", payload["skip"].(int))) c, err := acl.Find(tSession, filter, toolkit.M{}.Set("take", take).Set("skip", skip)) if err != nil { return helper.CreateResult(true, nil, err.Error()) } data := toolkit.M{} arrm := make([]toolkit.M, 0, 0) err = c.Fetch(&arrm, 0, false) for i, val := range arrm { arrm[i].Set("duration", time.Since(val["created"].(time.Time)).Hours()) arrm[i].Set("status", "ACTIVE") if val["expired"].(time.Time).Before(time.Now().UTC()) { arrm[i].Set("duration", val["expired"].(time.Time).Sub(val["created"].(time.Time)).Hours()) arrm[i].Set("status", "EXPIRED") } } c.Close() c, err = acl.Find(tSession, filter, nil) data.Set("Datas", arrm) data.Set("total", c.Count()) if err != nil { return helper.CreateResult(true, nil, err.Error()) } else { return helper.CreateResult(true, data, "") } }
func (a *SessionController) GetSession(r *knot.WebContext) interface{} { r.Config.OutputType = knot.OutputJson _ = a.InitialSetDatabase() // payload := map[string]interface{}{} // err := r.GetPayload(&payload) // if err != nil { // return helper.CreateResult(false, nil, err.Error()) // } tSession := new(acl.Session) data := toolkit.M{} arrm := make([]toolkit.M, 0, 0) // c, err := acl.Find(tSession, nil, toolkit.M{}.Set("take", payload["take"].(int)).Set("skip", payload["skip"].(int))) c, err := acl.Find(tSession, nil, toolkit.M{}.Set("take", 10).Set("skip", 0)) if err != nil { return helper.CreateResult(true, nil, err.Error()) } err = c.Fetch(&arrm, 0, false) for i, val := range arrm { tUser := new(acl.User) e := acl.FindByID(tUser, toolkit.ToString(val.Get("userid", ""))) if e != nil { continue } arrm[i].Set("username", tUser.LoginID) arrm[i].Set("duration", time.Since(val["created"].(time.Time)).Hours()) arrm[i].Set("status", "ACTIVE") if val["expired"].(time.Time).Before(time.Now().UTC()) { arrm[i].Set("duration", val["expired"].(time.Time).Sub(val["created"].(time.Time)).Hours()) arrm[i].Set("status", "EXPIRED") } arrm[i].Set("username", tUser.LoginID) // toolkit.Printf("Debug date : %v : %v\n", toolkit.TypeName(val["created"]), val["created"].(time.Time)) } c.Close() c, err = acl.Find(tSession, nil, nil) data.Set("Datas", arrm) data.Set("total", c.Count()) // data.Set("total", 100) if err != nil { return helper.CreateResult(true, nil, err.Error()) } else { return helper.CreateResult(true, data, "") } }
func (a *AdministrationController) GetAccess(r *knot.WebContext) interface{} { var filter *dbox.Filter r.Config.OutputType = knot.OutputJson a.InitialSetDatabase() payload := map[string]interface{}{} err := r.GetForms(&payload) if strings.Contains(toolkit.TypeName(payload["find"]), "float") { payload["find"] = toolkit.ToInt(payload["find"], toolkit.RoundingAuto) } tAccess := new(acl.Access) if find := toolkit.ToString(payload["find"]); find != "" { filter = new(dbox.Filter) filter = dbox.Or(dbox.Contains("id", find), dbox.Contains("title", find), dbox.Contains("group1", find), dbox.Contains("group2", find), dbox.Contains("group3", find), dbox.Contains("specialaccess1", find), dbox.Contains("specialaccess2", find), dbox.Contains("specialaccess3", find), dbox.Contains("specialaccess4", find)) } data := toolkit.M{} arrm := make([]toolkit.M, 0, 0) take := toolkit.ToInt(payload["take"], toolkit.RoundingAuto) skip := toolkit.ToInt(payload["skip"], toolkit.RoundingAuto) c, err := acl.Find(tAccess, filter, toolkit.M{}.Set("take", take).Set("skip", skip)) if err == nil { err = c.Fetch(&arrm, 0, false) } c.Close() c, err = acl.Find(tAccess, filter, nil) data.Set("Datas", arrm) data.Set("total", c.Count()) if err != nil { return helper.CreateResult(true, nil, err.Error()) } else { return helper.CreateResult(true, data, "") } }
func (l *LoginController) PrepareDefaultUser() (err error) { username := colonycore.GetConfig("default_username", "").(string) password := colonycore.GetConfig("default_password", "").(string) user := new(acl.User) filter := dbox.Contains("loginid", username) c, err := acl.Find(user, filter, nil) if err != nil { return } if c.Count() == 0 { user.ID = toolkit.RandomString(32) user.LoginID = username user.FullName = username user.Password = password user.Enable = true err = acl.Save(user) if err != nil { return } err = acl.ChangePassword(user.ID, password) if err != nil { return } fmt.Printf(`Default user "%s" with standard password has been created%s`, username, "\n") } return }
func (a *UserController) GetUser(r *knot.WebContext) interface{} { var filter *dbox.Filter r.Config.OutputType = knot.OutputJson _ = a.InitialSetDatabase() payload := map[string]interface{}{} err := r.GetForms(&payload) if err != nil { return helper.CreateResult(false, nil, err.Error()) } if strings.Contains(toolkit.TypeName(payload["find"]), "float") { payload["find"] = toolkit.ToInt(payload["find"], toolkit.RoundingAuto) } tUser := new(acl.User) if find := toolkit.ToString(payload["find"]); find != "" { filter = new(dbox.Filter) filter = dbox.Or(dbox.Contains("id", find), dbox.Contains("fullname", find), dbox.Contains("email", find)) } take := toolkit.ToInt(payload["take"], toolkit.RoundingAuto) skip := toolkit.ToInt(payload["skip"], toolkit.RoundingAuto) c, err := acl.Find(tUser, filter, toolkit.M{}.Set("take", take).Set("skip", skip)) if err != nil { return helper.CreateResult(true, nil, err.Error()) } data := toolkit.M{} arrm := make([]toolkit.M, 0, 0) err = c.Fetch(&arrm, 0, false) c.Close() c, err = acl.Find(tUser, filter, nil) data.Set("Datas", arrm) data.Set("total", c.Count()) if err != nil { return helper.CreateResult(true, nil, err.Error()) } else { return helper.CreateResult(true, data, "") } }
func (a *AdministrationController) Getaccessdropdown(r *knot.WebContext) interface{} { r.Config.OutputType = knot.OutputJson a.InitialSetDatabase() tAccess := new(acl.Access) arrm := make([]toolkit.M, 0, 0) c, err := acl.Find(tAccess, nil, toolkit.M{}.Set("take", 0)) if err == nil { err = c.Fetch(&arrm, 0, false) } if err != nil { return helper.CreateResult(true, nil, err.Error()) } else { return helper.CreateResult(true, arrm, "") } }
func (a *GroupController) GetGroup(r *knot.WebContext) interface{} { r.Config.OutputType = knot.OutputJson a.InitialSetDatabase() tGroup := new(acl.Group) arrm := make([]toolkit.M, 0, 0) c, err := acl.Find(tGroup, nil, toolkit.M{}.Set("take", 0)) if err == nil { err = c.Fetch(&arrm, 0, false) } if err != nil { return helper.CreateResult(true, nil, err.Error()) } else { return helper.CreateResult(true, arrm, "") } }
func (a *GroupController) Search(r *knot.WebContext) interface{} { var filter *dbox.Filter r.Config.OutputType = knot.OutputJson _ = a.InitialSetDatabase() payload := map[string]interface{}{} err := r.GetForms(&payload) if err != nil { return helper.CreateResult(false, nil, err.Error()) } if strings.Contains(toolkit.TypeName(payload["search"]), "float") { payload["search"] = toolkit.ToInt(payload["search"], toolkit.RoundingAuto) } tGroup := new(acl.Group) if search := toolkit.ToString(payload["search"]); search != "" { filter = new(dbox.Filter) filter = dbox.Or(dbox.Contains("_id", search), dbox.Contains("title", search), dbox.Contains("owner", search)) } fmt.Println(filter) take := toolkit.ToInt(payload["take"], toolkit.RoundingAuto) skip := toolkit.ToInt(payload["skip"], toolkit.RoundingAuto) c, err := acl.Find(tGroup, filter, toolkit.M{}.Set("take", take).Set("skip", skip)) if err != nil { return helper.CreateResult(true, nil, err.Error()) } data := toolkit.M{} arrm := make([]toolkit.M, 0, 0) err = c.Fetch(&arrm, 0, false) data.Set("Datas", arrm) data.Set("total", c.Count()) if err != nil { return helper.CreateResult(true, nil, err.Error()) } return helper.CreateResult(true, data, "") }
func (a *UserController) Search(r *knot.WebContext) interface{} { r.Config.OutputType = knot.OutputJson a.InitialSetDatabase() payload := map[string]interface{}{} err := r.GetPayload(&payload) find := payload["search"].(string) bfind, err := strconv.ParseBool(find) tUser := new(acl.User) arrm := make([]toolkit.M, 0, 0) filter := dbox.Or(dbox.Contains("_id", find), dbox.Contains("id", find), dbox.Contains("loginid", find), dbox.Contains("fullname", find), dbox.Contains("email", find), dbox.Eq("enable", bfind)) c, e := acl.Find(tUser, filter, toolkit.M{}.Set("take", 0)) if e == nil { e = c.Fetch(&arrm, 0, false) } if e != nil { return helper.CreateResult(true, nil, err.Error()) } else { return helper.CreateResult(true, arrm, "") } }
func (a *AdministrationController) Search(r *knot.WebContext) interface{} { r.Config.OutputType = knot.OutputJson a.InitialSetDatabase() payload := map[string]interface{}{} err := r.GetPayload(&payload) find := payload["search"].(string) bfind, err := strconv.ParseBool(find) tAccess := new(acl.Access) arrm := make([]toolkit.M, 0, 0) filter := dbox.Or(dbox.Contains("_id", find), dbox.Contains("id", find), dbox.Contains("title", find), dbox.Contains("group1", find), dbox.Contains("group2", find), dbox.Contains("group3", find), dbox.Contains("specialaccess1", find), dbox.Contains("specialaccess2", find), dbox.Contains("specialaccess3", find), dbox.Contains("specialaccess4", find), dbox.Eq("enable", bfind)) c, e := acl.Find(tAccess, filter, toolkit.M{}.Set("take", 0)) if e == nil { e = c.Fetch(&arrm, 0, false) } if e != nil { return helper.CreateResult(true, nil, err.Error()) } else { return helper.CreateResult(true, arrm, "") } }
func (a *AdministrationController) GetAccess(r *knot.WebContext) interface{} { r.Config.OutputType = knot.OutputJson a.InitialSetDatabase() // payload := map[string]interface{}{} // err := r.GetPayload(&payload) // search := payload["search"].(string) // fmt.Println(search) tAccess := new(acl.Access) arrm := make([]toolkit.M, 0, 0) c, err := acl.Find(tAccess, nil, toolkit.M{}.Set("take", 0)) if err == nil { err = c.Fetch(&arrm, 0, false) } if err != nil { return helper.CreateResult(true, nil, err.Error()) } else { return helper.CreateResult(true, arrm, "") } }