mirror of
https://github.com/onsonr/sonr.git
synced 2025-03-10 21:09:11 +00:00
196 lines
3.9 KiB
Go
196 lines
3.9 KiB
Go
package db
|
|
|
|
import (
|
|
"github.com/labstack/echo/v4"
|
|
"github.com/onsonr/sonr/internal/db/orm"
|
|
)
|
|
|
|
func (db *DB) ServeEcho(e *echo.Group) {
|
|
e.GET("/accounts", db.HandleAccount)
|
|
e.GET("/assets", db.HandleAsset)
|
|
e.GET("/credentials", db.HandleCredential)
|
|
e.GET("/keyshares", db.HandleKeyshare)
|
|
e.GET("/permissions", db.HandlePermission)
|
|
e.GET("/profiles", db.HandleProfile)
|
|
e.GET("/properties", db.HandleProperty)
|
|
}
|
|
|
|
func (db *DB) HandleAccount(c echo.Context) error {
|
|
data := new(orm.Account)
|
|
if err := c.Bind(data); err != nil {
|
|
return err
|
|
}
|
|
// Check the method for GET, POST, PUT, DELETE
|
|
switch c.Request().Method {
|
|
case echo.POST:
|
|
|
|
if err := db.AddAccount(data); err != nil {
|
|
return err
|
|
}
|
|
return c.JSON(200, "OK")
|
|
case echo.PUT:
|
|
|
|
if err := db.UpdateAccount(data); err != nil {
|
|
return err
|
|
}
|
|
return c.JSON(200, "OK")
|
|
case echo.DELETE:
|
|
if err := db.DeleteAccount(data); err != nil {
|
|
return err
|
|
}
|
|
return c.JSON(200, nil)
|
|
}
|
|
return c.JSON(200, data)
|
|
}
|
|
|
|
func (db *DB) HandleAsset(c echo.Context) error {
|
|
data := new(orm.Asset)
|
|
if err := c.Bind(data); err != nil {
|
|
return err
|
|
}
|
|
|
|
switch c.Request().Method {
|
|
case echo.POST:
|
|
if err := db.AddAsset(data); err != nil {
|
|
return err
|
|
}
|
|
return c.JSON(200, "OK")
|
|
case echo.PUT:
|
|
if err := db.UpdateAsset(data); err != nil {
|
|
return err
|
|
}
|
|
return c.JSON(200, "OK")
|
|
case echo.DELETE:
|
|
if err := db.DeleteAsset(data); err != nil {
|
|
return err
|
|
}
|
|
return c.JSON(200, "OK")
|
|
}
|
|
return c.JSON(200, data)
|
|
}
|
|
|
|
func (db *DB) HandleCredential(c echo.Context) error {
|
|
data := new(orm.Credential)
|
|
if err := c.Bind(data); err != nil {
|
|
return err
|
|
}
|
|
|
|
switch c.Request().Method {
|
|
case echo.POST:
|
|
if err := db.AddCredential(data); err != nil {
|
|
return err
|
|
}
|
|
return c.JSON(200, "OK")
|
|
case echo.PUT:
|
|
if err := db.UpdateCredential(data); err != nil {
|
|
return err
|
|
}
|
|
return c.JSON(200, "OK")
|
|
case echo.DELETE:
|
|
if err := db.DeleteCredential(data); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
return c.JSON(200, data)
|
|
}
|
|
|
|
func (db *DB) HandleKeyshare(c echo.Context) error {
|
|
data := new(orm.Keyshare)
|
|
if err := c.Bind(data); err != nil {
|
|
return err
|
|
}
|
|
|
|
switch c.Request().Method {
|
|
case echo.POST:
|
|
if err := db.AddKeyshare(data); err != nil {
|
|
return err
|
|
}
|
|
return c.JSON(200, "OK")
|
|
case echo.PUT:
|
|
if err := db.UpdateKeyshare(data); err != nil {
|
|
return err
|
|
}
|
|
return c.JSON(200, "OK")
|
|
case echo.DELETE:
|
|
if err := db.DeleteKeyshare(data); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
return c.JSON(200, data)
|
|
}
|
|
|
|
func (db *DB) HandlePermission(c echo.Context) error {
|
|
data := new(orm.Permission)
|
|
if err := c.Bind(data); err != nil {
|
|
return err
|
|
}
|
|
|
|
switch c.Request().Method {
|
|
case echo.POST:
|
|
if err := db.AddPermission(data); err != nil {
|
|
return err
|
|
}
|
|
return c.JSON(200, "OK")
|
|
case echo.PUT:
|
|
if err := db.UpdatePermission(data); err != nil {
|
|
return err
|
|
}
|
|
return c.JSON(200, "OK")
|
|
case echo.DELETE:
|
|
if err := db.DeletePermission(data); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
return c.JSON(200, data)
|
|
}
|
|
|
|
func (db *DB) HandleProfile(c echo.Context) error {
|
|
data := new(orm.Profile)
|
|
if err := c.Bind(data); err != nil {
|
|
return err
|
|
}
|
|
|
|
switch c.Request().Method {
|
|
case echo.POST:
|
|
if err := db.AddProfile(data); err != nil {
|
|
return err
|
|
}
|
|
return c.JSON(200, "OK")
|
|
case echo.PUT:
|
|
if err := db.UpdateProfile(data); err != nil {
|
|
return err
|
|
}
|
|
return c.JSON(200, "OK")
|
|
case echo.DELETE:
|
|
if err := db.DeleteProfile(data); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
return c.JSON(200, data)
|
|
}
|
|
|
|
func (db *DB) HandleProperty(c echo.Context) error {
|
|
data := new(orm.Property)
|
|
if err := c.Bind(data); err != nil {
|
|
return err
|
|
}
|
|
|
|
switch c.Request().Method {
|
|
case echo.POST:
|
|
if err := db.AddProperty(data); err != nil {
|
|
return err
|
|
}
|
|
return c.JSON(200, "OK")
|
|
case echo.PUT:
|
|
if err := db.UpdateProperty(data); err != nil {
|
|
return err
|
|
}
|
|
return c.JSON(200, "OK")
|
|
case echo.DELETE:
|
|
if err := db.DeleteProperty(data); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
return c.JSON(200, data)
|
|
}
|