Hello Folks, with the resources management in place, it's a good time to think about the API V2 of managesf. Here is a review of the current controllers and some proposition to improve them.
# ProjectController and GroupController It seems like we need to drop those legacy controller since the resources controller cover those features. However we will lose an easy way to create project, where it used to be a one liner call to sfmanager, it now involves creating quite a complex yaml description and going through the ci/cd workflow of the config repo. It seems like we could keep those controllers as a simple interface to create and delete resources for test purpose. But we could also do that entirely from the client side, e.g. provides a simple CLI method to create resources and submit the change to the resources controller. I'll be in favor of the later so that we keep the API simple. Though it may certainly be a problem for the GUI based work-flow. # LocalUserController Change from /user to /local_user endpoint for clarity. # LocalUserBindController Change from /bind to /local_user/bind for simplicity # ServicesUsersController Change from /services_users to /user for clarity. I personally find it difficult to remember the difference between user, services_users and the actual service_user. Since services_users are actually users, let's use the correct path: /user. We also need to unify the interface parameters, it currently uses "full_name" for post and it returns "fullname" in get... Let's define an user object with a single set of key names, e.g.: email, username, fullname. # ConfigController IIUC, this is just to tell if a user can create projects... I propose we drop that controller, and start designing a dashboard controller instead as suggested here: https://softwarefactory-project.io/storyboard/#!/story/2 The idea would be to have a controller that the dashboard would call to retrieve the informations, such as which project are relevant to a user. # TestsController and PagesController Likewise the Project and Group controllers, shouldn't this one be integrated in the resources management? That's it for my thoughts, I'd like to get your feedback and start creating the stories to implement those changes for the new /managesf/v2 root controller. Yours, -Tristan
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Softwarefactory-dev mailing list [email protected] https://www.redhat.com/mailman/listinfo/softwarefactory-dev
