feat: version tender calendar events

This commit is contained in:
2026-09-06 16:21:04 +03:00
parent fc4825e2f8
commit 835e66405a
3 changed files with 18 additions and 3 deletions
+4 -2
View File
@@ -29,11 +29,13 @@ export function createTenderICS(t, now = new Date()) {
const start = tenderDeadline(t);
const uid = encodeURIComponent(String(t.ikn || t.id || '').trim());
if (!uid) throw new Error('İhale kimliği gerekli.');
const rawSequence=Number(t.icsSequence ?? t.documentVersion ?? 0);
const sequence=Number.isSafeInteger(rawSequence)&&rawSequence>=0 ? rawSequence : 0;
return ['BEGIN:VCALENDAR','VERSION:2.0','PRODID:-//Ihaleist//Tender Calendar//TR','CALSCALE:GREGORIAN',
'BEGIN:VEVENT',`UID:${uid}@ihaleist.com`,`DTSTAMP:${stamp(now)}`,
`DTSTART:${stamp(start)}`,'TRANSP:TRANSPARENT',
`SEQUENCE:${sequence}`,`DTSTART:${stamp(start)}`,'TRANSP:TRANSPARENT',
`SUMMARY:${escapeICS('İhale son teklif: '+t.baslik)}`,
`DESCRIPTION:${escapeICS('İKN: '+t.ikn+' — '+t.kurum+'\nBu tek seferlik takvim kaydı otomatik güncellenmez. İhale tarihini resmi kaynaktan doğrulayın; değişiklikte takviminizdeki eski kaydı güncelleyin.')}`,
`DESCRIPTION:${escapeICS('İKN: '+t.ikn+' — '+t.kurum+'\nKaynak sürümünü ve ihale tarihini resmi kaynaktan doğrulayın; zeyilname veya tarih değişikliğinde aynı UID ve artan sürümle takvimi güncelleyin.')}`,
'END:VEVENT','END:VCALENDAR',''].map(fold).join('\r\n');
}