diff --git a/plugins/catalog-backend/src/database/DefaultProcessingDatabase.ts b/plugins/catalog-backend/src/database/DefaultProcessingDatabase.ts index 20ef39f6e8..a003328244 100644 --- a/plugins/catalog-backend/src/database/DefaultProcessingDatabase.ts +++ b/plugins/catalog-backend/src/database/DefaultProcessingDatabase.ts @@ -518,6 +518,7 @@ export class DefaultProcessingDatabase implements ProcessingDatabase { throw new NotFoundError(`Failed to schedule ${entityRef} for refresh`); } } + async refreshByRefreshKey( txOpaque: Transaction, options: RefreshByKeyOptions, @@ -533,6 +534,7 @@ export class DefaultProcessingDatabase implements ProcessingDatabase { await Promise.all(rows.map(r => this.refresh(tx, r.entity_ref))); } + async setRefreshKeys( txOpaque: Transaction, options: RefreshKeyOptions, @@ -552,6 +554,17 @@ export class DefaultProcessingDatabase implements ProcessingDatabase { }), ); } + + async deleteRefreshKey( + txOpaque: Transaction, + options: RefreshByKeyOptions, + ): Promise { + const tx = txOpaque as Knex.Transaction; + const { key } = options; + + await tx('refresh_keys').where({ key }).delete(); + } + async transaction(fn: (tx: Transaction) => Promise): Promise { try { let result: T | undefined = undefined;