# aki_prj23_transparenzregister [![python](https://img.shields.io/badge/Python-3.11-3776AB.svg?style=flat&logo=python&logoColor=white)](https://www.python.org) [![Actions status](https://github.com/astral-sh/ruff/workflows/CI/badge.svg)](https://github.com/astral-sh/ruff/actions) [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit) [![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/) [![Documentation Status](https://readthedocs.org/projects/mypy/badge/?version=stable)](https://mypy.readthedocs.io/en/stable/?badge=stable) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) ## Contributions See the [CONTRIBUTING.md](CONTRIBUTING.md) about how code should be formatted and what kind of rules we set ourselves. ## Available entrypoints The project has currently the following entrypoint available: - **data-transfer** > Transfers all the data from the mongodb into the sql db to make it available as production data. - **reset-sql** > Resets all sql tables in the connected db. ## DB Connection settings To connect to the SQL db see [sql/connector.py](./src/aki_prj23_transparenzregister/utils/sql/connector.py) To connect to the Mongo db see [connect] Create a `secrets.json` in the root of this repo with the following structure (values to be replaces by desired config): ```json { "postgres": { "username": "postgres", "password": "postgres", "host": "localhost", "database": "postgres", "port": 5432 }, "mongo": { "username": "username", "password": "password", "host": "localhost", "database": "transparenzregister", "port": 27017 } } ``` Alternatively, the secrets can be provided as environment variables. One option to do so is to add a `.env` file with the following layout: ``` PYTHON_POSTGRES_USERNAME=postgres PYTHON_POSTGRES_PASSWORD=postgres PYTHON_POSTGRES_HOST=localhost PYTHON_POSTGRES_DATABASE=postgres PYTHON_POSTGRES_PORT=5432 PYTHON_MONGO_USERNAME=username PYTHON_MONGO_HOST=localhost PYTHON_MONGO_PASSWORD=password PYTHON_MONGO_PORT=27017 PYTHON_MONGO_DATABASE=transparenzregister ``` The prefix `PYTHON_` can be customized by setting a different `prefix` when constructing the ConfigProvider.