2.4 KiB
2.4 KiB
| title |
|---|
| workspace |
Service: workspace
Constants
defaultWorkspacelistFile
Types
type Options
type Options struct {
// Options holds configuration for the workspace service.
}
type Service
type Service struct {
core.Runtime[*Options]
activeWorkspace *Workspace
workspaceList map[string]string // Maps Workspace ID to Public Key
medium io.Medium
}
Service manages user workspaces.
Methods
CreateWorkspace(identifier, password string) (string, error): CreateWorkspace creates a new, obfuscated workspace on the local medium.HandleIPCEvents(c *core.Core, msg core.Message) error: HandleIPCEvents processes IPC messages, including injecting dependencies on startup.ServiceStartup(context.Context, application.ServiceOptions) error: ServiceStartup initializes the service, loading the workspace list.SwitchWorkspace(name string) error: SwitchWorkspace changes the active workspace.WorkspaceFileGet(filename string) (string, error): WorkspaceFileGet retrieves a file from the active workspace.WorkspaceFileSet(filename, content string) error: WorkspaceFileSet writes a file to the active workspace.getWorkspaceDir() (string, error): getWorkspaceDir retrieves the WorkspaceDir from the config service.
type Workspace
type Workspace struct {
Name string
Path string
}
Workspace represents a user's workspace.
type localMedium
type localMedium struct{}
localMedium implements the Medium interface for the local disk.
Methods
EnsureDir(path string) error: EnsureDir creates a directory on the local disk.FileGet(path string) (string, error): FileGet reads a file from the local disk.FileSet(path, content string) error: FileSet writes a file to the local disk.IsFile(path string) bool: IsFile checks if a path exists and is a file on the local disk.Read(path string) (string, error): Read reads a file from the local disk.Write(path, content string) error: Write writes a file to the local disk.
Functions
NewLocalMedium() io.Medium: NewLocalMedium creates a new instance of the local storage medium.Register(c *core.Core) (any, error): Register is the constructor for dynamic dependency injection (used with core.WithService). It creates a Service instance and initializes its core.Runtime field. Dependencies are injected during ServiceStartup.