مدیریت پلتفرم
کاربران (شامل حذف)
صفحهی /admin/users لیست تمام حسابهای کاربری پلتفرم را نمایش میدهد — مدیران ارشد، مشتریان و اعضایی که به هر فضای کاری دعوت شدهاند. این صفحه از جستجو براساس نام/ایمیل، ارتقای نقش، لغو تنظیمات BYOK برای هر کاربر، ویرایش، ورود به حساب کاربری و (از نسخه v1.1) حذف پشتیبانی میکند.
حذف کاربر
فقط مختص مدیران ارشد. روی دکمهی حذف در هر ردیف کاربر کلیک کنید (دکمه در ردیف خودتان مخفی است). یک دیالوگ تأیید، عواقب آن را مشخص میکند — کاربر دسترسی خود را به تمام فضاهای کاری از دست میدهد و ردیف برای حسابرسی بهصورت نرم حذف میشود.
محافظتهای ایمنی
کنترلکننده از چهار حالت جلوگیری میکند:
- حذف خود — نمیتوانید حسابی که با آن وارد شدهاید را حذف کنید. در غیر این صورت از مدیریت خارج میشوید.
- آخرین مدیر ارشد — یک بررسی عمیق؛ کنترلکننده در صورتی که هدف یک مدیر ارشد باشد و هیچ مدیر ارشد زندهی دیگری وجود نداشته باشد، درخواست را رد میکند.
-
مالک فضای کاری — اگر کاربر هنوز مالک یک یا چند فضای کاری باشد، حذف با یک پیام خطا که تعداد آن را ذکر میکند، رد میشود. ابتدا مالکیت را در
/admin/workspaces/{id}(یا از طریق صفحهی اعضا و نقشهای خود فضای کاری) انتقال دهید و دوباره تلاش کنید. -
عدم مجوز مدیر ارشد — این مسیر در گروه مدیریت پلتفرم قرار دارد؛ اگر یک مشتری مستقیماً به
DELETE /admin/users/{id}درخواست دهد، خطای ۴۰۴ دریافت میکند تا وجود این نقطهی پایانی مخفی بماند.
حذف نرم چه مواردی را تحت تأثیر قرار میدهد
-
فیلد
users.deleted_atبه زمان فعلی تنظیم میشود. خوانشهای بعدی از طریق محدودهی پیشفرض Eloquent، این ردیف را حذف میکنند. -
تمام ردیفهای اتصال
workspace_usersبرای آن کاربر حذف میشوند تا در صورت دعوت مجدد، تداخلی در کلید ترکیبی منحصربهفرد ایجاد نشود. -
ارجاعات کلید خارجی در جداول
conversations،leads،audit_logsو سایر جداول با ستونuser_idدست نخورده باقی میمانند — حذف نرم ردیف را حفظ میکند، بنابراین این اتصالات همچنان کار میکنند. -
یک ورودی
AuditLogباaction=platform_user.deletedدر فضای کاری پیشفرض ادمین اقدامکننده ثبت میشود که شامل ایمیل و نقش حذفشده برای بازیابی قانونی است.
حذف توسط مشتری (مسیر کد متفاوت)
هنگامی که یک مشتری حساب خود را از /settings/profile حذف میکند، ردیف بهصورت سخت حذف از طریق forceDelete() انجام میشود — حذف توسط مشتری بهعنوان درخواست حق پاکسازی دادهها (GDPR) در نظر گرفته میشود، بنابراین دادهها برای همیشه حذف میشوند. فقط حذف توسط مدیریت پلتفرم بهصورت نرم است.
بازگردانی کاربر حذفشدهی نرم
هنوز رابط مدیریتی برای بازگردانی وجود ندارد. برای بازگردانی یک حساب حذفشدهی نرم، دستور زیر را اجرا کنید:
php artisan tinker --execute 'App\Models\User::withTrashed()->where("email","x@y.com")->first()->restore();'
عضویتهای کاربر در فضاهای کاری بازگردانی نمیشوند — آنها به یک دعوتنامهی جدید نیاز دارند. اگر فضای کاری اصلی نیز حذف شده باشد، default_workspace_id منسوخ میشود و بازدید بعدی آنها را از طریق فرآیند استاندارد شروعکار هدایت میکند.