Added account delete endpoint

This commit is contained in:
perp 2024-06-06 20:08:04 +01:00
parent 35978f596e
commit 57e621681f
3 changed files with 52 additions and 0 deletions

View File

@ -0,0 +1,20 @@
package account
import "github.com/rs/zerolog/log"
// Delete a model by id
func (a *Account) DeleteByID(id int64) error {
// Store model
model := &Model{
ID: id,
}
// Delete model
_, err := a.db.Delete(model)
if err != nil {
log.Err(err).Str("table", "account").Str("type", "id").Msg("Could not delete row")
return err
}
return nil
}

View File

@ -0,0 +1,31 @@
package account
import (
"git.supernets.org/perp/gopay/internal/context"
)
// @summary Delete an account
// @tags account
// @accept json
// @produce json
// @success 204
// @response default {object} v1.Error "There was an error"
// @router /v1/account/delete [delete]
func Delete(ctx *context.Context) {
// Call middleware
ctx.GetAccount()
// Account not found
if ctx.Account == nil {
return
}
// Delete account
err := ctx.Database.Account.DeleteByID(ctx.Account.ID)
if err != nil {
ctx.Error(500, "InternalServerError")
return
}
ctx.String(200, "")
}

View File

@ -26,6 +26,7 @@ func Register(ctx *context.Context, engine *gin.Engine) {
{
a := v1.Group("account")
a.DELETE("delete", ctx.Register(account.Delete))
a.GET("", ctx.Register(account.Fetch))
a.POST("login", ctx.Register(account.Login))
a.POST("register", ctx.Register(account.Register))