alby-hub/nip47/controllers/decode_request.go
Roland 5f1b0decdf
feat: move events to transactions service (#510)
* feat: move events to transactions service (WIP)

* fix: tests

* chore: improve quota exceeded error message

* fix: list transactions offset

* fix: add nwc_permission_denied events in transactions service

* fix: check for duplicate payment

* fix: unstable test

* chore: add payment settled tests

* fix: tests race condition

* fix: internal keysend support

* chore: add tests for check unsettled transactions fallback

* chore: add extra tests

* chore: extra tests

* fix: pass metadata in keysend self payments

* fix: throw error if transaction is already marked as sent

* fix: mark transaction settled

* fix: consume events in alby oauth service

* chore: add TODOs

* fix: do not fire duplicate failed payment events

* docs: add basic architecture docs to readme
2024-08-23 11:52:47 +07:00

26 lines
648 B
Go

package controllers
import (
"encoding/json"
"github.com/getAlby/hub/constants"
"github.com/getAlby/hub/logger"
"github.com/getAlby/hub/nip47/models"
"github.com/sirupsen/logrus"
)
func decodeRequest(request *models.Request, methodParams interface{}) *models.Response {
err := json.Unmarshal(request.Params, methodParams)
if err != nil {
logger.Logger.WithFields(logrus.Fields{
"request": request,
}).WithError(err).Error("Failed to decode NIP-47 request")
return &models.Response{
ResultType: request.Method,
Error: &models.Error{
Code: constants.ERROR_BAD_REQUEST,
Message: err.Error(),
}}
}
return nil
}