{"version":3,"file":"fikoyt-shared-posta.component-Cs1Pmob6.mjs","sources":["../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/posta/posta.component.html","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/posta/posta.component.ts"],"sourcesContent":["\r\n@if (!seciliHesap()) {\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n @if (yukleniyor()) {\r\n
\r\n } @else if (hata()) {\r\n
\r\n \r\n

Bağlantı hatası. Tekrar deneyin.

\r\n
\r\n } @else if (hesaplar().length === 0) {\r\n
\r\n \r\n

Erişebileceğiniz mail hesabı bulunamadı

\r\n
\r\n } @else {\r\n
\r\n @for (h of hesaplar(); track h._id) {\r\n
\r\n
\r\n {{ avatarHarf(h.email) }}\r\n
\r\n {{ h.email }}\r\n \r\n @if (h.okunmamisSayisi) {\r\n {{ h.okunmamisSayisi }} okunmamış\r\n } @else {\r\n Gelen kutusu\r\n }\r\n \r\n @if (h.okunmamisSayisi) {\r\n \r\n }\r\n
\r\n }\r\n
\r\n }\r\n
\r\n}\r\n\r\n\r\n@if (seciliHesap()) {\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n @if (aramaMetni()) {\r\n \r\n }\r\n
\r\n @if (aramaAcik) {\r\n
\r\n
\r\n
\r\n Konu\r\n Gönderen\r\n İçerik\r\n Dosyalar\r\n
\r\n \r\n
\r\n
\r\n {{ toplamMail() }} mail\r\n @if (aramaMetni() && filtrelenmisMailler().length !== toplamMail()) {\r\n · {{ filtrelenmisMailler().length }} sonuç\r\n }\r\n
\r\n
\r\n }\r\n
\r\n\r\n @if (yukleniyor()) {\r\n
\r\n } @else if (hata()) {\r\n
\r\n \r\n

Yükleme hatası. Tekrar deneyin.

\r\n
\r\n } @else if (filtrelenmisMailler().length === 0) {\r\n \r\n } @else {\r\n
\r\n @for (mail of filtrelenmisMailler(); track mail._id) {\r\n
\r\n
\r\n {{ avatarHarf(mail.kimden) }}\r\n
\r\n
\r\n
\r\n {{ gonderenIsim(mail.kimden) }}\r\n {{ mail.tarih | date:'dd.MM HH:mm' }}\r\n
\r\n
{{ mimeDecodeIsim(mail.konu) || '(Konu yok)' }}
\r\n
{{ snippet(mail) }}
\r\n
\r\n
\r\n @if (mailYanitlandiMi(mail)) {\r\n \r\n }\r\n @if (mail.ekler && mail.ekler.length > 0) {\r\n \r\n }\r\n
\r\n
\r\n }\r\n
\r\n \r\n \r\n }\r\n
\r\n\r\n \r\n
\r\n @if (seciliMail(); as m) {\r\n
\r\n \r\n

{{ mimeDecodeIsim(m.konu) || '(Konu yok)' }}

\r\n @if (silmeYetkisi()) {\r\n \r\n }\r\n
\r\n\r\n
\r\n
\r\n {{ avatarHarf(m.kimden) }}\r\n
\r\n
\r\n {{ gonderenIsim(m.kimden) }}\r\n {{ gonderenAdres(m.kimden) }}\r\n {{ m.tarih | date:'dd MMM yyyy, HH:mm' }}\r\n
\r\n
\r\n\r\n @if (m.ekler && m.ekler.length > 0) {\r\n
\r\n @for (ek of m.ekler; track ek.dosyaAdi) {\r\n
\r\n \r\n {{ mimeDecodeIsim(ek.dosyaAdi) }}\r\n
\r\n }\r\n
\r\n }\r\n\r\n
\r\n @if (m.icerikHtml) {\r\n
\r\n } @else if (m.icerik) {\r\n
{{ m.icerik }}
\r\n } @else {\r\n
İçerik yükleniyor...
\r\n }\r\n
\r\n } @else {\r\n
\r\n \r\n

Okumak için bir mail seçin

\r\n
\r\n }\r\n
\r\n
\r\n}\r\n","import {\r\n Component, ChangeDetectionStrategy, ChangeDetectorRef, OnInit, OnDestroy, inject, signal, computed, SecurityContext,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NzIconModule } from 'ng-zorro-antd/icon';\r\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\r\nimport { NzEmptyModule } from 'ng-zorro-antd/empty';\r\nimport { NzTagModule } from 'ng-zorro-antd/tag';\r\nimport { NzButtonModule } from 'ng-zorro-antd/button';\r\nimport { NzBadgeModule } from 'ng-zorro-antd/badge';\r\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\r\nimport { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';\r\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\r\nimport { FikoytSayfalamaComponent } from '@/src/service/fikoyt-ui/src/lib/fikoyt-sayfalama/fikoyt-sayfalama.component';\r\nimport { PanoDurumService } from '@uygulamalar/hmi-pano/services/pano-durum.service';\r\nimport { FikoYTRequestService } from '@/src/app/shared/services/fikoyt-request.service';\r\nimport { FikoYTService } from '@/src/service/fikoyt.service';\r\nimport { hmiAyarGetir } from '@uygulamalar/hmi-pano/config/hmi-parametre-setleri';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { IMailHesap, IMailMesaj } from '@/src/app/shared/interfaces/mail.interface';\r\nimport { normalizeMailKart } from '@/src/app/shared/utils/mail-ikart.utils';\r\nimport * as MailUI from '@/src/app/shared/utils/mail-ui.utils';\r\n\r\nconst DB_AGG = 'FikoYT.sistem.DB.hareketler.aggregate';\r\n\r\n@Component({\r\n selector: 'hmi-posta',\r\n standalone: true,\r\n imports: [CommonModule, NzIconModule, NzSpinModule, NzEmptyModule, NzTagModule, NzButtonModule, NzBadgeModule, NzDividerModule, NzPopconfirmModule, NzTooltipModule, FikoytSayfalamaComponent],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: './posta.component.html',\r\n styleUrls: ['./posta.component.less'],\r\n})\r\nexport class HmiPostaComponent implements OnInit, OnDestroy {\r\n private durum = inject(PanoDurumService);\r\n private req = inject(FikoYTRequestService);\r\n private fikoyt = inject(FikoYTService);\r\n private sanitizer = inject(DomSanitizer);\r\n private cd = inject(ChangeDetectorRef);\r\n private route = inject(ActivatedRoute);\r\n\r\n // ─── Shared mail UI (template proxy) ─────────────────────────────\r\n gonderenIsim = MailUI.gonderenIsim;\r\n gonderenAdres = MailUI.gonderenAdres;\r\n avatarHarf = MailUI.avatarHarf;\r\n avatarRenk = MailUI.avatarRenk;\r\n mimeDecodeIsim = MailUI.mimeDecodeIsim;\r\n\r\n silmeYetkisi = signal(false);\r\n\r\n hesaplar = signal([]);\r\n seciliHesap = signal(null);\r\n mailler = signal([]);\r\n yukleniyor = signal(false);\r\n seciliMail = signal(null);\r\n hata = signal(false);\r\n aramaMetni = signal('');\r\n dahaFazlaVar = signal(false);\r\n\r\n sayfaBoyutu = 20;\r\n aktifSayfa = signal(1);\r\n toplamMail = signal(0);\r\n get MAIL_LIMIT() { return this.sayfaBoyutu; }\r\n\r\n aramaAcik = false;\r\n aramaAlanlari = { konu: true, gonderen: true, icerik: false, dosya: false };\r\n\r\n private trLower(s: string | undefined): string {\r\n return (s || '').toLocaleLowerCase('tr-TR');\r\n }\r\n\r\n filtrelenmisMailler = computed(() => {\r\n const metin = this.trLower(this.aramaMetni()).trim();\r\n if (!metin) return this.mailler();\r\n return this.mailler().filter(m =>\r\n (this.aramaAlanlari.konu && this.trLower(m.konu).includes(metin)) ||\r\n (this.aramaAlanlari.gonderen && this.trLower(m.kimden).includes(metin)) ||\r\n (this.aramaAlanlari.icerik && (this.trLower(m.icerik).includes(metin) || this.trLower(m.icerikHtml).includes(metin))) ||\r\n (this.aramaAlanlari.dosya && m.ekler?.some(e => this.trLower(e.dosyaAdi).includes(metin)))\r\n );\r\n });\r\n\r\n private yeniMailSub: any;\r\n\r\n private bekleyenMailId: string | null = null;\r\n\r\n ngOnInit() {\r\n this.yetkiKontrol();\r\n // Deep link: ?mailId=xxx ile direkt mail açma\r\n const qMailId = this.route.snapshot.queryParamMap.get('mailId');\r\n if (qMailId) this.bekleyenMailId = qMailId;\r\n this.hesaplariYukle();\r\n const io = this.fikoyt.io;\r\n if (io) {\r\n this.yeniMailSub = io.fromEvent('FikoYT.sistem.io.mail.yeni').subscribe((data: any) => {\r\n if (this.seciliHesap()) {\r\n if (data?.hesapId === this.seciliHesap()?._id) this.mailleriYukle();\r\n } else {\r\n // Hesap secim ekraninda — badge'leri guncelle\r\n this.hesaplariYukle();\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.yeniMailSub?.unsubscribe();\r\n }\r\n\r\n geriDon() {\r\n if (this.seciliMail()) {\r\n this.seciliMail.set(null);\r\n } else if (this.seciliHesap()) {\r\n this.seciliHesap.set(null);\r\n this.mailler.set([]);\r\n this.seciliMail.set(null);\r\n this.aramaMetni.set('');\r\n this.aktifSayfa.set(1);\r\n this.toplamMail.set(0);\r\n } else {\r\n history.back();\r\n }\r\n }\r\n\r\n // ─── Yetki kontrolü ──────────────────────────────────────────────────────\r\n\r\n private async yetkiKontrol() {\r\n const kullanici = this.fikoyt.kimlik.aktifKullaniciJson();\r\n if (!kullanici) return;\r\n const yetkiler: string[] = kullanici.yetkiler || kullanici.veri?.yetkiler || [];\r\n if (yetkiler.includes('Süper Yönetici')) {\r\n this.silmeYetkisi.set(true);\r\n return;\r\n }\r\n // Firma yetki kaydını kontrol et\r\n const firmaId = hmiAyarGetir('firmaId', '');\r\n if (!firmaId) return;\r\n try {\r\n const sonuc = await this.req.aggregate(DB_AGG, [\r\n { $match: { vt: 'FikoYT.sistem.firma.yetkiler', firmaId, kullaniciId: kullanici._id } },\r\n { $limit: 1 },\r\n ]);\r\n const firmaYetkiler: string[] = sonuc?.[0]?.yetkiler || [];\r\n this.silmeYetkisi.set(firmaYetkiler.includes('mail.yonet'));\r\n } catch {}\r\n }\r\n\r\n // ─── Hesap yükleme (yetki bazli) ─────────────────────────────────────────\r\n\r\n async hesaplariYukle() {\r\n this.yukleniyor.set(true);\r\n this.hata.set(false);\r\n this.cd.detectChanges();\r\n const firmaId = hmiAyarGetir('firmaId', '');\r\n const personel = this.durum.sonPersonel();\r\n const personelId = personel?._id || '';\r\n const departmanId = personel?.departmanId || '';\r\n const kullaniciId = personel?.kullaniciId || '';\r\n\r\n try {\r\n // Acik yetki kontrolu: sadece 'herkes' veya eski kayitlar (field yok)\r\n const yetkiOr: any[] = [\r\n { erisimModu: 'herkes' },\r\n { erisimModu: { $exists: false } },\r\n ];\r\n if (personelId) yetkiOr.push({ yetkiliPersoneller: personelId });\r\n if (departmanId) yetkiOr.push({ yetkiliDepartmanlar: departmanId });\r\n if (kullaniciId && kullaniciId !== personelId) {\r\n yetkiOr.push({ yetkiliPersoneller: kullaniciId });\r\n }\r\n // Gecici yetki kontrolu\r\n if (personelId) {\r\n yetkiOr.push({\r\n geciciYetkiler: {\r\n $elemMatch: {\r\n personelId: personelId,\r\n baslangic: { $lte: new Date().toISOString() },\r\n bitis: { $gte: new Date().toISOString() },\r\n },\r\n },\r\n });\r\n }\r\n\r\n const hesapMatch: any = {\r\n vt: 'FikoYT.sistem.mail.hesaplar',\r\n aktif: { $ne: false },\r\n silindi: { $ne: true },\r\n $or: yetkiOr,\r\n };\r\n if (firmaId) hesapMatch.firmaId = firmaId;\r\n\r\n const sonuc = await this.req.aggregate(DB_AGG, [\r\n { $match: hesapMatch },\r\n { $sort: { email: 1 } },\r\n ]);\r\n\r\n const hesapListe = sonuc || [];\r\n\r\n // Okunmamis sayilari\r\n if (hesapListe.length > 0) {\r\n const okunmamisMatch: any = {\r\n vt: 'FikoYT.sistem.mail.mesajlar',\r\n silindi: { $ne: true },\r\n 'veri.okundu': { $ne: true },\r\n sahip: { $in: hesapListe.map(h => h._id) },\r\n };\r\n if (firmaId) okunmamisMatch['veri.firmaId'] = firmaId;\r\n try {\r\n const sayilar = await this.req.aggregate(DB_AGG, [\r\n { $match: okunmamisMatch },\r\n { $group: { _id: '$sahip', sayi: { $sum: 1 } } },\r\n ]);\r\n const sayiMap = new Map((sayilar || []).map((s: any) => [s._id, s.sayi]));\r\n hesapListe.forEach(h => h.okunmamisSayisi = sayiMap.get(h._id) || 0);\r\n } catch {}\r\n }\r\n\r\n this.hesaplar.set(hesapListe);\r\n\r\n // Deep link: mailId varsa hesabını bul ve aç\r\n if (this.bekleyenMailId && hesapListe.length > 0) {\r\n this.deepLinkMailAc(this.bekleyenMailId, hesapListe);\r\n this.bekleyenMailId = null;\r\n } else if (hesapListe.length === 1 && !this.seciliHesap()) {\r\n this.hesapSec(hesapListe[0]);\r\n }\r\n } catch {\r\n this.hata.set(true);\r\n }\r\n this.yukleniyor.set(false);\r\n this.cd.detectChanges();\r\n }\r\n\r\n // ─── Hesap secimi ─────────────────────────────────────────────────────────\r\n\r\n private async deepLinkMailAc(mailId: string, hesapListe: IMailHesap[]) {\r\n try {\r\n const sonuc = await this.req.aggregate(DB_AGG, [\r\n { $match: { _id: mailId, vt: 'FikoYT.sistem.mail.mesajlar' } },\r\n { $limit: 1 },\r\n ]);\r\n const mail = sonuc?.[0];\r\n if (!mail) return;\r\n const normalized = normalizeMailKart(mail);\r\n const hesap = hesapListe.find(h => h._id === mail.sahip) || hesapListe[0];\r\n if (hesap) {\r\n this.seciliHesap.set(hesap);\r\n this.mailleriYukle(1);\r\n }\r\n this.seciliMail.set(normalized);\r\n this.cd.detectChanges();\r\n } catch {}\r\n }\r\n\r\n hesapSec(hesap: IMailHesap) {\r\n this.seciliHesap.set(hesap);\r\n this.aramaMetni.set('');\r\n this.cd.detectChanges();\r\n this.mailleriYukle(1);\r\n }\r\n\r\n // ─── Mail yükleme ─────────────────────────────────────────────────────────\r\n\r\n async mailleriYukle(sayfa = 1) {\r\n const hesap = this.seciliHesap();\r\n if (!hesap) return;\r\n this.yukleniyor.set(true);\r\n this.hata.set(false);\r\n this.aktifSayfa.set(sayfa);\r\n this.cd.detectChanges();\r\n const firmaId = hmiAyarGetir('firmaId', '');\r\n const match: any = { vt: 'FikoYT.sistem.mail.mesajlar', sahip: hesap._id, silindi: { $ne: true } };\r\n if (firmaId) match['veri.firmaId'] = firmaId;\r\n const skip = (sayfa - 1) * this.sayfaBoyutu;\r\n try {\r\n // Toplam sayıyı al\r\n const sayiSonuc = await this.req.aggregate(DB_AGG, [\r\n { $match: match },\r\n { $count: 'toplam' },\r\n ]);\r\n this.toplamMail.set(sayiSonuc?.[0]?.toplam || 0);\r\n const sonuc = await this.req.aggregate(DB_AGG, [\r\n { $match: match },\r\n { $sort: { tarih: -1 } },\r\n { $skip: skip },\r\n { $limit: this.sayfaBoyutu },\r\n ]);\r\n const liste = (sonuc || []).map(normalizeMailKart);\r\n this.mailler.set(liste);\r\n this.yanitDurumKontrol(liste);\r\n } catch {\r\n this.hata.set(true);\r\n }\r\n this.yukleniyor.set(false);\r\n this.cd.detectChanges();\r\n }\r\n\r\n /** Yanıtlanmış mail tespiti: inReplyTo referansı + konu bazlı (RE:/FW: prefix) */\r\n private yanitlananSet = new Set();\r\n mailYanitlandiMi(mail: IMailMesaj): boolean {\r\n return this.yanitlananSet.has(mail._id || '');\r\n }\r\n private async yanitDurumKontrol(liste: IMailMesaj[]) {\r\n if (!liste.length) return;\r\n const hesap = this.seciliHesap();\r\n if (!hesap) return;\r\n const idSet = new Set();\r\n\r\n // 1. inReplyTo bazlı: messageId'si başka mailin inReplyTo'sunda geçenler\r\n const msgIds = liste.map(m => m.messageId).filter(Boolean);\r\n if (msgIds.length) {\r\n try {\r\n const sonuc = await this.req.aggregate(DB_AGG, [\r\n { $match: { vt: 'FikoYT.sistem.mail.mesajlar', 'veri.inReplyTo': { $in: msgIds } } },\r\n { $group: { _id: null, refs: { $addToSet: '$veri.inReplyTo' } } },\r\n ]);\r\n const flatRefs = new Set((sonuc?.[0]?.refs || []).flat());\r\n liste.forEach(m => { if (m.messageId && flatRefs.has(m.messageId)) idSet.add(m._id!); });\r\n } catch {}\r\n }\r\n\r\n // 2. Konu bazlı: \"RE:\" veya \"FW:\" ile başlayan mail varsa, orijinal konulu mail yanıtlanmış\r\n const konular = new Map(); // normalize konu → [_id'ler]\r\n liste.forEach(m => {\r\n const konu = (m.konu || '').trim();\r\n const temiz = konu.replace(/^(RE|FW|FWD|YNT|İLT)\\s*:\\s*/i, '').trim().toLowerCase();\r\n if (!temiz) return;\r\n if (!konular.has(temiz)) konular.set(temiz, []);\r\n konular.get(temiz)!.push(m._id!);\r\n });\r\n // RE:/FW: ile başlayan konulardaki orijinal mailleri yanıtlanmış say\r\n liste.forEach(m => {\r\n const konu = (m.konu || '').trim();\r\n if (/^(RE|FW|FWD|YNT|İLT)\\s*:/i.test(konu)) {\r\n const temiz = konu.replace(/^(RE|FW|FWD|YNT|İLT)\\s*:\\s*/i, '').trim().toLowerCase();\r\n const eslesen = konular.get(temiz);\r\n if (eslesen) {\r\n eslesen.forEach(id => { if (id !== m._id) idSet.add(id); });\r\n }\r\n }\r\n });\r\n\r\n this.yanitlananSet = idSet;\r\n this.cd.detectChanges();\r\n }\r\n\r\n sayfaDegisti(sayfa: number) {\r\n this.mailleriYukle(sayfa);\r\n }\r\n\r\n sayfaBoyutuDegisti(boyut: number) {\r\n this.sayfaBoyutu = boyut;\r\n this.mailleriYukle(1);\r\n }\r\n\r\n /** Sunucu taraflı regex arama */\r\n async sunucudaAra() {\r\n const metin = this.aramaMetni().trim();\r\n if (!metin) { await this.mailleriYukle(1); return; }\r\n const hesap = this.seciliHesap();\r\n if (!hesap) return;\r\n this.yukleniyor.set(true);\r\n this.hata.set(false);\r\n const firmaId = hmiAyarGetir('firmaId', '');\r\n const match: any = { vt: 'FikoYT.sistem.mail.mesajlar', sahip: hesap._id, silindi: { $ne: true } };\r\n if (firmaId) match['veri.firmaId'] = firmaId;\r\n\r\n // Regex $or koşulları — Türkçe karakter uyumlu\r\n const regexOr: any[] = [];\r\n const trRegex = MailUI.turkceRegex(metin);\r\n const regexDeger = { $regex: trRegex, $options: 'i' };\r\n if (this.aramaAlanlari.konu) regexOr.push({ 'veri.konu': regexDeger });\r\n if (this.aramaAlanlari.gonderen) regexOr.push({ 'veri.kimden': regexDeger });\r\n if (this.aramaAlanlari.icerik) {\r\n regexOr.push({ 'icerikler.aciklama': regexDeger });\r\n regexOr.push({ 'icerikler.html': regexDeger });\r\n }\r\n if (this.aramaAlanlari.dosya) regexOr.push({ 'dosyalar.ismi': regexDeger });\r\n if (regexOr.length === 0) regexOr.push({ 'veri.konu': regexDeger });\r\n\r\n try {\r\n const sayiSonuc = await this.req.aggregate(DB_AGG, [\r\n { $match: { ...match, $or: regexOr } },\r\n { $count: 'toplam' },\r\n ]);\r\n this.toplamMail.set(sayiSonuc?.[0]?.toplam || 0);\r\n\r\n const sonuc = await this.req.aggregate(DB_AGG, [\r\n { $match: { ...match, $or: regexOr } },\r\n { $sort: { tarih: -1 } },\r\n { $limit: this.sayfaBoyutu },\r\n ]);\r\n this.mailler.set((sonuc || []).map(normalizeMailKart));\r\n this.aktifSayfa.set(1);\r\n } catch {\r\n this.hata.set(true);\r\n }\r\n this.yukleniyor.set(false);\r\n this.cd.detectChanges();\r\n }\r\n\r\n private _aramaTimer: any;\r\n\r\n aramaGirdisi(deger: string) {\r\n this.aramaMetni.set(deger);\r\n clearTimeout(this._aramaTimer);\r\n this._aramaTimer = setTimeout(() => this.sunucudaAra(), 500);\r\n }\r\n\r\n aramaAlaniToggle(alan: 'konu' | 'gonderen' | 'icerik' | 'dosya') {\r\n (this.aramaAlanlari as any)[alan] = !this.aramaAlanlari[alan];\r\n this.cd.detectChanges();\r\n if (this.aramaMetni()) {\r\n clearTimeout(this._aramaTimer);\r\n this._aramaTimer = setTimeout(() => this.sunucudaAra(), 300);\r\n }\r\n }\r\n\r\n aramayiTemizle() {\r\n this.aramaMetni.set('');\r\n this.mailleriYukle(1);\r\n }\r\n\r\n // ─── Mail secimi + okundu isaretleme ──────────────────────────────────────\r\n\r\n async mailSec(mail: IMailMesaj) {\r\n this.seciliMail.set(mail);\r\n const personelId = this.durum.sonPersonel()?._id;\r\n\r\n // Per-user okundu: okunduBy array'ine personel ekle\r\n if (personelId && mail._id) {\r\n const zatenOkundu = (mail as any).okunduBy?.includes(personelId);\r\n if (!zatenOkundu) {\r\n // Optimistic UI\r\n if (!(mail as any).okunduBy) (mail as any).okunduBy = [];\r\n (mail as any).okunduBy.push(personelId);\r\n mail.okundu = true; // backward compat\r\n\r\n // Badge guncelle\r\n const hesap = this.seciliHesap();\r\n if (hesap?.okunmamisSayisi) {\r\n hesap.okunmamisSayisi = Math.max(0, hesap.okunmamisSayisi - 1);\r\n this.hesaplar.update(h => [...h]);\r\n }\r\n\r\n try {\r\n await this.req.guncelle('FikoYT.sistem.DB.hareketler.guncelle',\r\n { _id: mail._id },\r\n { $addToSet: { 'veri.okunduBy': personelId }, $set: { 'veri.okundu': true } },\r\n );\r\n } catch {}\r\n }\r\n }\r\n\r\n await this.auditKaydet('okuma', { mesajId: mail._id, konu: mail.konu });\r\n }\r\n\r\n // ─── Per-user okundu kontrolu ─────────────────────────────────────────────\r\n\r\n mailOkunduMu(mail: IMailMesaj): boolean {\r\n const personelId = this.durum.sonPersonel()?._id;\r\n if ((mail as any).okunduBy?.length) {\r\n return (mail as any).okunduBy.includes(personelId);\r\n }\r\n return mail.okundu;\r\n }\r\n\r\n // ─── Mail silme ──────────────────────────────────────────────────────────\r\n\r\n async mailSil(mail: IMailMesaj) {\r\n if (!mail?._id) return;\r\n try {\r\n await this.req.guncelle('FikoYT.sistem.DB.hareketler.guncelle',\r\n { _id: mail._id },\r\n { $set: { silindi: true, silinmeTarihi: new Date().toISOString() } },\r\n );\r\n await this.auditKaydet('silme', { mesajId: mail._id, konu: mail.konu });\r\n this.seciliMail.set(null);\r\n this.mailleriYukle();\r\n } catch {}\r\n }\r\n\r\n // ─── Ek dosya indirme ─────────────────────────────────────────────────────\r\n\r\n ekIndir(ek: any) {\r\n this.auditKaydet('ek_indirme', { mesajId: this.seciliMail()?._id, dosyaAdi: ek.dosyaAdi });\r\n if (ek.url) {\r\n window.open(ek.url, '_blank');\r\n } else {\r\n const dosyaId = ek.dosyaId || ek._id;\r\n if (dosyaId && dosyaId !== 'undefined') window.open(MailUI.ekIndirUrl(dosyaId), '_blank');\r\n }\r\n }\r\n\r\n // ─── Audit trail ──────────────────────────────────────────────────────────\r\n\r\n private async auditKaydet(islem: string, detay: any) {\r\n const personel = this.durum.sonPersonel();\r\n try {\r\n await this.req.ekle('FikoYT.sistem.DB.hareketler.ekle', {\r\n vt: 'FikoYT.sistem.mail.audit',\r\n islem,\r\n personelId: personel?._id,\r\n personelIsim: `${personel?.ad || ''} ${personel?.soyad || ''}`.trim(),\r\n hesapId: this.seciliHesap()?._id,\r\n ...detay,\r\n tarih: new Date().toISOString(),\r\n });\r\n } catch {}\r\n }\r\n\r\n // ─── Yardimcilar ──────────────────────────────────────────────────────────\r\n\r\n snippet(mail: IMailMesaj): string {\r\n return MailUI.mailSnippet(mail.icerik, mail.icerikHtml);\r\n }\r\n\r\n guvenliHtml(html: string) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html || '');\r\n }\r\n\r\n}\r\n"],"names":["i1","i4","i6","i9"],"mappings":"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"}