From fbe2e5b3451167038dbebc71b07ae0dda403d7c7 Mon Sep 17 00:00:00 2001 From: despiegk Date: Fri, 19 Sep 2025 04:29:43 +0200 Subject: [PATCH] .. --- lib/hero/heromodels/contact.v | 1 + lib/hero/heromodels/profile.v | 65 +++++++++++++++++++++++++++++++++++ lib/hero/heromodels/user.v | 1 + 3 files changed, 67 insertions(+) create mode 100644 lib/hero/heromodels/profile.v diff --git a/lib/hero/heromodels/contact.v b/lib/hero/heromodels/contact.v index ca27af06..7f295eda 100644 --- a/lib/hero/heromodels/contact.v +++ b/lib/hero/heromodels/contact.v @@ -17,6 +17,7 @@ pub mut: bio string timezone string status ContactStatus + profile_ids []string } pub enum ContactStatus { diff --git a/lib/hero/heromodels/profile.v b/lib/hero/heromodels/profile.v new file mode 100644 index 00000000..f61530df --- /dev/null +++ b/lib/hero/heromodels/profile.v @@ -0,0 +1,65 @@ +module heromodels + +import time + +pub struct Profile { +pub: + id string + user_id string // a user can have more than one profile + name string + summary string + headline string + location string + industry string + // urls to profile pictures + picture_url string + background_image_url string + // contact info + email string + phone string + website string + // experience + experience []Experience + education []Education + skills []string + languages []string + // recommendations + recommendations_received []Recommendation + recommendations_given []Recommendation + // connections + connections []string // user_ids + // groups the profile is part of + group_ids []string + // creation and modification times + created time.Time + modified time.Time +} + +pub struct Experience { +pub: + title string + company string + location string + start_date time.Time + end_date time.Time + current bool + description string +} + +pub struct Education { +pub: + school string + degree string + field_of_study string + start_date time.Time + end_date time.Time + description string +} + +pub struct Recommendation { +pub: + recommender_id string + receiver_id string + text string + created time.Time +} \ No newline at end of file diff --git a/lib/hero/heromodels/user.v b/lib/hero/heromodels/user.v index e3304ed5..71cd2a0a 100644 --- a/lib/hero/heromodels/user.v +++ b/lib/hero/heromodels/user.v @@ -12,6 +12,7 @@ pub mut: user_id u32 // id as is set in ledger, if 0 then we don't know contact_id u32 // if we have separate content info for this person status UserStatus + profile_ids []string } pub enum UserStatus {