7 // FoldersConfig contains all the folder configurations
8 type FoldersConfig []FolderConfig
10 // GetIdx returns the index of the folder matching id in FoldersConfig array
11 func (c FoldersConfig) GetIdx(id string) int {
20 // Update is used to fully update or add a new FolderConfig
21 func (c FoldersConfig) Update(newCfg FoldersConfig) FoldersConfig {
22 for i := range newCfg {
25 if newCfg[i].ID == c[j].ID {
32 c = append(c, newCfg[i])
38 // Delete is used to delete a folder matching id in FoldersConfig array
39 func (c FoldersConfig) Delete(id string) (FoldersConfig, FolderConfig, error) {
40 if idx := c.GetIdx(id); idx != -1 {
42 c = append(c[:idx], c[idx+1:]...)
46 return c, FolderConfig{}, fmt.Errorf("invalid id")