@@ -24,10 +24,10 @@ import (
24
24
"fmt"
25
25
"net/url"
26
26
"regexp"
27
+ "strconv"
27
28
"strings"
28
29
29
30
userpb "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
30
- types "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
31
31
"github.com/cs3org/reva/pkg/appctx"
32
32
utils "github.com/cs3org/reva/pkg/cbox/utils"
33
33
"github.com/cs3org/reva/pkg/user"
@@ -169,6 +169,8 @@ func (m *manager) parseAndCacheUser(ctx context.Context, userData map[string]int
169
169
upn , _ := userData ["upn" ].(string )
170
170
mail , _ := userData ["primaryAccountEmail" ].(string )
171
171
name , _ := userData ["displayName" ].(string )
172
+ uidNumber , _ := userData ["uid" ].(float64 )
173
+ gidNumber , _ := userData ["gid" ].(float64 )
172
174
173
175
userID := & userpb.UserId {
174
176
OpaqueId : upn ,
@@ -179,18 +181,8 @@ func (m *manager) parseAndCacheUser(ctx context.Context, userData map[string]int
179
181
Username : upn ,
180
182
Mail : mail ,
181
183
DisplayName : name ,
182
- Opaque : & types.Opaque {
183
- Map : map [string ]* types.OpaqueEntry {
184
- "uid" : & types.OpaqueEntry {
185
- Decoder : "plain" ,
186
- Value : []byte (fmt .Sprintf ("%0.f" , userData ["uid" ])),
187
- },
188
- "gid" : & types.OpaqueEntry {
189
- Decoder : "plain" ,
190
- Value : []byte (fmt .Sprintf ("%0.f" , userData ["gid" ])),
191
- },
192
- },
193
- },
184
+ UidNumber : int64 (uidNumber ),
185
+ GidNumber : int64 (gidNumber ),
194
186
}
195
187
196
188
if err := m .cacheUserDetails (u ); err != nil {
@@ -273,6 +265,8 @@ func (m *manager) findUsersByFilter(ctx context.Context, url string, users map[s
273
265
upn , _ := usrInfo ["upn" ].(string )
274
266
mail , _ := usrInfo ["primaryAccountEmail" ].(string )
275
267
name , _ := usrInfo ["displayName" ].(string )
268
+ uidNumber , _ := usrInfo ["uid" ].(float64 )
269
+ gidNumber , _ := usrInfo ["gid" ].(float64 )
276
270
277
271
uid := & userpb.UserId {
278
272
OpaqueId : upn ,
@@ -283,18 +277,8 @@ func (m *manager) findUsersByFilter(ctx context.Context, url string, users map[s
283
277
Username : upn ,
284
278
Mail : mail ,
285
279
DisplayName : name ,
286
- Opaque : & types.Opaque {
287
- Map : map [string ]* types.OpaqueEntry {
288
- "uid" : & types.OpaqueEntry {
289
- Decoder : "plain" ,
290
- Value : []byte (fmt .Sprintf ("%0.f" , usrInfo ["uid" ])),
291
- },
292
- "gid" : & types.OpaqueEntry {
293
- Decoder : "plain" ,
294
- Value : []byte (fmt .Sprintf ("%0.f" , usrInfo ["gid" ])),
295
- },
296
- },
297
- },
280
+ UidNumber : int64 (uidNumber ),
281
+ GidNumber : int64 (gidNumber ),
298
282
}
299
283
}
300
284
@@ -385,12 +369,8 @@ func (m *manager) IsInGroup(ctx context.Context, uid *userpb.UserId, group strin
385
369
}
386
370
387
371
func extractUID (u * userpb.User ) (string , error ) {
388
- if u .Opaque != nil && u .Opaque .Map != nil {
389
- if uidObj , ok := u .Opaque .Map ["uid" ]; ok {
390
- if uidObj .Decoder == "plain" {
391
- return string (uidObj .Value ), nil
392
- }
393
- }
372
+ if u .UidNumber == 0 {
373
+ return "" , errors .New ("rest: could not retrieve UID from user" )
394
374
}
395
- return "" , errors . New ( "rest: could not retrieve UID from user" )
375
+ return strconv . FormatInt ( u . UidNumber , 10 ), nil
396
376
}
0 commit comments