Add user generation feature

This commit is contained in:
Aaron Po
2026-06-21 11:59:55 -04:00
parent 880f73e004
commit 51b40a39c9
30 changed files with 53719 additions and 59 deletions

View File

@@ -36,11 +36,27 @@ struct BreweryResult {
* @brief Generated user profile payload.
*/
struct UserResult {
/// @brief First (given) name, copied from the sampled Name -- not
/// LLM-invented.
std::string first_name{};
/// @brief Last (family) name, copied from the sampled Name -- not
/// LLM-invented.
std::string last_name{};
/// @brief Gender associated with the sampled first name, copied from the
/// sampled Name -- not LLM-invented.
std::string gender{};
/// @brief Username handle.
std::string username{};
/// @brief Short user biography.
std::string bio{};
/// @brief Relative check-in/activity weight for this user, used to drive
/// a J-curve activity profile in later pipeline phases.
float activity_weight{};
};
// ============================================================================
@@ -63,4 +79,19 @@ struct GeneratedBrewery {
BreweryResult brewery;
};
/**
* @brief Helper struct to store generated user data.
*
* `email`, `date_of_birth`, and `password` are programmatically generated by
* the orchestrator (never LLM-authored) so a downstream auth-account seeding
* consumer can register real accounts from the pipeline's SQLite export.
*/
struct GeneratedUser {
Location location;
UserResult user;
std::string email{};
std::string date_of_birth{};
std::string password{};
};
#endif // BIERGARTEN_PIPELINE_INCLUDES_DATA_MODEL_GENERATED_MODELS_H_