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