orm

package
v0.0.0-...-b9f09f0 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2025 License: MIT Imports: 20 Imported by: 0

Documentation

Overview

generated by stacks/gong/go/models/orm_file_per_struct_back_repo.go

generated by stacks/gong/go/models/orm_file_per_struct_back_repo.go

generated by stacks/gong/go/models/orm_file_per_struct_back_repo.go

generated by stacks/gong/go/models/orm_file_per_struct_back_repo.go

do not modify, generated file

generated code - do not edit

generated code - do not edit

generated code - do not edit

generated code - do not edit

generated code - do not edit

Index

Constants

This section is empty.

Variables

View Source
var BackRepoButtonid_atBckpTime_newID map[uint]uint

this field is used during the restauration process. it stores the ID at the backup time and is used for renumbering

View Source
var BackRepoNodeid_atBckpTime_newID map[uint]uint

this field is used during the restauration process. it stores the ID at the backup time and is used for renumbering

View Source
var BackRepoSVGIconid_atBckpTime_newID map[uint]uint

this field is used during the restauration process. it stores the ID at the backup time and is used for renumbering

View Source
var BackRepoTreeid_atBckpTime_newID map[uint]uint

this field is used during the restauration process. it stores the ID at the backup time and is used for renumbering

View Source
var Button_Fields = []string{

	"ID",
	"Name",
	"Icon",
}
View Source
var Node_Fields = []string{

	"ID",
	"Name",
	"FontStyle",
	"BackgroundColor",
	"IsExpanded",
	"HasCheckboxButton",
	"IsChecked",
	"IsCheckboxDisabled",
	"HasSecondCheckboxButton",
	"IsSecondCheckboxChecked",
	"IsSecondCheckboxDisabled",
	"TextAfterSecondCheckbox",
	"IsInEditMode",
	"IsNodeClickable",
	"IsWithPreceedingIcon",
	"PreceedingIcon",
}
View Source
var SVGIcon_Fields = []string{

	"ID",
	"Name",
	"SVG",
}
View Source
var Tree_Fields = []string{

	"ID",
	"Name",
}

Functions

func CopyBackRepoToBackRepoData

func CopyBackRepoToBackRepoData(backRepo *BackRepoStruct, backRepoData *BackRepoData)

func GetID

func GetID[T models.Gongstruct](
	stage *models.StageStruct,
	backRepo *BackRepoStruct,
	instance *T) (id int)

func GetIDPointer

func GetIDPointer[T models.PointerToGongstruct](
	stage *models.StageStruct,
	backRepo *BackRepoStruct,
	instance T) (id int)

func GetInstanceDBFromInstance

func GetInstanceDBFromInstance[T models.Gongstruct, T2 GongstructDB](
	stage *models.StageStruct,
	backRepo *BackRepoStruct,
	instance *T) (ret *T2)

func GetReverseFieldOwner

func GetReverseFieldOwner[T models.Gongstruct](
	stage *models.StageStruct,
	backRepo *BackRepoStruct,
	instance *T,
	reverseField *models.ReverseField) (res any)

func GetReverseFieldOwnerName

func GetReverseFieldOwnerName(
	stage *models.StageStruct,
	backRepo *BackRepoStruct,
	instance any,
	reverseField *models.ReverseField) (res string)

Types

type BackRepoButtonStruct

type BackRepoButtonStruct struct {
	// stores ButtonDB according to their gorm ID
	Map_ButtonDBID_ButtonDB map[uint]*ButtonDB

	// stores ButtonDB ID according to Button address
	Map_ButtonPtr_ButtonDBID map[*models.Button]uint

	// stores Button according to their gorm ID
	Map_ButtonDBID_ButtonPtr map[uint]*models.Button
	// contains filtered or unexported fields
}

func (*BackRepoButtonStruct) Backup

func (backRepoButton *BackRepoButtonStruct) Backup(dirPath string)

Backup generates a json file from a slice of all ButtonDB instances in the backrepo

func (*BackRepoButtonStruct) BackupXL

func (backRepoButton *BackRepoButtonStruct) BackupXL(file *xlsx.File)

Backup generates a json file from a slice of all ButtonDB instances in the backrepo

func (*BackRepoButtonStruct) CheckoutPhaseOne

func (backRepoButton *BackRepoButtonStruct) CheckoutPhaseOne() (Error error)

BackRepoButton.CheckoutPhaseOne Checkouts all BackRepo instances to the Stage

Phase One will result in having instances on the stage aligned with the back repo pointers are not initialized yet (this is for phase two)

func (*BackRepoButtonStruct) CheckoutPhaseOneInstance

func (backRepoButton *BackRepoButtonStruct) CheckoutPhaseOneInstance(buttonDB *ButtonDB) (Error error)

CheckoutPhaseOneInstance takes a buttonDB that has been found in the DB, updates the backRepo and stages the models version of the buttonDB

func (*BackRepoButtonStruct) CheckoutPhaseTwo

func (backRepoButton *BackRepoButtonStruct) CheckoutPhaseTwo(backRepo *BackRepoStruct) (Error error)

BackRepoButton.CheckoutPhaseTwo Checkouts all staged instances of Button to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoButtonStruct) CheckoutPhaseTwoInstance

func (backRepoButton *BackRepoButtonStruct) CheckoutPhaseTwoInstance(backRepo *BackRepoStruct, buttonDB *ButtonDB) (Error error)

BackRepoButton.CheckoutPhaseTwoInstance Checkouts staged instances of Button to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoButtonStruct) CommitDeleteInstance

func (backRepoButton *BackRepoButtonStruct) CommitDeleteInstance(id uint) (Error error)

BackRepoButton.CommitDeleteInstance commits deletion of Button to the BackRepo

func (*BackRepoButtonStruct) CommitPhaseOne

func (backRepoButton *BackRepoButtonStruct) CommitPhaseOne(stage *models.StageStruct) (Error error)

BackRepoButton.CommitPhaseOne commits all staged instances of Button to the BackRepo Phase One is the creation of instance in the database if it is not yet done to get the unique ID for each staged instance

func (*BackRepoButtonStruct) CommitPhaseOneInstance

