Skip to content

Commit 114a39a

Browse files
committed
WIP
1 parent 88b5054 commit 114a39a

File tree

4 files changed

+26
-23
lines changed

4 files changed

+26
-23
lines changed

go.mod

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,12 @@ go 1.25.1
55
require (
66
github.com/Masterminds/sprig v2.22.0+incompatible
77
github.com/bluele/gcache v0.0.2
8-
github.com/cs3org/go-cs3apis v0.0.0-20250902085700-00cd04c8e01c
8+
github.com/cs3org/go-cs3apis v0.0.0-20250908152307-4ca807afe54e
99
github.com/cs3org/reva/v3 v3.0.1
1010
github.com/disintegration/imaging v1.6.2
1111
github.com/go-chi/chi/v5 v5.2.3
1212
github.com/go-sql-driver/mysql v1.9.3
1313
github.com/gomodule/redigo v1.9.2
14-
github.com/juliangruber/go-intersect v1.1.0
1514
github.com/mitchellh/mapstructure v1.5.0
1615
github.com/pkg/errors v0.9.1
1716
github.com/rs/zerolog v1.34.0

go.sum

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -806,8 +806,6 @@ github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+Ce
806806
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
807807
github.com/bluele/gcache v0.0.2 h1:WcbfdXICg7G/DGBh1PFfcirkWOQV+v077yF1pSy3DGw=
808808
github.com/bluele/gcache v0.0.2/go.mod h1:m15KV+ECjptwSPxKhOhQoAFQVtUFjTVkc3H8o0t/fp0=
809-
github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY=
810-
github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4=
811809
github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c=
812810
github.com/bmizerany/pat v0.0.0-20210406213842-e4b6760bdd6f h1:gOO/tNZMjjvTKZWpY7YnXC72ULNLErRtp94LountVE8=
813811
github.com/bmizerany/pat v0.0.0-20210406213842-e4b6760bdd6f/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c=
@@ -844,8 +842,8 @@ github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV
844842
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
845843
github.com/creasty/defaults v1.8.0 h1:z27FJxCAa0JKt3utc0sCImAEb+spPucmKoOdLHvHYKk=
846844
github.com/creasty/defaults v1.8.0/go.mod h1:iGzKe6pbEHnpMPtfDXZEr0NVxWnPTjb1bbDy08fPzYM=
847-
github.com/cs3org/go-cs3apis v0.0.0-20250902085700-00cd04c8e01c h1:LwCysopto1uLelEkfXFEk5jOqrphw8CRGRdAej1Km/8=
848-
github.com/cs3org/go-cs3apis v0.0.0-20250902085700-00cd04c8e01c/go.mod h1:DedpcqXl193qF/08Y04IO0PpxyyMu8+GrkD6kWK2MEQ=
845+
github.com/cs3org/go-cs3apis v0.0.0-20250908152307-4ca807afe54e h1:fC/BWMVWNFlSbzvSp2xTaH0qpJiq7ScRrOsCzpgi1xI=
846+
github.com/cs3org/go-cs3apis v0.0.0-20250908152307-4ca807afe54e/go.mod h1:DedpcqXl193qF/08Y04IO0PpxyyMu8+GrkD6kWK2MEQ=
849847
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
850848
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
851849
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -1101,8 +1099,6 @@ github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/
11011099
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
11021100
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
11031101
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
1104-
github.com/juliangruber/go-intersect v1.1.0 h1:sc+y5dCjMMx0pAdYk/N6KBm00tD/f3tq+Iox7dYDUrY=
1105-
github.com/juliangruber/go-intersect v1.1.0/go.mod h1:WMau+1kAmnlQnKiikekNJbtGtfmILU/mMU6H7AgKbWQ=
11061102
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
11071103
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
11081104
github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
@@ -1120,14 +1116,11 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxv
11201116
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
11211117
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
11221118
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
1123-
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
11241119
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
11251120
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
1126-
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
11271121
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
11281122
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
11291123
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
1130-
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
11311124
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
11321125
github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
11331126
github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
@@ -1220,7 +1213,6 @@ github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qq
12201213
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
12211214
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
12221215
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
1223-
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
12241216
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
12251217
github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
12261218
github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY=

share/sql/share.go

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ package sql
2020

2121
import (
2222
"context"
23+
"slices"
2324
"strconv"
2425
"strings"
2526
"time"
@@ -216,9 +217,9 @@ func (m *ShareMgr) UpdateShare(ctx context.Context, ref *collaboration.ShareRefe
216217
}
217218

218219
func (m *ShareMgr) ListShares(ctx context.Context, filters []*collaboration.Filter) ([]*collaboration.Share, error) {
219-
user, _ := appctx.ContextGetUser(ctx)
220+
//user, _ := appctx.ContextGetUser(ctx)
220221

221-
shares, err := m.ListModelShares(user, filters, false)
222+
shares, err := m.ListModelShares(nil, filters, false)
222223
if err != nil {
223224
return nil, err
224225
}
@@ -574,13 +575,7 @@ func (m *ShareMgr) isProjectAdmin(u *userpb.User, path string) bool {
574575
}
575576

576577
adminGroup := projectSpaceGroupsPrefix + parts[4] + projectSpaceAdminGroupsSuffix
577-
for _, g := range u.Groups {
578-
if g == adminGroup {
579-
// User belongs to the admin group, list all shares for the resource
580-
581-
return true
582-
}
583-
}
578+
return slices.Contains(u.Groups, adminGroup)
584579
}
585580
return false
586581
}

storage/eoswrapper/eoswrapper.go

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import (
3434
"github.com/cs3org/reva/v3"
3535
"github.com/cs3org/reva/v3/pkg/appctx"
3636
"github.com/cs3org/reva/v3/pkg/errtypes"
37+
"github.com/cs3org/reva/v3/pkg/spaces"
3738
"github.com/cs3org/reva/v3/pkg/storage"
3839
"github.com/cs3org/reva/v3/pkg/storage/fs/registry"
3940
"github.com/cs3org/reva/v3/pkg/storage/utils/eosfs"
@@ -139,6 +140,13 @@ func (w *wrapper) GetMD(ctx context.Context, ref *provider.Reference, mdKeys []s
139140
res.Id.StorageId = w.getMountID(ctx, res)
140141
res.ParentId.StorageId = w.getMountID(ctx, res)
141142

143+
// res.Space = &provider.StorageSpace{
144+
// Id: &provider.StorageSpaceId{
145+
// OpaqueId: spaces.EncodeSpaceID(spaces.PathToSpaceID(res.Path)),
146+
// },
147+
// SpaceType: w.spaceType().AsString(),
148+
// }
149+
142150
if err = w.setProjectSharingPermissions(ctx, res); err != nil {
143151
return nil, err
144152
}
@@ -340,9 +348,18 @@ func (w *wrapper) ListWithRegex(ctx context.Context, path, regex string, depth u
340348
}
341349

342350
func (w *wrapper) isProjectInstance() bool {
343-
return strings.HasPrefix(w.conf.Namespace, eosProjectsNamespace)
351+
return w.spaceType() == spaces.SpaceTypeProject
344352
}
345353

346354
func (w *wrapper) isHomeInstance() bool {
347-
return strings.HasPrefix(w.conf.Namespace, eosHomesNamespace)
355+
return w.spaceType() == spaces.SpaceTypeHome
356+
}
357+
358+
func (w *wrapper) spaceType() spaces.SpaceType {
359+
if strings.HasPrefix(w.conf.Namespace, eosHomesNamespace) {
360+
return spaces.SpaceTypeHome
361+
} else if strings.HasPrefix(w.conf.Namespace, eosProjectsNamespace) {
362+
return spaces.SpaceTypeProject
363+
}
364+
return spaces.SpaceTypePublic
348365
}

0 commit comments

Comments
 (0)