mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-05-01 00:10:17 -05:00
Restoring spaces graph endpoint (#3094)
* restore drive & trashed information Signed-off-by: jkoberg <jkoberg@owncloud.com> * TEMP: use feature branch reva Signed-off-by: jkoberg <jkoberg@owncloud.com> * add changelog Signed-off-by: jkoberg <jkoberg@owncloud.com> * TEMP: update reva version Signed-off-by: jkoberg <jkoberg@owncloud.com> * go back to edge reva Signed-off-by: jkoberg <jkoberg@owncloud.com> * use latest edge Signed-off-by: jkoberg <jkoberg@owncloud.com> * back to feature reva Signed-off-by: jkoberg <jkoberg@owncloud.com> * bump reva again Signed-off-by: jkoberg <jkoberg@owncloud.com> * update expected failures Signed-off-by: jkoberg <jkoberg@owncloud.com> * next reva bump Signed-off-by: jkoberg <jkoberg@owncloud.com> * use edge reva Signed-off-by: jkoberg <jkoberg@owncloud.com> * next reva change Signed-off-by: jkoberg <jkoberg@owncloud.com> * use reva edge again (please go green) Signed-off-by: jkoberg <jkoberg@owncloud.com> * remove expected failure as it passes now Signed-off-by: jkoberg <jkoberg@owncloud.com>
This commit is contained in:
@@ -270,6 +270,17 @@ func (g Graph) UpdateDrive(w http.ResponseWriter, r *http.Request) {
|
||||
},
|
||||
}
|
||||
|
||||
if restore, _ := strconv.ParseBool(r.Header.Get("restore")); restore {
|
||||
updateSpaceRequest.Opaque = &types.Opaque{
|
||||
Map: map[string]*types.OpaqueEntry{
|
||||
"restore": {
|
||||
Decoder: "plain",
|
||||
Value: []byte("true"),
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
if drive.Name != nil {
|
||||
updateSpaceRequest.StorageSpace.Name = *drive.Name
|
||||
}
|
||||
@@ -424,6 +435,15 @@ func cs3StorageSpaceToDrive(baseURL *url.URL, space *storageprovider.StorageSpac
|
||||
},
|
||||
}
|
||||
|
||||
if space.Opaque != nil && space.Opaque.Map != nil {
|
||||
v, ok := space.Opaque.Map["trashed"]
|
||||
if ok {
|
||||
deleted := &libregraph.Deleted{}
|
||||
deleted.SetState(string(v.Value))
|
||||
drive.Root.Deleted = deleted
|
||||
}
|
||||
}
|
||||
|
||||
if baseURL != nil {
|
||||
// TODO read from StorageSpace ... needs Opaque for now
|
||||
// TODO how do we build the url?
|
||||
|
||||
Reference in New Issue
Block a user