import pickle
import os

def train_model(data):
    trained_models = {}
    for client_id, client_data in data["user_data"].items():
        courses_data = data["courses_data"].get(client_id, [])
        competency_data = data["competency_data"].get(client_id, [])
        
        trained_model = {
            'courses_data': courses_data,
            'users_data': client_data,
            'competency_data': competency_data
        }
        trained_models[client_id] = trained_model
    
    return trained_models

def save_model(trained_models):
    for client_id, trained_model in trained_models.items():
        model_path = os.path.join("trained_models", f"model_{client_id}.pkl")
        with open(model_path, "wb") as file:
            pickle.dump(trained_model, file)

# Train the model using all client data
trained_models = train_model(data)

# Save the trained models for each client
save_model(trained_models)