mirror of
https://github.com/onsonr/sonr.git
synced 2025-03-10 21:09:11 +00:00
* feat: add authentication middleware * feat: add REST API endpoints for database interactions * refactor: move DiscoveryDocument Pkl schema to oidc module * fix: replace sonrd with test_node.sh * feat: use NFT keeper to mint DID namespace NFT * refactor: move NFT class configuration to types * feat: add GlobalIntegrity genesis state * fix: ensure GlobalIntegrity is initialized in genesis * refactor: update all references to transactions module * refactor: improve genesis state struct * chore(did): update discovery endpoint to reflect base url * feat: remove unused context cache and client code * refactor: remove middleware dependency from keeper * feat: Add new query handlers for DID module * feat: Implement unimplemented params queries * feat: add support for first-party caveats * refactor: move motr command to cmd directory * feat: add support for GitHub releases * fix(motr): build app.wasm for motr package * feat: add card component * feat: add IndexedDB support for persistent storage * feat: Add Row and Column components * feat: add and components * refactor: improve button component * refactor: remove unnecessary button parameter in renderButton * feat: add vault service endpoint * feat: add input component
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)
|
|
}
|