📑 Stats 📂 Docs

🔹 Endpoint

POST: /bucket/create

📌 Parametry

NázevTypPopis
bucketstringNázev bucketu
keystringPřístupový klíč

📤 Příklad požadavku

{ "bucket": "moje_bucket", "key": "abcdef123456" }

📂 Detaily Bucketu: moje_bucket

📁 Počet souborů: 124
📦 Celková velikost: 2.5 GB
⏳ Poslední aktivita: 2024-02-10

📑 API Dokumentace – Správa Bucketů

🔹 Endpoint

POST: /bucket/create

🔒 Autorizace

API je chráněno pomocí Bearer Tokenu. Každý požadavek musí obsahovat Authorization: Bearer {token}.

📌 Parametry

Název Typ Popis Povinné
bucket string Název bucketu
key string Přístupový klíč (min. 6 znaků)
username string Uživatelské jméno

📤 Příklad požadavku

POST /bucket/create HTTP/1.1
Host: api.example.com
Authorization: Bearer your_token
Content-Type: application/json

{
    "bucket": "moje_bucket",
    "key": "abcdef123456",
    "username": "uzivatel1"
}
    

📥 Možné odpovědi

✅ Úspěšná odpověď (201)

{
    "error": 0,
    "bucket": {
        "name": "moje_bucket",
        "url": "moje-bucket",
        "created": "2024-02-06 12:00:00"
    }
}
        

🚫 Bucket již existuje (403)

{
    "error": 1,
    "message": "Bucket already exists"
}
        

❌ Chybné parametry (400)

{
    "error": 1,
    "message": "Invalid parameters"
}
        

📑 API Dokumentace – Přidání klíče k bucketu

🔹 Endpoint

POST: /bucket/add-key

🔒 Autorizace

API je chráněno pomocí Bearer Tokenu. Každý požadavek musí obsahovat Authorization: Bearer {token}.

📌 Parametry

Název Typ Popis Povinné
bucket string Název existujícího bucketu
key string Nový přístupový klíč
username string Uživatelské jméno

📤 Příklad požadavku

POST /bucket/add-key HTTP/1.1
Host: api.example.com
Authorization: Bearer your_token
Content-Type: application/json

{
    "bucket": "moje_bucket",
    "key": "novyKlic123",
    "username": "uzivatel1"
}
    

📥 Možné odpovědi

✅ Úspěšná odpověď (200)

{
    "error": 0,
    "bucket": {
        "name": "moje_bucket",
        "keys": [
            {
                "username": "uzivatel1",
                "key": "novyKlic123"
            }
        ],
        "created": "2024-02-06 12:00:00"
    }
}
        

🚫 Bucket neexistuje (404)

{
    "error": 1,
    "message": "Bucket not found"
}
        

📑 API Dokumentace – Odebrání klíče z bucketu

🔹 Endpoint

POST: /bucket/remove-key

🔒 Autorizace

API je chráněno pomocí Bearer Tokenu. Každý požadavek musí obsahovat Authorization: Bearer {token}.

📌 Parametry

Název Typ Popis Povinné
bucket string Název existujícího bucketu
username string Uživatelské jméno, jehož klíč má být odstraněn

📤 Příklad požadavku

POST /bucket/remove-key HTTP/1.1
Host: api.example.com
Authorization: Bearer your_token
Content-Type: application/json

{
    "bucket": "moje_bucket",
    "username": "uzivatel1"
}
    

📥 Možné odpovědi

✅ Úspěšná odpověď (200)

{
    "error": 0,
    "bucket": {
        "name": "moje_bucket",
        "keys": [],
        "created": "2024-02-06 12:00:00"
    }
}
        

🚫 Bucket neexistuje (404)

{
    "error": 1,
    "message": "Bucket not found"
}
        

📑 API Dokumentace – Seznam bucketů

🔹 Endpoint

GET: /bucket/list

🔒 Autorizace

API je chráněno pomocí Bearer Tokenu. Každý požadavek musí obsahovat Authorization: Bearer {token}.

📌 Parametry

Název Typ Popis Povinné
bucket string Pokud je zadán, vrátí pouze informace o daném bucketu. Pokud není, vrátí seznam všech bucketů.

📤 Příklad požadavku

🔹 Získání všech bucketů

GET /bucket/list HTTP/1.1
Host: api.example.com
Authorization: Bearer your_token
    

🔹 Získání konkrétního bucketu

GET /bucket/list?bucket=moje_bucket HTTP/1.1
Host: api.example.com
Authorization: Bearer your_token
    

📥 Možné odpovědi

✅ Úspěšná odpověď – Seznam bucketů (200)

[
    {
        "name": "moje_bucket",
        "url": "moje-bucket",
        "created": "2024-02-06 12:00:00"
    },
    {
        "name": "dalsi_bucket",
        "url": "dalsi-bucket",
        "created": "2024-02-06 12:10:00"
    }
]
        

✅ Úspěšná odpověď – Konkrétní bucket (200)

{
    "name": "moje_bucket",
    "url": "moje-bucket",
    "created": "2024-02-06 12:00:00",
    "keys": [
        {
            "username": "uzivatel1",
            "key": "abcdef123456"
        }
    ]
}
        

