enhancement: return a drive item from the update share drive item api endpoint
This commit is contained in:
committed by
Ralf Haferkamp
parent
5b4e83c9bf
commit
9e6bf2af3c
@@ -382,20 +382,27 @@ func (api DrivesDriveItemApi) UpdateDriveItem(w http.ResponseWriter, r *http.Req
|
||||
request.UpdateMask.Paths = append(request.UpdateMask.Paths, _fieldMaskPathHidden)
|
||||
},
|
||||
)
|
||||
switch {
|
||||
case err != nil:
|
||||
break
|
||||
case len(updatedShares) == 0:
|
||||
err = ErrNoShares
|
||||
}
|
||||
if err != nil {
|
||||
api.logger.Debug().Err(err).Msg(ErrUpdateShares.Error())
|
||||
ErrUpdateShares.Render(w, r)
|
||||
return
|
||||
}
|
||||
|
||||
driveItems, err := api.baseGraphService.CS3ReceivedSharesToDriveItems(r.Context(), updatedShares)
|
||||
switch {
|
||||
case err != nil:
|
||||
break
|
||||
case len(driveItems) != 1:
|
||||
err = ErrDriveItemConversion
|
||||
}
|
||||
if err != nil {
|
||||
api.logger.Debug().Err(err).Msg(ErrDriveItemConversion.Error())
|
||||
ErrDriveItemConversion.Render(w, r)
|
||||
return
|
||||
}
|
||||
|
||||
render.Status(r, http.StatusOK)
|
||||
render.JSON(w, r, updatedShares[0])
|
||||
render.JSON(w, r, driveItems[0])
|
||||
}
|
||||
|
||||
// CreateDriveItem creates a drive item
|
||||
|
||||
@@ -699,11 +699,17 @@ var _ = Describe("DrivesDriveItemApi", func() {
|
||||
Return([]*collaborationv1beta1.ReceivedShare{}, nil).
|
||||
Once()
|
||||
|
||||
baseGraphProvider.
|
||||
EXPECT().
|
||||
CS3ReceivedSharesToDriveItems(mock.Anything, mock.Anything).
|
||||
Return(nil, nil).
|
||||
Once()
|
||||
|
||||
drivesDriveItemApi.UpdateDriveItem(w, r)
|
||||
Expect(w.Code).To(Equal(http.StatusBadRequest))
|
||||
|
||||
jsonData := gjson.Get(w.Body.String(), "error")
|
||||
Expect(jsonData.Get("code").String() + ": " + jsonData.Get("message").String()).To(Equal(svc.ErrUpdateShares.Error()))
|
||||
Expect(jsonData.Get("code").String() + ": " + jsonData.Get("message").String()).To(Equal(svc.ErrDriveItemConversion.Error()))
|
||||
})
|
||||
|
||||
It("successfully updates the share", func() {
|
||||
@@ -744,7 +750,6 @@ var _ = Describe("DrivesDriveItemApi", func() {
|
||||
EXPECT().
|
||||
UpdateShares(mock.Anything, mock.Anything, mock.Anything).
|
||||
RunAndReturn(func(ctx context.Context, shares []*collaborationv1beta1.ReceivedShare, closure svc.UpdateShareClosure) ([]*collaborationv1beta1.ReceivedShare, error) {
|
||||
|
||||
updateReceivedShareRequest := &collaborationv1beta1.UpdateReceivedShareRequest{
|
||||
Share: &collaborationv1beta1.ReceivedShare{
|
||||
Share: &collaborationv1beta1.Share{
|
||||
@@ -765,6 +770,12 @@ var _ = Describe("DrivesDriveItemApi", func() {
|
||||
}).
|
||||
Once()
|
||||
|
||||
baseGraphProvider.
|
||||
EXPECT().
|
||||
CS3ReceivedSharesToDriveItems(mock.Anything, mock.Anything).
|
||||
Return([]libregraph.DriveItem{{}}, nil).
|
||||
Once()
|
||||
|
||||
drivesDriveItemApi.UpdateDriveItem(w, r)
|
||||
Expect(w.Code).To(Equal(http.StatusOK))
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user