From 89b48b3c0d4ed4eceebd76d4fd3d981b642d3824 Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Thu, 10 Apr 2025 07:50:41 -0700 Subject: Add support for SFTP remote file copies --- internal/wfs/osfs/osfs.go | 58 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 internal/wfs/osfs/osfs.go (limited to 'internal/wfs/osfs') diff --git a/internal/wfs/osfs/osfs.go b/internal/wfs/osfs/osfs.go new file mode 100644 index 0000000..bf6951c --- /dev/null +++ b/internal/wfs/osfs/osfs.go @@ -0,0 +1,58 @@ +package osfs + +import ( + "io" + "io/fs" + "os" + + "gitlab.com/rhogenson/ccp/internal/wfs" +) + +var ( + _ wfs.FS = FS{} + _ wfs.MkdirModeFS = FS{} + _ wfs.ReadLinkFS = FS{} + _ fs.StatFS = FS{} +) + +type FS struct{} + +func (FS) Open(name string) (fs.File, error) { + return os.Open(name) +} + +func (FS) Stat(name string) (fs.FileInfo, error) { + return os.Stat(name) +} + +func (FS) Lstat(name string) (fs.FileInfo, error) { + return os.Lstat(name) +} + +func (FS) ReadLink(name string) (string, error) { + return os.Readlink(name) +} + +func (FS) Create(name string, perm fs.FileMode) (io.WriteCloser, error) { + return os.OpenFile(name, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, perm) +} + +func (FS) Remove(name string) error { + return os.Remove(name) +} + +func (FS) Mkdir(name string) error { + return os.Mkdir(name, 0700) +} + +func (FS) MkdirMode(name string, mode fs.FileMode) error { + return os.Mkdir(name, mode) +} + +func (FS) Symlink(oldname, newname string) error { + return os.Symlink(oldname, newname) +} + +func (FS) Chmod(name string, mode fs.FileMode) error { + return os.Chmod(name, mode) +} -- cgit v1.3.1