@balena/pinejs 15.0.0-true-boolean-911aca4062d3132ad3c34712014739b6849fa13a → 15.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.dockerignore +4 -0
- package/.github/workflows/flowzone.yml +21 -0
- package/.husky/pre-commit +4 -0
- package/.pinejs-cache.json +1 -0
- package/.resinci.yml +1 -0
- package/.versionbot/CHANGELOG.yml +9678 -2001
- package/CHANGELOG.md +2975 -2
- package/Dockerfile +14 -0
- package/Gruntfile.ts +3 -6
- package/README.md +10 -1
- package/VERSION +1 -0
- package/build/browser.ts +1 -1
- package/build/config.ts +0 -1
- package/docker-compose.npm-test.yml +11 -0
- package/docs/AdvancedUsage.md +77 -63
- package/docs/GettingStarted.md +90 -41
- package/docs/Migrations.md +102 -1
- package/docs/ProjectConfig.md +12 -21
- package/docs/Testing.md +7 -0
- package/out/bin/abstract-sql-compiler.js +17 -17
- package/out/bin/abstract-sql-compiler.js.map +1 -1
- package/out/bin/odata-compiler.js +23 -20
- package/out/bin/odata-compiler.js.map +1 -1
- package/out/bin/sbvr-compiler.js +22 -22
- package/out/bin/sbvr-compiler.js.map +1 -1
- package/out/bin/utils.d.ts +2 -2
- package/out/bin/utils.js +3 -3
- package/out/bin/utils.js.map +1 -1
- package/out/config-loader/config-loader.d.ts +9 -8
- package/out/config-loader/config-loader.js +135 -78
- package/out/config-loader/config-loader.js.map +1 -1
- package/out/config-loader/env.d.ts +41 -16
- package/out/config-loader/env.js +46 -2
- package/out/config-loader/env.js.map +1 -1
- package/out/data-server/sbvr-server.d.ts +2 -19
- package/out/data-server/sbvr-server.js +44 -38
- package/out/data-server/sbvr-server.js.map +1 -1
- package/out/database-layer/db.d.ts +32 -14
- package/out/database-layer/db.js +120 -41
- package/out/database-layer/db.js.map +1 -1
- package/out/express-emulator/express.js +10 -11
- package/out/express-emulator/express.js.map +1 -1
- package/out/http-transactions/transactions.d.ts +2 -18
- package/out/http-transactions/transactions.js +29 -21
- package/out/http-transactions/transactions.js.map +1 -1
- package/out/migrator/async.d.ts +7 -0
- package/out/migrator/async.js +168 -0
- package/out/migrator/async.js.map +1 -0
- package/out/migrator/migrations.sbvr +43 -0
- package/out/migrator/sync.d.ts +9 -0
- package/out/migrator/sync.js +106 -0
- package/out/migrator/sync.js.map +1 -0
- package/out/migrator/utils.d.ts +78 -0
- package/out/migrator/utils.js +283 -0
- package/out/migrator/utils.js.map +1 -0
- package/out/odata-metadata/odata-metadata-generator.js +10 -13
- package/out/odata-metadata/odata-metadata-generator.js.map +1 -1
- package/out/passport-pinejs/passport-pinejs.d.ts +1 -1
- package/out/passport-pinejs/passport-pinejs.js +8 -7
- package/out/passport-pinejs/passport-pinejs.js.map +1 -1
- package/out/pinejs-session-store/pinejs-session-store.d.ts +1 -1
- package/out/pinejs-session-store/pinejs-session-store.js +20 -6
- package/out/pinejs-session-store/pinejs-session-store.js.map +1 -1
- package/out/sbvr-api/abstract-sql.d.ts +3 -2
- package/out/sbvr-api/abstract-sql.js +9 -9
- package/out/sbvr-api/abstract-sql.js.map +1 -1
- package/out/sbvr-api/cached-compile.js +1 -1
- package/out/sbvr-api/cached-compile.js.map +1 -1
- package/out/sbvr-api/common-types.d.ts +6 -5
- package/out/sbvr-api/control-flow.d.ts +8 -1
- package/out/sbvr-api/control-flow.js +36 -9
- package/out/sbvr-api/control-flow.js.map +1 -1
- package/out/sbvr-api/errors.d.ts +47 -40
- package/out/sbvr-api/errors.js +78 -77
- package/out/sbvr-api/errors.js.map +1 -1
- package/out/sbvr-api/express-extension.d.ts +4 -0
- package/out/sbvr-api/hooks.d.ts +16 -15
- package/out/sbvr-api/hooks.js +74 -48
- package/out/sbvr-api/hooks.js.map +1 -1
- package/out/sbvr-api/odata-response.d.ts +2 -2
- package/out/sbvr-api/odata-response.js +28 -30
- package/out/sbvr-api/odata-response.js.map +1 -1
- package/out/sbvr-api/permissions.d.ts +17 -16
- package/out/sbvr-api/permissions.js +369 -304
- package/out/sbvr-api/permissions.js.map +1 -1
- package/out/sbvr-api/sbvr-utils.d.ts +33 -15
- package/out/sbvr-api/sbvr-utils.js +397 -235
- package/out/sbvr-api/sbvr-utils.js.map +1 -1
- package/out/sbvr-api/translations.d.ts +6 -0
- package/out/sbvr-api/translations.js +150 -0
- package/out/sbvr-api/translations.js.map +1 -0
- package/out/sbvr-api/uri-parser.d.ts +23 -17
- package/out/sbvr-api/uri-parser.js +33 -27
- package/out/sbvr-api/uri-parser.js.map +1 -1
- package/out/sbvr-api/user.sbvr +2 -0
- package/out/server-glue/module.d.ts +6 -6
- package/out/server-glue/module.js +4 -2
- package/out/server-glue/module.js.map +1 -1
- package/out/server-glue/server.js +5 -5
- package/out/server-glue/server.js.map +1 -1
- package/package.json +89 -73
- package/pinejs.png +0 -0
- package/repo.yml +9 -9
- package/src/bin/abstract-sql-compiler.ts +5 -7
- package/src/bin/odata-compiler.ts +11 -13
- package/src/bin/sbvr-compiler.ts +11 -17
- package/src/bin/utils.ts +3 -5
- package/src/config-loader/config-loader.ts +167 -53
- package/src/config-loader/env.ts +106 -6
- package/src/data-server/sbvr-server.js +44 -38
- package/src/database-layer/db.ts +205 -64
- package/src/express-emulator/express.js +10 -11
- package/src/http-transactions/transactions.js +29 -21
- package/src/migrator/async.ts +323 -0
- package/src/migrator/migrations.sbvr +43 -0
- package/src/migrator/sync.ts +152 -0
- package/src/migrator/utils.ts +458 -0
- package/src/odata-metadata/odata-metadata-generator.ts +12 -15
- package/src/passport-pinejs/passport-pinejs.ts +9 -7
- package/src/pinejs-session-store/pinejs-session-store.ts +15 -1
- package/src/sbvr-api/abstract-sql.ts +17 -14
- package/src/sbvr-api/common-types.ts +2 -1
- package/src/sbvr-api/control-flow.ts +45 -11
- package/src/sbvr-api/errors.ts +82 -77
- package/src/sbvr-api/express-extension.ts +6 -1
- package/src/sbvr-api/hooks.ts +123 -50
- package/src/sbvr-api/odata-response.ts +23 -28
- package/src/sbvr-api/permissions.ts +548 -415
- package/src/sbvr-api/sbvr-utils.ts +581 -259
- package/src/sbvr-api/translations.ts +248 -0
- package/src/sbvr-api/uri-parser.ts +63 -49
- package/src/sbvr-api/user.sbvr +2 -0
- package/src/server-glue/module.ts +16 -10
- package/src/server-glue/server.ts +5 -5
- package/tsconfig.dev.json +1 -0
- package/tsconfig.json +1 -2
- package/typings/lf-to-abstract-sql.d.ts +6 -9
- package/typings/memoizee.d.ts +1 -1
- package/.github/CODEOWNERS +0 -1
- package/circle.yml +0 -37
- package/docs/todo.txt +0 -22
- package/out/migrator/migrator.d.ts +0 -20
- package/out/migrator/migrator.js +0 -188
- package/out/migrator/migrator.js.map +0 -1
- package/src/migrator/migrator.ts +0 -286
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/database-layer/db.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/database-layer/db.ts"],"names":[],"mappings":";;;AAOA,iDAA6C;AAC7C,4BAA4B;AAC5B,6CAAyC;AACzC,4CAA4C;AAC5C,2DAAiE;AAEpD,QAAA,OAAO,GAAG,IAAI,4BAAY,EAAE,CAAC;AAoB1C,MAAM,UAAU,GAAG,CAAC,KAAU,EAAqB,EAAE;IACpD,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,KAAK,UAAU,CAAC;AAChD,CAAC,CAAC;AAEF,MAAa,aAAc,SAAQ,wBAAU;IAE5C,YAAY,OAAwC;QACnD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE;YAExB,KAAK,CAAC,OAAO,CAAC,OAAiB,CAAC,CAAC;SACjC;aAAM;YACN,KAAK,CAAC,OAAO,CAAC,CAAC;SACf;QACD,IACC,OAAO,IAAI,IAAI;YACf,OAAO,OAAO,KAAK,QAAQ;YAC3B,OAAO,CAAC,IAAI,IAAI,IAAI,EACnB;YAED,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;SACzB;IACF,CAAC;CACD;AAlBD,sCAkBC;AAED,MAAa,eAAgB,SAAQ,aAAa;CAAG;AAArD,0CAAqD;AACrD,MAAa,qBAAsB,SAAQ,eAAe;CAAG;AAA7D,sDAA6D;AAC7D,MAAa,yBAA0B,SAAQ,eAAe;CAAG;AAAjE,8DAAiE;AACjE,MAAa,oBAAqB,SAAQ,eAAe;CAAG;AAA5D,oDAA4D;AAC5D,MAAa,wBAAyB,SAAQ,eAAe;CAAG;AAAhE,4DAAgE;AAChE,MAAa,sBAAuB,SAAQ,aAAa;CAAG;AAA5D,wDAA4D;AAC5D,MAAa,sBAAuB,SAAQ,aAAa;CAAG;AAA5D,wDAA4D;AAE5D,MAAM,iBAAiB,GAAG,CAAC,GAAe,EAAiB,EAAE;IAC5D,eAAO,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,CAAC,GAAG,YAAY,aAAa,CAAC,EAAE;QAEpC,OAAO,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;KAC9B;IACD,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG;IACpB,aAAa;IACb,eAAe;IACf,qBAAqB;IACrB,yBAAyB;IACzB,oBAAoB;IACpB,wBAAwB;IACxB,sBAAsB;IACtB,sBAAsB;CACtB,CAAC;AAsBW,QAAA,OAAO,GAAG,EAAkB,CAAC;AAE1C,MAAM,KAAK,GAAG;IACb,OAAO,EAAE;QACR,GAAG,EAAE,CAAC,UAAU;QAChB,GAAG,EAAE,UAAU;KACf;CACD,CAAC;AAEF,MAAM,gCAAgC,GAAG,CACxC,KAAa,EACb,aAAqB,EACpB,EAAE;IACH,IACC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACxB,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG;QACzB,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG,KAAK,EACxB;QACD,MAAM,IAAI,SAAS,CAClB,sBAAsB,aAAa,iCAAiC,CACpE,CAAC;KACF;AACF,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAuB,EAAE,CAAC;AAS3D,SAAgB,gCAAgC,CAC/C,YAAoB,EACpB,WAAmB;IAEnB,gCAAgC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC7D,IAAI,2BAA2B,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE;QACtD,MAAM,IAAI,KAAK,CACd,uDAAuD,YAAY,yCAAyC,CAC5G,CAAC;KACF;IACD,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,CAC5C,2BAA2B,CAC3B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;IACvC,IAAI,sBAAsB,IAAI,IAAI,EAAE;QACnC,MAAM,IAAI,KAAK,CACd,uDAAuD,YAAY,qCAAqC,WAAW,sCAAsC,sBAAsB,CAAC,CAAC,CAAC,GAAG,CACrL,CAAC;KACF;IAED,2BAA2B,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC;AACzD,CAAC;AApBD,4EAoBC;AAED,MAAM,gBAAgB,GAA2B,KAAK,WACrD,GAAG,EACH,QAAQ;IAER,OAAO,MAAM,IAAI,CAAC,WAAW,CAC5B,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAChD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,EAAa,EAAE,EAAE;IACpC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC,CAAC;AAMF,MAAM,oBAAoB,GAAsB,GAAG,CAAC,KAAK;IACxD,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE;QAGZ,MAAM,cAAc,GAAG,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAG3B,MAAM,cAAc,CAAC;QACtB,CAAC,CAAC;QACF,OAAO;YACN,UAAU,EAAE,QAAQ;YACpB,QAAQ,EAAE,QAAQ;SAClB,CAAC;IACF,CAAC;IACH,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE;QACZ,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC3B,MAAM,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,OAAO;YACN,UAAU,EAAE,QAAQ;YACpB,QAAQ,EAAE,QAAQ;SAClB,CAAC;IACF,CAAC,CAAC;AAEL,MAAM,KAAK,GAAa,CAAC,IAAY,EAAE,EAAc,EAAE,EAAE;IACxD,IAAI,IAAI,KAAK,KAAK,EAAE;QACnB,UAAU,CAAC,EAAE,CAAC,CAAC;KACf;AACF,CAAC,CAAC;AACF,MAAM,UAAU,GAAa,CAAC,IAAY,EAAE,EAAc,EAAE,EAAE;IAC7D,IAAI,IAAI,KAAK,UAAU,EAAE;QACxB,UAAU,CAAC,EAAE,CAAC,CAAC;KACf;AACF,CAAC,CAAC;AAEF,MAAM,cAAc;IAInB,YAAY,EAAM,EAAU,aAAqB;QAArB,kBAAa,GAAb,aAAa,CAAQ;QADzC,YAAO,GAAmB,CAAC,CAAC;QAEnC,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE;YAC1B,OAAO,CAAC,KAAK,CACZ,gCAAgC,GAAG,CAAC,EAAE,CAAC,SAAS,6BAA6B,CAC7E,CAAC;YACF,IAAI,IAAI,CAAC,aAAa,EAAE;gBACvB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACxC;YACD,EAAE,CAAC,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC;QACF,IAAI,CAAC,qBAAqB,GAAG,UAAU,CACtC,IAAI,CAAC,cAAc,EACnB,GAAG,CAAC,EAAE,CAAC,SAAS,CAChB,CAAC;IACH,CAAC;IACM,gBAAgB;QACtB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;YAC3B,OAAO;SACP;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1C,CAAC;IACM,gBAAgB;QACtB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;YAC3B,OAAO;SACP;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE;YACvB,IAAI,CAAC,qBAAqB,GAAG,UAAU,CACtC,IAAI,CAAC,cAAc,EACnB,GAAG,CAAC,EAAE,CAAC,SAAS,CAChB,CAAC;SACF;aAAM,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;YAC5B,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;SACjB;IACF,CAAC;IACM,aAAa;QAEnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1C,CAAC;CACD;AAED,MAAsB,EAAE;IAIvB,YACW,QAAiB,EAC3B,aAAsC;QAD5B,aAAQ,GAAR,QAAQ,CAAS;QAJpB,WAAM,GAAG,KAAK,CAAC;QAmHf,cAAS,GAGb;YACH,GAAG,EAAE,EAAE;YACP,QAAQ,EAAE,EAAE;SACZ,CAAC;QAlHD,IAAI,aAAa,YAAY,cAAc,EAAE;YAC5C,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;SACpC;aAAM;YACN,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;SAC9D;IACF,CAAC;IAEO,gBAAgB,CAAC,OAAe;QACvC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;QACpC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,CAAC;IACM,QAAQ;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAGM,UAAU;QAChB,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACM,UAAU;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,UAAU,CACtB,GAAQ,EACR,WAAqB,EAAE,EACvB,GAAG,IAAW;QAEd,IACC,GAAG,CAAC,EAAE,CAAC,oBAAoB;YAC3B,IAAI,CAAC,QAAQ;YACb,CAAC,qCAAqC,CAAC,IAAI,CAAC,GAAG,CAAC,EAC/C;YACD,MAAM,IAAI,sBAAsB,CAC/B,8DAA8D,GAAG,EAAE,CACnE,CAAC;SACF;QACD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;IACvD,CAAC;IACS,KAAK,CAAC,WAAW,CAC1B,GAAQ,EACR,WAAqB,EAAE,EACvB,GAAG,IAAW;QAEd,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;QAEvC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,IAAI;YACH,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;SACtD;QAAC,OAAO,GAAQ,EAAE;YAClB,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;SAC7B;gBAAS;YACT,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YAClC,eAAO,CAAC,IAAI,CAAC,eAAe,EAAE;gBAC7B,SAAS;gBAiBT,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/B,CAAC,CAAC;SACH;IACF,CAAC;IACM,KAAK,CAAC,QAAQ;QACpB,IAAI;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,gBAAgB,CAAC,mCAAmC,CAAC,CAAC;YAE3D,MAAM,OAAO,CAAC;SACd;gBAAS;YACT,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC5C,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC;YACrB,IAAI,CAAC,cAAc,EAAE,CAAC;SACtB;IACF,CAAC;IACM,KAAK,CAAC,GAAG;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,CAAC;QAErD,MAAM,OAAO,CAAC;QAEd,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;QAChB,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IACM,qBAAqB;QAC3B,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;IACrC,CAAC;IASM,EAAE,CAAC,IAA2B,EAAE,EAAc;QACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAEO,cAAc;QACrB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,CAAC;IAUM,KAAK,CAAC,cAAc,CAC1B,aAAqB,EACrB,IAAY,EACZ,YAAqB,IAAI;QAEzB,MAAM,IAAI,KAAK,CACd,sEAAsE,CACtE,CAAC;IACH,CAAC;IAGM,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,QAAQ,GAAG,IAAI;QACxD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YAClC,MAAM,IAAI,SAAS,CAAC,8BAA8B,CAAC,CAAC;SACpD;QACD,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC5B,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;SAChE;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,sBAAsB,CAC/B,+CAA+C,CAC/C,CAAC;SACF;QACD,MAAM,WAAW,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC;IAC3E,CAAC;CACD;AAtKD,gBAsKC;AAED,MAAM,gBAAgB,GAA4B,GAAG,CAAC,KAAK;IAC1D,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,EAAE;IACnB,CAAC,CAAE,CAAC,CAAC,IAAwB,CAAC;AAE/B,MAAM,iBAAiB,GAAG,CAAC,UAA+B,EAAiB,EAAE;IAC5E,OAAO,KAAK,EAAK,EAA8B,EAAmB,EAAE;QACnE,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;QACzC,IAAI,EAAE,CAAC;QACP,IAAI;YACH,EAAE,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC;SACrC;QAAC,OAAO,GAAQ,EAAE;YAClB,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;SAC7B;QACD,IAAI,EAAE,EAAE;YACP,IAAI;gBACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC5B,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;gBACf,OAAO,MAAM,CAAC;aACd;YAAC,OAAO,GAAQ,EAAE;gBAClB,IAAI;oBACH,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;iBACpB;gBAAC,MAAM;iBAEP;gBACD,MAAM,GAAG,CAAC;aACV;SACD;aAAM;YACN,OAAO,EAAE,CAAC;SACV;IACF,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,OAA8B,CAAC;AACnC,IAAI;IAEH,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAAC,OAAO,CAAC,EAAE;CAEX;AASD,IAAI,OAAO,IAAI,IAAI,EAAE;IACpB,MAAM,EAAE,GAAG,OAAO,CAAC;IACnB,eAAO,CAAC,QAAQ,GAAG,CAAC,aAAa,EAAE,EAAE;QACpC,MAAM,mBAAmB,GAAG,OAAO,CAAC;QACpC,MAAM,wBAAwB,GAAG,OAAO,CAAC;QACzC,MAAM,6BAA6B,GAAG,OAAO,CAAC;QAC9C,MAAM,iCAAiC,GAAG,OAAO,CAAC;QAElD,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;QAClC,MAAM,QAAQ,GAAG,CAAC,MAAqB,EAAE,EAAE;YAC1C,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC;YAC/B,MAAM,CAAC,iBAAiB,KAAK,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC;YACtD,MAAM,CAAC,iBAAiB,KAAK,GAAG,CAAC,EAAE,CAAC,gBAAgB,CAAC;YACrD,MAAM,CAAC,aAAa,KAAK,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC;YAC7C,MAAM,CAAC,uBAAuB,KAAK,GAAG,CAAC,EAAE,CAAC,uBAAuB,CAAC;YAClE,MAAM,CAAC,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC;YAEtC,MAAM,CAAC,kBAAkB,KAAK,GAAG,CAAC,EAAE,CAAC,kBAAkB,CAAC;YACxD,MAAM,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC;YAClC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,SAAS,IAAI,IAAI,EAAE;gBACtB,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;oBAC1B,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,uBAAuB,SAAS,GAAG,EAAE,CAAC,CAAC;gBAC7D,CAAC,CAAC,CAAC;aACH;YACD,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC1B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC1B,IAAI;wBACH,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;wBACjD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;qBACpB;oBAAC,OAAO,CAAC,EAAE;wBACX,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;qBACrD;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACrB,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,CAAC;QACV,CAAC,CAAC;QAEF,IAAI,IAAa,CAAC;QAClB,IAAI,OAAgB,CAAC;QACrB,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;YACtC,MAAM,kBAAkB,GAA8B,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAEtF,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAkB,CAAC;YACxE,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;SACxB;aAAM;YACN,MAAM,MAAM,GAAG,aAAa,CAAC;YAC7B,IAAI,SAAS,IAAI,MAAM,EAAE;gBACxB,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChC,IAAI,MAAM,CAAC,OAAO,EAAE;oBACnB,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACnC;aACD;iBAAM;gBACN,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;aACxB;SACD;QACD,OAAO,KAAK,IAAI,CAAC;QAEjB,MAAM,YAAY,GAAG,CAAC,EACrB,QAAQ,EACR,IAAI,GAIJ,EAAU,EAAE;YACZ,OAAO;gBACN,IAAI;gBACJ,YAAY,EAAE,QAAQ;gBACtB,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;aACvB,CAAC;QACH,CAAC,CAAC;QACF,MAAM,UAAW,SAAQ,EAAE;YAC1B,YACS,EAAiB,EACzB,QAAiB,EACjB,aAAsC;gBAEtC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;gBAJvB,OAAE,GAAF,EAAE,CAAe;YAK1B,CAAC;YAES,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;gBACvC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC/D,CAAC;YAES,KAAK,CAAC,WAAW,CAC1B,GAAQ,EACR,QAAkB,EAClB,eAA+B,KAAK;gBAEpC,IAAI,YAAY,IAAI,sCAAsC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBACrE,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,GAAG,IAAI,CAAC,CAAC;iBAC/D;gBAED,IAAI,MAAM,CAAC;gBACX,IAAI;oBACH,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;wBAC5B,IAAI,EAAE,GAAG;wBACT,MAAM,EAAE,QAAQ;qBAChB,CAAC,CAAC;iBACH;gBAAC,OAAO,GAAQ,EAAE;oBAClB,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB,EAAE;wBACrC,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC;qBACrC;oBACD,IAAI,GAAG,CAAC,IAAI,KAAK,wBAAwB,EAAE;wBAC1C,MAAM,IAAI,yBAAyB,CAAC,GAAG,CAAC,CAAC;qBACzC;oBACD,IAAI,GAAG,CAAC,IAAI,KAAK,6BAA6B,EAAE;wBAC/C,MAAM,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC;qBACpC;oBACD,IAAI,GAAG,CAAC,IAAI,KAAK,iCAAiC,EAAE;wBACnD,MAAM,IAAI,wBAAwB,CAAC,GAAG,CAAC,CAAC;qBACxC;oBACD,MAAM,GAAG,CAAC;iBACV;gBACD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;YAES,KAAK,CAAC,SAAS;gBACxB,IAAI;oBAGH,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,UAAwB,CAAC;oBACpD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC1B,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,0BAA0B,CAAC,CAAC;wBAC1D,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE;4BAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;gCAErB,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;4BAC5C,CAAC,CAAC,CAAC;yBACH;wBACD,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;qBACtB;oBACD,MAAM,IAAA,sBAAO,EACZ,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAC7B,GAAG,CAAC,EAAE,CAAC,eAAe,EACtB,oCAAoC,CACpC,CAAC;oBACF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;iBAClB;gBAAC,OAAO,GAAQ,EAAE;oBAClB,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;oBAC7B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACrB,MAAM,GAAG,CAAC;iBACV;YACF,CAAC;YAES,KAAK,CAAC,OAAO;gBACtB,IAAI;oBACH,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;oBAClC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;iBAClB;gBAAC,OAAO,GAAQ,EAAE;oBAClB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACrB,MAAM,GAAG,CAAC;iBACV;YACF,CAAC;YAEe,KAAK,CAAC,cAAc,CACnC,YAAoB,EACpB,GAAW,EACX,WAAoB,IAAI;gBAExB,gCAAgC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC7C,MAAM,WAAW,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;gBAC9D,IAAI,WAAW,IAAI,IAAI,EAAE;oBACxB,MAAM,IAAI,KAAK,CACd,8BAA8B,YAAY,kBAAkB,CAC5D,CAAC;iBACF;gBACD,IAAI;oBACH,IAAI,QAAQ,EAAE;wBACb,MAAM,IAAI,CAAC,UAAU,CAAC,uCAAuC,EAAE;4BAC9D,WAAW;4BACX,GAAG;yBACH,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;qBACZ;yBAAM;wBACN,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CACrC,2CAA2C,EAC3C,CAAC,WAAW,EAAE,GAAG,CAAC,CAClB,CAAC;wBACF,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,yBAAyB,KAAK,IAAI,CAAC;qBAClD;iBACD;gBAAC,OAAO,GAAG,EAAE;oBACb,MAAM,IAAI,KAAK,CACd,mEAAmE,GAAG,EAAE,CACxE,CAAC;iBACF;YACF,CAAC;YAEM,KAAK,CAAC,SAAS,CAAC,mBAA2B,EAAE;gBACnD,IAAI,gBAAgB,KAAK,EAAE,EAAE;oBAC5B,gBAAgB,GAAG,QAAQ,GAAG,gBAAgB,CAAC;iBAC/C;gBACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC;;;;;;WAMtB,gBAAgB;KACtB,CAAC,CAAC;YACJ,CAAC;SACD;QACD,OAAO;YACN,MAAM,YAAkB;YACxB,UAAU,EAAE,gBAAgB;YAC5B,WAAW,EAAE,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;gBACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACpC,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;gBACxD,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;gBACpC,OAAO,EAAE,CAAC;YACX,CAAC,CAAC;YACF,eAAe,EAAE,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;gBAC1D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBACvC,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;gBACxD,EAAE,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;gBAC9C,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;YACxB,CAAC,CAAC;YACF,GAAG,YAAY;SACf,CAAC;IACH,CAAC,CAAC;CACF;AAED,IAAI,UAAoC,CAAC;AACzC,IAAI;IAEH,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9B;AAAC,OAAO,CAAC,EAAE;CAEX;AAID,IAAI,UAAU,IAAI,IAAI,EAAE;IACvB,MAAM,KAAK,GAAG,UAAU,CAAC;IACzB,eAAO,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,sBAAsB,GAAG,cAAc,CAAC;QAC9C,MAAM,2BAA2B,GAAG,sBAAsB,CAAC;QAC3D,MAAM,gCAAgC,GAAG,8BAA8B,CAAC;QACxE,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;YAC5B,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAC/B,IAAA,2BAAY,EAAuB,CAAC,QAAQ,EAAE,EAAE;YAC/C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAMJ,MAAM,YAAY,GAAG,CAAC,IAAmB,EAAU,EAAE;YACpD,OAAO;gBACN,IAAI;gBACJ,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACvB,CAAC;QACH,CAAC,CAAC;QACF,MAAM,OAAQ,SAAQ,EAAE;YACvB,YACS,EAAoB,EACpB,KAAyB,EACjC,QAAiB,EACjB,aAAsC;gBAEtC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;gBALvB,OAAE,GAAF,EAAE,CAAkB;gBACpB,UAAK,GAAL,KAAK,CAAoB;YAKlC,CAAC;YAES,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;gBACvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACxE,CAAC;YAES,KAAK,CAAC,WAAW,CAAC,GAAQ,EAAE,QAAkB;gBACvD,IAAI,MAAM,CAAC;gBACX,IAAI;oBACH,MAAM,GAAG,MAAM,IAAA,2BAAY,EAAgB,CAAC,QAAQ,EAAE,EAAE;wBACvD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACxC,CAAC,CAAC,CAAC;iBACH;gBAAC,OAAO,GAAQ,EAAE;oBAClB,IAAI,GAAG,CAAC,IAAI,KAAK,sBAAsB,EAAE;wBAExC,MAAM,IAAI,qBAAqB,CAAC,GAAuB,CAAC,CAAC;qBACzD;oBACD,IAAI,GAAG,CAAC,IAAI,KAAK,2BAA2B,EAAE;wBAC7C,MAAM,IAAI,yBAAyB,CAAC,GAAuB,CAAC,CAAC;qBAC7D;oBACD,IAAI,GAAG,CAAC,IAAI,KAAK,gCAAgC,EAAE;wBAClD,MAAM,IAAI,oBAAoB,CAAC,GAAuB,CAAC,CAAC;qBACxD;oBACD,MAAM,GAAG,CAAC;iBACV;gBACD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;YAES,KAAK,CAAC,SAAS;gBACxB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,MAAM,OAAO,CAAC;YACf,CAAC;YAES,KAAK,CAAC,OAAO;gBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,MAAM,OAAO,CAAC;YACf,CAAC;YAEM,KAAK,CAAC,SAAS,CAAC,mBAA2B,EAAE;gBACnD,IAAI,gBAAgB,KAAK,EAAE,EAAE;oBAC5B,gBAAgB,GAAG,SAAS,GAAG,gBAAgB,CAAC;iBAChD;gBACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAC3B;;;;;;WAMM,gBAAgB;KACtB,EACA,CAAC,OAAO,CAAC,QAAQ,CAAC,CAClB,CAAC;YACH,CAAC;SACD;QAED,OAAO;YACN,MAAM,SAAe;YACrB,UAAU,EAAE,gBAAgB;YAC5B,WAAW,EAAE,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;gBACtD,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrC,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;gBAC5D,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;gBACpC,OAAO,EAAE,CAAC;YACX,CAAC,CAAC;YACF,eAAe,EAAE,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;gBAC1D,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrC,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;gBAC5D,EAAE,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;gBAC9C,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;YACxB,CAAC,CAAC;YACF,GAAG,YAAY;SACf,CAAC;IACH,CAAC,CAAC;CACF;AAKD,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,EAAE;IAejE,eAAO,CAAC,MAAM,GAAG,CAAC,YAAY,EAAE,EAAE;QACjC,MAAM,qBAAqB,GAAG,CAAC,CAAC;QAEhC,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAC7B,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,CAAC,GAAG,IAAI,GAAG,IAAI,CACf,CAAC;QACF,MAAM,WAAW,GAAG,CAAC,MAAoB,EAAE,EAAE;YAC5C,IAAI;gBACH,OAAO,MAAM,CAAC,QAAQ,CAAC;aACvB;YAAC,OAAO,CAAC,EAAE;aAEX;QACF,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,CAAC,MAAoB,EAAU,EAAE;YACrD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;YAE/B,MAAM,IAAI,GAAU,KAAK,CAAC,MAAM,CAAC,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;gBAChC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC9B;YACD,OAAO;gBACN,IAAI;gBACJ,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC;aAC7B,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,QAAS,SAAQ,EAAE;YACxB,YACS,EAAiB,EACzB,QAAiB,EACjB,aAAsC;gBAEtC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;gBAJvB,OAAE,GAAF,EAAE,CAAe;YAK1B,CAAC;YAES,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;gBACvC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC7D,CAAC;YAES,KAAK,CAAC,WAAW,CAAC,GAAQ,EAAE,QAAkB;gBACvD,IAAI,MAAM,CAAC;gBACX,IAAI;oBACH,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;iBACjD;gBAAC,OAAO,GAAQ,EAAE;oBAClB,IAAI,GAAG,CAAC,IAAI,KAAK,qBAAqB,EAAE;wBACvC,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAC;qBAChD;oBACD,MAAM,GAAG,CAAC;iBACV;gBACD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;YAES,KAAK,CAAC,SAAS;gBACxB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;YACjC,CAAC;YAES,KAAK,CAAC,OAAO;gBACtB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC;YAEM,KAAK,CAAC,SAAS,CAAC,mBAA2B,EAAE;gBACnD,IAAI,gBAAgB,KAAK,EAAE,EAAE;oBAC5B,gBAAgB,GAAG,OAAO,GAAG,gBAAgB,CAAC;iBAC9C;gBACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC;;;;;;;;OAQ1B,gBAAgB;KAClB,CAAC,CAAC;YACJ,CAAC;SACD;QAED,MAAM,aAAa;YAIlB,YAAoB,EAAkB;gBAAlB,OAAE,GAAF,EAAE,CAAgB;gBAH9B,YAAO,GAAG,IAAI,CAAC;gBACf,UAAK,GAAiB,EAAE,CAAC;gBAQzB,iBAAY,GAAG,GAAG,EAAE;oBAC3B,IAAI,IAA4B,CAAC;oBAEjC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE;wBACjC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;qBACvD;oBACD,IAAI,IAAI,CAAC,OAAO,EAAE;wBACjB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;wBACzB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;qBACtD;gBACF,CAAC,CAAC;gBAhBD,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,CAAC;YAiBM,KAAK,CAAC,UAAU,CAAC,GAAQ,EAAE,QAAkB;gBACnD,OAAO,MAAM,IAAI,OAAO,CAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1D,MAAM,eAAe,GAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;wBAC9D,OAAO,CAAC,OAAO,CAAC,CAAC;oBAClB,CAAC,CAAC;oBACF,MAAM,aAAa,GAA8B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;wBAC7D,MAAM,CAAC,GAAG,CAAC,CAAC;wBACZ,OAAO,KAAK,CAAC;oBACd,CAAC,CAAC;oBAEF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;gBAClE,CAAC,CAAC,CAAC;YACJ,CAAC;YAEM,KAAK,CAAC,QAAQ;gBACpB,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBACpC,MAAM,eAAe,GAAyB,GAAG,EAAE;wBAClD,OAAO,EAAE,CAAC;wBACV,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;oBAC7B,CAAC,CAAC;oBACF,MAAM,aAAa,GAA8B,GAAG,EAAE;wBACrD,OAAO,EAAE,CAAC;wBACV,OAAO,IAAI,CAAC;oBACb,CAAC,CAAC;oBACF,IAAI,CAAC,KAAK,GAAG;wBACZ;4BACC,qCAAqC;4BACrC,EAAE;4BACF,eAAe;4BACf,aAAa;yBACb;qBACD,CAAC;oBACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACtB,CAAC,CAAC,CAAC;YACJ,CAAC;YAEM,MAAM;gBACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACtB,CAAC;SACD;QAED,OAAO;YACN,MAAM,UAAgB;YACtB,UAAU,EAAE,gBAAgB;YAC5B,WAAW,EAAE,iBAAiB,CAC7B,CAAC,aAAa,EAAE,EAAE,CACjB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACvB,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE;oBACrB,OAAO,CACN,IAAI,QAAQ,CAAC,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CACzD,CAAC;gBACH,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CACH;YACD,eAAe,EAAE,iBAAiB,CACjC,CAAC,aAAa,EAAE,EAAE,CACjB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACvB,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE;oBACrB,OAAO,CAAC,IAAI,QAAQ,CAAC,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;gBACnE,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CACH;YACD,GAAG,YAAY;SACf,CAAC;IACH,CAAC,CAAC;CACF;AAMM,MAAM,OAAO,GAAG,CACtB,eAAmC,EAClC,EAAE;IACH,IAAI,eAAO,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;QAC5C,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;KAC1E;IACD,OAAO,eAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AAChE,CAAC,CAAC;AAPW,QAAA,OAAO,WAOlB"}
|
@@ -49,16 +49,15 @@ const app = (function () {
|
|
49
49
|
match,
|
50
50
|
paramName,
|
51
51
|
// Flatten middleware list to handle arrays of middleware in the arg list.
|
52
|
-
middleware:
|
52
|
+
middleware: middleware.flat(Infinity),
|
53
53
|
});
|
54
54
|
};
|
55
55
|
const process = async function (
|
56
56
|
/** @type string */ method,
|
57
57
|
/** @type string */ uri,
|
58
58
|
/** @type {{[key: string]: any}} */ headers,
|
59
|
-
/** @type any */ body,
|
59
|
+
/** @type any */ body = '',
|
60
60
|
) {
|
61
|
-
body ??= '';
|
62
61
|
if (!handlers[method]) {
|
63
62
|
throw [404, null, null];
|
64
63
|
}
|
@@ -93,22 +92,22 @@ const app = (function () {
|
|
93
92
|
json(/** @type any */ obj) {
|
94
93
|
// Stringify and parse to emulate passing over network.
|
95
94
|
obj = JSON.parse(JSON.stringify(obj));
|
96
|
-
|
97
|
-
reject([this.statusCode, obj, null]);
|
98
|
-
} else {
|
99
|
-
resolve([this.statusCode, obj, null]);
|
100
|
-
}
|
95
|
+
this.end(obj);
|
101
96
|
},
|
102
97
|
send(/** @type any */ data) {
|
103
98
|
data = _.cloneDeep(data);
|
99
|
+
this.end(data);
|
100
|
+
},
|
101
|
+
end(/** @type any */ data) {
|
104
102
|
if (this.statusCode >= 400) {
|
105
103
|
reject([this.statusCode, data, null]);
|
106
104
|
} else {
|
107
105
|
resolve([this.statusCode, data, null]);
|
108
106
|
}
|
109
107
|
},
|
110
|
-
sendStatus(
|
111
|
-
statusCode
|
108
|
+
sendStatus(
|
109
|
+
/** @type undefined | number */ statusCode = this.statusCode,
|
110
|
+
) {
|
112
111
|
if (statusCode >= 400) {
|
113
112
|
reject([statusCode, null, null]);
|
114
113
|
} else {
|
@@ -163,7 +162,7 @@ const app = (function () {
|
|
163
162
|
checkMethodHandlers();
|
164
163
|
}
|
165
164
|
} else {
|
166
|
-
res.
|
165
|
+
res.status(404).end();
|
167
166
|
}
|
168
167
|
};
|
169
168
|
checkMethodHandlers();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"express.js","sourceRoot":"","sources":["../../src/express-emulator/express.js"],"names":[],"mappings":";;AAAA,4BAA4B;AAO5B,MAAM,CAAC,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAEzE,CAAC,CAAC,kBAAkB,GAAG,CAAC,cAAc,CAAC,CAAC;AAExC,MAAM,GAAG,GAAG,CAAC;IAEZ,IAAI,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACvC,KAAK,GAAG,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC;IAEvC,MAAM,QAAQ,GAAG;QAEhB,GAAG,EAAE,EAAE;QACP,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,EAAE;QACP,MAAM,EAAE,EAAE;QACV,GAAG,EAAE,EAAE;QACP,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;KACX,CAAC;IACF,MAAM,UAAU,GAAG,UACE,WAAW,EACT,KAAK,EACc,GAAG,UAAU;QAGtD,IAAI,SAAS,CAAC;QACd,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,QAAQ,KAAK,KAAK,EAAE;YACvB,KAAK,GAAG,QAAQ,CAAC;YACjB,SAAS,GAAG,GAAG,CAAC;SAChB;aAAM;YACN,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxC,SAAS,GAAG,UAAU,
|
1
|
+
{"version":3,"file":"express.js","sourceRoot":"","sources":["../../src/express-emulator/express.js"],"names":[],"mappings":"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"}
|
@@ -1,19 +1,3 @@
|
|
1
|
-
export function setup(app: import("express").Application,
|
2
|
-
export
|
3
|
-
const models: {
|
4
|
-
apiRoot: string;
|
5
|
-
modelText: any;
|
6
|
-
customServerCode: {
|
7
|
-
setup: typeof setup;
|
8
|
-
};
|
9
|
-
migrations: {
|
10
|
-
'11.0.0-modified-at': string;
|
11
|
-
'15.0.0-true-boolean': {
|
12
|
-
mysql: string;
|
13
|
-
postgres: string;
|
14
|
-
websql: string;
|
15
|
-
};
|
16
|
-
};
|
17
|
-
}[];
|
18
|
-
}
|
1
|
+
export function setup(app: import("express").Application, sbvrUtilsInstance: typeof import("../sbvr-api/sbvr-utils"), db: import("../database-layer/db").Database): import("../sbvr-api/common-types").Resolvable<void>;
|
2
|
+
export let config: import('../config-loader/config-loader').Config;
|
19
3
|
export let addModelHooks: (modelName: string) => void;
|
@@ -3,6 +3,7 @@ import { odataNameToSqlName } from '@balena/odata-to-abstract-sql';
|
|
3
3
|
// @ts-ignore
|
4
4
|
const transactionModel = require('./transaction.sbvr');
|
5
5
|
|
6
|
+
/** @type {import('../config-loader/config-loader').Config} */
|
6
7
|
export let config = {
|
7
8
|
models: [
|
8
9
|
{
|
@@ -24,19 +25,26 @@ ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT N
|
|
24
25
|
ALTER TABLE "transaction"
|
25
26
|
ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\
|
26
27
|
`,
|
27
|
-
'15.0.0-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
28
|
+
'15.0.0-data-types': async (tx, sbvrUtils) => {
|
29
|
+
switch (sbvrUtils.db.engine) {
|
30
|
+
case 'mysql':
|
31
|
+
await tx.executeSql(`\
|
32
|
+
ALTER TABLE "lock"
|
33
|
+
MODIFY "is exclusive" BOOLEAN NOT NULL,
|
34
|
+
MODIFY "is under lock" BOOLEAN NOT NULL;`);
|
35
|
+
break;
|
36
|
+
case 'postgres':
|
37
|
+
await tx.executeSql(`\
|
38
|
+
ALTER TABLE "lock"
|
39
|
+
ALTER COLUMN "is exclusive" DROP DEFAULT,
|
40
|
+
ALTER COLUMN "is exclusive" SET DATA TYPE BOOLEAN USING "is exclusive"::BOOLEAN,
|
41
|
+
ALTER COLUMN "is exclusive" SET DEFAULT FALSE,
|
42
|
+
ALTER COLUMN "is under lock" DROP DEFAULT,
|
43
|
+
ALTER COLUMN "is under lock" SET DATA TYPE BOOLEAN USING "is under lock"::BOOLEAN,
|
44
|
+
ALTER COLUMN "is under lock" SET DEFAULT FALSE;`);
|
45
|
+
break;
|
46
|
+
// No need to migrate for websql
|
47
|
+
}
|
40
48
|
},
|
41
49
|
},
|
42
50
|
},
|
@@ -68,8 +76,8 @@ SELECT NOT EXISTS(
|
|
68
76
|
) AS result;`,
|
69
77
|
[request.resourceName, id],
|
70
78
|
);
|
71
|
-
} catch (err) {
|
72
|
-
logger.error('Unable to check resource locks', err
|
79
|
+
} catch (/** @type any */ err) {
|
80
|
+
logger.error('Unable to check resource locks', err);
|
73
81
|
throw new Error('Unable to check resource locks');
|
74
82
|
}
|
75
83
|
if ([false, 0, '0'].includes(result.rows[0].result)) {
|
@@ -151,7 +159,7 @@ WHERE "conditional resource"."transaction" = ?;\
|
|
151
159
|
[transactionID],
|
152
160
|
);
|
153
161
|
|
154
|
-
conditionalResources.rows
|
162
|
+
for (const conditionalResource of conditionalResources.rows) {
|
155
163
|
const { placeholder } = conditionalResource;
|
156
164
|
if (placeholder != null && placeholder.length > 0) {
|
157
165
|
/** @type {Function} */
|
@@ -165,7 +173,7 @@ WHERE "conditional resource"."transaction" = ?;\
|
|
165
173
|
// @ts-ignore
|
166
174
|
placeholders[placeholder] = { promise, resolve, reject };
|
167
175
|
}
|
168
|
-
}
|
176
|
+
}
|
169
177
|
|
170
178
|
// get conditional resources (if exist)
|
171
179
|
await Promise.all(
|
@@ -263,14 +271,14 @@ WHERE "conditional resource"."transaction" = ?;\
|
|
263
271
|
app.post('/transaction/execute', async (req, res) => {
|
264
272
|
const id = Number(req.body.id);
|
265
273
|
if (Number.isNaN(id)) {
|
266
|
-
res.
|
274
|
+
res.status(404).end();
|
267
275
|
} else {
|
268
276
|
try {
|
269
277
|
await endTransaction(id);
|
270
278
|
|
271
|
-
res.
|
272
|
-
} catch (err) {
|
273
|
-
console.error('Error ending transaction', err
|
279
|
+
res.status(200).end();
|
280
|
+
} catch (/** @type any */ err) {
|
281
|
+
console.error('Error ending transaction', err);
|
274
282
|
res.status(404).json(err);
|
275
283
|
}
|
276
284
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../src/http-transactions/transactions.js"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../src/http-transactions/transactions.js"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,168 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.run = void 0;
|
4
|
+
const _ = require("lodash");
|
5
|
+
const sbvrUtils = require("../sbvr-api/sbvr-utils");
|
6
|
+
const utils_1 = require("./utils");
|
7
|
+
const env_1 = require("../config-loader/env");
|
8
|
+
(sbvrUtils.api?.migrations?.logger.info ?? console.info)(`Async migration execution is ${(0, env_1.booleanToEnabledString)(utils_1.migratorEnv.asyncMigrationIsEnabled)}`);
|
9
|
+
const run = async (tx, model) => {
|
10
|
+
const { migrations } = model;
|
11
|
+
if (migrations == null || _.isEmpty(migrations)) {
|
12
|
+
return;
|
13
|
+
}
|
14
|
+
const asyncMigrations = (0, utils_1.getRunnableAsyncMigrations)(migrations);
|
15
|
+
if (asyncMigrations == null) {
|
16
|
+
return;
|
17
|
+
}
|
18
|
+
await $run(tx, model, asyncMigrations);
|
19
|
+
};
|
20
|
+
exports.run = run;
|
21
|
+
const $run = async (setupTx, model, migrations) => {
|
22
|
+
const modelName = model.apiRoot;
|
23
|
+
const asyncMigrationSetup = [];
|
24
|
+
const executedMigrations = await (0, utils_1.getExecutedMigrations)(setupTx, modelName);
|
25
|
+
const pendingMigrations = (0, utils_1.filterAndSortPendingMigrations)(migrations, executedMigrations);
|
26
|
+
for (const [key, migration] of pendingMigrations) {
|
27
|
+
let asyncRunnerMigratorFn;
|
28
|
+
let initMigrationState = {
|
29
|
+
migration_key: key,
|
30
|
+
start_time: new Date(),
|
31
|
+
last_run_time: new Date(),
|
32
|
+
run_count: 0,
|
33
|
+
migrated_row_count: 0,
|
34
|
+
error_count: 0,
|
35
|
+
errorThreshold: utils_1.migratorEnv.asyncMigrationDefaultErrorThreshold,
|
36
|
+
delayMS: utils_1.migratorEnv.asyncMigrationDefaultDelayMS,
|
37
|
+
backoffDelayMS: utils_1.migratorEnv.asyncMigrationDefaultBackoffDelayMS,
|
38
|
+
converged_time: undefined,
|
39
|
+
is_backing_off: false,
|
40
|
+
};
|
41
|
+
if (typeof migration === 'object') {
|
42
|
+
const batchSize = migration.asyncBatchSize || utils_1.migratorEnv.asyncMigrationDefaultBatchSize;
|
43
|
+
if (migration.asyncFn && typeof migration.asyncFn === 'function') {
|
44
|
+
asyncRunnerMigratorFn = async (tx) => {
|
45
|
+
return await migration.asyncFn(tx, {
|
46
|
+
batchSize,
|
47
|
+
}, sbvrUtils);
|
48
|
+
};
|
49
|
+
}
|
50
|
+
else if (migration.asyncSql && typeof migration.asyncSql === 'string') {
|
51
|
+
const asyncMigrationSqlStatement = migration.asyncSql?.replace('%%ASYNC_BATCH_SIZE%%', `${batchSize}`);
|
52
|
+
asyncRunnerMigratorFn = async (tx) => (await tx.executeSql(asyncMigrationSqlStatement)).rowsAffected;
|
53
|
+
}
|
54
|
+
else {
|
55
|
+
(sbvrUtils.api.migrations?.logger.error ?? console.error)(`Invalid migration object: ${JSON.stringify(migration, null, 2)}`);
|
56
|
+
continue;
|
57
|
+
}
|
58
|
+
initMigrationState = {
|
59
|
+
...initMigrationState,
|
60
|
+
..._.pickBy(_.pick(migration, ['backoffDelayMS', 'delayMS', 'errorThreshold']), (value) => value != null),
|
61
|
+
};
|
62
|
+
}
|
63
|
+
else if (typeof migration === 'string') {
|
64
|
+
asyncRunnerMigratorFn = async (tx) => (await tx.executeSql(migration)).rowsAffected;
|
65
|
+
}
|
66
|
+
else {
|
67
|
+
(sbvrUtils.api.migrations?.logger.error ?? console.error)(`Invalid async migration object: ${JSON.stringify(migration, null, 2)}`);
|
68
|
+
continue;
|
69
|
+
}
|
70
|
+
await (0, utils_1.initMigrationStatus)(setupTx, initMigrationState);
|
71
|
+
asyncMigrationSetup.push({
|
72
|
+
key,
|
73
|
+
initMigrationState,
|
74
|
+
asyncRunnerMigratorFn,
|
75
|
+
});
|
76
|
+
}
|
77
|
+
setupTx.on('end', () => {
|
78
|
+
for (const { key, initMigrationState, asyncRunnerMigratorFn, } of asyncMigrationSetup) {
|
79
|
+
const asyncRunner = async () => {
|
80
|
+
if (!utils_1.migratorEnv.asyncMigrationIsEnabled) {
|
81
|
+
setTimeout(asyncRunner, initMigrationState.backoffDelayMS);
|
82
|
+
return;
|
83
|
+
}
|
84
|
+
try {
|
85
|
+
const $migrationState = await sbvrUtils.db.transaction(async (tx) => await (0, utils_1.lockMigrations)({ tx, modelName, blocking: false }, async () => {
|
86
|
+
const migrationState = await (0, utils_1.readMigrationStatus)(tx, key);
|
87
|
+
if (!migrationState) {
|
88
|
+
(sbvrUtils.api.migrations?.logger.info ?? console.info)(`stopping async migration due to missing migration status: ${key}`);
|
89
|
+
return false;
|
90
|
+
}
|
91
|
+
if (migrationState.last_run_time) {
|
92
|
+
const durationSinceLastRun = Date.now() - migrationState.last_run_time.getTime();
|
93
|
+
const delayMs = migrationState.is_backing_off
|
94
|
+
? initMigrationState.backoffDelayMS
|
95
|
+
: initMigrationState.delayMS;
|
96
|
+
if (durationSinceLastRun < delayMs) {
|
97
|
+
return;
|
98
|
+
}
|
99
|
+
}
|
100
|
+
try {
|
101
|
+
const migratedRows = await sbvrUtils.db.transaction(async (migrationTx) => {
|
102
|
+
tx.disableAutomaticClose();
|
103
|
+
const rollbackMigrationTx = async () => {
|
104
|
+
try {
|
105
|
+
if (!migrationTx.isClosed()) {
|
106
|
+
await migrationTx.rollback();
|
107
|
+
}
|
108
|
+
}
|
109
|
+
catch (err) {
|
110
|
+
(sbvrUtils.api.migrations?.logger.error ??
|
111
|
+
console.error)(`error rolling back pending async migration tx on mgmt tx end/rollback: ${key}: ${err}`);
|
112
|
+
}
|
113
|
+
};
|
114
|
+
tx.on('rollback', rollbackMigrationTx);
|
115
|
+
tx.on('end', rollbackMigrationTx);
|
116
|
+
return ((await asyncRunnerMigratorFn?.(migrationTx)) ?? 0);
|
117
|
+
});
|
118
|
+
migrationState.migrated_row_count += migratedRows;
|
119
|
+
if (migratedRows === 0) {
|
120
|
+
migrationState.is_backing_off = true;
|
121
|
+
migrationState.converged_time ??= new Date();
|
122
|
+
}
|
123
|
+
else {
|
124
|
+
migrationState.is_backing_off = false;
|
125
|
+
}
|
126
|
+
}
|
127
|
+
catch (err) {
|
128
|
+
migrationState.error_count++;
|
129
|
+
if (err instanceof Error) {
|
130
|
+
if (migrationState.error_count %
|
131
|
+
initMigrationState.errorThreshold ===
|
132
|
+
0) {
|
133
|
+
(sbvrUtils.api.migrations?.logger.error ??
|
134
|
+
console.error)(`${key}: ${err.name} ${err.message}`);
|
135
|
+
migrationState.is_backing_off = true;
|
136
|
+
}
|
137
|
+
}
|
138
|
+
else {
|
139
|
+
(sbvrUtils.api.migrations?.logger.error ?? console.error)(`async migration error unknown: ${key}: ${err}`);
|
140
|
+
}
|
141
|
+
}
|
142
|
+
finally {
|
143
|
+
migrationState.last_run_time = new Date();
|
144
|
+
migrationState.run_count += 1;
|
145
|
+
await (0, utils_1.updateMigrationStatus)(tx, migrationState);
|
146
|
+
}
|
147
|
+
return migrationState;
|
148
|
+
}));
|
149
|
+
if ($migrationState === false) {
|
150
|
+
return;
|
151
|
+
}
|
152
|
+
if ($migrationState == null || $migrationState.is_backing_off) {
|
153
|
+
setTimeout(asyncRunner, initMigrationState.backoffDelayMS);
|
154
|
+
}
|
155
|
+
else {
|
156
|
+
setTimeout(asyncRunner, initMigrationState.delayMS);
|
157
|
+
}
|
158
|
+
}
|
159
|
+
catch (err) {
|
160
|
+
(sbvrUtils.api.migrations?.logger.error ?? console.error)(`error running async migration: ${key}: ${err}`);
|
161
|
+
setTimeout(asyncRunner, initMigrationState.backoffDelayMS);
|
162
|
+
}
|
163
|
+
};
|
164
|
+
setTimeout(asyncRunner, initMigrationState.delayMS);
|
165
|
+
}
|
166
|
+
});
|
167
|
+
};
|
168
|
+
//# sourceMappingURL=async.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"async.js","sourceRoot":"","sources":["../../src/migrator/async.ts"],"names":[],"mappings":"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"}
|
@@ -21,3 +21,46 @@ Term: migration lock
|
|
21
21
|
|
22
22
|
Fact Type: migration lock has model name
|
23
23
|
Necessity: each migration lock has exactly one model name
|
24
|
+
|
25
|
+
Term: migration key
|
26
|
+
Concept Type: Short Text (Type)
|
27
|
+
Term: start time
|
28
|
+
Concept Type: Date Time (Type)
|
29
|
+
Term: last run time
|
30
|
+
Concept Type: Date Time (Type)
|
31
|
+
Term: run count
|
32
|
+
Concept Type: Integer (Type)
|
33
|
+
Term: migrated row count
|
34
|
+
Concept Type: Integer (Type)
|
35
|
+
Term: error count
|
36
|
+
Concept Type: Integer (Type)
|
37
|
+
Term: converged time
|
38
|
+
Concept Type: Date Time (Type)
|
39
|
+
|
40
|
+
|
41
|
+
Term: migration status
|
42
|
+
Reference Scheme: migration key
|
43
|
+
Database ID Field: migration key
|
44
|
+
|
45
|
+
Fact Type: migration status has migration key
|
46
|
+
Necessity: each migration status has exactly one migration key
|
47
|
+
|
48
|
+
Fact Type: migration status has start time
|
49
|
+
Necessity: each migration status has at most one start time
|
50
|
+
|
51
|
+
Fact Type: migration status has last run time
|
52
|
+
Necessity: each migration status has at most one last run time
|
53
|
+
|
54
|
+
Fact Type: migration status has run count
|
55
|
+
Necessity: each migration status has exactly one run count
|
56
|
+
|
57
|
+
Fact Type: migration status has migrated row count
|
58
|
+
Necessity: each migration status has at most one migrated row count
|
59
|
+
|
60
|
+
Fact Type: migration status has error count
|
61
|
+
Necessity: each migration status has at most one error count
|
62
|
+
|
63
|
+
Fact Type: migration status is backing off
|
64
|
+
|
65
|
+
Fact Type: migration status has converged time
|
66
|
+
Necessity: each migration status has at most one converged time
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import type { Tx } from '../database-layer/db';
|
2
|
+
import type { Config, Model } from '../config-loader/config-loader';
|
3
|
+
type ApiRootModel = Model & {
|
4
|
+
apiRoot: string;
|
5
|
+
};
|
6
|
+
export declare const postRun: (tx: Tx, model: ApiRootModel) => Promise<void>;
|
7
|
+
export declare const run: (tx: Tx, model: ApiRootModel) => Promise<void>;
|
8
|
+
export declare const config: Config;
|
9
|
+
export {};
|