From 63212bcd44510c51ef67c26a6648100ac5fada23 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafael=20L=C3=A1szl=C3=B3?= <rlacko99@gmail.com>
Date: Wed, 16 Dec 2020 18:38:47 +0100
Subject: [PATCH] documented resolvers

---
 docs/backend/api.md                           | 56 +++++++++++++++++++
 docs/backend/api/GroupResolver.md             | 12 ++++
 docs/backend/api/ItemDocumentResolver.md      | 10 ++++
 docs/backend/api/ItemResolver.md              | 15 +++++
 docs/backend/api/MemberResolver.md            | 19 +++++++
 docs/backend/api/RentalResolver.md            | 10 ++++
 docs/backend/api/StorageResolver.md           | 16 ++++++
 docs/backend/api/UserResolver.md              | 12 ++++
 docs/backend/api/template.md                  |  9 +++
 docs/backend/models/Rental.md                 |  6 --
 docs/readme.md                                |  4 ++
 server/src/modules/storage/StorageResolver.ts |  7 ---
 12 files changed, 163 insertions(+), 13 deletions(-)
 create mode 100644 docs/backend/api.md
 create mode 100644 docs/backend/api/GroupResolver.md
 create mode 100644 docs/backend/api/ItemDocumentResolver.md
 create mode 100644 docs/backend/api/ItemResolver.md
 create mode 100644 docs/backend/api/MemberResolver.md
 create mode 100644 docs/backend/api/RentalResolver.md
 create mode 100644 docs/backend/api/StorageResolver.md
 create mode 100644 docs/backend/api/UserResolver.md
 create mode 100644 docs/backend/api/template.md

diff --git a/docs/backend/api.md b/docs/backend/api.md
new file mode 100644
index 0000000..b3df2fe
--- /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 0000000..6c75606
--- /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 0000000..ffb09f1
--- /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 0000000..14ba1aa
--- /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 0000000..10c79fe
--- /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 0000000..1834560
--- /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 0000000..dc62d18
--- /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 0000000..429ce95
--- /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 0000000..8e79217
--- /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 f340620..f99ef7d 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 1afbc6e..3edb321 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 c025c18..62c572e 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)
-- 
GitLab