Чадварын зураглал¶
Энэ хуудас нь Gerege POS-ийн бодит кодод байгаа чадвар бүрийг нэг дор жагсаана — модуль, API угтвар, UI гадаргуу, шаардагдах эрх. Дэлгэрэнгүйг тухайн бүлгийн хуудсаас үзнэ үү.
Код хаана байна вэ?
Backend-ийн бүх суурь чадвар нь platform-core Go модульд (v0.3.4)
байрлана. Энэ репо-гийн backend/cmd/api/main.go нь тэр суурийг ачаалж,
ServiceName = "gerege-pos" гэж нэрлэдэг лавлах хэрэгжилт — өөрийн нэмэлт
маршрут байхгүй. Frontend (Next.js BFF) нь энэ репо-д бүтнээрээ байна.
Модулиудын зураглал¶
| Модуль | Юу хийдэг | API угтвар | UI гадаргуу | Эрх |
|---|---|---|---|---|
| Танилт | eID (QR · App2App · РД push), Google холболт, Gerege SSO | /api/v1/auth/*, /api/v1/sso/* |
/login, /auth/eid/callback |
нээлттэй |
| OIDC provider | Энэ платформ өөрөө identity provider | /.well-known/*, /oauth2/*, /userinfo |
/oauth/login, /oauth/consent |
нээлттэй (client auth) |
| eID PKI профайл | Байгууллага, гэрчилгээ, төхөөрөмж, идэвх | /api/v1/users/me/eid/* |
/me/eid/* |
нэвтэрсэн |
| eID Service Proxy | Апп-ууд eID үйлчилгээг proxy-гоор дуудна | /api/v1/eid/*, /api/v1/eid-org/* |
— (m2m) | svc:* олголт |
| Байгууллага | Үүсгэх, лавлах, гишүүн ба эрх | /api/v1/org/* |
/me/organizations |
нэвтэрсэн |
| Иргэний үйлчилгээ | Хүсэлт, лавлагаа, мэдэгдэл, төлбөр, цаг | /api/v1/gov/* |
/me/services, /me/applications |
нэвтэрсэн |
| Оператор дараалал | Хүсэлт хуваарилах, шийдвэрлэх | /api/v1/gov/officer/* |
/manager/requests |
gov.review |
| Үйлчилгээний регистр | Паспорт, хувилбар, нотолгоо, once-only | /api/v1/registry/* |
/admin/registry/* |
registry.view · registry.manage |
| Нийтийн каталог | Нэвтрэлтгүй үйлчилгээний жагсаалт | /api/v1/catalog/* |
нүүр хуудас | нээлттэй |
| Relay | Платформ хооронд хүсэлт дамжуулах | /api/v1/relay/* |
/admin/relay/* |
relay.view · relay.manage |
| API Gateway | Service catalog + хүсэлтийн телеметр | /api/v1/gateway/* |
/admin/gateway/* |
gateway.manage |
| Апп бүртгэл | OAuth client үүсгэх, secret эргүүлэх | /api/v1/applications/* |
/admin/applications |
gateway.manage |
| Цахим гарын үсэг | PAdES PDF гарын үсэг (eID /v3) |
/api/v1/sign/*, /rp/sign/* |
/me/eid/sign |
нэвтэрсэн |
| Хувийн асет | Гарын үсгийн зураг, латин нэр, тамга | /api/v1/me/* |
/me/profile |
нэвтэрсэн |
| Gerege Space | Апп-ын өөрийн SFTP хадгалалт | /api/v1/gspace/* |
/me/integrations |
нэвтэрсэн |
| Интеграци | Google Drive/Meet, Dropbox OAuth холболт | /api/v1/integrations/* |
/me/integrations |
нэвтэрсэн |
| AI туслах | Чат, STT, TTS, орчуулга | /api/v1/ai/* |
/me/ai, /me/translate |
нэвтэрсэн |
| Нийтийн AI | Нэвтрэлтгүй чат + урсгалт хариу | /api/v1/public/ai/* |
нүүр хуудасны туслах | нээлттэй (rate limit) |
| RBAC | Динамик role + permission каталог | /api/v1/rbac/* |
/admin/roles |
roles.manage |
| Админ | Хэрэглэгч, AI prompt, мэдлэгийн сан | /api/v1/admin/* |
/admin/* |
users.manage · settings.manage |
| Супер админ | Админ томилох, урилга, хандалтын горим | /api/v1/superadmin/* |
/admin/superadmin |
superadmin |
| Харагдац | Сайт-даяар accent/font/density/theme | /api/v1/site/*, /api/v1/themes/* |
/admin/themes |
settings.manage |
| Аудит | Hash-chain холбоост бүртгэл + шалгалт | /api/v1/audit/* |
/admin/audit |
admin |
| Аюулгүйн үйл явдал | Клиент талын CSP/аюулын дохио цуглуулах | /api/v1/security/events |
/admin/security |
нэвтэрсэн (жагсаалт: admin) |
Эрхийн каталог¶
Кодод (domain_rbac.go) тодорхойлогдсон 13 эрх:
| Эрх | Утга |
|---|---|
dashboard.view |
Админ/менежерийн хяналтын самбар үзэх |
settings.manage |
Системийн тохиргоо, AI prompt, харагдац удирдах |
users.manage |
Хэрэглэгч жагсаах, role солих, идэвхжүүлэх |
roles.manage |
RBAC — role ба permission удирдах |
personal.view |
Хэрэглэгчийн өөрийн хэсэг |
manager.view |
Менежерийн хэсэг |
gateway.manage |
Gateway service ба апп бүртгэл удирдах |
relay.view |
Relay самбар үзэх |
relay.manage |
Relay platform/route чиглүүлэлт удирдах |
gov.review |
Иргэний хүсэлт хянаж шийдвэрлэх |
gov.catalog |
Төрийн үйлчилгээний каталог удирдах |
registry.view |
Үйлчилгээний регистр, once-only самбар үзэх |
registry.manage |
Үйлчилгээний паспорт, нотолгоо, хувилбар удирдах |
Дөрвөн суурь үүрэг: superadmin → admin → manager → user. admin нь
каталогийн бүх эрхэд авто-resolve хийдэг тул тусад нь олгох шаардлагагүй.
Хурдны хязгаарууд¶
Кодод тогтоосон утгууд (cmd/api/server/server.go):
| Хязгаарлагч | Хурд | Burst | Хамрах хүрээ |
|---|---|---|---|
authRateLimiter |
5/мин | 5 | /auth/eid/start, /auth/google, /auth/refresh, /auth/logout, superadmin onboarding |
pollRateLimiter |
1/сек | 30 | eID long-poll (/auth/eid/poll, /auth/status/{sid}) |
aiRateLimiter |
20/мин | 10 | /ai/chat, /ai/stt, /ai/tts, /ai/translate |
publicAIRateLimiter |
6/мин | 3 | /public/ai/chat, /public/ai/chat/stream |
publicTTSRateLimiter |
20/мин | 8 | /public/ai/tts |
govWriteRateLimiter |
30/мин | 15 | gov бичилт, eID профайлын бичилт, асет, gspace |
TRUSTED_PROXIES
Хязгаарлалт нь IP тус бүрээр ажиллана. nginx → BFF → api топологид api нь
зөвхөн BFF-ийн IP-г хардаг тул TRUSTED_PROXIES тохируулаагүй бол бүх
траффик нэг хувин дээр буудаг. Хоосон үлдээвэл api boot дээр
анхааруулга бичнэ — Тохиргоо-г үз.
Feature-үүдийн идэвхжих нөхцөл¶
Ихэнх чадвар нь fail-closed — креденшл байхгүй бол унтардаг, худал ажилладаггүй.
| Чадвар | Идэвхжих нөхцөл | Байхгүй үед |
|---|---|---|
| eID нэвтрэлт | EID_RP_UUID + EID_RP_SECRET |
Нэвтрэх товч харагдахгүй |
| Google холболт | GOOGLE_CLIENT_ID + SECRET |
Товч харагдахгүй |
| Gerege SSO (RP) | SSO_ISSUER + SSO_CLIENT_ID + SECRET |
SSO урсгал идэвхгүй |
| OIDC provider | OAUTH_ISSUER + SSO_STATE_KEY |
Discovery 404 |
| AI туслах | GEMINI_API_KEY |
AI endpoint 500 |
| Мэдлэгийн сангийн вектор хайлт | pgvector + embed модель | ILIKE хайлт руу уналт |
| Gerege Space | GSPACE_HOST + креденшл |
Холболтын карт идэвхгүй |
| eID Service Proxy | SSO proxy тохиргоо | Route холбогдохгүй |
/metrics, /swagger |
OBSERVABILITY_TOKEN |
Production-д 404 |
Хаанаас үргэлжлүүлэх вэ¶
- Нэвтрэлт — eID, Google, SSO урсгалууд
- Иргэний үйлчилгээ — хүсэлтийн бүтэн мөчлөг
- Регистр ба Relay — үйлчилгээний паспорт, дамжуулалт
- Баримт ба гарын үсэг — PAdES, асет, файл
- Админ ба RBAC — эрх, супер админ, аудит
- API лавлах — бүх endpoint нэг хүснэгтэд