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"
|
"git.mowie.cc/konrad/Library/models"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"strings"
|
"strings"
|
||||||
"fmt"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func AuthorAdd(c echo.Context) error {
|
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)
|
a.DELETE("/authors/:id", apiv1.AuthorDelete)
|
||||||
|
|
||||||
// Manage Publishers
|
// Manage Publishers
|
||||||
|
a.PUT("/publishers", apiv1.PublisherAdd)
|
||||||
|
a.DELETE("/publishers/:id", apiv1.PublisherDelete)
|
||||||
|
|
||||||
// Manage Users
|
// Manage Users
|
||||||
|
|
||||||
|
@ -73,22 +75,22 @@ func RegisterRoutes(e *echo.Echo) {
|
||||||
POST /logout - ausloggen
|
POST /logout - ausloggen
|
||||||
|
|
||||||
GET /books/:id - ✔ Buch anzeigen
|
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)
|
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/search?s=se - ✔ Suchen
|
||||||
GET /books/list - ✔ Auflisten
|
GET /books/list - ✔ Auflisten
|
||||||
PUT /books/add - ✔ |Hinzufügen
|
PUT /books/add - ✔ |Hinzufügen
|
||||||
|
|
||||||
GET /authors/:id - ✔ Autor anzeigen
|
GET /authors/:id - ✔ Autor anzeigen
|
||||||
POST /authors/:id/edit - |Autor bearbeiten
|
POST /authors/:id - |Autor bearbeiten
|
||||||
DELETE /authors/:id/delete - |Autor löschen (auch mit allem in books_author)
|
DELETE /authors/:id - ✔ |Autor löschen (auch mit allem in books_author)
|
||||||
GET /authors/list - ✔ Autoren auflisten
|
GET /authors/list - ✔ Autoren auflisten
|
||||||
GET /authors/search?s=d - ✔ Autoren suchen
|
GET /authors/search?s=d - ✔ Autoren suchen
|
||||||
PUT /authors/add - |Hinzufügen
|
PUT /authors/add - ✔ |Hinzufügen
|
||||||
|
|
||||||
GET /publishers/:id - ✔ Verlag anzeigen
|
GET /publishers/:id - ✔ Verlag anzeigen
|
||||||
POST /publishers/:id/edit - |Verlag bearbeiten
|
POST /publishers/:id - |Verlag bearbeiten
|
||||||
DELETE /publishers/:id/delete - |Verlag löschen (bei büchern Verlag auf 0 setzen)
|
DELETE /publishers/:id - |Verlag löschen (bei büchern Verlag auf 0 setzen)
|
||||||
GET /publishers/list - ✔ Verlage auflisten
|
GET /publishers/list - ✔ Verlage auflisten
|
||||||
GET /publishers/search?s= - ✔ Verlage suchen
|
GET /publishers/search?s= - ✔ Verlage suchen
|
||||||
PUT /publishers/add - |Hinzufügen
|
PUT /publishers/add - |Hinzufügen
|
||||||
|
@ -98,6 +100,6 @@ func RegisterRoutes(e *echo.Echo) {
|
||||||
GET /user - Nutzer anzeigen
|
GET /user - Nutzer anzeigen
|
||||||
PUT /user - |neue Nutzer anlegen
|
PUT /user - |neue Nutzer anlegen
|
||||||
DELETE /user/:id - |nutzer löschen
|
DELETE /user/:id - |nutzer löschen
|
||||||
POST /user/:id/edit - |nutzer bearbeiten
|
POST /user/:id - |nutzer bearbeiten
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue