infobyte / faraday

Open Source Vulnerability Management Platform
https://www.faradaysec.com
GNU General Public License v3.0
4.72k stars 875 forks source link

Features describing the tables in the database. #458

Closed bulacho closed 1 year ago

bulacho commented 1 year ago

I am developing software from faraday comunity open source, however i am having database problem, because i don't know the purpose of the tables in the database. Can you send me detailed descriptions of each table in the database? Or develop more features describing the tables in the database. For example, I am not sure how to build a role-access control list feature for the product because I don't know what your tables have.

ezk06eer commented 1 year ago

Hi @bulacho, I'm Esteban from the development team. When the tables were created and what was deprecated, there is a model for migration (this will apply changes on a installation of faraday that comes from older versions). The app is designed so that it's better not to access the database directly in such cases(app controls and relations are done). Avoiding API controls is not recommended. Having said all this, I will now proceed to explain how to export the model.

You can export the model from the instance using the command:

su postgres
pg_dump -s faraday_db

Then load the model into the pgmodeler tool. This makes it easy to identify what the table is and relationships.

About the Model:

Also, you can find models and schemas in the repository. The models.py in the server folder contains all the tables and comments so you can see what they are doing. There are Comments for all the Tables,

Reminder Due to the complexity of the database model, we do not recommend accessing the database directly. Please use the API instead. We have a live api swagger online for testing here: https://api.faradaysec.com/ --> All the methods are explained.

I hope this helps you in your efforts.

Cheers!