@@ -180,6 +180,7 @@ pub fn filter_ref(
180180 s
181181 } else {
182182 tracing:: trace!( "apply_to_commit (permissions)" ) ;
183+ println ! ( "perm {:?}" , permissions) ;
183184
184185 filter:: apply_to_commit ( permissions, & original_commit, & transaction) ?
185186 } ;
@@ -197,6 +198,7 @@ pub fn filter_ref(
197198 }
198199 }
199200
201+ println ! ( "filter {:?}" , filterobj) ;
200202 let filter_commit = if let Some ( s) = transaction. get_ref ( filterobj, oid) {
201203 s
202204 } else {
@@ -324,39 +326,40 @@ pub fn get_acl(
324326) -> JoshResult < ( filter:: Filter , filter:: Filter ) > {
325327 let users =
326328 std:: fs:: read_to_string ( users) . map_err ( |_| josh_error ( "failed to read users file" ) ) ?;
327- let users: Users = toml :: from_str ( & users)
329+ let users: Users = serde_yaml :: from_str ( & users)
328330 . map_err ( |err| josh_error ( format ! ( "failed to parse users file: {}" , err) . as_str ( ) ) ) ?;
329331 let groups =
330332 std:: fs:: read_to_string ( groups) . map_err ( |_| josh_error ( "failed to read groups file" ) ) ?;
331- let groups: Groups = toml :: from_str ( & groups)
333+ let groups: Groups = serde_yaml :: from_str ( & groups)
332334 . map_err ( |err| josh_error ( format ! ( "failed to parse groups file: {}" , err) . as_str ( ) ) ) ?;
333335
334336 return users
335337 . get ( user)
336338 . and_then ( |u| {
337- let mut whitelist = filter:: nop ( ) ;
339+ let mut whitelist = filter:: empty ( ) ;
338340 let mut blacklist = filter:: empty ( ) ;
339341 for g in & u. groups {
340- let group_lists = groups. get ( g . as_str ( ) ? ) . and_then ( |group | {
341- group . get ( repo ) . and_then ( |repo | {
342- let w = filter:: parse ( & repo . whitelist ) ;
343- let b = filter:: parse ( & repo . blacklist ) ;
342+ let lists = groups. get ( repo ) . and_then ( |repo | {
343+ repo . get ( g . as_str ( ) ? ) . and_then ( |group | {
344+ let w = filter:: parse ( & group . whitelist ) ;
345+ let b = filter:: parse ( & group . blacklist ) ;
344346 Some ( ( w, b) )
345347 } )
346348 } ) ?;
347- if let Err ( e) = group_lists . 0 {
349+ if let Err ( e) = lists . 0 {
348350 return Some ( Err ( JoshError ( format ! ( "Error parsing whitelist: {}" , e) ) ) ) ;
349351 }
350- if let Err ( e) = group_lists . 1 {
352+ if let Err ( e) = lists . 1 {
351353 return Some ( Err ( JoshError ( format ! ( "Error parsing blacklist: {}" , e) ) ) ) ;
352354 }
353- if let Ok ( w) = group_lists . 0 {
355+ if let Ok ( w) = lists . 0 {
354356 whitelist = filter:: compose ( whitelist, w) ;
355357 }
356- if let Ok ( b) = group_lists . 1 {
358+ if let Ok ( b) = lists . 1 {
357359 blacklist = filter:: compose ( blacklist, b) ;
358360 }
359361 }
362+ println ! ( "w: {:?}, b: {:?}" , whitelist, blacklist) ;
360363 Some ( Ok ( ( whitelist, blacklist) ) )
361364 } )
362365 . unwrap_or ( Ok ( ( filter:: empty ( ) , filter:: nop ( ) ) ) ) ;
0 commit comments