full app
This commit is contained in:
24
utils/billboardFreeLimit.js
Normal file
24
utils/billboardFreeLimit.js
Normal file
@@ -0,0 +1,24 @@
|
||||
// سقفِ کلیِ (نه روزانه/ماهانه) بیلبورد رایگان — طبق خواستهی صریحِ کاربر: ۲۰۰ تا
|
||||
// در کلِ عمرِ حساب، مستقل از سهمیهی مشترکِ daily_free_request (که بین پروژه/بیلبورد/
|
||||
// درخواست تقسیم میشه) و مستقل از سقفِ عمومیِ FREE_LIFETIME_CREATION_LIMIT
|
||||
// (utils/freeCreationLimit.js)
|
||||
const BILLBOARD_FREE_LIMIT = 200
|
||||
|
||||
function canUseFreeBillboard (user) {
|
||||
const used = user?.free_billboard_count || 0
|
||||
return used < BILLBOARD_FREE_LIMIT
|
||||
}
|
||||
|
||||
async function consumeFreeBillboard (user) {
|
||||
if (!canUseFreeBillboard(user)) {
|
||||
return { ok: false, message: `سقف ${BILLBOARD_FREE_LIMIT} بیلبورد رایگان به پایان رسیده است.` }
|
||||
}
|
||||
user.free_billboard_count = (user.free_billboard_count || 0) + 1
|
||||
return { ok: true }
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
BILLBOARD_FREE_LIMIT,
|
||||
canUseFreeBillboard,
|
||||
consumeFreeBillboard
|
||||
}
|
||||
Reference in New Issue
Block a user