ledger account describibale support
This commit is contained in:
@@ -3,7 +3,6 @@ package discovery
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
@@ -13,6 +12,7 @@ import (
|
||||
cons "github.com/tech/sendico/pkg/messaging/consumer"
|
||||
me "github.com/tech/sendico/pkg/messaging/envelope"
|
||||
msgproducer "github.com/tech/sendico/pkg/messaging/producer"
|
||||
"github.com/tech/sendico/pkg/merrors"
|
||||
"github.com/tech/sendico/pkg/mlogger"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
@@ -29,7 +29,7 @@ type Client struct {
|
||||
|
||||
func NewClient(logger mlogger.Logger, msgBroker mb.Broker, producer msg.Producer, sender string) (*Client, error) {
|
||||
if msgBroker == nil {
|
||||
return nil, errors.New("discovery client: broker is nil")
|
||||
return nil, merrors.InvalidArgument("discovery client: broker is nil")
|
||||
}
|
||||
if logger == nil {
|
||||
logger = zap.NewNop()
|
||||
@@ -82,7 +82,7 @@ func (c *Client) Close() {
|
||||
|
||||
func (c *Client) Lookup(ctx context.Context) (LookupResponse, error) {
|
||||
if c == nil || c.producer == nil {
|
||||
return LookupResponse{}, errors.New("discovery client: producer not configured")
|
||||
return LookupResponse{}, merrors.Internal("discovery client: producer not configured")
|
||||
}
|
||||
requestID := uuid.NewString()
|
||||
ch := make(chan LookupResponse, 1)
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/nats-io/nats.go"
|
||||
"github.com/tech/sendico/pkg/merrors"
|
||||
"github.com/tech/sendico/pkg/mlogger"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
@@ -48,7 +49,7 @@ type KVStore struct {
|
||||
|
||||
func NewKVStore(logger mlogger.Logger, js nats.JetStreamContext, bucket string, opts ...KVStoreOption) (*KVStore, error) {
|
||||
if js == nil {
|
||||
return nil, errors.New("discovery kv: jetstream is nil")
|
||||
return nil, merrors.InvalidArgument("discovery kv: jetstream is nil")
|
||||
}
|
||||
if logger == nil {
|
||||
logger = zap.NewNop()
|
||||
@@ -120,11 +121,11 @@ func ensureKVTTL(logger mlogger.Logger, js nats.JetStreamContext, kv nats.KeyVal
|
||||
|
||||
func (s *KVStore) Put(entry RegistryEntry) error {
|
||||
if s == nil || s.kv == nil {
|
||||
return errors.New("discovery kv: not configured")
|
||||
return merrors.Internal("discovery kv: not configured")
|
||||
}
|
||||
key := registryEntryKey(normalizeEntry(entry))
|
||||
if key == "" {
|
||||
return errors.New("discovery kv: entry key is empty")
|
||||
return merrors.InvalidArgument("discovery kv: entry key is empty")
|
||||
}
|
||||
payload, err := json.Marshal(entry)
|
||||
if err != nil {
|
||||
@@ -140,7 +141,7 @@ func (s *KVStore) Put(entry RegistryEntry) error {
|
||||
|
||||
func (s *KVStore) Delete(id string) error {
|
||||
if s == nil || s.kv == nil {
|
||||
return errors.New("discovery kv: not configured")
|
||||
return merrors.Internal("discovery kv: not configured")
|
||||
}
|
||||
key := kvKeyFromRegistryKey(id)
|
||||
if key == "" {
|
||||
@@ -155,7 +156,7 @@ func (s *KVStore) Delete(id string) error {
|
||||
|
||||
func (s *KVStore) WatchAll() (nats.KeyWatcher, error) {
|
||||
if s == nil || s.kv == nil {
|
||||
return nil, errors.New("discovery kv: not configured")
|
||||
return nil, merrors.Internal("discovery kv: not configured")
|
||||
}
|
||||
return s.kv.WatchAll()
|
||||
}
|
||||
|
||||
@@ -2,9 +2,9 @@ package discovery
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
|
||||
messaging "github.com/tech/sendico/pkg/messaging/envelope"
|
||||
"github.com/tech/sendico/pkg/merrors"
|
||||
"github.com/tech/sendico/pkg/model"
|
||||
)
|
||||
|
||||
@@ -15,7 +15,7 @@ type jsonEnvelope struct {
|
||||
|
||||
func (e *jsonEnvelope) Serialize() ([]byte, error) {
|
||||
if e.payload == nil {
|
||||
return nil, errors.New("discovery envelope payload is nil")
|
||||
return nil, merrors.InvalidArgument("discovery envelope payload is nil")
|
||||
}
|
||||
data, err := json.Marshal(e.payload)
|
||||
if err != nil {
|
||||
|
||||
@@ -3,12 +3,12 @@ package discovery
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/nats-io/nats.go"
|
||||
"github.com/tech/sendico/pkg/merrors"
|
||||
msg "github.com/tech/sendico/pkg/messaging"
|
||||
mb "github.com/tech/sendico/pkg/messaging/broker"
|
||||
cons "github.com/tech/sendico/pkg/messaging/consumer"
|
||||
@@ -50,13 +50,13 @@ type consumerHandler struct {
|
||||
|
||||
func NewRegistryService(logger mlogger.Logger, msgBroker mb.Broker, producer msg.Producer, registry *Registry, sender string, opts ...RegistryOption) (*RegistryService, error) {
|
||||
if msgBroker == nil {
|
||||
return nil, errors.New("discovery registry: broker is nil")
|
||||
return nil, merrors.InvalidArgument("discovery registry: broker is nil", "broker")
|
||||
}
|
||||
if registry == nil {
|
||||
registry = NewRegistry()
|
||||
}
|
||||
if logger == nil {
|
||||
logger = zap.NewNop()
|
||||
return nil, merrors.InvalidArgument("discovery registry: no logger provided", "logger")
|
||||
}
|
||||
logger = logger.Named("discovery_registry")
|
||||
sender = strings.TrimSpace(sender)
|
||||
|
||||
@@ -2,12 +2,12 @@ package discovery
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/nats-io/nats.go"
|
||||
mb "github.com/tech/sendico/pkg/messaging/broker"
|
||||
"github.com/tech/sendico/pkg/merrors"
|
||||
"github.com/tech/sendico/pkg/mlogger"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
@@ -23,22 +23,22 @@ type RegistryWatcher struct {
|
||||
|
||||
func NewRegistryWatcher(logger mlogger.Logger, msgBroker mb.Broker, registry *Registry) (*RegistryWatcher, error) {
|
||||
if msgBroker == nil {
|
||||
return nil, errors.New("discovery watcher: broker is nil")
|
||||
return nil, merrors.InvalidArgument("discovery watcher: broker is nil")
|
||||
}
|
||||
if registry == nil {
|
||||
registry = NewRegistry()
|
||||
}
|
||||
if logger == nil {
|
||||
return nil, errors.New("discovery logger: logger must be provided")
|
||||
return nil, merrors.InvalidArgument("discovery logger: logger must be provided")
|
||||
}
|
||||
logger = logger.Named("discovery_watcher")
|
||||
provider, ok := msgBroker.(jetStreamProvider)
|
||||
if !ok {
|
||||
return nil, errors.New("discovery watcher: jetstream not available")
|
||||
return nil, merrors.Internal("discovery watcher: jetstream not available")
|
||||
}
|
||||
js := provider.JetStream()
|
||||
if js == nil {
|
||||
return nil, errors.New("discovery watcher: jetstream not configured")
|
||||
return nil, merrors.Internal("discovery watcher: jetstream not configured")
|
||||
}
|
||||
store, err := NewKVStore(logger, js, "")
|
||||
if err != nil {
|
||||
@@ -54,7 +54,7 @@ func NewRegistryWatcher(logger mlogger.Logger, msgBroker mb.Broker, registry *Re
|
||||
|
||||
func (w *RegistryWatcher) Start() error {
|
||||
if w == nil || w.kv == nil {
|
||||
return errors.New("discovery watcher: not configured")
|
||||
return merrors.Internal("discovery watcher: not configured")
|
||||
}
|
||||
watcher, err := w.kv.WatchAll()
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user