func (backRepoButton *BackRepoButtonStruct) CommitPhaseOneInstance(button *models.Button) (Error error)

BackRepoButton.CommitPhaseOneInstance commits button staged instances of Button to the BackRepo Phase One is the creation of instance in the database if it is not yet done to get the unique ID for each staged instance

func (*BackRepoButtonStruct) CommitPhaseTwo

func (backRepoButton *BackRepoButtonStruct) CommitPhaseTwo(backRepo *BackRepoStruct) (Error error)

BackRepoButton.CommitPhaseTwo commits all staged instances of Button to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoButtonStruct) CommitPhaseTwoInstance

func (backRepoButton *BackRepoButtonStruct) CommitPhaseTwoInstance(backRepo *BackRepoStruct, idx uint, button *models.Button) (Error error)

BackRepoButton.CommitPhaseTwoInstance commits {{structname }} of models.Button to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoButtonStruct) GetButtonDBFromButtonPtr

func (backRepoButton *BackRepoButtonStruct) GetButtonDBFromButtonPtr(button *models.Button) (buttonDB *ButtonDB)

GetButtonDBFromButtonPtr is a handy function to access the back repo instance from the stage instance

func (*BackRepoButtonStruct) GetDB

func (backRepoButton *BackRepoButtonStruct) GetDB() db.DBInterface

func (*BackRepoButtonStruct) GetStage

func (backRepoButton *BackRepoButtonStruct) GetStage() (stage *models.StageStruct)

func (*BackRepoButtonStruct) ResetReversePointers

func (backRepoButton *BackRepoButtonStruct) ResetReversePointers(backRepo *BackRepoStruct) (Error error)

BackRepoButton.ResetReversePointers commits all staged instances of Button to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoButtonStruct) ResetReversePointersInstance

func (backRepoButton *BackRepoButtonStruct) ResetReversePointersInstance(backRepo *BackRepoStruct, idx uint, button *models.Button) (Error error)

func (*BackRepoButtonStruct) RestorePhaseOne

func (backRepoButton *BackRepoButtonStruct) RestorePhaseOne(dirPath string)

RestorePhaseOne read the file "ButtonDB.json" in dirPath that stores an array of ButtonDB and stores it in the database the map BackRepoButtonid_atBckpTime_newID is updated accordingly

func (*BackRepoButtonStruct) RestorePhaseTwo

func (backRepoButton *BackRepoButtonStruct) RestorePhaseTwo()

RestorePhaseTwo uses all map BackRepo<Button>id_atBckpTime_newID to compute new index

func (*BackRepoButtonStruct) RestoreXLPhaseOne

func (backRepoButton *BackRepoButtonStruct) RestoreXLPhaseOne(file *xlsx.File)

RestoreXL from the "Button" sheet all ButtonDB instances

type BackRepoData

type BackRepoData struct {
	ButtonAPIs []*ButtonAPI

	NodeAPIs []*NodeAPI

	SVGIconAPIs []*SVGIconAPI

	TreeAPIs []*TreeAPI

	// index of the web socket for this stack type (unique among all stack instances)
	GONG__Index int
}

type BackRepoNodeStruct

type BackRepoNodeStruct struct {
	// stores NodeDB according to their gorm ID
	Map_NodeDBID_NodeDB map[uint]*NodeDB

	// stores NodeDB ID according to Node address
	Map_NodePtr_NodeDBID map[*models.Node]uint

	// stores Node according to their gorm ID
	Map_NodeDBID_NodePtr map[uint]*models.Node
	// contains filtered or unexported fields
}

func (*BackRepoNodeStruct) Backup

func (backRepoNode *BackRepoNodeStruct) Backup(dirPath string)

Backup generates a json file from a slice of all NodeDB instances in the backrepo

func (*BackRepoNodeStruct) BackupXL

func (backRepoNode *BackRepoNodeStruct) BackupXL(file *xlsx.File)

Backup generates a json file from a slice of all NodeDB instances in the backrepo

func (*BackRepoNodeStruct) CheckoutPhaseOne

func (backRepoNode *BackRepoNodeStruct) CheckoutPhaseOne() (Error error)

BackRepoNode.CheckoutPhaseOne Checkouts all BackRepo instances to the Stage

Phase One will result in having instances on the stage aligned with the back repo pointers are not initialized yet (this is for phase two)

func (*BackRepoNodeStruct) CheckoutPhaseOneInstance

func (backRepoNode *BackRepoNodeStruct) CheckoutPhaseOneInstance(nodeDB *NodeDB) (Error error)

CheckoutPhaseOneInstance takes a nodeDB that has been found in the DB, updates the backRepo and stages the models version of the nodeDB

func (*BackRepoNodeStruct) CheckoutPhaseTwo

func (backRepoNode *BackRepoNodeStruct) CheckoutPhaseTwo(backRepo *BackRepoStruct) (Error error)

BackRepoNode.CheckoutPhaseTwo Checkouts all staged instances of Node to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoNodeStruct) CheckoutPhaseTwoInstance

func (backRepoNode *BackRepoNodeStruct) CheckoutPhaseTwoInstance(backRepo *BackRepoStruct, nodeDB *NodeDB) (Error error)

BackRepoNode.CheckoutPhaseTwoInstance Checkouts staged instances of Node to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoNodeStruct) CommitDeleteInstance

func (backRepoNode *BackRepoNodeStruct) CommitDeleteInstance(id uint) (Error error)

BackRepoNode.CommitDeleteInstance commits deletion of Node to the BackRepo

func (*BackRepoNodeStruct) CommitPhaseOne

func (backRepoNode *BackRepoNodeStruct) CommitPhaseOne(stage *models.StageStruct) (Error error)

BackRepoNode.CommitPhaseOne commits all staged instances of Node to the BackRepo Phase One is the creation of instance in the database if it is not yet done to get the unique ID for each staged instance

func (*BackRepoNodeStruct) CommitPhaseOneInstance

func (backRepoNode *BackRepoNodeStruct) CommitPhaseOneInstance(node *models.Node) (Error error)

BackRepoNode.CommitPhaseOneInstance commits node staged instances of Node to the BackRepo Phase One is the creation of instance in the database if it is not yet done to get the unique ID for each staged instance

