Each RedUser has a 0..1 relationship to RedProfile, TpCompanyProfile or TpJobseekerProfile.
A user is-a mentor if they own a RedProfile where userType contains the string 'mentor'
A user is-a mentee if they own a RedProfile where userType contains the string 'mentee'
A user is-a jobseeker if they own a TpJobseekerProfile
A user is-a company (representative) if they own TpCompanyProfile
The script ignores all users that do not own any of the above (we have such “orphaned” users in our db)
firstName and lastName exists on all three objects (RedProfile, TpCompanyProfile and TpJobseekerProfile). If we have multiple firstName-lastName pairs to pick from, just pick a random, non-empty one.
The resulting CSV file has a header line, something similar to ID; Email; First Name; Last Name; Email address; Is Connect mentor?; Is Connect mentee?; Is Talent Pool Jobseeker?; Is Talent Pool Company Representative? and one line per user with the user's data.
The script crawls through all instances of the 'app.models.RedUser' to generate each user's row, ignoring some as described above.
The resulting CSV passes a CSV validator like this one.
ATTENTION: make sure to never export any of the password related fields. Ideally, build constraints into your program that deliberately remove these fields from being queried.
By working on this ticket you are contributing your time and skills to ReDI - School of Digital Integration. ReDI is a non-profit tech school for locals and newcomers without access to digital education, giving priority to people with a forced migration background.
We offer our students high-quality coding and basic computer courses in combination with a unique career program as well as the chance to collaborate with the start-up and digital industry since 2016.
This ticket has been prepared and prioritised by our team. If you'd like to work on it feel free to get started. Once you are ready, please submit a PR.
In case you are lacking information to finish the task, please leave a comment on the ticket. We will get back to you as soon as we can.
This ticket is part of the backlog of one of our products Talent Pool & Connect (TP/CON). Click here to find out more about what it is, what it does, and how it helps our users find jobs faster and more confidently.
[NOT READY]
Context
Starting point
CON/TP users currently exist in a MongoDB database named ????.
Target state
A script has been created on the https://github.com/talent-connect/connect/blob/master/apps/api/scripts/ folder which connects to the database and exports the data to a CSV. The script follows the same conventions as other scripts in the same folder.
The script exports the following datapoints:
RedUser
model:id
email
RedUser
has a 0..1 relationship toRedProfile
,TpCompanyProfile
orTpJobseekerProfile
.RedProfile
whereuserType
contains the string'mentor'
RedProfile
whereuserType
contains the string'mentee'
TpJobseekerProfile
TpCompanyProfile
firstName
andlastName
exists on all three objects (RedProfile
,TpCompanyProfile
andTpJobseekerProfile
). If we have multiplefirstName
-lastName
pairs to pick from, just pick a random, non-empty one.The resulting CSV file has a header line, something similar to
ID; Email; First Name; Last Name; Email address; Is Connect mentor?; Is Connect mentee?; Is Talent Pool Jobseeker?; Is Talent Pool Company Representative?
and one line per user with the user's data. The script crawls through all instances of the 'app.models.RedUser' to generate each user's row, ignoring some as described above.The resulting CSV passes a CSV validator like this one.
ATTENTION: make sure to never export any of the password related fields. Ideally, build constraints into your program that deliberately remove these fields from being queried.
Other Helpful Info
By working on this ticket you are contributing your time and skills to ReDI - School of Digital Integration. ReDI is a non-profit tech school for locals and newcomers without access to digital education, giving priority to people with a forced migration background.
We offer our students high-quality coding and basic computer courses in combination with a unique career program as well as the chance to collaborate with the start-up and digital industry since 2016.
This ticket has been prepared and prioritised by our team. If you'd like to work on it feel free to get started. Once you are ready, please submit a PR. In case you are lacking information to finish the task, please leave a comment on the ticket. We will get back to you as soon as we can.
This ticket is part of the backlog of one of our products Talent Pool & Connect (TP/CON). Click here to find out more about what it is, what it does, and how it helps our users find jobs faster and more confidently.