Clean up state artifact writes
This commit is contained in:
@@ -107,17 +107,12 @@ func (s *FilesystemStore) Paths(resolved report.Resolved) (ArtifactPaths, error)
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *FilesystemStore) SaveModuleSnapshot(_ context.Context, resolved report.Resolved, snapshot module.Snapshot) (string, error) {
|
func (s *FilesystemStore) SaveModuleSnapshot(_ context.Context, resolved report.Resolved, snapshot module.Snapshot) (string, error) {
|
||||||
paths, err := s.Paths(resolved)
|
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
if err := snapshot.Validate(); err != nil {
|
if err := snapshot.Validate(); err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
if err := fileutil.WriteJSONAtomic(paths.ModuleSnapshot, snapshot); err != nil {
|
return s.saveResolvedJSON(resolved, func(paths ArtifactPaths) string {
|
||||||
return "", err
|
return paths.ModuleSnapshot
|
||||||
}
|
}, snapshot)
|
||||||
return paths.ModuleSnapshot, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *FilesystemStore) SaveDataPackage(_ context.Context, resolved report.Resolved, pkg promptinput.Package) (string, error) {
|
func (s *FilesystemStore) SaveDataPackage(_ context.Context, resolved report.Resolved, pkg promptinput.Package) (string, error) {
|
||||||
@@ -132,72 +127,66 @@ func (s *FilesystemStore) SaveDataPackage(_ context.Context, resolved report.Res
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *FilesystemStore) SavePreflight(_ context.Context, resolved report.Resolved, artifact PreflightArtifact) (string, error) {
|
func (s *FilesystemStore) SavePreflight(_ context.Context, resolved report.Resolved, artifact PreflightArtifact) (string, error) {
|
||||||
paths, err := s.Paths(resolved)
|
return s.saveResolvedJSON(resolved, func(paths ArtifactPaths) string {
|
||||||
if err != nil {
|
return paths.Preflight
|
||||||
return "", err
|
}, artifact)
|
||||||
}
|
|
||||||
if err := fileutil.WriteJSONAtomic(paths.Preflight, artifact); err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
return paths.Preflight, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *FilesystemStore) SaveDistributorNotification(_ context.Context, resolved report.Resolved, artifact DistributorNotificationArtifact) (string, error) {
|
func (s *FilesystemStore) SaveDistributorNotification(_ context.Context, resolved report.Resolved, artifact DistributorNotificationArtifact) (string, error) {
|
||||||
paths, err := s.Paths(resolved)
|
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
if artifact.SchemaVersion == "" {
|
if artifact.SchemaVersion == "" {
|
||||||
artifact.SchemaVersion = DistributorNotificationSchemaVersion
|
artifact.SchemaVersion = DistributorNotificationSchemaVersion
|
||||||
}
|
}
|
||||||
if err := fileutil.WriteJSONAtomic(paths.Notification, artifact); err != nil {
|
return s.saveResolvedJSON(resolved, func(paths ArtifactPaths) string {
|
||||||
return "", err
|
return paths.Notification
|
||||||
}
|
}, artifact)
|
||||||
return paths.Notification, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *FilesystemStore) SaveGeneratedTextRaw(_ context.Context, resolved report.Resolved, data []byte) (string, error) {
|
func (s *FilesystemStore) SaveGeneratedTextRaw(_ context.Context, resolved report.Resolved, data []byte) (string, error) {
|
||||||
paths, err := s.Paths(resolved)
|
return s.saveResolvedBytes(resolved, func(paths ArtifactPaths) string {
|
||||||
if err != nil {
|
return paths.GeneratedTextRaw
|
||||||
return "", err
|
}, data)
|
||||||
}
|
|
||||||
if err := fileutil.WriteFileAtomic(paths.GeneratedTextRaw, data); err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
return paths.GeneratedTextRaw, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *FilesystemStore) SaveGeneratedTextResult(_ context.Context, resolved report.Resolved, value any) (string, error) {
|
func (s *FilesystemStore) SaveGeneratedTextResult(_ context.Context, resolved report.Resolved, value any) (string, error) {
|
||||||
paths, err := s.Paths(resolved)
|
return s.saveResolvedJSON(resolved, func(paths ArtifactPaths) string {
|
||||||
if err != nil {
|
return paths.GeneratedTextResult
|
||||||
return "", err
|
}, value)
|
||||||
}
|
|
||||||
if err := fileutil.WriteJSONAtomic(paths.GeneratedTextResult, value); err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
return paths.GeneratedTextResult, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *FilesystemStore) SaveGeneratedText(_ context.Context, resolved report.Resolved, data []byte) (string, error) {
|
func (s *FilesystemStore) SaveGeneratedText(_ context.Context, resolved report.Resolved, data []byte) (string, error) {
|
||||||
paths, err := s.Paths(resolved)
|
return s.saveResolvedBytes(resolved, func(paths ArtifactPaths) string {
|
||||||
if err != nil {
|
return paths.GeneratedText
|
||||||
return "", err
|
}, data)
|
||||||
}
|
|
||||||
if err := fileutil.WriteFileAtomic(paths.GeneratedText, data); err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
return paths.GeneratedText, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *FilesystemStore) SaveRenderContext(_ context.Context, resolved report.Resolved, value any) (string, error) {
|
func (s *FilesystemStore) SaveRenderContext(_ context.Context, resolved report.Resolved, value any) (string, error) {
|
||||||
|
return s.saveResolvedJSON(resolved, func(paths ArtifactPaths) string {
|
||||||
|
return paths.RenderContext
|
||||||
|
}, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *FilesystemStore) saveResolvedJSON(resolved report.Resolved, selectPath func(ArtifactPaths) string, value any) (string, error) {
|
||||||
paths, err := s.Paths(resolved)
|
paths, err := s.Paths(resolved)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
if err := fileutil.WriteJSONAtomic(paths.RenderContext, value); err != nil {
|
path := selectPath(paths)
|
||||||
|
if err := fileutil.WriteJSONAtomic(path, value); err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
return paths.RenderContext, nil
|
return path, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *FilesystemStore) saveResolvedBytes(resolved report.Resolved, selectPath func(ArtifactPaths) string, data []byte) (string, error) {
|
||||||
|
paths, err := s.Paths(resolved)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
path := selectPath(paths)
|
||||||
|
if err := fileutil.WriteFileAtomic(path, data); err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
return path, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *FilesystemStore) PrepareRenderedReport(_ context.Context, resolved report.Resolved) (string, error) {
|
func (s *FilesystemStore) PrepareRenderedReport(_ context.Context, resolved report.Resolved) (string, error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user