func (*BackRepoNodeStruct) CommitPhaseTwo

func (backRepoNode *BackRepoNodeStruct) CommitPhaseTwo(backRepo *BackRepoStruct) (Error error)

BackRepoNode.CommitPhaseTwo commits all staged instances of Node to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoNodeStruct) CommitPhaseTwoInstance

func (backRepoNode *BackRepoNodeStruct) CommitPhaseTwoInstance(backRepo *BackRepoStruct, idx uint, node *models.Node) (Error error)

BackRepoNode.CommitPhaseTwoInstance commits {{structname }} of models.Node to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoNodeStruct) GetDB

func (backRepoNode *BackRepoNodeStruct) GetDB() db.DBInterface

func (*BackRepoNodeStruct) GetNodeDBFromNodePtr

func (backRepoNode *BackRepoNodeStruct) GetNodeDBFromNodePtr(node *models.Node) (nodeDB *NodeDB)

GetNodeDBFromNodePtr is a handy function to access the back repo instance from the stage instance

func (*BackRepoNodeStruct) GetStage

func (backRepoNode *BackRepoNodeStruct) GetStage() (stage *models.StageStruct)

func (*BackRepoNodeStruct) ResetReversePointers

func (backRepoNode *BackRepoNodeStruct) ResetReversePointers(backRepo *BackRepoStruct) (Error error)

BackRepoNode.ResetReversePointers commits all staged instances of Node to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoNodeStruct) ResetReversePointersInstance

func (backRepoNode *BackRepoNodeStruct) ResetReversePointersInstance(backRepo *BackRepoStruct, idx uint, node *models.Node) (Error error)

func (*BackRepoNodeStruct) RestorePhaseOne

func (backRepoNode *BackRepoNodeStruct) RestorePhaseOne(dirPath string)

RestorePhaseOne read the file "NodeDB.json" in dirPath that stores an array of NodeDB and stores it in the database the map BackRepoNodeid_atBckpTime_newID is updated accordingly

func (*BackRepoNodeStruct) RestorePhaseTwo

func (backRepoNode *BackRepoNodeStruct) RestorePhaseTwo()

RestorePhaseTwo uses all map BackRepo<Node>id_atBckpTime_newID to compute new index

func (*BackRepoNodeStruct) RestoreXLPhaseOne

func (backRepoNode *BackRepoNodeStruct) RestoreXLPhaseOne(file *xlsx.File)

RestoreXL from the "Node" sheet all NodeDB instances

type BackRepoSVGIconStruct

type BackRepoSVGIconStruct struct {
	// stores SVGIconDB according to their gorm ID
	Map_SVGIconDBID_SVGIconDB map[uint]*SVGIconDB

	// stores SVGIconDB ID according to SVGIcon address
	Map_SVGIconPtr_SVGIconDBID map[*models.SVGIcon]uint

	// stores SVGIcon according to their gorm ID
	Map_SVGIconDBID_SVGIconPtr map[uint]*models.SVGIcon
	// contains filtered or unexported fields
}

func (*BackRepoSVGIconStruct) Backup

func (backRepoSVGIcon *BackRepoSVGIconStruct) Backup(dirPath string)

Backup generates a json file from a slice of all SVGIconDB instances in the backrepo

func (*BackRepoSVGIconStruct) BackupXL

func (backRepoSVGIcon *BackRepoSVGIconStruct) BackupXL(file *xlsx.File)

Backup generates a json file from a slice of all SVGIconDB instances in the backrepo

func (*BackRepoSVGIconStruct) CheckoutPhaseOne

func (backRepoSVGIcon *BackRepoSVGIconStruct) CheckoutPhaseOne() (Error error)

BackRepoSVGIcon.CheckoutPhaseOne Checkouts all BackRepo instances to the Stage

Phase One will result in having instances on the stage aligned with the back repo pointers are not initialized yet (this is for phase two)

func (*BackRepoSVGIconStruct) CheckoutPhaseOneInstance

func (backRepoSVGIcon *BackRepoSVGIconStruct) CheckoutPhaseOneInstance(svgiconDB *SVGIconDB) (Error error)

CheckoutPhaseOneInstance takes a svgiconDB that has been found in the DB, updates the backRepo and stages the models version of the svgiconDB

func (*BackRepoSVGIconStruct) CheckoutPhaseTwo

func (backRepoSVGIcon *BackRepoSVGIconStruct) CheckoutPhaseTwo(backRepo *BackRepoStruct) (Error error)

BackRepoSVGIcon.CheckoutPhaseTwo Checkouts all staged instances of SVGIcon to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoSVGIconStruct) CheckoutPhaseTwoInstance

func (backRepoSVGIcon *BackRepoSVGIconStruct) CheckoutPhaseTwoInstance(backRepo *BackRepoStruct, svgiconDB *SVGIconDB) (Error error)

BackRepoSVGIcon.CheckoutPhaseTwoInstance Checkouts staged instances of SVGIcon to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoSVGIconStruct) CommitDeleteInstance

func (backRepoSVGIcon *BackRepoSVGIconStruct) CommitDeleteInstance(id uint) (Error error)

BackRepoSVGIcon.CommitDeleteInstance commits deletion of SVGIcon to the BackRepo

func (*BackRepoSVGIconStruct) CommitPhaseOne

func (backRepoSVGIcon *BackRepoSVGIconStruct) CommitPhaseOne(stage *models.StageStruct) (Error error)

BackRepoSVGIcon.CommitPhaseOne commits all staged instances of SVGIcon to the BackRepo Phase One is the creation of instance in the database if it is not yet done to get the unique ID for each staged instance

func (*BackRepoSVGIconStruct) CommitPhaseOneInstance

func (backRepoSVGIcon *BackRepoSVGIconStruct) CommitPhaseOneInstance(svgicon *models.SVGIcon) (Error error)

BackRepoSVGIcon.CommitPhaseOneInstance commits svgicon staged instances of SVGIcon to the BackRepo Phase One is the creation of instance in the database if it is not yet done to get the unique ID for each staged instance

func (*BackRepoSVGIconStruct) CommitPhaseTwo

