/* **************************************************************************************************************** */
/* **************************************************** MODS ****************************************************** */
/* **************************************************************************************************************** */
pub mod constants;
pub mod user;
pub mod room;
pub mod model;
pub mod base;

/* **************************************************************************************************************** */
/* *************************************************** IMPORTS **************************************************** */
/* **************************************************************************************************************** */
use rustpython_vm::{VirtualMachine, PyObjectRef, extend_module};


/* **************************************************************************************************************** */
/* ******************************************** STATICS/CONSTS/TYPES ********************************************** */
/* **************************************************** MACROS **************************************************** */
/* *************************************************** STRUCTS **************************************************** */
/* **************************************************** ENUMS ***************************************************** */
/* ************************************************** FUNCTIONS *************************************************** */
/* **************************************************************************************************************** */
pub fn configure_modules(vm: &VirtualMachine) -> PyObjectRef {
    let module = base::_base::make_module(vm);

    extend_module!(vm, module, {
        "constants" => constants::_constants::make_module(vm),
        "user" => user::_user::make_module(vm),
        "room" => room::_room::make_module(vm),
        "model" => model::make_module(vm)
    });

    module
}

/* **************************************************************************************************************** */
/* *************************************************** TRAITS ***************************************************** */
/* ************************************************* IMPLEMENTS *************************************************** */
/* ********************************************** TRAIT IMPLEMENTS ************************************************ */
/* ************************************************* MACROS CALL ************************************************** */
/* ************************************************** UNIT TESTS ************************************************** */
/* **************************************************************************************************************** */
