Documentation / Repo Folders
پوشهبندی مخازن
برای هر سازمان میتوانید درخت پوشهٔ تو در تو بسازید و مخازن متصل را در پوشهها قرار دهید. این ساختار در workspace اختصاصی /repo-folders مدیریت میشود و در داشبورد بهصورت فیلتر درختی برای یافتن سریع مخزن استفاده میشود.
۱. ورود و مسیرها
- workspace پوشهبندی: /repo-folders — انتخاب سازمان از sidebar.
- مستقیم: /repo-folders/<orgId>
- از تنظیمات سازمان لینک «پوشهبندی مخازن →» هم به همین workspace میرود.
- پیشنیاز: مخزنها ابتدا در صفحهٔ سازمان متصل شده باشند.
۲. درخت پوشهها
- پوشهها میتوانند والد داشته باشند — ساختار نامحدود (تو در تو).
- هر پوشه رنگ دارد (سبز، بنفش، آبی، کهربایی، فیروزهای، صورتی، خاکستری).
- کنار هر پوشه تعداد مخازن و دکمهٔ «مخازن» نمایش داده میشود.
- با فلش کنار پوشه، زیرپوشهها باز/بسته میشوند؛ «باز کردن همه» همه گرهها را expand میکند.
- بخش بدون پوشه مخزنهای متصل به سازمان را که هنوز folderId ندارند نشان میدهد.
۳. ساخت پوشه جدید
مالک یا مدیر (مجوز repos.organize) دکمهٔ «پوشه جدید» را میزند:
- نام پوشه (الزامی، تا ۸۰ کاراکتر) — slug داخل سازمان از نام ساخته میشود.
- پوشه والد — «بدون والد (ریشه)» یا یکی از پوشههای موجود.
- رنگ — از chipهای رنگی انتخاب میشود.
فرم در مودال باز میشود؛ پس از ایجاد، درخت بهروز میشود.
۴. مخازن داخل پوشه
- با «مخازن» روی هر پوشه (یا «بدون پوشه») مودال لیست مخازن باز میشود.
- هر مخزن: نام، عمومی/خصوصی، لینک به صفحهٔ مخزن.
- مالک/مدیر میتواند از dropdown داخل مودال، مخزن را به پوشهٔ دیگر یا «بدون پوشه» منتقل کند.
- جابجایی بلافاصله در درخت و فیلتر داشبورد منعکس میشود.
حذف پوشه
حذف پوشه، مخازن داخل آن را حذف نمیکند — فقط folderId آنها null میشود (بدون پوشه). زیرپوشهها قبل از حذف باید مدیریت شوند.
۵. فیلتر درختی در داشبورد
- در صفحهٔ اصلی داشبورد، پنل فیلتر سازمان/پوشه ساختار همان درخت را نشان میدهد.
- با انتخاب یک سازمان، پوشه یا «بدون پوشه»، لیست مخازن فیلتر میشود.
- نمای گروهبندیشده مخازن را بر اساس سازمان و پوشه چیدمان میکند.
- در موبایل فیلتر بهصورت drawer باز میشود؛ جستجو روی نام مخزن همزمان کار میکند.
۶. دسترسی
- مالک و مدیر: ساخت/حذف پوشه، جابجایی مخزن (repos.organize).
- توسعهدهنده و بیننده: مشاهده درخت و لیست مخازن؛ بدون ویرایش ساختار.
۷. API (خلاصه)
- GET /api/organizations/<orgId> — شامل folders و repos
- POST /api/organizations/<orgId>/folders — ایجاد پوشه
- PATCH /api/organizations/<orgId>/folders/<folderId> — ویرایش
- DELETE /api/organizations/<orgId>/folders/<folderId> — حذف
- PATCH /api/organizations/<orgId>/repos/<repoId> — { "folderId": "…" | null }
پیشنیاز: مدیریت سازمانها — ابتدا سازمان بسازید و مخزنها را به آن وصل کنید.