func (backRepoSVGIcon *BackRepoSVGIconStruct) CommitPhaseTwo(backRepo *BackRepoStruct) (Error error)

BackRepoSVGIcon.CommitPhaseTwo commits all staged instances of SVGIcon to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoSVGIconStruct) CommitPhaseTwoInstance

func (backRepoSVGIcon *BackRepoSVGIconStruct) CommitPhaseTwoInstance(backRepo *BackRepoStruct, idx uint, svgicon *models.SVGIcon) (Error error)

BackRepoSVGIcon.CommitPhaseTwoInstance commits {{structname }} of models.SVGIcon to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoSVGIconStruct) GetDB

func (backRepoSVGIcon *BackRepoSVGIconStruct) GetDB() db.DBInterface

func (*BackRepoSVGIconStruct) GetSVGIconDBFromSVGIconPtr

func (backRepoSVGIcon *BackRepoSVGIconStruct) GetSVGIconDBFromSVGIconPtr(svgicon *models.SVGIcon) (svgiconDB *SVGIconDB)

GetSVGIconDBFromSVGIconPtr is a handy function to access the back repo instance from the stage instance

func (*BackRepoSVGIconStruct) GetStage

func (backRepoSVGIcon *BackRepoSVGIconStruct) GetStage() (stage *models.StageStruct)

func (*BackRepoSVGIconStruct) ResetReversePointers

func (backRepoSVGIcon *BackRepoSVGIconStruct) ResetReversePointers(backRepo *BackRepoStruct) (Error error)

BackRepoSVGIcon.ResetReversePointers commits all staged instances of SVGIcon to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoSVGIconStruct) ResetReversePointersInstance

func (backRepoSVGIcon *BackRepoSVGIconStruct) ResetReversePointersInstance(backRepo *BackRepoStruct, idx uint, svgicon *models.SVGIcon) (Error error)

func (*BackRepoSVGIconStruct) RestorePhaseOne

func (backRepoSVGIcon *BackRepoSVGIconStruct) RestorePhaseOne(dirPath string)

RestorePhaseOne read the file "SVGIconDB.json" in dirPath that stores an array of SVGIconDB and stores it in the database the map BackRepoSVGIconid_atBckpTime_newID is updated accordingly

func (*BackRepoSVGIconStruct) RestorePhaseTwo

func (backRepoSVGIcon *BackRepoSVGIconStruct) RestorePhaseTwo()

RestorePhaseTwo uses all map BackRepo<SVGIcon>id_atBckpTime_newID to compute new index

func (*BackRepoSVGIconStruct) RestoreXLPhaseOne

func (backRepoSVGIcon *BackRepoSVGIconStruct) RestoreXLPhaseOne(file *xlsx.File)

RestoreXL from the "SVGIcon" sheet all SVGIconDB instances

type BackRepoStruct

type BackRepoStruct struct {
	// insertion point for per struct back repo declarations
	BackRepoButton BackRepoButtonStruct

	BackRepoNode BackRepoNodeStruct

	BackRepoSVGIcon BackRepoSVGIconStruct

	BackRepoTree BackRepoTreeStruct

	CommitFromBackNb uint // records commit increments when performed by the back

	PushFromFrontNb uint // records commit increments when performed by the front
	// contains filtered or unexported fields
}

BackRepoStruct supports callback functions

func NewBackRepo

func NewBackRepo(stage *models.StageStruct, filename string) (backRepo *BackRepoStruct)

func (*BackRepoStruct) Backup

func (backRepo *BackRepoStruct) Backup(stage *models.StageStruct, dirPath string)

Backup the BackRepoStruct

func (*BackRepoStruct) BackupXL

func (backRepo *BackRepoStruct) BackupXL(stage *models.StageStruct, dirPath string)

Backup in XL the BackRepoStruct

func (*BackRepoStruct) Checkout

func (backRepo *BackRepoStruct) Checkout(stage *models.StageStruct)

Checkout the database into the stage

func (*BackRepoStruct) CheckoutButton

func (backRepo *BackRepoStruct) CheckoutButton(button *models.Button)

CommitButton allows checkout of a single button (if already staged and with a BackRepo id)

func (*BackRepoStruct) CheckoutNode

func (backRepo *BackRepoStruct) CheckoutNode(node *models.Node)

CommitNode allows checkout of a single node (if already staged and with a BackRepo id)

func (*BackRepoStruct) CheckoutSVGIcon

func (backRepo *BackRepoStruct) CheckoutSVGIcon(svgicon *models.SVGIcon)

CommitSVGIcon allows checkout of a single svgicon (if already staged and with a BackRepo id)

func (*BackRepoStruct) CheckoutTree

func (backRepo *BackRepoStruct) CheckoutTree(tree *models.Tree)

CommitTree allows checkout of a single tree (if already staged and with a BackRepo id)

func (*BackRepoStruct) Commit

func (backRepo *BackRepoStruct) Commit(stage *models.StageStruct)

Commit the BackRepoStruct inner variables and link to the database

func (*BackRepoStruct) CommitButton

func (backRepo *BackRepoStruct) CommitButton(button *models.Button)

CommitButton allows commit of a single button (if already staged)

func (*BackRepoStruct) CommitNode

func (backRepo *BackRepoStruct) CommitNode(node *models.Node)

CommitNode allows commit of a single node (if already staged)

func (*BackRepoStruct) CommitSVGIcon

func (backRepo *BackRepoStruct) CommitSVGIcon(svgicon *models.SVGIcon)

CommitSVGIcon allows commit of a single svgicon (if already staged)

func (*BackRepoStruct) CommitTree

func (backRepo *BackRepoStruct) CommitTree(tree *models.Tree)

CommitTree allows commit of a single tree (if already staged)

func (*BackRepoStruct) GetLastCommitFromBackNb

func (backRepo *BackRepoStruct) GetLastCommitFromBackNb() uint

func (*BackRepoStruct) GetLastPushFromFrontNb

func (backRepo *BackRepoStruct) GetLastPushFromFrontNb() uint

func (*BackRepoStruct) GetStage

func (backRepo *BackRepoStruct) GetStage() (stage *models.StageStruct)

