Add persistent storage for directory saving setting
Introduced `DirectoryForSaving` for managing directory paths persistently. Integrated the new setting into relevant modules, ensuring the selected directory is saved and loaded across sessions.
This commit is contained in:
22
setting/directory_for_saving.go
Normal file
22
setting/directory_for_saving.go
Normal file
@@ -0,0 +1,22 @@
|
||||
package setting
|
||||
|
||||
type DirectoryForSavingContract interface {
|
||||
GetDirectoryForSaving() (string, error)
|
||||
SaveDirectoryForSaving(path string) (Setting, error)
|
||||
}
|
||||
|
||||
type DirectoryForSaving struct {
|
||||
settingRepository RepositoryContract
|
||||
}
|
||||
|
||||
func NewSettingDirectoryForSaving(settingRepository RepositoryContract) *DirectoryForSaving {
|
||||
return &DirectoryForSaving{settingRepository: settingRepository}
|
||||
}
|
||||
|
||||
func (setting DirectoryForSaving) GetDirectoryForSaving() (string, error) {
|
||||
return setting.settingRepository.GetValue("directoryForSaving")
|
||||
}
|
||||
|
||||
func (setting DirectoryForSaving) SaveDirectoryForSaving(path string) (Setting, error) {
|
||||
return setting.settingRepository.CreateOrUpdate("directoryForSaving", path)
|
||||
}
|
Reference in New Issue
Block a user