Documentation
¶
Index ¶
- Constants
- func DirExists(path string) (bool, error)
- func ExpandHome(p string) string
- func GetProjectPath(id string) string
- func LoadProjectFile(projPath string) (v datatug.ProjectFile, err error)
- func LoadRootDatatugFile(dir string) (repoRootFile *datatug.RepoRootFile, err error)
- func NewProjectStore(id, path string) datatug.ProjectStore
- func NewStorage(projPath string) dtprojcreator.Storage
- func NewStore(id string, pathsByID map[string]string) (fsStore storage.Store, err error)
- func SetProjectPath(id, path string)
- type DbCatalogFile
- type DbModelFile
- type Decoder
- type FsStore
- func (store FsStore) CreateProject(_ context.Context, _ dto.CreateProjectRequest) (*datatug.ProjectSummary, error)
- func (store FsStore) DeleteProject(_ context.Context, id string) error
- func (loader FsStore) GetFolderPath(projectID string, folder ...string) (folderPath string, err error)
- func (loader FsStore) GetProjectPath(projectID string) (projID string, projPath string, err error)
- func (store FsStore) GetProjectStore(id string) datatug.ProjectStore
- func (store FsStore) GetProjects(context.Context) (projectBriefs []datatug.ProjectBrief, err error)
- func (loader FsStore) LoadRecordsetData(projectID, datasetName, fileName string) (*datatug.Recordset, error)
- func (loader FsStore) LoadRecordsetDefinition(projectID, recordsetID string) (dataset *datatug.RecordsetDefinition, err error)
- func (loader FsStore) LoadRecordsetDefinitions(projectID string) (recordsetDefs []*datatug.RecordsetDefinition, err error)
- type IItem
- type IItemPtr
- type ProjDbServerFile
- type ProjItemStoredAs
- type TableColumnsFile
- type TableFile
- type TableForeignKeysFile
- type TableModelColumnsFile
- type TableModelFile
- type TablePrimaryKeyFile
- type TablePropsFile
- type TableRefsByFile
Constants ¶
const FoldersDir = "folders"
Variables ¶
This section is empty.
Functions ¶
func ExpandHome ¶ added in v0.12.1
ExpandHome expands leading ~ to the user's home directory.
func LoadProjectFile ¶
func LoadProjectFile(projPath string) (v datatug.ProjectFile, err error)
LoadProjectFile loads project file
func LoadRootDatatugFile ¶ added in v0.15.11
func LoadRootDatatugFile(dir string) (repoRootFile *datatug.RepoRootFile, err error)
func NewProjectStore ¶ added in v0.16.4
func NewProjectStore(id, path string) datatug.ProjectStore
func NewStorage ¶ added in v0.15.12
func NewStorage(projPath string) dtprojcreator.Storage
Types ¶
type DbCatalogFile ¶
type DbCatalogFile struct {
Driver string `json:"driver"` // It's excessive but good to have for validation
Path string `json:"path,omitempty"`
DbModel string `json:"dbmodel,omitempty"`
}
DbCatalogFile defines metadata to be stored in a JSON file in the db folder
func (DbCatalogFile) Validate ¶
func (v DbCatalogFile) Validate() error
Validate returns error if not valid
type DbModelFile ¶
type DbModelFile struct {
datatug.ProjectItem
Environments datatug.DbModelEnvironments `json:"environments,omitempty"`
}
DbModelFile defines what to storage to dbmodel file
func (DbModelFile) Validate ¶
func (v DbModelFile) Validate() error
Validate returns error if not valid
type FsStore ¶
type FsStore struct {
// contains filtered or unexported fields
}
FsStore provides implementation of file system storage
func NewSingleProjectStore ¶
NewSingleProjectStore creates an instance of storage that implements storage.Store for a single project
func (FsStore) CreateProject ¶
func (store FsStore) CreateProject(_ context.Context, _ dto.CreateProjectRequest) (*datatug.ProjectSummary, error)
func (FsStore) DeleteProject ¶
func (FsStore) GetFolderPath ¶
func (FsStore) GetProjectPath ¶
GetProjectPath returns project projDirPath by project GetID
func (FsStore) GetProjectStore ¶
func (store FsStore) GetProjectStore(id string) datatug.ProjectStore
func (FsStore) GetProjects ¶
GetProjects returns list of projects
func (FsStore) LoadRecordsetData ¶
func (loader FsStore) LoadRecordsetData(projectID, datasetName, fileName string) (*datatug.Recordset, error)
LoadRecordsetData loads recordset data
func (FsStore) LoadRecordsetDefinition ¶
func (loader FsStore) LoadRecordsetDefinition(projectID, recordsetID string) (dataset *datatug.RecordsetDefinition, err error)
LoadRecordsetDefinition loads recordset definition
func (FsStore) LoadRecordsetDefinitions ¶
func (loader FsStore) LoadRecordsetDefinitions(projectID string) (recordsetDefs []*datatug.RecordsetDefinition, err error)
LoadRecordsetDefinitions returns flat list of recordsets that might be stored in a tree structure directories
type ProjDbServerFile ¶
type ProjDbServerFile struct {
datatug.ProjectItem
}
ProjDbServerFile stores info about project DB server
type ProjItemStoredAs ¶ added in v0.15.7
type ProjItemStoredAs int
const ( ProjItemStoredAsFile ProjItemStoredAs = iota ProjItemStoredAsDir )
type TableColumnsFile ¶
type TableColumnsFile struct {
datatug.DBCollectionKey
Columns []*datatug.ColumnInfo `json:"columns,omitempty"`
}
TableColumnsFile info to be stored about column in a JSON file
type TableFile ¶
type TableFile struct {
datatug.TableProps
PrimaryKey *datatug.UniqueKey `json:"primaryKey,omitempty"`
ForeignKeys []*datatug.ForeignKey `json:"foreignKeys,omitempty"`
ReferencedBy []*datatug.ReferencedBy `json:"referencedBy,omitempty"`
Columns []*datatug.ColumnInfo `json:"columns,omitempty"`
Indexes []*datatug.Index `json:"indexes,omitempty"`
}
TableFile hold summary on table or view
type TableForeignKeysFile ¶
type TableForeignKeysFile struct {
datatug.DBCollectionKey
ForeignKeys []*datatug.ForeignKey `json:"foreignKeys"`
}
TableForeignKeysFile info to be stored about FK in a JSON file
type TableModelColumnsFile ¶
type TableModelColumnsFile struct {
Columns datatug.ColumnModels `json:"columns,omitempty"`
}
TableModelColumnsFile info to be stored about column in a JSON file
func (TableModelColumnsFile) Validate ¶
func (v TableModelColumnsFile) Validate() error
Validate returns error if not valid
type TableModelFile ¶
type TableModelFile struct {
datatug.DBCollectionKey
}
TableModelFile defines what to storage in table model file
type TablePrimaryKeyFile ¶
type TablePrimaryKeyFile struct {
datatug.DBCollectionKey
PrimaryKey *datatug.UniqueKey `json:"primaryKey"`
}
TablePrimaryKeyFile info to be stored about PK in a JSON file
type TablePropsFile ¶
type TablePropsFile struct {
datatug.DBCollectionKey
datatug.TableProps
}
TablePropsFile info to be stored about table in a JSON file
type TableRefsByFile ¶
type TableRefsByFile struct {
datatug.DBCollectionKey
ReferencedBy []*datatug.ReferencedBy `json:"referencedBy"`
}
TableRefsByFile info to be stored about reference in a JSON file
Source Files
¶
- boards_store.go
- db_models_store.go
- db_schemas_store.go
- dbcatalogs_store.go
- env_db_catalogs_store.go
- env_db_servers_store.go
- environments_store.go
- loader_env_servers.go
- loader_internals.go
- loader_recordsets.go
- models.go
- os.go
- proj_dbdrivers_store.go
- proj_dbservers_store.go
- project_items_store.go
- project_store.go
- projects.go
- projects_loader.go
- readme.go
- recordset_definitions_store.go
- root_datatug_file.go
- saver_filesystem.go
- saver_readme.go
- saver_update_proj_file.go
- storage.go
- store.go
- store_dbcatalog.go
- store_dbmodels.go
- store_dbschema_saver.go
- store_dbserver.go
- store_entities.go
- store_folders.go
- store_loader.go
- store_project_saver.go
- store_queries.go
- store_queries_saver.go
- updater.go
- utils.go