@harperfast/harper 5.0.1 → 5.0.2
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/components/Application.ts +24 -9
- package/components/ApplicationScope.ts +2 -3
- package/components/componentLoader.ts +13 -2
- package/config/harperConfigEnvVars.ts +34 -0
- package/dist/components/Application.js +15 -5
- package/dist/components/Application.js.map +1 -1
- package/dist/components/ApplicationScope.d.ts +2 -2
- package/dist/components/ApplicationScope.js +2 -3
- package/dist/components/ApplicationScope.js.map +1 -1
- package/dist/components/componentLoader.js +11 -2
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/config/harperConfigEnvVars.d.ts +16 -0
- package/dist/config/harperConfigEnvVars.js +33 -0
- package/dist/config/harperConfigEnvVars.js.map +1 -1
- package/dist/resources/Table.js +12 -1
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/write.js +7 -10
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +24 -7
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- package/dist/security/jsLoader.js +54 -21
- package/dist/security/jsLoader.js.map +1 -1
- package/dist/security/user.js +9 -8
- package/dist/security/user.js.map +1 -1
- package/package.json +3 -3
- package/resources/Table.ts +12 -1
- package/resources/analytics/write.ts +7 -10
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +23 -7
- package/security/jsLoader.ts +68 -22
- package/security/user.ts +10 -8
- package/static/defaultConfig.yaml +1 -1
- package/studio/web/assets/{index-C0iJWrnF.js → index-f5-e8ocl.js} +5 -5
- package/studio/web/assets/{index-C0iJWrnF.js.map → index-f5-e8ocl.js.map} +1 -1
- package/studio/web/assets/{index.lazy-C647wC7n.js → index.lazy-CCd1vMot.js} +2 -2
- package/studio/web/assets/{index.lazy-C647wC7n.js.map → index.lazy-CCd1vMot.js.map} +1 -1
- package/studio/web/assets/{profile-BTS_ZjxV.js → profile-gjpePJuu.js} +2 -2
- package/studio/web/assets/{profile-BTS_ZjxV.js.map → profile-gjpePJuu.js.map} +1 -1
- package/studio/web/assets/{status-Dc-S5M23.js → status-CmoVx0A5.js} +2 -2
- package/studio/web/assets/{status-Dc-S5M23.js.map → status-CmoVx0A5.js.map} +1 -1
- package/studio/web/index.html +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../security/user.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../security/user.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AASZ,0BAAO;AACP,8BAAS;AACT,4BAAQ;AACR,oCAAY;AACZ,4BAAQ;AACR,8BAAS;AACT,8CAAiB;AACjB,wDAAsB;AACtB,kDAAmB;AACnB,wDAAsB;AAhBvB,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AAiBhD,8CAAiB;AAhBlB,MAAM,2BAA2B,GAAG,mEAAmE,CAAC;AAiBvG,kEAA2B;AAhB5B,MAAM,cAAc,GAAG,oCAAoC,CAAC;AAiB3D,wCAAc;AAhBf,MAAM,UAAU,GAAG,2CAA2C,CAAC;AAiB9D,gCAAU;AAhBX,MAAM,cAAc,GAAG,8BAA8B,CAAC;AAiBrD,wCAAc;AA4Df,6EAA6E;AAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACjD,MAAM,OAAO,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAClD,MAAM,UAAU,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACjD,MAAM,UAAU,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AACvD,MAAM,UAAU,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AACxC,MAAM,MAAM,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC;AAC9D,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACtC,MAAM,GAAG,GAAG,OAAO,CAAC,8CAA8C,CAAC,CAAC;AACpE,MAAM,YAAY,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAC1D,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAC5E,MAAM,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;AACnF,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAC7D,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC;AAEpE,sFAAsF;AACtF,iIAAiI;AACjI,MAAM,QAAQ,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACnD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAClD,MAAM,KAAK,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAChD,MAAM,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,oCAAoC,CAAC,CAAC;AAEhF,MAAM,CAAC,OAAO,GAAG,CAAC,QAAgB,EAAE,QAAwB,EAAiB,EAAE;IAC9E,OAAO,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,CAAC,gBAAgB,GAAG,CAAC,QAAgB,EAAE,QAAwB,EAAiB,EAAE;IACvF,OAAO,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG;IAChC,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,IAAI;CACd,CAAC;AACF,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;AACpC,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,sBAAsB,GAC3B,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,2BAA2B,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AAC3F,IAAI,iBAAiB,CAAC;AAEtB,KAAK,UAAU,OAAO,CAAC,IAAgB;IACtC,IAAI,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;IACzE,IAAI,cAAc,GAAG,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7D,IAAI,cAAc;QAAE,MAAM,IAAI,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAElE,IAAI,UAAU,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;QAC3C,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,UAAU;QACjB,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,SAAS,CAAC,IAAI;QACrB,cAAc,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC;KAC5C,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,WAAW,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACxG,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACnG,CAAC;IAED,SAAS,CAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IACrF,SAAS,CAAC,aAAa,GAAG,sBAAsB,CAAC;IACjD,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAElC,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;QAC1C,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,SAAS,CAAC;KACpB,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAE7B,MAAM,sBAAsB,EAAE,CAAC;IAE/B,IAAI,cAAc,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,WAAW,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC3G,CAAC;IAED,MAAM,UAAU,CAAC,gBAAgB,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,OAAO,GAAG,SAAS,CAAC,QAAQ,qBAAqB,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,WAAW;IACnC,IAAI,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;IAEhF,IAAI,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;IAED,IACC,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC;QAClD,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC;QAC9C,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,EAC/C,CAAC;QACF,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1G,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACtF,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC3G,SAAS,CAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QACrF,SAAS,CAAC,aAAa,GAAG,sBAAsB,CAAC;IAClD,CAAC;IAED,kHAAkH;IAClH,IAAI,SAAS,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IACD,iDAAiD;IACjD,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;YAC3C,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,MAAM;YACjB,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,cAAc,EAAE,CAAC,GAAG,CAAC;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YACrC,MAAM,IAAI,WAAW,CAAC,cAAc,CAAC,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE9G,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YACtB,MAAM,IAAI,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEnG,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;QAC1C,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,SAAS,CAAC;KACpB,CAAC,CAAC;IAEH,MAAM,sBAAsB,EAAE,CAAC;IAC/B,MAAM,UAAU,CAAC,gBAAgB,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjE,OAAO,cAAc,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAgB;IACvC,MAAM,cAAc,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,cAAc;QAAE,MAAM,IAAI,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAElE,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,SAAS;QACrD,MAAM,IAAI,WAAW,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAElG,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC;QAC1C,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;KAC5B,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC7B,MAAM,sBAAsB,EAAE,CAAC;IAC/B,MAAM,UAAU,CAAC,gBAAgB,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,OAAO,GAAG,IAAI,CAAC,QAAQ,uBAAuB,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAI;IAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,oCAAoC,CAAC;IAC7C,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,QAAQ,GACX,IAAI,CAAC,IAAI;QACT,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC;YAC1B,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,cAAc,EAAE,CAAC,GAAG,CAAC;SACrB,CAAC,CAAC,CAAC;IAEL,IAAI,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC;IACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC1B,OAAO,IAAI,CAAC,IAAI,CAAC;IACjB,OAAO,IAAI,CAAC,aAAa,CAAC;IAE1B,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,iBAAiB;IAC/B,MAAM,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC,aAAa,CAAC;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,SAAS;IACvB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;QACxC,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,GAAG;QACV,SAAS,EAAE,MAAM;QACjB,cAAc,EAAE,CAAC,GAAG,CAAC;KACrB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QACxB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;QACxC,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,GAAG;QACV,SAAS,EAAE,UAAU;QACrB,cAAc,EAAE,CAAC,GAAG,CAAC;KACrB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAsB,IAAI,GAAG,EAAE,CAAC;IAC7C,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB,CAAC,QAAkB;IACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACzC,OAAO;IACR,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACjC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG;YAC5B,MAAM,EAAE,EAAE;SACV,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACxC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;IACxC,CAAC;IACD,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7C,IAAI,OAAO,GAAG;YACb,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU;YACtC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,qBAAqB,EAAE,EAAE;SACzB,CAAC;QAEF,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;IACpD,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,4BAA4B,CAAC,QAAkB;IACvD,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU;QAAE,OAAO;IAC9C,QAAQ,CAAC,UAAU,CAAC,mBAAmB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACjG,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,KAAK,GAAG,SAAS;IACtD,IAAI,KAAK;QAAE,iBAAiB,GAAG,KAAK,CAAC;;QAChC,iBAAiB,GAAG,MAAM,SAAS,EAAE,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,sBAAsB;IACpC,IAAI,CAAC,iBAAiB;QAAE,MAAM,sBAAsB,EAAE,CAAC;IACvD,OAAO,iBAAiB,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,mBAAmB,CAAC,QAAgB,EAAE,EAAkB,EAAE,gBAAgB,GAAG,IAAI;IAC/F,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxB,MAAM,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,IAAI,CAAC,gBAAgB;YAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC3C,MAAM,IAAI,WAAW,CAAC,yBAAyB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM;QAC7B,MAAM,IAAI,WAAW,CAAC,yBAAyB,CAAC,aAAa,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAEhG,MAAM,IAAI,GAAS;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC1B,CAAC;IACF,IAAI,OAAO,CAAC,aAAa;QAAE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IACtE,4EAA4E;IAC5E,yFAAyF;IACzF,wFAAwF;IACxF,IAAI,OAAO,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;IAE9F,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC/B,gEAAgE;QAChE,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAChE,mCAAmC;aAC9B,CAAC;YACL,IAAI,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,2CAA2C;YACzJ,mEAAmE;YACnE,IAAI,SAAS,EAAE,IAAI;gBAAE,SAAS,GAAG,MAAM,SAAS,CAAC;YACjD,IAAI,SAAS,KAAK,IAAI;gBAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;;gBAC/D,MAAM,IAAI,WAAW,CAAC,yBAAyB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACzG,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,KAAK,UAAU,YAAY;IAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxB,MAAM,sBAAsB,EAAE,CAAC;IAChC,CAAC;IACD,KAAK,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,iBAAiB,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;IACnD,CAAC;AACF,CAAC;AAED,IAAI,mBAAmB,GAAG,EAAE,CAAC;AAC7B,MAAM,CAAC,cAAc,GAAG,UAAU,IAAgB;IACjD,KAAK,IAAI,QAAQ,IAAI,mBAAmB,EAAE,CAAC;QAC1C,IAAI,CAAC;YACJ,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,YAAY,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,iBAAiB,GAAG,UAAU,QAAQ;IAC5C,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@harperfast/harper",
|
|
3
3
|
"description": "Harper is an open-source Node.js performance platform that unifies database, cache, application, and messaging layers into one in-memory process.",
|
|
4
|
-
"version": "5.0.
|
|
4
|
+
"version": "5.0.2",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://harper.fast",
|
|
7
7
|
"bugs": {
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
"@fastify/cors": "^11.2.0",
|
|
161
161
|
"@fastify/static": "^9.0.0",
|
|
162
162
|
"@harperfast/extended-iterable": "^1.0.1",
|
|
163
|
-
"@harperfast/rocksdb-js": "^1.0.
|
|
163
|
+
"@harperfast/rocksdb-js": "^1.0.1",
|
|
164
164
|
"@turf/area": "6.5.0",
|
|
165
165
|
"@turf/boolean-contains": "6.5.0",
|
|
166
166
|
"@turf/boolean-disjoint": "6.5.0",
|
|
@@ -195,7 +195,7 @@
|
|
|
195
195
|
"json-bigint-fixes": "1.1.0",
|
|
196
196
|
"jsonata": "1.8.7",
|
|
197
197
|
"jsonwebtoken": "9.0.3",
|
|
198
|
-
"lmdb": "3.5.
|
|
198
|
+
"lmdb": "3.5.4",
|
|
199
199
|
"lodash": "^4.17.23",
|
|
200
200
|
"mathjs": "11.12.0",
|
|
201
201
|
"micromatch": "^4.0.8",
|
package/resources/Table.ts
CHANGED
|
@@ -2262,7 +2262,9 @@ export function makeTable(options) {
|
|
|
2262
2262
|
return (entryA, entryB) => {
|
|
2263
2263
|
const a = getAttributeValue(entryA, order.attribute, context);
|
|
2264
2264
|
const b = getAttributeValue(entryB, order.attribute, context);
|
|
2265
|
-
const diff = descending
|
|
2265
|
+
const diff = descending
|
|
2266
|
+
? compareKeys(convertToComparableKeys(b), convertToComparableKeys(a))
|
|
2267
|
+
: compareKeys(convertToComparableKeys(a), convertToComparableKeys(b));
|
|
2266
2268
|
if (diff === 0) return nextComparator?.(entryA, entryB) || 0;
|
|
2267
2269
|
return diff;
|
|
2268
2270
|
};
|
|
@@ -4572,3 +4574,12 @@ function hasOtherProcesses(store) {
|
|
|
4572
4574
|
return +line.match(/\d+/)?.[0] != pid;
|
|
4573
4575
|
});
|
|
4574
4576
|
}
|
|
4577
|
+
function convertToComparableKeys(a) {
|
|
4578
|
+
if (a instanceof Date) {
|
|
4579
|
+
return a.getTime();
|
|
4580
|
+
}
|
|
4581
|
+
if (Array.isArray(a)) {
|
|
4582
|
+
return a.map(convertToComparableKeys);
|
|
4583
|
+
}
|
|
4584
|
+
return a;
|
|
4585
|
+
}
|
|
@@ -219,15 +219,12 @@ export async function recordHostname() {
|
|
|
219
219
|
const nodeId = stableNodeId(hostname);
|
|
220
220
|
log.trace?.('recordHostname nodeId:', nodeId);
|
|
221
221
|
const hostnamesTable = getAnalyticsHostnameTable();
|
|
222
|
-
const
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
log.trace?.(`recordHostname storing hostname: ${JSON.stringify(hostnameRecord)}`);
|
|
229
|
-
await hostnamesTable.put(hostnameRecord.id, hostnameRecord);
|
|
230
|
-
}
|
|
222
|
+
const hostnameRecord = {
|
|
223
|
+
id: nodeId,
|
|
224
|
+
hostname,
|
|
225
|
+
};
|
|
226
|
+
log.trace?.(`recordHostname storing hostname: ${JSON.stringify(hostnameRecord)}`);
|
|
227
|
+
await hostnamesTable.put(hostnameRecord.id, hostnameRecord);
|
|
231
228
|
}
|
|
232
229
|
|
|
233
230
|
export interface Metric {
|
|
@@ -514,7 +511,7 @@ async function aggregation(fromPeriod, toPeriod = 60000) {
|
|
|
514
511
|
await rest();
|
|
515
512
|
}
|
|
516
513
|
for (const entry of threadsToAverage) {
|
|
517
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
514
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
518
515
|
let { path, method, type, metric, count, total, distribution, threads, ...measures } = entry;
|
|
519
516
|
threads = threads.filter((thread) => thread);
|
|
520
517
|
for (const measureName in measures) {
|
|
@@ -130,8 +130,8 @@ export class HierarchicalNavigableSmallWorld {
|
|
|
130
130
|
// Generate random level for this new element
|
|
131
131
|
const level = oldNode.level ?? Math.min(Math.floor(-Math.log(Math.random()) * this.mL), MAX_LEVEL);
|
|
132
132
|
let currentLevel = entryPoint.level;
|
|
133
|
-
if (level
|
|
134
|
-
// if we are at
|
|
133
|
+
if (level > currentLevel) {
|
|
134
|
+
// if we are at a higher level, make this the new entry point
|
|
135
135
|
if (typeof nodeId !== 'number') {
|
|
136
136
|
throw new Error('Invalid nodeId: ' + nodeId);
|
|
137
137
|
}
|
|
@@ -232,6 +232,19 @@ export class HierarchicalNavigableSmallWorld {
|
|
|
232
232
|
oldNode[l] = oldConnections;
|
|
233
233
|
}
|
|
234
234
|
oldConnections.splice(oldPosition, 1);
|
|
235
|
+
// update the distance in the reverse connection if the vector changed
|
|
236
|
+
if (oldConnection.distance !== distance) {
|
|
237
|
+
const neighborNode = updateNode(id, node);
|
|
238
|
+
if (neighborNode[l]) {
|
|
239
|
+
if (Object.isFrozen(neighborNode[l])) {
|
|
240
|
+
neighborNode[l] = neighborNode[l].slice();
|
|
241
|
+
}
|
|
242
|
+
const reverseIdx = neighborNode[l].findIndex(({ id: nid }) => nid === nodeId);
|
|
243
|
+
if (reverseIdx >= 0) {
|
|
244
|
+
neighborNode[l][reverseIdx] = { id: nodeId, distance };
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
235
248
|
} else {
|
|
236
249
|
// add new connection since this is truly a new connection now
|
|
237
250
|
this.addConnection(id, updateNode(id, node), nodeId, l, distance, updateNode, options);
|
|
@@ -360,7 +373,7 @@ export class HierarchicalNavigableSmallWorld {
|
|
|
360
373
|
const candidates = [
|
|
361
374
|
{
|
|
362
375
|
id: entryPointId,
|
|
363
|
-
distance:
|
|
376
|
+
distance: distanceFunction(queryVector, entryPoint.vector),
|
|
364
377
|
node: entryPoint,
|
|
365
378
|
},
|
|
366
379
|
];
|
|
@@ -531,10 +544,13 @@ export class HierarchicalNavigableSmallWorld {
|
|
|
531
544
|
if (removedNode) {
|
|
532
545
|
// Remove the reverse connection if it exists
|
|
533
546
|
if (removedNode[level]) {
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
logger.info?.('
|
|
547
|
+
const filtered = removedNode[level].filter(({ id }) => id !== fromId);
|
|
548
|
+
if (level === 0 && filtered.length === 0) {
|
|
549
|
+
// don't remove the last connection at level 0 — it would orphan this node
|
|
550
|
+
logger.info?.('skipping removal of last connection', fromId, toId);
|
|
551
|
+
} else {
|
|
552
|
+
removedNode = updateNode(removed.id, removedNode);
|
|
553
|
+
removedNode[level] = filtered;
|
|
538
554
|
}
|
|
539
555
|
}
|
|
540
556
|
}
|
package/security/jsLoader.ts
CHANGED
|
@@ -14,7 +14,16 @@ import * as child_process from 'node:child_process';
|
|
|
14
14
|
import { CONFIG_PARAMS } from '../utility/hdbTerms.ts';
|
|
15
15
|
import { contentTypes } from '../server/serverHelpers/contentTypes.ts';
|
|
16
16
|
import type { CompartmentOptions } from 'ses';
|
|
17
|
-
import {
|
|
17
|
+
import {
|
|
18
|
+
mkdirSync,
|
|
19
|
+
readFileSync,
|
|
20
|
+
writeFileSync,
|
|
21
|
+
unlinkSync,
|
|
22
|
+
openSync,
|
|
23
|
+
closeSync,
|
|
24
|
+
statSync,
|
|
25
|
+
realpathSync,
|
|
26
|
+
} from 'node:fs';
|
|
18
27
|
import { join } from 'node:path';
|
|
19
28
|
import { EventEmitter } from 'node:events';
|
|
20
29
|
import { whenComponentsLoaded } from '../server/threads/threadServer.js';
|
|
@@ -495,13 +504,13 @@ async function loadModuleWithVM(moduleUrl: string, scope: ApplicationScope, useC
|
|
|
495
504
|
}
|
|
496
505
|
|
|
497
506
|
if (url.startsWith('file://') && usePrivateGlobal) {
|
|
498
|
-
checkAllowedModulePath(url, scope.
|
|
507
|
+
checkAllowedModulePath(url, scope.allowedPath);
|
|
499
508
|
const source = readFileSync(new URL(url), { encoding: 'utf-8' });
|
|
500
509
|
return createModuleFromSource(url, source, usePrivateGlobal);
|
|
501
510
|
}
|
|
502
511
|
|
|
503
512
|
// For Node.js built-in modules (node:) and npm packages without application loader for dependency
|
|
504
|
-
const replacedModule = checkAllowedModulePath(url, scope.
|
|
513
|
+
const replacedModule = checkAllowedModulePath(url, scope.allowedPath);
|
|
505
514
|
if (replacedModule) {
|
|
506
515
|
return createSyntheticModule(url, normalizeImportedModule(replacedModule));
|
|
507
516
|
}
|
|
@@ -570,7 +579,7 @@ async function getCompartment(scope: ApplicationScope, globals) {
|
|
|
570
579
|
}
|
|
571
580
|
return new StaticModuleRecord(moduleText, moduleSpecifier);
|
|
572
581
|
} else {
|
|
573
|
-
checkAllowedModulePath(moduleSpecifier, scope.
|
|
582
|
+
checkAllowedModulePath(moduleSpecifier, scope.allowedPath);
|
|
574
583
|
const moduleExports = await import(moduleSpecifier);
|
|
575
584
|
return {
|
|
576
585
|
imports: [],
|
|
@@ -761,23 +770,54 @@ function isProcessRunning(pid: number): boolean {
|
|
|
761
770
|
* Acquires an exclusive lock using the PID file itself (synchronously with busy-wait)
|
|
762
771
|
* Returns 0 if lock was acquired (need to spawn new process), or the existing PID if process is running
|
|
763
772
|
*/
|
|
764
|
-
function
|
|
773
|
+
function parsePidFile(content: string): { pid: number; version: number } {
|
|
774
|
+
const lines = content.trim().split('\n');
|
|
775
|
+
const pid = Number.parseInt(lines[0], 10);
|
|
776
|
+
const version = lines.length > 1 ? parseInt(lines[1], 10) : 0;
|
|
777
|
+
return { pid, version };
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
function acquirePidFileLock(
|
|
781
|
+
pidFilePath: string,
|
|
782
|
+
requestedVersion?: number,
|
|
783
|
+
maxRetries = 100,
|
|
784
|
+
retryDelay = 5
|
|
785
|
+
): { pid: number; version: number } {
|
|
765
786
|
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
766
787
|
try {
|
|
767
788
|
// Try to open exclusively - 'wx' fails if file exists
|
|
768
789
|
const fd = openSync(pidFilePath, 'wx');
|
|
769
790
|
closeSync(fd);
|
|
770
|
-
return 0; // Successfully acquired lock (file created), caller should spawn process
|
|
791
|
+
return { pid: 0, version: 0 }; // Successfully acquired lock (file created), caller should spawn process
|
|
771
792
|
} catch (err) {
|
|
772
793
|
if (err.code === 'EEXIST') {
|
|
773
794
|
// File exists - check if it contains a valid running process
|
|
774
795
|
try {
|
|
775
796
|
const pidContent = readFileSync(pidFilePath, 'utf-8');
|
|
776
|
-
const existingPid =
|
|
797
|
+
const { pid: existingPid, version: existingVersion } = parsePidFile(pidContent);
|
|
777
798
|
|
|
778
799
|
if (!isNaN(existingPid) && isProcessRunning(existingPid)) {
|
|
779
|
-
//
|
|
780
|
-
|
|
800
|
+
// If the version isn't the one we want, kill the existing process and re-acquire
|
|
801
|
+
if (requestedVersion != null && requestedVersion !== existingVersion) {
|
|
802
|
+
try {
|
|
803
|
+
process.kill(existingPid);
|
|
804
|
+
} catch {
|
|
805
|
+
// Process may have already exited
|
|
806
|
+
}
|
|
807
|
+
try {
|
|
808
|
+
unlinkSync(pidFilePath);
|
|
809
|
+
} catch {
|
|
810
|
+
// Another thread may have removed it
|
|
811
|
+
}
|
|
812
|
+
// Retry to acquire the lock for the new version
|
|
813
|
+
const start = Date.now();
|
|
814
|
+
while (Date.now() - start < retryDelay) {
|
|
815
|
+
// Busy wait for process cleanup
|
|
816
|
+
}
|
|
817
|
+
continue;
|
|
818
|
+
}
|
|
819
|
+
// Valid process is running at same or higher version, return its PID
|
|
820
|
+
return { pid: existingPid, version: existingVersion };
|
|
781
821
|
}
|
|
782
822
|
|
|
783
823
|
// Invalid/empty PID - check file age to determine if it's stale or being written
|
|
@@ -824,6 +864,7 @@ function createSpawn(spawnFunction: (...args: any) => child_process.ChildProcess
|
|
|
824
864
|
throw new Error(
|
|
825
865
|
`Calling ${spawnFunction.name} in Harper must have a process "name" in the options to ensure that a single process is started and reused`
|
|
826
866
|
);
|
|
867
|
+
const requestedVersion = options?.version;
|
|
827
868
|
|
|
828
869
|
// Ensure PID directory exists
|
|
829
870
|
const pidDir = join(basePath, 'pids');
|
|
@@ -831,20 +872,22 @@ function createSpawn(spawnFunction: (...args: any) => child_process.ChildProcess
|
|
|
831
872
|
|
|
832
873
|
const pidFilePath = join(pidDir, `${processName}.pid`);
|
|
833
874
|
|
|
834
|
-
// Try to acquire lock - returns 0 if acquired, or existing PID
|
|
835
|
-
const
|
|
875
|
+
// Try to acquire lock - returns pid: 0 if acquired, or existing PID/version
|
|
876
|
+
const existing = acquirePidFileLock(pidFilePath, requestedVersion);
|
|
836
877
|
|
|
837
|
-
if (
|
|
878
|
+
if (existing.pid !== 0) {
|
|
838
879
|
// Existing process is running, return wrapper
|
|
839
|
-
return new ExistingProcessWrapper(
|
|
880
|
+
return new ExistingProcessWrapper(existing.pid);
|
|
840
881
|
}
|
|
841
882
|
|
|
842
883
|
// We acquired the lock (file was created), spawn new process
|
|
843
884
|
const childProcess = spawnFunction(command, args, options, callback);
|
|
844
885
|
|
|
845
|
-
// Write PID to the file we just created
|
|
886
|
+
// Write PID (and version if provided) to the file we just created
|
|
887
|
+
const pidFileContent =
|
|
888
|
+
requestedVersion != null ? `${childProcess.pid}\n${requestedVersion}` : childProcess.pid.toString();
|
|
846
889
|
try {
|
|
847
|
-
writeFileSync(pidFilePath,
|
|
890
|
+
writeFileSync(pidFilePath, pidFileContent, 'utf-8');
|
|
848
891
|
} catch (err) {
|
|
849
892
|
// Failed to write PID, clean up
|
|
850
893
|
try {
|
|
@@ -869,21 +912,24 @@ function createSpawn(spawnFunction: (...args: any) => child_process.ChildProcess
|
|
|
869
912
|
|
|
870
913
|
/**
|
|
871
914
|
* Validates whether a module can be loaded based on security restrictions and returns the module path or replacement.
|
|
872
|
-
* For file URLs, ensures the module is within the
|
|
915
|
+
* For file URLs, ensures the module is within the allowed path.
|
|
873
916
|
* For node built-in modules, checks against an allowlist and returns any replacements.
|
|
874
917
|
*
|
|
875
918
|
* @param {string} moduleUrl - The URL or identifier of the module to be loaded, which may be a file: URL, node: URL, or bare module specifier.
|
|
876
|
-
* @param {string}
|
|
919
|
+
* @param {string} allowedPath - The absolute path that the module is allowed to load from.
|
|
877
920
|
* @return {any} Returns undefined for allowed file paths, or a replacement module identifier for allowed node built-in modules.
|
|
878
|
-
* @throws {Error} Throws an error if the module is outside the
|
|
921
|
+
* @throws {Error} Throws an error if the module is outside the allowed path or if the module is not in the allowed list.
|
|
879
922
|
*/
|
|
880
|
-
function checkAllowedModulePath(moduleUrl: string,
|
|
923
|
+
function checkAllowedModulePath(moduleUrl: string, allowedPath?: string): boolean {
|
|
881
924
|
if (moduleUrl.startsWith('file:')) {
|
|
882
|
-
|
|
883
|
-
|
|
925
|
+
let path = moduleUrl.slice(7);
|
|
926
|
+
try {
|
|
927
|
+
path = realpathSync(path);
|
|
928
|
+
} catch {}
|
|
929
|
+
if (!allowedPath || path.startsWith(allowedPath)) {
|
|
884
930
|
return;
|
|
885
931
|
}
|
|
886
|
-
throw new Error(`Can not load module outside of
|
|
932
|
+
throw new Error(`Can not load module outside of allowed path`);
|
|
887
933
|
}
|
|
888
934
|
let simpleName = moduleUrl.startsWith('node:') ? moduleUrl.slice(5) : moduleUrl;
|
|
889
935
|
simpleName = simpleName.split('/')[0];
|
package/security/user.ts
CHANGED
|
@@ -258,14 +258,16 @@ async function userInfo(body): Promise<string | User> {
|
|
|
258
258
|
}
|
|
259
259
|
|
|
260
260
|
let user = _.cloneDeep(body.hdb_user);
|
|
261
|
-
let roleData =
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
261
|
+
let roleData =
|
|
262
|
+
user.role &&
|
|
263
|
+
(await search.searchByHash({
|
|
264
|
+
schema: 'system',
|
|
265
|
+
table: 'hdb_role',
|
|
266
|
+
hash_values: [user.role.id],
|
|
267
|
+
get_attributes: ['*'],
|
|
268
|
+
}));
|
|
267
269
|
|
|
268
|
-
user.role = roleData[0];
|
|
270
|
+
user.role = roleData?.[0];
|
|
269
271
|
delete user.password;
|
|
270
272
|
delete user.refresh_token;
|
|
271
273
|
delete user.hash;
|
|
@@ -429,7 +431,7 @@ async function getSuperUser(): Promise<User | undefined> {
|
|
|
429
431
|
await setUsersWithRolesCache();
|
|
430
432
|
}
|
|
431
433
|
for (let [, user] of usersWithRolesMap) {
|
|
432
|
-
if (user.role
|
|
434
|
+
if (user.role?.role === 'super_user') return user;
|
|
433
435
|
}
|
|
434
436
|
}
|
|
435
437
|
|