Archived
1
This repository has been archived on 2025-08-09. You can view files and clone it, but cannot push or open issues or pull requests.
Files
playbookctl/internal/utils/filesystem.go
2024-12-23 01:55:48 +03:00

61 lines
967 B
Go

package utils
import (
"bytes"
"os"
)
func SaveStaticFile(path string, data []byte) error {
return os.WriteFile(path, data, 0644)
}
func CreateDir(path string) error {
return os.Mkdir(path, 0755)
}
func CreateDirIfNotExists(path string) error {
exists, err := IsExistsDir(path)
if err != nil {
return err
}
if !exists {
if err = CreateDir(path); err != nil {
return err
}
}
return nil
}
func IsExistsDir(path string) (bool, error) {
_, err := os.Stat(path)
if err == nil {
return true, nil
}
if os.IsNotExist(err) {
return false, nil
}
return false, err
}
func RemoveFile(path string) error {
return os.Remove(path)
}
func WriteStringFile(path string, data string) error {
buffer := &bytes.Buffer{}
buffer.WriteString(data)
return os.WriteFile(path, buffer.Bytes(), 0644)
}
func ReadStringFile(path string) (string, error) {
data, err := os.ReadFile(path)
if err != nil {
return "", err
}
return string(data), nil
}