Skip to content

Commit 53c9967

Browse files
ibtyogdawidlinek
authored andcommitted
feat: minor content changes
1 parent a3c8aa0 commit 53c9967

File tree

1 file changed

+36
-3
lines changed

1 file changed

+36
-3
lines changed

src/content/docs/projects/Eventownik/Standaryzacja API.mdx

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,28 @@ description: Standardy wykorzystane w Eventownik V3
3030
- w przypadku, gdy usuwany obiekt nie istnieje powinien zostać wywołany NotFoundError
3131
- odpowiedzi nie powinny zawierać zbędnych informacji, typu : \{"message" : "X … successfully."\}, czy też zduplikowany status code
3232

33+
Przykładowy format odpowiedzi:
34+
35+
```json
36+
data: [
37+
{
38+
"id": 1,
39+
"email": "[email protected]",
40+
"created_at": "2025-08-07T12:34:56.000"
41+
},
42+
{
43+
"id": 2,
44+
"email": "[email protected]",
45+
"created_at": "2025-08-07T12:40:00.000"
46+
}
47+
],
48+
metadata: {
49+
"page": 0,
50+
"per_page" : 10,
51+
"total" : 2
52+
}
53+
```
54+
3355
## Ogólny format błędów
3456

3557
- korzystając z ZODa powinno informować się o błędach w zapytaniu,
@@ -39,8 +61,8 @@ description: Standardy wykorzystane w Eventownik V3
3961

4062
### Paginacja
4163

42-
- ?page=<number> - numer strony
43-
- ?perPage=<number> - liczba obiektów na stronę (opcjonalne)
64+
- ?page=<number> - numer strony (domyślnie 0)
65+
- ?perPage=<number> - liczba obiektów na stronę (opcjonalne, w przypadku gdy wartość nie została podana, wykorzystywana jest domyślna wartość 10 elementów na stronę)
4466

4567
### Sortowanie
4668

@@ -51,7 +73,9 @@ description: Standardy wykorzystane w Eventownik V3
5173
- filter[<column>]=<value>
5274
- filter[<column>][gt/gte/lt/lte]=<value> (typu numerycznego/daty)
5375
- filter[<column>][not/like]=<value>
54-
- filter[<column1>,<column2>]=<value1>,<value2> - dla wielu filtrów
76+
- filter[<column1>]=<value1>>...&filter[<columnN>]=<valueN> - dla wielu filtrów
77+
- filter[<column1>]=<value1>,<value2> - dla filtrowania typu IN ( z możliwością podania kilku kolumn,
78+
w takim przypadku warunek filtrowania jest spełniony, gdy istnieje dowolna z podanych wartości w dowolnej z podanych kolumn)
5579

5680
### Relacje
5781

@@ -63,6 +87,12 @@ description: Standardy wykorzystane w Eventownik V3
6387
- ?select=<column>
6488
- ?select=<column1>,…,<columnN>
6589

90+
Domyślnie operacja select bez podania nazw kolumn zwróci wszystkie kolumny z danej tabeli. Alternatywnie, istnieje opcja wykluczenia kolumn.
91+
92+
Przykładowe użycie wykluczenia:
93+
94+
- ?select=-<column1>,…,-<columnN>
95+
6696
### Przykład wykorzystania parametrów
6797

6898
Endpoint: `api.eventownik.pl/v1/internal/events/:eventId/participants?page=1&perPage=20&sort[name]=asc&filter[name][like]=Jakub`
@@ -89,6 +119,7 @@ Endpoint: `api.eventownik.pl/v1/internal/events/:eventId/participants?page=1&per
89119
## Dokumentacja
90120

91121
Do tworzenia dokumentacji API wykorzystujemy Swaggera.
122+
[Dokumentacja Swaggera dla NestJS](https://docs.nestjs.com/openapi/introduction)
92123

93124
1. Grupowanie endpointów za pomocą ‘@ApiTags' powinno odzwierciedlać faktyczny routing,
94125
2. Dla skomplikowanych/niejednoznacznych odpowiedzi zaleca się dodanie opisu (descriptions),
@@ -117,3 +148,5 @@ Zalecane jest również wykorzystanie walidacji metadanych pliku podczas przesy
117148
- liczby przesyłanych plików,
118149
- typu przesyłanego pliku (domyślnie dla NestJS jest to mimetype),
119150
- maksymalnego rozmiaru pliku
151+
152+
Natomiast same pliki będą przechowywane na hostowanym przez nas systemie S3 (MinIO).

0 commit comments

Comments
 (0)