Files
sxchnge/backend/pkg/model/account_metadata.go
T

46 lines
1.7 KiB
Go

package model
import "time"
type AccountMetadata struct {
PersonalLedgerProvisioning *LedgerProvisioningMetadata `bson:"personalLedgerProvisioning,omitempty" json:"-"`
}
type LedgerProvisioningMetadata struct {
Source string `bson:"source,omitempty" json:"-"`
InvitationRef string `bson:"invitationRef,omitempty" json:"-"`
TargetCurrencies []string `bson:"targetCurrencies,omitempty" json:"-"`
Created []string `bson:"created,omitempty" json:"-"`
AlreadyExisting []string `bson:"alreadyExisting,omitempty" json:"-"`
Failed []LedgerProvisioningFailure `bson:"failed,omitempty" json:"-"`
Outcome string `bson:"outcome,omitempty" json:"-"`
LastErrorClass string `bson:"lastErrorClass,omitempty" json:"-"`
LastAttemptAt time.Time `bson:"lastAttemptAt,omitempty" json:"-"`
}
type LedgerProvisioningFailure struct {
Currency string `bson:"currency,omitempty" json:"-"`
ErrorClass string `bson:"errorClass,omitempty" json:"-"`
}
func (m *AccountMetadata) Copy() *AccountMetadata {
if m == nil {
return nil
}
copied := *m
copied.PersonalLedgerProvisioning = m.PersonalLedgerProvisioning.Copy()
return &copied
}
func (m *LedgerProvisioningMetadata) Copy() *LedgerProvisioningMetadata {
if m == nil {
return nil
}
copied := *m
copied.TargetCurrencies = append([]string(nil), m.TargetCurrencies...)
copied.Created = append([]string(nil), m.Created...)
copied.AlreadyExisting = append([]string(nil), m.AlreadyExisting...)
copied.Failed = append([]LedgerProvisioningFailure(nil), m.Failed...)
return &copied
}