func (*BackRepoStruct) IncrementCommitFromBackNb

func (backRepo *BackRepoStruct) IncrementCommitFromBackNb() uint

func (*BackRepoStruct) IncrementPushFromFrontNb

func (backRepo *BackRepoStruct) IncrementPushFromFrontNb() uint

func (*BackRepoStruct) Restore

func (backRepo *BackRepoStruct) Restore(stage *models.StageStruct, dirPath string)

Restore the database into the back repo

func (*BackRepoStruct) RestoreXL

func (backRepo *BackRepoStruct) RestoreXL(stage *models.StageStruct, dirPath string)

Restore the database into the back repo

func (*BackRepoStruct) SubscribeToCommitNb

func (backRepoStruct *BackRepoStruct) SubscribeToCommitNb(ctx context.Context) <-chan int

type BackRepoTreeStruct

type BackRepoTreeStruct struct {
	// stores TreeDB according to their gorm ID
	Map_TreeDBID_TreeDB map[uint]*TreeDB

	// stores TreeDB ID according to Tree address
	Map_TreePtr_TreeDBID map[*models.Tree]uint

	// stores Tree according to their gorm ID
	Map_TreeDBID_TreePtr map[uint]*models.Tree
	// contains filtered or unexported fields
}

func (*BackRepoTreeStruct) Backup

func (backRepoTree *BackRepoTreeStruct) Backup(dirPath string)

Backup generates a json file from a slice of all TreeDB instances in the backrepo

func (*BackRepoTreeStruct) BackupXL

func (backRepoTree *BackRepoTreeStruct) BackupXL(file *xlsx.File)

Backup generates a json file from a slice of all TreeDB instances in the backrepo

func (*BackRepoTreeStruct) CheckoutPhaseOne

func (backRepoTree *BackRepoTreeStruct) CheckoutPhaseOne() (Error error)

BackRepoTree.CheckoutPhaseOne Checkouts all BackRepo instances to the Stage

Phase One will result in having instances on the stage aligned with the back repo pointers are not initialized yet (this is for phase two)

func (*BackRepoTreeStruct) CheckoutPhaseOneInstance

func (backRepoTree *BackRepoTreeStruct) CheckoutPhaseOneInstance(treeDB *TreeDB) (Error error)

CheckoutPhaseOneInstance takes a treeDB that has been found in the DB, updates the backRepo and stages the models version of the treeDB

func (*BackRepoTreeStruct) CheckoutPhaseTwo

func (backRepoTree *BackRepoTreeStruct) CheckoutPhaseTwo(backRepo *BackRepoStruct) (Error error)

BackRepoTree.CheckoutPhaseTwo Checkouts all staged instances of Tree to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoTreeStruct) CheckoutPhaseTwoInstance

func (backRepoTree *BackRepoTreeStruct) CheckoutPhaseTwoInstance(backRepo *BackRepoStruct, treeDB *TreeDB) (Error error)

BackRepoTree.CheckoutPhaseTwoInstance Checkouts staged instances of Tree to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoTreeStruct) CommitDeleteInstance

func (backRepoTree *BackRepoTreeStruct) CommitDeleteInstance(id uint) (Error error)

BackRepoTree.CommitDeleteInstance commits deletion of Tree to the BackRepo

func (*BackRepoTreeStruct) CommitPhaseOne

func (backRepoTree *BackRepoTreeStruct) CommitPhaseOne(stage *models.StageStruct) (Error error)

BackRepoTree.CommitPhaseOne commits all staged instances of Tree to the BackRepo Phase One is the creation of instance in the database if it is not yet done to get the unique ID for each staged instance

func (*BackRepoTreeStruct) CommitPhaseOneInstance

func (backRepoTree *BackRepoTreeStruct) CommitPhaseOneInstance(tree *models.Tree) (Error error)

BackRepoTree.CommitPhaseOneInstance commits tree staged instances of Tree to the BackRepo Phase One is the creation of instance in the database if it is not yet done to get the unique ID for each staged instance

func (*BackRepoTreeStruct) CommitPhaseTwo

func (backRepoTree *BackRepoTreeStruct) CommitPhaseTwo(backRepo *BackRepoStruct) (Error error)

BackRepoTree.CommitPhaseTwo commits all staged instances of Tree to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoTreeStruct) CommitPhaseTwoInstance

func (backRepoTree *BackRepoTreeStruct) CommitPhaseTwoInstance(backRepo *BackRepoStruct, idx uint, tree *models.Tree) (Error error)

BackRepoTree.CommitPhaseTwoInstance commits {{structname }} of models.Tree to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoTreeStruct) GetDB

func (backRepoTree *BackRepoTreeStruct) GetDB() db.DBInterface

func (*BackRepoTreeStruct) GetStage

func (backRepoTree *BackRepoTreeStruct) GetStage() (stage *models.StageStruct)

func (*BackRepoTreeStruct) GetTreeDBFromTreePtr

func (backRepoTree *BackRepoTreeStruct) GetTreeDBFromTreePtr(tree *models.Tree) (treeDB *TreeDB)

GetTreeDBFromTreePtr is a handy function to access the back repo instance from the stage instance

func (*BackRepoTreeStruct) ResetReversePointers

func (backRepoTree *BackRepoTreeStruct) ResetReversePointers(backRepo *BackRepoStruct) (Error error)

BackRepoTree.ResetReversePointers commits all staged instances of Tree to the BackRepo Phase Two is the update of instance with the field in the database

func (*BackRepoTreeStruct) ResetReversePointersInstance

func (backRepoTree *BackRepoTreeStruct) ResetReversePointersInstance(backRepo *BackRepoStruct, idx uint, tree *models.Tree) (Error error)

func (*BackRepoTreeStruct) RestorePhaseOne

func (backRepoTree *BackRepoTreeStruct) RestorePhaseOne(dirPath string)

RestorePhaseOne read the file "TreeDB.json" in dirPath that stores an array of TreeDB and stores it in the database the map BackRepoTreeid_atBckpTime_newID is updated accordingly

func (*BackRepoTreeStruct) RestorePhaseTwo

func (backRepoTree *BackRepoTreeStruct) RestorePhaseTwo()

