Loading module
Resolving locale, route permissions, and workspace projection.
Resolving locale, route permissions, and workspace projection.
Current scope: Guest
Category: 10_normative | Version: v1.0.0
Owner: DOCUMENT_CUSTODIAN | Review cycle: 90 days
Approval authority: GOVERNANCE_ADMIN
Documentation portal is read-only. Editing and mutation endpoints are disabled.
Kvary platforması ilkin olaraq gürcü dilində yaradılıb. Gürcü versiyası mövcud olduqda, platforma UI, sənədlər və hüquqi şərh üçün gürcü dili üstün sayılır.
Digər dillərə tərcümələr rahatlıq üçün verilir. Bəzi qeydlər konkret axın üçün başqa dildə yarana və öz source/legal locale məlumatına malik ola bilər, lakin gürcü versiyası mövcud olduqda platforma səviyyəli ifadə və şərh üçün gürcü versiyası üstünlük təşkil edir.
Metadata incomplete: Document ID, Version, Status, Owner Role, Last Review Date, Next Review Date, Change Log
| Surface | Current path | Classification | Notes |
| --- | --- | --- | --- |
| Public vacancy list | GET /vacancies | MIXED / compatibility route surface | Uses preferred vacancy read repository, but that repository still unions projection-backed rows with legacy vacancies. |
| Public vacancy detail | GET /vacancies/:id | MIXED / compatibility route surface | Checks projection detail first, then falls back to legacy vacancies. |
| Applicant application list | GET /vacancy-applications/me | stable route surface | Requires auth; reads from my_vacancy_applications_view. |
| Submit vacancy application | POST /vacancy-applications | stable route surface | Requires auth and vacancy-application submit capability. |
| Withdraw vacancy application | POST /vacancy-applications/:id/withdraw | stable route surface | Requires auth and vacancy-application withdraw capability. |
| Review actions | POST /vacancy-applications/:id/shortlist, /reject, /accept | stable route surface | Auth-protected owner-side application decisions. |
| Posting create/update | POST /vacancy-postings, PATCH /vacancy-postings/:id | stable route surface | Core vacancy posting mutations. |
| Posting publish/close/reopen | POST /vacancy-postings/:id/publish, /close, /reopen | stable route surface | Clear lifecycle mutation surface. |
| Owner posting list/detail | GET /owner/vacancy-postings, GET /owner/vacancy-postings/:id | stable route surface | Uses vacancy-owned reads over vacancy_postings. |
| Owner applications list/detail | GET /owner/vacancy-applications, GET /owner/vacancy-applications/:id | stable route surface | Reads from direct joins over vacancy_applications + vacancy_postings. |
| Posting applications by posting | GET /vacancy-postings/:id/applications | mostly stable, lightly composed | Owner check and application list are vacancy-owned; the response also loads vacancy summary through the broader public finder. |
| Gateway route module | Target resolution | Classification | Notes |
| --- | --- | --- | --- |
| services/api/src/routes/vacancies.ts | VACANCIES_SERVICE_URL ?? TENDERS_SERVICE_URL | stable shared seam | Ready for extracted runtime targeting. |
| services/api/src/routes/vacancy-postings.ts | VACANCIES_SERVICE_URL ?? TENDERS_SERVICE_URL | stable shared seam | Includes auth-protected posting mutations and review list-by-posting. |
| services/api/src/routes/vacancy-applications.ts | VACANCIES_SERVICE_URL ?? TENDERS_SERVICE_URL | stable shared seam | Includes submit, me-list, owner decision, withdraw. |
| services/api/src/routes/owner-vacancy-postings.ts | VACANCIES_SERVICE_URL ?? TENDERS_SERVICE_URL | stable shared seam | Owner/internal read path already isolated at gateway level. |
| services/api/src/routes/owner-vacancy-applications.ts | VACANCIES_SERVICE_URL ?? TENDERS_SERVICE_URL | stable shared seam | Same. |
Created in vacancy write-model migration lineage:
vacancy_postingsvacancy_applicationsvacancy_postings_viewvacancy_posting_detail_viewmy_vacancy_applications_viewvacancy_applications_by_posting_viewThese are the real current vacancy write/read-model surfaces.
Legacy public discovery table:
vacanciesThis table is still part of public vacancy truth because VacancyReadRepository.listAllVacancies() and findVacancyById() fall back to it when no projection-backed posting exists.
Vacancy-dominant migration surfaces:
0032_vacancy_write_model.sql0044_add_details_json_to_views.sqlMixed vacancy/accommodation context surfaces:
0042_vacancy_accommodation_context.sql0043_vacancy_accommodation_declaration_details.sqlLegacy compatibility residue:
0005_vacancies_accommodations.sqlThe public routes are not shell-mixed because of auth or gateway composition. They are mixed because the preferred vacancy repository still treats the legacy vacancies catalog as fallback truth.
Best current extraction shape:
This makes Vacancy less like ICPI or post-cutover Accommodation, where runtime truth was cleaner before final cutover.