16 lines
491 B
Go
16 lines
491 B
Go
package fees
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
"github.com/tech/sendico/billing/fees/storage/model"
|
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
|
)
|
|
|
|
// FeeResolver centralises plan/rule resolution with org override and global fallback.
|
|
// Implementations live under the internal/resolver package.
|
|
type FeeResolver interface {
|
|
ResolveFeeRule(ctx context.Context, orgID *primitive.ObjectID, trigger model.Trigger, at time.Time, attrs map[string]string) (*model.FeePlan, *model.FeeRule, error)
|
|
}
|