kra-new/app/system/internal/biz/data_scope.go

28 lines
570 B
Go

package biz
import "context"
type DataScope struct {
All bool
Scope int
UserID uint
AuthorityID uint
PrimaryDeptID uint
OwnerUserID uint
DepartmentIDs []uint
RequestID string
Method string
Path string
}
type dataScopeKey struct{}
func NewDataScopeContext(ctx context.Context, scope DataScope) context.Context {
return context.WithValue(ctx, dataScopeKey{}, scope)
}
func DataScopeFromContext(ctx context.Context) (DataScope, bool) {
scope, ok := ctx.Value(dataScopeKey{}).(DataScope)
return scope, ok
}