added get loop and new key type xor

This commit is contained in:
ston1th 2023-03-22 22:52:19 +01:00
commit 9e68b46346
8 changed files with 122 additions and 24 deletions

View file

@ -64,7 +64,7 @@ func keyHandler(ctx *types.Context) {
if err != nil {
ctx.Log.Error(err, "error reading key", "id", id)
if err == store.ErrKeyNotFound {
ctx.Err(types.ErrNotFound)
ctx.Err(types.ErrKeyNotFound)
return
}
ctx.Err(types.ErrISE)
@ -77,7 +77,7 @@ func keyHandler(ctx *types.Context) {
aid, err = ctx.Data.Approver.New(id, k.Name, ip)
if err != nil {
ctx.Log.Error(err, "error creating approval", "id", id, "name", k.Name)
ctx.Err(types.ErrISE)
ctx.Err(types.ErrTooManyApprovals)
return
}
ctx.Redirect(schema.ApproveURL(id, aid), http.StatusFound)
@ -91,6 +91,9 @@ func keyHandler(ctx *types.Context) {
case types.Rejected:
ctx.Err(types.ErrKeyRequestRejected)
return
case types.NotFound:
ctx.Err(types.ErrReqNotFound)
return
}
k, err := ctx.Data.DB.GetKeyWithSecret(id)
if err != nil {
@ -142,6 +145,11 @@ func reqHandler(ctx *types.Context) {
case "DELETE":
status = types.Rejected
}
ctx.Data.Approver.Update(id, status)
err := ctx.Data.Approver.Update(id, status)
if err != nil {
ctx.Log.Error(err, "error updating key request")
ctx.Err(types.ErrReqNotFound)
return
}
ctx.OK()
}