コード例 #1
0
ファイル: main.go プロジェクト: gospackler/caddyshack-couchdb
func (c *CouchStore) DeleteOne(obj caddyshack.StoreObject) error {
	doc := couchdb.NewDocument(obj.GetKey(), "", c.DbObj)
	_, err := doc.GetDocument()
	if err != nil {
		return err
	}
	return doc.Delete()
}
コード例 #2
0
ファイル: main.go プロジェクト: gospackler/caddyshack-couchdb
func (c *CouchStore) Create(obj caddyshack.StoreObject) (err error) {
	strObj, err := json.Marshal(obj)

	doc := couchdb.NewDocument("", "", c.DbObj)
	err = doc.Create(strObj)
	obj.SetKey(doc.Id)
	return
}
コード例 #3
0
ファイル: main.go プロジェクト: gospackler/caddyshack-couchdb
func (c *CouchStore) ReadOne(key string) (error, caddyshack.StoreObject) {
	log.Info("ReadOne : Key = ", key)
	doc := couchdb.NewDocument(key, "", c.DbObj)
	jsonObj, err := doc.GetDocument()
	if err != nil {
		return err, nil
	}
	log.Debug("Read one resp :", string(jsonObj))

	//	err, obj := c.GetStoreObj(jsonObj)
	dynmaicObj := reflect.New(c.ObjType).Interface()
	err = json.Unmarshal(jsonObj, dynmaicObj)
	if err != nil {
		return err, nil
	}

	obj := dynmaicObj.(caddyshack.StoreObject)
	obj.SetKey(doc.Id)
	return err, obj
}
コード例 #4
0
ファイル: main.go プロジェクト: gospackler/caddyshack-couchdb
// The object passed should have CouchWrapperUpdate as an anonymous field containing the details.
func (c *CouchStore) UpdateOne(obj caddyshack.StoreObject) (err error) {
	byteObj, err := json.Marshal(obj)
	doc := couchdb.NewDocument(obj.GetKey(), "", c.DbObj)
	err = doc.Update(byteObj)
	return
}