mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-05 02:39:33 +02:00
server/server -> server/core
This commit is contained in:
parent
114327d4ce
commit
5a3d0650c9
838 changed files with 111 additions and 111 deletions
34
server/core/models/shared/update.ts
Normal file
34
server/core/models/shared/update.ts
Normal file
|
@ -0,0 +1,34 @@
|
|||
import { QueryTypes, Sequelize, Transaction } from 'sequelize'
|
||||
|
||||
const updating = new Set<string>()
|
||||
|
||||
// Sequelize always skip the update if we only update updatedAt field
|
||||
async function setAsUpdated (options: {
|
||||
sequelize: Sequelize
|
||||
table: string
|
||||
id: number
|
||||
transaction?: Transaction
|
||||
}) {
|
||||
const { sequelize, table, id, transaction } = options
|
||||
const key = table + '-' + id
|
||||
|
||||
if (updating.has(key)) return
|
||||
updating.add(key)
|
||||
|
||||
try {
|
||||
await sequelize.query(
|
||||
`UPDATE "${table}" SET "updatedAt" = :updatedAt WHERE id = :id`,
|
||||
{
|
||||
replacements: { table, id, updatedAt: new Date() },
|
||||
type: QueryTypes.UPDATE,
|
||||
transaction
|
||||
}
|
||||
)
|
||||
} finally {
|
||||
updating.delete(key)
|
||||
}
|
||||
}
|
||||
|
||||
export {
|
||||
setAsUpdated
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue