X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=server%2Fhelpers%2Fdatabase-utils.ts;h=87f10f913ca37f3512ce5b139f55065485afceb1;hb=f2eb23cd87cf32b8fe545178143b5f49e06a58da;hp=6c5068fb0d631622d21e4fab74f6262dde5d1a2d;hpb=2284f202070aa2e49156cc52b3b1596a7d5aadec;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/helpers/database-utils.ts b/server/helpers/database-utils.ts index 6c5068fb0..87f10f913 100644 --- a/server/helpers/database-utils.ts +++ b/server/helpers/database-utils.ts @@ -79,6 +79,15 @@ function afterCommitIfTransaction (t: Transaction, fn: Function) { return fn() } +function deleteNonExistingModels > ( + fromDatabase: T[], + newModels: T[], + t: Transaction +) { + return fromDatabase.filter(f => !newModels.find(newModel => newModel.hasSameUniqueKeysThan(f))) + .map(f => f.destroy({ transaction: t })) +} + // --------------------------------------------------------------------------- export { @@ -86,5 +95,6 @@ export { retryTransactionWrapper, transactionRetryer, updateInstanceWithAnother, - afterCommitIfTransaction + afterCommitIfTransaction, + deleteNonExistingModels }