Return synced folders plugin along with synced folder info

This commit is contained in:
sophia 2021-11-29 11:40:51 -06:00 committed by Paul Hinze
parent 45cfcc4c34
commit 8f8b5d2078
No known key found for this signature in database
GPG Key ID: B69DEDF2D55501C0

View File

@ -177,21 +177,25 @@ func (m *Machine) UID() (userId string, err error) {
}
// SyncedFolders implements core.Machine
func (m *Machine) SyncedFolders() (folders []core.SyncedFolder, err error) {
func (m *Machine) SyncedFolders() (folders []*core.MachineSyncedFolder, err error) {
config := m.target.Configuration
machineConfig := config.ConfigVm
syncedFolders := machineConfig.SyncedFolders
folders = []core.SyncedFolder{}
folders = []*core.MachineSyncedFolder{}
for _, folder := range syncedFolders {
// TODO: get default synced folder type
folder.Type = "virtualbox"
plg, err := m.project.basis.component(m.ctx, component.SyncedFolderType, folder.Type)
// TODO: configure with folder info
if err != nil {
return nil, err
}
folders = append(folders, plg.Value.(core.SyncedFolder))
var f *core.Folder
mapstructure.Decode(folder, &f)
folders = append(folders, &core.MachineSyncedFolder{
Plugin: plg.Value.(core.SyncedFolder),
Folder: f,
})
}
return
}