dto

package
v0.0.0-...-eecab09 Latest Latest
Warning

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

Go to latest
Published: Aug 1, 2023 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ErrorCodeDtoBase = domainerrors.ErrorCodeInfraDTO + domainerrors.ErrorCodeInfraDTO + domainerrors.ErrorCodeInfraDTOBase + iota
	ErrorCodeTransform
	ErrorCodeBackToDomain
	ErrorCodeToJSON
	ErrorCodeDecodeJSON
	ErrorCodeInvalidFilterField
	ErrorCodeInvalidOrderField
	ErrorCodeParseMap
)

Variables

View Source
var (
	ErrParesMapFailed = errors.New("parse map failed")
	ErrCastTypeFailed = errors.New("cast type failed")
)

Functions

func ParseDateString

func ParseDateString(data map[string]interface{}) error

Types

type Chain

type Chain string
const (
	None     Chain = "None"
	Bitcoin  Chain = "Bitcoin"
	Ethereum Chain = "Ethereum"
	Polygon  Chain = "Polygon"
)

type Currency

type Currency struct {
	ID             string `json:"id" gorm:"primary_key"`
	Name           string `json:"name"`
	Symbol         string `json:"symbol"`
	WalletBalances []WalletBalance
	CreatedAt      time.Time       `json:"created_at" mapstructure:"created_at" gorm:"column:created_at"`
	UpdatedAt      time.Time       `json:"updated_at" mapstructure:"updated_at" gorm:"column:updated_at"`
	DeletedAt      *gorm.DeletedAt `json:"deleted_at" mapstructure:"deleted_at" gorm:"index;column:deleted_at"`
}

func (*Currency) BackToDomain

func (a *Currency) BackToDomain() (domain.IEntity, error)

func (*Currency) BeforeCreate

func (a *Currency) BeforeCreate() (err error)

func (*Currency) BeforeUpdate

func (a *Currency) BeforeUpdate() (err error)

func (*Currency) GetID

func (a *Currency) GetID() string

func (*Currency) GetListType

func (a *Currency) GetListType() interface{}

func (*Currency) GetPreloads

func (a *Currency) GetPreloads() []string

func (*Currency) ParseMap

func (a *Currency) ParseMap(data map[string]interface{}) (IRepoEntity, error)

func (*Currency) SetID

func (a *Currency) SetID(id string)

func (*Currency) TableName

func (a *Currency) TableName() string

func (*Currency) ToJSON

func (a *Currency) ToJSON() (string, error)

func (*Currency) Transform

func (a *Currency) Transform(i domain.IEntity) (IRepoEntity, error)

func (*Currency) UnmarshalJSON

func (a *Currency) UnmarshalJSON(data []byte) error

type Group

type Group struct {
	ID          string          `json:"id" gorm:"primary_key"`
	Name        string          `json:"name"`
	Description string          `json:"description"`
	Users       []User          `json:"users" gorm:"foreignKey:GroupID"`
	OwnerID     string          `json:"ownerId"`
	Metadata    string          `json:"metadata"`
	CreatedAt   time.Time       `json:"created_at" mapstructure:"created_at" gorm:"column:created_at"`
	UpdatedAt   time.Time       `json:"updated_at" mapstructure:"updated_at" gorm:"column:updated_at"`
	DeletedAt   *gorm.DeletedAt `json:"deleted_at" mapstructure:"deleted_at" gorm:"index;column:deleted_at"`
}

func (*Group) BackToDomain

func (a *Group) BackToDomain() (domain.IEntity, error)

func (*Group) BeforeCreate

func (a *Group) BeforeCreate() (err error)

func (*Group) BeforeUpdate

func (a *Group) BeforeUpdate() (err error)

func (*Group) GetID

func (a *Group) GetID() string

func (*Group) GetListType

func (a *Group) GetListType() interface{}

func (*Group) GetPreloads

func (a *Group) GetPreloads() []string

func (*Group) ParseMap

func (a *Group) ParseMap(data map[string]interface{}) (IRepoEntity, error)

func (*Group) SetID

func (a *Group) SetID(id string)

func (*Group) TableName

func (a *Group) TableName() string

func (*Group) ToJSON

func (a *Group) ToJSON() (string, error)

func (*Group) Transform

func (a *Group) Transform(i domain.IEntity) (IRepoEntity, error)

