package theme import "git.kor-elf.net/kor-elf/gui-for-ffmpeg/setting" type RepositoryContract interface { GetCode() string Save(code string) setting.Setting } type Repository struct { settingRepository setting.RepositoryContract } func NewRepository(settingRepository setting.RepositoryContract) *Repository { return &Repository{settingRepository: settingRepository} } func (r Repository) GetCode() string { name := r.settingRepository.GetValue("theme") if len(name) == 0 { return "default" } return name } func (r Repository) Save(code string) setting.Setting { return r.settingRepository.CreateOrUpdate("theme", code) }