Introduced `DirectoryForSaving` for managing directory paths persistently. Integrated the new setting into relevant modules, ensuring the selected directory is saved and loaded across sessions.
23 lines
708 B
Go
23 lines
708 B
Go
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)
|
|
}
|