ban and reset

This commit is contained in:
boufni95 2024-09-20 17:26:28 +00:00
parent 08457d281d
commit 5474e5217d
14 changed files with 285 additions and 133 deletions

View file

@ -61,6 +61,7 @@ type Client struct {
AddProduct func(req AddProductRequest) (*Product, error)
AuthApp func(req AuthAppRequest) (*AuthApp, error)
AuthorizeDebit func(req DebitAuthorizationRequest) (*DebitAuthorization, error)
BanDebit func(req DebitOperation) error
BanUser func(req BanUserRequest) (*BanUserResponse, error)
// batching method: BatchUser not implemented
CreateOneTimeInviteLink func(req CreateOneTimeInviteLinkRequest) (*CreateOneTimeInviteLinkResponse, error)
@ -102,8 +103,8 @@ type Client struct {
PayAddress func(req PayAddressRequest) (*PayAddressResponse, error)
PayAppUserInvoice func(req PayAppUserInvoiceRequest) (*PayInvoiceResponse, error)
PayInvoice func(req PayInvoiceRequest) (*PayInvoiceResponse, error)
RemoveAuthorizedDebit func(req RemoveAuthorizedDebitRequest) error
RequestNPubLinkingToken func(req RequestNPubLinkingTokenRequest) (*RequestNPubLinkingTokenResponse, error)
ResetDebit func(req DebitOperation) error
ResetNPubLinkingToken func(req RequestNPubLinkingTokenRequest) (*RequestNPubLinkingTokenResponse, error)
SendAppUserToAppPayment func(req SendAppUserToAppPaymentRequest) error
SendAppUserToAppUserPayment func(req SendAppUserToAppUserPaymentRequest) error
@ -319,6 +320,30 @@ func NewClient(params ClientParams) *Client {
}
return &res, nil
},
BanDebit: func(req DebitOperation) error {
auth, err := params.RetrieveUserAuth()
if err != nil {
return err
}
finalRoute := "/api/user/debit/ban"
body, err := json.Marshal(req)
if err != nil {
return err
}
resBody, err := doPostRequest(params.BaseURL+finalRoute, body, auth)
if err != nil {
return err
}
result := ResultError{}
err = json.Unmarshal(resBody, &result)
if err != nil {
return err
}
if result.Status == "ERROR" {
return fmt.Errorf(result.Reason)
}
return nil
},
BanUser: func(req BanUserRequest) (*BanUserResponse, error) {
auth, err := params.RetrieveAdminAuth()
if err != nil {
@ -1300,30 +1325,6 @@ func NewClient(params ClientParams) *Client {
}
return &res, nil
},
RemoveAuthorizedDebit: func(req RemoveAuthorizedDebitRequest) error {
auth, err := params.RetrieveUserAuth()
if err != nil {
return err
}
finalRoute := "/api/user/debit/remove"
body, err := json.Marshal(req)
if err != nil {
return err
}
resBody, err := doPostRequest(params.BaseURL+finalRoute, body, auth)
if err != nil {
return err
}
result := ResultError{}
err = json.Unmarshal(resBody, &result)
if err != nil {
return err
}
if result.Status == "ERROR" {
return fmt.Errorf(result.Reason)
}
return nil
},
RequestNPubLinkingToken: func(req RequestNPubLinkingTokenRequest) (*RequestNPubLinkingTokenResponse, error) {
auth, err := params.RetrieveAppAuth()
if err != nil {
@ -1353,6 +1354,30 @@ func NewClient(params ClientParams) *Client {
}
return &res, nil
},
ResetDebit: func(req DebitOperation) error {
auth, err := params.RetrieveUserAuth()
if err != nil {
return err
}
finalRoute := "/api/user/debit/reset"
body, err := json.Marshal(req)
if err != nil {
return err
}
resBody, err := doPostRequest(params.BaseURL+finalRoute, body, auth)
if err != nil {
return err
}
result := ResultError{}
err = json.Unmarshal(resBody, &result)
if err != nil {
return err
}
if result.Status == "ERROR" {
return fmt.Errorf(result.Reason)
}
return nil
},
ResetNPubLinkingToken: func(req RequestNPubLinkingTokenRequest) (*RequestNPubLinkingTokenResponse, error) {
auth, err := params.RetrieveAppAuth()
if err != nil {

View file

@ -180,6 +180,9 @@ type DebitAuthorizations struct {
type DebitExpirationRule struct {
Expires_at_unix int64 `json:"expires_at_unix"`
}
type DebitOperation struct {
Npub string `json:"npub"`
}
type DebitRule struct {
Rule *DebitRule_rule `json:"rule"`
}
@ -393,9 +396,6 @@ type Product struct {
type RelaysMigration struct {
Relays []string `json:"relays"`
}
type RemoveAuthorizedDebitRequest struct {
Npub string `json:"npub"`
}
type RequestNPubLinkingTokenRequest struct {
User_identifier string `json:"user_identifier"`
}