This commit is contained in:
payacom
2026-10-01 21:12:05 +03:30
parent 806471241e
commit d4ebc20aa8
41 changed files with 1015 additions and 135 deletions

View File

@@ -12,6 +12,11 @@ function isSocialUser (user) {
}
function isBasicRegistrationComplete (user) {
// کاربرِ زیرمجموعه همون لحظه‌ی ساخت توسطِ صاحبِ اکانت کامل ساخته می‌شه (نام،
// نام‌کاربری، رمز) — user_type براش معنا نداره، پس نباید وارد ویزاردِ ثبت‌نام بشه
if (user?.is_sub_user) {
return Boolean(user?.user_name && user?.password && user?.first_name)
}
const hasPassword = isSocialUser(user) || Boolean(user?.password)
return Boolean(
user?.user_name &&
@@ -22,6 +27,7 @@ function isBasicRegistrationComplete (user) {
}
function getRegistrationStep (user) {
if (user?.is_sub_user) return 'complete'
if (!user?.user_name) return 'user_name'
if (!isSocialUser(user) && !user.password) return 'password'
if (!user.first_name) return 'first_name'
@@ -33,6 +39,14 @@ function isRegistrationIncomplete (user) {
return !isBasicRegistrationComplete(user)
}
/**
* کاربر گوگلی/اینستاگرامی که هنوز نام‌کاربری یا رمز عبور ندارد — قبل از اولین
* پیام یا ثبت درخواست همکاری باید تکمیلش کند (مودال ست‌کردن نام‌کاربری+رمز).
*/
function needsUsernameAndPassword (user) {
return isSocialUser(user) && (!user?.user_name || !user?.password)
}
function buildAuthResponse (user, token) {
const step = getRegistrationStep(user)
const incomplete = isRegistrationIncomplete(user)
@@ -49,6 +63,8 @@ function buildAuthResponse (user, token) {
page: incomplete ? 'auth-page' : 'home',
user_type: incomplete ? null : user.user_type,
registrationComplete: !incomplete,
is_sub_user: Boolean(user.is_sub_user),
sub_user_permissions: user.is_sub_user ? (user.sub_user_permissions || []) : undefined,
}
}
@@ -59,5 +75,6 @@ module.exports = {
isBasicRegistrationComplete,
getRegistrationStep,
isRegistrationIncomplete,
needsUsernameAndPassword,
buildAuthResponse
}