Ճարտարապետական մակարդակներ
Ամբողջական սահմանումները գտնվում են docs/frontend/DOMAIN_MODEL.md-ում։ Այս էջը գործնական՝ route-ի մակարդակի տարբերակն է. URL-ով կամ permission տողով հասկանալ, թե որ մակարդակին է դա պատկանում։
User
├── Platform
└── Organization (Workspace)
└── ApplicationUser-ը գտնվում է թե՛ Platform-ից, թե՛ Organization-ից վերև, ոչ թե դրանց ներսում։ Դու նույնականացվում ես մեկ անգամ որպես ինքդ քեզ, ապա հասնում ես կամ քո անդամակցած Organization-ին, կամ, եթե ունես platform դեր, Platform-ի կառավարմանը։ Երկուսն էլ հասանելի են մուտքից հետո չեզոք /dashboard-ից։
| Մակարդակ | Պատասխանում է | Routes | Permission-ի նախածանց | Դերեր |
|---|---|---|---|---|
| User | «Ո՞վ եմ ես, որտե՞ղ եմ ուզում աշխատել» | /dashboard, /account/* | — | — |
| Organization | «Ի՞նչ կարող եմ անել այս կազմակերպությունում» | /org/:slug/* | portal:*, org:* | OWNER/ADMIN/MEMBER/VIEWER (համակարգային) + հատուկ դերեր, per-org |
| Platform | «Ի՞նչ կարող եմ կառավարել ամբողջ համակարգում» | /platform/* | platform:* | SUPER_ADMIN, P4P Owner, P4P Admin, P4P Member (տես IAM) |
| Application | Կազմակերպության ներսում աշխատող անկախ ապրանքներ | /org/:slug/<app>/* | սահմանափակված հավելվածով | ժառանգում է Organization-ի անդամակցությունը |
Ինչում են հին դիզայն-փաստաթղթերը սխալվում
docs/frontend/INFORMATION_ARCHITECTURE.md-ը «Projects»/«CRM» և նմանները նկարագրում է որպես սովորական Application-ներ, որոնց կարող էր բաժանորդագրվել ցանկացած կազմակերպություն։ Բայց իրականում կառուցվել է այլ կերպ։ Այն, ինչ իրականում գոյություն ունի /team/* և /platform/staff ներքո, Internal Company Workspace-ն է՝ P4P-ի սեփական գործիքը՝ իր անձնակազմը, բաժինները, նախագծերն ու առաջադրանքները կառավարելու համար։ Այն փակված է platform:staffing:* իրավունքներով և PlatformStaffMembership-ով (պետք է լինես P4P-ի ներքին թիմի ակտիվ անդամ, որպեսզի տեսնես ինչ-որ բան) — սա Platform մակարդակի ֆունկցիա է, ոչ թե Organization մակարդակի Application։ Տես Հարթակի կառավարում և Staffing մոդուլի սպասվող փաստաթուղթը։
Իսկապես Organization-մակարդակի, ըստ կազմակերպության բաժանորդագրվող ֆունկցիաները, որոնք գոյություն ունեն այսօր, դրանք են AI Assistant-ը (org:chat:use, org:agents:manage, org:mcp:manage) և ֆայլերի պահեստը (org:files:*) — երկուսն էլ գտնվում են /org/:slug/* ներքո և փակված են ըստ կազմակերպության, ինչպես սկզբնապես նախագծված էր Application մակարդակի համար։
Ինչու է սա կարևոր վիքիի մնացած մասը կարդալիս
Յուրաքանչյուր մոդուլի փաստաթղթի frontmatter-ը թվարկում է routes և permissions։ Եթե route-ը սկսվում է /platform/-ով կամ permission-ը՝ platform:-ով, դա Platform մակարդակի վարքագիծ է՝ կիրառվում է մեկ անգամ, ամբողջ հարթակի համար։ Եթե սկսվում է /org/:slug/-ով կամ portal:/org:-ով, դա Organization մակարդակ է՝ նույն էջը տարբեր կերպ է վարվում (կամ ընդհանրապես անտեսանելի է)՝ կախված նրանից, թե որ կազմակերպությունում ես գտնվում հիմա։