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) }