mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-06 04:09:40 -06:00
enhancement: add ui hidden and client synced prop
This commit is contained in:
committed by
Ralf Haferkamp
parent
8c6ba9c360
commit
0b796443f2
@@ -73,6 +73,7 @@ func (g Graph) listSharedWithMe(ctx context.Context) ([]libregraph.DriveItem, er
|
||||
|
||||
for i, receivedShare := range receivedShares {
|
||||
i, receivedShare := i, receivedShare
|
||||
|
||||
group.Go(func() error {
|
||||
shareStat, err := doStat(receivedShare.GetShare().GetResourceId())
|
||||
if shareStat == nil || err != nil {
|
||||
@@ -81,6 +82,9 @@ func (g Graph) listSharedWithMe(ctx context.Context) ([]libregraph.DriveItem, er
|
||||
|
||||
permission := libregraph.NewPermission()
|
||||
{
|
||||
permission.SetUIHidden(receivedShare.GetHidden())
|
||||
permission.SetClientSynchronize(receivedShare.GetState() == collaboration.ShareState_SHARE_STATE_ACCEPTED)
|
||||
|
||||
if id := receivedShare.GetShare().GetId().GetOpaqueId(); id != "" {
|
||||
permission.SetId(id)
|
||||
}
|
||||
@@ -89,10 +93,6 @@ func (g Graph) listSharedWithMe(ctx context.Context) ([]libregraph.DriveItem, er
|
||||
permission.SetExpirationDateTime(cs3TimestampToTime(expiration))
|
||||
}
|
||||
|
||||
// todo: handle:
|
||||
// - @UIUI.Hidden // why @UIUI?
|
||||
// - @Client.Synchronize
|
||||
|
||||
if permissionSet := shareStat.GetInfo().GetPermissionSet(); permissionSet != nil {
|
||||
if actions := unifiedrole.CS3ResourcePermissionsToLibregraphActions(*permissionSet); len(actions) > 0 {
|
||||
permission.SetLibreGraphPermissionsActions(actions)
|
||||
@@ -169,6 +169,7 @@ func (g Graph) listSharedWithMe(ctx context.Context) ([]libregraph.DriveItem, er
|
||||
// handle share state related stuff
|
||||
switch receivedShare.GetState() {
|
||||
case collaboration.ShareState_SHARE_STATE_ACCEPTED:
|
||||
// fixMe: is this stat necessary? only mtime is used... anything else needed?
|
||||
resourceId := &storageprovider.ResourceId{
|
||||
StorageId: utils.ShareStorageProviderID,
|
||||
OpaqueId: receivedShare.GetShare().GetId().GetOpaqueId(),
|
||||
@@ -181,21 +182,13 @@ func (g Graph) listSharedWithMe(ctx context.Context) ([]libregraph.DriveItem, er
|
||||
|
||||
driveItem.SetId(storagespace.FormatResourceID(*resourceId))
|
||||
|
||||
if name := jailStat.GetInfo().GetName(); name != "" {
|
||||
driveItem.SetName(name)
|
||||
if name := receivedShare.GetMountPoint().GetPath(); name != "" {
|
||||
driveItem.SetName(receivedShare.GetMountPoint().GetPath())
|
||||
}
|
||||
|
||||
if etag := jailStat.GetInfo().GetEtag(); etag != "" {
|
||||
driveItem.SetETag(etag)
|
||||
}
|
||||
|
||||
if mTime := jailStat.GetInfo().GetMtime(); mTime != nil {
|
||||
driveItem.SetLastModifiedDateTime(cs3TimestampToTime(mTime))
|
||||
}
|
||||
|
||||
if size := jailStat.GetInfo().GetSize(); size != 0 {
|
||||
remoteItem.SetSize(int64(size))
|
||||
}
|
||||
case collaboration.ShareState_SHARE_STATE_PENDING:
|
||||
fallthrough
|
||||
case collaboration.ShareState_SHARE_STATE_REJECTED:
|
||||
@@ -206,6 +199,20 @@ func (g Graph) listSharedWithMe(ctx context.Context) ([]libregraph.DriveItem, er
|
||||
|
||||
// connect the dots
|
||||
{
|
||||
if mTime := shareStat.GetInfo().GetMtime(); mTime != nil {
|
||||
t := cs3TimestampToTime(mTime)
|
||||
|
||||
driveItem.SetLastModifiedDateTime(t)
|
||||
remoteItem.SetLastModifiedDateTime(t)
|
||||
}
|
||||
|
||||
if size := shareStat.GetInfo().GetSize(); size != 0 {
|
||||
s := int64(size)
|
||||
|
||||
driveItem.SetSize(s)
|
||||
remoteItem.SetSize(s)
|
||||
}
|
||||
|
||||
if userID := shareStat.GetInfo().GetOwner(); userID != nil {
|
||||
if user, err := g.identityCache.GetUser(ctx, userID.GetOpaqueId()); err != nil {
|
||||
g.logger.Error().Err(err).Msg("could not get user")
|
||||
|
||||
@@ -30,7 +30,7 @@ import (
|
||||
service "github.com/owncloud/ocis/v2/services/graph/pkg/service/v0"
|
||||
)
|
||||
|
||||
var _ = Describe("SharedWithMe", func() {
|
||||
var _ = PDescribe("SharedWithMe", func() {
|
||||
var (
|
||||
svc service.Service
|
||||
cfg *config.Config
|
||||
|
||||
Reference in New Issue
Block a user