Example #1
0
func (m *ModelArticle) Update(obj ModelArticle) error {
	change := utils.M{}
	obj.Content = helper.FilterHtmlTag("script|noscript|form|fieldset|iframe|math|ins|del", obj.Content)

	objMap := utils.Struct{obj}.StructToSnakeKeyMap()
	delete(objMap, "id")
	delete(objMap, "create_time")
	objMap["update_time"] = time.Now().Unix()
	change["$set"] = objMap
	mgoServer := Middleware.Get("db").(*helper.Mongo)
	err := mgoServer.C(ColArticle).UpdateId(m.Id, change)
	if err == nil {
		nm, e := ArticleById(m.Id.Hex())
		err = e
		if err == nil {
			*m = nm
		}
	}

	return err
}
Example #2
0
func (m *ModelArticle) Add() error {
	if m.Id != "" {
		return errors.New("Had Id")
	}

	//manual control set _id value
	m.Id = bson.NewObjectId()

	m.CreateTime = time.Now().Unix()
	m.UpdateTime = m.CreateTime
	m.Content = helper.FilterHtmlTag("script|noscript|form|fieldset|iframe|math|ins|del", m.Content)
	mgoServer := Middleware.Get("db").(*helper.Mongo)
	err := mgoServer.C(ColArticle).Insert(m)
	if err == nil {
		obj := ModelArticle{}
		obj, err = ArticleById(m.Id.Hex())
		if err == nil {
			*m = obj
		}
	}

	return err
}