Skip to content

Commit 256fafc

Browse files
committed
Add filemanager.chown
1 parent 4fbbd19 commit 256fafc

2 files changed

Lines changed: 16 additions & 0 deletions

File tree

service/filemanager/default.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,13 @@ func (m *defaultManager) CreateTemp(pattern string) (*os.File, error) {
9393
return file, nil
9494
}
9595

96+
func (m *defaultManager) Chown(path string) error {
97+
if m.chown {
98+
return os.Chown(path, m.userID, m.groupID)
99+
}
100+
return nil
101+
}
102+
96103
func (m *defaultManager) Mkdir(path string, perm os.FileMode) error {
97104
path = m.BasePath(path)
98105
err := os.Mkdir(path, perm)

service/filemanager/manager.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ type Manager interface {
1212
OpenFile(name string, flag int, perm os.FileMode) (*os.File, error)
1313
Create(name string) (*os.File, error)
1414
CreateTemp(pattern string) (*os.File, error)
15+
Chown(name string) error
1516
Mkdir(path string, perm os.FileMode) error
1617
MkdirAll(path string, perm os.FileMode) error
1718
Remove(path string) error
@@ -50,6 +51,14 @@ func CreateTemp(ctx context.Context, pattern string) (*os.File, error) {
5051
return manager.CreateTemp(pattern)
5152
}
5253

54+
func Chown(ctx context.Context, name string) error {
55+
manager := service.FromContext[Manager](ctx)
56+
if manager == nil {
57+
return nil
58+
}
59+
return manager.Chown(name)
60+
}
61+
5362
func Mkdir(ctx context.Context, path string, perm os.FileMode) error {
5463
manager := service.FromContext[Manager](ctx)
5564
if manager == nil {

0 commit comments

Comments
 (0)