@cadenza.io/service 1.9.13 → 1.9.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2443,45 +2443,16 @@ var DatabaseController = class _DatabaseController {
2443
2443
  this.splitTables.bind(this),
2444
2444
  "Generates DDL for database schema"
2445
2445
  ).then(
2446
- CadenzaService.createMetaTask(
2447
- "Generate tasks",
2448
- (ctx) => {
2449
- const { table, tableName, options } = ctx;
2450
- console.log(tableName, options);
2451
- this.createDatabaseTask(
2452
- "query",
2453
- tableName,
2454
- table,
2455
- this.queryFunction.bind(this),
2456
- options
2457
- );
2458
- this.createDatabaseTask(
2459
- "insert",
2460
- tableName,
2461
- table,
2462
- this.insertFunction.bind(this),
2463
- options
2464
- );
2465
- this.createDatabaseTask(
2466
- "update",
2467
- tableName,
2468
- table,
2469
- this.updateFunction.bind(this),
2470
- options
2471
- );
2472
- this.createDatabaseTask(
2473
- "delete",
2474
- tableName,
2475
- table,
2476
- this.deleteFunction.bind(this),
2477
- options
2478
- );
2479
- },
2480
- "Generates auto-tasks for database schema"
2481
- ),
2482
2446
  CadenzaService.createMetaTask("Generate DDL from table", (ctx) => {
2483
2447
  var _a2;
2484
- const { ddl, table, tableName, schema, options } = ctx;
2448
+ const {
2449
+ ddl,
2450
+ table,
2451
+ tableName,
2452
+ schema,
2453
+ options,
2454
+ sortedTables
2455
+ } = ctx;
2485
2456
  const fieldDefs = Object.entries(table.fields).map((value) => {
2486
2457
  var _a3, _b2, _c2, _d2, _e, _f, _g;
2487
2458
  const [fieldName, field] = value;
@@ -2513,10 +2484,24 @@ var DatabaseController = class _DatabaseController {
2513
2484
  }
2514
2485
  sql = `CREATE TABLE IF NOT EXISTS ${tableName} (${fieldDefs})`;
2515
2486
  ddl.push(sql);
2516
- return { ddl, table, tableName, schema, options };
2487
+ return {
2488
+ ddl,
2489
+ table,
2490
+ tableName,
2491
+ schema,
2492
+ options,
2493
+ sortedTables
2494
+ };
2517
2495
  }).then(
2518
2496
  CadenzaService.createMetaTask("Generate index DDL", (ctx) => {
2519
- const { ddl, table, tableName, schema, options } = ctx;
2497
+ const {
2498
+ ddl,
2499
+ table,
2500
+ tableName,
2501
+ schema,
2502
+ options,
2503
+ sortedTables
2504
+ } = ctx;
2520
2505
  if (table.indexes) {
2521
2506
  table.indexes.forEach((fields) => {
2522
2507
  ddl.push(
@@ -2524,12 +2509,26 @@ var DatabaseController = class _DatabaseController {
2524
2509
  );
2525
2510
  });
2526
2511
  }
2527
- return { ddl, table, tableName, schema, options };
2512
+ return {
2513
+ ddl,
2514
+ table,
2515
+ tableName,
2516
+ schema,
2517
+ options,
2518
+ sortedTables
2519
+ };
2528
2520
  }).then(
2529
2521
  CadenzaService.createMetaTask(
2530
2522
  "Generate primary key ddl",
2531
2523
  (ctx) => {
2532
- const { ddl, table, tableName, schema, options } = ctx;
2524
+ const {
2525
+ ddl,
2526
+ table,
2527
+ tableName,
2528
+ schema,
2529
+ options,
2530
+ sortedTables
2531
+ } = ctx;
2533
2532
  if (table.primaryKey) {
2534
2533
  ddl.push(
2535
2534
  `ALTER TABLE ${tableName} DROP CONSTRAINT IF EXISTS unique_${tableName}_${table.primaryKey.join("_")};`,
@@ -2537,13 +2536,27 @@ var DatabaseController = class _DatabaseController {
2537
2536
  `ALTER TABLE ${tableName} ADD CONSTRAINT unique_${tableName}_${table.primaryKey.join("_")} PRIMARY KEY (${table.primaryKey.join(", ")});`
2538
2537
  );
2539
2538
  }
2540
- return { ddl, table, tableName, schema, options };
2539
+ return {
2540
+ ddl,
2541
+ table,
2542
+ tableName,
2543
+ schema,
2544
+ options,
2545
+ sortedTables
2546
+ };
2541
2547
  }
2542
2548
  ).then(
2543
2549
  CadenzaService.createMetaTask(
2544
2550
  "Generate unique index DDL",
2545
2551
  (ctx) => {
2546
- const { ddl, table, tableName, schema, options } = ctx;
2552
+ const {
2553
+ ddl,
2554
+ table,
2555
+ tableName,
2556
+ schema,
2557
+ options,
2558
+ sortedTables
2559
+ } = ctx;
2547
2560
  if (table.uniqueConstraints) {
2548
2561
  table.uniqueConstraints.forEach(
2549
2562
  (fields) => {
@@ -2555,13 +2568,27 @@ var DatabaseController = class _DatabaseController {
2555
2568
  }
2556
2569
  );
2557
2570
  }
2558
- return { ddl, table, tableName, schema, options };
2571
+ return {
2572
+ ddl,
2573
+ table,
2574
+ tableName,
2575
+ schema,
2576
+ options,
2577
+ sortedTables
2578
+ };
2559
2579
  }
2560
2580
  ).then(
2561
2581
  CadenzaService.createMetaTask(
2562
2582
  "Generate foreign key DDL",
2563
2583
  (ctx) => {
2564
- const { ddl, table, tableName, schema, options } = ctx;
2584
+ const {
2585
+ ddl,
2586
+ table,
2587
+ tableName,
2588
+ schema,
2589
+ options,
2590
+ sortedTables
2591
+ } = ctx;
2565
2592
  if (table.foreignKeys) {
2566
2593
  for (const foreignKey of table.foreignKeys) {
2567
2594
  const foreignKeyName = `fk_${tableName}_${foreignKey.fields.join("_")}`;
@@ -2576,13 +2603,27 @@ var DatabaseController = class _DatabaseController {
2576
2603
  );
2577
2604
  }
2578
2605
  }
2579
- return { ddl, table, tableName, schema, options };
2606
+ return {
2607
+ ddl,
2608
+ table,
2609
+ tableName,
2610
+ schema,
2611
+ options,
2612
+ sortedTables
2613
+ };
2580
2614
  }
2581
2615
  ).then(
2582
2616
  CadenzaService.createMetaTask(
2583
2617
  "Generate trigger DDL",
2584
2618
  (ctx) => {
2585
- const { ddl, table, tableName, schema, options } = ctx;
2619
+ const {
2620
+ ddl,
2621
+ table,
2622
+ tableName,
2623
+ schema,
2624
+ options,
2625
+ sortedTables
2626
+ } = ctx;
2586
2627
  if (table.triggers) {
2587
2628
  for (const [
2588
2629
  triggerName,
@@ -2593,7 +2634,14 @@ var DatabaseController = class _DatabaseController {
2593
2634
  );
2594
2635
  }
2595
2636
  }
2596
- return { ddl, table, tableName, schema, options };
2637
+ return {
2638
+ ddl,
2639
+ table,
2640
+ tableName,
2641
+ schema,
2642
+ options,
2643
+ sortedTables
2644
+ };
2597
2645
  }
2598
2646
  ).then(
2599
2647
  CadenzaService.createMetaTask(
@@ -2604,7 +2652,8 @@ var DatabaseController = class _DatabaseController {
2604
2652
  table,
2605
2653
  tableName,
2606
2654
  schema,
2607
- options
2655
+ options,
2656
+ sortedTables
2608
2657
  } = ctx;
2609
2658
  if (table.initialData) {
2610
2659
  ddl.push(
@@ -2621,7 +2670,8 @@ var DatabaseController = class _DatabaseController {
2621
2670
  table,
2622
2671
  tableName,
2623
2672
  schema,
2624
- options
2673
+ options,
2674
+ sortedTables
2625
2675
  };
2626
2676
  }
2627
2677
  ).then(
@@ -2639,7 +2689,8 @@ var DatabaseController = class _DatabaseController {
2639
2689
  schema: joinedContexts[0].schema,
2640
2690
  options: joinedContexts[0].options,
2641
2691
  table: joinedContexts[0].table,
2642
- tableName: joinedContexts[0].tableName
2692
+ tableName: joinedContexts[0].tableName,
2693
+ sortedTables: joinedContexts[0].sortedTables
2643
2694
  };
2644
2695
  }
2645
2696
  ).then(
@@ -2664,7 +2715,54 @@ var DatabaseController = class _DatabaseController {
2664
2715
  return true;
2665
2716
  }),
2666
2717
  "Applies generated DDL to the database"
2667
- ).emits("meta.database.setup_done")
2718
+ ).then(
2719
+ CadenzaService.createMetaTask(
2720
+ "Split schema into tables for task creation",
2721
+ this.splitTables.bind(this),
2722
+ "Splits schema into tables for task creation"
2723
+ ).then(
2724
+ CadenzaService.createMetaTask(
2725
+ "Generate tasks",
2726
+ (ctx) => {
2727
+ const { table, tableName, options } = ctx;
2728
+ this.createDatabaseTask(
2729
+ "query",
2730
+ tableName,
2731
+ table,
2732
+ this.queryFunction.bind(this),
2733
+ options
2734
+ );
2735
+ this.createDatabaseTask(
2736
+ "insert",
2737
+ tableName,
2738
+ table,
2739
+ this.insertFunction.bind(this),
2740
+ options
2741
+ );
2742
+ this.createDatabaseTask(
2743
+ "update",
2744
+ tableName,
2745
+ table,
2746
+ this.updateFunction.bind(this),
2747
+ options
2748
+ );
2749
+ this.createDatabaseTask(
2750
+ "delete",
2751
+ tableName,
2752
+ table,
2753
+ this.deleteFunction.bind(this),
2754
+ options
2755
+ );
2756
+ },
2757
+ "Generates auto-tasks for database schema"
2758
+ ).then(
2759
+ CadenzaService.createUniqueMetaTask(
2760
+ "Join table tasks",
2761
+ () => true
2762
+ ).emits("meta.database.setup_done")
2763
+ )
2764
+ )
2765
+ )
2668
2766
  )
2669
2767
  )
2670
2768
  )
@@ -2791,7 +2889,7 @@ var DatabaseController = class _DatabaseController {
2791
2889
  const { sortedTables, schema, options = {} } = ctx;
2792
2890
  for (const tableName of sortedTables) {
2793
2891
  const table = schema.tables[tableName];
2794
- yield { ddl: [], table, tableName, schema, options };
2892
+ yield { ddl: [], table, tableName, schema, options, sortedTables };
2795
2893
  }
2796
2894
  });
2797
2895
  }
@@ -3069,7 +3167,7 @@ var DatabaseController = class _DatabaseController {
3069
3167
  };
3070
3168
  }
3071
3169
  }
3072
- context = yield queryFunction(tableName, (_d3 = context.querydata) != null ? _d3 : context);
3170
+ context = yield queryFunction(tableName, (_d3 = context.queryData) != null ? _d3 : context);
3073
3171
  for (const signal of (_g = (_f = (_e = table.customSignals) == null ? void 0 : _e.emissions) == null ? void 0 : _f[op]) != null ? _g : []) {
3074
3172
  if (signal.condition && !signal.condition(context)) {
3075
3173
  continue;