Update user generation

This commit is contained in:
Aaron Po
2026-06-28 13:07:14 -04:00
parent 98f97b8e2c
commit 6d8904cf01
28 changed files with 252 additions and 244 deletions

View File

@@ -7,11 +7,13 @@
*/
#include <filesystem>
#include <unordered_set>
#include <vector>
#include "data_model/models.h"
#include "data_model/names_by_country.h"
using forename_list = std::unordered_set<ForenameEntry>;
using surname_list = std::unordered_set<std::string>;
/**
* @brief Interface for services that load curated data used to seed
* brewery/user generation.
@@ -38,16 +40,10 @@ class ICuratedDataService {
virtual std::vector<UserPersona> LoadPersonas(
const std::filesystem::path& filepath) = 0;
/**
* @brief Loads the names-by-country fixture pair into a sampling-capable
* NamesByCountry.
*
* @param forenames_filepath Path to forenames-by-country.json.
* @param surnames_filepath Path to surnames-by-country.json.
*/
virtual NamesByCountry LoadNamesByCountry(
const std::filesystem::path& forenames_filepath,
virtual std::unordered_map<std::string, forename_list> LoadForenamesByCountry(
const std::filesystem::path& forenames_filepath) = 0;
virtual std::unordered_map<std::string, surname_list> LoadSurnamesByCountry(
const std::filesystem::path& surnames_filepath) = 0;
};
#endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_CURATED_DATA_CURATED_DATA_SERVICE_H_
#endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_CURATED_DATA_CURATED_DATA_SERVICE_H_