90 lines
2.7 KiB
JavaScript
90 lines
2.7 KiB
JavaScript
/** وضعیت تایید موقت — محتوا در اپ نمایش داده میشود ولی نیاز به بازبینی دستی دارد */
|
|
const TEMP_ACCEPT = 'temp_accept'
|
|
|
|
/** وضعیتهای عمومی قابل نمایش — پست */
|
|
const PUBLIC_POST_STATUSES = [TEMP_ACCEPT, 'accept']
|
|
|
|
/** وضعیتهای عمومی قابل نمایش — کامنت */
|
|
const PUBLIC_COMMENT_STATUSES = [TEMP_ACCEPT, 'accepted']
|
|
|
|
/** وضعیتهای عمومی قابل نمایش — پروژه */
|
|
const PUBLIC_PROJECT_STATUSES = [TEMP_ACCEPT, 'paid', 'accepted', 'done', 'ongoing']
|
|
|
|
/** وضعیتهای عمومی قابل نمایش — بیلبورد */
|
|
const PUBLIC_BILLBOARD_STATUSES = [TEMP_ACCEPT, 'paid', 'accepted']
|
|
|
|
/** وضعیتهای عمومی قابل نمایش — پکیج آموزشی */
|
|
const PUBLIC_COURSE_STATUSES = [TEMP_ACCEPT, 'accept']
|
|
|
|
/** وضعیتهای عمومی قابل نمایش — ویدیو آموزشگاه */
|
|
const PUBLIC_ACADEMY_CONTENT_STATUSES = [TEMP_ACCEPT, 'accept']
|
|
|
|
/** صف بازبینی ادمین — پست */
|
|
const REVIEW_POST_STATUSES = [TEMP_ACCEPT, 'pending']
|
|
|
|
/** صف بازبینی ادمین — کامنت */
|
|
const REVIEW_COMMENT_STATUSES = [TEMP_ACCEPT, 'pending']
|
|
|
|
/** صف بازبینی ادمین — پروژه / بیلبورد */
|
|
const REVIEW_PROJECT_STATUSES = [TEMP_ACCEPT, 'paid']
|
|
const REVIEW_BILLBOARD_STATUSES = [TEMP_ACCEPT, 'paid']
|
|
|
|
function postStatusFilter() {
|
|
return { $in: PUBLIC_POST_STATUSES }
|
|
}
|
|
|
|
function commentStatusFilter() {
|
|
return { $in: PUBLIC_COMMENT_STATUSES }
|
|
}
|
|
|
|
function projectPublicStatusFilter() {
|
|
return { $in: PUBLIC_PROJECT_STATUSES }
|
|
}
|
|
|
|
function billboardPublicStatusFilter() {
|
|
return { $in: PUBLIC_BILLBOARD_STATUSES }
|
|
}
|
|
|
|
function coursePublicStatusFilter() {
|
|
return { $in: PUBLIC_COURSE_STATUSES }
|
|
}
|
|
|
|
function academyContentPublicStatusFilter() {
|
|
return { $in: PUBLIC_ACADEMY_CONTENT_STATUSES }
|
|
}
|
|
|
|
function isPublicPostStatus(status) {
|
|
return PUBLIC_POST_STATUSES.includes(status)
|
|
}
|
|
|
|
function isPublicCommentStatus(status) {
|
|
return PUBLIC_COMMENT_STATUSES.includes(status)
|
|
}
|
|
|
|
function publicCourseStatusFilter() {
|
|
return { $in: PUBLIC_COURSE_STATUSES }
|
|
}
|
|
|
|
module.exports = {
|
|
TEMP_ACCEPT,
|
|
PUBLIC_POST_STATUSES,
|
|
PUBLIC_COMMENT_STATUSES,
|
|
PUBLIC_PROJECT_STATUSES,
|
|
PUBLIC_BILLBOARD_STATUSES,
|
|
PUBLIC_COURSE_STATUSES,
|
|
PUBLIC_ACADEMY_CONTENT_STATUSES,
|
|
REVIEW_POST_STATUSES,
|
|
REVIEW_COMMENT_STATUSES,
|
|
REVIEW_PROJECT_STATUSES,
|
|
REVIEW_BILLBOARD_STATUSES,
|
|
postStatusFilter,
|
|
commentStatusFilter,
|
|
projectPublicStatusFilter,
|
|
billboardPublicStatusFilter,
|
|
coursePublicStatusFilter,
|
|
academyContentPublicStatusFilter,
|
|
isPublicPostStatus,
|
|
isPublicCommentStatus,
|
|
publicCourseStatusFilter,
|
|
}
|