func (*Group) UnmarshalJSON

func (a *Group) UnmarshalJSON(data []byte) error

type IRepoEntity

type IRepoEntity interface {
	// domain.IEntity
	TableName() string
	Transform(domain.IEntity) (IRepoEntity, error)
	BackToDomain() (domain.IEntity, error)
	ParseMap(map[string]interface{}) (IRepoEntity, error)
	ToJSON() (string, error)
	UnmarshalJSON([]byte) error
	GetListType() interface{}
	GetPreloads() []string

	// Hook
	BeforeCreate() error
	BeforeUpdate() error

	GetID() string
	SetID(string)
}

type List

type List struct {
	Limit  int         `json:"limit"`
	Offset int         `json:"offset"`
	Total  int         `json:"total"`
	Data   interface{} `json:"data"`
}

func (*List) BackToDomain

func (l *List) BackToDomain(model IRepoEntity) (*domain.List, error)

type Role

type Role struct {
	ID          string          `json:"id" gorm:"type:varchar(20);primary_key"`
	Name        string          `json:"name"`
	Description string          `json:"description"`
	Permissions pq.StringArray  `json:"permissions" gorm:"type:varchar(100)[]"`
	Users       []User          `json:"users" gorm:"many2many:user_roles;"`
	CreatedAt   time.Time       `json:"created_at" mapstructure:"created_at" gorm:"column:created_at"`
	UpdatedAt   time.Time       `json:"updated_at" mapstructure:"updated_at" gorm:"column:updated_at"`
	DeletedAt   *gorm.DeletedAt `json:"deleted_at" mapstructure:"deleted_at" gorm:"index;column:deleted_at"`
}

func (*Role) BackToDomain

func (a *Role) BackToDomain() (domain.IEntity, error)

func (*Role) BeforeCreate

func (a *Role) BeforeCreate() (err error)

func (*Role) BeforeUpdate

func (a *Role) BeforeUpdate() (err error)

func (*Role) GetID

func (a *Role) GetID() string

func (*Role) GetListType

func (a *Role) GetListType() interface{}

func (*Role) GetPreloads

func (a *Role) GetPreloads() []string

func (*Role) ParseMap

func (a *Role) ParseMap(data map[string]interface{}) (IRepoEntity, error)

func (*Role) SetID

func (a *Role) SetID(id string)

func (*Role) TableName

func (a *Role) TableName() string

func (*Role) ToJSON

func (a *Role) ToJSON() (string, error)

func (*Role) Transform

func (a *Role) Transform(i domain.IEntity) (IRepoEntity, error)

func (*Role) UnmarshalJSON

func (a *Role) UnmarshalJSON(data []byte) error

type User

type User struct {
	ID          string          `json:"id" gorm:"primary_key"`
	Username    string          `json:"username"`
	Password    string          `json:"password"`
	EMail       string          `json:"email"`
	DisplayName string          `json:"display_name"`
	Avatar      string          `json:"avatar"`
	Enabled     bool            `json:"enabled"`
	Roles       []Role          `json:"roles" gorm:"many2many:user_roles;"`
	Wallets     []Wallet        `json:"wallets" gorm:"foreignKey:UserID"`
	Group       Group           `json:"group"`
	GroupID     string          `json:"groupId" gorm:"index"`
	CreatedAt   time.Time       `json:"created_at" mapstructure:"created_at" gorm:"column:created_at"`
	UpdatedAt   time.Time       `json:"updated_at" mapstructure:"updated_at" gorm:"column:updated_at"`
	DeletedAt   *gorm.DeletedAt `json:"deleted_at" mapstructure:"deleted_at" gorm:"index;column:deleted_at"`
}

func (*User) BackToDomain

func (a *User) BackToDomain() (domain.IEntity, error)

func (*User) BeforeCreate

func (a *User) BeforeCreate() (err error)

func (*User) BeforeUpdate

func (a *User) BeforeUpdate() (err error)

func (*User) GetID

func (a *User) GetID() string

func (*User) GetListType

func (a *User) GetListType() interface{}

func (*User) GetPreloads

func (a *User) GetPreloads() []string

func (*User) ParseMap

func (a *User) ParseMap(data map[string]interface{}) (IRepoEntity, error)

func (*User) SetID

