biz

package
v0.0.0-...-ce719c2 Latest Latest
Warning

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

Go to latest
Published: Aug 28, 2022 License: MIT Imports: 7 Imported by: 0

README

Biz

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrUserNotFound is user not found.
	ErrUserNotFound = errors.NotFound(v1.ErrorReason_USER_NOT_FOUND.String(), "user not found")
)

ProviderSet is biz providers.

Functions

This section is empty.

Types

type AuthGroup

type AuthGroup struct {
	ID          int64            `bun:"id,pk,autoincrement"`
	Name        string           `bun:"name,nullzero,notnull,unique"`
	Permissions []AuthPermission `bun:"m2m:auth_group_permissions,join:AuthGroup=AuthPermission"`
	Users       []AuthUser       `bun:"m2m:auth_user_groups,join:AuthGroup=AuthUser"`

	CreatedAt time.Time `bun:",nullzero,notnull,default:current_timestamp"`
	UpdatedAt time.Time `bun:",nullzero,notnull,default:current_timestamp"`
}

type AuthGroupPermission

type AuthGroupPermission struct {
	GroupID   int64      `bun:"group_id,pk"`
	AuthGroup *AuthGroup `bun:"rel:belongs-to,join:group_id=id"`

	PermissionID   int64           `bun:"permission_id,pk"`
	AuthPermission *AuthPermission `bun:"rel:belongs-to,join:permission_id=id"`
}

type AuthPermission

type AuthPermission struct {
	ID          int64  `bun:"id,pk,autoincrement"`
	Description string `bun:"description,nullzero,notnull"`
	Resource    string `bun:"resource,nullzero,notnull,unique"`
	Action      string `bun:"resource,nullzero,notnull"`

	Users  []AuthUser  `bun:"m2m:auth_user_permissions,join:AuthPermission=AuthUser"`
	Groups []AuthGroup `bun:"m2m:auth_group_permissions,join:AuthPermission=AuthGroup"`

	CreatedAt time.Time `bun:",nullzero,notnull,default:current_timestamp"`
	UpdatedAt time.Time `bun:",nullzero,notnull,default:current_timestamp"`
}

type AuthRepo

type AuthRepo interface {
	// UserHasPerm 用户是否有权限
	UserHasPerm(ctx context.Context, db bun.IDB, uid, perm, act string) (bool, error)
	// UserGetPermissions 获取用户权限
	UserGetPermissions(ctx context.Context, db bun.IDB, uid string) ([]AuthPermission, error)
}

type AuthUser

type AuthUser struct {
	ID          int64            `bun:"id,pk,autoincrement"`
	UID         string           `bun:"uid,nullzero,notnull,unique"`
	DisplayName string           `bun:"display_name,nullzero,notnull"`
	Groups      []AuthGroup      `bun:"m2m:auth_user_groups,join:AuthUser=AuthGroup"`
	Permissions []AuthPermission `bun:"m2m:auth_user_permissions,join:AuthUser=AuthPermission"`

	CreatedAt time.Time `bun:",nullzero,notnull,default:current_timestamp"`
	UpdatedAt time.Time `bun:",nullzero,notnull,default:current_timestamp"`
}

type AuthUserGroup

type AuthUserGroup struct {
	UserID   int64     `bun:"user_id,pk"`
	AuthUser *AuthUser `bun:"rel:belongs-to,join:user_id=id"`

	GroupID   int64      `bun:"group_id,pk"`
	AuthGroup *AuthGroup `bun:"rel:belongs-to,join:group_id=id"`
}

type AuthUserPermission

type AuthUserPermission struct {
	UserID   int64     `bun:"user_id,pk"`
	AuthUser *AuthUser `bun:"rel:belongs-to,join:user_id=id"`

	PermissionID   int64           `bun:"permission_id,pk"`
	AuthPermission *AuthPermission `bun:"rel:belongs-to,join:permission_id=id"`
}

type Greeter

type Greeter struct {
	Hello string
}

Greeter is a Greeter model.

type GreeterRepo

type GreeterRepo interface {
	Save(context.Context, *Greeter) (*Greeter, error)
	Update(context.Context, *Greeter) (*Greeter, error)
	FindByID(context.Context, int64) (*Greeter, error)
	ListByHello(context.Context, string) ([]*Greeter, error)
	ListAll(context.Context) ([]*Greeter, error)
}

GreeterRepo is a Greater repo.

type GreeterUsecase

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

GreeterUsecase is a Greeter usecase.

func NewGreeterUsecase

func NewGreeterUsecase(repo GreeterRepo, logger log.Logger) *GreeterUsecase

NewGreeterUsecase new a Greeter usecase.

func (*GreeterUsecase) CreateGreeter

func (uc *GreeterUsecase) CreateGreeter(ctx context.Context, g *Greeter) (*Greeter, error)

CreateGreeter creates a Greeter, and returns the new Greeter.

Jump to

Keyboard shortcuts

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