From a4462e1eb9947574817136bf37815d0a9cbaed91 Mon Sep 17 00:00:00 2001 From: Tobias Date: Sat, 30 Mar 2019 10:35:29 +0000 Subject: [PATCH 1/6] Update model for new profile fields --- src/model/user.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/model/user.js b/src/model/user.js index 6fe38d5..5a6d20b 100644 --- a/src/model/user.js +++ b/src/model/user.js @@ -66,6 +66,26 @@ let userSchema = new Schema({ type: Number, required: false }, + socialReach: { + type: Number, + required: false, + }, + skillsAndHobbies: { + type: Array, + required: false, + }, + portfolio: { + type: Array, + required: false, + }, + learning: { + type: Array, + required: false, + }, + helpWith: { + type: Array, + required: false, + }, last_login: { type: Number, required: false From aebd384fb03ecbc6c11ef3b3b3cccd3cc1c493d8 Mon Sep 17 00:00:00 2001 From: Tobias Date: Sat, 30 Mar 2019 10:35:44 +0000 Subject: [PATCH 2/6] Add ability to add skills and hobbies to profile --- src/controllers/profile.controller.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/controllers/profile.controller.js b/src/controllers/profile.controller.js index ed1e27c..2308fee 100644 --- a/src/controllers/profile.controller.js +++ b/src/controllers/profile.controller.js @@ -139,16 +139,17 @@ exports.set_profile = (req, res) => { // Edit Profile exports.edit_profile = (req, res) => { - let {username, name, expertise, test, about, profilePic, coverPic, languages, social, vacation, location, gender} = req.body - console.log('from frontend', {test, vacation}) + let {username, name, expertise, test, about, profilePic, coverPic, languages, social, vacation, location, gender, skillsAndHobbies} = req.body if (req.user === username) { User.findOne({username}, (err, userData) => { if (!err) { if (userData) { - console.log('fetched userData::', stringify(userData)) if (name) { userData.name = name } + if (skillsAndHobbies) { + userData.skillsAndHobbies = skillsAndHobbies + } if (expertise) { userData.expertise = expertise } @@ -176,7 +177,6 @@ exports.edit_profile = (req, res) => { userData.vacation = vacation userData.save((err, modifiedUserData) => { if (!err) { - console.log('modified user Data::', stringify(modifiedUserData)) res.send(modifiedUserData) } else { handleErr(err, res, 'there was an error modifying your profile') @@ -255,9 +255,10 @@ exports.get_profile = (req, res) => { if (JSON.parse(author.json_metadata).profile) { apiProfile = JSON.parse(author.json_metadata).profile } - let {profile_image: profilePic, name, about, location, website, cover_image: coverPic, facebook, github, instagram, twitter, discord} = apiProfile + let {profile_image: profilePic, name, about, location, website, cover_image: coverPic, facebook, github, instagram, twitter, discord, skillsAndHobbies} = apiProfile profile = { username, + skillsAndHobbies: skillsAndHobbies || [], social: { website: website || '', facebook: facebook || '', From 1ab04a03b42533d07c8f81ed421e967ffac3ca64 Mon Sep 17 00:00:00 2001 From: Tobias Date: Sat, 30 Mar 2019 11:01:17 +0000 Subject: [PATCH 3/6] Add learning field --- src/controllers/profile.controller.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/controllers/profile.controller.js b/src/controllers/profile.controller.js index 2308fee..c2f001a 100644 --- a/src/controllers/profile.controller.js +++ b/src/controllers/profile.controller.js @@ -139,7 +139,7 @@ exports.set_profile = (req, res) => { // Edit Profile exports.edit_profile = (req, res) => { - let {username, name, expertise, test, about, profilePic, coverPic, languages, social, vacation, location, gender, skillsAndHobbies} = req.body + let {username, name, expertise, test, about, profilePic, coverPic, languages, social, vacation, location, gender, skillsAndHobbies, learning} = req.body if (req.user === username) { User.findOne({username}, (err, userData) => { if (!err) { @@ -150,6 +150,9 @@ exports.edit_profile = (req, res) => { if (skillsAndHobbies) { userData.skillsAndHobbies = skillsAndHobbies } + if (learning) { + userData.learning = learning + } if (expertise) { userData.expertise = expertise } @@ -259,6 +262,7 @@ exports.get_profile = (req, res) => { profile = { username, skillsAndHobbies: skillsAndHobbies || [], + learning: learning || [], social: { website: website || '', facebook: facebook || '', From e226827d58b2ebe6dfa77e8a93d92239947a3154 Mon Sep 17 00:00:00 2001 From: Tobias Date: Sat, 30 Mar 2019 11:10:23 +0000 Subject: [PATCH 4/6] Add social reach options --- src/controllers/profile.controller.js | 6 +++++- src/model/user.js | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/controllers/profile.controller.js b/src/controllers/profile.controller.js index c2f001a..5c1c33c 100644 --- a/src/controllers/profile.controller.js +++ b/src/controllers/profile.controller.js @@ -139,7 +139,7 @@ exports.set_profile = (req, res) => { // Edit Profile exports.edit_profile = (req, res) => { - let {username, name, expertise, test, about, profilePic, coverPic, languages, social, vacation, location, gender, skillsAndHobbies, learning} = req.body + let {username, name, expertise, test, about, profilePic, coverPic, languages, social, vacation, location, gender, skillsAndHobbies, learning, socialReach} = req.body if (req.user === username) { User.findOne({username}, (err, userData) => { if (!err) { @@ -150,6 +150,9 @@ exports.edit_profile = (req, res) => { if (skillsAndHobbies) { userData.skillsAndHobbies = skillsAndHobbies } + if (socialReach) { + userData.socialReach = socialReach + } if (learning) { userData.learning = learning } @@ -262,6 +265,7 @@ exports.get_profile = (req, res) => { profile = { username, skillsAndHobbies: skillsAndHobbies || [], + socialReach: socialReach || '', learning: learning || [], social: { website: website || '', diff --git a/src/model/user.js b/src/model/user.js index 5a6d20b..c230e7c 100644 --- a/src/model/user.js +++ b/src/model/user.js @@ -67,7 +67,7 @@ let userSchema = new Schema({ required: false }, socialReach: { - type: Number, + type: String, required: false, }, skillsAndHobbies: { From 139330c6066966b83b53182bfacbcf375126d266 Mon Sep 17 00:00:00 2001 From: Tobias Date: Sat, 30 Mar 2019 11:21:29 +0000 Subject: [PATCH 5/6] Add help with fields --- src/controllers/profile.controller.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/controllers/profile.controller.js b/src/controllers/profile.controller.js index 5c1c33c..29a7d5b 100644 --- a/src/controllers/profile.controller.js +++ b/src/controllers/profile.controller.js @@ -139,7 +139,7 @@ exports.set_profile = (req, res) => { // Edit Profile exports.edit_profile = (req, res) => { - let {username, name, expertise, test, about, profilePic, coverPic, languages, social, vacation, location, gender, skillsAndHobbies, learning, socialReach} = req.body + let {username, name, expertise, test, about, profilePic, coverPic, languages, social, vacation, location, gender, skillsAndHobbies, learning, socialReach, helpWith} = req.body if (req.user === username) { User.findOne({username}, (err, userData) => { if (!err) { @@ -150,6 +150,9 @@ exports.edit_profile = (req, res) => { if (skillsAndHobbies) { userData.skillsAndHobbies = skillsAndHobbies } + if (helpWith) { + userData.helpWith = helpWith + } if (socialReach) { userData.socialReach = socialReach } @@ -261,10 +264,11 @@ exports.get_profile = (req, res) => { if (JSON.parse(author.json_metadata).profile) { apiProfile = JSON.parse(author.json_metadata).profile } - let {profile_image: profilePic, name, about, location, website, cover_image: coverPic, facebook, github, instagram, twitter, discord, skillsAndHobbies} = apiProfile + let {profile_image: profilePic, name, about, location, website, cover_image: coverPic, facebook, github, instagram, twitter, discord, skillsAndHobbies, helpWith} = apiProfile profile = { username, skillsAndHobbies: skillsAndHobbies || [], + helpWith: helpWith || [], socialReach: socialReach || '', learning: learning || [], social: { From f85c977e8755075a324f324227cfe86b7452b4b9 Mon Sep 17 00:00:00 2001 From: Tobias Date: Sat, 30 Mar 2019 12:41:03 +0000 Subject: [PATCH 6/6] Add I made this --- src/controllers/profile.controller.js | 14 +++++++++++--- src/model/user.js | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/controllers/profile.controller.js b/src/controllers/profile.controller.js index 29a7d5b..c14bb28 100644 --- a/src/controllers/profile.controller.js +++ b/src/controllers/profile.controller.js @@ -139,7 +139,7 @@ exports.set_profile = (req, res) => { // Edit Profile exports.edit_profile = (req, res) => { - let {username, name, expertise, test, about, profilePic, coverPic, languages, social, vacation, location, gender, skillsAndHobbies, learning, socialReach, helpWith} = req.body + let {username, name, expertise, test, about, profilePic, coverPic, languages, social, vacation, location, gender, skillsAndHobbies, learning, socialReach, helpWith, portfolio} = req.body if (req.user === username) { User.findOne({username}, (err, userData) => { if (!err) { @@ -150,6 +150,9 @@ exports.edit_profile = (req, res) => { if (skillsAndHobbies) { userData.skillsAndHobbies = skillsAndHobbies } + if (portfolio) { + userData.portfolio = portfolio + } if (helpWith) { userData.helpWith = helpWith } @@ -219,7 +222,6 @@ exports.verify_user = (req, res) => { if (token) { axios.get(`https://steemconnect.com/api/me?access_token=${token}`).then(response => { let responseData = response.data - // console.log((responseData)) res.send(responseData) }).catch(err => { if (err.response) { @@ -259,7 +261,7 @@ exports.get_profile = (req, res) => { steem.api.getAccounts([username], function (err, authorArray) { let author = authorArray[0] if (!err) { - if (Object.keys(profile).length < 1) { + if (Object.keys(profile).length === 0) { let apiProfile = {} if (JSON.parse(author.json_metadata).profile) { apiProfile = JSON.parse(author.json_metadata).profile @@ -295,6 +297,12 @@ exports.get_profile = (req, res) => { } else { profile.steemgigsWitness = false } + if (!profile.portfolio) { + profile.portfolio = { + description: '', + url: '' + } + } profile.certifiedUloggerStatus = res.locals.certifiedUloggerStatus || false res.json(profile) } else { diff --git a/src/model/user.js b/src/model/user.js index c230e7c..dea9e56 100644 --- a/src/model/user.js +++ b/src/model/user.js @@ -75,7 +75,7 @@ let userSchema = new Schema({ required: false, }, portfolio: { - type: Array, + type: Object, required: false, }, learning: {