🚫 Bucket neexistuje (404)

{
    "error": 1,
    "message": "Bucket not found"
}
        

📑 API Dokumentace – Nahrání souboru do bucketu

🔹 Endpoint

POST: /file/{bucket_name}

🔒 Autorizace

API je chráněno pomocí Bearer Tokenu. Každý požadavek musí obsahovat Authorization: Bearer {token}.

📌 Parametry

Název Typ Popis Povinné
bucket_name string (v URL) Název bucketu, do kterého se soubor nahrává
key string (form-data) Cesta k souboru v bucketu včetně názvu souboru (např. /slozka/subor.pdf)
file file (form-data) Soubor, který se nahrává (název souboru není důležitý, zpracuje se jeden soubor)

📤 Příklad požadavku

🔹 Nahrání souboru

POST /file/moje_bucket HTTP/1.1
Host: api.example.com
Authorization: Bearer your_token
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="key"

/slozka/dokument.pdf
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="jakykoliv_nazev.pdf"
Content-Type: application/pdf

(BINARY DATA)
------WebKitFormBoundary7MA4YWxkTrZu0gW--
    

📥 Možné odpovědi

✅ Úspěšná odpověď (201)

{
    "url": "https://api.example.com/moje_bucket/slozka/dokument.pdf"
}
        

🚫 Chybějící parametr "key" (403)

{
    "error": 1,
    "message": "Key param is missing"
}
        

🚫 Bucket neexistuje nebo je nepřístupný (404)

{
    "error": 1,
    "message": "Bucket not found"
}
        

📑 API Dokumentace – Kontrola existence souboru

🔹 Endpoint

POST: /exists/{bucket_name}

🔒 Autorizace

API je chráněno pomocí Bearer Tokenu. Každý požadavek musí obsahovat Authorization: Bearer {token}.

📌 Parametry

Název Typ Popis Povinné
bucket_name string (v URL) Název bucketu, kde se kontroluje soubor
key string (raw body) Cesta a název souboru v bucketu

📤 Příklad požadavku

POST /exists/moje_bucket HTTP/1.1
Host: api.example.com
Authorization: Bearer your_token
Content-Type: application/json

{
    "key": "/slozka/soubor.pdf"
}
    

📥 Možné odpovědi

✅ Soubor existuje (200)

{
    "exists": 1
}
        

🚫 Chybějící parametr "key" (400)

{
    "exists": 1,
    "error": "key not set"
}
        

🚫 Soubor neexistuje (200)

{
    "exists": 0
}
        

🚫 Neoprávněný přístup (401)

{
    "error": 1,
    "message": "Unauthorized"
}
        

📑 API Dokumentace – Smazání souboru z bucketu

🔹 Endpoint

DELETE: /file/{bucket_name}

🔒 Autorizace

API je chráněno pomocí Bearer Tokenu. Každý požadavek musí obsahovat Authorization: Bearer {token}.

📌 Parametry

Název Typ Popis Povinné
bucket_name string (v URL) Název bucketu, ve kterém se soubor nachází
key string (raw body) Cesta a název souboru v bucketu

📤 Příklad požadavku

DELETE /file/moje_bucket HTTP/1.1
Host: api.example.com
Authorization: Bearer your_token
Content-Type: application/json

{
    "key": "/soubory/dokument.pdf"
}
    

📥 Možné odpovědi

✅ Soubor úspěšně smazán (200)

{
    "error": 0,
    "message": "Delete success"
}
        

🚫 Soubor neexistuje (403)

{
    "error": 1,
    "message": "File not found"
}
        

🚫 Bucket neexistuje nebo je nepřístupný (401)

{
    "error": 1,
    "message": "Bucket not found"
}
        

📑 API Dokumentace – Stažení souboru z bucketu

🔹 Endpoint

GET: /file/{bucket_name}

🔒 Autorizace

API je chráněno pomocí Bearer Tokenu. Každý požadavek musí obsahovat Authorization: Bearer {token}.

📌 Parametry

Název Typ Popis Povinné
bucket_name string (v URL) Název bucketu, ze kterého se soubor stahuje
key string (raw body) Cesta a název souboru v bucketu

📤 Příklad požadavku

GET /file/moje_bucket HTTP/1.1
Host: api.example.com
Authorization: Bearer your_token
Content-Type: application/json

{
    "key": "/soubory/dokument.pdf"
}
    

📥 Možné odpovědi

✅ Úspěšná odpověď (200)

{
    "originalName": "dokument.pdf",
    "fileType": "application/pdf",
    "fileSize": 145670.0,
    "created": "2025-02-10T12:00:00+01:00",
    "bucket_name": "moje_bucket",
    "expiration": "2025-03-10T12:00:00+01:00",
    "downloadCount": 3,
    "download": "http://files.example.com/download/moje_bucket/ab12345cdef67890ghijkl",
    "key": "/soubory/dokument.pdf"
}
        

🚫 Soubor neexistuje (404)

{
    "error": 1,
    "message": "File not found"
}
        

🚫 Neoprávněný přístup (401)

{
    "error": 1,
    "message": "Unauthorized"
}
        

🚫 Chybějící parametr "key" (400)

{
    "error": 1,
    "message": "Key param is missing"
}