Агуулгыг алгасах

Чадварын зураглал

Энэ хуудас нь 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

Хаанаас үргэлжлүүлэх вэ