Added methods to add and delete a publisher
Signed-off-by: kolaente <konrad@kola-entertainments.de>
This commit is contained in:
parent
500007bdae
commit
a78ac5d7da
|
@ -0,0 +1,6 @@
|
|||
package models
|
||||
|
||||
func AddPublisher(publisher Publisher) (err error){
|
||||
_, err = x.Insert(&publisher)
|
||||
return err
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package models
|
||||
|
||||
func DeletePublisherByID(id int64) error {
|
||||
// Delete the publisher
|
||||
_, err := x.Id(id).Delete(&Publisher{})
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Set all publisher to 0 on all book with this publisher
|
||||
//book := Book{Publisher:0}
|
||||
//book.Publisher = 0
|
||||
//_, err = x.Where("publisher = ?", id).Update(book)
|
||||
_, err = x.Table("books").Where("publisher = ?", id).Update(map[string]interface{}{"publisher":0})
|
||||
|
||||
|
||||
return err
|
||||
}
|
|
@ -6,7 +6,6 @@ import (
|
|||
"git.mowie.cc/konrad/Library/models"
|
||||
"encoding/json"
|
||||
"strings"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func AuthorAdd(c echo.Context) error {
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
package v1
|
||||
|
||||
import (
|
||||
"github.com/labstack/echo"
|
||||
"net/http"
|
||||
"git.mowie.cc/konrad/Library/models"
|
||||
"encoding/json"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func PublisherAdd(c echo.Context) error {
|
||||
// Check for Request Content
|
||||
publisher := c.FormValue("publisher")
|
||||
if publisher == "" {
|
||||
return c.JSON(http.StatusBadRequest, models.Message{"No publisher model provided"})
|
||||
}
|
||||
|
||||
// Decode the JSON
|
||||
var publisherstruct models.Publisher
|
||||
dec := json.NewDecoder(strings.NewReader(publisher))
|
||||
|
||||
err := dec.Decode(&publisherstruct)
|
||||
if err != nil {
|
||||
return c.JSON(http.StatusInternalServerError, models.Message{"Error decoding publisher: " + err.Error()})
|
||||
}
|
||||
|
||||
// Insert the publisher
|
||||
err = models.AddPublisher(publisherstruct)
|
||||
|
||||
if err != nil {
|
||||
return c.JSON(http.StatusInternalServerError, models.Message{"Error"})
|
||||
}
|
||||
|
||||
return c.JSON(http.StatusOK, models.Message{"success"})
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
package v1
|
||||
|
||||
import (
|
||||
"github.com/labstack/echo"
|
||||
"strconv"
|
||||
"net/http"
|
||||
"git.mowie.cc/konrad/Library/models"
|
||||
)
|
||||
|
||||
func PublisherDelete(c echo.Context) error {
|
||||
|
||||
id := c.Param("id")
|
||||
|
||||
// Make int
|
||||
publisherID, err := strconv.ParseInt(id, 10, 64)
|
||||
|
||||
if err != nil {
|
||||
return c.JSON(http.StatusInternalServerError, models.Message{"Could not get publisher infos"})
|
||||
}
|
||||
|
||||
// Check if the publisher exists
|
||||
_, exists, err := models.GetPublisherByID(publisherID)
|
||||
|
||||
if err != nil {
|
||||
return c.JSON(http.StatusInternalServerError, models.Message{"Could get publisher"})
|
||||
}
|
||||
|
||||
if !exists {
|
||||
return c.JSON(http.StatusBadRequest, models.Message{"The publisher does not exist."})
|
||||
}
|
||||
|
||||
// Delete it
|
||||
err = models.DeletePublisherByID(publisherID)
|
||||
|
||||
if err != nil {
|
||||
return c.JSON(http.StatusInternalServerError, models.Message{"Could not delete publisher"})
|
||||
}
|
||||
|
||||
return c.JSON(http.StatusOK, models.Message{"success"})
|
||||
}
|
|
@ -59,6 +59,8 @@ func RegisterRoutes(e *echo.Echo) {
|
|||
a.DELETE("/authors/:id", apiv1.AuthorDelete)
|
||||
|
||||
// Manage Publishers
|
||||
a.PUT("/publishers", apiv1.PublisherAdd)
|
||||
a.DELETE("/publishers/:id", apiv1.PublisherDelete)
|
||||
|
||||
// Manage Users
|
||||
|
||||
|
@ -73,22 +75,22 @@ func RegisterRoutes(e *echo.Echo) {
|
|||
POST /logout - ausloggen
|
||||
|
||||
GET /books/:id - ✔ Buch anzeigen
|
||||
POST /books/:id/edit - |Buch bearbeiten (inkl mengen)
|
||||
POST /books/:id - |Buch bearbeiten (inkl mengen)
|
||||
DELETE /books/:id - ✔ |Buch löschen (+alle einträge in authors_books löschen dessen Bush dazu gehört)
|
||||
GET /books/search?s=se - ✔ Suchen
|
||||
GET /books/list - ✔ Auflisten
|
||||
PUT /books/add - ✔ |Hinzufügen
|
||||
|
||||
GET /authors/:id - ✔ Autor anzeigen
|
||||
POST /authors/:id/edit - |Autor bearbeiten
|
||||
DELETE /authors/:id/delete - |Autor löschen (auch mit allem in books_author)
|
||||
POST /authors/:id - |Autor bearbeiten
|
||||
DELETE /authors/:id - ✔ |Autor löschen (auch mit allem in books_author)
|
||||
GET /authors/list - ✔ Autoren auflisten
|
||||
GET /authors/search?s=d - ✔ Autoren suchen
|
||||
PUT /authors/add - |Hinzufügen
|
||||
PUT /authors/add - ✔ |Hinzufügen
|
||||
|
||||
GET /publishers/:id - ✔ Verlag anzeigen
|
||||
POST /publishers/:id/edit - |Verlag bearbeiten
|
||||
DELETE /publishers/:id/delete - |Verlag löschen (bei büchern Verlag auf 0 setzen)
|
||||
POST /publishers/:id - |Verlag bearbeiten
|
||||
DELETE /publishers/:id - |Verlag löschen (bei büchern Verlag auf 0 setzen)
|
||||
GET /publishers/list - ✔ Verlage auflisten
|
||||
GET /publishers/search?s= - ✔ Verlage suchen
|
||||
PUT /publishers/add - |Hinzufügen
|
||||
|
@ -98,6 +100,6 @@ func RegisterRoutes(e *echo.Echo) {
|
|||
GET /user - Nutzer anzeigen
|
||||
PUT /user - |neue Nutzer anlegen
|
||||
DELETE /user/:id - |nutzer löschen
|
||||
POST /user/:id/edit - |nutzer bearbeiten
|
||||
POST /user/:id - |nutzer bearbeiten
|
||||
*/
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue