@@ -7,7 +7,7 @@ use liboxen::core::df::tabular;
7
7
use liboxen:: core:: index:: { CommitReader , Merger } ;
8
8
use liboxen:: error:: OxenError ;
9
9
use liboxen:: message:: OxenMessage ;
10
- use liboxen:: model:: compare:: tabular_compare:: TabularCompareBody ;
10
+ use liboxen:: model:: compare:: tabular_compare:: { TabularCompareBody , TabularCompareDisplayBody } ;
11
11
use liboxen:: model:: { Commit , DataFrameSize , LocalRepository , Schema } ;
12
12
use liboxen:: opts:: df_opts:: DFOptsView ;
13
13
use liboxen:: opts:: DFOpts ;
@@ -195,6 +195,14 @@ pub async fn create_df_compare(
195
195
let resource_2 = PathBuf :: from ( data. right . path ) ;
196
196
let keys = data. keys ;
197
197
let targets = data. compare ;
198
+ let display = data. display ;
199
+
200
+ log:: debug!( "display is {:?}" , display) ;
201
+
202
+ let display_by_column = get_display_by_columns ( display) ;
203
+
204
+ log:: debug!( "display by col is {:?}" , display_by_column) ;
205
+
198
206
let compare_id = data. compare_id ;
199
207
200
208
let commit_1 = api:: local:: revisions:: get ( & repository, & data. left . version ) ?
@@ -233,7 +241,7 @@ pub async fn create_df_compare(
233
241
cpath_2,
234
242
keys,
235
243
targets,
236
- vec ! [ ] , // TODONOW: add display handling here
244
+ display_by_column , // TODONOW: add display handling here
237
245
None ,
238
246
) ?;
239
247
@@ -331,6 +339,9 @@ pub async fn get_df_compare(
331
339
// different keys and targets from left and right file.
332
340
let keys = data. keys . iter ( ) . map ( |k| k. left . clone ( ) ) . collect ( ) ;
333
341
let targets = data. compare . iter ( ) . map ( |t| t. left . clone ( ) ) . collect ( ) ;
342
+ let display = data. display ;
343
+
344
+ let display_by_column = get_display_by_columns ( display) ;
334
345
335
346
let result = api:: local:: compare:: compare_files (
336
347
& repository,
@@ -339,8 +350,7 @@ pub async fn get_df_compare(
339
350
cpath_2,
340
351
keys,
341
352
targets,
342
- // TODONOW
343
- vec ! [ ] ,
353
+ display_by_column,
344
354
None ,
345
355
) ?;
346
356
@@ -369,18 +379,16 @@ pub async fn get_derived_df(
369
379
req : HttpRequest ,
370
380
query : web:: Query < DFOptsQuery > ,
371
381
) -> Result < HttpResponse , OxenHttpError > {
372
- log:: debug!( "in derived df compare" ) ;
373
382
let app_data = app_data ( & req) ?;
374
383
let namespace = path_param ( & req, "namespace" ) ?;
375
384
let repo_name = path_param ( & req, "repo_name" ) ?;
376
385
let repo = get_repo ( & app_data. path , namespace, repo_name) ?;
377
386
let compare_id = path_param ( & req, "compare_id" ) ?;
378
- let path = path_param ( & req, "path" ) ?;
379
387
let base_head = path_param ( & req, "base_head" ) ?;
380
388
381
389
let compare_dir = api:: local:: compare:: get_compare_dir ( & repo, & compare_id) ;
382
390
383
- let derived_df_path = compare_dir. join ( format ! ( "{} .parquet", path ) ) ;
391
+ let derived_df_path = compare_dir. join ( "diff .parquet") ;
384
392
385
393
// TODO: If this structure holds for diff + query, there is some amt of reusability with
386
394
// controllers::df::get logic
@@ -463,9 +471,8 @@ pub async fn get_derived_df(
463
471
464
472
let derived_resource = DerivedDFResource {
465
473
resource_type : DFResourceType :: Compare ,
466
- name : path. clone ( ) ,
467
474
resource_id : compare_id. clone ( ) ,
468
- path : format ! ( "/compare/data_frame/{}/{}/{} " , compare_id, path , base_head) ,
475
+ path : format ! ( "/compare/data_frame/{}/{}" , compare_id, base_head) ,
469
476
} ;
470
477
471
478
let response = JsonDataFrameViewResponse {
@@ -537,3 +544,16 @@ fn parse_base_head_resource(
537
544
538
545
Ok ( ( base_commit, head_commit, resource) )
539
546
}
547
+
548
+ fn get_display_by_columns ( display : Vec < TabularCompareDisplayBody > ) -> Vec < String > {
549
+ let mut display_by_column = vec ! [ ] ;
550
+ for d in display {
551
+ if let Some ( left) = d. left {
552
+ display_by_column. push ( format ! ( "{}.left" , left) ) ;
553
+ }
554
+ if let Some ( right) = d. right {
555
+ display_by_column. push ( format ! ( "{}.right" , right) ) ;
556
+ }
557
+ }
558
+ display_by_column
559
+ }
0 commit comments