Readme





Person İçin



Get İşlemleri



Active olan bütün Person ları get etmek için => https://{hostname}/api/People

Passive de dahil bütün Person ları get etmek için => https://{hostname}/api/People/all

İstenen Id ye sahip Person u get etmek için => https://{hostname}/api/People/{id}


Get Formatı

{
        "id": 1,
        "userName": "beerkaya",
        "name": "Berk",
        "surname": "Kaya",
        "role": "Backend",
        "githubLink": "#",
        "linkedInLink": "#",
        "projects": [
            {
                "id": 1,
                "name": "Project1",
                "explanation": "...",
                "githubLink": "#",
                "isActive": true,
                "personIds": "1"
            },
            {
                "id": 2,
                "name": "Project2",
                "explanation": "...",
                "githubLink": "#",
                "isActive": false,
                "personIds": "1-2"
            }
        ]
    }


"projectids" i "1-2" olan bir person un get edildiğindeki çıktısı.

Daha önce silinmiş olan bir proje varsa ve kişi o projede yer alıyorsa, ilgili projenin bilgileri de person get edildiğinde çıktıda yer alır. Projenin kalkmış olduğu da belirtilir.



Post İşlemi



Post etmek için => https://{hostname}/api/People


Person Post Formatı

{
    "username": "beerkaya",
    "password": "123456",
    "name": "Berk",
    "surname": "Kaya",
    "role": "Backend",
    "githublink": "#",
    "linkedinlink": "#",
    "projectids": ""
}


*"projectids" eklenecek proje id lerine göre "1-2-3" şeklinde doldurulur. *

Herhangi bir proje eklenmemişse boş gönderilir.



Put İşlemi



Put etmek için => https://{hostname}/api/People/{id}


Person Put Formatı

{
    "id": 1,
    "username": "beerkaya",
    "name": "Berk",
    "surname": "Kaya",
    "role": "Backend",
    "githublink": "#",
    "linkedinlink": "#",
    "projectids": "1-2"
}


Put edilirken değiştirilen veya değiştirilmeyen tüm bilgiler apiye gönderilir.

Burada 2 adet proje olduğu varsayılıp bu kişide "projectids" düzenlemesi yapılmıştır.



Delete İşlemi



Delete etmek için => https://{hostname}/api/People/{id}




Project İçin



Get İşlemleri



Active olan bütün Project leri get etmek için => https://{hostname}/api/Projects

Passive de dahil bütün Project leri get etmek için => https://{hostname}/api/Projects/all

İstenen Id ye sahip Project i get etmek için => https://{hostname}/api/Projects/{id}


Get Formatı

{
        "id": 1,
        "name": "Project1",
        "explanation": "...",
        "githubLink": "#",
        "people": [
            {
                "id": 1,
                "userName": "beerkaya",
                "password": "******",
                "name": "Berk",
                "surname": "Kaya",
                "role": "Backend",
                "githubLink": "#",
                "linkedInLink": "#",
                "isActive": true,
                "projectIds": "1-2"
            }
        ]
    }


"personids" i "1" olan bir project in get edildiğindeki çıktısı.



Post İşlemi



Post etmek için => https://{hostname}/api/Projects


Project Post Formatı

{
    "name": "Project1",
    "explanation": "...",
    "githublink": "#",
    "personids": "1-2-3"
}


*"personids" eklenecek person id lerine göre "1-2-3" şeklinde doldurulur. *

Herhangi bir person eklenmemişse boş gönderilir.

Burada 3 adet person olduğu varsayılıp eklemesi yapılmıştır.



Put İşlemi



Put etmek için => https://{hostname}/api/Projects/{id}


Project Post Formatı

{
    "id": 1,
    "name": "Project1",
    "explanation": "...",
    "githublink": "#",
    "personids": "1-3"
}


Put edilirken değiştirilen veya değiştirilmeyen tüm bilgiler apiye gönderilir.

Burada put edilirken "2" numaralı person projeden silinmiştir.



Delete İşlemi



Delete etmek için => https://{hostname}/api/Projects/{id}




Admin Paneli



Login İşlemi



Login için url e kullanıcı adı ve şifre gönderilerek get isteğinde bulunulur.

Url => https://{hostname}/api/Login


Login Formatı

{
    "username": "beerkaya",
    "password": "123456"
}


Apiye bu bilgilerle get isteği gönderilir. Kullanıcı adı ve şifre eşleşir ise true, eşleşmez ise false döner.

Diğer durumlarda (username null olması, db de olmaması gibi) "BadRequest" döner.



Parola Değiştirme İşlemi



Şifre değiştirme işlemi için url e kullanıcı adı, eski şifre ve yeni şifre gönderilerek put isteğinde bulunulur. İşlem başarılı olursa true döner.

Url => https://{hostname}/api/People/pass/{id}


Parola Değiştirme Formatı

{
    "username": "beerkaya",
    "oldpassword": "123456",
    "newpassword": "12345678"
}


Kullanıcı adı ve parola eşleşmesi başarılı olursa şifre değiştirilir ve true döner.

Diğer durumlarda false döner.