mirror of
https://github.com/beak-insights/felicity-lims.git
synced 2025-02-23 16:33:11 +08:00
56 lines
1.5 KiB
Python
56 lines
1.5 KiB
Python
import logging
|
|
|
|
from felicity.init.setup.create_superuser import create_daemon_user, create_super_user
|
|
from felicity.init.setup.groups_perms import setup_default_permissions
|
|
from felicity.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 felicity.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
|