mirror of
https://github.com/hanzo-fi/payments.git
synced 2026-10-30 20:31:20 +00:00
* feat(models): add bank bridge models * feat(storage): add bank bridge migrations and functions * feat(engine): add bank bridge workflows * feat(connectors): add plaid bank bridge connector * feat(events): add bank bridge events * feat(api): add bank bridge router * feat(*): bank bridge boilerplate * fix nil pointer crash * add more check when getting link attempts + change enum * fix tests * remove print * fixes after reviews * add specific table for access tokens * fixes after reviews * fix go mod tidy * remove indexes + null default * plaid: add tests * *: add more tests * fix after rebase
34 lines
784 B
Go
34 lines
784 B
Go
package plaid
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
|
|
"github.com/formancehq/payments/internal/models"
|
|
)
|
|
|
|
func validateCreateUserRequest(req models.CreateUserRequest) error {
|
|
if req.PaymentServiceUser == nil {
|
|
return fmt.Errorf("payment service user is required: %w", models.ErrInvalidRequest)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func (p *Plugin) createUser(ctx context.Context, req models.CreateUserRequest) (models.CreateUserResponse, error) {
|
|
if err := validateCreateUserRequest(req); err != nil {
|
|
return models.CreateUserResponse{}, err
|
|
}
|
|
|
|
userToken, err := p.client.CreateUser(ctx, req.PaymentServiceUser.ID.String())
|
|
if err != nil {
|
|
return models.CreateUserResponse{}, err
|
|
}
|
|
|
|
return models.CreateUserResponse{
|
|
Metadata: map[string]string{
|
|
UserTokenMetadataKey: userToken,
|
|
},
|
|
}, nil
|
|
}
|