RestorePhaseTwo uses all map BackRepo<Tree>id_atBckpTime_newID to compute new index

func (*BackRepoTreeStruct) RestoreXLPhaseOne

func (backRepoTree *BackRepoTreeStruct) RestoreXLPhaseOne(file *xlsx.File)

RestoreXL from the "Tree" sheet all TreeDB instances

type ButtonAPI

type ButtonAPI struct {
	gorm.Model

	models.Button_WOP

	// encoding of pointers
	// for API, it cannot be embedded
	ButtonPointersEncoding ButtonPointersEncoding
}

ButtonAPI is the input in POST API

for POST, API, one needs the fields of the model as well as the fields from associations ("Has One" and "Has Many") that are generated to fullfill the ORM requirements for associations

swagger:model buttonAPI

type ButtonDB

type ButtonDB struct {
	gorm.Model

	// Declation for basic field buttonDB.Name
	Name_Data sql.NullString

	// Declation for basic field buttonDB.Icon
	Icon_Data sql.NullString

	// encoding of pointers
	// for GORM serialization, it is necessary to embed to Pointer Encoding declaration
	ButtonPointersEncoding
}

ButtonDB describes a button in the database

It incorporates the GORM ID, basic fields from the model (because they can be serialized), the encoded version of pointers

swagger:model buttonDB

func (*ButtonDB) CopyBasicFieldsFromButton

func (buttonDB *ButtonDB) CopyBasicFieldsFromButton(button *models.Button)

CopyBasicFieldsFromButton

func (*ButtonDB) CopyBasicFieldsFromButtonWOP

func (buttonDB *ButtonDB) CopyBasicFieldsFromButtonWOP(button *ButtonWOP)

CopyBasicFieldsFromButtonWOP

func (*ButtonDB) CopyBasicFieldsFromButton_WOP

func (buttonDB *ButtonDB) CopyBasicFieldsFromButton_WOP(button *models.Button_WOP)

CopyBasicFieldsFromButton_WOP

func (*ButtonDB) CopyBasicFieldsToButton

func (buttonDB *ButtonDB) CopyBasicFieldsToButton(button *models.Button)

CopyBasicFieldsToButton

func (*ButtonDB) CopyBasicFieldsToButtonWOP

func (buttonDB *ButtonDB) CopyBasicFieldsToButtonWOP(button *ButtonWOP)

CopyBasicFieldsToButtonWOP

func (*ButtonDB) CopyBasicFieldsToButton_WOP

func (buttonDB *ButtonDB) CopyBasicFieldsToButton_WOP(button *models.Button_WOP)

CopyBasicFieldsToButton_WOP

func (*ButtonDB) DecodePointers

func (buttonDB *ButtonDB) DecodePointers(backRepo *BackRepoStruct, button *models.Button)

type ButtonDBResponse

type ButtonDBResponse struct {
	ButtonDB
}

ButtonDBResponse provides response swagger:response buttonDBResponse

type ButtonDBs

type ButtonDBs []ButtonDB

ButtonDBs arrays buttonDBs swagger:response buttonDBsResponse

type ButtonPointersEncoding

type ButtonPointersEncoding struct {

	// field SVGIcon is a pointer to another Struct (optional or 0..1)
	// This field is generated into another field to enable AS ONE association
	SVGIconID sql.NullInt64
}

ButtonPointersEncoding encodes pointers to Struct and reverse pointers of slice of poitners to Struct

type ButtonWOP

type ButtonWOP struct {
	ID int `xlsx:"0"`

	Name string `xlsx:"1"`

	Icon string `xlsx:"2"`
}

ButtonWOP is a Button without pointers (WOP is an acronym for "Without Pointers") it holds the same basic fields but pointers are encoded into uint

type DBLite

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

DBLite is an in-memory database implementation of DBInterface

func NewDBLite

func NewDBLite() *DBLite

NewDBLite creates a new instance of DBLite

func (*DBLite) Create

func (db *DBLite) Create(instanceDB any) (db.DBInterface, error)

Create inserts a new record into the database

func (*DBLite) Delete

func (db *DBLite) Delete(instanceDB any) (db.DBInterface, error)

Delete removes a record from the database

func (*DBLite) Find

func (db *DBLite) Find(instanceDBs any) (db.DBInterface, error)

Find retrieves all records of a type from the database

func (*DBLite) First

func (db *DBLite) First(instanceDB any, conds ...any) (db.DBInterface, error)

First retrieves the first record of a type from the database

func (*DBLite) Model

func (db *DBLite) Model(instanceDB any) (db.DBInterface, error)

Model is a placeholder in this implementation

func (*DBLite) Save

func (db *DBLite) Save(instanceDB any) (db.DBInterface, error)

Save updates or inserts a record into the database

func (*DBLite) Unscoped

func (db *DBLite) Unscoped() (db.DBInterface, error)

Unscoped sets the unscoped flag for soft-deletes (not used in this implementation)

func (*DBLite) Updates

func (db *DBLite) Updates(instanceDB any) (db.DBInterface, error)

Updates modifies an existing record in the database

type GongstructDB

type GongstructDB interface {
}

type IntSlice

type IntSlice []int

func (*IntSlice) Scan

func (s *IntSlice) Scan(value interface{}) error

Scan makes IntSlice implement the sql.Scanner interface.

func (IntSlice) Value

func (s IntSlice) Value() (driver.Value, error)

Value makes IntSlice implement the driver.Valuer interface.

type NodeAPI

type NodeAPI struct {
	gorm.Model

	models.Node_WOP

	// encoding of pointers
	// for API, it cannot be embedded
	NodePointersEncoding NodePointersEncoding
}

NodeAPI is the input in POST API

for POST, API, one needs the fields of the model as well as the fields from associations ("Has One" and "Has Many") that are generated to fullfill the ORM requirements for associations

swagger:model nodeAPI

type NodeDB

