Exemplo n.º 1
0
func Create(ms Message, level *leveldb.DB) (int, string) {

	// input Message
	inputData := ms
	inputData.PostData = time.Now()

	if inputData.Name == "" || inputData.Message == "" {
		return 400, "error"
	}

	var readOpts db.ReadOptions

	// inputData toJson
	inputJsonData, err := json.Marshal(inputData)
	if err != nil {
		panic(err)
	}

	// inputData save
	var writeOpts db.WriteOptions
	err = level.Set([]byte(inputData.Name), inputJsonData, &writeOpts)
	if err != nil {
		panic(err)
	}

	// find keys
	var lastedKeys string
	keys, err := level.Get([]byte("keys"), &readOpts)
	if err == nil {
		lastedKeys = string(keys)
		lastedKeys += ","
	} else {
		lastedKeys = ""
	}
	// update keys
	lastedKeys += inputData.Name
	err = level.Set([]byte("keys"), []byte(lastedKeys), &writeOpts)
	if err != nil {
		panic(err)
	}

	return 200, "ok"
}