diff --git a/docs/backend/api.md b/docs/backend/api.md new file mode 100644 index 0000000000000000000000000000000000000000..b3df2fe3609733f5c369d716c55a3f80ad8082d1 --- /dev/null +++ b/docs/backend/api.md @@ -0,0 +1,56 @@ +GraphQL-t használ az alkalmazás és indítás után `/graphql` +-en el is érhető + +A lekérések és kapcsolódó mutációk és ezek leírása elérhető `/graphql` címen. +Nem mindenhez van Resolver, ugyanis graphQL-ben egy lekérésből tovább +lehet menni a többi objektumra. Például egy felhasználóhoz, hogy +lekérjem az összes tagságát nem kell egy `Tárgyak(felhasználóID)` Resolver, +hanem elég egy `user(id) { items { id, name, ... }}` lekérés. + +Resolverek és mutációk `src/modules/*` alatt érhetőek el külön mappákba +rendezve. +Ezek listája: + +> modules +> ├── group +> │ └── [GroupResolver.ts](#GroupResolver) +> ├── item +> │ └── [ItemResolver.ts](#ItemResolver) +> ├── itemDocument +> │ └── [ItemDocumentResolver.ts](#ItemDocumentResolver) +> ├── member +> │ └── [MemberResolver.ts](#MemberResolver) +> ├── rental +> │ └── [RentalResolver.ts](#RentalResolver) +> ├── storage +> │ └── [StorageResolver.ts](#StorageResolver) +> └── user +> . └── [UserResolver.ts](#UserResolver) + +#### GroupResolver + +!INCLUDE "api/GroupResolver.md" + +#### ItemResolver + +!INCLUDE "api/ItemResolver.md" + +#### ItemDocumentResolver + +!INCLUDE "api/ItemDocumentResolver.md" + +#### MemberResolver + +!INCLUDE "api/MemberResolver.md" + +#### RentalResolver + +!INCLUDE "api/RentalResolver.md" + +#### StorageResolver + +!INCLUDE "api/StorageResolver.md" + +#### UserResolver + +!INCLUDE "api/UserResolver.md" diff --git a/docs/backend/api/GroupResolver.md b/docs/backend/api/GroupResolver.md new file mode 100644 index 0000000000000000000000000000000000000000..6c7560692603cce580168b23c9ee683500cb192e --- /dev/null +++ b/docs/backend/api/GroupResolver.md @@ -0,0 +1,12 @@ +Minden a csoportokhoz tartozó lekérésért felel. + +##### Lekérés + +- `group(id)`: Csoport lekérése ID alapján +- `groups`: Összes csoport lekérése +- `groupNum`: Összes csoport számának lekérése + +##### Módosítás + +- `createGroup(name, description)`: Csoport létrehozása +- `updateGroup(groupId, name, description)`: Csoport adatok frissítése diff --git a/docs/backend/api/ItemDocumentResolver.md b/docs/backend/api/ItemDocumentResolver.md new file mode 100644 index 0000000000000000000000000000000000000000..ffb09f1d7ee0073b9d0f45838e5f9fb128a4d51f --- /dev/null +++ b/docs/backend/api/ItemDocumentResolver.md @@ -0,0 +1,10 @@ +Minden a dokumentumokhoz tartozó lekérésért felel. + +##### Lekérés + +- `itemDocuments(groupId)`: Csoporthoz tartozó dokumentumok + +##### Módosítás + +- `createItemDocument(description, location, itemId)`: Dokumentum létrehozása +- `deleteItemDocument(documentId)`: Dokumentum törlése diff --git a/docs/backend/api/ItemResolver.md b/docs/backend/api/ItemResolver.md new file mode 100644 index 0000000000000000000000000000000000000000..14ba1aae35f6844624f67275ad730eef476c7569 --- /dev/null +++ b/docs/backend/api/ItemResolver.md @@ -0,0 +1,15 @@ +Minden a tárgyakhoz tartozó lekérésért felel. + +##### Lekérés + +- `item(id)`: Adott tárgy lekérése +- `items`: Összes tárgy listázása + +##### Módosítás + +- `updateItemLastSeen(itemId)`: Adott tárgy utoljára látott dátumának + frissítése a jelenlegire +- `createItem(name, containerId)`: Tárgy létrehozása adott tárolóba +- `deleteItem(id)`: Tárgy törlése +- `updateItem(itemId, name, description, isLost, lastSeenDate)`: + Tárgy adatainak frissítése. A mezők nem kötelezőek diff --git a/docs/backend/api/MemberResolver.md b/docs/backend/api/MemberResolver.md new file mode 100644 index 0000000000000000000000000000000000000000..10c79febf76fa71f2d4b9d152f90b46a969989ca --- /dev/null +++ b/docs/backend/api/MemberResolver.md @@ -0,0 +1,19 @@ +Minden a Csoport tagokhoz tartozó lekérésért felel. + +##### Lekérés + +- `members`: Összes csoport tagság listázása +- `member(userId)`: Felhasználóhoz tartozó csoport tagság. + +##### Módosítás + +- `createMember(userId, groupId, memberState, groupRole)`: Új tagság létrehozása +- `updateMemberState(userId, groupId, memberState)`: Tagság státusz frissítése +- `updateMemberRole(userId, groupId, groupRole)`: Jogkör frissítése + +##### Lehetséges fejlesztés + +`member(userId)` - Erre a függvényre nincs szükség. Sőt nem is tér vissza minden +csoport tagsággal. + +`updateMemberState` és `updateMemberRole` összevonása diff --git a/docs/backend/api/RentalResolver.md b/docs/backend/api/RentalResolver.md new file mode 100644 index 0000000000000000000000000000000000000000..18345608bbeda7b7c0a2ce559d9f54e4e4bf1fc1 --- /dev/null +++ b/docs/backend/api/RentalResolver.md @@ -0,0 +1,10 @@ +Minden a kölcsönzésekhez tartozó lekérésért felel. + +##### Lekérés + +- `allRentals`: Összes kölcsönzés kilistázása + +##### Módosítás + +- `createRental(rentedFromId, renterId, deadline, itemId)`: + Kölcsönzés létrehozása diff --git a/docs/backend/api/StorageResolver.md b/docs/backend/api/StorageResolver.md new file mode 100644 index 0000000000000000000000000000000000000000..dc62d184d9a79d0dd29f0c58ad11034036b8a8b7 --- /dev/null +++ b/docs/backend/api/StorageResolver.md @@ -0,0 +1,16 @@ +Minden a tárolókhoz tartozó lekérésért felel. + +##### Lekérés + +- `storage(id)`: Tároló lekérése ID alapján +- `storages`: Összes tároló listázása +- `storageNum`: Összes tároló száma + +##### Módosítás + +- `createStorage(name, description, location, parentType, parentId)`: + Új tároló létrehozása +- `updateStorage(storageId, name, description, location)`: + Tároló frissítése +- `deleteStorage(storageId)`: + Tároló törlése diff --git a/docs/backend/api/UserResolver.md b/docs/backend/api/UserResolver.md new file mode 100644 index 0000000000000000000000000000000000000000..429ce9595c5b965cc2b707886edef1d00e43fef5 --- /dev/null +++ b/docs/backend/api/UserResolver.md @@ -0,0 +1,12 @@ +Minden a felhasználókhoz tartozó lekérésért felel. + +##### Lekérés + +- `user(id)`: Felhasználó lekérése ID alapján +- `isLoggedIn`: Aki lekérdezett az be van-e lépve +- `me`: Saját felhasználó lekérése +- `users`: Összes felhasználó lekérése + +##### Módosítás + +- `updateUserRole(id, role)`: Felhasználó globális jogkörének frissítése diff --git a/docs/backend/api/template.md b/docs/backend/api/template.md new file mode 100644 index 0000000000000000000000000000000000000000..8e792175a05aed71d27ff4d74691dea8779a57ad --- /dev/null +++ b/docs/backend/api/template.md @@ -0,0 +1,9 @@ +Minden a csoportokhoz tartozó lekérésért felel. + +##### Lekérés + +- ``: + +##### Módosítás + +- ``: diff --git a/docs/backend/models/Rental.md b/docs/backend/models/Rental.md index f34062085a72a2d8a162a0f40af334ceeff7e524..f99ef7daa616dd88f3881a8d26d26e8aeb0aab46 100644 --- a/docs/backend/models/Rental.md +++ b/docs/backend/models/Rental.md @@ -26,9 +26,3 @@ Egy kölcsönzés modellje. - `item`: Kölcsönzőtt tárgy [[Item](#Item)] - `recipient`: Átvevő felhasználó [[User](#Group)] - `group`: Csoport, melyhez tartozik [[User](#Group)] - -##### Segéd funkciók: - -- ``: - -##### Fejlesztési lehetőség: diff --git a/docs/readme.md b/docs/readme.md index 1afbc6e263507d18bf35fe115d521877a4c18732..3edb32107894b629d5f72f5fb2a179453c0d5e31 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -18,6 +18,10 @@ használó Single Page Application áll rendelkezésre. !INCLUDE "backend/models.md" +### API és ahhoz kapcsolódó Resolverek + +!INCLUDE "backend/api.md" + ## Frontend ### Követelmények és konfiguráció diff --git a/server/src/modules/storage/StorageResolver.ts b/server/src/modules/storage/StorageResolver.ts index c025c18c33f4b07392f1464347d271c9f3bfd1fe..62c572e29a7b58269981d5fb6f77b76456a40381 100644 --- a/server/src/modules/storage/StorageResolver.ts +++ b/server/src/modules/storage/StorageResolver.ts @@ -8,7 +8,6 @@ import { Resolver, } from "type-graphql"; import { ContainerKind } from "../../entity/ContainerKind"; -import { Group } from "../../entity/Group"; import { Storage } from "../../entity/Storage"; import { ContextType } from "../../types/Context"; import { validateIsAdminOfGroup } from "../../utils/ValidateIsAdminOfGroup"; @@ -34,12 +33,6 @@ export class StorageResolver { return await Storage.count(); } - @Query((returns) => Group) - async getStorageGroup(@Arg("storageId", () => Int) storageId: number) { - // TODO - return await Storage.findOne(); - } - // Mutations @Authorized() @Mutation((returns) => Boolean)