Proje: Okul.com.tr CRM · Hub: Okul.com.tr CRM — Conventions
CRM Makale İçerik Görsel Akışı
Sorun
Jodit editor HTML içeriğine görsel eklendiğinde, görsel geçici storage’a yüklenir ve URL temp path içerir. Makale kaydedilirken bu temp URL’leri kalıcı hale getirmek gerekir.
processContentImages Fonksiyonu
async function processContentImages(
htmlContent: string,
articleId: number,
excludeTempPath?: string // kapak görseli temp path'i (zaten move edildi)
): Promise<string>- HTML içeriğindeki temp URL pattern’ini arar:
/temps/içeren URL’ler - S3 URL → pathname çıkarır
/storage/temps/...→ path düzeltir- Her temp URL için
MediaService.move()çağırır - HTML içeriğindeki URL’leri kalıcı URL ile değiştirir
RichTextEditor
src/components/common/RichTextEditor.tsx — Jodit veya TipTap editor wrapper.
Makale sayfalarında HTML içerik düzenleme için kullanılır.
ContentImageGallery
src/components/common/ContentImageGallery.tsx — Jodit editörle birlikte kullanılan galeri bileşeni.
Editör içine görsel ekleme + galeri yönetimi birlikte.
Makale Create/Edit Akışı
- Form submit →
ArticleService.create/update()→ article ID alınır - Kapak görseli →
MediaService.move()(role_id=1 ARTICLE_COVER) - İçerik görselleri →
processContentImages()→ HTML güncellenir, her görselMediaService.move()(role_id=2 ARTICLE_CONTENT) - Güncellenmiş HTML →
ArticleService.update()ile article güncellenir
Related
- media-yukleme-akisi — uploadTemporary→move genel akış
- makale-modeli — Article entity ve MediaRoleId