29 lines
817 B
Go
29 lines
817 B
Go
package paymethoddb
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
|
|
"github.com/tech/sendico/pkg/db/repository"
|
|
"github.com/tech/sendico/pkg/merrors"
|
|
"github.com/tech/sendico/pkg/model"
|
|
mauth "github.com/tech/sendico/pkg/mutil/db/auth"
|
|
"go.mongodb.org/mongo-driver/v2/bson"
|
|
)
|
|
|
|
func (db *PaymentMethodsDB) List(ctx context.Context, accountRef, organizationRef, recipientRef bson.ObjectID, cursor *model.ViewCursor) ([]model.PaymentMethod, error) {
|
|
res, err := mauth.GetProtectedObjects[model.PaymentMethod](
|
|
ctx,
|
|
db.DBImp.Logger,
|
|
accountRef, organizationRef, model.ActionRead,
|
|
repository.OrgFilter(organizationRef).And(repository.Filter("recipientRef", recipientRef)),
|
|
cursor,
|
|
db.Enforcer,
|
|
db.DBImp.Repository,
|
|
)
|
|
if errors.Is(err, merrors.ErrNoData) {
|
|
return []model.PaymentMethod{}, nil
|
|
}
|
|
return res, err
|
|
}
|