func (a *User) SetID(id string)

func (*User) TableName

func (a *User) TableName() string

func (*User) ToJSON

func (a *User) ToJSON() (string, error)

func (*User) Transform

func (a *User) Transform(i domain.IEntity) (IRepoEntity, error)

func (*User) UnmarshalJSON

func (a *User) UnmarshalJSON(data []byte) error

type Wallet

type Wallet struct {
	ID             string          `json:"id" gorm:"primary_key"`
	Name           string          `json:"name"`
	Description    string          `json:"description"`
	Chain          Chain           `json:"chain"`
	Address        string          `json:"address"`
	UserID         string          `json:"userId" gorm:"index"`
	WalletBalances []WalletBalance `json:"walletBalances" gorm:"foreignKey:WalletID"`
	CreatedAt      time.Time       `json:"created_at" mapstructure:"created_at" gorm:"column:created_at"`
	UpdatedAt      time.Time       `json:"updated_at" mapstructure:"updated_at" gorm:"column:updated_at"`
	DeletedAt      *gorm.DeletedAt `json:"deleted_at" mapstructure:"deleted_at" gorm:"index;column:deleted_at"`
}

func (*Wallet) BackToDomain

func (a *Wallet) BackToDomain() (domain.IEntity, error)

func (*Wallet) BeforeCreate

func (a *Wallet) BeforeCreate() (err error)

func (*Wallet) BeforeUpdate

func (a *Wallet) BeforeUpdate() (err error)

func (*Wallet) GetID

func (a *Wallet) GetID() string

func (*Wallet) GetListType

func (a *Wallet) GetListType() interface{}

func (*Wallet) GetPreloads

func (a *Wallet) GetPreloads() []string

func (*Wallet) ParseMap

func (a *Wallet) ParseMap(data map[string]interface{}) (IRepoEntity, error)

func (*Wallet) SetID

func (a *Wallet) SetID(id string)

func (*Wallet) TableName

func (a *Wallet) TableName() string

func (*Wallet) ToJSON

func (a *Wallet) ToJSON() (string, error)

func (*Wallet) Transform

func (a *Wallet) Transform(i domain.IEntity) (IRepoEntity, error)

func (*Wallet) UnmarshalJSON

func (a *Wallet) UnmarshalJSON(data []byte) error

type WalletBalance

type WalletBalance struct {
	ID         string          `json:"id" gorm:"primary_key"`
	WalletID   string          `json:"walletId" gorm:"index"`
	CurrencyID string          `json:"currencyId" gorm:"index"`
	Balance    uint            `json:"balance"`
	Decimal    uint            `json:"decimal"`
	CreatedAt  time.Time       `json:"created_at" mapstructure:"created_at" gorm:"column:created_at"`
	UpdatedAt  time.Time       `json:"updated_at" mapstructure:"updated_at" gorm:"column:updated_at"`
	DeletedAt  *gorm.DeletedAt `json:"deleted_at" mapstructure:"deleted_at" gorm:"index;column:deleted_at"`
}

func (*WalletBalance) BackToDomain

func (a *WalletBalance) BackToDomain() (domain.IEntity, error)

func (*WalletBalance) BeforeCreate

func (a *WalletBalance) BeforeCreate() (err error)

func (*WalletBalance) BeforeUpdate

func (a *WalletBalance) BeforeUpdate() (err error)

func (*WalletBalance) GetID

func (a *WalletBalance) GetID() string

func (*WalletBalance) GetListType

func (a *WalletBalance) GetListType() interface{}

func (*WalletBalance) GetPreloads

func (a *WalletBalance) GetPreloads() []string

func (*WalletBalance) ParseMap

func (a *WalletBalance) ParseMap(data map[string]interface{}) (IRepoEntity, error)

func (*WalletBalance) SetID

func (a *WalletBalance) SetID(id string)

func (*WalletBalance) TableName

func (a *WalletBalance) TableName() string

func (*WalletBalance) ToJSON

func (a *WalletBalance) ToJSON() (string, error)

func (*WalletBalance) Transform

func (a *WalletBalance) Transform(i domain.IEntity) (IRepoEntity, error)

func (*WalletBalance) UnmarshalJSON

func (a *WalletBalance) UnmarshalJSON(data []byte) error

Jump to

Keyboard shortcuts

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