fix(server): remove stacks on stack.deleteAll (#17288)

* fix(server): delete all stacks on deleteAll

* remove unnecessary assets update

* generate sql

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
This commit is contained in:
shenlong
2025-04-02 03:50:43 +05:30
committed by GitHub
parent 59e5c82569
commit 502854cee1
2 changed files with 2 additions and 69 deletions

View File

@@ -122,38 +122,11 @@ export class StackRepository {
@GenerateSql({ params: [DummyValue.UUID] })
async delete(id: string): Promise<void> {
const stack = await this.getById(id);
if (!stack) {
return;
}
const assetIds = stack.assets.map(({ id }) => id);
await this.db.deleteFrom('asset_stack').where('id', '=', asUuid(id)).execute();
await this.db
.updateTable('assets')
.set({ stackId: null, updatedAt: new Date() })
.where('id', 'in', assetIds)
.execute();
}
async deleteAll(ids: string[]): Promise<void> {
const assetIds = [];
for (const id of ids) {
const stack = await this.getById(id);
if (!stack) {
continue;
}
assetIds.push(...stack.assets.map(({ id }) => id));
}
await this.db
.updateTable('assets')
.set({ updatedAt: new Date(), stackId: null })
.where('id', 'in', assetIds)
.where('stackId', 'in', ids)
.execute();
await this.db.deleteFrom('asset_stack').where('id', 'in', ids).execute();
}
update(id: string, entity: Updateable<StackEntity>): Promise<StackEntity> {