equipped 5.2.8 → 5.3.0-alpha.0
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/CHANGELOG.md +95 -0
- package/README.md +362 -34
- package/dist/cjs/cache/adapters/in-memory/index.cjs +824 -0
- package/dist/cjs/cache/adapters/in-memory/index.cjs.map +1 -0
- package/dist/cjs/cache/adapters/in-memory/index.min.cjs +4 -0
- package/dist/cjs/cache/adapters/in-memory/index.min.cjs.map +1 -0
- package/dist/cjs/cache/adapters/redis/index.cjs +844 -0
- package/dist/cjs/cache/adapters/redis/index.cjs.map +1 -0
- package/dist/cjs/cache/adapters/redis/index.min.cjs +4 -0
- package/dist/cjs/cache/adapters/redis/index.min.cjs.map +1 -0
- package/dist/cjs/cache/index.cjs +602 -4
- package/dist/cjs/cache/index.cjs.map +1 -1
- package/dist/cjs/cache/index.min.cjs +3 -1
- package/dist/cjs/cache/index.min.cjs.map +1 -1
- package/dist/cjs/dbs/adapters/mongodb/index.cjs +1314 -0
- package/dist/cjs/dbs/adapters/mongodb/index.cjs.map +1 -0
- package/dist/cjs/dbs/adapters/mongodb/index.min.cjs +4 -0
- package/dist/cjs/dbs/adapters/mongodb/index.min.cjs.map +1 -0
- package/dist/cjs/dbs/index.cjs +965 -6
- package/dist/cjs/dbs/index.cjs.map +1 -1
- package/dist/cjs/dbs/index.min.cjs +3 -1
- package/dist/cjs/dbs/index.min.cjs.map +1 -1
- package/dist/cjs/errors/index.cjs +127 -8
- package/dist/cjs/errors/index.cjs.map +1 -1
- package/dist/cjs/errors/index.min.cjs +1 -1
- package/dist/cjs/errors/index.min.cjs.map +1 -1
- package/dist/cjs/events/adapters/kafka/index.cjs +845 -0
- package/dist/cjs/events/adapters/kafka/index.cjs.map +1 -0
- package/dist/cjs/events/adapters/kafka/index.min.cjs +4 -0
- package/dist/cjs/events/adapters/kafka/index.min.cjs.map +1 -0
- package/dist/cjs/events/adapters/rabbitmq/index.cjs +836 -0
- package/dist/cjs/events/adapters/rabbitmq/index.cjs.map +1 -0
- package/dist/cjs/events/adapters/rabbitmq/index.min.cjs +4 -0
- package/dist/cjs/events/adapters/rabbitmq/index.min.cjs.map +1 -0
- package/dist/cjs/events/index.cjs +33 -4
- package/dist/cjs/events/index.cjs.map +1 -1
- package/dist/cjs/events/index.min.cjs +1 -1
- package/dist/cjs/events/index.min.cjs.map +1 -1
- package/dist/cjs/index.cjs +588 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.min.cjs +3 -1
- package/dist/cjs/index.min.cjs.map +1 -1
- package/dist/cjs/instance/index.cjs +514 -64
- package/dist/cjs/instance/index.cjs.map +1 -1
- package/dist/cjs/instance/index.min.cjs +3 -3
- package/dist/cjs/instance/index.min.cjs.map +1 -1
- package/dist/cjs/jobs/adapters/redis/index.cjs +979 -0
- package/dist/cjs/jobs/adapters/redis/index.cjs.map +1 -0
- package/dist/cjs/jobs/adapters/redis/index.min.cjs +4 -0
- package/dist/cjs/jobs/adapters/redis/index.min.cjs.map +1 -0
- package/dist/cjs/jobs/index.cjs +55 -2
- package/dist/cjs/jobs/index.cjs.map +1 -1
- package/dist/cjs/jobs/index.min.cjs +1 -1
- package/dist/cjs/jobs/index.min.cjs.map +1 -1
- package/dist/cjs/orm/adapters/in-memory/index.cjs +2551 -0
- package/dist/cjs/orm/adapters/in-memory/index.cjs.map +1 -0
- package/dist/cjs/orm/adapters/in-memory/index.min.cjs +4 -0
- package/dist/cjs/orm/adapters/in-memory/index.min.cjs.map +1 -0
- package/dist/cjs/orm/adapters/json/index.cjs +3518 -0
- package/dist/cjs/orm/adapters/json/index.cjs.map +1 -0
- package/dist/cjs/orm/adapters/json/index.min.cjs +4 -0
- package/dist/cjs/orm/adapters/json/index.min.cjs.map +1 -0
- package/dist/cjs/orm/adapters/mongodb/index.cjs +3299 -0
- package/dist/cjs/orm/adapters/mongodb/index.cjs.map +1 -0
- package/dist/cjs/orm/adapters/mongodb/index.min.cjs +4 -0
- package/dist/cjs/orm/adapters/mongodb/index.min.cjs.map +1 -0
- package/dist/cjs/orm/adapters/postgresql/index.cjs +4114 -0
- package/dist/cjs/orm/adapters/postgresql/index.cjs.map +1 -0
- package/dist/cjs/orm/adapters/postgresql/index.min.cjs +49 -0
- package/dist/cjs/orm/adapters/postgresql/index.min.cjs.map +1 -0
- package/dist/cjs/orm/index.cjs +9216 -0
- package/dist/cjs/orm/index.cjs.map +1 -0
- package/dist/cjs/orm/index.min.cjs +4 -0
- package/dist/cjs/orm/index.min.cjs.map +1 -0
- package/dist/cjs/server/adapters/express/index.cjs +1705 -0
- package/dist/cjs/server/adapters/express/index.cjs.map +1 -0
- package/dist/cjs/server/adapters/express/index.min.cjs +32 -0
- package/dist/cjs/server/adapters/express/index.min.cjs.map +1 -0
- package/dist/cjs/server/adapters/fastify/index.cjs +1709 -0
- package/dist/cjs/server/adapters/fastify/index.cjs.map +1 -0
- package/dist/cjs/server/adapters/fastify/index.min.cjs +32 -0
- package/dist/cjs/server/adapters/fastify/index.min.cjs.map +1 -0
- package/dist/cjs/server/index.cjs +1600 -9
- package/dist/cjs/server/index.cjs.map +1 -1
- package/dist/cjs/server/index.min.cjs +31 -1
- package/dist/cjs/server/index.min.cjs.map +1 -1
- package/dist/cjs/types/index.cjs +18 -1
- package/dist/cjs/types/index.cjs.map +1 -1
- package/dist/cjs/types/index.min.cjs +1 -1
- package/dist/cjs/types/index.min.cjs.map +1 -1
- package/dist/cjs/utilities/index.cjs +862 -7
- package/dist/cjs/utilities/index.cjs.map +1 -1
- package/dist/cjs/utilities/index.min.cjs +3 -1
- package/dist/cjs/utilities/index.min.cjs.map +1 -1
- package/dist/cjs/validations/index.cjs +679 -10
- package/dist/cjs/validations/index.cjs.map +1 -1
- package/dist/cjs/validations/index.min.cjs +3 -1
- package/dist/cjs/validations/index.min.cjs.map +1 -1
- package/dist/esm/cache/adapters/in-memory/index.min.mjs +2 -0
- package/dist/esm/cache/adapters/in-memory/index.min.mjs.map +1 -0
- package/dist/esm/cache/adapters/in-memory/index.mjs +93 -0
- package/dist/esm/cache/adapters/in-memory/index.mjs.map +1 -0
- package/dist/esm/cache/adapters/redis/index.min.mjs +2 -0
- package/dist/esm/cache/adapters/redis/index.mjs +13 -0
- package/dist/esm/cache/index.min.mjs +1 -1
- package/dist/esm/cache/index.min.mjs.map +1 -1
- package/dist/esm/cache/index.mjs +9 -4
- package/dist/esm/cache/index.mjs.map +1 -1
- package/dist/esm/chunk-2TCFNKRZ.mjs +1824 -0
- package/dist/esm/chunk-2TCFNKRZ.mjs.map +1 -0
- package/dist/esm/chunk-6DW4GW3R.min.mjs +2 -0
- package/dist/esm/chunk-6DW4GW3R.min.mjs.map +1 -0
- package/dist/esm/chunk-6SB5M4XH.mjs +795 -0
- package/dist/esm/chunk-6SB5M4XH.mjs.map +1 -0
- package/dist/esm/chunk-AQY7QVYI.min.mjs +2 -0
- package/dist/esm/chunk-AUKXL4EA.min.mjs +2 -0
- package/dist/esm/chunk-AUKXL4EA.min.mjs.map +1 -0
- package/dist/esm/chunk-BJNIUCPT.min.mjs +2 -0
- package/dist/esm/chunk-BJNIUCPT.min.mjs.map +1 -0
- package/dist/esm/chunk-DKPZJIIR.mjs +29 -0
- package/dist/esm/chunk-DKPZJIIR.mjs.map +1 -0
- package/dist/esm/chunk-DSUJ5FUL.min.mjs +2 -0
- package/dist/esm/chunk-DSUJ5FUL.min.mjs.map +1 -0
- package/dist/esm/chunk-ECBJ3NT3.min.mjs +2 -0
- package/dist/esm/chunk-ECBJ3NT3.min.mjs.map +1 -0
- package/dist/{types/events/types/kafka.js → esm/chunk-I4BB436E.mjs} +60 -37
- package/dist/esm/chunk-I4BB436E.mjs.map +1 -0
- package/dist/esm/chunk-IEBC3OWN.mjs +22 -0
- package/dist/esm/chunk-IEBC3OWN.mjs.map +1 -0
- package/dist/esm/chunk-J5LGTIGS.mjs +10 -0
- package/dist/esm/chunk-KW3PBDFD.mjs +53 -0
- package/dist/esm/chunk-KW3PBDFD.mjs.map +1 -0
- package/dist/esm/chunk-LTDVZJYJ.min.mjs +32 -0
- package/dist/esm/chunk-LTDVZJYJ.min.mjs.map +1 -0
- package/dist/esm/chunk-MYGAF2AC.min.mjs +2 -0
- package/dist/esm/chunk-MYGAF2AC.min.mjs.map +1 -0
- package/dist/esm/chunk-OXI6IKAM.min.mjs +2 -0
- package/dist/esm/chunk-OXI6IKAM.min.mjs.map +1 -0
- package/dist/esm/chunk-RIRBNBTC.mjs +113 -0
- package/dist/esm/chunk-RIRBNBTC.mjs.map +1 -0
- package/dist/esm/chunk-TWKHVLLT.mjs +1280 -0
- package/dist/esm/chunk-TWKHVLLT.mjs.map +1 -0
- package/dist/esm/chunk-VCCS7CAI.mjs +8 -0
- package/dist/esm/chunk-VCCS7CAI.mjs.map +1 -0
- package/dist/esm/chunk-WHIWTP2Z.min.mjs +2 -0
- package/dist/esm/chunk-WHIWTP2Z.min.mjs.map +1 -0
- package/dist/esm/chunk-YTHRK2PO.mjs +126 -0
- package/dist/esm/chunk-YTHRK2PO.mjs.map +1 -0
- package/dist/esm/chunk-YTM6ZURZ.min.mjs +2 -0
- package/dist/esm/chunk-YTM6ZURZ.min.mjs.map +1 -0
- package/dist/esm/dbs/adapters/mongodb/index.min.mjs +2 -0
- package/dist/esm/dbs/adapters/mongodb/index.min.mjs.map +1 -0
- package/dist/esm/dbs/adapters/mongodb/index.mjs +419 -0
- package/dist/esm/dbs/adapters/mongodb/index.mjs.map +1 -0
- package/dist/esm/dbs/index.min.mjs +1 -1
- package/dist/esm/dbs/index.min.mjs.map +1 -1
- package/dist/esm/dbs/index.mjs +22 -6
- package/dist/esm/dbs/index.mjs.map +1 -1
- package/dist/esm/errors/index.min.mjs +1 -1
- package/dist/esm/errors/index.min.mjs.map +1 -1
- package/dist/esm/errors/index.mjs +22 -8
- package/dist/esm/errors/index.mjs.map +1 -1
- package/dist/esm/events/adapters/kafka/index.min.mjs +2 -0
- package/dist/esm/events/adapters/kafka/index.min.mjs.map +1 -0
- package/dist/esm/events/adapters/kafka/index.mjs +12 -0
- package/dist/esm/events/adapters/kafka/index.mjs.map +1 -0
- package/dist/esm/events/adapters/rabbitmq/index.min.mjs +2 -0
- package/dist/esm/events/adapters/rabbitmq/index.min.mjs.map +1 -0
- package/dist/esm/events/adapters/rabbitmq/index.mjs +92 -0
- package/dist/esm/events/adapters/rabbitmq/index.mjs.map +1 -0
- package/dist/esm/events/index.min.mjs +1 -1
- package/dist/esm/events/index.min.mjs.map +1 -1
- package/dist/esm/events/index.mjs +7 -4
- package/dist/esm/events/index.mjs.map +1 -1
- package/dist/esm/index.min.mjs +1 -1
- package/dist/esm/index.min.mjs.map +1 -1
- package/dist/esm/index.mjs +8 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/instance/index.min.mjs +1 -3
- package/dist/esm/instance/index.min.mjs.map +1 -1
- package/dist/esm/instance/index.mjs +4 -132
- package/dist/esm/instance/index.mjs.map +1 -1
- package/dist/esm/introspection-GP3G26B6.min.mjs +2 -0
- package/dist/esm/introspection-GP3G26B6.min.mjs.map +1 -0
- package/dist/esm/introspection-Y7EXSYPD.mjs +10 -0
- package/dist/esm/introspection-Y7EXSYPD.mjs.map +1 -0
- package/dist/esm/jobs/adapters/redis/index.min.mjs +2 -0
- package/dist/esm/jobs/adapters/redis/index.min.mjs.map +1 -0
- package/dist/esm/jobs/{types/redis.mjs → adapters/redis/index.mjs} +71 -56
- package/dist/esm/jobs/adapters/redis/index.mjs.map +1 -0
- package/dist/esm/jobs/index.min.mjs +1 -1
- package/dist/esm/jobs/index.min.mjs.map +1 -1
- package/dist/esm/jobs/index.mjs +9 -2
- package/dist/esm/jobs/index.mjs.map +1 -1
- package/dist/esm/orm/adapters/in-memory/index.min.mjs +2 -0
- package/dist/esm/orm/adapters/in-memory/index.min.mjs.map +1 -0
- package/dist/esm/orm/adapters/in-memory/index.mjs +11 -0
- package/dist/esm/orm/adapters/in-memory/index.mjs.map +1 -0
- package/dist/esm/orm/adapters/json/index.min.mjs +2 -0
- package/dist/esm/orm/adapters/json/index.min.mjs.map +1 -0
- package/dist/esm/orm/adapters/json/index.mjs +980 -0
- package/dist/esm/orm/adapters/json/index.mjs.map +1 -0
- package/dist/esm/orm/adapters/mongodb/index.min.mjs +2 -0
- package/dist/esm/orm/adapters/mongodb/index.min.mjs.map +1 -0
- package/dist/esm/orm/adapters/mongodb/index.mjs +1539 -0
- package/dist/esm/orm/adapters/mongodb/index.mjs.map +1 -0
- package/dist/esm/orm/adapters/postgresql/index.min.mjs +47 -0
- package/dist/esm/orm/adapters/postgresql/index.min.mjs.map +1 -0
- package/dist/esm/orm/adapters/postgresql/index.mjs +2070 -0
- package/dist/esm/orm/adapters/postgresql/index.mjs.map +1 -0
- package/dist/esm/orm/index.min.mjs +2 -0
- package/dist/esm/orm/index.min.mjs.map +1 -0
- package/dist/esm/orm/index.mjs +7326 -0
- package/dist/esm/orm/index.mjs.map +1 -0
- package/dist/esm/server/adapters/express/index.min.mjs +2 -0
- package/dist/esm/server/adapters/express/index.min.mjs.map +1 -0
- package/dist/esm/server/adapters/express/index.mjs +126 -0
- package/dist/esm/server/adapters/express/index.mjs.map +1 -0
- package/dist/esm/server/adapters/fastify/index.min.mjs +2 -0
- package/dist/esm/server/adapters/fastify/index.min.mjs.map +1 -0
- package/dist/{types/server/impls/fastify.js → esm/server/adapters/fastify/index.mjs} +56 -45
- package/dist/esm/server/adapters/fastify/index.mjs.map +1 -0
- package/dist/esm/server/index.min.mjs +1 -1
- package/dist/esm/server/index.min.mjs.map +1 -1
- package/dist/esm/server/index.mjs +38 -9
- package/dist/esm/server/index.mjs.map +1 -1
- package/dist/esm/types/index.min.mjs +0 -1
- package/dist/esm/types/index.min.mjs.map +1 -1
- package/dist/esm/types/index.mjs +0 -1
- package/dist/esm/types/index.mjs.map +1 -1
- package/dist/esm/utilities/index.min.mjs +1 -1
- package/dist/esm/utilities/index.min.mjs.map +1 -1
- package/dist/esm/utilities/index.mjs +22 -9
- package/dist/esm/utilities/index.mjs.map +1 -1
- package/dist/esm/validations/index.min.mjs +1 -1
- package/dist/esm/validations/index.min.mjs.map +1 -1
- package/dist/esm/validations/index.mjs +8 -18
- package/dist/esm/validations/index.mjs.map +1 -1
- package/dist/types/adapter-Coap9ISX.d.ts +1435 -0
- package/dist/types/{fastify-DLPUK3vD.d.ts → base-3PpBAx1K.d.ts} +58 -143
- package/dist/types/cache/adapters/in-memory/index.d.ts +21 -0
- package/dist/types/cache/adapters/in-memory/index.js +92 -0
- package/dist/types/cache/adapters/redis/index.d.ts +73 -0
- package/dist/types/cache/adapters/redis/index.js +12 -0
- package/dist/types/cache/index.d.ts +2 -42
- package/dist/types/cache/index.js +9 -4
- package/dist/types/chunk-32DMHN3G.js +1823 -0
- package/dist/types/chunk-4LRJJSGG.js +112 -0
- package/dist/types/chunk-A2MRYMCA.js +1279 -0
- package/dist/types/chunk-H6JBLKX5.js +794 -0
- package/dist/{esm/events/types/kafka.mjs → types/chunk-IAHTILKJ.js} +59 -38
- package/dist/types/chunk-JZ2JTENY.js +125 -0
- package/dist/types/chunk-KZKFYO4V.js +7 -0
- package/dist/types/chunk-LN3A6R4Y.js +28 -0
- package/dist/types/chunk-LWUMIHL4.js +21 -0
- package/dist/types/chunk-MLKGABMK.js +9 -0
- package/dist/types/chunk-XOU2A2Y6.js +52 -0
- package/dist/types/{core-BrkNSwvc.d.ts → core-tNlIMH9Y.d.ts} +48 -38
- package/dist/types/dbs/adapters/mongodb/index.d.ts +43 -0
- package/dist/types/dbs/adapters/mongodb/index.js +418 -0
- package/dist/types/dbs/index.d.ts +14 -12
- package/dist/types/dbs/index.js +22 -6
- package/dist/types/equippedError-Cmo60Kn-.d.ts +8 -0
- package/dist/types/errors/index.d.ts +3 -3
- package/dist/types/errors/index.js +22 -8
- package/dist/types/events/adapters/kafka/index.d.ts +83 -0
- package/dist/types/events/adapters/kafka/index.js +11 -0
- package/dist/types/events/adapters/rabbitmq/index.d.ts +41 -0
- package/dist/types/events/adapters/rabbitmq/index.js +91 -0
- package/dist/types/events/index.d.ts +11 -11
- package/dist/types/events/index.js +7 -4
- package/dist/types/index.d.ts +2 -25
- package/dist/types/index.js +8 -1
- package/dist/types/instance/index.d.ts +12 -179
- package/dist/types/instance/index.js +4 -132
- package/dist/types/introspection-ZQCAW254.js +9 -0
- package/dist/types/jobs/adapters/redis/index.d.ts +93 -0
- package/dist/types/jobs/{types/redis.js → adapters/redis/index.js} +70 -55
- package/dist/types/jobs/index.d.ts +19 -35
- package/dist/types/jobs/index.js +9 -2
- package/dist/types/orm/adapters/in-memory/index.d.ts +92 -0
- package/dist/types/orm/adapters/in-memory/index.js +10 -0
- package/dist/types/orm/adapters/json/index.d.ts +72 -0
- package/dist/types/orm/adapters/json/index.js +979 -0
- package/dist/types/orm/adapters/mongodb/index.d.ts +74 -0
- package/dist/types/orm/adapters/mongodb/index.js +1538 -0
- package/dist/types/orm/adapters/postgresql/index.d.ts +112 -0
- package/dist/types/orm/adapters/postgresql/index.js +2069 -0
- package/dist/types/orm/index.d.ts +160 -0
- package/dist/types/orm/index.js +7325 -0
- package/dist/types/{requestError-C2PNWUrt.d.ts → requestError-DdaL8hc3.d.ts} +2 -8
- package/dist/types/server/adapters/express/index.d.ts +194 -0
- package/dist/types/server/adapters/express/index.js +125 -0
- package/dist/types/server/adapters/fastify/index.d.ts +219 -0
- package/dist/{esm/server/impls/fastify.mjs → types/server/adapters/fastify/index.js} +55 -46
- package/dist/types/server/index.d.ts +10 -11
- package/dist/types/server/index.js +38 -9
- package/dist/types/types/index.js +0 -1
- package/dist/types/utilities/index.d.ts +22 -9
- package/dist/types/utilities/index.js +22 -9
- package/dist/types/{validationError-Bw8OYv5s.d.ts → validationError-oigtHqBi.d.ts} +1 -1
- package/dist/types/validations/index.d.ts +3 -2
- package/dist/types/validations/index.js +8 -18
- package/package.json +154 -15
- package/dist/cjs/audit/events.cjs +0 -101
- package/dist/cjs/audit/events.cjs.map +0 -1
- package/dist/cjs/audit/events.min.cjs +0 -2
- package/dist/cjs/audit/events.min.cjs.map +0 -1
- package/dist/cjs/audit/index.cjs +0 -2
- package/dist/cjs/audit/index.cjs.map +0 -1
- package/dist/cjs/audit/index.min.cjs +0 -2
- package/dist/cjs/audit/index.min.cjs.map +0 -1
- package/dist/cjs/cache/base.cjs +0 -6
- package/dist/cjs/cache/base.cjs.map +0 -1
- package/dist/cjs/cache/base.min.cjs +0 -2
- package/dist/cjs/cache/base.min.cjs.map +0 -1
- package/dist/cjs/cache/pipes.cjs +0 -16
- package/dist/cjs/cache/pipes.cjs.map +0 -1
- package/dist/cjs/cache/pipes.min.cjs +0 -2
- package/dist/cjs/cache/pipes.min.cjs.map +0 -1
- package/dist/cjs/cache/types/in-memory.cjs +0 -47
- package/dist/cjs/cache/types/in-memory.cjs.map +0 -1
- package/dist/cjs/cache/types/in-memory.min.cjs +0 -2
- package/dist/cjs/cache/types/in-memory.min.cjs.map +0 -1
- package/dist/cjs/cache/types/redis.cjs +0 -55
- package/dist/cjs/cache/types/redis.cjs.map +0 -1
- package/dist/cjs/cache/types/redis.min.cjs +0 -2
- package/dist/cjs/cache/types/redis.min.cjs.map +0 -1
- package/dist/cjs/dbs/base/changes.cjs +0 -36
- package/dist/cjs/dbs/base/changes.cjs.map +0 -1
- package/dist/cjs/dbs/base/changes.min.cjs +0 -2
- package/dist/cjs/dbs/base/changes.min.cjs.map +0 -1
- package/dist/cjs/dbs/base/core.cjs +0 -1
- package/dist/cjs/dbs/base/core.cjs.map +0 -1
- package/dist/cjs/dbs/base/core.min.cjs +0 -1
- package/dist/cjs/dbs/base/core.min.cjs.map +0 -1
- package/dist/cjs/dbs/base/db.cjs +0 -14
- package/dist/cjs/dbs/base/db.cjs.map +0 -1
- package/dist/cjs/dbs/base/db.min.cjs +0 -2
- package/dist/cjs/dbs/base/db.min.cjs.map +0 -1
- package/dist/cjs/dbs/base/types.cjs +0 -2
- package/dist/cjs/dbs/base/types.cjs.map +0 -1
- package/dist/cjs/dbs/base/types.min.cjs +0 -2
- package/dist/cjs/dbs/base/types.min.cjs.map +0 -1
- package/dist/cjs/dbs/mongo/changes.cjs +0 -81
- package/dist/cjs/dbs/mongo/changes.cjs.map +0 -1
- package/dist/cjs/dbs/mongo/changes.min.cjs +0 -2
- package/dist/cjs/dbs/mongo/changes.min.cjs.map +0 -1
- package/dist/cjs/dbs/mongo/db.cjs +0 -225
- package/dist/cjs/dbs/mongo/db.cjs.map +0 -1
- package/dist/cjs/dbs/mongo/db.min.cjs +0 -2
- package/dist/cjs/dbs/mongo/db.min.cjs.map +0 -1
- package/dist/cjs/dbs/mongo/query.cjs +0 -66
- package/dist/cjs/dbs/mongo/query.cjs.map +0 -1
- package/dist/cjs/dbs/mongo/query.min.cjs +0 -2
- package/dist/cjs/dbs/mongo/query.min.cjs.map +0 -1
- package/dist/cjs/dbs/pipes.cjs +0 -104
- package/dist/cjs/dbs/pipes.cjs.map +0 -1
- package/dist/cjs/dbs/pipes.min.cjs +0 -2
- package/dist/cjs/dbs/pipes.min.cjs.map +0 -1
- package/dist/cjs/errors/equippedError.cjs +0 -12
- package/dist/cjs/errors/equippedError.cjs.map +0 -1
- package/dist/cjs/errors/equippedError.min.cjs +0 -2
- package/dist/cjs/errors/equippedError.min.cjs.map +0 -1
- package/dist/cjs/errors/requestError.cjs +0 -12
- package/dist/cjs/errors/requestError.cjs.map +0 -1
- package/dist/cjs/errors/requestError.min.cjs +0 -2
- package/dist/cjs/errors/requestError.min.cjs.map +0 -1
- package/dist/cjs/errors/types/badRequestError.cjs +0 -12
- package/dist/cjs/errors/types/badRequestError.cjs.map +0 -1
- package/dist/cjs/errors/types/badRequestError.min.cjs +0 -2
- package/dist/cjs/errors/types/badRequestError.min.cjs.map +0 -1
- package/dist/cjs/errors/types/notAuthenticatedError.cjs +0 -12
- package/dist/cjs/errors/types/notAuthenticatedError.cjs.map +0 -1
- package/dist/cjs/errors/types/notAuthenticatedError.min.cjs +0 -2
- package/dist/cjs/errors/types/notAuthenticatedError.min.cjs.map +0 -1
- package/dist/cjs/errors/types/notAuthorizedError.cjs +0 -12
- package/dist/cjs/errors/types/notAuthorizedError.cjs.map +0 -1
- package/dist/cjs/errors/types/notAuthorizedError.min.cjs +0 -2
- package/dist/cjs/errors/types/notAuthorizedError.min.cjs.map +0 -1
- package/dist/cjs/errors/types/notFoundError.cjs +0 -12
- package/dist/cjs/errors/types/notFoundError.cjs.map +0 -1
- package/dist/cjs/errors/types/notFoundError.min.cjs +0 -2
- package/dist/cjs/errors/types/notFoundError.min.cjs.map +0 -1
- package/dist/cjs/errors/types/tokenExpired.cjs +0 -12
- package/dist/cjs/errors/types/tokenExpired.cjs.map +0 -1
- package/dist/cjs/errors/types/tokenExpired.min.cjs +0 -2
- package/dist/cjs/errors/types/tokenExpired.min.cjs.map +0 -1
- package/dist/cjs/errors/types/validationError.cjs +0 -16
- package/dist/cjs/errors/types/validationError.cjs.map +0 -1
- package/dist/cjs/errors/types/validationError.min.cjs +0 -2
- package/dist/cjs/errors/types/validationError.min.cjs.map +0 -1
- package/dist/cjs/events/base.cjs +0 -6
- package/dist/cjs/events/base.cjs.map +0 -1
- package/dist/cjs/events/base.min.cjs +0 -2
- package/dist/cjs/events/base.min.cjs.map +0 -1
- package/dist/cjs/events/pipes.cjs +0 -28
- package/dist/cjs/events/pipes.cjs.map +0 -1
- package/dist/cjs/events/pipes.min.cjs +0 -2
- package/dist/cjs/events/pipes.min.cjs.map +0 -1
- package/dist/cjs/events/types/kafka.cjs +0 -80
- package/dist/cjs/events/types/kafka.cjs.map +0 -1
- package/dist/cjs/events/types/kafka.min.cjs +0 -2
- package/dist/cjs/events/types/kafka.min.cjs.map +0 -1
- package/dist/cjs/events/types/rabbitmq.cjs +0 -54
- package/dist/cjs/events/types/rabbitmq.cjs.map +0 -1
- package/dist/cjs/events/types/rabbitmq.min.cjs +0 -2
- package/dist/cjs/events/types/rabbitmq.min.cjs.map +0 -1
- package/dist/cjs/instance/hooks.cjs +0 -26
- package/dist/cjs/instance/hooks.cjs.map +0 -1
- package/dist/cjs/instance/hooks.min.cjs +0 -2
- package/dist/cjs/instance/hooks.min.cjs.map +0 -1
- package/dist/cjs/instance/settings.cjs +0 -57
- package/dist/cjs/instance/settings.cjs.map +0 -1
- package/dist/cjs/instance/settings.min.cjs +0 -2
- package/dist/cjs/instance/settings.min.cjs.map +0 -1
- package/dist/cjs/jobs/pipes.cjs +0 -13
- package/dist/cjs/jobs/pipes.cjs.map +0 -1
- package/dist/cjs/jobs/pipes.min.cjs +0 -2
- package/dist/cjs/jobs/pipes.min.cjs.map +0 -1
- package/dist/cjs/jobs/types/redis.cjs +0 -106
- package/dist/cjs/jobs/types/redis.cjs.map +0 -1
- package/dist/cjs/jobs/types/redis.min.cjs +0 -2
- package/dist/cjs/jobs/types/redis.min.cjs.map +0 -1
- package/dist/cjs/server/impls/base.cjs +0 -211
- package/dist/cjs/server/impls/base.cjs.map +0 -1
- package/dist/cjs/server/impls/base.min.cjs +0 -2
- package/dist/cjs/server/impls/base.min.cjs.map +0 -1
- package/dist/cjs/server/impls/express.cjs +0 -111
- package/dist/cjs/server/impls/express.cjs.map +0 -1
- package/dist/cjs/server/impls/express.min.cjs +0 -2
- package/dist/cjs/server/impls/express.min.cjs.map +0 -1
- package/dist/cjs/server/impls/fastify.cjs +0 -121
- package/dist/cjs/server/impls/fastify.cjs.map +0 -1
- package/dist/cjs/server/impls/fastify.min.cjs +0 -2
- package/dist/cjs/server/impls/fastify.min.cjs.map +0 -1
- package/dist/cjs/server/middlewares/index.cjs +0 -2
- package/dist/cjs/server/middlewares/index.cjs.map +0 -1
- package/dist/cjs/server/middlewares/index.min.cjs +0 -2
- package/dist/cjs/server/middlewares/index.min.cjs.map +0 -1
- package/dist/cjs/server/middlewares/requireAuthUser.cjs +0 -22
- package/dist/cjs/server/middlewares/requireAuthUser.cjs.map +0 -1
- package/dist/cjs/server/middlewares/requireAuthUser.min.cjs +0 -2
- package/dist/cjs/server/middlewares/requireAuthUser.min.cjs.map +0 -1
- package/dist/cjs/server/openapi.cjs +0 -191
- package/dist/cjs/server/openapi.cjs.map +0 -1
- package/dist/cjs/server/openapi.min.cjs +0 -30
- package/dist/cjs/server/openapi.min.cjs.map +0 -1
- package/dist/cjs/server/pipes.cjs +0 -67
- package/dist/cjs/server/pipes.cjs.map +0 -1
- package/dist/cjs/server/pipes.min.cjs +0 -2
- package/dist/cjs/server/pipes.min.cjs.map +0 -1
- package/dist/cjs/server/requests-auth-methods/apiKeys.cjs +0 -21
- package/dist/cjs/server/requests-auth-methods/apiKeys.cjs.map +0 -1
- package/dist/cjs/server/requests-auth-methods/apiKeys.min.cjs +0 -2
- package/dist/cjs/server/requests-auth-methods/apiKeys.min.cjs.map +0 -1
- package/dist/cjs/server/requests-auth-methods/base.cjs +0 -20
- package/dist/cjs/server/requests-auth-methods/base.cjs.map +0 -1
- package/dist/cjs/server/requests-auth-methods/base.min.cjs +0 -2
- package/dist/cjs/server/requests-auth-methods/base.min.cjs.map +0 -1
- package/dist/cjs/server/requests-auth-methods/index.cjs +0 -4
- package/dist/cjs/server/requests-auth-methods/index.cjs.map +0 -1
- package/dist/cjs/server/requests-auth-methods/index.min.cjs +0 -2
- package/dist/cjs/server/requests-auth-methods/index.min.cjs.map +0 -1
- package/dist/cjs/server/requests-auth-methods/jwt.cjs +0 -78
- package/dist/cjs/server/requests-auth-methods/jwt.cjs.map +0 -1
- package/dist/cjs/server/requests-auth-methods/jwt.min.cjs +0 -2
- package/dist/cjs/server/requests-auth-methods/jwt.min.cjs.map +0 -1
- package/dist/cjs/server/requests.cjs +0 -80
- package/dist/cjs/server/requests.cjs.map +0 -1
- package/dist/cjs/server/requests.min.cjs +0 -2
- package/dist/cjs/server/requests.min.cjs.map +0 -1
- package/dist/cjs/server/routes.cjs +0 -74
- package/dist/cjs/server/routes.cjs.map +0 -1
- package/dist/cjs/server/routes.min.cjs +0 -2
- package/dist/cjs/server/routes.min.cjs.map +0 -1
- package/dist/cjs/server/sockets.cjs +0 -126
- package/dist/cjs/server/sockets.cjs.map +0 -1
- package/dist/cjs/server/sockets.min.cjs +0 -2
- package/dist/cjs/server/sockets.min.cjs.map +0 -1
- package/dist/cjs/server/types.cjs +0 -34
- package/dist/cjs/server/types.cjs.map +0 -1
- package/dist/cjs/server/types.min.cjs +0 -2
- package/dist/cjs/server/types.min.cjs.map +0 -1
- package/dist/cjs/types/overrides.cjs +0 -1
- package/dist/cjs/types/overrides.cjs.map +0 -1
- package/dist/cjs/types/overrides.min.cjs +0 -1
- package/dist/cjs/types/overrides.min.cjs.map +0 -1
- package/dist/cjs/utilities/authProviders.cjs +0 -53
- package/dist/cjs/utilities/authProviders.cjs.map +0 -1
- package/dist/cjs/utilities/authProviders.min.cjs +0 -2
- package/dist/cjs/utilities/authProviders.min.cjs.map +0 -1
- package/dist/cjs/utilities/hash.cjs +0 -17
- package/dist/cjs/utilities/hash.cjs.map +0 -1
- package/dist/cjs/utilities/hash.min.cjs +0 -2
- package/dist/cjs/utilities/hash.min.cjs.map +0 -1
- package/dist/cjs/utilities/json.cjs +0 -16
- package/dist/cjs/utilities/json.cjs.map +0 -1
- package/dist/cjs/utilities/json.min.cjs +0 -2
- package/dist/cjs/utilities/json.min.cjs.map +0 -1
- package/dist/cjs/utilities/media.cjs +0 -13
- package/dist/cjs/utilities/media.cjs.map +0 -1
- package/dist/cjs/utilities/media.min.cjs +0 -2
- package/dist/cjs/utilities/media.min.cjs.map +0 -1
- package/dist/cjs/utilities/random.cjs +0 -12
- package/dist/cjs/utilities/random.cjs.map +0 -1
- package/dist/cjs/utilities/random.min.cjs +0 -2
- package/dist/cjs/utilities/random.min.cjs.map +0 -1
- package/dist/cjs/utilities/retry.cjs +0 -14
- package/dist/cjs/utilities/retry.cjs.map +0 -1
- package/dist/cjs/utilities/retry.min.cjs +0 -2
- package/dist/cjs/utilities/retry.min.cjs.map +0 -1
- package/dist/cjs/validations/valleyed.cjs +0 -43
- package/dist/cjs/validations/valleyed.cjs.map +0 -1
- package/dist/cjs/validations/valleyed.min.cjs +0 -2
- package/dist/cjs/validations/valleyed.min.cjs.map +0 -1
- package/dist/esm/audit/events.min.mjs +0 -2
- package/dist/esm/audit/events.min.mjs.map +0 -1
- package/dist/esm/audit/events.mjs +0 -101
- package/dist/esm/audit/events.mjs.map +0 -1
- package/dist/esm/audit/index.min.mjs +0 -2
- package/dist/esm/audit/index.min.mjs.map +0 -1
- package/dist/esm/audit/index.mjs +0 -2
- package/dist/esm/audit/index.mjs.map +0 -1
- package/dist/esm/cache/base.min.mjs +0 -2
- package/dist/esm/cache/base.min.mjs.map +0 -1
- package/dist/esm/cache/base.mjs +0 -6
- package/dist/esm/cache/base.mjs.map +0 -1
- package/dist/esm/cache/pipes.min.mjs +0 -2
- package/dist/esm/cache/pipes.min.mjs.map +0 -1
- package/dist/esm/cache/pipes.mjs +0 -16
- package/dist/esm/cache/pipes.mjs.map +0 -1
- package/dist/esm/cache/types/in-memory.min.mjs +0 -2
- package/dist/esm/cache/types/in-memory.min.mjs.map +0 -1
- package/dist/esm/cache/types/in-memory.mjs +0 -47
- package/dist/esm/cache/types/in-memory.mjs.map +0 -1
- package/dist/esm/cache/types/redis.min.mjs +0 -2
- package/dist/esm/cache/types/redis.min.mjs.map +0 -1
- package/dist/esm/cache/types/redis.mjs +0 -55
- package/dist/esm/cache/types/redis.mjs.map +0 -1
- package/dist/esm/dbs/base/changes.min.mjs +0 -2
- package/dist/esm/dbs/base/changes.min.mjs.map +0 -1
- package/dist/esm/dbs/base/changes.mjs +0 -36
- package/dist/esm/dbs/base/changes.mjs.map +0 -1
- package/dist/esm/dbs/base/core.min.mjs +0 -1
- package/dist/esm/dbs/base/core.mjs +0 -1
- package/dist/esm/dbs/base/db.min.mjs +0 -2
- package/dist/esm/dbs/base/db.min.mjs.map +0 -1
- package/dist/esm/dbs/base/db.mjs +0 -14
- package/dist/esm/dbs/base/db.mjs.map +0 -1
- package/dist/esm/dbs/base/types.min.mjs +0 -2
- package/dist/esm/dbs/base/types.min.mjs.map +0 -1
- package/dist/esm/dbs/base/types.mjs +0 -2
- package/dist/esm/dbs/base/types.mjs.map +0 -1
- package/dist/esm/dbs/mongo/changes.min.mjs +0 -2
- package/dist/esm/dbs/mongo/changes.min.mjs.map +0 -1
- package/dist/esm/dbs/mongo/changes.mjs +0 -81
- package/dist/esm/dbs/mongo/changes.mjs.map +0 -1
- package/dist/esm/dbs/mongo/db.min.mjs +0 -2
- package/dist/esm/dbs/mongo/db.min.mjs.map +0 -1
- package/dist/esm/dbs/mongo/db.mjs +0 -225
- package/dist/esm/dbs/mongo/db.mjs.map +0 -1
- package/dist/esm/dbs/mongo/query.min.mjs +0 -2
- package/dist/esm/dbs/mongo/query.min.mjs.map +0 -1
- package/dist/esm/dbs/mongo/query.mjs +0 -66
- package/dist/esm/dbs/mongo/query.mjs.map +0 -1
- package/dist/esm/dbs/pipes.min.mjs +0 -2
- package/dist/esm/dbs/pipes.min.mjs.map +0 -1
- package/dist/esm/dbs/pipes.mjs +0 -104
- package/dist/esm/dbs/pipes.mjs.map +0 -1
- package/dist/esm/errors/equippedError.min.mjs +0 -2
- package/dist/esm/errors/equippedError.min.mjs.map +0 -1
- package/dist/esm/errors/equippedError.mjs +0 -12
- package/dist/esm/errors/equippedError.mjs.map +0 -1
- package/dist/esm/errors/requestError.min.mjs +0 -2
- package/dist/esm/errors/requestError.min.mjs.map +0 -1
- package/dist/esm/errors/requestError.mjs +0 -12
- package/dist/esm/errors/requestError.mjs.map +0 -1
- package/dist/esm/errors/types/badRequestError.min.mjs +0 -2
- package/dist/esm/errors/types/badRequestError.min.mjs.map +0 -1
- package/dist/esm/errors/types/badRequestError.mjs +0 -12
- package/dist/esm/errors/types/badRequestError.mjs.map +0 -1
- package/dist/esm/errors/types/notAuthenticatedError.min.mjs +0 -2
- package/dist/esm/errors/types/notAuthenticatedError.min.mjs.map +0 -1
- package/dist/esm/errors/types/notAuthenticatedError.mjs +0 -12
- package/dist/esm/errors/types/notAuthenticatedError.mjs.map +0 -1
- package/dist/esm/errors/types/notAuthorizedError.min.mjs +0 -2
- package/dist/esm/errors/types/notAuthorizedError.min.mjs.map +0 -1
- package/dist/esm/errors/types/notAuthorizedError.mjs +0 -12
- package/dist/esm/errors/types/notAuthorizedError.mjs.map +0 -1
- package/dist/esm/errors/types/notFoundError.min.mjs +0 -2
- package/dist/esm/errors/types/notFoundError.min.mjs.map +0 -1
- package/dist/esm/errors/types/notFoundError.mjs +0 -12
- package/dist/esm/errors/types/notFoundError.mjs.map +0 -1
- package/dist/esm/errors/types/tokenExpired.min.mjs +0 -2
- package/dist/esm/errors/types/tokenExpired.min.mjs.map +0 -1
- package/dist/esm/errors/types/tokenExpired.mjs +0 -12
- package/dist/esm/errors/types/tokenExpired.mjs.map +0 -1
- package/dist/esm/errors/types/validationError.min.mjs +0 -2
- package/dist/esm/errors/types/validationError.min.mjs.map +0 -1
- package/dist/esm/errors/types/validationError.mjs +0 -16
- package/dist/esm/errors/types/validationError.mjs.map +0 -1
- package/dist/esm/events/base.min.mjs +0 -2
- package/dist/esm/events/base.min.mjs.map +0 -1
- package/dist/esm/events/base.mjs +0 -6
- package/dist/esm/events/base.mjs.map +0 -1
- package/dist/esm/events/pipes.min.mjs +0 -2
- package/dist/esm/events/pipes.min.mjs.map +0 -1
- package/dist/esm/events/pipes.mjs +0 -28
- package/dist/esm/events/pipes.mjs.map +0 -1
- package/dist/esm/events/types/kafka.min.mjs +0 -2
- package/dist/esm/events/types/kafka.min.mjs.map +0 -1
- package/dist/esm/events/types/kafka.mjs.map +0 -1
- package/dist/esm/events/types/rabbitmq.min.mjs +0 -2
- package/dist/esm/events/types/rabbitmq.min.mjs.map +0 -1
- package/dist/esm/events/types/rabbitmq.mjs +0 -54
- package/dist/esm/events/types/rabbitmq.mjs.map +0 -1
- package/dist/esm/instance/hooks.min.mjs +0 -2
- package/dist/esm/instance/hooks.min.mjs.map +0 -1
- package/dist/esm/instance/hooks.mjs +0 -26
- package/dist/esm/instance/hooks.mjs.map +0 -1
- package/dist/esm/instance/settings.min.mjs +0 -2
- package/dist/esm/instance/settings.min.mjs.map +0 -1
- package/dist/esm/instance/settings.mjs +0 -57
- package/dist/esm/instance/settings.mjs.map +0 -1
- package/dist/esm/jobs/pipes.min.mjs +0 -2
- package/dist/esm/jobs/pipes.min.mjs.map +0 -1
- package/dist/esm/jobs/pipes.mjs +0 -13
- package/dist/esm/jobs/pipes.mjs.map +0 -1
- package/dist/esm/jobs/types/redis.min.mjs +0 -2
- package/dist/esm/jobs/types/redis.min.mjs.map +0 -1
- package/dist/esm/jobs/types/redis.mjs.map +0 -1
- package/dist/esm/server/impls/base.min.mjs +0 -2
- package/dist/esm/server/impls/base.min.mjs.map +0 -1
- package/dist/esm/server/impls/base.mjs +0 -211
- package/dist/esm/server/impls/base.mjs.map +0 -1
- package/dist/esm/server/impls/express.min.mjs +0 -2
- package/dist/esm/server/impls/express.min.mjs.map +0 -1
- package/dist/esm/server/impls/express.mjs +0 -111
- package/dist/esm/server/impls/express.mjs.map +0 -1
- package/dist/esm/server/impls/fastify.min.mjs +0 -2
- package/dist/esm/server/impls/fastify.min.mjs.map +0 -1
- package/dist/esm/server/impls/fastify.mjs.map +0 -1
- package/dist/esm/server/middlewares/index.min.mjs +0 -2
- package/dist/esm/server/middlewares/index.min.mjs.map +0 -1
- package/dist/esm/server/middlewares/index.mjs +0 -2
- package/dist/esm/server/middlewares/index.mjs.map +0 -1
- package/dist/esm/server/middlewares/requireAuthUser.min.mjs +0 -2
- package/dist/esm/server/middlewares/requireAuthUser.min.mjs.map +0 -1
- package/dist/esm/server/middlewares/requireAuthUser.mjs +0 -22
- package/dist/esm/server/middlewares/requireAuthUser.mjs.map +0 -1
- package/dist/esm/server/openapi.min.mjs +0 -30
- package/dist/esm/server/openapi.min.mjs.map +0 -1
- package/dist/esm/server/openapi.mjs +0 -191
- package/dist/esm/server/openapi.mjs.map +0 -1
- package/dist/esm/server/pipes.min.mjs +0 -2
- package/dist/esm/server/pipes.min.mjs.map +0 -1
- package/dist/esm/server/pipes.mjs +0 -67
- package/dist/esm/server/pipes.mjs.map +0 -1
- package/dist/esm/server/requests-auth-methods/apiKeys.min.mjs +0 -2
- package/dist/esm/server/requests-auth-methods/apiKeys.min.mjs.map +0 -1
- package/dist/esm/server/requests-auth-methods/apiKeys.mjs +0 -21
- package/dist/esm/server/requests-auth-methods/apiKeys.mjs.map +0 -1
- package/dist/esm/server/requests-auth-methods/base.min.mjs +0 -2
- package/dist/esm/server/requests-auth-methods/base.min.mjs.map +0 -1
- package/dist/esm/server/requests-auth-methods/base.mjs +0 -20
- package/dist/esm/server/requests-auth-methods/base.mjs.map +0 -1
- package/dist/esm/server/requests-auth-methods/index.min.mjs +0 -2
- package/dist/esm/server/requests-auth-methods/index.min.mjs.map +0 -1
- package/dist/esm/server/requests-auth-methods/index.mjs +0 -4
- package/dist/esm/server/requests-auth-methods/index.mjs.map +0 -1
- package/dist/esm/server/requests-auth-methods/jwt.min.mjs +0 -2
- package/dist/esm/server/requests-auth-methods/jwt.min.mjs.map +0 -1
- package/dist/esm/server/requests-auth-methods/jwt.mjs +0 -78
- package/dist/esm/server/requests-auth-methods/jwt.mjs.map +0 -1
- package/dist/esm/server/requests.min.mjs +0 -2
- package/dist/esm/server/requests.min.mjs.map +0 -1
- package/dist/esm/server/requests.mjs +0 -80
- package/dist/esm/server/requests.mjs.map +0 -1
- package/dist/esm/server/routes.min.mjs +0 -2
- package/dist/esm/server/routes.min.mjs.map +0 -1
- package/dist/esm/server/routes.mjs +0 -74
- package/dist/esm/server/routes.mjs.map +0 -1
- package/dist/esm/server/sockets.min.mjs +0 -2
- package/dist/esm/server/sockets.min.mjs.map +0 -1
- package/dist/esm/server/sockets.mjs +0 -126
- package/dist/esm/server/sockets.mjs.map +0 -1
- package/dist/esm/server/types.min.mjs +0 -2
- package/dist/esm/server/types.min.mjs.map +0 -1
- package/dist/esm/server/types.mjs +0 -34
- package/dist/esm/server/types.mjs.map +0 -1
- package/dist/esm/types/overrides.min.mjs +0 -1
- package/dist/esm/types/overrides.mjs +0 -1
- package/dist/esm/utilities/authProviders.min.mjs +0 -2
- package/dist/esm/utilities/authProviders.min.mjs.map +0 -1
- package/dist/esm/utilities/authProviders.mjs +0 -53
- package/dist/esm/utilities/authProviders.mjs.map +0 -1
- package/dist/esm/utilities/hash.min.mjs +0 -2
- package/dist/esm/utilities/hash.min.mjs.map +0 -1
- package/dist/esm/utilities/hash.mjs +0 -17
- package/dist/esm/utilities/hash.mjs.map +0 -1
- package/dist/esm/utilities/json.min.mjs +0 -2
- package/dist/esm/utilities/json.min.mjs.map +0 -1
- package/dist/esm/utilities/json.mjs +0 -16
- package/dist/esm/utilities/json.mjs.map +0 -1
- package/dist/esm/utilities/media.min.mjs +0 -2
- package/dist/esm/utilities/media.min.mjs.map +0 -1
- package/dist/esm/utilities/media.mjs +0 -13
- package/dist/esm/utilities/media.mjs.map +0 -1
- package/dist/esm/utilities/random.min.mjs +0 -2
- package/dist/esm/utilities/random.min.mjs.map +0 -1
- package/dist/esm/utilities/random.mjs +0 -12
- package/dist/esm/utilities/random.mjs.map +0 -1
- package/dist/esm/utilities/retry.min.mjs +0 -2
- package/dist/esm/utilities/retry.min.mjs.map +0 -1
- package/dist/esm/utilities/retry.mjs +0 -14
- package/dist/esm/utilities/retry.mjs.map +0 -1
- package/dist/esm/validations/valleyed.min.mjs +0 -2
- package/dist/esm/validations/valleyed.min.mjs.map +0 -1
- package/dist/esm/validations/valleyed.mjs +0 -43
- package/dist/esm/validations/valleyed.mjs.map +0 -1
- package/dist/types/audit/events.js +0 -100
- package/dist/types/audit/index.d.ts +0 -44
- package/dist/types/audit/index.js +0 -1
- package/dist/types/cache/base.js +0 -5
- package/dist/types/cache/pipes.js +0 -15
- package/dist/types/cache/types/in-memory.js +0 -46
- package/dist/types/cache/types/redis.js +0 -54
- package/dist/types/db-C8YY1yTO.d.ts +0 -14
- package/dist/types/db-Dj1SGto0.d.ts +0 -24
- package/dist/types/dbs/base/changes.js +0 -35
- package/dist/types/dbs/base/core.js +0 -0
- package/dist/types/dbs/base/db.js +0 -13
- package/dist/types/dbs/base/types.js +0 -1
- package/dist/types/dbs/mongo/changes.js +0 -80
- package/dist/types/dbs/mongo/db.js +0 -224
- package/dist/types/dbs/mongo/query.js +0 -65
- package/dist/types/dbs/pipes.js +0 -103
- package/dist/types/errors/equippedError.js +0 -11
- package/dist/types/errors/requestError.js +0 -11
- package/dist/types/errors/types/badRequestError.js +0 -11
- package/dist/types/errors/types/notAuthenticatedError.js +0 -11
- package/dist/types/errors/types/notAuthorizedError.js +0 -11
- package/dist/types/errors/types/notFoundError.js +0 -11
- package/dist/types/errors/types/tokenExpired.js +0 -11
- package/dist/types/errors/types/validationError.js +0 -15
- package/dist/types/events/base.js +0 -5
- package/dist/types/events/pipes.js +0 -27
- package/dist/types/events/types/rabbitmq.js +0 -53
- package/dist/types/instance/hooks.js +0 -25
- package/dist/types/instance/settings.js +0 -56
- package/dist/types/jobs/pipes.js +0 -12
- package/dist/types/kafka-Cf-TUJgv.d.ts +0 -54
- package/dist/types/server/impls/base.js +0 -210
- package/dist/types/server/impls/express.js +0 -110
- package/dist/types/server/middlewares/index.js +0 -1
- package/dist/types/server/middlewares/requireAuthUser.js +0 -21
- package/dist/types/server/openapi.js +0 -190
- package/dist/types/server/pipes.js +0 -66
- package/dist/types/server/requests-auth-methods/apiKeys.js +0 -20
- package/dist/types/server/requests-auth-methods/base.js +0 -19
- package/dist/types/server/requests-auth-methods/index.js +0 -3
- package/dist/types/server/requests-auth-methods/jwt.js +0 -77
- package/dist/types/server/requests.js +0 -79
- package/dist/types/server/routes.js +0 -73
- package/dist/types/server/sockets.js +0 -125
- package/dist/types/server/types.js +0 -33
- package/dist/types/types/overrides.js +0 -0
- package/dist/types/utilities/authProviders.js +0 -52
- package/dist/types/utilities/hash.js +0 -16
- package/dist/types/utilities/json.js +0 -15
- package/dist/types/utilities/media.js +0 -12
- package/dist/types/utilities/random.js +0 -11
- package/dist/types/utilities/retry.js +0 -13
- package/dist/types/validations/valleyed.js +0 -42
- /package/dist/esm/{dbs/base/core.min.mjs.map → cache/adapters/redis/index.min.mjs.map} +0 -0
- /package/dist/esm/{dbs/base/core.mjs.map → cache/adapters/redis/index.mjs.map} +0 -0
- /package/dist/esm/{types/overrides.min.mjs.map → chunk-AQY7QVYI.min.mjs.map} +0 -0
- /package/dist/esm/{types/overrides.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _nodeasync_hooks = require('node:async_hooks');var _valleyed = require('valleyed');var _indexmincjs = require('../instance/index.min.cjs');const s=o=>_valleyed.v.array(_valleyed.v.file(o).pipe(t=>{const i=`is larger than allowed limit of ${_indexmincjs.Instance.get().settings.utils.maxFileUploadSizeInMb}mb`;if(t?!t.isTruncated:!0)return t;throw _valleyed.PipeError.root(i,t)})),m= exports.incomingFile =o=>_valleyed.v.define(_valleyed.v.compile(s(o).pipe(_valleyed.v.min(1,"no file provided")).pipe(t=>t[0])),{schema:()=>({type:"string",format:"binary"})}),d= exports.incomingFiles =o=>_valleyed.v.define(_valleyed.v.compile(s(o)),{schema:()=>({type:"string",format:"binary"})}),u= exports.requestLocalStorage =new _nodeasync_hooks.AsyncLocalStorage,c= exports.responseLocalStorage =new _nodeasync_hooks.AsyncLocalStorage,g= exports.withRequest =o=>_valleyed.v.define(t=>{const i=u.getStore();if(!i)throw new Error("Request not found in context");const n=_valleyed.v.validate(o(i),t);return n.valid?n.value:n.error}),q= exports.withResponse =o=>_valleyed.v.define(t=>{const i=c.getStore();if(!i)throw new Error("Response not found in context");const n=_valleyed.v.validate(o(i),t);return n.valid?n.value:n.error});exports.incomingFile = m; exports.incomingFiles = d; exports.requestLocalStorage = u; exports.responseLocalStorage = c; exports.withRequest = g; exports.withResponse = q;
|
|
2
|
-
//# sourceMappingURL=valleyed.min.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/validations/valleyed.ts"],"names":["err","input","PipeError","incomingFile","v","incomingFiles","requestLocalStorage","AsyncLocalStorage","withRequest","req","validated","fn","res"],"mappings":"AAAA,4HAAkC,oCAEuC,wDAMtE,MACC,CAAA,CAAA,CAAA,EAAmBA,WAAG,CAAA,KAAE,CAAMC,WAAAA,CAAAA,IAC/B,CAAA,CAAA,CAAA,CAAMD,IAAM,CAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA,CAAA,gCAAkD,EAAA,qBAAA,CAAS,GAAA,CAAA,CAAA,CAAM,QAAA,CAAA,KAAA,CAAA,qBAChD,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAChC,WACX,CAAA,CAAA,CAAA,CAAME,OAAeF,CAAAA,CAAKC,MAIhBE,mBAAAA,CAAgBH,IAC5BI,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACDA,CAAAA,CAAE,wBAAA,CAAA,EAAA,WAAA,CAAA,MACW,CACV,WAAA,CAAA,OAAO,CAAA,CAAI,CAAA,CAAG,CAAA,CAAA,IAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,CAAA,kBACU,CAC3B,CAAA,CACA,IAAE,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAO,CAAE,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,EAAA,CAAU,CAAA,IAAA,CAAA,QAAQ,CAAS,MAGzCC,CAAiBL,QAC3B,CAAA,CAAA,CAAA,CAAgCI,CAAAA,CAAE,yBAAA,CAAA,EAAA,WAAA,CAAA,MAAqB,CAAA,WAAG,CAC3D,OAAQ,CAAA,CAAA,CAAA,CAAA,CAAO,CAAE,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,EAAA,CAAU,CAAA,IAAA,CAAA,QAAQ,CAAS,MAGvCE,CAAsB,QACC,CAAA,CAAA,CAAA,CAAIC,CAAAA,CAE3BC,+BAAAA,IACZJ,kCAAAA,CAAE,CAAA,gCAAA,IAAA,kCAAqCH,CAAAA,CAAAA,uBAAU,CAChD,EAAA,WAAA,CAAA,MAAgC,CAAA,CAAA,EAAA,CAAA,MAChC,CAAA,CAAA,CAAI,CAACQ,QAAW,CAAA,CAAA,CAAA,EAAI,CAAA,CAAA,CAAA,CAAA,MAAM,IAAA,KAAA,CAAA,8BACN,CAAA,CAAA,MAAYA,CAAG,CAAA,WAAGR,CAAK,QAC3C,CAAOS,CAAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQA,OAAU,CAAQA,CAAAA,KAAU,CACtD,CAAC,CAAA,KAEqDC,CACtDP,CAAAA,CAAE,KAAA,CAAA,CAAqCH,CAAAA,CAAAA,wBAAU,CAChD,EAAA,WAAA,CAAA,MAAiC,CAAA,CAAA,EAAA,CAAA,MACjC,CAAA,CAAA,CAAI,CAACW,QAAW,CAAA,CAAA,CAAA,EAAI,CAAA,CAAA,CAAA,CAAA,MAAM,IAAA,KAAA,CAAA,+BACN,CAAA,CAAA,MAAYA,CAAG,CAAA,WAAGX,CAAK,QAC3C,CAAOS,CAAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQA,OAAU,CAAQA,CAAAA,KAAU,CACtD,CAAC,CAAA,KAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,0KAAA","file":"/home/runner/work/equipped/equipped/dist/cjs/validations/valleyed.min.cjs","sourcesContent":["import { AsyncLocalStorage } from 'node:async_hooks'\n\nimport { type Pipe, PipeError, type PipeInput, type PipeOutput, v } from 'valleyed'\n\nimport { Instance } from '../instance'\nimport type { IncomingFile, Request, Response, RouteDef, RouteDefToReqRes } from '../server'\n\nconst filePipe = (err?: string) =>\n\tv.array(\n\t\tv.file<IncomingFile>(err).pipe((input) => {\n\t\t\tconst err = `is larger than allowed limit of ${Instance.get().settings.utils.maxFileUploadSizeInMb}mb`\n\t\t\tconst valid = input ? !input.isTruncated : true\n\t\t\tif (valid) return input\n\t\t\tthrow PipeError.root(err, input)\n\t\t}),\n\t)\n\nexport const incomingFile = (err?: string) =>\n\tv.define<unknown, IncomingFile>(\n\t\tv.compile(\n\t\t\tfilePipe(err)\n\t\t\t\t.pipe(v.min(1, 'no file provided'))\n\t\t\t\t.pipe((files) => files[0]),\n\t\t),\n\t\t{ schema: () => ({ type: 'string', format: 'binary' }) },\n\t)\n\nexport const incomingFiles = (err?: string) =>\n\tv.define<unknown, IncomingFile[]>(v.compile(filePipe(err)), {\n\t\tschema: () => ({ type: 'string', format: 'binary' }),\n\t})\n\nexport const requestLocalStorage = new AsyncLocalStorage<Request<RouteDefToReqRes<RouteDef>>>()\nexport const responseLocalStorage = new AsyncLocalStorage<Response<RouteDefToReqRes<RouteDef>>>()\n\nexport const withRequest = <T extends Pipe<any, any>>(fn: (req: Request<RouteDefToReqRes<RouteDef>>) => T) =>\n\tv.define<PipeInput<T>, PipeOutput<T>>((input) => {\n\t\tconst req = requestLocalStorage.getStore()\n\t\tif (!req) throw new Error('Request not found in context')\n\t\tconst validated = v.validate(fn(req), input)\n\t\treturn validated.valid ? validated.value : validated.error\n\t})\n\nexport const withResponse = <T extends Pipe<any, any>>(fn: (req: Response<RouteDefToReqRes<RouteDef>>) => T) =>\n\tv.define<PipeInput<T>, PipeOutput<T>>((input) => {\n\t\tconst res = responseLocalStorage.getStore()\n\t\tif (!res) throw new Error('Response not found in context')\n\t\tconst validated = v.validate(fn(res), input)\n\t\treturn validated.valid ? validated.value : validated.error\n\t})\n"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{v as y}from"valleyed";import{Conditions as c,wrapQueryParams as d}from "../dbs/index.min.mjs";import{EquippedError as o}from "../errors/index.min.mjs";import{Instance as p}from "../instance/index.min.mjs";function v(r){return r}class P{constructor(t,n){this.db=t;this.table=t.use({db:n,col:"__audits",mapper:e=>({...e,toJSON:()=>e}),options:{skipAudit:!0}}),p.on("start",()=>{setInterval(async()=>{const e=[...this.asyncQueue];this.asyncQueue=[],await Promise.all(e.map(s=>s()))},200)},4)}table;definitions={};asyncQueue=[];async#e(t,n,e){const s=this.definitions[t];if(!s)throw new o("audit definition not found",{name:t,payload:n});const i=y.assert(s.pipe,n),a=e.at??new Date,u=p.createId({time:a});return await this.table.insertOne({key:u,name:t,ts:a.getTime(),body:i,by:e.by,steps:[]},{getTime:()=>a,makeId:()=>u})}async#t(t,n){return this.db.session(async()=>{const e=this.definitions[t.name];if(!e)throw new o("audit definition not found",{event:t});await this.table.updateOne({key:t.key},{$set:{steps:[{status:"start",ts:Date.now()}]}});const s={key:t.key,by:t.by,at:new Date(t.ts),firstRun:n},i=await e.handle(t.body,s);await e.sync?.(i,t.body,s),await this.table.updateOne({key:t.key},{$push:{steps:{status:"sync",ts:Date.now()}}});const a=async()=>{await e.async?.(i,t.body,s),await this.table.updateOne({key:t.key},{$push:{steps:{status:"async",ts:Date.now()}}})};return s.firstRun?this.asyncQueue.push(a):await a(),i})}async replay(t){const{results:n}=await this.table.query(d({where:[...t?[{field:"ts",value:t.getTime(),condition:c.gte}]:[]],sort:[{field:"ts",desc:!1}],all:!0}));for(const e of n)await this.#t(e,!1)}async rerun(t){const n=await this.table.findOne({key:t});if(!n)throw new o("audit event not found",{key:t});await this.#t(n,!1)}register(t,n){if(this.definitions[t])throw new o(`${t} already has a registered handler`,{});return this.definitions[t]=n,y.compile(n.pipe),async(e,s)=>this.db.session(async()=>{const i=await this.#e(t,e,s);return this.#t(i,!0)})}}export{P as EventAudit};
|
|
2
|
-
//# sourceMappingURL=events.min.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/audit/events.ts"],"sourcesContent":["import { type Pipe, type PipeInput, type PipeOutput, v } from 'valleyed'\n\nimport { Conditions, Db, type Table, wrapQueryParams } from '../dbs'\nimport { EquippedError } from '../errors'\nimport { Instance } from '../instance'\n\nexport type EventDefinition<P extends Pipe<any, any>, R> = {\n\tpipe: P\n\thandle: (payload: PipeOutput<P>, context: EventContext) => R | Promise<R>\n\tsync?: (result: R, payload: PipeOutput<P>, context: EventContext) => void\n\tasync?: (result: R, payload: PipeOutput<P>, context: EventContext) => void\n}\n\nexport type EventContext = {\n\tkey: string\n\tby: string | undefined\n\tat: Date\n\tfirstRun: boolean\n}\n\nexport type EventDoc = {\n\tkey: string\n\tname: string\n\tts: number\n\tbody: unknown\n\tsteps: { status: 'start' | 'sync' | 'async'; ts: number }[]\n\tby?: string\n}\ntype Context = Partial<Pick<EventContext, 'by' | 'at'>>\n\nfunction createStep(step: EventDoc['steps'][number]) {\n\treturn step\n}\n\nexport class EventAudit {\n\tprivate table: Table<any, EventDoc, EventDoc & { toJSON: () => Record<string, unknown> }, any>\n\tprivate definitions: Record<string, EventDefinition<any, any>> = {}\n\tprivate asyncQueue: (() => Promise<void>)[] = []\n\n\tconstructor(\n\t\tprivate db: Db<any>,\n\t\tdbName: string,\n\t) {\n\t\tthis.table = db.use({\n\t\t\tdb: dbName,\n\t\t\tcol: '__audits',\n\t\t\tmapper: (model) => ({ ...model, toJSON: () => model as Record<string, unknown> }),\n\t\t\toptions: { skipAudit: true },\n\t\t})\n\n\t\tInstance.on(\n\t\t\t'start',\n\t\t\t() => {\n\t\t\t\tsetInterval(async () => {\n\t\t\t\t\tconst queue = [...this.asyncQueue]\n\t\t\t\t\tthis.asyncQueue = []\n\t\t\t\t\tawait Promise.all(queue.map((job) => job()))\n\t\t\t\t}, 200)\n\t\t\t},\n\t\t\t4,\n\t\t)\n\t}\n\n\tasync #createEvent(name: string, payload: unknown, context: Context) {\n\t\tconst def = this.definitions[name]\n\t\tif (!def) throw new EquippedError('audit definition not found', { name, payload })\n\n\t\tconst validBody = v.assert(def.pipe, payload)\n\t\tconst ts = context.at ?? new Date()\n\t\tconst key = Instance.createId({ time: ts })\n\n\t\treturn await this.table.insertOne(\n\t\t\t{\n\t\t\t\tkey,\n\t\t\t\tname,\n\t\t\t\tts: ts.getTime(),\n\t\t\t\tbody: validBody,\n\t\t\t\tby: context.by,\n\t\t\t\tsteps: [],\n\t\t\t},\n\t\t\t{ getTime: () => ts, makeId: () => key },\n\t\t)\n\t}\n\n\tasync #processEvent<R>(event: EventDoc, firstRun: boolean) {\n\t\treturn this.db.session(async () => {\n\t\t\tconst def = this.definitions[event.name]\n\t\t\tif (!def) throw new EquippedError('audit definition not found', { event })\n\t\t\tawait this.table.updateOne({ key: event.key }, { $set: { steps: [createStep({ status: 'start', ts: Date.now() })] } })\n\t\t\tconst context: EventContext = {\n\t\t\t\tkey: event.key,\n\t\t\t\tby: event.by,\n\t\t\t\tat: new Date(event.ts),\n\t\t\t\tfirstRun,\n\t\t\t}\n\t\t\tconst result = await def.handle(event.body, context)\n\t\t\tawait def.sync?.(result, event.body, context)\n\t\t\tawait this.table.updateOne({ key: event.key }, { $push: { steps: createStep({ status: 'sync', ts: Date.now() }) } })\n\n\t\t\tconst asyncHandle = async () => {\n\t\t\t\tawait def.async?.(result, event.body, context)\n\t\t\t\tawait this.table.updateOne({ key: event.key }, { $push: { steps: createStep({ status: 'async', ts: Date.now() }) } })\n\t\t\t}\n\t\t\tif (!context.firstRun) await asyncHandle()\n\t\t\telse this.asyncQueue.push(asyncHandle)\n\t\t\treturn result as R\n\t\t})\n\t}\n\n\tasync replay(from?: Date) {\n\t\tconst { results: events } = await this.table.query(\n\t\t\twrapQueryParams({\n\t\t\t\twhere: [...(from ? [{ field: 'ts', value: from.getTime(), condition: Conditions.gte }] : [])],\n\t\t\t\tsort: [{ field: 'ts', desc: false }],\n\t\t\t\tall: true,\n\t\t\t}),\n\t\t)\n\t\tfor (const event of events) await this.#processEvent(event, false)\n\t}\n\n\tasync rerun(key: string) {\n\t\tconst event = await this.table.findOne({ key })\n\t\tif (!event) throw new EquippedError('audit event not found', { key })\n\t\tawait this.#processEvent(event, false)\n\t}\n\n\tregister<P extends Pipe<any, any>, R>(name: string, def: EventDefinition<P, R>) {\n\t\tif (this.definitions[name]) throw new EquippedError(`${name} already has a registered handler`, {})\n\t\tthis.definitions[name] = def\n\t\tv.compile(def.pipe)\n\t\treturn async (payload: PipeInput<P>, context: Context) =>\n\t\t\tthis.db.session(async () => {\n\t\t\t\tconst event = await this.#createEvent(name, payload, context)\n\t\t\t\treturn this.#processEvent<R>(event, true)\n\t\t\t})\n\t}\n}\n"],"mappings":"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","names":["v","Conditions","wrapQueryParams","EquippedError","Instance","createStep","step","EventAudit","db","dbName","model","queue","job","#createEvent","name","payload","context","def","validBody","ts","key","#processEvent","event","firstRun","result","asyncHandle","from","events"]}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { v } from "valleyed";
|
|
2
|
-
import { Conditions, Db, wrapQueryParams } from "../dbs/index.mjs";
|
|
3
|
-
import { EquippedError } from "../errors/index.mjs";
|
|
4
|
-
import { Instance } from "../instance/index.mjs";
|
|
5
|
-
function createStep(step) {
|
|
6
|
-
return step;
|
|
7
|
-
}
|
|
8
|
-
class EventAudit {
|
|
9
|
-
constructor(db, dbName) {
|
|
10
|
-
this.db = db;
|
|
11
|
-
this.table = db.use({
|
|
12
|
-
db: dbName,
|
|
13
|
-
col: "__audits",
|
|
14
|
-
mapper: (model) => ({ ...model, toJSON: () => model }),
|
|
15
|
-
options: { skipAudit: true }
|
|
16
|
-
});
|
|
17
|
-
Instance.on(
|
|
18
|
-
"start",
|
|
19
|
-
() => {
|
|
20
|
-
setInterval(async () => {
|
|
21
|
-
const queue = [...this.asyncQueue];
|
|
22
|
-
this.asyncQueue = [];
|
|
23
|
-
await Promise.all(queue.map((job) => job()));
|
|
24
|
-
}, 200);
|
|
25
|
-
},
|
|
26
|
-
4
|
|
27
|
-
);
|
|
28
|
-
}
|
|
29
|
-
table;
|
|
30
|
-
definitions = {};
|
|
31
|
-
asyncQueue = [];
|
|
32
|
-
async #createEvent(name, payload, context) {
|
|
33
|
-
const def = this.definitions[name];
|
|
34
|
-
if (!def) throw new EquippedError("audit definition not found", { name, payload });
|
|
35
|
-
const validBody = v.assert(def.pipe, payload);
|
|
36
|
-
const ts = context.at ?? /* @__PURE__ */ new Date();
|
|
37
|
-
const key = Instance.createId({ time: ts });
|
|
38
|
-
return await this.table.insertOne(
|
|
39
|
-
{
|
|
40
|
-
key,
|
|
41
|
-
name,
|
|
42
|
-
ts: ts.getTime(),
|
|
43
|
-
body: validBody,
|
|
44
|
-
by: context.by,
|
|
45
|
-
steps: []
|
|
46
|
-
},
|
|
47
|
-
{ getTime: () => ts, makeId: () => key }
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
async #processEvent(event, firstRun) {
|
|
51
|
-
return this.db.session(async () => {
|
|
52
|
-
const def = this.definitions[event.name];
|
|
53
|
-
if (!def) throw new EquippedError("audit definition not found", { event });
|
|
54
|
-
await this.table.updateOne({ key: event.key }, { $set: { steps: [createStep({ status: "start", ts: Date.now() })] } });
|
|
55
|
-
const context = {
|
|
56
|
-
key: event.key,
|
|
57
|
-
by: event.by,
|
|
58
|
-
at: new Date(event.ts),
|
|
59
|
-
firstRun
|
|
60
|
-
};
|
|
61
|
-
const result = await def.handle(event.body, context);
|
|
62
|
-
await def.sync?.(result, event.body, context);
|
|
63
|
-
await this.table.updateOne({ key: event.key }, { $push: { steps: createStep({ status: "sync", ts: Date.now() }) } });
|
|
64
|
-
const asyncHandle = async () => {
|
|
65
|
-
await def.async?.(result, event.body, context);
|
|
66
|
-
await this.table.updateOne({ key: event.key }, { $push: { steps: createStep({ status: "async", ts: Date.now() }) } });
|
|
67
|
-
};
|
|
68
|
-
if (!context.firstRun) await asyncHandle();
|
|
69
|
-
else this.asyncQueue.push(asyncHandle);
|
|
70
|
-
return result;
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
async replay(from) {
|
|
74
|
-
const { results: events } = await this.table.query(
|
|
75
|
-
wrapQueryParams({
|
|
76
|
-
where: [...from ? [{ field: "ts", value: from.getTime(), condition: Conditions.gte }] : []],
|
|
77
|
-
sort: [{ field: "ts", desc: false }],
|
|
78
|
-
all: true
|
|
79
|
-
})
|
|
80
|
-
);
|
|
81
|
-
for (const event of events) await this.#processEvent(event, false);
|
|
82
|
-
}
|
|
83
|
-
async rerun(key) {
|
|
84
|
-
const event = await this.table.findOne({ key });
|
|
85
|
-
if (!event) throw new EquippedError("audit event not found", { key });
|
|
86
|
-
await this.#processEvent(event, false);
|
|
87
|
-
}
|
|
88
|
-
register(name, def) {
|
|
89
|
-
if (this.definitions[name]) throw new EquippedError(`${name} already has a registered handler`, {});
|
|
90
|
-
this.definitions[name] = def;
|
|
91
|
-
v.compile(def.pipe);
|
|
92
|
-
return async (payload, context) => this.db.session(async () => {
|
|
93
|
-
const event = await this.#createEvent(name, payload, context);
|
|
94
|
-
return this.#processEvent(event, true);
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
export {
|
|
99
|
-
EventAudit
|
|
100
|
-
};
|
|
101
|
-
//# sourceMappingURL=events.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/audit/events.ts"],"sourcesContent":["import { type Pipe, type PipeInput, type PipeOutput, v } from 'valleyed'\n\nimport { Conditions, Db, type Table, wrapQueryParams } from '../dbs'\nimport { EquippedError } from '../errors'\nimport { Instance } from '../instance'\n\nexport type EventDefinition<P extends Pipe<any, any>, R> = {\n\tpipe: P\n\thandle: (payload: PipeOutput<P>, context: EventContext) => R | Promise<R>\n\tsync?: (result: R, payload: PipeOutput<P>, context: EventContext) => void\n\tasync?: (result: R, payload: PipeOutput<P>, context: EventContext) => void\n}\n\nexport type EventContext = {\n\tkey: string\n\tby: string | undefined\n\tat: Date\n\tfirstRun: boolean\n}\n\nexport type EventDoc = {\n\tkey: string\n\tname: string\n\tts: number\n\tbody: unknown\n\tsteps: { status: 'start' | 'sync' | 'async'; ts: number }[]\n\tby?: string\n}\ntype Context = Partial<Pick<EventContext, 'by' | 'at'>>\n\nfunction createStep(step: EventDoc['steps'][number]) {\n\treturn step\n}\n\nexport class EventAudit {\n\tprivate table: Table<any, EventDoc, EventDoc & { toJSON: () => Record<string, unknown> }, any>\n\tprivate definitions: Record<string, EventDefinition<any, any>> = {}\n\tprivate asyncQueue: (() => Promise<void>)[] = []\n\n\tconstructor(\n\t\tprivate db: Db<any>,\n\t\tdbName: string,\n\t) {\n\t\tthis.table = db.use({\n\t\t\tdb: dbName,\n\t\t\tcol: '__audits',\n\t\t\tmapper: (model) => ({ ...model, toJSON: () => model as Record<string, unknown> }),\n\t\t\toptions: { skipAudit: true },\n\t\t})\n\n\t\tInstance.on(\n\t\t\t'start',\n\t\t\t() => {\n\t\t\t\tsetInterval(async () => {\n\t\t\t\t\tconst queue = [...this.asyncQueue]\n\t\t\t\t\tthis.asyncQueue = []\n\t\t\t\t\tawait Promise.all(queue.map((job) => job()))\n\t\t\t\t}, 200)\n\t\t\t},\n\t\t\t4,\n\t\t)\n\t}\n\n\tasync #createEvent(name: string, payload: unknown, context: Context) {\n\t\tconst def = this.definitions[name]\n\t\tif (!def) throw new EquippedError('audit definition not found', { name, payload })\n\n\t\tconst validBody = v.assert(def.pipe, payload)\n\t\tconst ts = context.at ?? new Date()\n\t\tconst key = Instance.createId({ time: ts })\n\n\t\treturn await this.table.insertOne(\n\t\t\t{\n\t\t\t\tkey,\n\t\t\t\tname,\n\t\t\t\tts: ts.getTime(),\n\t\t\t\tbody: validBody,\n\t\t\t\tby: context.by,\n\t\t\t\tsteps: [],\n\t\t\t},\n\t\t\t{ getTime: () => ts, makeId: () => key },\n\t\t)\n\t}\n\n\tasync #processEvent<R>(event: EventDoc, firstRun: boolean) {\n\t\treturn this.db.session(async () => {\n\t\t\tconst def = this.definitions[event.name]\n\t\t\tif (!def) throw new EquippedError('audit definition not found', { event })\n\t\t\tawait this.table.updateOne({ key: event.key }, { $set: { steps: [createStep({ status: 'start', ts: Date.now() })] } })\n\t\t\tconst context: EventContext = {\n\t\t\t\tkey: event.key,\n\t\t\t\tby: event.by,\n\t\t\t\tat: new Date(event.ts),\n\t\t\t\tfirstRun,\n\t\t\t}\n\t\t\tconst result = await def.handle(event.body, context)\n\t\t\tawait def.sync?.(result, event.body, context)\n\t\t\tawait this.table.updateOne({ key: event.key }, { $push: { steps: createStep({ status: 'sync', ts: Date.now() }) } })\n\n\t\t\tconst asyncHandle = async () => {\n\t\t\t\tawait def.async?.(result, event.body, context)\n\t\t\t\tawait this.table.updateOne({ key: event.key }, { $push: { steps: createStep({ status: 'async', ts: Date.now() }) } })\n\t\t\t}\n\t\t\tif (!context.firstRun) await asyncHandle()\n\t\t\telse this.asyncQueue.push(asyncHandle)\n\t\t\treturn result as R\n\t\t})\n\t}\n\n\tasync replay(from?: Date) {\n\t\tconst { results: events } = await this.table.query(\n\t\t\twrapQueryParams({\n\t\t\t\twhere: [...(from ? [{ field: 'ts', value: from.getTime(), condition: Conditions.gte }] : [])],\n\t\t\t\tsort: [{ field: 'ts', desc: false }],\n\t\t\t\tall: true,\n\t\t\t}),\n\t\t)\n\t\tfor (const event of events) await this.#processEvent(event, false)\n\t}\n\n\tasync rerun(key: string) {\n\t\tconst event = await this.table.findOne({ key })\n\t\tif (!event) throw new EquippedError('audit event not found', { key })\n\t\tawait this.#processEvent(event, false)\n\t}\n\n\tregister<P extends Pipe<any, any>, R>(name: string, def: EventDefinition<P, R>) {\n\t\tif (this.definitions[name]) throw new EquippedError(`${name} already has a registered handler`, {})\n\t\tthis.definitions[name] = def\n\t\tv.compile(def.pipe)\n\t\treturn async (payload: PipeInput<P>, context: Context) =>\n\t\t\tthis.db.session(async () => {\n\t\t\t\tconst event = await this.#createEvent(name, payload, context)\n\t\t\t\treturn this.#processEvent<R>(event, true)\n\t\t\t})\n\t}\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/audit/index.ts"],"sourcesContent":["export * from './events'\n"],"mappings":"AAAA,WAAc","names":[]}
|
package/dist/esm/audit/index.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/audit/index.ts"],"sourcesContent":["export * from './events'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cache/base.ts"],"sourcesContent":["export abstract class Cache {\n\tabstract set(key: string, data: string, ttlInSecs?: number): Promise<void>\n\n\tabstract get(key: string): Promise<string | null>\n\n\tabstract delete(key: string): Promise<void>\n\n\tabstract getOrSet<T>(key: string, fn: () => Promise<T>, ttlInSecs?: number): Promise<T>\n}\n"],"mappings":"AAAO,MAAeA,CAAM,CAQ5B","names":["Cache"]}
|
package/dist/esm/cache/base.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cache/base.ts"],"sourcesContent":["export abstract class Cache {\n\tabstract set(key: string, data: string, ttlInSecs?: number): Promise<void>\n\n\tabstract get(key: string): Promise<string | null>\n\n\tabstract delete(key: string): Promise<void>\n\n\tabstract getOrSet<T>(key: string, fn: () => Promise<T>, ttlInSecs?: number): Promise<T>\n}\n"],"mappings":"AAAO,MAAe,MAAM;AAQ5B;","names":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{v as o}from"valleyed";const e=()=>o.meta(o.object({host:o.string(),port:o.optional(o.number()),password:o.optional(o.string()),username:o.optional(o.string()),tls:o.optional(o.boolean()),cluster:o.optional(o.boolean())}),{title:"Redis Config",$refId:"RedisConfig"});export{e as redisConfigPipe};
|
|
2
|
-
//# sourceMappingURL=pipes.min.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cache/pipes.ts"],"sourcesContent":["import { v, type PipeOutput } from 'valleyed'\n\nexport const redisConfigPipe = () =>\n\tv.meta(\n\t\tv.object({\n\t\t\thost: v.string(),\n\t\t\tport: v.optional(v.number()),\n\t\t\tpassword: v.optional(v.string()),\n\t\t\tusername: v.optional(v.string()),\n\t\t\ttls: v.optional(v.boolean()),\n\t\t\tcluster: v.optional(v.boolean()),\n\t\t}),\n\t\t{ title: 'Redis Config', $refId: 'RedisConfig' },\n\t)\n\nexport type RedisConfig = PipeOutput<ReturnType<typeof redisConfigPipe>>\n"],"mappings":"AAAA,OAAS,KAAAA,MAA0B,WAE5B,MAAMC,EAAkB,IAC9BD,EAAE,KACDA,EAAE,OAAO,CACR,KAAMA,EAAE,OAAO,EACf,KAAMA,EAAE,SAASA,EAAE,OAAO,CAAC,EAC3B,SAAUA,EAAE,SAASA,EAAE,OAAO,CAAC,EAC/B,SAAUA,EAAE,SAASA,EAAE,OAAO,CAAC,EAC/B,IAAKA,EAAE,SAASA,EAAE,QAAQ,CAAC,EAC3B,QAASA,EAAE,SAASA,EAAE,QAAQ,CAAC,CAChC,CAAC,EACD,CAAE,MAAO,eAAgB,OAAQ,aAAc,CAChD","names":["v","redisConfigPipe"]}
|
package/dist/esm/cache/pipes.mjs
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { v } from "valleyed";
|
|
2
|
-
const redisConfigPipe = () => v.meta(
|
|
3
|
-
v.object({
|
|
4
|
-
host: v.string(),
|
|
5
|
-
port: v.optional(v.number()),
|
|
6
|
-
password: v.optional(v.string()),
|
|
7
|
-
username: v.optional(v.string()),
|
|
8
|
-
tls: v.optional(v.boolean()),
|
|
9
|
-
cluster: v.optional(v.boolean())
|
|
10
|
-
}),
|
|
11
|
-
{ title: "Redis Config", $refId: "RedisConfig" }
|
|
12
|
-
);
|
|
13
|
-
export {
|
|
14
|
-
redisConfigPipe
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=pipes.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cache/pipes.ts"],"sourcesContent":["import { v, type PipeOutput } from 'valleyed'\n\nexport const redisConfigPipe = () =>\n\tv.meta(\n\t\tv.object({\n\t\t\thost: v.string(),\n\t\t\tport: v.optional(v.number()),\n\t\t\tpassword: v.optional(v.string()),\n\t\t\tusername: v.optional(v.string()),\n\t\t\ttls: v.optional(v.boolean()),\n\t\t\tcluster: v.optional(v.boolean()),\n\t\t}),\n\t\t{ title: 'Redis Config', $refId: 'RedisConfig' },\n\t)\n\nexport type RedisConfig = PipeOutput<ReturnType<typeof redisConfigPipe>>\n"],"mappings":"AAAA,SAAS,SAA0B;AAE5B,MAAM,kBAAkB,MAC9B,EAAE;AAAA,EACD,EAAE,OAAO;AAAA,IACR,MAAM,EAAE,OAAO;AAAA,IACf,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;AAAA,IAC3B,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC;AAAA,IAC/B,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC;AAAA,IAC/B,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC;AAAA,IAC3B,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;AAAA,EAChC,CAAC;AAAA,EACD,EAAE,OAAO,gBAAgB,QAAQ,cAAc;AAChD;","names":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Instance as s}from "../../instance/index.min.mjs";import{Cache as i}from "../base.min.mjs";class p extends i{cache=new Map;constructor(){super();let e;s.on("start",async()=>{e=setInterval(()=>{const t=Date.now();for(const[r,n]of this.cache.entries())n.expiredAt&&n.expiredAt<=t&&this.cache.delete(r)},5e3)},1),s.on("close",async()=>clearInterval(e),1)}getScopedKey(e){return s.get().getScopedName(e,":")}async delete(e){this.cache.delete(this.getScopedKey(e))}async get(e){const t=this.cache.get(this.getScopedKey(e));return t&&(t.expiredAt===void 0||t.expiredAt>Date.now())?t.data:null}async set(e,t,r){this.cache.set(this.getScopedKey(e),{data:t,expiredAt:r?Date.now()+r*1e3:void 0})}async getOrSet(e,t,r){const n=await this.get(e);if(n)return JSON.parse(n);const a=await t();return await this.set(e,JSON.stringify(a),r),a}}export{p as InMemoryCache};
|
|
2
|
-
//# sourceMappingURL=in-memory.min.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/cache/types/in-memory.ts"],"sourcesContent":["import { Instance } from '../../instance'\nimport { Cache } from '../base'\n\ntype CacheEntry = {\n\tdata: string\n\texpiredAt?: number\n}\n\nexport class InMemoryCache extends Cache {\n\tprivate readonly cache = new Map<string, CacheEntry>()\n\n\tconstructor() {\n\t\tsuper()\n\t\tlet interval: ReturnType<typeof setInterval> | undefined\n\t\tInstance.on(\n\t\t\t'start',\n\t\t\tasync () => {\n\t\t\t\tinterval = setInterval(() => {\n\t\t\t\t\tconst now = Date.now()\n\t\t\t\t\tfor (const [key, record] of this.cache.entries()) {\n\t\t\t\t\t\tif (record.expiredAt && record.expiredAt <= now) this.cache.delete(key)\n\t\t\t\t\t}\n\t\t\t\t}, 5000)\n\t\t\t},\n\t\t\t1,\n\t\t)\n\t\tInstance.on('close', async () => clearInterval(interval), 1)\n\t}\n\n\tprivate getScopedKey(key: string): string {\n\t\treturn Instance.get().getScopedName(key, ':')\n\t}\n\n\tasync delete(key: string) {\n\t\tthis.cache.delete(this.getScopedKey(key))\n\t}\n\n\tasync get(key: string) {\n\t\tconst record = this.cache.get(this.getScopedKey(key))\n\t\tif (record && (record.expiredAt === undefined || record.expiredAt > Date.now())) return record.data\n\t\treturn null\n\t}\n\n\tasync set(key: string, data: string, ttlInSecs?: number) {\n\t\tthis.cache.set(this.getScopedKey(key), { data, expiredAt: ttlInSecs ? Date.now() + ttlInSecs * 1000 : undefined })\n\t}\n\n\tasync getOrSet<T>(key: string, fn: () => Promise<T>, ttlInSecs?: number): Promise<T> {\n\t\tconst cached = await this.get(key)\n\t\tif (cached) return JSON.parse(cached) as T\n\n\t\tconst result = await fn()\n\t\tawait this.set(key, JSON.stringify(result), ttlInSecs)\n\t\treturn result\n\t}\n}\n"],"mappings":"AAAA,OAAS,YAAAA,MAAgB,iBACzB,OAAS,SAAAC,MAAa,UAOf,MAAMC,UAAsBD,CAAM,CACvB,MAAQ,IAAI,IAE7B,aAAc,CACb,MAAM,EACN,IAAIE,EACJH,EAAS,GACR,QACA,SAAY,CACXG,EAAW,YAAY,IAAM,CAC5B,MAAMC,EAAM,KAAK,IAAI,EACrB,SAAW,CAACC,EAAKC,CAAM,IAAK,KAAK,MAAM,QAAQ,EAC1CA,EAAO,WAAaA,EAAO,WAAaF,GAAK,KAAK,MAAM,OAAOC,CAAG,CAExE,EAAG,GAAI,CACR,EACA,CACD,EACAL,EAAS,GAAG,QAAS,SAAY,cAAcG,CAAQ,EAAG,CAAC,CAC5D,CAEQ,aAAaE,EAAqB,CACzC,OAAOL,EAAS,IAAI,EAAE,cAAcK,EAAK,GAAG,CAC7C,CAEA,MAAM,OAAOA,EAAa,CACzB,KAAK,MAAM,OAAO,KAAK,aAAaA,CAAG,CAAC,CACzC,CAEA,MAAM,IAAIA,EAAa,CACtB,MAAMC,EAAS,KAAK,MAAM,IAAI,KAAK,aAAaD,CAAG,CAAC,EACpD,OAAIC,IAAWA,EAAO,YAAc,QAAaA,EAAO,UAAY,KAAK,IAAI,GAAWA,EAAO,KACxF,IACR,CAEA,MAAM,IAAID,EAAaE,EAAcC,EAAoB,CACxD,KAAK,MAAM,IAAI,KAAK,aAAaH,CAAG,EAAG,CAAE,KAAAE,EAAM,UAAWC,EAAY,KAAK,IAAI,EAAIA,EAAY,IAAO,MAAU,CAAC,CAClH,CAEA,MAAM,SAAYH,EAAaI,EAAsBD,EAAgC,CACpF,MAAME,EAAS,MAAM,KAAK,IAAIL,CAAG,EACjC,GAAIK,EAAQ,OAAO,KAAK,MAAMA,CAAM,EAEpC,MAAMC,EAAS,MAAMF,EAAG,EACxB,aAAM,KAAK,IAAIJ,EAAK,KAAK,UAAUM,CAAM,EAAGH,CAAS,EAC9CG,CACR,CACD","names":["Instance","Cache","InMemoryCache","interval","now","key","record","data","ttlInSecs","fn","cached","result"]}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Instance } from "../../instance/index.mjs";
|
|
2
|
-
import { Cache } from "../base.mjs";
|
|
3
|
-
class InMemoryCache extends Cache {
|
|
4
|
-
cache = /* @__PURE__ */ new Map();
|
|
5
|
-
constructor() {
|
|
6
|
-
super();
|
|
7
|
-
let interval;
|
|
8
|
-
Instance.on(
|
|
9
|
-
"start",
|
|
10
|
-
async () => {
|
|
11
|
-
interval = setInterval(() => {
|
|
12
|
-
const now = Date.now();
|
|
13
|
-
for (const [key, record] of this.cache.entries()) {
|
|
14
|
-
if (record.expiredAt && record.expiredAt <= now) this.cache.delete(key);
|
|
15
|
-
}
|
|
16
|
-
}, 5e3);
|
|
17
|
-
},
|
|
18
|
-
1
|
|
19
|
-
);
|
|
20
|
-
Instance.on("close", async () => clearInterval(interval), 1);
|
|
21
|
-
}
|
|
22
|
-
getScopedKey(key) {
|
|
23
|
-
return Instance.get().getScopedName(key, ":");
|
|
24
|
-
}
|
|
25
|
-
async delete(key) {
|
|
26
|
-
this.cache.delete(this.getScopedKey(key));
|
|
27
|
-
}
|
|
28
|
-
async get(key) {
|
|
29
|
-
const record = this.cache.get(this.getScopedKey(key));
|
|
30
|
-
if (record && (record.expiredAt === void 0 || record.expiredAt > Date.now())) return record.data;
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
async set(key, data, ttlInSecs) {
|
|
34
|
-
this.cache.set(this.getScopedKey(key), { data, expiredAt: ttlInSecs ? Date.now() + ttlInSecs * 1e3 : void 0 });
|
|
35
|
-
}
|
|
36
|
-
async getOrSet(key, fn, ttlInSecs) {
|
|
37
|
-
const cached = await this.get(key);
|
|
38
|
-
if (cached) return JSON.parse(cached);
|
|
39
|
-
const result = await fn();
|
|
40
|
-
await this.set(key, JSON.stringify(result), ttlInSecs);
|
|
41
|
-
return result;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
export {
|
|
45
|
-
InMemoryCache
|
|
46
|
-
};
|
|
47
|
-
//# sourceMappingURL=in-memory.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/cache/types/in-memory.ts"],"sourcesContent":["import { Instance } from '../../instance'\nimport { Cache } from '../base'\n\ntype CacheEntry = {\n\tdata: string\n\texpiredAt?: number\n}\n\nexport class InMemoryCache extends Cache {\n\tprivate readonly cache = new Map<string, CacheEntry>()\n\n\tconstructor() {\n\t\tsuper()\n\t\tlet interval: ReturnType<typeof setInterval> | undefined\n\t\tInstance.on(\n\t\t\t'start',\n\t\t\tasync () => {\n\t\t\t\tinterval = setInterval(() => {\n\t\t\t\t\tconst now = Date.now()\n\t\t\t\t\tfor (const [key, record] of this.cache.entries()) {\n\t\t\t\t\t\tif (record.expiredAt && record.expiredAt <= now) this.cache.delete(key)\n\t\t\t\t\t}\n\t\t\t\t}, 5000)\n\t\t\t},\n\t\t\t1,\n\t\t)\n\t\tInstance.on('close', async () => clearInterval(interval), 1)\n\t}\n\n\tprivate getScopedKey(key: string): string {\n\t\treturn Instance.get().getScopedName(key, ':')\n\t}\n\n\tasync delete(key: string) {\n\t\tthis.cache.delete(this.getScopedKey(key))\n\t}\n\n\tasync get(key: string) {\n\t\tconst record = this.cache.get(this.getScopedKey(key))\n\t\tif (record && (record.expiredAt === undefined || record.expiredAt > Date.now())) return record.data\n\t\treturn null\n\t}\n\n\tasync set(key: string, data: string, ttlInSecs?: number) {\n\t\tthis.cache.set(this.getScopedKey(key), { data, expiredAt: ttlInSecs ? Date.now() + ttlInSecs * 1000 : undefined })\n\t}\n\n\tasync getOrSet<T>(key: string, fn: () => Promise<T>, ttlInSecs?: number): Promise<T> {\n\t\tconst cached = await this.get(key)\n\t\tif (cached) return JSON.parse(cached) as T\n\n\t\tconst result = await fn()\n\t\tawait this.set(key, JSON.stringify(result), ttlInSecs)\n\t\treturn result\n\t}\n}\n"],"mappings":"AAAA,SAAS,gBAAgB;AACzB,SAAS,aAAa;AAOf,MAAM,sBAAsB,MAAM;AAAA,EACvB,QAAQ,oBAAI,IAAwB;AAAA,EAErD,cAAc;AACb,UAAM;AACN,QAAI;AACJ,aAAS;AAAA,MACR;AAAA,MACA,YAAY;AACX,mBAAW,YAAY,MAAM;AAC5B,gBAAM,MAAM,KAAK,IAAI;AACrB,qBAAW,CAAC,KAAK,MAAM,KAAK,KAAK,MAAM,QAAQ,GAAG;AACjD,gBAAI,OAAO,aAAa,OAAO,aAAa,IAAK,MAAK,MAAM,OAAO,GAAG;AAAA,UACvE;AAAA,QACD,GAAG,GAAI;AAAA,MACR;AAAA,MACA;AAAA,IACD;AACA,aAAS,GAAG,SAAS,YAAY,cAAc,QAAQ,GAAG,CAAC;AAAA,EAC5D;AAAA,EAEQ,aAAa,KAAqB;AACzC,WAAO,SAAS,IAAI,EAAE,cAAc,KAAK,GAAG;AAAA,EAC7C;AAAA,EAEA,MAAM,OAAO,KAAa;AACzB,SAAK,MAAM,OAAO,KAAK,aAAa,GAAG,CAAC;AAAA,EACzC;AAAA,EAEA,MAAM,IAAI,KAAa;AACtB,UAAM,SAAS,KAAK,MAAM,IAAI,KAAK,aAAa,GAAG,CAAC;AACpD,QAAI,WAAW,OAAO,cAAc,UAAa,OAAO,YAAY,KAAK,IAAI,GAAI,QAAO,OAAO;AAC/F,WAAO;AAAA,EACR;AAAA,EAEA,MAAM,IAAI,KAAa,MAAc,WAAoB;AACxD,SAAK,MAAM,IAAI,KAAK,aAAa,GAAG,GAAG,EAAE,MAAM,WAAW,YAAY,KAAK,IAAI,IAAI,YAAY,MAAO,OAAU,CAAC;AAAA,EAClH;AAAA,EAEA,MAAM,SAAY,KAAa,IAAsB,WAAgC;AACpF,UAAM,SAAS,MAAM,KAAK,IAAI,GAAG;AACjC,QAAI,OAAQ,QAAO,KAAK,MAAM,MAAM;AAEpC,UAAM,SAAS,MAAM,GAAG;AACxB,UAAM,KAAK,IAAI,KAAK,KAAK,UAAU,MAAM,GAAG,SAAS;AACrD,WAAO;AAAA,EACR;AACD;","names":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Cluster as n,Redis as c}from"ioredis";import{EquippedError as a}from "../../errors/index.min.mjs";import{Instance as i}from "../../instance/index.min.mjs";import{Cache as p}from "../base.min.mjs";import"../pipes";class w extends p{client;constructor(e,t){super();const s={...e.host?{host:e.host}:{},...e.port?{port:e.port}:{}},r={...t,...e.password?{password:e.password}:{},...e.username?{username:e.username}:{},...e.tls?{tls:{}}:{},lazyConnect:!0};this.client=e.cluster?new n([s],{...t,redisOptions:r,lazyConnect:!0}):new c({...r,...s}),this.client.on("error",async o=>{i.crash(new a("Redis failed with error",{},o))}),t||i.on("start",async()=>this.client.connect(),1),i.on("close",async()=>this.client.quit(),1)}getScopedKey(e){return i.get().getScopedName(e,":")}async delete(e){await this.client.del(this.getScopedKey(e))}async get(e){return await this.client.get(this.getScopedKey(e))}async set(e,t,s){s?await this.client.setex(this.getScopedKey(e),s,t):this.client.set(this.getScopedKey(e),t)}async getOrSet(e,t,s){const r=await this.get(this.getScopedKey(e));if(r)return JSON.parse(r);const o=await t();await this.set(this.getScopedKey(e),JSON.stringify(o),s)}}export{w as RedisCache};
|
|
2
|
-
//# sourceMappingURL=redis.min.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/cache/types/redis.ts"],"sourcesContent":["import { Cluster, Redis, type RedisOptions } from 'ioredis'\n\nimport { EquippedError } from '../../errors'\nimport { Instance } from '../../instance'\nimport { Cache } from '../base'\nimport { type RedisConfig } from '../pipes'\n\nexport class RedisCache extends Cache {\n\tclient: Redis | Cluster\n\n\tconstructor(settings: RedisConfig, extraConfig?: Partial<RedisOptions>) {\n\t\tsuper()\n\t\tconst node = {\n\t\t\t...(settings.host ? { host: settings.host } : {}),\n\t\t\t...(settings.port ? { port: settings.port } : {}),\n\t\t}\n\t\tconst common = {\n\t\t\t...extraConfig,\n\t\t\t...(settings.password ? { password: settings.password } : {}),\n\t\t\t...(settings.username ? { username: settings.username } : {}),\n\t\t\t...(settings.tls ? { tls: {} } : {}),\n\t\t\tlazyConnect: true,\n\t\t}\n\t\tthis.client = settings.cluster\n\t\t\t? new Cluster([node], {\n\t\t\t\t\t...extraConfig,\n\t\t\t\t\tredisOptions: common,\n\t\t\t\t\tlazyConnect: true,\n\t\t\t\t})\n\t\t\t: new Redis({ ...common, ...node })\n\t\tthis.client.on('error', async (error) => {\n\t\t\tInstance.crash(new EquippedError(`Redis failed with error`, {}, error))\n\t\t})\n\t\tif (!extraConfig) Instance.on('start', async () => this.client.connect(), 1)\n\t\tInstance.on('close', async () => this.client.quit(), 1)\n\t}\n\n\tprivate getScopedKey(key: string): string {\n\t\treturn Instance.get().getScopedName(key, ':')\n\t}\n\n\tasync delete(key: string) {\n\t\tawait this.client.del(this.getScopedKey(key))\n\t}\n\n\tasync get(key: string) {\n\t\treturn await this.client.get(this.getScopedKey(key))\n\t}\n\n\tasync set(key: string, data: string, ttlInSecs?: number) {\n\t\tif (ttlInSecs) await this.client.setex(this.getScopedKey(key), ttlInSecs, data)\n\t\telse this.client.set(this.getScopedKey(key), data)\n\t}\n\n\tasync getOrSet<T>(key: string, fn: () => Promise<T>, ttlInSecs?: number) {\n\t\tconst cached = await this.get(this.getScopedKey(key))\n\t\tif (cached) return JSON.parse(cached)\n\n\t\tconst result = await fn()\n\t\tawait this.set(this.getScopedKey(key), JSON.stringify(result), ttlInSecs)\n\t}\n}\n"],"mappings":"AAAA,OAAS,WAAAA,EAAS,SAAAC,MAAgC,UAElD,OAAS,iBAAAC,MAAqB,eAC9B,OAAS,YAAAC,MAAgB,iBACzB,OAAS,SAAAC,MAAa,UACtB,MAAiC,WAE1B,MAAMC,UAAmBD,CAAM,CACrC,OAEA,YAAYE,EAAuBC,EAAqC,CACvE,MAAM,EACN,MAAMC,EAAO,CACZ,GAAIF,EAAS,KAAO,CAAE,KAAMA,EAAS,IAAK,EAAI,CAAC,EAC/C,GAAIA,EAAS,KAAO,CAAE,KAAMA,EAAS,IAAK,EAAI,CAAC,CAChD,EACMG,EAAS,CACd,GAAGF,EACH,GAAID,EAAS,SAAW,CAAE,SAAUA,EAAS,QAAS,EAAI,CAAC,EAC3D,GAAIA,EAAS,SAAW,CAAE,SAAUA,EAAS,QAAS,EAAI,CAAC,EAC3D,GAAIA,EAAS,IAAM,CAAE,IAAK,CAAC,CAAE,EAAI,CAAC,EAClC,YAAa,EACd,EACA,KAAK,OAASA,EAAS,QACpB,IAAIN,EAAQ,CAACQ,CAAI,EAAG,CACpB,GAAGD,EACH,aAAcE,EACd,YAAa,EACd,CAAC,EACA,IAAIR,EAAM,CAAE,GAAGQ,EAAQ,GAAGD,CAAK,CAAC,EACnC,KAAK,OAAO,GAAG,QAAS,MAAOE,GAAU,CACxCP,EAAS,MAAM,IAAID,EAAc,0BAA2B,CAAC,EAAGQ,CAAK,CAAC,CACvE,CAAC,EACIH,GAAaJ,EAAS,GAAG,QAAS,SAAY,KAAK,OAAO,QAAQ,EAAG,CAAC,EAC3EA,EAAS,GAAG,QAAS,SAAY,KAAK,OAAO,KAAK,EAAG,CAAC,CACvD,CAEQ,aAAaQ,EAAqB,CACzC,OAAOR,EAAS,IAAI,EAAE,cAAcQ,EAAK,GAAG,CAC7C,CAEA,MAAM,OAAOA,EAAa,CACzB,MAAM,KAAK,OAAO,IAAI,KAAK,aAAaA,CAAG,CAAC,CAC7C,CAEA,MAAM,IAAIA,EAAa,CACtB,OAAO,MAAM,KAAK,OAAO,IAAI,KAAK,aAAaA,CAAG,CAAC,CACpD,CAEA,MAAM,IAAIA,EAAaC,EAAcC,EAAoB,CACpDA,EAAW,MAAM,KAAK,OAAO,MAAM,KAAK,aAAaF,CAAG,EAAGE,EAAWD,CAAI,EACzE,KAAK,OAAO,IAAI,KAAK,aAAaD,CAAG,EAAGC,CAAI,CAClD,CAEA,MAAM,SAAYD,EAAaG,EAAsBD,EAAoB,CACxE,MAAME,EAAS,MAAM,KAAK,IAAI,KAAK,aAAaJ,CAAG,CAAC,EACpD,GAAII,EAAQ,OAAO,KAAK,MAAMA,CAAM,EAEpC,MAAMC,EAAS,MAAMF,EAAG,EACxB,MAAM,KAAK,IAAI,KAAK,aAAaH,CAAG,EAAG,KAAK,UAAUK,CAAM,EAAGH,CAAS,CACzE,CACD","names":["Cluster","Redis","EquippedError","Instance","Cache","RedisCache","settings","extraConfig","node","common","error","key","data","ttlInSecs","fn","cached","result"]}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { Cluster, Redis } from "ioredis";
|
|
2
|
-
import { EquippedError } from "../../errors/index.mjs";
|
|
3
|
-
import { Instance } from "../../instance/index.mjs";
|
|
4
|
-
import { Cache } from "../base.mjs";
|
|
5
|
-
import {} from "../pipes.mjs";
|
|
6
|
-
class RedisCache extends Cache {
|
|
7
|
-
client;
|
|
8
|
-
constructor(settings, extraConfig) {
|
|
9
|
-
super();
|
|
10
|
-
const node = {
|
|
11
|
-
...settings.host ? { host: settings.host } : {},
|
|
12
|
-
...settings.port ? { port: settings.port } : {}
|
|
13
|
-
};
|
|
14
|
-
const common = {
|
|
15
|
-
...extraConfig,
|
|
16
|
-
...settings.password ? { password: settings.password } : {},
|
|
17
|
-
...settings.username ? { username: settings.username } : {},
|
|
18
|
-
...settings.tls ? { tls: {} } : {},
|
|
19
|
-
lazyConnect: true
|
|
20
|
-
};
|
|
21
|
-
this.client = settings.cluster ? new Cluster([node], {
|
|
22
|
-
...extraConfig,
|
|
23
|
-
redisOptions: common,
|
|
24
|
-
lazyConnect: true
|
|
25
|
-
}) : new Redis({ ...common, ...node });
|
|
26
|
-
this.client.on("error", async (error) => {
|
|
27
|
-
Instance.crash(new EquippedError(`Redis failed with error`, {}, error));
|
|
28
|
-
});
|
|
29
|
-
if (!extraConfig) Instance.on("start", async () => this.client.connect(), 1);
|
|
30
|
-
Instance.on("close", async () => this.client.quit(), 1);
|
|
31
|
-
}
|
|
32
|
-
getScopedKey(key) {
|
|
33
|
-
return Instance.get().getScopedName(key, ":");
|
|
34
|
-
}
|
|
35
|
-
async delete(key) {
|
|
36
|
-
await this.client.del(this.getScopedKey(key));
|
|
37
|
-
}
|
|
38
|
-
async get(key) {
|
|
39
|
-
return await this.client.get(this.getScopedKey(key));
|
|
40
|
-
}
|
|
41
|
-
async set(key, data, ttlInSecs) {
|
|
42
|
-
if (ttlInSecs) await this.client.setex(this.getScopedKey(key), ttlInSecs, data);
|
|
43
|
-
else this.client.set(this.getScopedKey(key), data);
|
|
44
|
-
}
|
|
45
|
-
async getOrSet(key, fn, ttlInSecs) {
|
|
46
|
-
const cached = await this.get(this.getScopedKey(key));
|
|
47
|
-
if (cached) return JSON.parse(cached);
|
|
48
|
-
const result = await fn();
|
|
49
|
-
await this.set(this.getScopedKey(key), JSON.stringify(result), ttlInSecs);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
export {
|
|
53
|
-
RedisCache
|
|
54
|
-
};
|
|
55
|
-
//# sourceMappingURL=redis.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/cache/types/redis.ts"],"sourcesContent":["import { Cluster, Redis, type RedisOptions } from 'ioredis'\n\nimport { EquippedError } from '../../errors'\nimport { Instance } from '../../instance'\nimport { Cache } from '../base'\nimport { type RedisConfig } from '../pipes'\n\nexport class RedisCache extends Cache {\n\tclient: Redis | Cluster\n\n\tconstructor(settings: RedisConfig, extraConfig?: Partial<RedisOptions>) {\n\t\tsuper()\n\t\tconst node = {\n\t\t\t...(settings.host ? { host: settings.host } : {}),\n\t\t\t...(settings.port ? { port: settings.port } : {}),\n\t\t}\n\t\tconst common = {\n\t\t\t...extraConfig,\n\t\t\t...(settings.password ? { password: settings.password } : {}),\n\t\t\t...(settings.username ? { username: settings.username } : {}),\n\t\t\t...(settings.tls ? { tls: {} } : {}),\n\t\t\tlazyConnect: true,\n\t\t}\n\t\tthis.client = settings.cluster\n\t\t\t? new Cluster([node], {\n\t\t\t\t\t...extraConfig,\n\t\t\t\t\tredisOptions: common,\n\t\t\t\t\tlazyConnect: true,\n\t\t\t\t})\n\t\t\t: new Redis({ ...common, ...node })\n\t\tthis.client.on('error', async (error) => {\n\t\t\tInstance.crash(new EquippedError(`Redis failed with error`, {}, error))\n\t\t})\n\t\tif (!extraConfig) Instance.on('start', async () => this.client.connect(), 1)\n\t\tInstance.on('close', async () => this.client.quit(), 1)\n\t}\n\n\tprivate getScopedKey(key: string): string {\n\t\treturn Instance.get().getScopedName(key, ':')\n\t}\n\n\tasync delete(key: string) {\n\t\tawait this.client.del(this.getScopedKey(key))\n\t}\n\n\tasync get(key: string) {\n\t\treturn await this.client.get(this.getScopedKey(key))\n\t}\n\n\tasync set(key: string, data: string, ttlInSecs?: number) {\n\t\tif (ttlInSecs) await this.client.setex(this.getScopedKey(key), ttlInSecs, data)\n\t\telse this.client.set(this.getScopedKey(key), data)\n\t}\n\n\tasync getOrSet<T>(key: string, fn: () => Promise<T>, ttlInSecs?: number) {\n\t\tconst cached = await this.get(this.getScopedKey(key))\n\t\tif (cached) return JSON.parse(cached)\n\n\t\tconst result = await fn()\n\t\tawait this.set(this.getScopedKey(key), JSON.stringify(result), ttlInSecs)\n\t}\n}\n"],"mappings":"AAAA,SAAS,SAAS,aAAgC;AAElD,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB;AACzB,SAAS,aAAa;AACtB,eAAiC;AAE1B,MAAM,mBAAmB,MAAM;AAAA,EACrC;AAAA,EAEA,YAAY,UAAuB,aAAqC;AACvE,UAAM;AACN,UAAM,OAAO;AAAA,MACZ,GAAI,SAAS,OAAO,EAAE,MAAM,SAAS,KAAK,IAAI,CAAC;AAAA,MAC/C,GAAI,SAAS,OAAO,EAAE,MAAM,SAAS,KAAK,IAAI,CAAC;AAAA,IAChD;AACA,UAAM,SAAS;AAAA,MACd,GAAG;AAAA,MACH,GAAI,SAAS,WAAW,EAAE,UAAU,SAAS,SAAS,IAAI,CAAC;AAAA,MAC3D,GAAI,SAAS,WAAW,EAAE,UAAU,SAAS,SAAS,IAAI,CAAC;AAAA,MAC3D,GAAI,SAAS,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC;AAAA,MAClC,aAAa;AAAA,IACd;AACA,SAAK,SAAS,SAAS,UACpB,IAAI,QAAQ,CAAC,IAAI,GAAG;AAAA,MACpB,GAAG;AAAA,MACH,cAAc;AAAA,MACd,aAAa;AAAA,IACd,CAAC,IACA,IAAI,MAAM,EAAE,GAAG,QAAQ,GAAG,KAAK,CAAC;AACnC,SAAK,OAAO,GAAG,SAAS,OAAO,UAAU;AACxC,eAAS,MAAM,IAAI,cAAc,2BAA2B,CAAC,GAAG,KAAK,CAAC;AAAA,IACvE,CAAC;AACD,QAAI,CAAC,YAAa,UAAS,GAAG,SAAS,YAAY,KAAK,OAAO,QAAQ,GAAG,CAAC;AAC3E,aAAS,GAAG,SAAS,YAAY,KAAK,OAAO,KAAK,GAAG,CAAC;AAAA,EACvD;AAAA,EAEQ,aAAa,KAAqB;AACzC,WAAO,SAAS,IAAI,EAAE,cAAc,KAAK,GAAG;AAAA,EAC7C;AAAA,EAEA,MAAM,OAAO,KAAa;AACzB,UAAM,KAAK,OAAO,IAAI,KAAK,aAAa,GAAG,CAAC;AAAA,EAC7C;AAAA,EAEA,MAAM,IAAI,KAAa;AACtB,WAAO,MAAM,KAAK,OAAO,IAAI,KAAK,aAAa,GAAG,CAAC;AAAA,EACpD;AAAA,EAEA,MAAM,IAAI,KAAa,MAAc,WAAoB;AACxD,QAAI,UAAW,OAAM,KAAK,OAAO,MAAM,KAAK,aAAa,GAAG,GAAG,WAAW,IAAI;AAAA,QACzE,MAAK,OAAO,IAAI,KAAK,aAAa,GAAG,GAAG,IAAI;AAAA,EAClD;AAAA,EAEA,MAAM,SAAY,KAAa,IAAsB,WAAoB;AACxE,UAAM,SAAS,MAAM,KAAK,IAAI,KAAK,aAAa,GAAG,CAAC;AACpD,QAAI,OAAQ,QAAO,KAAK,MAAM,MAAM;AAEpC,UAAM,SAAS,MAAM,GAAG;AACxB,UAAM,KAAK,IAAI,KAAK,aAAa,GAAG,GAAG,KAAK,UAAU,MAAM,GAAG,SAAS;AAAA,EACzE;AACD;","names":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import r from"axios";import"./core";import"./types";import{EquippedError as n}from "../../errors/index.min.mjs";const a="db-changes";class d{constructor(e,o,t){this.config=e;this.callbacks=o;this.mapper=t}async configureConnector(e,o){const t=r.create({baseURL:this.config.debeziumUrl});return await t.put(`/connectors/${e}/config`,{"topic.prefix":a,"topic.creation.enable":"false","topic.creation.default.replication.factor":"-1","topic.creation.default.partitions":"-1","key.converter":"org.apache.kafka.connect.json.JsonConverter","key.converter.schemas.enable":"false","value.converter":"org.apache.kafka.connect.json.JsonConverter","value.converter.schemas.enable":"false",...o}).then(async()=>(await t.get(`/connectors/${e}/topics`)).data[e]?.topics?.includes?.(e)??!1).catch(c=>{throw new n("Failed to configure watcher",{key:e},c)})}}export{d as DbChange,a as TopicPrefix};
|
|
2
|
-
//# sourceMappingURL=changes.min.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/dbs/base/changes.ts"],"sourcesContent":["import axios from 'axios'\n\nimport * as core from './core'\nimport { type DbChangeConfig } from './types'\nimport { EquippedError } from '../../errors'\n\nexport const TopicPrefix = 'db-changes'\n\nexport abstract class DbChange<Model extends core.Model<core.IdType>, Entity extends core.Entity> {\n\tconstructor(\n\t\tprotected config: DbChangeConfig,\n\t\tprotected callbacks: core.DbChangeCallbacks<Model, Entity>,\n\t\tprotected mapper: (model: Model) => Entity,\n\t) {}\n\n\tprotected async configureConnector(key: string, data: Record<string, string>) {\n\t\tconst instance = axios.create({ baseURL: this.config.debeziumUrl })\n\t\treturn await instance\n\t\t\t.put(`/connectors/${key}/config`, {\n\t\t\t\t'topic.prefix': TopicPrefix,\n\t\t\t\t'topic.creation.enable': 'false',\n\t\t\t\t'topic.creation.default.replication.factor': `-1`,\n\t\t\t\t'topic.creation.default.partitions': '-1',\n\t\t\t\t'key.converter': 'org.apache.kafka.connect.json.JsonConverter',\n\t\t\t\t'key.converter.schemas.enable': 'false',\n\t\t\t\t'value.converter': 'org.apache.kafka.connect.json.JsonConverter',\n\t\t\t\t'value.converter.schemas.enable': 'false',\n\t\t\t\t...data,\n\t\t\t})\n\t\t\t.then(async () => {\n\t\t\t\tconst topics = await instance.get(`/connectors/${key}/topics`)\n\t\t\t\treturn topics.data[key]?.topics?.includes?.(key) ?? false\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tthrow new EquippedError(`Failed to configure watcher`, { key }, err)\n\t\t\t})\n\t}\n}\n"],"mappings":"AAAA,OAAOA,MAAW,QAElB,MAAsB,SACtB,MAAoC,UACpC,OAAS,iBAAAC,MAAqB,eAEvB,MAAMC,EAAc,aAEpB,MAAeC,CAA4E,CACjG,YACWC,EACAC,EACAC,EACT,CAHS,YAAAF,EACA,eAAAC,EACA,YAAAC,CACR,CAEH,MAAgB,mBAAmBC,EAAaC,EAA8B,CAC7E,MAAMC,EAAWT,EAAM,OAAO,CAAE,QAAS,KAAK,OAAO,WAAY,CAAC,EAClE,OAAO,MAAMS,EACX,IAAI,eAAeF,CAAG,UAAW,CACjC,eAAgBL,EAChB,wBAAyB,QACzB,4CAA6C,KAC7C,oCAAqC,KACrC,gBAAiB,8CACjB,+BAAgC,QAChC,kBAAmB,8CACnB,iCAAkC,QAClC,GAAGM,CACJ,CAAC,EACA,KAAK,UACU,MAAMC,EAAS,IAAI,eAAeF,CAAG,SAAS,GAC/C,KAAKA,CAAG,GAAG,QAAQ,WAAWA,CAAG,GAAK,EACpD,EACA,MAAOG,GAAQ,CACf,MAAM,IAAIT,EAAc,8BAA+B,CAAE,IAAAM,CAAI,EAAGG,CAAG,CACpE,CAAC,CACH,CACD","names":["axios","EquippedError","TopicPrefix","DbChange","config","callbacks","mapper","key","data","instance","err"]}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import axios from "axios";
|
|
2
|
-
import * as core from "./core.mjs";
|
|
3
|
-
import {} from "./types.mjs";
|
|
4
|
-
import { EquippedError } from "../../errors/index.mjs";
|
|
5
|
-
const TopicPrefix = "db-changes";
|
|
6
|
-
class DbChange {
|
|
7
|
-
constructor(config, callbacks, mapper) {
|
|
8
|
-
this.config = config;
|
|
9
|
-
this.callbacks = callbacks;
|
|
10
|
-
this.mapper = mapper;
|
|
11
|
-
}
|
|
12
|
-
async configureConnector(key, data) {
|
|
13
|
-
const instance = axios.create({ baseURL: this.config.debeziumUrl });
|
|
14
|
-
return await instance.put(`/connectors/${key}/config`, {
|
|
15
|
-
"topic.prefix": TopicPrefix,
|
|
16
|
-
"topic.creation.enable": "false",
|
|
17
|
-
"topic.creation.default.replication.factor": `-1`,
|
|
18
|
-
"topic.creation.default.partitions": "-1",
|
|
19
|
-
"key.converter": "org.apache.kafka.connect.json.JsonConverter",
|
|
20
|
-
"key.converter.schemas.enable": "false",
|
|
21
|
-
"value.converter": "org.apache.kafka.connect.json.JsonConverter",
|
|
22
|
-
"value.converter.schemas.enable": "false",
|
|
23
|
-
...data
|
|
24
|
-
}).then(async () => {
|
|
25
|
-
const topics = await instance.get(`/connectors/${key}/topics`);
|
|
26
|
-
return topics.data[key]?.topics?.includes?.(key) ?? false;
|
|
27
|
-
}).catch((err) => {
|
|
28
|
-
throw new EquippedError(`Failed to configure watcher`, { key }, err);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
export {
|
|
33
|
-
DbChange,
|
|
34
|
-
TopicPrefix
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=changes.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/dbs/base/changes.ts"],"sourcesContent":["import axios from 'axios'\n\nimport * as core from './core'\nimport { type DbChangeConfig } from './types'\nimport { EquippedError } from '../../errors'\n\nexport const TopicPrefix = 'db-changes'\n\nexport abstract class DbChange<Model extends core.Model<core.IdType>, Entity extends core.Entity> {\n\tconstructor(\n\t\tprotected config: DbChangeConfig,\n\t\tprotected callbacks: core.DbChangeCallbacks<Model, Entity>,\n\t\tprotected mapper: (model: Model) => Entity,\n\t) {}\n\n\tprotected async configureConnector(key: string, data: Record<string, string>) {\n\t\tconst instance = axios.create({ baseURL: this.config.debeziumUrl })\n\t\treturn await instance\n\t\t\t.put(`/connectors/${key}/config`, {\n\t\t\t\t'topic.prefix': TopicPrefix,\n\t\t\t\t'topic.creation.enable': 'false',\n\t\t\t\t'topic.creation.default.replication.factor': `-1`,\n\t\t\t\t'topic.creation.default.partitions': '-1',\n\t\t\t\t'key.converter': 'org.apache.kafka.connect.json.JsonConverter',\n\t\t\t\t'key.converter.schemas.enable': 'false',\n\t\t\t\t'value.converter': 'org.apache.kafka.connect.json.JsonConverter',\n\t\t\t\t'value.converter.schemas.enable': 'false',\n\t\t\t\t...data,\n\t\t\t})\n\t\t\t.then(async () => {\n\t\t\t\tconst topics = await instance.get(`/connectors/${key}/topics`)\n\t\t\t\treturn topics.data[key]?.topics?.includes?.(key) ?? false\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tthrow new EquippedError(`Failed to configure watcher`, { key }, err)\n\t\t\t})\n\t}\n}\n"],"mappings":"AAAA,OAAO,WAAW;AAElB,YAAY,UAAU;AACtB,eAAoC;AACpC,SAAS,qBAAqB;AAEvB,MAAM,cAAc;AAEpB,MAAe,SAA4E;AAAA,EACjG,YACW,QACA,WACA,QACT;AAHS;AACA;AACA;AAAA,EACR;AAAA,EAEH,MAAgB,mBAAmB,KAAa,MAA8B;AAC7E,UAAM,WAAW,MAAM,OAAO,EAAE,SAAS,KAAK,OAAO,YAAY,CAAC;AAClE,WAAO,MAAM,SACX,IAAI,eAAe,GAAG,WAAW;AAAA,MACjC,gBAAgB;AAAA,MAChB,yBAAyB;AAAA,MACzB,6CAA6C;AAAA,MAC7C,qCAAqC;AAAA,MACrC,iBAAiB;AAAA,MACjB,gCAAgC;AAAA,MAChC,mBAAmB;AAAA,MACnB,kCAAkC;AAAA,MAClC,GAAG;AAAA,IACJ,CAAC,EACA,KAAK,YAAY;AACjB,YAAM,SAAS,MAAM,SAAS,IAAI,eAAe,GAAG,SAAS;AAC7D,aAAO,OAAO,KAAK,GAAG,GAAG,QAAQ,WAAW,GAAG,KAAK;AAAA,IACrD,CAAC,EACA,MAAM,CAAC,QAAQ;AACf,YAAM,IAAI,cAAc,+BAA+B,EAAE,IAAI,GAAG,GAAG;AAAA,IACpE,CAAC;AAAA,EACH;AACD;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=core.min.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=core.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/dbs/base/db.ts"],"sourcesContent":["import * as core from './core'\nimport type { DbConfig } from './types'\nimport { Instance } from '../../instance'\n\nexport type TableOptions = { skipAudit?: boolean }\n\nexport abstract class Db<IdKey extends core.IdType> {\n\tconstructor(protected config: DbConfig) {}\n\n\tprotected getScopedDb(db: string) {\n\t\treturn Instance.get().getScopedName(db).replaceAll('.', '-')\n\t}\n\n\tabstract use<Model extends core.Model<IdKey>, Entity extends core.Entity>(\n\t\tconfig: core.Config<Model, Entity>,\n\t): core.Table<IdKey, Model, Entity>\n\n\tabstract session<T>(callback: () => Promise<T>): Promise<T>\n}\n"],"mappings":"AAAA,MAAsB,SAEtB,OAAS,YAAAA,MAAgB,iBAIlB,MAAeC,CAA8B,CACnD,YAAsBC,EAAkB,CAAlB,YAAAA,CAAmB,CAE/B,YAAYC,EAAY,CACjC,OAAOH,EAAS,IAAI,EAAE,cAAcG,CAAE,EAAE,WAAW,IAAK,GAAG,CAC5D,CAOD","names":["Instance","Db","config","db"]}
|
package/dist/esm/dbs/base/db.mjs
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as core from "./core.mjs";
|
|
2
|
-
import { Instance } from "../../instance/index.mjs";
|
|
3
|
-
class Db {
|
|
4
|
-
constructor(config) {
|
|
5
|
-
this.config = config;
|
|
6
|
-
}
|
|
7
|
-
getScopedDb(db) {
|
|
8
|
-
return Instance.get().getScopedName(db).replaceAll(".", "-");
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export {
|
|
12
|
-
Db
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=db.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/dbs/base/db.ts"],"sourcesContent":["import * as core from './core'\nimport type { DbConfig } from './types'\nimport { Instance } from '../../instance'\n\nexport type TableOptions = { skipAudit?: boolean }\n\nexport abstract class Db<IdKey extends core.IdType> {\n\tconstructor(protected config: DbConfig) {}\n\n\tprotected getScopedDb(db: string) {\n\t\treturn Instance.get().getScopedName(db).replaceAll('.', '-')\n\t}\n\n\tabstract use<Model extends core.Model<IdKey>, Entity extends core.Entity>(\n\t\tconfig: core.Config<Model, Entity>,\n\t): core.Table<IdKey, Model, Entity>\n\n\tabstract session<T>(callback: () => Promise<T>): Promise<T>\n}\n"],"mappings":"AAAA,YAAY,UAAU;AAEtB,SAAS,gBAAgB;AAIlB,MAAe,GAA8B;AAAA,EACnD,YAAsB,QAAkB;AAAlB;AAAA,EAAmB;AAAA,EAE/B,YAAY,IAAY;AACjC,WAAO,SAAS,IAAI,EAAE,cAAc,EAAE,EAAE,WAAW,KAAK,GAAG;AAAA,EAC5D;AAOD;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/dbs/base/types.ts"],"sourcesContent":["import { KafkaEventBus } from '../../events'\n\nexport type DbChangeConfig = {\n\teventBus: KafkaEventBus\n\tdebeziumUrl: string\n}\n\nexport type DbConfig = {\n\tchanges?: DbChangeConfig\n}\n"],"mappings":"AAAA,MAA8B","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/dbs/base/types.ts"],"sourcesContent":["import { KafkaEventBus } from '../../events'\n\nexport type DbChangeConfig = {\n\teventBus: KafkaEventBus\n\tdebeziumUrl: string\n}\n\nexport type DbConfig = {\n\tchanges?: DbChangeConfig\n}\n"],"mappings":"AAAA,SAAS,qBAAqB;","names":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"mongodb";import{differ as m}from"valleyed";import{EquippedError as y}from "../../errors/index.min.mjs";import{Instance as s}from "../../instance/index.min.mjs";import{retry as C}from "../../utilities/index.min.mjs";import{DbChange as _,TopicPrefix as D}from "../base/changes.min.mjs";import"../base/core";class S extends _{#e=!1;constructor(u,c,n,b,g){super(c,b,g);const l=e=>e._id?{...e,_id:e._id.$oid??e._id}:void 0,h=n.dbName,d=n.collectionName,r=`${h}.${d}`,f=`${D}.${r}`,a="5f5f65717569707065645f5f",p={_id:a};c.eventBus.createStream(f,{skipScope:!0}).subscribe(async e=>{const i=e.op;let t=JSON.parse(e.before??"null"),o=JSON.parse(e.after??"null");t&&(t=l(t)),o&&(o=l(o)),!(t?._id===a||o?._id===a)&&(i==="c"&&this.callbacks.created&&o?await this.callbacks.created({before:null,after:this.mapper(o)}):i==="u"&&this.callbacks.updated&&t&&o?await this.callbacks.updated({before:this.mapper(t),after:this.mapper(o),changes:m.from(m.diff(t,o))}):i==="d"&&this.callbacks.deleted&&t&&await this.callbacks.deleted({before:this.mapper(t),after:null}))}),s.on("start",async()=>{this.#e||(this.#e=!0,await C(async()=>await this.configureConnector(f,{"connector.class":"io.debezium.connector.mongodb.MongoDbConnector","capture.mode":"change_streams_update_full_with_pre_image","mongodb.connection.string":u.uri,"collection.include.list":r,"snapshot.mode":"when_needed","capture.scope":"collection","capture.target":r,"heartbeat.interval.ms":"60000","errors.max.retries":"3"})?{done:!0,value:!0}:(await n.findOneAndUpdate(p,{$set:{colName:d}},{upsert:!0}),await n.findOneAndDelete(p),s.get().log.warn(`Waiting for db changes for ${r} to start...`),{done:!1}),6,3e4).catch(e=>s.crash(new y("Failed to start db changes",{dbColName:r},e))))},10)}}export{S as MongoDbChange};
|
|
2
|
-
//# sourceMappingURL=changes.min.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/dbs/mongo/changes.ts"],"sourcesContent":["import { Collection, type Filter } from 'mongodb'\nimport { differ } from 'valleyed'\n\nimport { EquippedError } from '../../errors'\nimport { Instance } from '../../instance'\nimport { retry } from '../../utilities'\nimport { DbChange, TopicPrefix } from '../base/changes'\nimport * as core from '../base/core'\nimport type { DbChangeConfig } from '../base/types'\nimport type { MongoDbConfig } from '../pipes'\n\nexport class MongoDbChange<Model extends core.Model<{ _id: string }>, Entity extends core.Entity> extends DbChange<Model, Entity> {\n\t#started = false\n\n\tconstructor(\n\t\tconfig: MongoDbConfig,\n\t\tchange: DbChangeConfig,\n\t\tcollection: Collection<Model>,\n\t\tcallbacks: core.DbChangeCallbacks<Model, Entity>,\n\t\tmapper: (model: Model) => Entity,\n\t) {\n\t\tsuper(change, callbacks, mapper)\n\n\t\tconst hydrate = (data: any) =>\n\t\t\tdata._id\n\t\t\t\t? {\n\t\t\t\t\t\t...data,\n\t\t\t\t\t\t_id: data._id['$oid'] ?? data._id,\n\t\t\t\t\t}\n\t\t\t\t: undefined\n\n\t\tconst dbName = collection.dbName\n\t\tconst colName = collection.collectionName\n\t\tconst dbColName = `${dbName}.${colName}`\n\t\tconst topic = `${TopicPrefix}.${dbColName}`\n\n\t\tconst TestId = '5f5f65717569707065645f5f' // __equipped__\n\t\tconst condition = { _id: TestId } as Filter<Model>\n\n\t\tchange.eventBus.createStream(topic as never, { skipScope: true }).subscribe(async (data: DbDocumentChange) => {\n\t\t\tconst op = data.op\n\n\t\t\tlet before = JSON.parse(data.before ?? 'null')\n\t\t\tlet after = JSON.parse(data.after ?? 'null')\n\n\t\t\tif (before) before = hydrate(before)\n\t\t\tif (after) after = hydrate(after)\n\t\t\tif (before?._id === TestId || after?._id === TestId) return\n\n\t\t\tif (op === 'c' && this.callbacks.created && after)\n\t\t\t\tawait this.callbacks.created({\n\t\t\t\t\tbefore: null,\n\t\t\t\t\tafter: this.mapper(after)!,\n\t\t\t\t})\n\t\t\telse if (op === 'u' && this.callbacks.updated && before && after)\n\t\t\t\tawait this.callbacks.updated({\n\t\t\t\t\tbefore: this.mapper(before)!,\n\t\t\t\t\tafter: this.mapper(after)!,\n\t\t\t\t\tchanges: differ.from(differ.diff(before, after)),\n\t\t\t\t})\n\t\t\telse if (op === 'd' && this.callbacks.deleted && before)\n\t\t\t\tawait this.callbacks.deleted({\n\t\t\t\t\tbefore: this.mapper(before)!,\n\t\t\t\t\tafter: null,\n\t\t\t\t})\n\t\t})\n\n\t\tInstance.on(\n\t\t\t'start',\n\t\t\tasync () => {\n\t\t\t\tif (this.#started) return\n\t\t\t\tthis.#started = true\n\n\t\t\t\tawait retry(\n\t\t\t\t\tasync () => {\n\t\t\t\t\t\tconst started = await this.configureConnector(topic, {\n\t\t\t\t\t\t\t'connector.class': 'io.debezium.connector.mongodb.MongoDbConnector',\n\t\t\t\t\t\t\t'capture.mode': 'change_streams_update_full_with_pre_image',\n\t\t\t\t\t\t\t'mongodb.connection.string': config.uri,\n\t\t\t\t\t\t\t'collection.include.list': dbColName,\n\t\t\t\t\t\t\t'snapshot.mode': 'when_needed',\n\t\t\t\t\t\t\t'capture.scope': 'collection',\n\t\t\t\t\t\t\t'capture.target': dbColName,\n\t\t\t\t\t\t\t'heartbeat.interval.ms': '60000',\n\t\t\t\t\t\t\t'errors.max.retries': '3',\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tif (started) return { done: true, value: true }\n\t\t\t\t\t\tawait collection.findOneAndUpdate(condition, { $set: { colName } as any }, { upsert: true })\n\t\t\t\t\t\tawait collection.findOneAndDelete(condition)\n\t\t\t\t\t\tInstance.get().log.warn(`Waiting for db changes for ${dbColName} to start...`)\n\t\t\t\t\t\treturn { done: false }\n\t\t\t\t\t},\n\t\t\t\t\t6,\n\t\t\t\t\t30_000,\n\t\t\t\t).catch((err) => Instance.crash(new EquippedError(`Failed to start db changes`, { dbColName }, err)))\n\t\t\t},\n\t\t\t10,\n\t\t)\n\t}\n}\n\ntype DbDocumentChange = {\n\tbefore: string | null\n\tafter: string | null\n\top: 'c' | 'u' | 'd'\n}\n"],"mappings":"AAAA,MAAwC,UACxC,OAAS,UAAAA,MAAc,WAEvB,OAAS,iBAAAC,MAAqB,eAC9B,OAAS,YAAAC,MAAgB,iBACzB,OAAS,SAAAC,MAAa,kBACtB,OAAS,YAAAC,EAAU,eAAAC,MAAmB,kBACtC,MAAsB,eAIf,MAAMC,UAA6FF,CAAwB,CACjIG,GAAW,GAEX,YACCC,EACAC,EACAC,EACAC,EACAC,EACC,CACD,MAAMH,EAAQE,EAAWC,CAAM,EAE/B,MAAMC,EAAWC,GAChBA,EAAK,IACF,CACA,GAAGA,EACH,IAAKA,EAAK,IAAI,MAAWA,EAAK,GAC/B,EACC,OAEEC,EAASL,EAAW,OACpBM,EAAUN,EAAW,eACrBO,EAAY,GAAGF,CAAM,IAAIC,CAAO,GAChCE,EAAQ,GAAGb,CAAW,IAAIY,CAAS,GAEnCE,EAAS,2BACTC,EAAY,CAAE,IAAKD,CAAO,EAEhCV,EAAO,SAAS,aAAaS,EAAgB,CAAE,UAAW,EAAK,CAAC,EAAE,UAAU,MAAOJ,GAA2B,CAC7G,MAAMO,EAAKP,EAAK,GAEhB,IAAIQ,EAAS,KAAK,MAAMR,EAAK,QAAU,MAAM,EACzCS,EAAQ,KAAK,MAAMT,EAAK,OAAS,MAAM,EAEvCQ,IAAQA,EAAST,EAAQS,CAAM,GAC/BC,IAAOA,EAAQV,EAAQU,CAAK,GAC5B,EAAAD,GAAQ,MAAQH,GAAUI,GAAO,MAAQJ,KAEzCE,IAAO,KAAO,KAAK,UAAU,SAAWE,EAC3C,MAAM,KAAK,UAAU,QAAQ,CAC5B,OAAQ,KACR,MAAO,KAAK,OAAOA,CAAK,CACzB,CAAC,EACOF,IAAO,KAAO,KAAK,UAAU,SAAWC,GAAUC,EAC1D,MAAM,KAAK,UAAU,QAAQ,CAC5B,OAAQ,KAAK,OAAOD,CAAM,EAC1B,MAAO,KAAK,OAAOC,CAAK,EACxB,QAASvB,EAAO,KAAKA,EAAO,KAAKsB,EAAQC,CAAK,CAAC,CAChD,CAAC,EACOF,IAAO,KAAO,KAAK,UAAU,SAAWC,GAChD,MAAM,KAAK,UAAU,QAAQ,CAC5B,OAAQ,KAAK,OAAOA,CAAM,EAC1B,MAAO,IACR,CAAC,EACH,CAAC,EAEDpB,EAAS,GACR,QACA,SAAY,CACP,KAAKK,KACT,KAAKA,GAAW,GAEhB,MAAMJ,EACL,SACiB,MAAM,KAAK,mBAAmBe,EAAO,CACpD,kBAAmB,iDACnB,eAAgB,4CAChB,4BAA6BV,EAAO,IACpC,0BAA2BS,EAC3B,gBAAiB,cACjB,gBAAiB,aACjB,iBAAkBA,EAClB,wBAAyB,QACzB,qBAAsB,GACvB,CAAC,EAEmB,CAAE,KAAM,GAAM,MAAO,EAAK,GAC9C,MAAMP,EAAW,iBAAiBU,EAAW,CAAE,KAAM,CAAE,QAAAJ,CAAQ,CAAS,EAAG,CAAE,OAAQ,EAAK,CAAC,EAC3F,MAAMN,EAAW,iBAAiBU,CAAS,EAC3ClB,EAAS,IAAI,EAAE,IAAI,KAAK,8BAA8Be,CAAS,cAAc,EACtE,CAAE,KAAM,EAAM,GAEtB,EACA,GACD,EAAE,MAAOO,GAAQtB,EAAS,MAAM,IAAID,EAAc,6BAA8B,CAAE,UAAAgB,CAAU,EAAGO,CAAG,CAAC,CAAC,EACrG,EACA,EACD,CACD,CACD","names":["differ","EquippedError","Instance","retry","DbChange","TopicPrefix","MongoDbChange","#started","config","change","collection","callbacks","mapper","hydrate","data","dbName","colName","dbColName","topic","TestId","condition","op","before","after","err"]}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { Collection } from "mongodb";
|
|
2
|
-
import { differ } from "valleyed";
|
|
3
|
-
import { EquippedError } from "../../errors/index.mjs";
|
|
4
|
-
import { Instance } from "../../instance/index.mjs";
|
|
5
|
-
import { retry } from "../../utilities/index.mjs";
|
|
6
|
-
import { DbChange, TopicPrefix } from "../base/changes.mjs";
|
|
7
|
-
import * as core from "../base/core.mjs";
|
|
8
|
-
class MongoDbChange extends DbChange {
|
|
9
|
-
#started = false;
|
|
10
|
-
constructor(config, change, collection, callbacks, mapper) {
|
|
11
|
-
super(change, callbacks, mapper);
|
|
12
|
-
const hydrate = (data) => data._id ? {
|
|
13
|
-
...data,
|
|
14
|
-
_id: data._id["$oid"] ?? data._id
|
|
15
|
-
} : void 0;
|
|
16
|
-
const dbName = collection.dbName;
|
|
17
|
-
const colName = collection.collectionName;
|
|
18
|
-
const dbColName = `${dbName}.${colName}`;
|
|
19
|
-
const topic = `${TopicPrefix}.${dbColName}`;
|
|
20
|
-
const TestId = "5f5f65717569707065645f5f";
|
|
21
|
-
const condition = { _id: TestId };
|
|
22
|
-
change.eventBus.createStream(topic, { skipScope: true }).subscribe(async (data) => {
|
|
23
|
-
const op = data.op;
|
|
24
|
-
let before = JSON.parse(data.before ?? "null");
|
|
25
|
-
let after = JSON.parse(data.after ?? "null");
|
|
26
|
-
if (before) before = hydrate(before);
|
|
27
|
-
if (after) after = hydrate(after);
|
|
28
|
-
if (before?._id === TestId || after?._id === TestId) return;
|
|
29
|
-
if (op === "c" && this.callbacks.created && after)
|
|
30
|
-
await this.callbacks.created({
|
|
31
|
-
before: null,
|
|
32
|
-
after: this.mapper(after)
|
|
33
|
-
});
|
|
34
|
-
else if (op === "u" && this.callbacks.updated && before && after)
|
|
35
|
-
await this.callbacks.updated({
|
|
36
|
-
before: this.mapper(before),
|
|
37
|
-
after: this.mapper(after),
|
|
38
|
-
changes: differ.from(differ.diff(before, after))
|
|
39
|
-
});
|
|
40
|
-
else if (op === "d" && this.callbacks.deleted && before)
|
|
41
|
-
await this.callbacks.deleted({
|
|
42
|
-
before: this.mapper(before),
|
|
43
|
-
after: null
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
Instance.on(
|
|
47
|
-
"start",
|
|
48
|
-
async () => {
|
|
49
|
-
if (this.#started) return;
|
|
50
|
-
this.#started = true;
|
|
51
|
-
await retry(
|
|
52
|
-
async () => {
|
|
53
|
-
const started = await this.configureConnector(topic, {
|
|
54
|
-
"connector.class": "io.debezium.connector.mongodb.MongoDbConnector",
|
|
55
|
-
"capture.mode": "change_streams_update_full_with_pre_image",
|
|
56
|
-
"mongodb.connection.string": config.uri,
|
|
57
|
-
"collection.include.list": dbColName,
|
|
58
|
-
"snapshot.mode": "when_needed",
|
|
59
|
-
"capture.scope": "collection",
|
|
60
|
-
"capture.target": dbColName,
|
|
61
|
-
"heartbeat.interval.ms": "60000",
|
|
62
|
-
"errors.max.retries": "3"
|
|
63
|
-
});
|
|
64
|
-
if (started) return { done: true, value: true };
|
|
65
|
-
await collection.findOneAndUpdate(condition, { $set: { colName } }, { upsert: true });
|
|
66
|
-
await collection.findOneAndDelete(condition);
|
|
67
|
-
Instance.get().log.warn(`Waiting for db changes for ${dbColName} to start...`);
|
|
68
|
-
return { done: false };
|
|
69
|
-
},
|
|
70
|
-
6,
|
|
71
|
-
3e4
|
|
72
|
-
).catch((err) => Instance.crash(new EquippedError(`Failed to start db changes`, { dbColName }, err)));
|
|
73
|
-
},
|
|
74
|
-
10
|
|
75
|
-
);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
export {
|
|
79
|
-
MongoDbChange
|
|
80
|
-
};
|
|
81
|
-
//# sourceMappingURL=changes.mjs.map
|