prostgles-server 4.2.104 → 4.2.106

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.
Files changed (63) hide show
  1. package/dist/DBSchemaBuilder.d.ts +3 -3
  2. package/dist/DBSchemaBuilder.d.ts.map +1 -1
  3. package/dist/PubSubManager/getPubSubManagerInitQuery.d.ts.map +1 -1
  4. package/dist/PubSubManager/getPubSubManagerInitQuery.js +2 -0
  5. package/dist/PubSubManager/getPubSubManagerInitQuery.js.map +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +2 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/typeTests/dboTypeCheck.d.ts +2 -0
  10. package/dist/typeTests/dboTypeCheck.d.ts.map +1 -0
  11. package/dist/typeTests/dboTypeCheck.js +54 -0
  12. package/dist/typeTests/dboTypeCheck.js.map +1 -0
  13. package/lib/DBSchemaBuilder.ts +4 -4
  14. package/lib/PubSubManager/getPubSubManagerInitQuery.ts +2 -0
  15. package/lib/index.ts +3 -0
  16. package/lib/typeTests/DBoGenerated.d.ts +320 -0
  17. package/lib/typeTests/dboTypeCheck.ts +81 -0
  18. package/package.json +1 -1
  19. package/tests/server/index.ts +0 -11
  20. package/tests/server/package-lock.json +1 -1
  21. package/dist/DboBuilder/QueryBuilder/prepareHaving.d.ts +0 -11
  22. package/dist/DboBuilder/QueryBuilder/prepareHaving.d.ts.map +0 -1
  23. package/dist/DboBuilder/QueryBuilder/prepareHaving.js +0 -18
  24. package/dist/DboBuilder/QueryBuilder/prepareHaving.js.map +0 -1
  25. package/dist/DboBuilder/ViewHandler/ColSet.d.ts +0 -16
  26. package/dist/DboBuilder/ViewHandler/ColSet.d.ts.map +0 -1
  27. package/dist/DboBuilder/ViewHandler/ColSet.js +0 -105
  28. package/dist/DboBuilder/ViewHandler/ColSet.js.map +0 -1
  29. package/dist/DboBuilder/find.d.ts +0 -18
  30. package/dist/DboBuilder/find.d.ts.map +0 -1
  31. package/dist/DboBuilder/find.js +0 -121
  32. package/dist/DboBuilder/find.js.map +0 -1
  33. package/dist/DboBuilder/insertDataParse.d.ts +0 -27
  34. package/dist/DboBuilder/insertDataParse.d.ts.map +0 -1
  35. package/dist/DboBuilder/insertDataParse.js +0 -275
  36. package/dist/DboBuilder/insertDataParse.js.map +0 -1
  37. package/dist/DboBuilder/parseMediaOrNestedInsert.d.ts +0 -29
  38. package/dist/DboBuilder/parseMediaOrNestedInsert.d.ts.map +0 -1
  39. package/dist/DboBuilder/parseMediaOrNestedInsert.js +0 -271
  40. package/dist/DboBuilder/parseMediaOrNestedInsert.js.map +0 -1
  41. package/dist/DboBuilder/subscribe.d.ts +0 -20
  42. package/dist/DboBuilder/subscribe.d.ts.map +0 -1
  43. package/dist/DboBuilder/subscribe.js +0 -96
  44. package/dist/DboBuilder/subscribe.js.map +0 -1
  45. package/dist/DboBuilder.d.ts +0 -324
  46. package/dist/DboBuilder.d.ts.map +0 -1
  47. package/dist/DboBuilder.js +0 -345
  48. package/dist/DboBuilder.js.map +0 -1
  49. package/dist/PubSubManager/getInitQuery.d.ts +0 -13
  50. package/dist/PubSubManager/getInitQuery.d.ts.map +0 -1
  51. package/dist/PubSubManager/getInitQuery.js +0 -616
  52. package/dist/PubSubManager/getInitQuery.js.map +0 -1
  53. package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.d.ts +0 -2
  54. package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.d.ts.map +0 -1
  55. package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.js +0 -53
  56. package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.js.map +0 -1
  57. package/dist/SchemaWatch.d.ts +0 -30
  58. package/dist/SchemaWatch.d.ts.map +0 -1
  59. package/dist/SchemaWatch.js +0 -127
  60. package/dist/SchemaWatch.js.map +0 -1
  61. package/dist/my.d copy.ts +0 -1020
  62. package/dist/my.d.ts +0 -1655
  63. package/tests/server/dboTypeCheck.ts +0 -34
