Beispiel #1
0
// Handle GET requests
func (cr *OtterAPIController) Read(id string, cx *goweb.Context) {
	var otter Otter
	// TODO rewrite using a tohva stored in the session
	var err error = nil
	//_, err := cr.Db.Retrieve(id, &otter)
	if err != nil {
		cx.RespondWithData(otter)
	} else {
		cx.RespondWithNotFound()
	}
}
Beispiel #2
0
func (cr *Controller) Delete(id string, cx *goweb.Context) {
	log.Printf("Deleting a article id=%s...", id)
	c := cr.db.C(COLLECTION)
	if err := c.RemoveId(id); err != nil {
		log.Printf("Error: %s", err.Error())
		cx.RespondWithError(http.StatusForbidden)
		return
	}

	log.Printf("Deleted article id=%s", id)
	cx.RespondWithOK()
}
Beispiel #3
0
// Handle DELETE requests
func (cr *OtterAPIController) Delete(id string, cx *goweb.Context) {
	//var otter Otter
	// TODO rewrite using a tohva stored in the session
	// currentRev, err := cr.Db.Retrieve(id, &otter)
	var err error = nil
	if err != nil {
		//  cr.Db.Delete(id, currentRev)
		cx.RespondWithOK()
	} else {
		cx.RespondWithNotFound()
	}
}
Beispiel #4
0
func (cr *Controller) DeleteMany(cx *goweb.Context) {
	log.Println("Deleting all articles...")
	c := cr.db.C(COLLECTION)
	if _, err := c.RemoveAll(nil); err != nil {
		log.Println("Error: %s", err.Error())
		cx.RespondWithError(http.StatusForbidden)
		return
	}

	log.Println("Deleted all articles")
	cx.RespondWithOK()
}
Beispiel #5
0
func (cr *Controller) Read(id string, cx *goweb.Context) {
	log.Printf("Read a article id=%s", id)
	c := cr.db.C(COLLECTION)
	var article Article
	if err := c.FindId(id).One(&article); err != nil {
		log.Println("Error: %s", err.Error())
		cx.RespondWithError(http.StatusForbidden)
		return
	}

	log.Printf("Read article id=%s", id)
	cx.RespondWithData(article)
}
Beispiel #6
0
func (cr *Controller) Update(id string, cx *goweb.Context) {
	log.Printf("Update a article id=%s...", id)
	c := cr.db.C(COLLECTION)

	var article *Article
	decoder := new(goweb.JsonRequestDecoder)
	decoder.Unmarshal(cx, &article)

	if err := c.UpdateId(id, article); err != nil {
		log.Println("Error: %s", err.Error())
		cx.RespondWithError(http.StatusForbidden)
		return
	}

	log.Printf("Updated a article id=%s", id)
	cx.RespondWithOK()
}
Beispiel #7
0
func (cr *Controller) UpdateMany(cx *goweb.Context) {
	log.Println("Update all articles...")
	c := cr.db.C(COLLECTION)

	var articles []*Article
	decoder := new(goweb.JsonRequestDecoder)
	decoder.Unmarshal(cx, &articles)

	if _, err := c.UpdateAll(nil, articles); err != nil {
		log.Println("Error: %s", err.Error())
		cx.RespondWithError(http.StatusForbidden)
		return
	}

	log.Println("Updated all articles")
	cx.RespondWithOK()
}
Beispiel #8
0
func (cr *Controller) Create(cx *goweb.Context) {
	log.Println("Creating a article...")
	c := cr.db.C(COLLECTION)

	var article Article
	decoder := new(goweb.JsonRequestDecoder)
	decoder.Unmarshal(cx, &article)

	article.Id = bson.NewObjectId().Hex()

	if err := c.Insert(&article); err != nil {
		log.Println("Error: %s", err.Error())
		cx.RespondWithError(http.StatusForbidden)
		return
	}

	log.Printf("Created diary id=%s", article.Id)
	cx.RespondWithData(article)
}
Beispiel #9
0
func (cr *TeamAPIController) Read(id string, cx *goweb.Context) {

	if id == "1" {
		cx.RespondWithData(TestEntity{id, "Mat", 28})
	} else if id == "2" {
		cx.RespondWithData(TestEntity{id, "Laurie", 27})
	} else {
		cx.RespondWithNotFound()
	}

}
Beispiel #10
0
func (cr *Controller) ReadMany(cx *goweb.Context) {
	log.Println("Read all articles...")
	c := cr.db.C(COLLECTION)
	count, err := c.Count()
	if err != nil {
		log.Println("Error: %s", err.Error())
		cx.RespondWithError(http.StatusForbidden)
		return
	}

	articles := make([]*Article, count)
	if err := c.Find(nil).All(&articles); err != nil {
		log.Println("Error: %s", err.Error())
		cx.RespondWithError(http.StatusForbidden)
		return
	}

	log.Printf("Read all %d articles", count)
	cx.RespondWithData(articles)
}
Beispiel #11
0
func (cr *CreateAPIController) Create(cx *goweb.Context) {
	cx.PathParams["apikey"]
	cx.RespondWithData(TestEntity{"1", "Mat", 28})
}
Beispiel #12
0
func (cr *OtterAPIController) UpdateMany(cx *goweb.Context) {
	cx.RespondWithStatus(http.StatusForbidden)
}
Beispiel #13
0
func (cr *TeamAPIController) Delete(id string, cx *goweb.Context) {
	cx.RespondWithOK()
}
Beispiel #14
0
func (cr *TeamAPIController) DeleteMany(cx *goweb.Context) {
	cx.RespondWithStatus(http.StatusForbidden)
}
Beispiel #15
0
func (cr *TeamAPIController) UpdateMany(cx *goweb.Context) {
	cx.RespondWithData(TestEntity{"1", "Mat", 28})
}
Beispiel #16
0
func (cr *TeamAPIController) Update(id string, cx *goweb.Context) {
	cx.RespondWithData(TestEntity{id, "Mat", 28})
}
Beispiel #17
0
// Handle POST requests
func (cr *OtterAPIController) Create(cx *goweb.Context) {
	otter := NewOtter()
	// TODO rewrite using a tohva stored in the session
	// cr.Db.Insert(otter)
	cx.RespondWithData(otter)
}
Beispiel #18
0
func (cr *TeamAPIController) ReadMany(cx *goweb.Context) {
	cx.RespondWithData([]TestEntity{TestEntity{"1", "Mat", 28}, TestEntity{"2", "Laurie", 27}})
}
Beispiel #19
0
func (cr *UserAPIController) Create(cx *goweb.Context) {
	cx.RespondWithData(TestEntity{"1", "Mat", 28})
}