# Övningsprov: Express-API
### Förutsättningar
Du ska skapa ett API med Node JS, Express och SQLite. APIt ska hantera inlägg (posts) för en enkel blogg.
Du har en given databas i filen `database.db` med en tabell *posts* som har följande kolumner:
| Kolumn | Typ | Beskrivning |
| --------- | ------- | --------------------------- |
| id | INTEGER | Primärnyckel, autoincrement |
| title | TEXT | Titel på inlägget |
| content | TEXT | Inläggets innehåll |
| published | INTEGER | 0 = utkast, 1 = publicerat |
För referens har tabellen skapats med följande SQL-kod:
```sql
CREATE TABLE posts (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
content TEXT NOT NULL,
published INTEGER NOT NULL DEFAULT 0
);
```
### Uppgift
Skapa ett api skrivit i Node JS med hjälp av express som har följande *endpoints*. Alla endpoints ska skicka tillbaka ett svar i json-format. Skriv också kommentarer till din kod.
#### 1. Hämta inlägg
`GET /posts` - skickar tillbaka alla inlägg som en lista i json-format.
Exempel på svar:
```json
[
{
"id": 1,
"title": "Första inlägget",
"content": "Hej bloggen",
"published": 1
}
]
```
#### 2. Skapa nytt inlägg
`POST /posts` - skapar ett nytt inlägg utifrån bodyn av requesten.
Exempel på request body:
```json
{
"title": "Nytt inlägg",
"content": "Detta är innehållet"
}
```
#### 3. Publicera/avpublicera befintligt inlägg
`PUT /posts/:id` - ändrar publiceringsstatus på det inlägg med motsvarande id som i parametern. Nya statusen anges i querysträngen under variabeln *published*.
Exempel på URL `/posts/3?published=1`
### Extra krav
* lägg till att varje svar innehåller en relevant statuskod
* lägg till en endpoint för att ta bort inlägg
* lägg till en endpoint som skickar tillbaka endast ett inlägg