Documentation
¶
Index ¶
- type DiagramUseCase
- func (uc *DiagramUseCase) Create(ctx context.Context, id string, content string) error
- func (uc *DiagramUseCase) CreateDiagram(ctx context.Context, diagram *entity.Diagram) error
- func (uc *DiagramUseCase) ExportDiagram(ctx context.Context, diagramID string, format entity.ExportFormat) (io.Reader, error)
- func (uc *DiagramUseCase) ExportDiagramWithOptions(ctx context.Context, diagramID string, format entity.ExportFormat, ...) (io.Reader, error)
- func (uc *DiagramUseCase) FormatSource(ctx context.Context, content string) (string, error)
- func (uc *DiagramUseCase) GetSource(ctx context.Context, diagramID string) (string, error)
- func (uc *DiagramUseCase) RenderDiagram(ctx context.Context, content string, format entity.ExportFormat, ...) (io.Reader, error)
- func (uc *DiagramUseCase) RenderDiagramWithOptions(ctx context.Context, content string, format entity.ExportFormat, ...) (io.Reader, error)
- func (uc *DiagramUseCase) UpdateSource(ctx context.Context, diagramID, content string) (*entity.DiagramValidationResult, error)
- func (uc *DiagramUseCase) ValidateDiagram(ctx context.Context, content, diagramID *string) (*entity.DiagramValidationResult, error)
- type OracleUseCase
- func (uc *OracleUseCase) CreateElement(ctx context.Context, op *entity.OracleOperation) (*entity.OracleResult, error)
- func (uc *OracleUseCase) DeleteElement(ctx context.Context, op *entity.OracleOperation) (*entity.OracleResult, error)
- func (uc *OracleUseCase) ExecuteOperation(ctx context.Context, op *entity.OracleOperation) (*entity.OracleResult, error)
- func (uc *OracleUseCase) GetChildren(ctx context.Context, diagramID string, boardPath []string, parentID string) ([]string, error)
- func (uc *OracleUseCase) GetEdge(ctx context.Context, diagramID string, boardPath []string, edgeID string) (*entity.GraphEdge, error)
- func (uc *OracleUseCase) GetObject(ctx context.Context, diagramID string, boardPath []string, objectID string) (*entity.GraphObject, error)
- func (uc *OracleUseCase) LoadDiagram(ctx context.Context, diagramID string, content string) error
- func (uc *OracleUseCase) MoveElement(ctx context.Context, op *entity.OracleOperation) (*entity.OracleResult, error)
- func (uc *OracleUseCase) RenameElement(ctx context.Context, op *entity.OracleOperation) (*entity.OracleResult, error)
- func (uc *OracleUseCase) SerializeDiagram(ctx context.Context, diagramID string) (string, error)
- func (uc *OracleUseCase) SetAttribute(ctx context.Context, op *entity.OracleOperation) (*entity.OracleResult, error)
- type ValidationError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DiagramUseCase ¶
type DiagramUseCase struct {
// contains filtered or unexported fields
}
DiagramUseCase implements the business logic for diagram operations.
func NewDiagramUseCase ¶
func NewDiagramUseCase(repo repository.DiagramRepository) *DiagramUseCase
NewDiagramUseCase creates a new diagram usecase instance.
func (*DiagramUseCase) Create ¶
Create creates a diagram with the given ID and optional content. This is a convenience method that handles both empty and pre-populated diagrams.
func (*DiagramUseCase) CreateDiagram ¶
CreateDiagram creates a new diagram programmatically.
func (*DiagramUseCase) ExportDiagram ¶
func (uc *DiagramUseCase) ExportDiagram(ctx context.Context, diagramID string, format entity.ExportFormat) (io.Reader, error)
ExportDiagram exports the diagram to the specified format.
func (*DiagramUseCase) ExportDiagramWithOptions ¶
func (uc *DiagramUseCase) ExportDiagramWithOptions(ctx context.Context, diagramID string, format entity.ExportFormat, options entity.RenderOptions) (io.Reader, error)
ExportDiagramWithOptions exports a stored diagram using typed D2 v0.9 options.
func (*DiagramUseCase) FormatSource ¶
FormatSource formats valid source without changing stored diagrams.
func (*DiagramUseCase) RenderDiagram ¶
func (uc *DiagramUseCase) RenderDiagram(ctx context.Context, content string, format entity.ExportFormat, theme *entity.Theme) (io.Reader, error)
RenderDiagram renders D2 text into a diagram.
func (*DiagramUseCase) RenderDiagramWithOptions ¶
func (uc *DiagramUseCase) RenderDiagramWithOptions(ctx context.Context, content string, format entity.ExportFormat, options entity.RenderOptions) (io.Reader, error)
RenderDiagramWithOptions renders D2 text using the typed D2 v0.9 options.
func (*DiagramUseCase) UpdateSource ¶
func (uc *DiagramUseCase) UpdateSource(ctx context.Context, diagramID, content string) (*entity.DiagramValidationResult, error)
UpdateSource validates and atomically replaces a stored diagram's source.
func (*DiagramUseCase) ValidateDiagram ¶
func (uc *DiagramUseCase) ValidateDiagram(ctx context.Context, content, diagramID *string) (*entity.DiagramValidationResult, error)
ValidateDiagram validates raw source or the current source of a stored diagram.
type OracleUseCase ¶
type OracleUseCase struct {
// contains filtered or unexported fields
}
OracleUseCase implements business logic for Oracle operations
func NewOracleUseCase ¶
func NewOracleUseCase(repo repository.OracleRepository) *OracleUseCase
NewOracleUseCase creates a new Oracle use case
func (*OracleUseCase) CreateElement ¶
func (uc *OracleUseCase) CreateElement(ctx context.Context, op *entity.OracleOperation) (*entity.OracleResult, error)
CreateElement creates a new diagram element
func (*OracleUseCase) DeleteElement ¶
func (uc *OracleUseCase) DeleteElement(ctx context.Context, op *entity.OracleOperation) (*entity.OracleResult, error)
DeleteElement deletes a diagram element
func (*OracleUseCase) ExecuteOperation ¶
func (uc *OracleUseCase) ExecuteOperation(ctx context.Context, op *entity.OracleOperation) (*entity.OracleResult, error)
ExecuteOperation executes a single Oracle operation based on its type
func (*OracleUseCase) GetChildren ¶
func (uc *OracleUseCase) GetChildren(ctx context.Context, diagramID string, boardPath []string, parentID string) ([]string, error)
GetChildren retrieves child element IDs
func (*OracleUseCase) GetEdge ¶
func (uc *OracleUseCase) GetEdge(ctx context.Context, diagramID string, boardPath []string, edgeID string) (*entity.GraphEdge, error)
GetEdge retrieves edge information
func (*OracleUseCase) GetObject ¶
func (uc *OracleUseCase) GetObject(ctx context.Context, diagramID string, boardPath []string, objectID string) (*entity.GraphObject, error)
GetObject retrieves object information
func (*OracleUseCase) LoadDiagram ¶
LoadDiagram loads a diagram from D2 text
func (*OracleUseCase) MoveElement ¶
func (uc *OracleUseCase) MoveElement(ctx context.Context, op *entity.OracleOperation) (*entity.OracleResult, error)
MoveElement moves a diagram element to a new container
func (*OracleUseCase) RenameElement ¶
func (uc *OracleUseCase) RenameElement(ctx context.Context, op *entity.OracleOperation) (*entity.OracleResult, error)
RenameElement renames a diagram element
func (*OracleUseCase) SerializeDiagram ¶
SerializeDiagram converts the current graph state back to D2 text
func (*OracleUseCase) SetAttribute ¶
func (uc *OracleUseCase) SetAttribute(ctx context.Context, op *entity.OracleOperation) (*entity.OracleResult, error)
SetAttribute sets an attribute on a diagram element
type ValidationError ¶
type ValidationError struct {
Message string
}
ValidationError represents a validation error in the usecase layer.
func (*ValidationError) Error ¶
func (e *ValidationError) Error() string
Error implements the error interface.