Files
Paul NicolasandGitHub d66040c0eb feat(*): add plaid bank bridge connector and boilerplate (#499)
* 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
2025-07-30 13:44:31 +00:00

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
}