Geend / HshHelper

Hannover University of Applied Sciences and Arts - Master Project - Security competition to make a secure filesharing website.
GNU General Public License v3.0
0 stars 1 forks source link

Vereinheitlichung der Bezeichnung von Controller Methoden #30

Closed Geend closed 6 years ago

Geend commented 6 years ago

Wir haben ja schon mehrfach über die Bezeichnung der Methoden in den Controller gesprochen. Spätestens vor Beginn des zweiten Entwicklungsschritts sollten wir das mal vereinheitlichen.

Derzeit liegen folgende Variationen vor:

GroupController: getCreateGroup() / postCreateGroup() LoginController: login() / loginCommit() UserController: showChangeOwnPasswordForm() / changeOwnPassword()

Die erste Methode zeigt jeweils das Form an und die zweite Methode verarbeitet die aus dem Form abgeschickten Daten.

Ich schlage die Bennenung nach dem Schema des UserControllers vor, da die Methodennamen imo am sprechendsten sind.

eloquenza commented 6 years ago

Da bin ich dafuer - im Zuge dessen sollten wir wahrscheinlich auch unsere routes/urls gradlinig ziehen, damit wir dem selben Schemata ueberall folgen.

eloquenza commented 6 years ago

Gemaess folgender Diskussion zwischen Philip, Torben und mir... image

... und Vorschlag Number 3 aus der Ticketbeschreibung, schlage ich folgendes vor:

4a5
> 
6c7
< GET         /changePasswordAfterReset            controllers.LoginController.changePasswordAfterReset
---
> GET         /changePasswordAfterReset            controllers.LoginController.showChangePasswordAfterResetForm
9,13c10,13
< GET         /groups                              controllers.GroupController.getOwnGroups
< GET         /groups/create                       controllers.GroupController.getCreateGroup
< GET         /groups/:id                          controllers.GroupController.getGroup(id : Long)
< GET         /login                               controllers.LoginController.login
< GET         /logout                              controllers.LoginController.logoutCommit
---
> GET         /groups                              controllers.GroupController.showOwnGroups
> GET         /groups/create                       controllers.GroupController.showCreateGroupForm
> GET         /groups/:groupId                     controllers.GroupController.showGroup(groupId: Long)
> GET         /login                               controllers.LoginController.showLoginForm
17,18c18
< GET         /users/list                          controllers.UserController.userList
< POST        /changePasswordAfterReset            controllers.LoginController.changePasswordAfterResetCommit
---
> GET         /users/                              controllers.UserController.showUsers
> POST        /changePasswordAfterReset            controllers.LoginController.changePasswordAfterReset
20,24c20,25
< POST        /groups/create                       controllers.GroupController.postCreateGroup
< POST        /groups/:groupId/addMember           controllers.GroupController.addMember(groupId : Long)
< POST        /groups/:groupId/removeMember        controllers.GroupController.postRemoveMember(groupId : Long)
< POST        /groups/:id/delete                   controllers.GroupController.removeGroup(id : Long)
< POST        /login                               controllers.LoginController.loginCommit
---
> POST        /groups/create                       controllers.GroupController.createGroup
> POST        /groups/:groupId/delete              controllers.GroupController.deleteGroup(groupId: Long)
> POST        /groups/:groupId/members/add         controllers.GroupController.addGroupMember(groupId: Long)
> POST        /groups/:groupId/members/remove      controllers.GroupController.removeGroupMember(groupId: Long)
> POST        /login                               controllers.LoginController.login
> POST        /logout                              controllers.LoginController.logout

Reihenfolge nicht wichtig, da ausgefuehrt via diff <(sort conf/routes) <(sort ../../../docs/routes.diff) > ~/tmp/diff, damit nicht Eintrage doppelt erscheinen, nur weil sie nicht in der selben Reihenfolge in den Dateien deklariert wurden.

Ist das genehm?

Geend commented 6 years ago

Sieht gut aus. Habe noch einen Vorschlag für die URLs: Für alle Funktionen die Dinge für/mit einem konkreten User machen den Prefix /user/ verwenden. Also zB /user/changePasswordAfterReset oder auch /user/groups statt /groups zum anzeigen der eigenen Gruppen. Das können wir aber auch gerne in einem zweiten Schritt anpassen. Die URLs werden ja nirgendwo direkt verwendet...

eloquenza commented 6 years ago

/users/groups/ fuer eigene Gruppen find ich gut. Dann haetten wir auch ne passende URL fuer die Administrationsfunktion "Alle Gruppen anschauen/bearbeiten", naemlich /groups/.

Bei den changePWAfterReset-Dingern wusste ich nicht aussn Kopf, wie das genau auszusehen hatte, da ich nicht wusste, ob das von aussen war, oder fuer nen logged-in User. Aber machen wa natuerlich auch, waere nur richtig dann.

Geend commented 6 years ago

Hast recht. Eigentlich macht das nur für changePassword Sinn, da die Funktion von einem angemeldetem User aufgeführt werden kann.

resetPassword und changePasswordAfterReset können nur von nicht angemeldeten Usern ausgeführt werden.