{"version":3,"file":"timestamps.mjs","sources":["../../../src/lifecycles/subscribers/timestamps.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Event, Subscriber } from '../types';\n\n// NOTE: we could add onCreate & onUpdate on field level to do this instead\nexport const timestampsLifecyclesSubscriber: Subscriber = {\n /**\n * Init createdAt & updatedAt before create\n */\n beforeCreate(event: Event) {\n const { data } = event.params;\n\n const now = new Date();\n _.defaults(data, { createdAt: now, updatedAt: now });\n },\n\n /**\n * Init createdAt & updatedAt before create\n * @param {Event} event\n */\n beforeCreateMany(event) {\n const { data } = event.params;\n\n const now = new Date();\n if (_.isArray(data)) {\n data.forEach((data) => _.defaults(data, { createdAt: now, updatedAt: now }));\n }\n },\n\n /**\n * Update updatedAt before update\n * @param {Event} event\n */\n beforeUpdate(event) {\n const { data } = event.params;\n\n const now = new Date();\n _.assign(data, { updatedAt: now });\n },\n\n /**\n * Update updatedAt before update\n * @param {Event} event\n */\n beforeUpdateMany(event) {\n const { data } = event.params;\n\n const now = new Date();\n if (_.isArray(data)) {\n data.forEach((data) => _.assign(data, { updatedAt: now }));\n }\n },\n};\n"],"names":["timestampsLifecyclesSubscriber","beforeCreate","event","data","params","now","Date","_","defaults","createdAt","updatedAt","beforeCreateMany","isArray","forEach","beforeUpdate","assign","beforeUpdateMany"],"mappings":";;AAGA;MACaA,8BAA6C,GAAA;AACxD;;AAEC,MACDC,cAAaC,KAAY,EAAA;AACvB,QAAA,MAAM,EAAEC,IAAI,EAAE,GAAGD,MAAME,MAAM;AAE7B,QAAA,MAAMC,MAAM,IAAIC,IAAAA,EAAAA;QAChBC,CAAEC,CAAAA,QAAQ,CAACL,IAAM,EAAA;YAAEM,SAAWJ,EAAAA,GAAAA;YAAKK,SAAWL,EAAAA;AAAI,SAAA,CAAA;AACpD,KAAA;AAEA;;;AAGC,MACDM,kBAAiBT,KAAK,EAAA;AACpB,QAAA,MAAM,EAAEC,IAAI,EAAE,GAAGD,MAAME,MAAM;AAE7B,QAAA,MAAMC,MAAM,IAAIC,IAAAA,EAAAA;QAChB,IAAIC,CAAAA,CAAEK,OAAO,CAACT,IAAO,CAAA,EAAA;AACnBA,YAAAA,IAAAA,CAAKU,OAAO,CAAC,CAACV,OAASI,CAAEC,CAAAA,QAAQ,CAACL,IAAM,EAAA;oBAAEM,SAAWJ,EAAAA,GAAAA;oBAAKK,SAAWL,EAAAA;AAAI,iBAAA,CAAA,CAAA;AAC3E;AACF,KAAA;AAEA;;;AAGC,MACDS,cAAaZ,KAAK,EAAA;AAChB,QAAA,MAAM,EAAEC,IAAI,EAAE,GAAGD,MAAME,MAAM;AAE7B,QAAA,MAAMC,MAAM,IAAIC,IAAAA,EAAAA;QAChBC,CAAEQ,CAAAA,MAAM,CAACZ,IAAM,EAAA;YAAEO,SAAWL,EAAAA;AAAI,SAAA,CAAA;AAClC,KAAA;AAEA;;;AAGC,MACDW,kBAAiBd,KAAK,EAAA;AACpB,QAAA,MAAM,EAAEC,IAAI,EAAE,GAAGD,MAAME,MAAM;AAE7B,QAAA,MAAMC,MAAM,IAAIC,IAAAA,EAAAA;QAChB,IAAIC,CAAAA,CAAEK,OAAO,CAACT,IAAO,CAAA,EAAA;AACnBA,YAAAA,IAAAA,CAAKU,OAAO,CAAC,CAACV,OAASI,CAAEQ,CAAAA,MAAM,CAACZ,IAAM,EAAA;oBAAEO,SAAWL,EAAAA;AAAI,iBAAA,CAAA,CAAA;AACzD;AACF;AACF;;;;"}