Enver Bisevac ad619c7e3c [feat]ability to commit files using REST api (#82)
* initial work on commit files

* minor improvements, grpc server interceptors and more

* compare file old sha and current sha

* added some validation steps

* config immutable, introduce temp repos dir

* handler added to standalone

* fix CI linter, fix minor bug on update

* wire generator files
2022-11-22 19:24:40 +01:00

33 lines
922 B
Go

// Copyright 2022 Harness Inc. All rights reserved.
// Use of this source code is governed by the Polyform Free Trial License
// that can be found in the LICENSE.md file for this repository.
package tempdir
import (
"fmt"
"os"
)
// CreateTemporaryPath creates a temporary path.
func CreateTemporaryPath(reposTempPath, prefix string) (string, error) {
if reposTempPath != "" {
if err := os.MkdirAll(reposTempPath, os.ModePerm); err != nil {
return "", fmt.Errorf("failed to create directory %s: %w", reposTempPath, err)
}
}
basePath, err := os.MkdirTemp(reposTempPath, prefix+".git")
if err != nil {
return "", fmt.Errorf("failed to create dir %s-*.git: %w", prefix, err)
}
return basePath, nil
}
// RemoveTemporaryPath removes the temporary path.
func RemoveTemporaryPath(basePath string) error {
if _, err := os.Stat(basePath); !os.IsNotExist(err) {
return os.RemoveAll(basePath)
}
return nil
}