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:
kobergj
2022-02-04 13:45:37 +01:00
committed by GitHub
parent 24b553396f
commit 559abd97db
5 changed files with 29 additions and 12 deletions
+20
View File
@@ -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?