مدیریت فضای کاری
اعضا و نقشها
یک فضای کاری میتواند اعضای زیادی داشته باشد که هر کدام یک نقش دارند. نقشها مشخص میکنند که هر عضو چه کاری میتواند انجام دهد — مدیریت دستیاران فروش، مشاهده صورتحساب، حذف اعضای دیگر. این صفحه نقشها، جریان دعوتنامه و تغییرات ناشی از افزودن یا حذف یک عضو را پوشش میدهد.
نقشها
چهار نقش، به ترتیب سطح دسترسی:
| نقش | دسترسیها |
|---|---|
| مالک | همه دسترسیهای مدیر را دارد و علاوه بر آن مدیریت صورتحساب را نیز بر عهده دارد. تنها نقشی که میتواند اشتراک بخرد، پلن را تغییر دهد یا آن را لغو کند. |
| مدیر | مدیریت اعضا و دعوتنامهها. مدیریت دستیاران فروش، دانش، قوانین رفتار و اتصالات. مشاهده همه مکالمات و مشتریان بالقوه. نمیتواند صورتحساب را مدیریت کند. |
| ویرایشگر | مدیریت دستیاران فروش، دانش و قوانین رفتار. مشاهده همه مکالمات و مشتریان بالقوه. نمیتواند اعضا یا صورتحساب را مدیریت کند. |
| بیننده | فقط خواندنی. مشاهده دستیاران فروش، مکالمات، مشتریان و تحلیلها. نمیتواند چیزی را ویرایش کند. |
نقشها در جدول اتصال workspace_users ذخیره میشوند؛ enum WorkspaceRole متدهای قابلیت را در معرض دید قرار میدهد — canManageAgents() (مالک / مدیر / ویرایشگر)، canManageMembers() (مالک / مدیر)، canManageBilling() (فقط مالک)، canViewAnalytics() (همه) — که توسط لایه سیاستها استفاده میشود.
دعوت کردن
از /app/members، یک مالک یا مدیر میتواند با ایمیل دعوت کند. دعوتنامه با یک لینک توکندار به /invitations/{token} ایمیل میشود. با کلیک روی آن:
- پیشنمایش دعوتنامه (نام فضای کاری، دعوتکننده، نقش) نمایش داده میشود.
- از بازدیدکننده خواسته میشود در صورت عدم ورود، وارد یا ثبتنام کند.
- پس از پذیرش، عضو با نقش تعیینشده به فضای کاری متصل شده و به داشبورد هدایت میشود.
دعوتنامهها پس از ۷ روز منقضی میشوند. مالکان و مدیران میتوانند یک دعوتنامه در انتظار را از بخش دعوتنامههای در انتظار در /app/members لغو کنند — روی لغو کلیک کنید، تأیید کنید و ردیف حذف میشود. لغو، یک ورودی invitation.revoked در گزارش حسابرسی ثبت میکند. دعوتنامههای پذیرفتهشده قابل لغو نیستند — بهجای آن، عضو را از لیست اعضای فعلی حذف کنید.
تغییر نقش
مالکان و مدیران میتوانند نقش اعضای دیگر را تغییر دهند. مدیران نمیتوانند نقش مدیران دیگر یا مالک را تغییر دهند. تغییر بلافاصله اعمال میشود — نیازی به ورود مجدد نیست.
حذف
حذف یک عضو، او را از فضای کاری جدا میکند. مکالماتی که او تصاحب کرده است، همچنان بهصورت تاریخی به او نسبت داده میشود (گزارش حسابرسی شناسههای بازیگر را حفظ میکند). حساب شخصی او باقی میماند — او فقط دسترسی خود را به این فضای کاری از دست میدهد.
انتقال مالکیت
هر فضای کاری دقیقاً یک مالک دارد. انتقال مالکیت یک فرآیند دو مرحلهای است:
- مالک فعلی یک عضو هدف را انتخاب کرده و روی انتقال کلیک میکند.
- هدف در اعلانهای خود میپذیرد. تا زمانی که بپذیرد، انتقال در حالت انتظار است.
مالک اصلی پس از انتقال، مدیر میشود. در صورت نیاز میتوان سطح دسترسی او را بیشتر کاهش داد.
کاربران چند فضای کاری
یک کاربر میتواند عضو هر تعداد فضای کاری باشد. انتخابگر فضای کاری در نوار کناری (کارت نام فضای کاری بالای آواتار کاربر) به او امکان میدهد بین عضویتها جابهجا شود و از طریق ورودی ایجاد فضای کاری جدید در پایین منوی کشویی، یک فضای کاری جدید ایجاد کند. هر فضای کاری نقش خاص خود را برای کاربر دارد — یک مالک در یک فضای کاری ممکن است در دیگری بیننده باشد. تعداد فضاهای کاری که یک مالک میتواند ایجاد کند توسط plans.workspaces_limit محدود میشود؛ این محدودیت در سمت سرور اعمال میشود و دیالوگ خطا را بهصورت درونخطی نمایش میدهد.
"فضای کاری فعلی" از فیلد default_workspace_id کاربر حل میشود. تغییر، شناسه جدید را ذخیره میکند. تمام پرسوجوهای محدود به فضای کاری پس از آن در برابر آن فضای کاری اجرا میشوند. زمانی که یک بازدیدکننده دعوتنامهای را میپذیرد در حالی که فضای کاری پیشفرض فعلی او یک فضای کاری شخصی/خودکار ایجادشده است (که خودش مالک آن است)، کنترلکننده پذیرش، فضای کاری پیشفرض او را به فضای کاری دعوتشده تغییر میدهد تا در جای درست قرار گیرد. اگر فضای کاری پیشفرض فعلی خود یک فضای کاری دعوتشده باشد که بهطور فعال از آن استفاده میکند، پذیرش تغییری ایجاد نمیکند — تا او را از زمینه خارج نکند.
گزارش حسابرسی
تغییرات اعضا — دعوتنامههای ارسالشده، پذیرفتهشده، لغوشده، تغییرات نقش، انتقال مالکیت، حذفها — ردیفهایی را در جدول audit_logs برای قابلیت ردیابی قانونی ثبت میکنند. در نسخه v1 صفحهای برای مرور گزارش حسابرسی وجود ندارد؛ در صورت نیاز به بررسی، مستقیماً از جدول پرسوجو کنید.