Skip to content

Commit

Permalink
fix: reset createdAt to now for record previously deleted
Browse files Browse the repository at this point in the history
  • Loading branch information
TBonnin committed Mar 22, 2024
1 parent 9e72f6b commit 46b0cfe
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
const RECORDS_TABLE = '_nango_sync_data_records';
exports.up = async function (knex) {
await knex.transaction((trx) => {
return trx
.raw(
`
CREATE OR REPLACE FUNCTION ${RECORDS_TABLE}_reset_created_at()
RETURNS TRIGGER AS $$
BEGIN
IF OLD.external_deleted_at IS NOT NULL AND NEW.external_deleted_at IS NULL THEN
NEW.created_at = NOW();
NEW.updated_at = NOW();
NEW.external_is_deleted = FALSE;
END IF;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
`
)
.then(function () {
return trx.raw(`
CREATE TRIGGER ${RECORDS_TABLE}_reset_created_at_trigger
BEFORE UPDATE ON ${RECORDS_TABLE}
FOR EACH ROW
EXECUTE FUNCTION ${RECORDS_TABLE}_reset_created_at();
`);
});
});
};

exports.down = async function (knex) {
await knex.transaction((trx) => {
return trx.raw(`DROP TRIGGER IF EXISTS ${RECORDS_TABLE}_reset_created_at_trigger ON ${RECORDS_TABLE};`).then(function () {
return trx.raw(`DROP FUNCTION IF EXISTS ${RECORDS_TABLE}_reset_created_at();`);
});
});
};
Original file line number Diff line number Diff line change
Expand Up @@ -151,9 +151,9 @@ describe('Running sync', () => {
const recordsAfter = await getRecords(connection, model);
const recordAfter = recordsAfter.find((record) => record.id == 2);
if (!recordAfter) throw new Error('record is not defined');
expect(recordAfter._nango_metadata.first_seen_at < recordAfter._nango_metadata.last_modified_at).toBeTruthy();
expect(recordAfter._nango_metadata.first_seen_at).toEqual(recordAfter._nango_metadata.last_modified_at);
expect(recordAfter._nango_metadata.deleted_at).toBeNull();
expect(recordAfter._nango_metadata.last_action).toEqual('UPDATED');
expect(recordAfter._nango_metadata.last_action).toEqual('ADDED');
});
});
describe(`with softDelete=true`, () => {
Expand Down

0 comments on commit 46b0cfe

Please sign in to comment.