package setting type DirectoryForSavingContract interface { GetDirectoryForSaving() string SaveDirectoryForSaving(path string) Setting } type DirectoryForSaving struct { settingRepository RepositoryContract } func NewSettingDirectoryForSaving(settingRepository RepositoryContract) *DirectoryForSaving { return &DirectoryForSaving{settingRepository: settingRepository} } func (setting DirectoryForSaving) GetDirectoryForSaving() string { return setting.settingRepository.GetValue("directoryForSaving") } func (setting DirectoryForSaving) SaveDirectoryForSaving(path string) Setting { return setting.settingRepository.CreateOrUpdate("directoryForSaving", path) }