type NodeDB struct {
	gorm.Model

	// Declation for basic field nodeDB.Name
	Name_Data sql.NullString

	// Declation for basic field nodeDB.FontStyle
	FontStyle_Data sql.NullString

	// Declation for basic field nodeDB.BackgroundColor
	BackgroundColor_Data sql.NullString

	// Declation for basic field nodeDB.IsExpanded
	// provide the sql storage for the boolan
	IsExpanded_Data sql.NullBool

	// Declation for basic field nodeDB.HasCheckboxButton
	// provide the sql storage for the boolan
	HasCheckboxButton_Data sql.NullBool

	// Declation for basic field nodeDB.IsChecked
	// provide the sql storage for the boolan
	IsChecked_Data sql.NullBool

	// Declation for basic field nodeDB.IsCheckboxDisabled
	// provide the sql storage for the boolan
	IsCheckboxDisabled_Data sql.NullBool

	// Declation for basic field nodeDB.HasSecondCheckboxButton
	// provide the sql storage for the boolan
	HasSecondCheckboxButton_Data sql.NullBool

	// Declation for basic field nodeDB.IsSecondCheckboxChecked
	// provide the sql storage for the boolan
	IsSecondCheckboxChecked_Data sql.NullBool

	// Declation for basic field nodeDB.IsSecondCheckboxDisabled
	// provide the sql storage for the boolan
	IsSecondCheckboxDisabled_Data sql.NullBool

	// Declation for basic field nodeDB.TextAfterSecondCheckbox
	TextAfterSecondCheckbox_Data sql.NullString

	// Declation for basic field nodeDB.IsInEditMode
	// provide the sql storage for the boolan
	IsInEditMode_Data sql.NullBool

	// Declation for basic field nodeDB.IsNodeClickable
	// provide the sql storage for the boolan
	IsNodeClickable_Data sql.NullBool

	// Declation for basic field nodeDB.IsWithPreceedingIcon
	// provide the sql storage for the boolan
	IsWithPreceedingIcon_Data sql.NullBool

	// Declation for basic field nodeDB.PreceedingIcon
	PreceedingIcon_Data sql.NullString

	// encoding of pointers
	// for GORM serialization, it is necessary to embed to Pointer Encoding declaration
	NodePointersEncoding
}

NodeDB describes a node in the database

It incorporates the GORM ID, basic fields from the model (because they can be serialized), the encoded version of pointers

swagger:model nodeDB

func (*NodeDB) CopyBasicFieldsFromNode

func (nodeDB *NodeDB) CopyBasicFieldsFromNode(node *models.Node)

CopyBasicFieldsFromNode

func (*NodeDB) CopyBasicFieldsFromNodeWOP

func (nodeDB *NodeDB) CopyBasicFieldsFromNodeWOP(node *NodeWOP)

CopyBasicFieldsFromNodeWOP

func (*NodeDB) CopyBasicFieldsFromNode_WOP

func (nodeDB *NodeDB) CopyBasicFieldsFromNode_WOP(node *models.Node_WOP)

CopyBasicFieldsFromNode_WOP

func (*NodeDB) CopyBasicFieldsToNode

func (nodeDB *NodeDB) CopyBasicFieldsToNode(node *models.Node)

CopyBasicFieldsToNode

func (*NodeDB) CopyBasicFieldsToNodeWOP

func (nodeDB *NodeDB) CopyBasicFieldsToNodeWOP(node *NodeWOP)

CopyBasicFieldsToNodeWOP

func (*NodeDB) CopyBasicFieldsToNode_WOP

func (nodeDB *NodeDB) CopyBasicFieldsToNode_WOP(node *models.Node_WOP)

CopyBasicFieldsToNode_WOP

func (*NodeDB) DecodePointers

func (nodeDB *NodeDB) DecodePointers(backRepo *BackRepoStruct, node *models.Node)

type NodeDBResponse

type NodeDBResponse struct {
	NodeDB
}

NodeDBResponse provides response swagger:response nodeDBResponse

type NodeDBs

type NodeDBs []NodeDB

NodeDBs arrays nodeDBs swagger:response nodeDBsResponse

type NodePointersEncoding

type NodePointersEncoding struct {

	// field PreceedingSVGIcon is a pointer to another Struct (optional or 0..1)
	// This field is generated into another field to enable AS ONE association
	PreceedingSVGIconID sql.NullInt64

	// field Children is a slice of pointers to another Struct (optional or 0..1)
	Children IntSlice `gorm:"type:TEXT"`

	// field Buttons is a slice of pointers to another Struct (optional or 0..1)
	Buttons IntSlice `gorm:"type:TEXT"`
}

NodePointersEncoding encodes pointers to Struct and reverse pointers of slice of poitners to Struct

type NodeWOP

type NodeWOP struct {
	ID int `xlsx:"0"`

	Name string `xlsx:"1"`

	FontStyle models.FontStyleEnum `xlsx:"2"`

	BackgroundColor string `xlsx:"3"`

	IsExpanded bool `xlsx:"4"`

	HasCheckboxButton bool `xlsx:"5"`

	IsChecked bool `xlsx:"6"`

	IsCheckboxDisabled bool `xlsx:"7"`

	HasSecondCheckboxButton bool `xlsx:"8"`

	IsSecondCheckboxChecked bool `xlsx:"9"`

	IsSecondCheckboxDisabled bool `xlsx:"10"`

	TextAfterSecondCheckbox string `xlsx:"11"`

	IsInEditMode bool `xlsx:"12"`

	IsNodeClickable bool `xlsx:"13"`

	IsWithPreceedingIcon bool `xlsx:"14"`

	PreceedingIcon string `xlsx:"15"`
}

NodeWOP is a Node without pointers (WOP is an acronym for "Without Pointers") it holds the same basic fields but pointers are encoded into uint

type SVGIconAPI

type SVGIconAPI struct {
	gorm.Model

	models.SVGIcon_WOP

	// encoding of pointers
	// for API, it cannot be embedded
	SVGIconPointersEncoding SVGIconPointersEncoding
}

SVGIconAPI is the input in POST API

for POST, API, one needs the fields of the model as well as the fields from associations ("Has One" and "Has Many") that are generated to fullfill the ORM requirements for associations

swagger:model svgiconAPI

type SVGIconDB

type SVGIconDB struct {
	gorm.Model

	// Declation for basic field svgiconDB.Name
	Name_Data sql.NullString

	// Declation for basic field svgiconDB.SVG
	SVG_Data sql.NullString

	// encoding of pointers
	// for GORM serialization, it is necessary to embed to Pointer Encoding declaration
	SVGIconPointersEncoding
}

