internalmodels

package
v0.0.0-...-4043622 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 16, 2020 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	// Is the account business or personal?
	// Enum: [Personal Business]
	AccountClassification *string `json:"account_classification,omitempty"`

	// Is the account opted out of account matching, e.g. CoP?
	AccountMatchingOptOut *bool `json:"account_matching_opt_out,omitempty"`

	// Account number of the account. A unique number will automatically be generated if not provided.
	// Pattern: ^[A-Z0-9]{0,64}$
	AccountNumber string `json:"account_number,omitempty"`

	// Alternative account names. Used for Confirmation of Payee matching.
	// Max Items: 3
	AlternativeBankAccountNames []string `json:"alternative_bank_account_names"`

	// Primary account name. Used for Confirmation of Payee matching. Required if confirmation_of_payee_enabled is true for the organisation.
	// Max Length: 140
	// Min Length: 1
	BankAccountName string `json:"bank_account_name,omitempty"`

	// Local country bank identifier. In the UK this is the sort code.
	// Pattern: ^[A-Z0-9]{0,16}$
	BankID string `json:"bank_id,omitempty"`

	// ISO 20022 code used to identify the type of bank ID being used
	// Pattern: ^[A-Z]{0,16}$
	BankIDCode string `json:"bank_id_code,omitempty"`

	// ISO 4217 code used to identify the base currency of the account
	// Pattern: ^[A-Z]{3}$
	BaseCurrency string `json:"base_currency,omitempty"`

	// SWIFT BIC in either 8 or 11 character format
	// Pattern: ^([A-Z]{6}[A-Z0-9]{2}|[A-Z]{6}[A-Z0-9]{5})$
	Bic string `json:"bic,omitempty"`

	// ISO 3166-1 code used to identify the domicile of the account
	// Required: true
	// Pattern: ^[A-Z]{2}$
	Country *string `json:"country"`

	// A free-format reference that can be used to link this account to an external system
	// Pattern: ^[a-zA-Z0-9-$@., ]{0,256}$
	CustomerID string `json:"customer_id,omitempty"`

	// Customer first name.
	// Max Length: 40
	// Min Length: 1
	FirstName string `json:"first_name,omitempty"`

	// IBAN of the account. Will be calculated from other fields if not supplied.
	// Pattern: ^[A-Z]{2}[0-9]{2}[A-Z0-9]{0,64}$
	Iban string `json:"iban,omitempty"`

	// Is the account joint?
	JointAccount *bool `json:"joint_account,omitempty"`

	// Secondary identification, e.g. building society roll number. Used for Confirmation of Payee.
	// Max Length: 140
	// Min Length: 1
	SecondaryIdentification string `json:"secondary_identification,omitempty"`

	// Customer title.
	// Max Length: 40
	// Min Length: 1
	Title string `json:"title,omitempty"`
}

func (*Account) Scan

func (r *Account) Scan(src interface{}) error

func (Account) Value

func (r Account) Value() (driver.Value, error)

type AccountRecord

type AccountRecord struct {
	ID             uuid.UUID `db:"id"`
	OrganisationID uuid.UUID `db:"organisation_id"`
	Version        *int64    `db:"version"`
	IsDeleted      bool      `db:"is_deleted"`
	IsLocked       bool      `db:"is_locked"`
	CreatedOn      time.Time `db:"created_on"`
	ModifiedOn     time.Time `db:"modified_on"`
	Record         Account   `db:"record"`
	PaginationId   int64     `db:"pagination_id"`
}

type AuditRecord

type AuditRecord struct {
	RecordType  string          `json:"record_type,omitempty"`
	RecordId    uuid.UUID       `json:"record_id,omitempty"`
	ActionedBy  uuid.UUID       `json:"actioned_by,omitempty"`
	ActionTime  strfmt.DateTime `json:"action_time,omitempty"`
	Description string          `json:"description,omitempty"`
	BeforeData  json.RawMessage `json:"before_data,omitempty"`
	AfterData   json.RawMessage `json:"after_data,omitempty"`
}

type Form3Event

type Form3Event struct {
	Id             uuid.UUID       `json:"id,omitempty"`
	OrganisationId uuid.UUID       `json:"organisation_id,omitempty"`
	Version        int64           `json:"version"`
	EventType      string          `json:"event_type,omitempty"`
	DataRecordType string          `json:"data_record_type,omitempty"`
	RecordType     string          `json:"record_type,omitempty"`
	Data           json.RawMessage `json:"data,omitempty"`
	Record         AuditRecord     `json:"record"`
}

type Form3EventBuilder

type Form3EventBuilder struct {
	// contains filtered or unexported fields
}

func NewForm3EventBuilder

func NewForm3EventBuilder() *Form3EventBuilder

func (*Form3EventBuilder) AfterData

func (b *Form3EventBuilder) AfterData(data interface{}) *Form3EventBuilder

func (*Form3EventBuilder) BeforeData

func (b *Form3EventBuilder) BeforeData(data interface{}) *Form3EventBuilder

func (*Form3EventBuilder) Build

func (b *Form3EventBuilder) Build(ctx *context.Context) *Form3Event

func (*Form3EventBuilder) Created

func (b *Form3EventBuilder) Created() *Form3EventBuilder

func (*Form3EventBuilder) CurrentActionTime

func (b *Form3EventBuilder) CurrentActionTime() *Form3EventBuilder

func (*Form3EventBuilder) Description

func (b *Form3EventBuilder) Description(description string) *Form3EventBuilder

func (*Form3EventBuilder) EventType

func (b *Form3EventBuilder) EventType(eventType string) *Form3EventBuilder

func (*Form3EventBuilder) OrganisationId

func (b *Form3EventBuilder) OrganisationId(organisationId uuid.UUID) *Form3EventBuilder

func (*Form3EventBuilder) RandomId

func (b *Form3EventBuilder) RandomId() *Form3EventBuilder

func (*Form3EventBuilder) RecordId

func (b *Form3EventBuilder) RecordId(id uuid.UUID) *Form3EventBuilder

func (*Form3EventBuilder) RecordType

func (b *Form3EventBuilder) RecordType(recordType string) *Form3EventBuilder

func (*Form3EventBuilder) Updated

func (b *Form3EventBuilder) Updated() *Form3EventBuilder

func (*Form3EventBuilder) Version

func (b *Form3EventBuilder) Version(version int64) *Form3EventBuilder

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL