30 lines
1.3 KiB
JavaScript
30 lines
1.3 KiB
JavaScript
const VERIFIED_BADGES = ['gold', 'green', 'blue']
|
|
|
|
// کاربر با تیک طلایی/سبز/آبی «وریفایشده» حساب میشه — محتواش نیازی به تاییدِ
|
|
// دستیِ پنل نداره و مستقیم توی اپ/وب نمایش داده میشه
|
|
function isVerifiedBadge (badge) {
|
|
return VERIFIED_BADGES.includes(badge)
|
|
}
|
|
|
|
function computeVerifyBadge ({ is_verified, license_verified, gold_badge }) {
|
|
// تیک طلایی فقط زمانی نمایش داده میشه که کاربر از قبل مدارک هویتش (تیک آبی)
|
|
// هم تایید شده باشه — وگرنه فعال بودنِ gold_badge (مثلاً بهاشتباه یا قبل از
|
|
// تایید مدارک) نباید تیک آبیِ تازهتاییدشده رو بپوشونه
|
|
if (gold_badge && is_verified === 'verified') return 'gold'
|
|
if (license_verified) return 'green'
|
|
if (is_verified === 'verified') return 'blue'
|
|
if (is_verified === 'pending') return 'gray'
|
|
return 'none'
|
|
}
|
|
|
|
function syncVerifyBadge (userDoc) {
|
|
userDoc.verify_badge = computeVerifyBadge({
|
|
is_verified: userDoc.is_verified,
|
|
license_verified: userDoc.license_verified,
|
|
gold_badge: userDoc.gold_badge
|
|
})
|
|
return userDoc.verify_badge
|
|
}
|
|
|
|
module.exports = { computeVerifyBadge, syncVerifyBadge, isVerifiedBadge, VERIFIED_BADGES }
|