SVGIconDB describes a svgicon in the database

It incorporates the GORM ID, basic fields from the model (because they can be serialized), the encoded version of pointers

swagger:model svgiconDB

func (*SVGIconDB) CopyBasicFieldsFromSVGIcon

func (svgiconDB *SVGIconDB) CopyBasicFieldsFromSVGIcon(svgicon *models.SVGIcon)

CopyBasicFieldsFromSVGIcon

func (*SVGIconDB) CopyBasicFieldsFromSVGIconWOP

func (svgiconDB *SVGIconDB) CopyBasicFieldsFromSVGIconWOP(svgicon *SVGIconWOP)

CopyBasicFieldsFromSVGIconWOP

func (*SVGIconDB) CopyBasicFieldsFromSVGIcon_WOP

func (svgiconDB *SVGIconDB) CopyBasicFieldsFromSVGIcon_WOP(svgicon *models.SVGIcon_WOP)

CopyBasicFieldsFromSVGIcon_WOP

func (*SVGIconDB) CopyBasicFieldsToSVGIcon

func (svgiconDB *SVGIconDB) CopyBasicFieldsToSVGIcon(svgicon *models.SVGIcon)

CopyBasicFieldsToSVGIcon

func (*SVGIconDB) CopyBasicFieldsToSVGIconWOP

func (svgiconDB *SVGIconDB) CopyBasicFieldsToSVGIconWOP(svgicon *SVGIconWOP)

CopyBasicFieldsToSVGIconWOP

func (*SVGIconDB) CopyBasicFieldsToSVGIcon_WOP

func (svgiconDB *SVGIconDB) CopyBasicFieldsToSVGIcon_WOP(svgicon *models.SVGIcon_WOP)

CopyBasicFieldsToSVGIcon_WOP

func (*SVGIconDB) DecodePointers

func (svgiconDB *SVGIconDB) DecodePointers(backRepo *BackRepoStruct, svgicon *models.SVGIcon)

type SVGIconDBResponse

type SVGIconDBResponse struct {
	SVGIconDB
}

SVGIconDBResponse provides response swagger:response svgiconDBResponse

type SVGIconDBs

type SVGIconDBs []SVGIconDB

SVGIconDBs arrays svgiconDBs swagger:response svgiconDBsResponse

type SVGIconPointersEncoding

type SVGIconPointersEncoding struct {
}

SVGIconPointersEncoding encodes pointers to Struct and reverse pointers of slice of poitners to Struct

type SVGIconWOP

type SVGIconWOP struct {
	ID int `xlsx:"0"`

	Name string `xlsx:"1"`

	SVG string `xlsx:"2"`
}

SVGIconWOP is a SVGIcon without pointers (WOP is an acronym for "Without Pointers") it holds the same basic fields but pointers are encoded into uint

type TreeAPI

type TreeAPI struct {
	gorm.Model

	models.Tree_WOP

	// encoding of pointers
	// for API, it cannot be embedded
	TreePointersEncoding TreePointersEncoding
}

TreeAPI is the input in POST API

for POST, API, one needs the fields of the model as well as the fields from associations ("Has One" and "Has Many") that are generated to fullfill the ORM requirements for associations

swagger:model treeAPI

type TreeDB

type TreeDB struct {
	gorm.Model

	// Declation for basic field treeDB.Name
	Name_Data sql.NullString

	// encoding of pointers
	// for GORM serialization, it is necessary to embed to Pointer Encoding declaration
	TreePointersEncoding
}

TreeDB describes a tree in the database

It incorporates the GORM ID, basic fields from the model (because they can be serialized), the encoded version of pointers

swagger:model treeDB

func (*TreeDB) CopyBasicFieldsFromTree

func (treeDB *TreeDB) CopyBasicFieldsFromTree(tree *models.Tree)

CopyBasicFieldsFromTree

func (*TreeDB) CopyBasicFieldsFromTreeWOP

func (treeDB *TreeDB) CopyBasicFieldsFromTreeWOP(tree *TreeWOP)

CopyBasicFieldsFromTreeWOP

func (*TreeDB) CopyBasicFieldsFromTree_WOP

func (treeDB *TreeDB) CopyBasicFieldsFromTree_WOP(tree *models.Tree_WOP)

CopyBasicFieldsFromTree_WOP

func (*TreeDB) CopyBasicFieldsToTree

func (treeDB *TreeDB) CopyBasicFieldsToTree(tree *models.Tree)

CopyBasicFieldsToTree

func (*TreeDB) CopyBasicFieldsToTreeWOP

func (treeDB *TreeDB) CopyBasicFieldsToTreeWOP(tree *TreeWOP)

CopyBasicFieldsToTreeWOP

func (*TreeDB) CopyBasicFieldsToTree_WOP

func (treeDB *TreeDB) CopyBasicFieldsToTree_WOP(tree *models.Tree_WOP)

CopyBasicFieldsToTree_WOP

func (*TreeDB) DecodePointers

func (treeDB *TreeDB) DecodePointers(backRepo *BackRepoStruct, tree *models.Tree)

type TreeDBResponse

type TreeDBResponse struct {
	TreeDB
}

TreeDBResponse provides response swagger:response treeDBResponse

type TreeDBs

type TreeDBs []TreeDB

TreeDBs arrays treeDBs swagger:response treeDBsResponse

type TreePointersEncoding

type TreePointersEncoding struct {

	// field RootNodes is a slice of pointers to another Struct (optional or 0..1)
	RootNodes IntSlice `gorm:"type:TEXT"`
}

TreePointersEncoding encodes pointers to Struct and reverse pointers of slice of poitners to Struct

type TreeWOP

type TreeWOP struct {
	ID int `xlsx:"0"`

	Name string `xlsx:"1"`
}

TreeWOP is a Tree without pointers (WOP is an acronym for "Without Pointers") it holds the same basic fields but pointers are encoded into uint

Directories

Path Synopsis
generated code - do not edit
generated code - do not edit

Jump to

Keyboard shortcuts

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