svc-tenders Server Helper Inventory
Purpose
This note records the post-Sprint-19 helper inventory for services/svc-tenders/src/server.ts.
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 platform is originally created in Georgian. Where a Georgian version exists, Georgian is authoritative for platform UI, documentation, and legal interpretation.
Translations into other languages are provided for convenience. Some records may originate in other languages and carry their own source or legal locale for a specific flow, but where a Georgian version is available, the Georgian version prevails for platform-level wording and interpretation.
Metadata incomplete: Document ID, Version, Status, Owner Role, Last Review Date, Next Review Date, Change Log
svc-tenders Server Helper InventoryThis note records the post-Sprint-19 helper inventory for services/svc-tenders/src/server.ts.
The goal is truthful classification, not forced movement.
Labels used here:
VERIFIEDREALTRANSITIONALserver.tsVERIFIED, REAL
These remain in server.ts because they are still service-shell auth concerns.
requireServiceAuthverifyAccessTokenextractBearerTokenrequireServiceAuthresolvePrincipal/auth/me principal resolutionparseAuthMePrincipalresolvePrincipalrequireActivePrincipalVERIFIED, REAL
These remain in server.ts because they are still reused across many route groups.
parsePositiveIntparsePositiveNumberparseOptionalStringparseOptionalUpperparseOptionalBooleanparseOptionalIntclampPositiveIntgetFirstQueryValueVERIFIED, TRANSITIONAL
These still live in server.ts because they are shared or config-coupled enough that no narrower destination is obvious yet.
parseTenderListOptionsserver.ts after Sprint 19server.tsparseAuctionListOptionsserver.ts after Sprint 19server.tsparseRankingScopeserver.ts after Sprint 19server.tsextractDetailsserver.ts after Sprint 19server.tsresolveIntentIdserver.ts after Sprint 19server.tsrunMulterSingleserver.ts after Sprint 19server.tsVERIFIED, REAL
ensureThirdPartyKycBoundaryverifyIncomingSignatureGateserver.ts in Sprint 18routes/support/accommodationRouteSupport.tsVERIFIED
toAccommodationUnitTypeparseAccommodationPricesplitAccommodationLocationtoPublicAccommodationSummarytoPublicAccommodationDetailmapAccommodationMutationErrorWhy:
routes/support/tenderRouteSupport.tsVERIFIED
toTenderSummarytoTenderDetailtoTenderPortalDetailWhy:
routes/support/vacancyRouteSupport.tsVERIFIED
hasVacancyPostingCapabilityhasVacancyApplicationCapabilitynormalizePermissionsmapVacancyMutationErrorWhy:
routes/support/declarationRouteSupport.tsVERIFIED
getAuctionDeclarationCapabilitieshasAuctionDeclarationCapabilitycanCheckAuctionDeclarationgetTenderDeclarationCapabilitieshasTenderDeclarationCapabilitycanCheckTenderDeclarationparseAuctionDeclarationEvidenceGroupKeyparseTenderDeclarationEvidenceGroupKeyWhy:
server.ts in Sprint 19routes/support/detailExtractionSupport.tsVERIFIED
extractDetailsWhy:
routes/support/requestIntentSupport.tsVERIFIED
resolveIntentIdWhy:
routes/support/rankingScopeSupport.tsVERIFIED
parseRankingScopeWhy:
routes/support/declarationUploadSupport.tsVERIFIED
runMulterSingle (now exposed as buildRunMulterSingle(...))Why:
server.ts, but the runner wrapper no longer needs to live thereroutes/support/tenderRouteSupport.tsVERIFIED
parseTenderListOptionsWhy:
routes/support/auctionRouteSupport.tsVERIFIED
parseAuctionListOptionsWhy:
VERIFIED
No standalone dead helper blocks were found in Sprint 19.
The only direct code cleanup in server.ts beyond helper relocation was removal of now-unused repository type imports that had been kept only for the old in-file helper bodies.
After Sprint 19, the helper surface still in server.ts is easier to justify:
What remains transitional/shared is explicit rather than silently mixed.