Documentation
¶
Overview ¶
Package dtprojcreator is a generated GoMock package.
Index ¶
- Constants
- Variables
- func ContextWithDatatugStore(ctx context.Context, store Store) context.Context
- func GetProjItemIDFromFileName(fileName string) (id string, suffix string)
- func GetProjectStore(ctx context.Context, storeID, projectID string) (datatug.ProjectStore, error)
- func JsonFileName(id, suffix string) string
- type CreateFolderRequest
- type FileLoadError
- type FilesLoadError
- type FoldersStore
- type MockStorage
- func (m *MockStorage) Commit(ctx context.Context, message string) error
- func (m *MockStorage) EXPECT() *MockStorageMockRecorder
- func (m *MockStorage) FileExists(ctx context.Context, filePath string) (bool, error)
- func (m *MockStorage) OpenFile(ctx context.Context, filePath string) (io.ReadCloser, error)
- func (m *MockStorage) WriteFile(ctx context.Context, filePath string, reader io.Reader) error
- type MockStorageMockRecorder
- func (mr *MockStorageMockRecorder) Commit(ctx, message any) *gomock.Call
- func (mr *MockStorageMockRecorder) FileExists(ctx, filePath any) *gomock.Call
- func (mr *MockStorageMockRecorder) OpenFile(ctx, filePath any) *gomock.Call
- func (mr *MockStorageMockRecorder) WriteFile(ctx, filePath, reader any) *gomock.Call
- type ProjectStoreRef
- type RecordsetLoader
- type RecordsetsStore
- type Store
Constants ¶
const ( RepoRootDataTugFileName = ".datatug.yaml" BoardsFolder = "boards" ProjectSummaryFileName = "datatug-project.json" DataFolder = "data" DbsFolder = "dbs" EnvDbCatalogsFolder = "catalogs" DbModelsFolder = "dbmodels" EntitiesFolder = "entities" EnvironmentsFolder = "environments" QueriesFolder = "queries" RecordsetsFolder = "recordsets" ServersFolder = "servers" SchemasFolder = "schemas" )
const ( BoardFileSuffix = "board" DbCatalogFileSuffix = "db" DbCatalogObjectFileSuffix = "objects" DbCatalogRefsFileSuffix = "refs" DbModelFileSuffix = "dbmodel" //DbSchemaFileSuffix = "schema" DbServerFileSuffix = "dbserver" RecordsetFileSuffix = "recordset" EntityFileSuffix = "entity" // EnvFileSuffix is the suffix datatug-demo-projects and datatug-cli use // for an environment's own file: "<id>.env.json", one per environment // directory - the layout LoadEnvironment(s) must also accept alongside // the legacy EnvironmentSummaryFileName. EnvFileSuffix = "env" ServerFileSuffix = "server" ColumnsFileSuffix = "columns" QueryFileSuffix = "query" )
const (
EnvironmentSummaryFileName = "environment-summary.json"
)
const SingleProjectID = "."
SingleProjectID defines a short version of project GetID for a single project storage
Variables ¶
var NewDatatugStore = func(id string) (Store, error) { panic("var 'NewDatatugStore' is not initialized") }
NewDatatugStore creates new instance of Store for a specific storage
Functions ¶
func ContextWithDatatugStore ¶
func GetProjItemIDFromFileName ¶ added in v0.15.12
func GetProjectStore ¶ added in v0.15.0
func JsonFileName ¶ added in v0.15.12
Types ¶
type CreateFolderRequest ¶
func (CreateFolderRequest) Validate ¶
func (v CreateFolderRequest) Validate() error
type FileLoadError ¶ added in v0.15.0
type FileLoadError struct {
FileName string `json:"fileName,omitempty"`
Err string `json:"err,omitempty"`
// contains filtered or unexported fields
}
func NewFileLoadError ¶ added in v0.15.0
func NewFileLoadError(fileName string, err error) FileLoadError
func (FileLoadError) Error ¶ added in v0.15.0
func (e FileLoadError) Error() string
func (FileLoadError) String ¶ added in v0.15.0
func (e FileLoadError) String() string
func (FileLoadError) Unwrap ¶ added in v0.28.0
func (e FileLoadError) Unwrap() error
Unwrap returns the error the file failed to load with, so errors.Is and errors.As see through a FileLoadError.
type FilesLoadError ¶ added in v0.15.0
type FilesLoadError struct {
// contains filtered or unexported fields
}
func NewFilesLoadError ¶ added in v0.15.0
func NewFilesLoadError(errs []FileLoadError) FilesLoadError
func (FilesLoadError) Error ¶ added in v0.15.0
func (e FilesLoadError) Error() string
func (FilesLoadError) Errors ¶ added in v0.15.0
func (e FilesLoadError) Errors() []FileLoadError
func (FilesLoadError) String ¶ added in v0.15.0
func (e FilesLoadError) String() string
func (FilesLoadError) Unwrap ¶ added in v0.28.0
func (e FilesLoadError) Unwrap() []error
Unwrap returns every file's error, so errors.Is and errors.As see through a FilesLoadError to any of them.
type FoldersStore ¶
type MockStorage ¶ added in v0.15.12
type MockStorage struct {
// contains filtered or unexported fields
}
MockStorage is a mock of Storage interface.
func NewMockStorage ¶ added in v0.15.12
func NewMockStorage(ctrl *gomock.Controller) *MockStorage
NewMockStorage creates a new mock instance.
func (*MockStorage) Commit ¶ added in v0.15.12
func (m *MockStorage) Commit(ctx context.Context, message string) error
Commit mocks base method.
func (*MockStorage) EXPECT ¶ added in v0.15.12
func (m *MockStorage) EXPECT() *MockStorageMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockStorage) FileExists ¶ added in v0.15.12
FileExists mocks base method.
func (*MockStorage) OpenFile ¶ added in v0.15.12
func (m *MockStorage) OpenFile(ctx context.Context, filePath string) (io.ReadCloser, error)
OpenFile mocks base method.
type MockStorageMockRecorder ¶ added in v0.15.12
type MockStorageMockRecorder struct {
// contains filtered or unexported fields
}
MockStorageMockRecorder is the mock recorder for MockStorage.
func (*MockStorageMockRecorder) Commit ¶ added in v0.15.12
func (mr *MockStorageMockRecorder) Commit(ctx, message any) *gomock.Call
Commit indicates an expected call of Commit.
func (*MockStorageMockRecorder) FileExists ¶ added in v0.15.12
func (mr *MockStorageMockRecorder) FileExists(ctx, filePath any) *gomock.Call
FileExists indicates an expected call of FileExists.
type ProjectStoreRef ¶
type ProjectStoreRef interface {
ProjectStore() datatug.ProjectStore
}
type RecordsetLoader ¶
type RecordsetLoader interface {
// ID returns recordset id
ID() string
// LoadRecordsetDefinition loads recordset definition
LoadRecordsetDefinition(ctx context.Context) (dataset *datatug.RecordsetDefinition, err error)
// LoadRecordsetData loads recordset data
LoadRecordsetData(ctx context.Context, fileName string) (recordset *datatug.Recordset, err error)
}
RecordsetLoader loads recordset data
type RecordsetsStore ¶
type RecordsetsStore interface {
ProjectStoreRef
Recordset(id string) RecordsetLoader
// LoadRecordsetDefinitions loads list of recordsets summary
LoadRecordsetDefinitions(ctx context.Context) (datasets []*datatug.RecordsetDefinition, err error)
}
RecordsetsStore provides access to recordset records
type Store ¶
type Store interface {
GetProjectStore(projectID string) datatug.ProjectStore
// CreateProject creates a new DataTug project
CreateProject(ctx context.Context, request dto.CreateProjectRequest) (
projectSummary *datatug.ProjectSummary,
err error,
)
DeleteProject(ctx context.Context, id string) error
// GetProjects returns list of projects
GetProjects(ctx context.Context) (projectBriefs []datatug.ProjectBrief, err error)
}
Store defines interface for loading & saving DataTug projects Each store can keep multiple projects. Projects can be stored locally on file system or on server on some database.
var Current Store
Current holds currently active storage interface
TODO: to be replaced with `func NewDatatugStore(id string) Store`
func NewNoOpStore ¶
func NewNoOpStore() Store
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package dalgostore implements storage.Store and datatug.ProjectStore over a caller-supplied dal.DB (dalgo-project-store plan): Store (store.go) creates, lists, opens and deletes projects in one store, and ProjectStore (this file) addresses one project in it.
|
Package dalgostore implements storage.Store and datatug.ProjectStore over a caller-supplied dal.DB (dalgo-project-store plan): Store (store.go) creates, lists, opens and deletes projects in one store, and ProjectStore (this file) addresses one project in it. |
|
Package filestore's query pair transaction protocol (this file) persists a query's JSON metadata and its body sidecar as one recoverable logical transaction, under the query store lock (query_lock.go):
|
Package filestore's query pair transaction protocol (this file) persists a query's JSON metadata and its body sidecar as one recoverable logical transaction, under the query store lock (query_lock.go): |
|
Package ingitdbschema ships DataTug's inGitDB project-store schema as static files and copies them into a store directory when a project store is initialised.
|
Package ingitdbschema ships DataTug's inGitDB project-store schema as static files and copies them into a store directory when a project store is initialised. |