Skip to content

Ճարտարապետական մակարդակներ ​

Ամբողջական սահմանումները գտնվում են docs/frontend/DOMAIN_MODEL.md-ում։ Այս էջը գործնական՝ route-ի մակարդակի տարբերակն է. URL-ով կամ permission տողով հասկանալ, թե որ մակարդակին է դա պատկանում։

User
 ├── Platform
 └── Organization (Workspace)
      └── Application

User-ը գտնվում է թե՛ Platform-ից, թե՛ Organization-ից վերև, ոչ թե դրանց ներսում։ Դու նույնականացվում ես մեկ անգամ որպես ինքդ քեզ, ապա հասնում ես կամ քո անդամակցած Organization-ին, կամ, եթե ունես platform դեր, Platform-ի կառավարմանը։ Երկուսն էլ հասանելի են մուտքից հետո չեզոք /dashboard-ից։

ՄակարդակՊատասխանում էRoutesPermission-ի նախածանցԴերեր
User«Ո՞վ եմ ես, որտե՞ղ եմ ուզում աշխատել»/dashboard, /account/*——
Organization«Ի՞նչ կարող եմ անել այս կազմակերպությունում»/org/:slug/*portal:*, org:*OWNER/ADMIN/MEMBER (համակարգային, երեք՝ VIEWER-ի 2026-08-19 վերացումից ի վեր) + հատուկ դերեր, per-org
Platform«Ի՞նչ կարող եմ կառավարել ամբողջ համակարգում»/platform/*platform:*SUPER_ADMIN, P4P Owner, P4P Admin (P4P Member-ը ջնջվել է 2026-08-19 — տես IAM)
ApplicationԿազմակերպության ներսում աշխատող անկախ ապրանքներ/org/:slug/<app>/*սահմանափակված հավելվածովժառանգում է Organization-ի անդամակցությունը

Ինչում են հին դիզայն-փաստաթղթերը սխալվում — և ուշ ուղղումը ​

docs/frontend/INFORMATION_ARCHITECTURE.md-ը «Projects»/«CRM» և նմանները նկարագրում է որպես սովորական Application-ներ, որոնց կարող էր բաժանորդագրվել ցանկացած կազմակերպություն։ Բայց իրականում կառուցվել է այլ կերպ, թեև այսօր դա ավելի մոտ է ճշմարտությանը, քան առաջին հայացքից թվում է։ Այն, ինչ իրականում գոյություն ունի /team/* և /platform/staff ներքո, Internal Company Workspace-ն է՝ P4P-ի սեփական գործիքը՝ իր անձնակազմը, բաժինները, նախագծերն ու առաջադրանքները կառավարելու համար։ Մինչև 2026-08-18 այն փակված էր platform:staffing:* իրավունքներով՝ իսկական Platform մակարդակի ֆունկցիա։ docs/staffing/ADR-002-org-rbac-migration.md-ը այն տեղափոխեց Organization RBAC, սահմանափակված P4P Internal կազմակերպությամբ — նույն Role/Permission/TenantGuard+PermissionsGuard մեխանիզմը, որ օգտագործում է ցանկացած այլ կազմակերպություն, այժմ workspace:staffing:*/ workspace:calendar:*/workspace:finance:* բանալիներով։ Այնպես որ /team/*-ն այսօր իսկապես Organization մակարդակի է, պարզապես մշտապես սահմանափակված մեկ կոնկրետ կազմակերպությամբ (P4P Internal), ոչ թե ընթացիկ ընտրվածով — միակ տեղը, որտեղ այս աղյուսակի կրճատումը (route-ի նախածանց ⇒ մակարդակ) չի աշխատում, քանի որ URL-ը դեռ /team/* է, ոչ թե /org/p4p-internal/*։ PlatformStaffMembership-ը այս միգրացիայից չի փոխվել — այն դեռ պատասխանում է առանձին հարցի («արդյոք այս մարդը ընդհանրապես ճանաչված է որպես P4P աշխատակից», HR/ կադրային փաստ)՝ ի տարբերություն «ինչ կարող է անել Team Management-ում» (այժմ դա վերևի կազմակերպության դերի հարցն է)։ Տես Հարթակի կառավարում և Աշխատակազմ մոդուլի փաստաթուղթը։

Իսկապես Organization-մակարդակի, ըստ կազմակերպության բաժանորդագրվող ֆունկցիաները, որոնք գոյություն ունեն այսօր, դրանք են AI Assistant-ը (ai:chat:use, ai:agents:manage, ai:mcp:manage) և ֆայլերի պահեստը (files:*) — երկուսն էլ գտնվում են /org/:slug/* ներքո և փակված են ըստ կազմակերպության, ինչպես սկզբնապես նախագծված էր Application մակարդակի համար։

Ինչու է սա կարևոր վիքիի մնացած մասը կարդալիս ​

Յուրաքանչյուր մոդուլի փաստաթղթի frontmatter-ը թվարկում է routes և permissions։ Եթե route-ը սկսվում է /platform/-ով կամ permission-ը՝ platform:-ով, դա Platform մակարդակի վարքագիծ է՝ կիրառվում է մեկ անգամ, ամբողջ հարթակի համար։ Եթե սկսվում է /org/:slug/-ով կամ portal:/org:-ով, դա Organization մակարդակ է՝ նույն էջը տարբեր կերպ է վարվում (կամ ընդհանրապես անտեսանելի է)՝ կախված նրանից, թե որ կազմակերպությունում ես գտնվում հիմա։