Fixed 267U.pre2
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import { PromoNotes, PromoReads } from "../../../models/index.js";
|
||||
import { genId } from "../../../misc/gen-id.js";
|
||||
export async function readPromo(note, promo, user) {
|
||||
if (promo.expiresAt.getTime() <= Date.now() || promo.remainingCredits <= 0 || promo.userId === user.id || note.userId === user.id || user.isAdmin || user.isModerator || user.isBot) {
|
||||
return;
|
||||
}
|
||||
const readDay = new Date().toISOString().slice(0, 10);
|
||||
const result = await PromoReads.createQueryBuilder().insert().values({
|
||||
id: genId(),
|
||||
createdAt: new Date(),
|
||||
noteId: note.id,
|
||||
userId: user.id,
|
||||
readDay
|
||||
}).orIgnore().returning("id").execute();
|
||||
if (result.raw.length === 0) {
|
||||
return;
|
||||
}
|
||||
await PromoNotes.createQueryBuilder().update().set({
|
||||
remainingCredits: ()=>`"remainingCredits" - 1`
|
||||
}).where(`"noteId" = :noteId`, {
|
||||
noteId: note.id
|
||||
}).andWhere(`"remainingCredits" > 0`).execute();
|
||||
}
|
||||
Reference in New Issue
Block a user