state

package
v1.0.0-beta.27 Latest Latest
Warning

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

Go to latest
Published: Oct 17, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	StateFileDir  = "build"
	StateFileName = "state"
)
View Source
var StateLogger = logger.HcLog().Named("raiden.state")

Functions

func BindRpcFunction

func BindRpcFunction(rpc raiden.Rpc, fn *objects.Function) (err error)

func BindToSupabaseRole

func BindToSupabaseRole(r *objects.Role, role raiden.Role)

func BindToSupabaseStorage

func BindToSupabaseStorage(s *objects.Bucket, storage raiden.Bucket)

func BuildRoleFromState

func BuildRoleFromState(rs RoleState, role raiden.Role) (r objects.Role)

func CreateTmpState

func CreateTmpState(stateFile string) string

func GetStateFilePath

func GetStateFilePath() (path string, err error)

func RestoreFromTmp

func RestoreFromTmp(tmpFile string)

func Save

func Save(state *State) error

Types

type ExtractRoleResult

type ExtractRoleResult struct {
	Existing []objects.Role
	New      []objects.Role
	Delete   []objects.Role
}

func ExtractRole

func ExtractRole(roleStates []RoleState, appRoles []raiden.Role, withNativeRole bool) (result ExtractRoleResult, err error)

func (ExtractRoleResult) ToDeleteFlatMap

func (er ExtractRoleResult) ToDeleteFlatMap() map[string]*objects.Role

type ExtractRpcResult

type ExtractRpcResult struct {
	Existing []objects.Function
	New      []objects.Function
	Delete   []objects.Function
}

func ExtractRpc

func ExtractRpc(rpcState []RpcState, appRpc []raiden.Rpc) (result ExtractRpcResult, err error)

func (ExtractRpcResult) ToDeleteFlatMap

func (er ExtractRpcResult) ToDeleteFlatMap() map[string]*objects.Function

type ExtractStorageItem

type ExtractStorageItem struct {
	Storage           objects.Bucket
	ExtractedPolicies ExtractedPolicies
}

func BuildStorageFromApp

func BuildStorageFromApp(storage raiden.Bucket) (si ExtractStorageItem)

func BuildStorageFromState

func BuildStorageFromState(ss StorageState, storage raiden.Bucket) (si ExtractStorageItem)

type ExtractStorageResult

type ExtractStorageResult struct {
	Existing []ExtractStorageItem
	New      []ExtractStorageItem
	Delete   []ExtractStorageItem
}

func ExtractStorage

func ExtractStorage(storageStates []StorageState, appStorages []raiden.Bucket) (result ExtractStorageResult, err error)

func (ExtractStorageResult) ToDeleteFlatMap

func (er ExtractStorageResult) ToDeleteFlatMap() map[string]*objects.Bucket

type ExtractTableItem

type ExtractTableItem struct {
	Table             objects.Table
	ValidationTags    ModelValidationTag
	ExtractedPolicies ExtractedPolicies
}

type ExtractTableItems

type ExtractTableItems []ExtractTableItem

func (ExtractTableItems) ToFlatTable

func (f ExtractTableItems) ToFlatTable() (tables []objects.Table)

type ExtractTableResult

type ExtractTableResult struct {
	Existing ExtractTableItems
	New      ExtractTableItems
	Delete   ExtractTableItems
}

func ExtractTable

func ExtractTable(tableStates []TableState, appTable []any) (result ExtractTableResult, err error)

func (ExtractTableResult) ToDeleteFlatMap

func (f ExtractTableResult) ToDeleteFlatMap() map[string]*objects.Table

type ExtractedPolicies

type ExtractedPolicies struct {
	Existing []objects.Policy
	New      []objects.Policy
	Delete   []objects.Policy
}

type JoinRelation

type JoinRelation struct {
	SourcePrimaryKey      string
	JoinsSourceForeignKey string

	TargetPrimaryKey     string
	JoinTargetForeignKey string

	Through string
}

type LocalState

type LocalState struct {
	State      State
	NeedUpdate bool
	Mutex      sync.RWMutex
}

func (*LocalState) AddRole

func (s *LocalState) AddRole(role RoleState)

func (*LocalState) AddRpc

func (s *LocalState) AddRpc(rpc RpcState)

func (*LocalState) AddStorage

func (s *LocalState) AddStorage(storage StorageState)

func (*LocalState) AddTable

func (s *LocalState) AddTable(table TableState)

func (*LocalState) DeleteRole

func (s *LocalState) DeleteRole(roleId int)

func (*LocalState) DeleteRpc

func (s *LocalState) DeleteRpc(rpcId int)

func (*LocalState) DeleteStorage

func (s *LocalState) DeleteStorage(storageId string)

func (*LocalState) DeleteTable

func (s *LocalState) DeleteTable(tableId int)

func (*LocalState) FindRole

func (s *LocalState) FindRole(roleId int) (index int, roleState RoleState, found bool)

func (*LocalState) FindRpc

func (s *LocalState) FindRpc(rpcId int) (index int, rpcState RpcState, found bool)

func (*LocalState) FindStorage

func (s *LocalState) FindStorage(storageId string) (index int, storageState StorageState, found bool)

func (*LocalState) FindStorageByName

func (s *LocalState) FindStorageByName(name string) (index int, storageState StorageState, found bool)

func (*LocalState) FindStorageByPermissionName

func (s *LocalState) FindStorageByPermissionName(name string) (index int, storageState StorageState, found bool)

func (*LocalState) FindTable

func (s *LocalState) FindTable(tableId int) (index int, tableState TableState, found bool)

func (*LocalState) Persist

func (s *LocalState) Persist() error

func (*LocalState) UpdateRole

func (s *LocalState) UpdateRole(index int, state RoleState)

func (*LocalState) UpdateRpc

func (s *LocalState) UpdateRpc(index int, state RpcState)

func (*LocalState) UpdateStorage

func (s *LocalState) UpdateStorage(index int, state StorageState)

func (*LocalState) UpdateTable

func (s *LocalState) UpdateTable(index int, state TableState)

type ModelValidationTag

type ModelValidationTag map[string]string

type Relation

type Relation struct {
	Table        string
	Type         string
	RelationType raiden.RelationType
	PrimaryKey   string
	ForeignKey   string
	Tag          string
	*JoinRelation
}

type RoleState

type RoleState struct {
	Role       objects.Role
	RolePath   string
	RoleStruct string
	IsNative   bool
	LastUpdate time.Time
}

type RpcState

type RpcState struct {
	Function   objects.Function
	RpcPath    string
	RpcStruct  string
	LastUpdate time.Time
}

type State

type State struct {
	Tables  []TableState
	Roles   []RoleState
	Rpc     []RpcState
	Storage []StorageState
}

func Load

func Load() (*State, error)

type StorageState

type StorageState struct {
	Storage       objects.Bucket
	StoragePath   string
	StorageStruct string
	LastUpdate    time.Time
	Policies      []objects.Policy
}

type TableState

type TableState struct {
	Table       objects.Table
	Relation    []Relation
	ModelPath   string
	ModelStruct string
	LastUpdate  time.Time
	Policies    []objects.Policy
}

Jump to

Keyboard shortcuts

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