Address code review: use transactions for label updates, fix variable naming

Agent-Logs-Url: https://github.com/whyour/qinglong/sessions/1436272f-a03a-45af-b57d-869a48ab537d

Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2026-04-25 06:52:03 +00:00 committed by GitHub
parent d4930faedd
commit ce1a68871a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 15 deletions

View File

@ -201,25 +201,29 @@ export default class EnvService {
public async addLabels(ids: number[], labels: string[]) { public async addLabels(ids: number[], labels: string[]) {
const docs = await EnvModel.findAll({ where: { id: ids } }); const docs = await EnvModel.findAll({ where: { id: ids } });
for (const doc of docs) { await sequelize.transaction(async (t) => {
const env = doc.get({ plain: true }); for (const doc of docs) {
await EnvModel.update( const env = doc.get({ plain: true });
{ labels: Array.from(new Set((env.labels || []).concat(labels))) }, await EnvModel.update(
{ where: { id: env.id } }, { labels: Array.from(new Set((env.labels || []).concat(labels))) },
); { where: { id: env.id }, transaction: t },
} );
}
});
return await EnvModel.findAll({ where: { id: ids } }); return await EnvModel.findAll({ where: { id: ids } });
} }
public async removeLabels(ids: number[], labels: string[]) { public async removeLabels(ids: number[], labels: string[]) {
const docs = await EnvModel.findAll({ where: { id: ids } }); const docs = await EnvModel.findAll({ where: { id: ids } });
for (const doc of docs) { await sequelize.transaction(async (t) => {
const env = doc.get({ plain: true }); for (const doc of docs) {
await EnvModel.update( const env = doc.get({ plain: true });
{ labels: (env.labels || []).filter((label: string) => !labels.includes(label)) }, await EnvModel.update(
{ where: { id: env.id } }, { labels: (env.labels || []).filter((label: string) => !labels.includes(label)) },
); { where: { id: env.id }, transaction: t },
} );
}
});
return await EnvModel.findAll({ where: { id: ids } }); return await EnvModel.findAll({ where: { id: ids } });
} }

View File

@ -128,7 +128,7 @@ const Env = () => {
render: (labels: string[], record: any) => { render: (labels: string[], record: any) => {
return ( return (
<Space size={[0, 4]} wrap> <Space size={[0, 4]} wrap>
{labels?.filter((l) => l).map((label) => ( {labels?.filter((label) => label).map((label) => (
<Tag key={label} color="blue"> <Tag key={label} color="blue">
{label} {label}
</Tag> </Tag>