fix: resolve current bid source by IKN and track output header changes

This commit is contained in:
2026-09-06 14:59:23 +03:00
parent 528933aa1b
commit ff1a4bca70
5 changed files with 40 additions and 2 deletions
+1
View File
@@ -31,6 +31,7 @@ export function bidSourceSnapshot(tender, results, rows = sourceRows(tender, res
return JSON.stringify({
tender: tender?.ikn || tender?.id,
announcement: tender?.aciklama || '',
outputHeader: {title:tender?.baslik || '',institution:tender?.kurum || '',date:tender?.ihaleTarihi || tender?.tarih || ''},
deadline: [tender?.tarih || '', tender?.saat || ''],
status: tender?.durum || '',
...(tender?.kazananFirma ? {winner:tender.kazananFirma} : {}),
+9
View File
@@ -28,3 +28,12 @@ export function tenderSnapshot(t) {
export function publicTender(tender) {
return Object.fromEntries(Object.entries(tender).filter(([key]) => !USER_STATE_FIELDS.includes(key)));
}
/** Source response ids can rotate; procurement identity is the IKN when present. */
export function resolveCurrentTender(selected, tenders) {
const key=tenderStateKey(selected);
if(!key)return selected || {};
const current=tenders.find(t=>tenderStateKey(t)===key) ||
(!selected?.ikn ? tenders.find(t=>t.id===selected?.id) : undefined);
return current ? {...selected,...current} : selected;
}