ibasic

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ResourceProduct = "product"
)

Variables

View Source
var (
	BuildinProduct = &Product{
		ID:   1,
		Name: "BFE",
	}
	ProxyProduct = &Product{
		ID:   1,
		Name: "proxy",
	}
)

Functions

func BFEClusterID2NameMap

func BFEClusterID2NameMap(list []*BFECluster) map[int64]string

func BFEClusterIDMap

func BFEClusterIDMap(list []*BFECluster) map[int64]*BFECluster

func BFEClusterNameMap

func BFEClusterNameMap(list []*BFECluster) map[string]*BFECluster

func ExtraFilePath

func ExtraFilePath(moduleDir string, product *Product, fileName string) string

func NewProductContext

func NewProductContext(ctx context.Context, product *Product) context.Context

func ProductID2NameMap

func ProductID2NameMap(list []*Product) map[int64]string

func ProductIDMap

func ProductIDMap(list []*Product) map[int64]*Product

Types

type BFECluster

type BFECluster struct {
	ID                 int64
	Name               string
	Pool               string
	Enabled            bool
	ExemptTrafficCheck bool
	Capacity           int64
}

type BFEClusterFilter

type BFEClusterFilter struct {
	Name *string
	Pool *string
}

type BFEClusterManager

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

func NewBFEClusterManager

func NewBFEClusterManager(txn itxn.TxnStorager, storager BFEClusterStorager) *BFEClusterManager

func (*BFEClusterManager) CreateBFECluster

func (pm *BFEClusterManager) CreateBFECluster(ctx context.Context, param *BFEClusterParam) (err error)

func (*BFEClusterManager) DeleteBFECluster

func (pm *BFEClusterManager) DeleteBFECluster(ctx context.Context, param *BFEClusterParam) (err error)

func (*BFEClusterManager) FetchBFEClusters

func (pm *BFEClusterManager) FetchBFEClusters(ctx context.Context, param *BFEClusterFilter) (list []*BFECluster, err error)

type BFEClusterParam

type BFEClusterParam struct {
	Name     *string
	Pool     *string
	Capacity *int64
}

type BFEClusterStorager

type BFEClusterStorager interface {
	DeleteBFECluster(context.Context, *BFECluster) error
	CreateBFECluster(context.Context, *BFEClusterParam) error
	FetchBFEClusters(context.Context, *BFEClusterFilter) ([]*BFECluster, error)
}

type ExtraFile

type ExtraFile struct {
	ID          int64
	Name        string
	ProductID   int64
	Description string
	Md5         []byte
	Content     []byte
}

type ExtraFileFilter

type ExtraFileFilter struct {
	Name  *string
	Names []string
}

type ExtraFileManager

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

func NewExtraFileManager

func NewExtraFileManager(storager ExtraFileStorager) *ExtraFileManager

func (*ExtraFileManager) FetchExtraFile

func (em *ExtraFileManager) FetchExtraFile(ctx context.Context, fileName string) (*ExtraFile, error)

type ExtraFileParam

type ExtraFileParam struct {
	Name        *string
	Description *string
	Md5         []byte
	Content     []byte
}

type ExtraFileStorager

type ExtraFileStorager interface {
	CreateExtraFile(context.Context, *Product, ...*ExtraFileParam) error
	DeleteExtraFile(context.Context, *ExtraFileFilter) error
	FetchExtraFiles(context.Context, *ExtraFileFilter) ([]*ExtraFile, error)
}

type Product

type Product struct {
	ID                int64
	Name              string
	Description       string
	MailList          []string
	PhoneList         []string
	ContactPersonList []string

	CreatedAt time.Time
	UpdatedAt time.Time
}

func MustGetProduct

func MustGetProduct(ctx context.Context) (*Product, error)

type ProductFilter

type ProductFilter struct {
	ID   *int64
	NeID *int64
	IDs  []int64

	Name *string
}

type ProductManager

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

func NewProductManager

func NewProductManager(txn itxn.TxnStorager, storager ProductStorager) *ProductManager

func (*ProductManager) CreateProduct

func (pm *ProductManager) CreateProduct(ctx context.Context, p *ProductParam) (err error)

func (*ProductManager) DeleteProduct

func (pm *ProductManager) DeleteProduct(ctx context.Context, p *Product) (err error)

func (*ProductManager) FetchProducts

func (pm *ProductManager) FetchProducts(ctx context.Context, param *ProductFilter) (list []*Product, err error)

func (*ProductManager) UpdateProduct

func (pm *ProductManager) UpdateProduct(ctx context.Context, p *Product, newVal *ProductParam) (err error)

type ProductParam

type ProductParam struct {
	ID                *int64
	Name              *string
	Description       *string
	MailList          []string
	PhoneList         []string
	ContactPersonList []string
}

type ProductStorager

type ProductStorager interface {
	FetchProducts(context.Context, *ProductFilter) ([]*Product, error)
	DeleteProduct(context.Context, *Product) error
	CreateProduct(context.Context, *ProductParam) error
	UpdateProduct(context.Context, *Product, *ProductParam) error
}

Jump to

Keyboard shortcuts

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