@@ -1 +0,0 @@
1
- {"version":3,"file":"insertDataParse.js","sourceRoot":"","sources":["../../lib/DboBuilder/insertDataParse.ts"],"names":[],"mappings":";;;AAAA,qDAAiH;AAGjH,kEAA0D;AAG1D;;GAEG;AACI,KAAK,UAAU,eAAe,CAEnC,IAA+B,EAC/B,MAAqB,EACrB,aAAyB,EACzB,UAAsB,EACtB,YAA0B;IAK1B,MAAM,WAAW,GAAG,YAAY,IAAI,EAAE,CAAC;IACvC,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzC,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,CAAC,CAAY,EAAE,EAAE,CAAC,IAAA,yBAAO,EAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QAC3D,2CAA2C;QAC3C,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;SAC9D;aAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE;YAChD,IAAI,CAAC,IAAA,0BAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,CAAC,CAAC,CAAA;aAC1D;iBAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAClC,MAAM,IAAI,KAAK,CAAC,uDAAuD,GAAG,CAAC,CAAC,CAAA;aAC7E;YACD,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAGH;;;;;;;SAOK;IACL,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,iCAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAErK;;OAEG;IACH,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,WAAW,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,IAAI,gBAAgB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;QACrC,OAAO;YACL,YAAY,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CACpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkB,CAAC,MAAM,CACtC,IAAI,EACJ,MAAM,EACN,aAAa,EACb,UAAU,EACV,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CACxC,CACF;SACF,CAAA;KACF;IAED,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,MAAM,IAAI,EAAE,CAAC;IAE3D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;QAC/E,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QACxD,IAAG,CAAC,iBAAiB;YAAE,MAAM,2BAA2B,CAAC;QACzD,IAAI,GAAG,GAAG,MAAM,iBAAiB,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9I,IAAI,WAAW,EAAE;YACf,GAAG,GAAG,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;SAC1F;QAED,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,iCAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAE7D,+BAA+B;QAC/B,IAAI,gBAAgB,EAAE;YAEpB,6CAA6C;YAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAK,CAAC,IAAI,CAAC,IAAI,CAAiB,CAAC;YAEhE,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEhE,qGAAqG;YACrG,MAAM,QAAQ,GAAc,IAAA,wBAAQ,EAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAEtD,IAAI,gBAA6B,CAAC;YAClC,IAAI,gBAA2B,CAAC;YAEhC,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC7C,GAAG,EAAE;gBACL,QAAQ,EAAE,SAAoC;aAC/C,CAAC,CAAC,CAAC;YACJ,+EAA+E;YAC/E,IAAI,UAAU,CAAC,MAAM,EAAE;gBACrB,IAAI,KAAK,EAAE,MAAM,SAAS,IAAI,gBAAgB,EAAE;oBAC9C,MAAM,cAAc,GAAgB;wBAClC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;wBACtB,YAAY,EAAE;4BACZ,KAAK,EAAE,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC;4BACjD,YAAY,EAAE,QAAQ;4BACtB,aAAa,EAAE,IAAI,CAAC,IAAI;4BACxB,iBAAiB,EAAE,SAAS,CAAC,GAAG;yBACjC;qBACF,CAAA;oBACD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC7G,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;wBAC9G,MAAM,IAAI,KAAK,CAAC,uDAAuD,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;qBACnG;oBACD,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC;oBAE7B,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC/C,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;iBACtC;aACF;YAED,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAC5G,IAAI,UAAiC,CAAC;YACtC,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,CAAC;YACpC,IAAI,SAAS,EAAE;gBACb,UAAU,GAAG,EAAE,CAAA;gBACf,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;gBAC1H,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBAC9C,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC;oBAClF,MAAM,QAAQ,GAAG,eAAe,EAAE,YAAY,CAAA,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC;oBAC1G,UAAW,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,QAAQ,IAAI,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAA;aACH;YAED,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAC,WAAW,EAAC,EAAE;gBAClD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;gBAE/F,MAAM,WAAW,GAAG,KAAK,EAAE,KAA8B,EAAE,SAAiB,EAAE,EAAE;oBAE9E,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;gBACrE,CAAC,CAAA;gBAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAEtD,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;gBAC1B,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;gBAChC,gBAAgB,GAAG,MAAM,IAAA,2BAAmB,EAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAG,QAAQ;gBAExF,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAK,CAAE,CAAC,OAAO,IAAI,EAAE,CAAC;gBACxD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAK,CAAC;oBAAE,MAAM,4BAA4B,GAAG,IAAI,CAAC;gBAC3E,MAAM,SAAS,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC;gBAG3G,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBAChB,MAAM,yCAAyC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;iBAC5E;qBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC5B,IAAI,WAAW,KAAK,IAAI;wBAAE,MAAM,qBAAqB,CAAC;oBAEtD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;wBACrB,MAAM,gBAAgB,IAAI,uDAAuD,IAAI,CAAC,IAAI,6BAA6B,CAAC;qBACzH;oBAED,gBAAgB,GAAG,MAAM,WAAW,CAClC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE;wBAClC,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;wBACxB,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;4BAClB,MAAM,CAAC,GAAG,CAAC,UAAW,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,UAAW,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAA;wBACtF,CAAC,CAAC,CAAA;wBACF,OAAO,MAAM,CAAC;oBAChB,CAAC,CAAC,EACF,WAAW,CACZ,CAAC;iBAEH;qBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC5B,IAAI,WAAW,KAAK,IAAI;wBAAE,MAAM,qBAAqB,CAAC;oBACtD,MAAM,SAAS,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC;oBAC3G,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM;wBAAE,MAAM,6DAA6D,CAAC;oBAEhH,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC;oBACnE,IAAI,WAAW,KAAK,SAAS,EAAE;wBAC7B,MAAM,oEAAoE,CAAA;qBAC3E;oBAED,qEAAqE;oBACrE,IAAI,CAAC,KAAK,IAAI,CAAC,CACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC;wBACvE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CACzE,EAAE;wBACD,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;wBACzE,MAAM,wBAAwB,GAAG,IAAI,GAAG,qHAAqH,CAAC;qBAC/J;oBAED,gBAAgB,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;oBAElE,gCAAgC;oBAChC,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;wBACrD,MAAM,OAAO,GAAc,EAAE,CAAC;wBAE9B,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;4BAClB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,UAAW,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;wBAC7D,CAAC,CAAC,CAAA;wBACF,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;4BAClB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,UAAW,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;wBACpE,CAAC,CAAC,CAAA;wBACF,8FAA8F;wBAE9F,MAAM,WAAW,CAAC,OAAO,EAAE,IAAK,CAAC,CAAC,CAAA,kBAAkB;oBACtD,CAAC,CAAC,CAAC,CAAC;iBAEL;qBAAM;oBACL,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;oBACpF,MAAM,oCAAoC,CAAC;iBAC5C;gBAED,0CAA0C;gBAC1C,IAAI,gBAAgB,IAAI,gBAAgB,EAAE,MAAM,IAAI,SAAS,EAAE;oBAC7D,MAAM,kBAAkB,GAAG,IAAK,CAAC,WAAW,CAAiB,CAAC;oBAC9D,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;oBACvJ,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBACnD,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;wBACpB,MAAM,GAAG,GAAc,EAAE,CAAC;wBAC1B,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;4BACtB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;wBAC5B,CAAC,CAAC,CAAC;wBACH,OAAO,GAAG,CAAC;oBACb,CAAC,CAAC,CAAC;oBAEH,UAAW,CAAC,WAAW,CAAC,GAAG,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;iBAC5G;YACH,CAAC,CAAC,CAAC,CAAC;YAEJ,OAAO,UAAU,CAAA;SAClB;QAED,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC,CAAC;IAEJ,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC;QAC5B,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1B,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAEnB,OAAO,GAAG,CAAC;AACb,CAAC;AA5OD,0CA4OC;AAED,qDAAqD;AAC9C,MAAM,mBAAmB,GAAG,KAAK,EAAE,YAA0B,EAAE,WAAmB,EAAE,WAAwB,EAAE,EAAE;IACrH,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,2BAA2B,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;IACxJ,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,MAAM,uCAAuC,GAAG,UAAU,CAAC;IAClG,OAAO,UAAU,CAAC;AACpB,CAAC,CAAA;AAJY,QAAA,mBAAmB,uBAI/B;AAED,MAAM,WAAW,GAAG,KAAK,EAAE,YAA0B,EAAE,WAAmB,EAIvE,EAAE;IAEH,MAAM,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAClF,IAAI,CAAC,EAAE,EAAE;QACP,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAA;QAC1G,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,wEAAwE,YAAY,CAAC,IAAI,iBAAiB,WAAW,KAAK,CAAC,CAAC;KACpJ;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,KAAK,EAAE,YAA0B,EAAE,IAA+B,EAAE,WAAwB,EAAE,WAAmB,EAAE,UAAmC,EAAwB,EAAE;IAGvM,iDAAiD;IACjD,MAAM,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAE7C,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAE,CAAC,EAAE;QAC5E,MAAM,IAAI,KAAK,CAAC,8DAA8D,GAAG,WAAW,CAAC,CAAC;KAC/F;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,2BAAmB,EAAC,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAErF,yIAAyI;IACzI,2GAA2G;IAC3G,IAAI;IACJ,OAAO,OAAO,CAAC,GAAG,CAChB,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,IAAK,CAAC,WAAW,CAAkB;SAC3C,MAAM,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC;SACjE,KAAK,CAAC,CAAC,CAAC,EAAE;QACT,OAAO,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAA;QACpC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzB,gDAAgD;IAClD,CAAC,CAAC,CACH,CACJ,CAAC;AAEJ,CAAC,CAAA;AAGD,+HAA+H;AAC/H;;;;;;GAMG;AACI,MAAM,yBAAyB,GAAG,UAA6B,SAAoB,EAAE,kBAAkB,GAAG,KAAK;IACpH,OAAO,IAAA,yBAAO,EAAC,SAAS,CAAC;SACtB,GAAG,CAAC,CAAC,CAAC,EAAE;QACP,IAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAA,0BAAQ,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAC;YACxC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YAC5D,IAAG,cAAc,EAAE,UAAU,EAAE,MAAM,EAAC;gBACpC,OAAO;oBACL,cAAc;oBACd,iBAAiB,EAAE,cAAc,CAAC,UAAW;iBAC9C,CAAA;aACF;SACF;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;SACD,MAAM,CAAC,2BAAS,CAAC;SACjB,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,iBAAiB,EAAE,EAAE,EAAE;QAE7C,IAAG,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAC;YAChC,MAAM,qEAAqE,CAAA;SAC5E;QAED,MAAM,yBAAyB,GAAG,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAC3F,IAAG,yBAAyB,EAAC;YAC3B,MAAM,iEAAiE,CAAA;SACxE;QAED,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,IAAG,kBAAkB,IAAI,CAAC,YAAY,EAAC;YACrC,MAAM,uBAAuB,CAAC;SAC/B;QACD,OAAO;YACL,SAAS,EAAE,cAAc,CAAC,UAAW,CAAC,CAAC,CAAE,CAAC,MAAO;YACjD,GAAG,EAAE,cAAc,CAAC,IAAI;YACxB,IAAI,EAAE,cAAc,CAAC,UAAW,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE;YAC9C,YAAY;YACZ,IAAI,EAAE,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC;SACrC,CAAA;IACH,CAAC,CAAC,CAAC,MAAM,CAAC,2BAAS,CAAC,CAAC;AACzB,CAAC,CAAA;AAvCY,QAAA,yBAAyB,6BAuCrC"}
@@ -1,29 +0,0 @@
1
- import { AnyObject, InsertParams } from "prostgles-types";
2
- import { LocalParams } from "./DboBuilder";
3
- import { TableRule } from "../PublishParser/PublishParser";
4
- import { TableHandler } from "./TableHandler/TableHandler";
5
- /**
6
- * Referenced inserts within a single transaction
7
- */
8
- export declare function parseMediaOrNestedInsert(this: TableHandler, data: (AnyObject | AnyObject[]), param2?: InsertParams, param3_unused?: undefined, tableRules?: TableRule, _localParams?: LocalParams): Promise<{
9
- data?: AnyObject | AnyObject[];
10
- insertResult?: AnyObject | AnyObject[];
11
- }>;
12
- export declare const getInsertTableRules: (tableHandler: TableHandler, targetTable: string, localParams: LocalParams) => Promise<TableRule>;
13
- type ReferenceColumnInsert<ExpectSingleInsert> = {
14
- tableName: string;
15
- col: string;
16
- fcol: string;
17
- singleInsert: boolean;
18
- data: ExpectSingleInsert extends true ? AnyObject : (AnyObject | AnyObject[]);
19
- };
20
- /**
21
- * Insert through the reference column. e.g.:
22
- * {
23
- * root_field: "data",
24
- * fkey_column: { ...referenced_table_data }
25
- * }
26
- */
27
- export declare const getReferenceColumnInserts: <ExpectSingleInsert extends boolean>(tableHandler: TableHandler, parentRow: AnyObject, expectSingleInsert?: ExpectSingleInsert | undefined) => ReferenceColumnInsert<ExpectSingleInsert>[];
28
- export {};
29
- //# sourceMappingURL=parseMediaOrNestedInsert.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseMediaOrNestedInsert.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/parseMediaOrNestedInsert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,YAAY,EAAuB,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,WAAW,EAAiB,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC,EAC/B,MAAM,CAAC,EAAE,YAAY,EACrB,aAAa,CAAC,EAAE,SAAS,EACzB,UAAU,CAAC,EAAE,SAAS,EACtB,YAAY,CAAC,EAAE,WAAW,GACzB,OAAO,CAAC;IACT,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACxC,CAAC,CAgOD;AAGD,eAAO,MAAM,mBAAmB,iBAAwB,YAAY,eAAe,MAAM,eAAe,WAAW,uBAIlH,CAAA;AA2CD,KAAK,qBAAqB,CAAC,kBAAkB,IAAI;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,kBAAkB,SAAS,IAAI,GAAE,SAAS,GAAG,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC,CAAC;CAC9E,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,qDAAsD,YAAY,aAAa,SAAS,qGAuC7H,CAAA"}
@@ -1,271 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getReferenceColumnInserts = exports.getInsertTableRules = exports.parseMediaOrNestedInsert = void 0;
4
- const prostgles_types_1 = require("prostgles-types");
5
- const PubSubManager_1 = require("../PubSubManager/PubSubManager");
6
- /**
7
- * Referenced inserts within a single transaction
8
- */
9
- async function parseMediaOrNestedInsert(data, param2, param3_unused, tableRules, _localParams) {
10
- const localParams = _localParams || {};
11
- const MEDIA_COL_NAMES = ["data", "name"];
12
- const getExtraKeys = (row) => (0, prostgles_types_1.getKeys)(row).filter(fieldName => {
13
- /* If media then use file insert columns */
14
- if (this.is_media) {
15
- return !this.column_names.concat(MEDIA_COL_NAMES).includes(fieldName);
16
- }
17
- else if (!this.columns.find(c => c.name === fieldName)) {
18
- if (!(0, prostgles_types_1.isObject)(row[fieldName]) && !Array.isArray(row[fieldName])) {
19
- throw new Error("Invalid/Dissalowed field in data: " + fieldName);
20
- }
21
- else if (!this.dboBuilder.dbo[fieldName]) {
22
- return false;
23
- // throw new Error("Invalid/Dissalowed nested insert table name in data: " + fieldName)
24
- }
25
- return true;
26
- }
27
- return false;
28
- });
29
- /**
30
- * True when: nested table data is provided within
31
- * [nestedTable] property key
32
- * OR
33
- * [referencing_column] property key
34
- * If true then will do the full insert within this function
35
- * Nested insert is not allowed for the file table
36
- * */
37
- const isMultiInsert = Array.isArray(data);
38
- const hasNestedInserts = this.is_media ? false : (isMultiInsert ? data : [data]).some(d => getExtraKeys(d).length || (0, exports.getReferenceColumnInserts)(this, d).length);
39
- /**
40
- * Make sure nested insert uses a transaction
41
- */
42
- const dbTX = this.getFinalDBtx(localParams);
43
- const t = localParams?.tx?.t || this.tx?.t;
44
- if (hasNestedInserts && (!dbTX || !t)) {
45
- return {
46
- insertResult: await this.dboBuilder.getTX((dbTX, _t) => dbTX[this.name].insert(data, param2, param3_unused, tableRules, { tx: { dbTX, t: _t }, ...localParams }))
47
- };
48
- }
49
- const _data = await Promise.all((isMultiInsert ? data : [data]).map(async (row) => {
50
- // const { preValidate, validate } = tableRules?.insert ?? {};
51
- // const { tableConfigurator } = this.dboBuilder.prostgles;
52
- // if(!tableConfigurator) throw "tableConfigurator missing";
53
- // let row = await tableConfigurator.getPreInsertRow(this, { dbx: this.getFinalDbo(localParams), validate, localParams, row: _row })
54
- // if (preValidate) {
55
- // row = await preValidate({ row, dbx: this.tx?.dbTX || this.dboBuilder.dbo, localParams });
56
- // }
57
- /* Potentially a nested join */
58
- if (hasNestedInserts) {
59
- const extraKeys = getExtraKeys(row);
60
- const colInserts = (0, exports.getReferenceColumnInserts)(this, row);
61
- /* Ensure we're using the same transaction */
62
- const _this = this.tx ? this : dbTX[this.name];
63
- const omitedKeys = extraKeys.concat(colInserts.map(c => c.col));
64
- const rootData = (0, PubSubManager_1.omitKeys)(row, omitedKeys);
65
- let insertedChildren;
66
- let targetTableRules;
67
- const colInsertsResult = colInserts.map(ci => ({
68
- ...ci,
69
- inserted: undefined
70
- }));
71
- /** Insert referenced first and then populate root data with referenced keys */
72
- if (colInserts.length) {
73
- for await (const colInsert of colInsertsResult) {
74
- const newLocalParams = {
75
- ...(localParams ?? {}),
76
- nestedInsert: {
77
- depth: (localParams.nestedInsert?.depth ?? 0) + 1,
78
- previousData: rootData,
79
- previousTable: this.name,
80
- referencingColumn: colInsert.col
81
- }
82
- };
83
- const colRows = await referencedInsert(_this, dbTX, newLocalParams, colInsert.tableName, row[colInsert.col]);
84
- if (!Array.isArray(colRows) || colRows.length !== 1 || [null, undefined].includes(colRows[0][colInsert.fcol])) {
85
- throw new Error("Could not do nested column insert: Unexpected return " + JSON.stringify(colRows));
86
- }
87
- colInsert.inserted = colRows;
88
- const foreignKey = colRows[0][colInsert.fcol];
89
- rootData[colInsert.col] = foreignKey;
90
- }
91
- }
92
- const fullRootResult = await _this.insert(rootData, { returning: "*" }, undefined, tableRules, localParams);
93
- let returnData;
94
- const returning = param2?.returning;
95
- if (returning) {
96
- returnData = {};
97
- const returningItems = await this.prepareReturning(returning, this.parseFieldFilter(tableRules?.insert?.returningFields));
98
- returningItems.filter(s => s.selected).map(rs => {
99
- const colInsertResult = colInsertsResult.find(({ col }) => col === rs.columnName);
100
- const inserted = colInsertResult?.singleInsert ? colInsertResult.inserted?.[0] : colInsertResult?.inserted;
101
- returnData[rs.alias] = inserted ?? fullRootResult[rs.alias];
102
- });
103
- }
104
- await Promise.all(extraKeys.map(async (targetTable) => {
105
- const childDataItems = Array.isArray(row[targetTable]) ? row[targetTable] : [row[targetTable]];
106
- const childInsert = async (cdata, tableName) => {
107
- return referencedInsert(this, dbTX, localParams, tableName, cdata);
108
- };
109
- const joinPath = await getJoinPath(this, targetTable);
110
- const { path } = joinPath;
111
- const [tbl1, tbl2, tbl3] = path;
112
- targetTableRules = await (0, exports.getInsertTableRules)(this, targetTable, localParams); // tbl3
113
- const cols2 = this.dboBuilder.dbo[tbl2].columns || [];
114
- if (!this.dboBuilder.dbo[tbl2])
115
- throw "Invalid/disallowed table: " + tbl2;
116
- const colsRefT1 = cols2?.filter(c => c.references?.some(rc => rc.cols.length === 1 && rc.ftable === tbl1));
117
- if (!path.length) {
118
- throw "Nested inserts join path not found for " + [this.name, targetTable];
119
- }
120
- else if (path.length === 2) {
121
- if (targetTable !== tbl2)
122
- throw "Did not expect this";
123
- if (!colsRefT1.length) {
124
- throw `Target table ${tbl2} does not reference any columns from the root table ${this.name}. Cannot insert nested data`;
125
- }
126
- insertedChildren = await childInsert(childDataItems.map((d) => {
127
- const result = { ...d };
128
- colsRefT1.map(col => {
129
- result[col.references[0].cols[0]] = fullRootResult[col.references[0].fcols[0]];
130
- });
131
- return result;
132
- }), targetTable);
133
- }
134
- else if (path.length === 3) {
135
- if (targetTable !== tbl3)
136
- throw "Did not expect this";
137
- const colsRefT3 = cols2?.filter(c => c.references?.some(rc => rc.cols.length === 1 && rc.ftable === tbl3));
138
- if (!colsRefT1.length || !colsRefT3.length)
139
- throw "Incorrectly referenced or missing columns for nested insert";
140
- const fileTable = this.dboBuilder.prostgles.fileManager?.tableName;
141
- if (targetTable !== fileTable) {
142
- throw "Only media allowed to have nested inserts more than 2 tables apart";
143
- }
144
- /* We expect tbl2 to have only 2 columns (media_id and foreign_id) */
145
- if (!cols2 || !(cols2.filter(c => c.references?.[0]?.ftable === fileTable).length === 1 &&
146
- cols2.filter(c => c.references?.[0]?.ftable === _this.name).length === 1)) {
147
- console.log({ tbl1, tbl2, tbl3, name: _this.name, tthisName: this.name });
148
- throw "Second joining table (" + tbl2 + ") not of expected format. Must contain exactly one reference column for each table (file table and target table) ";
149
- }
150
- insertedChildren = await childInsert(childDataItems, targetTable);
151
- /* Insert in key_lookup table */
152
- await Promise.all(insertedChildren.map(async (t3Child) => {
153
- const tbl2Row = {};
154
- colsRefT3.map(col => {
155
- tbl2Row[col.name] = t3Child[col.references[0].fcols[0]];
156
- });
157
- colsRefT1.map(col => {
158
- tbl2Row[col.name] = fullRootResult[col.references[0].fcols[0]];
159
- });
160
- await childInsert(tbl2Row, tbl2); //.then(() => {});
161
- }));
162
- }
163
- else {
164
- console.error(JSON.stringify({ path, thisTable: this.name, targetTable }, null, 2));
165
- throw "Unexpected path for Nested inserts";
166
- }
167
- /* Return also the nested inserted data */
168
- if (targetTableRules && insertedChildren?.length && returning) {
169
- const targetTableHandler = dbTX[targetTable];
170
- const targetReturning = await targetTableHandler.prepareReturning("*", targetTableHandler.parseFieldFilter(targetTableRules?.insert?.returningFields));
171
- const clientTargetInserts = insertedChildren.map(d => {
172
- const _d = { ...d };
173
- const res = {};
174
- targetReturning.map(r => {
175
- res[r.alias] = _d[r.alias];
176
- });
177
- return res;
178
- });
179
- returnData[targetTable] = clientTargetInserts.length === 1 ? clientTargetInserts[0] : clientTargetInserts;
180
- }
181
- }));
182
- return returnData;
183
- }
184
- return row;
185
- }));
186
- const result = isMultiInsert ? _data : _data[0];
187
- const res = hasNestedInserts ?
188
- { insertResult: result } :
189
- { data: result };
190
- return res;
191
- }
192
- exports.parseMediaOrNestedInsert = parseMediaOrNestedInsert;
193
- /* Must be allowed to insert into referenced table */
194
- const getInsertTableRules = async (tableHandler, targetTable, localParams) => {
195
- const childRules = await tableHandler.dboBuilder.publishParser?.getValidatedRequestRuleWusr({ tableName: targetTable, command: "insert", localParams });
196
- if (!childRules || !childRules.insert)
197
- throw "Dissallowed nested insert into table " + childRules;
198
- return childRules;
199
- };
200
- exports.getInsertTableRules = getInsertTableRules;
201
- const getJoinPath = async (tableHandler, targetTable) => {
202
- const jp = tableHandler.dboBuilder.getShortestJoinPath(tableHandler, targetTable);
203
- if (!jp) {
204
- const pref = tableHandler.dboBuilder.prostgles.opts.joins !== "inferred" ? "Joins are not inferred! " : "";
205
- throw new Error(`${pref}Could not find a single join path for the nested data ( sourceTable: ${tableHandler.name} targetTable: ${targetTable} ) `);
206
- }
207
- return jp;
208
- };
209
- const referencedInsert = async (tableHandler, dbTX, localParams, targetTable, targetData) => {
210
- // const thisInfo = await tableHandler.getInfo();
211
- await getJoinPath(tableHandler, targetTable);
212
- if (!targetData || !dbTX?.[targetTable] || !("insert" in dbTX[targetTable])) {
213
- throw new Error("childInsertErr: Table handler missing for referenced table: " + targetTable);
214
- }
215
- const childRules = await (0, exports.getInsertTableRules)(tableHandler, targetTable, localParams);
216
- // if (thisInfo.has_media === "one" && thisInfo.media_table_name === targetTable && Array.isArray(targetData) && targetData.length > 1) {
217
- // throw "Constraint check fail: Cannot insert more than one record into " + JSON.stringify(targetTable);
218
- // }
219
- return Promise.all((Array.isArray(targetData) ? targetData : [targetData])
220
- .map(m => dbTX[targetTable]
221
- .insert(m, { returning: "*" }, undefined, childRules, localParams)
222
- .catch(e => {
223
- return Promise.reject(e);
224
- })));
225
- };
226
- /**
227
- * Insert through the reference column. e.g.:
228
- * {
229
- * root_field: "data",
230
- * fkey_column: { ...referenced_table_data }
231
- * }
232
- */
233
- const getReferenceColumnInserts = (tableHandler, parentRow, expectSingleInsert) => {
234
- return Object.entries(parentRow)
235
- .map(([insertedFieldName, insertedFieldValue]) => {
236
- if (insertedFieldValue && (0, prostgles_types_1.isObject)(insertedFieldValue)) {
237
- const insertedRefCol = tableHandler.columns.find(c => c.name === insertedFieldName && c.references?.length);
238
- if (!insertedRefCol)
239
- return undefined;
240
- return {
241
- insertedRefCol,
242
- insertedRefColRef: insertedRefCol.references
243
- };
244
- }
245
- return undefined;
246
- })
247
- .filter(prostgles_types_1.isDefined)
248
- .map(({ insertedRefCol, insertedRefColRef }) => {
249
- if (insertedRefColRef.length !== 1) {
250
- throw "Cannot do a nested insert on column that references multiple tables";
251
- }
252
- const referencesMultipleColumns = insertedRefColRef?.some(refs => refs.fcols.length !== 1);
253
- if (referencesMultipleColumns) {
254
- throw "Cannot do a nested insert on multi-column foreign key reference";
255
- }
256
- const singleInsert = !Array.isArray(parentRow[insertedRefCol.name]);
257
- if (expectSingleInsert && !singleInsert) {
258
- throw "Expected singleInsert";
259
- }
260
- const res = {
261
- tableName: insertedRefCol.references[0].ftable,
262
- col: insertedRefCol.name,
263
- fcol: insertedRefCol.references[0].fcols[0],
264
- singleInsert,
265
- data: parentRow[insertedRefCol.name],
266
- };
267
- return res;
268
- }).filter(prostgles_types_1.isDefined);
269
- };
270
- exports.getReferenceColumnInserts = getReferenceColumnInserts;
271
- //# sourceMappingURL=parseMediaOrNestedInsert.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseMediaOrNestedInsert.js","sourceRoot":"","sources":["../../lib/DboBuilder/parseMediaOrNestedInsert.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import { AnyObject, SubscribeParams, SubscriptionChannels } from "prostgles-types";
2
- import { TableRule } from "../../PublishParser/PublishParser";
3
- import { Filter, LocalParams } from "../DboBuilder";
4
- import { ViewHandler } from "./ViewHandler";
5
- type OnData = (items: AnyObject[]) => any;
6
- export type LocalFuncs = {
7
- onData: OnData;
8
- onError?: (error: any) => void;
9
- } | OnData;
10
- export declare const getOnDataFunc: (localFuncs: LocalFuncs | undefined) => Function | undefined;
11
- export declare const matchesLocalFuncs: (localFuncs1: LocalFuncs | undefined, localFuncs2: LocalFuncs | undefined) => boolean | undefined;
12
- export declare const parseLocalFuncs: (localFuncs1: LocalFuncs | undefined) => Extract<LocalFuncs, {
13
- onData: OnData;
14
- }> | undefined;
15
- declare function subscribe(this: ViewHandler, filter: Filter, params: SubscribeParams, localFuncs: LocalFuncs): Promise<{
16
- unsubscribe: () => any;
17
- }>;
18
- declare function subscribe(this: ViewHandler, filter: Filter, params: SubscribeParams, localFuncs: undefined, table_rules: TableRule | undefined, localParams: LocalParams): Promise<SubscriptionChannels>;
19
- export { subscribe };
20
- //# sourceMappingURL=subscribe.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/subscribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAc,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC;AAC1C,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC,GAAG,MAAM,CAAC;AAEX,eAAO,MAAM,aAAa,eAAgB,UAAU,GAAG,SAAS,KAAG,QAAQ,GAAG,SAE7E,CAAA;AACD,eAAO,MAAM,iBAAiB,gBAAiB,UAAU,GAAG,SAAS,eAAe,UAAU,GAAG,SAAS,wBAEzG,CAAA;AACD,eAAO,MAAM,eAAe,gBAAiB,UAAU,GAAG,SAAS,KAAG,QAAQ,UAAU,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAI/G,CAAA;AAED,iBAAe,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,GAAG,CAAA;CAAE,CAAC,CAAA;AACjJ,iBAAe,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,GAAG,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;AAuFxM,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -1,96 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.subscribe = exports.parseLocalFuncs = exports.matchesLocalFuncs = exports.getOnDataFunc = void 0;
4
- const DboBuilder_1 = require("./DboBuilder");
5
- const getSubscribeRelatedTables_1 = require("./getSubscribeRelatedTables");
6
- const getOnDataFunc = (localFuncs) => {
7
- return typeof localFuncs === "function" ? localFuncs : localFuncs?.onData;
8
- };
9
- exports.getOnDataFunc = getOnDataFunc;
10
- const matchesLocalFuncs = (localFuncs1, localFuncs2) => {
11
- return localFuncs1 && localFuncs2 && (0, exports.getOnDataFunc)(localFuncs1) === (0, exports.getOnDataFunc)(localFuncs2);
12
- };
13
- exports.matchesLocalFuncs = matchesLocalFuncs;
14
- const parseLocalFuncs = (localFuncs1) => {
15
- return !localFuncs1 ? undefined : typeof localFuncs1 === "function" ? {
16
- onData: localFuncs1
17
- } : localFuncs1;
18
- };
19
- exports.parseLocalFuncs = parseLocalFuncs;
20
- async function subscribe(filter, params, localFuncs, table_rules, localParams) {
21
- try {
22
- await this._log({ command: "subscribe", localParams, data: { filter, params } });
23
- if (this.tx) {
24
- throw "subscribe not allowed within transactions";
25
- }
26
- if (!localParams && !localFuncs) {
27
- throw " missing data. provide -> localFunc | localParams { socket } ";
28
- }
29
- if (localParams?.socket && localFuncs) {
30
- console.error({ localParams, localFuncs });
31
- throw " Cannot have localFunc AND socket ";
32
- }
33
- const { throttle = 0, throttleOpts, ...selectParams } = params;
34
- /** Ensure request is valid */
35
- await this.find(filter, { ...selectParams, limit: 0 }, undefined, table_rules, localParams);
36
- /** app_triggers condition field has an index which limits it's value.
37
- * TODO: use condition md5 hash
38
- * */
39
- const filterSize = JSON.stringify(filter || {}).length;
40
- if (filterSize * 4 > 2704) {
41
- throw "filter too big. Might exceed the btree version 4 maximum 2704. Use a primary key or a $rowhash filter instead";
42
- }
43
- if (!this.dboBuilder.prostgles.isSuperUser) {
44
- throw "Subscribe not possible. Must be superuser to add triggers 1856";
45
- }
46
- const newQuery = await this.find(filter, { ...selectParams, limit: 0 }, undefined, table_rules, { ...localParams, returnNewQuery: true });
47
- const viewOptions = await getSubscribeRelatedTables_1.getSubscribeRelatedTables.bind(this)({
48
- filter, selectParams,
49
- table_rules, localParams,
50
- newQuery
51
- });
52
- const commonSubOpts = {
53
- table_info: this.tableOrViewInfo,
54
- viewOptions,
55
- table_rules,
56
- condition: newQuery.whereOpts.condition,
57
- table_name: this.name,
58
- filter: { ...filter },
59
- params: { ...selectParams },
60
- throttle,
61
- throttleOpts,
62
- last_throttled: 0,
63
- };
64
- const pubSubManager = await this.dboBuilder.getPubSubManager();
65
- if (!localFuncs) {
66
- const { socket } = localParams ?? {};
67
- return pubSubManager.addSub({
68
- ...commonSubOpts,
69
- socket,
70
- localFuncs: undefined,
71
- socket_id: socket?.id,
72
- });
73
- }
74
- else {
75
- const { channelName } = await pubSubManager.addSub({
76
- ...commonSubOpts,
77
- socket: undefined,
78
- localFuncs,
79
- socket_id: undefined,
80
- });
81
- const unsubscribe = async () => {
82
- const pubSubManager = await this.dboBuilder.getPubSubManager();
83
- pubSubManager.removeLocalSub(channelName, localFuncs);
84
- };
85
- const res = Object.freeze({ unsubscribe });
86
- return res;
87
- }
88
- }
89
- catch (e) {
90
- if (localParams && localParams.testRule)
91
- throw e;
92
- throw (0, DboBuilder_1.parseError)(e, `dbo.${this.name}.subscribe()`);
93
- }
94
- }
95
- exports.subscribe = subscribe;
96
- //# sourceMappingURL=subscribe.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../lib/DboBuilder/subscribe.ts"],"names":[],"mappings":"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"}