felicity-lims/felicity/init/__init__.py
2023-04-16 18:52:08 +02:00

56 lines
1.5 KiB
Python

import logging
from init.setup.create_superuser import create_daemon_user, create_super_user
from init.setup.groups_perms import setup_default_permissions
from init.setup.setup_analyses import (
create_analyses_services_and_profiles,
create_categories,
create_qc_levels,
create_rejection_reasons,
create_sample_types,
init_id_sequence,
)
from init.setup.setup_laboratory import (
create_clients,
create_geographies,
create_laboratory,
)
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
async def requisite_setup(lab_name="Felicity Labs") -> bool:
logger.info("Loading requisite setup ...")
await create_laboratory(lab_name)
await create_daemon_user()
await create_super_user()
await setup_default_permissions()
# await init_id_sequence()
logger.info("Loading requisite setup complete.")
return True
async def default_setup() -> bool:
logger.info("Loading default setup ...")
await create_geographies()
await create_clients()
await create_categories()
await create_qc_levels()
await create_sample_types()
await create_analyses_services_and_profiles()
await create_rejection_reasons()
logger.info("Loading default setup complete.")
return True
async def initialize_felicity() -> bool:
logger.info("Initializing Felicity LIMS ...")
await requisite_setup()
await default_setup()
logger.info("Felicity LIMS Initialisation completed.")
return True