feat: mask Iranian phone numbers in user-generated text fields
کاربران نتونن با گذاشتن شماره موبایل/تلفن توی بیو، کپشن پست/ریلز، توضیحاتِ فروشگاه/کالا/پروژه/دوره/پروفایلِ آموزشگاه، بیرون از پلتفرم تماس بدن. یک util مشترک (utils/phoneNumberMasking.js) شمارههای ایرانی رو حتی وقتی رقمها با فاصله/خطفاصله/نقطه از هم جدا شده باشن تشخیص میده و فقط همون بخش رو با * جایگزین میکنه — بدون اینکه به قیمت/سایز/کد سفارش و بقیهی اعدادِ عادی دست بزنه. موقعِ ذخیره (نه نمایش) اعمال میشه، پس هیچ endpointِ خوندنی نیاز به تغییر نداره. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -19,6 +19,7 @@ const { buildUnifiedInterestScore, blendFreshIntoRanked: blendInterestIntoRanked
|
||||
const { resolveCommentModerationStatus } = require('../../../utils/contentModeration')
|
||||
const { saveCommentWithModerationStatus } = require('../../../utils/commentStatusSave')
|
||||
const { isVerifiedBadge } = require('../../../utils/verifyBadge')
|
||||
const { maskPhoneNumbers } = require('../../../utils/phoneNumberMasking')
|
||||
const {
|
||||
coursePublicStatusFilter,
|
||||
academyContentPublicStatusFilter,
|
||||
@@ -232,7 +233,7 @@ const academyProfile = async (req, res, next) => {
|
||||
academy.academy_image = `/profiles/${uniqueFileName}`
|
||||
academy.academy_name = name
|
||||
academy.sheba = `IR${shebaDigits}`
|
||||
academy.bio = bio
|
||||
academy.bio = maskPhoneNumbers(bio)
|
||||
academy.tag = tag
|
||||
await academy.save()
|
||||
|
||||
@@ -363,7 +364,7 @@ const creatCourse = async (req, res, next) => {
|
||||
offer: offer || '0',
|
||||
teacher_name,
|
||||
academyId: academy._id,
|
||||
caption,
|
||||
caption: maskPhoneNumbers(caption),
|
||||
course_time,
|
||||
number_of_course_content,
|
||||
is_free: isFreePackage,
|
||||
@@ -460,7 +461,7 @@ const updateCourse = async (req, res, next) => {
|
||||
if (cuorse_name !== undefined) course.cuorse_name = cuorse_name
|
||||
if (category !== undefined) course.category = category
|
||||
if (offer !== undefined) course.offer = offer || '0'
|
||||
if (caption !== undefined) course.caption = caption
|
||||
if (caption !== undefined) course.caption = maskPhoneNumbers(caption)
|
||||
if (course_time !== undefined) course.course_time = course_time
|
||||
if (number_of_course_content !== undefined) { course.number_of_course_content = number_of_course_content }
|
||||
if (teacher_name !== undefined) course.teacher_name = teacher_name
|
||||
@@ -5039,4 +5040,4 @@ module.exports = {
|
||||
|
||||
// دریافت دستهبندیهای ویژه (برای نمایش در صفحه اصلی)
|
||||
getFeatured
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user