Developer Guide Help

Data Model

Cafe Variome V3 uses MongoDB for primary data storage. All operational data, including the user information, networks, sources, etc. are all stored in it. Additionally, the data loaded for discovery (subject data and metadata) is also stored in MongoDB, unless Molgenis is being used as a storage backend.

Class Diagram

BeaconAuthMethodNO_AUTHAUTH_KEYTOKENUserMappingTypeNO_MAPPINGSTATICDYNAMICDatabaseCollectionmongo_client : AsyncIOMotorClientdb : AsyncIOMotorDatabasesem : asyncio.Semaphoreinit_driver(database_client: AsyncIOMotorClient)counter() : AsyncIOMotorCollectiondatafiles() : AsyncIOMotorCollectionconfig() : AsyncIOMotorCollectionlogs() : AsyncIOMotorCollectionbeacon_endpoints() : AsyncIOMotorCollectiondiscovery_groups() : AsyncIOMotorCollectionnodes() : AsyncIOMotorCollectionpending_nodes() : AsyncIOMotorCollectionnetworks() : AsyncIOMotorCollectionnetwork_messages() : AsyncIOMotorCollectionnexus_credentials() : AsyncIOMotorCollectionnexus_installations() : AsyncIOMotorCollectionnexus_networks() : AsyncIOMotorCollectionnexus_requests() : AsyncIOMotorCollectionpipelines() : AsyncIOMotorCollectionqueries() : AsyncIOMotorCollectionresponses() : AsyncIOMotorCollectionsources() : AsyncIOMotorCollectionsource_index() : AsyncIOMotorCollectionmeta_sources() : AsyncIOMotorCollectionusers() : AsyncIOMotorCollectionaccess_requests() : AsyncIOMotorCollectiongettersDataModeldb : DatabaseCollectionSchema : marshmallow.Schemainit_driver()load() : DataModelload_all() : list[DataModel]store()update(payload: dict)delete()to_dict(self) : dictfrom_dict(payload: dict) : DataModelvalidate_json(json_data: dict) : boolAccessRequestrequest_id : strfirst_name : strlast_name : stremail : straffiliation : strjustification : strBeaconEndpointendpoint_id : strendpoint_path : strnetwork_id : strmapping : UserMappingbeacon_auth_method : BeaconAuthMethodbeacon_auth_key : strload_by_path(beacon_path: str) : BeaconEndpointgenerate_auth_key() : strUserMappingmapping_type : UserMappingTypemapping_user : strmapping : dict[str, str]to_storage() : str | dict[str, str]from_storage(payload: str | dict[str, str]) : UserMappingremap(user_id: str) : str
Last modified: 09 September 2024