本文整理汇总了Golang中github.com/hobeone/pointyhair/db.DBHandle类的典型用法代码示例。如果您正苦于以下问题:Golang DBHandle类的具体用法?Golang DBHandle怎么用?Golang DBHandle使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了DBHandle类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: createNote
func createNote(rend render.Render, req *http.Request, params martini.Params, dbh *db.DBHandle) {
err := req.ParseForm()
if err != nil {
rend.JSON(http.StatusBadRequest, err.Error())
return
}
u := unmarshalNoteJSON{}
err = json.NewDecoder(req.Body).Decode(&u)
if err != nil {
rend.JSON(http.StatusBadRequest, err.Error())
return
}
p := db.Person{Id: u.PersonId}
err = dbh.ORM.Read(&p)
if err != nil {
rend.JSON(http.StatusInternalServerError, fmt.Sprintf("Unknown Person ID: %d", u.PersonId))
return
}
dbnote := db.Note{
Text: u.Text,
Category: u.Category,
Date: u.Date,
Person: &p,
}
err = dbh.CreateNote(&dbnote)
if err != nil {
rend.JSON(http.StatusInternalServerError, err.Error())
return
}
rend.JSON(200, noteWithPersonIdJSON{&dbnote, p.Id})
}
开发者ID:hobeone,项目名称:pointyhair,代码行数:33,代码来源:notes.go
示例2: getPeople
func getPeople(rend render.Render, req *http.Request, dbh *db.DBHandle) {
err := req.ParseForm()
if err != nil {
rend.JSON(500, err.Error())
return
}
var people_json []*personWithRelations
param_ids := req.Form["ids[]"]
if len(param_ids) > 0 {
people_ids, err := parseParamIds(param_ids)
if err != nil {
rend.JSON(500, err.Error())
return
}
people_json = make([]*personWithRelations, len(people_ids))
for i, pid := range people_ids {
person, err := dbh.GetPersonById(pid)
if err != nil {
if err == orm.ErrNoRows {
rend.JSON(404, fmt.Sprintf("Person with ID %d doesn't exist", pid))
return
} else {
rend.JSON(500, err.Error())
return
}
}
pn, err := newPersonWithRelations(person, dbh)
if err != nil {
rend.JSON(500, err)
return
}
people_json[i] = &pn
}
} else {
people, err := dbh.GetPeopleById([]int64{})
if err != nil {
rend.JSON(500, err)
return
}
people_json = make([]*personWithRelations, len(people))
for i, p := range people {
pn, err := newPersonWithRelations(p, dbh)
if err != nil {
rend.JSON(500, err)
return
}
people_json[i] = &pn
}
}
rend.JSON(200, people_json)
}
开发者ID:hobeone,项目名称:pointyhair,代码行数:54,代码来源:person.go
示例3: getNote
func getNote(rend render.Render, req *http.Request, params martini.Params, dbh *db.DBHandle) {
id, err := strconv.ParseInt(params["id"], 10, 64)
if err != nil {
rend.JSON(500, "Invalid id: "+err.Error())
return
}
n, err := dbh.GetNoteById(id)
if err != nil {
rend.JSON(500, err.Error())
return
}
rend.JSON(200, noteWithPersonIdJSON{n, n.Person.Id})
}
开发者ID:hobeone,项目名称:pointyhair,代码行数:14,代码来源:notes.go
示例4: createTodo
func createTodo(rend render.Render, req *http.Request, params martini.Params, dbh *db.DBHandle) {
err := req.ParseForm()
if err != nil {
rend.JSON(500, err.Error())
return
}
u := unmarshalTodoJSON{}
glog.Info("Decoded json: %+v", u)
err = json.NewDecoder(req.Body).Decode(&u)
if err != nil {
rend.JSON(500, err.Error())
return
}
queryParams, _ := url.ParseQuery(req.URL.RawQuery)
dbtodo := db.Todo{
Text: u.Text,
Category: u.Category,
Date: u.Date,
}
if _, ok := queryParams["addToAll"]; ok {
glog.Info(u)
//do something here
err = dbh.AddTodoToAllPeople(&dbtodo)
if err != nil {
rend.JSON(http.StatusInternalServerError, err.Error())
return
}
} else {
p := db.Person{Id: u.PersonId}
err = dbh.ORM.Read(&p)
if err != nil {
rend.JSON(500, fmt.Sprintf("Unknown Person id: %d", u.PersonId))
return
}
dbtodo.Person = &p
_, err = dbh.ORM.Insert(&dbtodo)
if err != nil {
rend.JSON(500, err.Error())
return
}
rend.JSON(200, todoWithPersonIdJSON{&dbtodo, p.Id})
}
}
开发者ID:hobeone,项目名称:pointyhair,代码行数:46,代码来源:todo.go
示例5: deleteNote
func deleteNote(rend render.Render, params martini.Params, dbh *db.DBHandle) {
note_id, err := strconv.ParseInt(params["id"], 10, 64)
if err != nil {
rend.JSON(http.StatusBadRequest, err.Error())
return
}
note, err := dbh.GetNoteById(note_id)
if err != nil {
rend.JSON(http.StatusNotFound, err.Error())
return
}
err = dbh.RemoveNote(note)
if err != nil {
rend.JSON(http.StatusInternalServerError, err.Error())
return
}
rend.JSON(http.StatusNoContent, "")
}
开发者ID:hobeone,项目名称:pointyhair,代码行数:21,代码来源:notes.go
示例6: getNotes
func getNotes(rend render.Render, req *http.Request, dbh *db.DBHandle) {
err := req.ParseForm()
if err != nil {
rend.JSON(500, err.Error())
return
}
var notes []noteWithPersonIdJSON
param_ids := req.Form["ids[]"]
if len(param_ids) > 0 {
note_ids, err := parseParamIds(param_ids)
if err != nil {
rend.JSON(500, err.Error())
return
}
notes = make([]noteWithPersonIdJSON, len(note_ids))
for i, nid := range note_ids {
note, err := dbh.GetNoteById(nid)
if err != nil {
rend.JSON(404, err.Error())
return
}
notes[i] = noteWithPersonIdJSON{note, note.Person.Id}
}
} else {
dbnotes, err := dbh.GetNotesById([]int64{})
notes = make([]noteWithPersonIdJSON, len(dbnotes))
for i, n := range dbnotes {
notes[i] = noteWithPersonIdJSON{n, n.Person.Id}
}
if err != nil {
rend.JSON(500, err.Error())
return
}
}
rend.JSON(http.StatusOK, notes)
}
开发者ID:hobeone,项目名称:pointyhair,代码行数:38,代码来源:notes.go
示例7: getPerson
func getPerson(rend render.Render, params martini.Params, dbh *db.DBHandle) {
id, err := strconv.ParseInt(params["id"], 10, 64)
if err != nil {
rend.JSON(500, "Invalid id: "+err.Error())
return
}
p, err := dbh.GetPersonById(id)
if err != nil {
if err == orm.ErrNoRows {
rend.JSON(404, fmt.Sprintf("No Person with id %d found.", id))
return
} else {
rend.JSON(500, err.Error())
return
}
}
pn, err := newPersonWithRelations(p, dbh)
if err != nil {
rend.JSON(500, err)
return
}
rend.JSON(200, pn)
}
开发者ID:hobeone,项目名称:pointyhair,代码行数:24,代码来源:person.go
示例8: loadFixtures
func loadFixtures(dbh *db.DBHandle) {
people := map[string]db.Person{
"test1": db.Person{Name: "test1"},
"test2": db.Person{Name: "test2"},
"test3": db.Person{Name: "test3"},
}
notes := map[string]db.Note{
"test_feed1": db.Note{Text: "http://testfeed1/feed.atom"},
"test_feed2": db.Note{Text: "http://testfeed2/feed.atom"},
"test_feed3": db.Note{Text: "http://testfeed3/feed.atom"},
}
todos := map[string]db.Todo{
"todo1": db.Todo{
Subject: "test todo1",
Notes: "test todo1 notes",
},
"todo2": db.Todo{
Subject: "test todo2",
Notes: "test todo2 notes",
},
"todo3": db.Todo{
Subject: "test todo3",
Notes: "test todo3 notes",
},
}
db_people := make([]*db.Person, len(people))
i := 0
for _, p := range people {
err := dbh.CreatePerson(&p)
if err != nil {
glog.Fatal(err.Error())
}
db_people[i] = &p
i++
}
for _, n := range notes {
n.Person = db_people[0]
err := dbh.CreateNote(&n)
if err != nil {
glog.Fatal(err.Error())
}
}
i = 0
for _, t := range todos {
t.Person = db_people[i]
err := dbh.CreateTodo(&t)
if err != nil {
glog.Fatal(err.Error())
}
i++
}
}
开发者ID:hobeone,项目名称:pointyhair,代码行数:54,代码来源:api_test.go
注:本文中的github.com/hobeone/pointyhair/db.DBHandle类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论