577 lines
17 KiB
JSON
577 lines
17 KiB
JSON
{
|
|
"info": {
|
|
"name": "Meldestelle Self-Contained Systems API",
|
|
"description": "Comprehensive API collection for the Austrian Equestrian Federation Meldestelle system. This collection covers all bounded contexts including Authentication, Master Data, and Horse Registry.",
|
|
"version": "1.0.0",
|
|
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
|
|
},
|
|
"variable": [
|
|
{
|
|
"key": "baseUrl",
|
|
"value": "http://localhost:8080",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"key": "authToken",
|
|
"value": "",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"auth": {
|
|
"type": "bearer",
|
|
"bearer": [
|
|
{
|
|
"key": "token",
|
|
"value": "{{authToken}}",
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"item": [
|
|
{
|
|
"name": "System Information",
|
|
"item": [
|
|
{
|
|
"name": "API Gateway Info",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": [""]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Health Check",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/health",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["health"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "API Documentation",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/api",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["api"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Swagger UI",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/swagger",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["swagger"]
|
|
}
|
|
},
|
|
"response": []
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Authentication Context",
|
|
"item": [
|
|
{
|
|
"name": "User Registration",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"email\": \"test@example.com\",\n \"password\": \"SecurePassword123!\",\n \"firstName\": \"Test\",\n \"lastName\": \"User\",\n \"phoneNumber\": \"+43123456789\"\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{baseUrl}}/auth/register",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["auth", "register"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "User Login",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"email\": \"test@example.com\",\n \"password\": \"SecurePassword123!\"\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{baseUrl}}/auth/login",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["auth", "login"]
|
|
}
|
|
},
|
|
"response": [],
|
|
"event": [
|
|
{
|
|
"listen": "test",
|
|
"script": {
|
|
"exec": [
|
|
"if (pm.response.code === 200) {",
|
|
" const response = pm.response.json();",
|
|
" if (response.success && response.data && response.data.token) {",
|
|
" pm.collectionVariables.set('authToken', response.data.token);",
|
|
" console.log('Auth token saved:', response.data.token);",
|
|
" }",
|
|
"}"
|
|
],
|
|
"type": "text/javascript"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Get User Profile",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [
|
|
{
|
|
"key": "Authorization",
|
|
"value": "Bearer {{authToken}}"
|
|
}
|
|
],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/auth/profile",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["auth", "profile"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Update User Profile",
|
|
"request": {
|
|
"method": "PUT",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
},
|
|
{
|
|
"key": "Authorization",
|
|
"value": "Bearer {{authToken}}"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"firstName\": \"Updated\",\n \"lastName\": \"User\",\n \"phoneNumber\": \"+43987654321\"\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{baseUrl}}/auth/profile",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["auth", "profile"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Change Password",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
},
|
|
{
|
|
"key": "Authorization",
|
|
"value": "Bearer {{authToken}}"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"currentPassword\": \"SecurePassword123!\",\n \"newPassword\": \"NewSecurePassword456!\"\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{baseUrl}}/auth/change-password",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["auth", "change-password"]
|
|
}
|
|
},
|
|
"response": []
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Master Data Context",
|
|
"item": [
|
|
{
|
|
"name": "Countries",
|
|
"item": [
|
|
{
|
|
"name": "Get All Countries",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/api/masterdata/countries",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["api", "masterdata", "countries"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Get Active Countries",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/api/masterdata/countries/active",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["api", "masterdata", "countries", "active"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Get Country by ID",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/api/masterdata/countries/{{countryId}}",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["api", "masterdata", "countries", "{{countryId}}"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Get Country by ISO Code",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/api/masterdata/countries/iso/AT",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["api", "masterdata", "countries", "iso", "AT"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Create Country",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
},
|
|
{
|
|
"key": "Authorization",
|
|
"value": "Bearer {{authToken}}"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"isoAlpha2Code\": \"TS\",\n \"isoAlpha3Code\": \"TST\",\n \"isoNumerischerCode\": \"999\",\n \"nameDeutsch\": \"Testland\",\n \"nameEnglisch\": \"Testland\",\n \"istEuMitglied\": false,\n \"istEwrMitglied\": false,\n \"istAktiv\": true,\n \"sortierReihenfolge\": 999\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{baseUrl}}/api/masterdata/countries",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["api", "masterdata", "countries"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Update Country",
|
|
"request": {
|
|
"method": "PUT",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
},
|
|
{
|
|
"key": "Authorization",
|
|
"value": "Bearer {{authToken}}"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"isoAlpha2Code\": \"TS\",\n \"isoAlpha3Code\": \"TST\",\n \"isoNumerischerCode\": \"999\",\n \"nameDeutsch\": \"Updated Testland\",\n \"nameEnglisch\": \"Updated Testland\",\n \"istEuMitglied\": false,\n \"istEwrMitglied\": false,\n \"istAktiv\": true,\n \"sortierReihenfolge\": 999\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{baseUrl}}/api/masterdata/countries/{{countryId}}",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["api", "masterdata", "countries", "{{countryId}}"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Delete Country",
|
|
"request": {
|
|
"method": "DELETE",
|
|
"header": [
|
|
{
|
|
"key": "Authorization",
|
|
"value": "Bearer {{authToken}}"
|
|
}
|
|
],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/api/masterdata/countries/{{countryId}}",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["api", "masterdata", "countries", "{{countryId}}"]
|
|
}
|
|
},
|
|
"response": []
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Horse Registry Context",
|
|
"item": [
|
|
{
|
|
"name": "Get All Horses",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [
|
|
{
|
|
"key": "Authorization",
|
|
"value": "Bearer {{authToken}}"
|
|
}
|
|
],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/api/horses",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["api", "horses"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Get Active Horses",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [
|
|
{
|
|
"key": "Authorization",
|
|
"value": "Bearer {{authToken}}"
|
|
}
|
|
],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/api/horses/active",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["api", "horses", "active"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Get Horse by ID",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [
|
|
{
|
|
"key": "Authorization",
|
|
"value": "Bearer {{authToken}}"
|
|
}
|
|
],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/api/horses/{{horseId}}",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["api", "horses", "{{horseId}}"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Search Horses by Name",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [
|
|
{
|
|
"key": "Authorization",
|
|
"value": "Bearer {{authToken}}"
|
|
}
|
|
],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/api/horses/search?name=Test&limit=10",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["api", "horses", "search"],
|
|
"query": [
|
|
{
|
|
"key": "name",
|
|
"value": "Test"
|
|
},
|
|
{
|
|
"key": "limit",
|
|
"value": "10"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Get Horses by Owner",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [
|
|
{
|
|
"key": "Authorization",
|
|
"value": "Bearer {{authToken}}"
|
|
}
|
|
],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/api/horses/owner/{{ownerId}}",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["api", "horses", "owner", "{{ownerId}}"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Create Horse",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
},
|
|
{
|
|
"key": "Authorization",
|
|
"value": "Bearer {{authToken}}"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"pferdeName\": \"Test Horse\",\n \"geschlecht\": \"WALLACH\",\n \"geburtsdatum\": \"2020-05-15\",\n \"rasse\": \"Warmblut\",\n \"farbe\": \"Braun\",\n \"zuechterName\": \"Test Breeder\",\n \"stockmass\": 165,\n \"istAktiv\": true,\n \"bemerkungen\": \"Test horse for API demonstration\"\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{baseUrl}}/api/horses",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["api", "horses"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Update Horse",
|
|
"request": {
|
|
"method": "PUT",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
},
|
|
{
|
|
"key": "Authorization",
|
|
"value": "Bearer {{authToken}}"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"pferdeName\": \"Updated Test Horse\",\n \"geschlecht\": \"WALLACH\",\n \"geburtsdatum\": \"2020-05-15\",\n \"rasse\": \"Warmblut\",\n \"farbe\": \"Dunkelbraun\",\n \"zuechterName\": \"Updated Test Breeder\",\n \"stockmass\": 167,\n \"istAktiv\": true,\n \"bemerkungen\": \"Updated test horse for API demonstration\"\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{baseUrl}}/api/horses/{{horseId}}",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["api", "horses", "{{horseId}}"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Delete Horse",
|
|
"request": {
|
|
"method": "DELETE",
|
|
"header": [
|
|
{
|
|
"key": "Authorization",
|
|
"value": "Bearer {{authToken}}"
|
|
}
|
|
],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/api/horses/{{horseId}}",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["api", "horses", "{{horseId}}"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Batch Delete Horses",
|
|
"request": {
|
|
"method": "DELETE",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
},
|
|
{
|
|
"key": "Authorization",
|
|
"value": "Bearer {{authToken}}"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"horseIds\": [\"{{horseId1}}\", \"{{horseId2}}\"],\n \"forceDelete\": false\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{baseUrl}}/api/horses/batch",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["api", "horses", "batch"]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "Get Horse Statistics",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [
|
|
{
|
|
"key": "Authorization",
|
|
"value": "Bearer {{authToken}}"
|
|
}
|
|
],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/api/horses/stats",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["api", "horses", "stats"]
|
|
}
|
|
},
|
|
"response": []
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|