Add existence check to addStickerPackReference
This commit is contained in:
parent
0d0e0f5eb4
commit
fb6f5235ad
1 changed files with 29 additions and 20 deletions
|
@ -6258,26 +6258,35 @@ function addStickerPackReference(
|
|||
);
|
||||
}
|
||||
|
||||
db.prepare(
|
||||
`
|
||||
INSERT OR REPLACE INTO sticker_references (
|
||||
messageId,
|
||||
packId,
|
||||
stickerId,
|
||||
isUnresolved
|
||||
) values (
|
||||
$messageId,
|
||||
$packId,
|
||||
$stickerId,
|
||||
$isUnresolved
|
||||
)
|
||||
`
|
||||
).run({
|
||||
messageId,
|
||||
packId,
|
||||
stickerId,
|
||||
isUnresolved: isUnresolved ? 1 : 0,
|
||||
});
|
||||
db.transaction(() => {
|
||||
const [select, selectParams] = sql`
|
||||
SELECT EXISTS (
|
||||
SELECT 1 FROM sticker_packs WHERE id IS ${packId}
|
||||
)
|
||||
`;
|
||||
const exists =
|
||||
db.prepare(select, { pluck: true }).get<number>(selectParams) === 1;
|
||||
if (!exists) {
|
||||
logger.warn('addStickerPackReference: did not find referenced pack');
|
||||
return;
|
||||
}
|
||||
|
||||
const [insert, insertParams] = sql`
|
||||
INSERT OR REPLACE INTO sticker_references (
|
||||
messageId,
|
||||
packId,
|
||||
stickerId,
|
||||
isUnresolved
|
||||
) values (
|
||||
${messageId},
|
||||
${packId},
|
||||
${stickerId},
|
||||
${isUnresolved ? 1 : 0}
|
||||
)
|
||||
`;
|
||||
|
||||
db.prepare(insert).run(insertParams);
|
||||
})();
|
||||
}
|
||||
function deleteStickerPackReference(
|
||||
db: WritableDB,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue