Kullanıcı Yönetimi (Users)
GET/api/users/writers-all?page=1&limit=10Kimlik doğrulama gerekli
Yazarları sayfalı olarak listeler. `page` varsayılanı 1, `limit` varsayılanı 10, maksimum 100.
GET/api/users/get/:idKimlik doğrulama gerekli
Belirtilen kullanıcıyı getirir. Kullanıcı bulunamazsa 404 Not Found döner.
PATCH/api/users/change-passwordKimlik doğrulama gerekli
Oturum açmış kullanıcının şifresini günceller.
Örnek request body
{
"oldPassword": "EskiŞifre123!",
"newPassword": "YeniŞifre456!"
}
DELETE/api/users/delete/:idKimlik doğrulama gerekli
Token sahibi kullanıcıyı siler. Bilinen sorun: testte 500 döndü; UserService oluşturulurken gereken blog repository bağımlılığı verilmemiş.
Blog Yönetimi (Blogs)
GET/api/blogs/all?page=1&limit=10
Blogları sayfalı olarak listeler. `page` varsayılanı 1, `limit` varsayılanı 10, maksimum 100.
GET/api/blogs/get/:id
Belirtilen blogu getirir. Kayıt bulunamazsa mevcut kod 200 OK ile null döndürebilir.
GET/api/blogs/detail/:id
Blog detayını ve ilişkili blog nesnesini getirir. Bilinen sorun: testte 500 döndü; sorgu BlogDetail modelinde bulunmayan `isActive` alanını kullanıyor.
POST/api/blogs/createKimlik doğrulama gerekli
Yeni blog oluşturur. `writer` veya `admin` rolü gerekir. `summary` isteğe bağlıdır; `authorId` token'dan alınır. Blog.content benzersiz indeksli olduğundan her blog için farklı bir `content` kullanılmalıdır.
Örnek request body
{
"title": "Örnek başlık",
"content": "Benzersiz blog içeriği",
"summary": "Kısa özet"
}
PUT/api/blogs/update/:idKimlik doğrulama gerekli
Blogu günceller. `writer` veya `admin` rolü gerekir. Bilinen sorun: testte 500 döndü; controller, güncelleme alanlarını servis metoduna beklenen nesne biçiminde iletmiyor.
Örnek request body
{
"title": "Güncel başlık",
"content": "Yeni ve benzersiz içerik",
"summary": "Güncel özet"
}
DELETE/api/blogs/delete/:idKimlik doğrulama gerekli
Blogu siler/pasifleştirir. `writer` veya `admin` rolü gerekir. Silinmiş/pasifleştirilmiş blog nesnesini döndürür.