Update userprofile.html

This commit is contained in:
xfarrow
2025-03-24 12:18:05 +01:00
parent d005193f63
commit 836fc822a9
9 changed files with 262 additions and 829 deletions

View File

@ -5,7 +5,7 @@
{ {
"type": "http", "type": "http",
"name": "ActivatePerson", "name": "ActivatePerson",
"seq": 1, "seq": 26,
"request": { "request": {
"url": "http://localhost:3000/api/people/me/activation?q=3ac9c204de1676b54163ed8015c7af00", "url": "http://localhost:3000/api/people/me/activation?q=3ac9c204de1676b54163ed8015c7af00",
"method": "GET", "method": "GET",
@ -21,6 +21,14 @@
"enabled": true "enabled": true
} }
], ],
"params": [
{
"name": "q",
"value": "3ac9c204de1676b54163ed8015c7af00",
"type": "query",
"enabled": true
}
],
"body": { "body": {
"mode": "json", "mode": "json",
"json": "", "json": "",
@ -33,20 +41,13 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
},
"query": [
{
"name": "q",
"value": "3ac9c204de1676b54163ed8015c7af00",
"enabled": true
} }
]
} }
}, },
{ {
"type": "http", "type": "http",
"name": "AddOrganizationAdmin", "name": "AddOrganizationAdmin",
"seq": 2, "seq": 12,
"request": { "request": {
"url": "http://localhost:3000/api/organizations/1/admins", "url": "http://localhost:3000/api/organizations/1/admins",
"method": "POST", "method": "POST",
@ -62,6 +63,7 @@
"enabled": true "enabled": true
} }
], ],
"params": [],
"body": { "body": {
"mode": "json", "mode": "json",
"json": "{\n \"personId\" : \"2\"\n}", "json": "{\n \"personId\" : \"2\"\n}",
@ -74,18 +76,18 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "ChangeApplicationStatus", "name": "ChangeApplicationStatus",
"seq": 3, "seq": 7,
"request": { "request": {
"url": "http://localhost:3000/api/organizations/joboffers/applications/5", "url": "http://localhost:3000/api/organizations/joboffers/applications/5",
"method": "PATCH", "method": "PATCH",
"headers": [], "headers": [],
"params": [],
"body": { "body": {
"mode": "json", "mode": "json",
"json": "{\n \"status\": \"ACCEPTED\"\n}", "json": "{\n \"status\": \"ACCEPTED\"\n}",
@ -98,18 +100,18 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "CreateApplication", "name": "CreateApplication",
"seq": 4, "seq": 10,
"request": { "request": {
"url": "http://localhost:3000/api/organizations/joboffers/1/applications", "url": "http://localhost:3000/api/organizations/joboffers/1/applications",
"method": "POST", "method": "POST",
"headers": [], "headers": [],
"params": [],
"body": { "body": {
"mode": "none", "mode": "none",
"formUrlEncoded": [], "formUrlEncoded": [],
@ -121,14 +123,13 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "CreateJobOffer", "name": "CreateJobOffer",
"seq": 5, "seq": 6,
"request": { "request": {
"url": "http://localhost:3000/api/organizations/1/joboffers", "url": "http://localhost:3000/api/organizations/1/joboffers",
"method": "POST", "method": "POST",
@ -144,6 +145,7 @@
"enabled": true "enabled": true
} }
], ],
"params": [],
"body": { "body": {
"mode": "json", "mode": "json",
"json": "{\n \"title\" : \"NodeJS developer\",\n \"description\" : \"We are looking for NodeJS developers which can help us build Blink\",\n \"salaryFrequency\": \"YEARLY\",\n \"salary\": [20000, 23000],\n \"salaryCurrency\": \"EUR\",\n \"location\" : \"Rome\",\n \"remote\": \"PARTIALLY\",\n \"contractType\": \"PART-TIME\",\n \"tags\" : [\"javascript\"]\n}", "json": "{\n \"title\" : \"NodeJS developer\",\n \"description\" : \"We are looking for NodeJS developers which can help us build Blink\",\n \"salaryFrequency\": \"YEARLY\",\n \"salary\": [20000, 23000],\n \"salaryCurrency\": \"EUR\",\n \"location\" : \"Rome\",\n \"remote\": \"PARTIALLY\",\n \"contractType\": \"PART-TIME\",\n \"tags\" : [\"javascript\"]\n}",
@ -156,14 +158,13 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "CreateOrganization", "name": "CreateOrganization",
"seq": 6, "seq": 16,
"request": { "request": {
"url": "http://localhost:3000/api/organizations", "url": "http://localhost:3000/api/organizations",
"method": "POST", "method": "POST",
@ -179,6 +180,7 @@
"enabled": true "enabled": true
} }
], ],
"params": [],
"body": { "body": {
"mode": "json", "mode": "json",
"json": "{\n \"name\" : \"Blink Inc.\",\n \"location\" : \"Napoli, Italy\",\n \"description\" : \"Blink is a privacy-respecting business-oriented social media platform focused on fostering connections between businesses and individuals, propelling careers and sparking innovation in the professional world.\"\n}", "json": "{\n \"name\" : \"Blink Inc.\",\n \"location\" : \"Napoli, Italy\",\n \"description\" : \"Blink is a privacy-respecting business-oriented social media platform focused on fostering connections between businesses and individuals, propelling careers and sparking innovation in the professional world.\"\n}",
@ -191,18 +193,18 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "DeleteApplication", "name": "DeleteApplication",
"seq": 7, "seq": 9,
"request": { "request": {
"url": "http://localhost:3000/api/organizations/joboffers/applications/6", "url": "http://localhost:3000/api/organizations/joboffers/applications/6",
"method": "DELETE", "method": "DELETE",
"headers": [], "headers": [],
"params": [],
"body": { "body": {
"mode": "json", "mode": "json",
"json": "{\n \"jobApplicationId\": 1\n}", "json": "{\n \"jobApplicationId\": 1\n}",
@ -215,18 +217,18 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "DeleteContactInfo", "name": "DeleteContactInfo",
"seq": 28, "seq": 18,
"request": { "request": {
"url": "http://localhost:3000/api/people/contactinfos/2", "url": "http://localhost:3000/api/people/contactinfos/2",
"method": "DELETE", "method": "DELETE",
"headers": [], "headers": [],
"params": [],
"body": { "body": {
"mode": "none", "mode": "none",
"formUrlEncoded": [], "formUrlEncoded": [],
@ -238,43 +240,13 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
},
"query": []
} }
},
{
"type": "http",
"name": "DeleteJobOffer",
"seq": 8,
"request": {
"url": "http://localhost:3000/api/organizations/joboffers/3",
"method": "DELETE",
"headers": [
{
"name": "User-Agent",
"value": "insomnia/2023.5.8",
"enabled": true
}
],
"body": {
"mode": "none",
"formUrlEncoded": [],
"multipartForm": []
},
"script": {},
"vars": {},
"assertions": [],
"tests": "",
"auth": {
"mode": "none"
},
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "DeleteOrganization", "name": "DeleteOrganization",
"seq": 9, "seq": 13,
"request": { "request": {
"url": "http://localhost:3000/api/organizations/1", "url": "http://localhost:3000/api/organizations/1",
"method": "DELETE", "method": "DELETE",
@ -285,6 +257,7 @@
"enabled": true "enabled": true
} }
], ],
"params": [],
"body": { "body": {
"mode": "none", "mode": "none",
"formUrlEncoded": [], "formUrlEncoded": [],
@ -296,14 +269,42 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}
}
}, },
"query": [] {
"type": "http",
"name": "DeleteJobOffer",
"seq": 5,
"request": {
"url": "http://localhost:3000/api/organizations/joboffers/3",
"method": "DELETE",
"headers": [
{
"name": "User-Agent",
"value": "insomnia/2023.5.8",
"enabled": true
}
],
"params": [],
"body": {
"mode": "none",
"formUrlEncoded": [],
"multipartForm": []
},
"script": {},
"vars": {},
"assertions": [],
"tests": "",
"auth": {
"mode": "none"
}
} }
}, },
{ {
"type": "http", "type": "http",
"name": "DeletePerson", "name": "DeletePerson",
"seq": 10, "seq": 20,
"request": { "request": {
"url": "http://localhost:3000/api/people/me", "url": "http://localhost:3000/api/people/me",
"method": "DELETE", "method": "DELETE",
@ -314,6 +315,7 @@
"enabled": true "enabled": true
} }
], ],
"params": [],
"body": { "body": {
"mode": "none", "mode": "none",
"formUrlEncoded": [], "formUrlEncoded": [],
@ -325,14 +327,13 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "FilterOrganizationByPrefix", "name": "FilterOrganizationByPrefix",
"seq": 11, "seq": 1,
"request": { "request": {
"url": "http://localhost:3000/api/organizations/filter", "url": "http://localhost:3000/api/organizations/filter",
"method": "POST", "method": "POST",
@ -348,6 +349,7 @@
"enabled": true "enabled": true
} }
], ],
"params": [],
"body": { "body": {
"mode": "json", "mode": "json",
"json": "{\n \"name\" : \"bli\"\n}", "json": "{\n \"name\" : \"bli\"\n}",
@ -360,18 +362,18 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "GetApplicantsByJobOffer", "name": "GetApplicantsByJobOffer",
"seq": 12, "seq": 2,
"request": { "request": {
"url": "http://localhost:3000/api/organizations/joboffers/1/applications", "url": "http://localhost:3000/api/organizations/joboffers/1/applications",
"method": "GET", "method": "GET",
"headers": [], "headers": [],
"params": [],
"body": { "body": {
"mode": "json", "mode": "json",
"json": "", "json": "",
@ -384,18 +386,18 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "GetApplicantsByOrganization", "name": "GetApplicantsByOrganization",
"seq": 13, "seq": 3,
"request": { "request": {
"url": "http://localhost:3000/api/organizations/1/joboffers/applications", "url": "http://localhost:3000/api/organizations/1/joboffers/applications",
"method": "GET", "method": "GET",
"headers": [], "headers": [],
"params": [],
"body": { "body": {
"mode": "json", "mode": "json",
"json": "", "json": "",
@ -408,18 +410,18 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "GetContactInfosByPerson", "name": "GetContactInfosByPerson",
"seq": 27, "seq": 17,
"request": { "request": {
"url": "http://localhost:3000/api/people/1/contactinfos", "url": "http://localhost:3000/api/people/1/contactinfos",
"method": "GET", "method": "GET",
"headers": [], "headers": [],
"params": [],
"body": { "body": {
"mode": "none", "mode": "none",
"formUrlEncoded": [], "formUrlEncoded": [],
@ -431,14 +433,13 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "GetJobOffers", "name": "GetJobOffers",
"seq": 14, "seq": 4,
"request": { "request": {
"url": "http://localhost:3000/api/organizations/1/joboffers/", "url": "http://localhost:3000/api/organizations/1/joboffers/",
"method": "GET", "method": "GET",
@ -449,6 +450,7 @@
"enabled": true "enabled": true
} }
], ],
"params": [],
"body": { "body": {
"mode": "none", "mode": "none",
"formUrlEncoded": [], "formUrlEncoded": [],
@ -460,18 +462,18 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "GetMyApplications", "name": "GetMyApplications",
"seq": 15, "seq": 8,
"request": { "request": {
"url": "http://localhost:3000/api/organizations/joboffers/applications/mine", "url": "http://localhost:3000/api/organizations/joboffers/applications/mine",
"method": "GET", "method": "GET",
"headers": [], "headers": [],
"params": [],
"body": { "body": {
"mode": "none", "mode": "none",
"formUrlEncoded": [], "formUrlEncoded": [],
@ -483,14 +485,13 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "GetMyself", "name": "GetMyself",
"seq": 16, "seq": 21,
"request": { "request": {
"url": "http://localhost:3000/api/people/me", "url": "http://localhost:3000/api/people/me",
"method": "GET", "method": "GET",
@ -501,6 +502,7 @@
"enabled": true "enabled": true
} }
], ],
"params": [],
"body": { "body": {
"mode": "none", "mode": "none",
"formUrlEncoded": [], "formUrlEncoded": [],
@ -512,14 +514,13 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "GetOrganization", "name": "GetOrganization",
"seq": 17, "seq": 15,
"request": { "request": {
"url": "http://localhost:3000/api/organizations/1", "url": "http://localhost:3000/api/organizations/1",
"method": "GET", "method": "GET",
@ -530,6 +531,7 @@
"enabled": true "enabled": true
} }
], ],
"params": [],
"body": { "body": {
"mode": "none", "mode": "none",
"formUrlEncoded": [], "formUrlEncoded": [],
@ -541,14 +543,13 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "GetPerson", "name": "GetPerson",
"seq": 18, "seq": 22,
"request": { "request": {
"url": "http://localhost:3000/api/people/1/details", "url": "http://localhost:3000/api/people/1/details",
"method": "GET", "method": "GET",
@ -559,6 +560,7 @@
"enabled": true "enabled": true
} }
], ],
"params": [],
"body": { "body": {
"mode": "none", "mode": "none",
"formUrlEncoded": [], "formUrlEncoded": [],
@ -570,8 +572,7 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
@ -582,6 +583,7 @@
"url": "http://localhost:3000/people/myself/contactinfos", "url": "http://localhost:3000/people/myself/contactinfos",
"method": "POST", "method": "POST",
"headers": [], "headers": [],
"params": [],
"body": { "body": {
"mode": "none", "mode": "none",
"formUrlEncoded": [], "formUrlEncoded": [],
@ -593,14 +595,13 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "Login", "name": "Login",
"seq": 20, "seq": 27,
"request": { "request": {
"url": "http://localhost:3000/api/people/me/token", "url": "http://localhost:3000/api/people/me/token",
"method": "POST", "method": "POST",
@ -616,6 +617,7 @@
"enabled": true "enabled": true
} }
], ],
"params": [],
"body": { "body": {
"mode": "json", "mode": "json",
"json": "{\n \"email\": \"john@mail.org\",\n \"password\": \"password\"\n}", "json": "{\n \"email\": \"john@mail.org\",\n \"password\": \"password\"\n}",
@ -628,14 +630,13 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "Register", "name": "Register",
"seq": 21, "seq": 28,
"request": { "request": {
"url": "http://localhost:3000/api/people", "url": "http://localhost:3000/api/people",
"method": "POST", "method": "POST",
@ -651,6 +652,7 @@
"enabled": true "enabled": true
} }
], ],
"params": [],
"body": { "body": {
"mode": "json", "mode": "json",
"json": "{\n \"email\" : \"john@mail.org\",\n \"password\" : \"password\",\n \"displayName\" : \"John Doe\",\n \"aboutMe\" : \"I am a passionate software engineer\",\n \"qualification\" : \"Software Engineer\"\n}", "json": "{\n \"email\" : \"john@mail.org\",\n \"password\" : \"password\",\n \"displayName\" : \"John Doe\",\n \"aboutMe\" : \"I am a passionate software engineer\",\n \"qualification\" : \"Software Engineer\"\n}",
@ -663,14 +665,13 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "RemoveOrganizationAdmin", "name": "RemoveOrganizationAdmin",
"seq": 23, "seq": 11,
"request": { "request": {
"url": "http://localhost:3000/api/organizations/1/admins/me", "url": "http://localhost:3000/api/organizations/1/admins/me",
"method": "DELETE", "method": "DELETE",
@ -686,6 +687,7 @@
"enabled": true "enabled": true
} }
], ],
"params": [],
"body": { "body": {
"mode": "json", "mode": "json",
"json": "", "json": "",
@ -698,49 +700,13 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
},
"query": []
} }
},
{
"type": "http",
"name": "RequestNewPassword",
"seq": 22,
"request": {
"url": "http://localhost:3000/api/resetpassword/request",
"method": "POST",
"headers": [
{
"name": "Content-Type",
"value": "application/json",
"enabled": true
},
{
"name": "User-Agent",
"value": "insomnia/2023.5.8",
"enabled": true
}
],
"body": {
"mode": "json",
"json": "{\n \"email\": \"john@mail.org\"\n}",
"formUrlEncoded": [],
"multipartForm": []
},
"script": {},
"vars": {},
"assertions": [],
"tests": "",
"auth": {
"mode": "none"
},
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "ResetNewPassword", "name": "ResetNewPassword",
"seq": 24, "seq": 23,
"request": { "request": {
"url": "http://localhost:3000/api/resetpassword/reset", "url": "http://localhost:3000/api/resetpassword/reset",
"method": "POST", "method": "POST",
@ -756,6 +722,7 @@
"enabled": true "enabled": true
} }
], ],
"params": [],
"body": { "body": {
"mode": "json", "mode": "json",
"json": "{\n \"secret\": \"360837853e2d3cf799c709b44720b4e3\",\n \"password\": \"password\"\n}", "json": "{\n \"secret\": \"360837853e2d3cf799c709b44720b4e3\",\n \"password\": \"password\"\n}",
@ -768,14 +735,48 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}
}
}, },
"query": [] {
"type": "http",
"name": "RequestNewPassword",
"seq": 24,
"request": {
"url": "http://localhost:3000/api/resetpassword/request",
"method": "POST",
"headers": [
{
"name": "Content-Type",
"value": "application/json",
"enabled": true
},
{
"name": "User-Agent",
"value": "insomnia/2023.5.8",
"enabled": true
}
],
"params": [],
"body": {
"mode": "json",
"json": "{\n \"email\": \"john@mail.org\"\n}",
"formUrlEncoded": [],
"multipartForm": []
},
"script": {},
"vars": {},
"assertions": [],
"tests": "",
"auth": {
"mode": "none"
}
} }
}, },
{ {
"type": "http", "type": "http",
"name": "UpdateOrganization", "name": "UpdateOrganization",
"seq": 25, "seq": 14,
"request": { "request": {
"url": "http://localhost:3000/api/organizations/1", "url": "http://localhost:3000/api/organizations/1",
"method": "PATCH", "method": "PATCH",
@ -791,6 +792,7 @@
"enabled": true "enabled": true
} }
], ],
"params": [],
"body": { "body": {
"mode": "json", "mode": "json",
"json": "{\n \"name\": \"Blink Inc.\",\n \"location\": \"Naples (Campania), Italy\",\n \"description\": \"Blink is a privacy-respecting business-oriented social media platform focused on fostering connections between businesses and individuals, propelling careers and sparking innovation in the professional world. Think of it as an open-source alternative to LinkedIn.\"\n}", "json": "{\n \"name\": \"Blink Inc.\",\n \"location\": \"Naples (Campania), Italy\",\n \"description\": \"Blink is a privacy-respecting business-oriented social media platform focused on fostering connections between businesses and individuals, propelling careers and sparking innovation in the professional world. Think of it as an open-source alternative to LinkedIn.\"\n}",
@ -803,14 +805,13 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {
"type": "http", "type": "http",
"name": "UpdatePerson", "name": "UpdatePerson",
"seq": 26, "seq": 25,
"request": { "request": {
"url": "http://localhost:3000/api/people/me", "url": "http://localhost:3000/api/people/me",
"method": "PATCH", "method": "PATCH",
@ -826,6 +827,7 @@
"enabled": true "enabled": true
} }
], ],
"params": [],
"body": { "body": {
"mode": "json", "mode": "json",
"json": "{\n \"displayName\": \"John Junior Doe III\",\n \"dateOfBirth\": \"1970-01-01\",\n \"openToWork\": \"false\",\n \"placeOfLiving\": \"Oslo, Norway\",\n \"aboutMe\": \"I am a passionate software engineer, but I also love art and music\",\n \"new_password\": \"password\",\n \"old_password\": \"password\",\n \"qualification\" : \"Software Engineer at Blink Inc. & Google LLC\",\n \"visibility\": \"EVERYONE\",\n \"oldPassword\": \"password\",\n \"newPassword\": \"password\"\n}", "json": "{\n \"displayName\": \"John Junior Doe III\",\n \"dateOfBirth\": \"1970-01-01\",\n \"openToWork\": \"false\",\n \"placeOfLiving\": \"Oslo, Norway\",\n \"aboutMe\": \"I am a passionate software engineer, but I also love art and music\",\n \"new_password\": \"password\",\n \"old_password\": \"password\",\n \"qualification\" : \"Software Engineer at Blink Inc. & Google LLC\",\n \"visibility\": \"EVERYONE\",\n \"oldPassword\": \"password\",\n \"newPassword\": \"password\"\n}",
@ -838,8 +840,7 @@
"tests": "", "tests": "",
"auth": { "auth": {
"mode": "none" "mode": "none"
}, }
"query": []
} }
}, },
{ {

View File

@ -1,614 +0,0 @@
{
"info": {
"name": "Blink",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "ActivatePerson",
"event": [],
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"disabled": false,
"type": "default"
},
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/people/me/activation?q=3ac9c204de1676b54163ed8015c7af00",
"body": {
"mode": "raw",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "AddOrganizationAdmin",
"event": [],
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"disabled": false,
"type": "default"
},
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/organizations/1/admins",
"body": {
"mode": "raw",
"raw": "{\n \"personId\" : \"2\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "ChangeApplicationStatus",
"event": [],
"request": {
"method": "PATCH",
"header": [],
"url": "http://localhost:3000/api/organizations/joboffers/applications/5",
"body": {
"mode": "raw",
"raw": "{\n \"status\": \"ACCEPTED\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "CreateApplication",
"event": [],
"request": {
"method": "POST",
"header": [],
"url": "http://localhost:3000/api/organizations/joboffers/1/applications"
}
},
{
"name": "CreateJobOffer",
"event": [],
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"disabled": false,
"type": "default"
},
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/organizations/1/joboffers",
"body": {
"mode": "raw",
"raw": "{\n \"title\" : \"NodeJS developer\",\n \"description\" : \"We are looking for NodeJS developers which can help us build Blink\",\n \"salaryFrequency\": \"YEARLY\",\n \"salary\": [20000, 23000],\n \"salaryCurrency\": \"EUR\",\n \"location\" : \"Rome\",\n \"remote\": \"PARTIALLY\",\n \"contractType\": \"PART-TIME\",\n \"tags\" : [\"javascript\"]\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "CreateOrganization",
"event": [],
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"disabled": false,
"type": "default"
},
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/organizations",
"body": {
"mode": "raw",
"raw": "{\n \"name\" : \"Blink Inc.\",\n \"location\" : \"Napoli, Italy\",\n \"description\" : \"Blink is a privacy-respecting business-oriented social media platform focused on fostering connections between businesses and individuals, propelling careers and sparking innovation in the professional world.\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "DeleteApplication",
"event": [],
"request": {
"method": "DELETE",
"header": [],
"url": "http://localhost:3000/api/organizations/joboffers/applications/6",
"body": {
"mode": "raw",
"raw": "{\n \"jobApplicationId\": 1\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "DeleteContactInfo",
"event": [],
"request": {
"method": "DELETE",
"header": [],
"url": "http://localhost:3000/api/people/contactinfos/2"
}
},
{
"name": "DeleteJobOffer",
"event": [],
"request": {
"method": "DELETE",
"header": [
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/organizations/joboffers/3"
}
},
{
"name": "DeleteOrganization",
"event": [],
"request": {
"method": "DELETE",
"header": [
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/organizations/1"
}
},
{
"name": "DeletePerson",
"event": [],
"request": {
"method": "DELETE",
"header": [
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/people/me"
}
},
{
"name": "FilterOrganizationByPrefix",
"event": [],
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"disabled": false,
"type": "default"
},
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/organizations/filter",
"body": {
"mode": "raw",
"raw": "{\n\t\"name\" : \"bli\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "GetApplicantsByJobOffer",
"event": [],
"request": {
"method": "GET",
"header": [],
"url": "http://localhost:3000/api/organizations/joboffers/1/applications",
"body": {
"mode": "raw",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "GetApplicantsByOrganization",
"event": [],
"request": {
"method": "GET",
"header": [],
"url": "http://localhost:3000/api/organizations/1/joboffers/applications",
"body": {
"mode": "raw",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "GetContactInfosByPerson",
"event": [],
"request": {
"method": "GET",
"header": [],
"url": "http://localhost:3000/api/people/1/contactinfos"
}
},
{
"name": "GetJobOffers",
"event": [],
"request": {
"method": "GET",
"header": [
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/organizations/1/joboffers/"
}
},
{
"name": "GetMyApplications",
"event": [],
"request": {
"method": "GET",
"header": [],
"url": "http://localhost:3000/api/organizations/joboffers/applications/mine"
}
},
{
"name": "GetMyself",
"event": [],
"request": {
"method": "GET",
"header": [
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/people/me"
}
},
{
"name": "GetOrganization",
"event": [],
"request": {
"method": "GET",
"header": [
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/organizations/1"
}
},
{
"name": "GetPerson",
"event": [],
"request": {
"method": "GET",
"header": [
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/people/1/details"
}
},
{
"name": "InsertContactInfo",
"event": [],
"request": {
"method": "POST",
"header": [],
"url": "http://localhost:3000/people/myself/contactinfos"
}
},
{
"name": "Login",
"event": [],
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"disabled": false,
"type": "default"
},
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/people/me/token",
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"john@mail.org\",\n \"password\": \"password\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Register",
"event": [],
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"disabled": false,
"type": "default"
},
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/people",
"body": {
"mode": "raw",
"raw": "{\n \"email\" : \"john@mail.org\",\n \"password\" : \"password\",\n \"displayName\" : \"John Doe\",\n \"aboutMe\" : \"I am a passionate software engineer\",\n \"qualification\" : \"Software Engineer\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "RemoveOrganizationAdmin",
"event": [],
"request": {
"method": "DELETE",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"disabled": false,
"type": "default"
},
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/organizations/1/admins/me",
"body": {
"mode": "raw",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "RequestNewPassword",
"event": [],
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"disabled": false,
"type": "default"
},
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/resetpassword/request",
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"john@mail.org\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "ResetNewPassword",
"event": [],
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"disabled": false,
"type": "default"
},
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/resetpassword/reset",
"body": {
"mode": "raw",
"raw": "{\n \"secret\": \"360837853e2d3cf799c709b44720b4e3\",\n \"password\": \"password\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "UpdateOrganization",
"event": [],
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"disabled": false,
"type": "default"
},
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/organizations/1",
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"Blink Inc.\",\n \"location\": \"Naples (Campania), Italy\",\n \"description\": \"Blink is a privacy-respecting business-oriented social media platform focused on fostering connections between businesses and individuals, propelling careers and sparking innovation in the professional world. Think of it as an open-source alternative to LinkedIn.\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "UpdatePerson",
"event": [],
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"disabled": false,
"type": "default"
},
{
"key": "User-Agent",
"value": "insomnia/2023.5.8",
"disabled": false,
"type": "default"
}
],
"url": "http://localhost:3000/api/people/me",
"body": {
"mode": "raw",
"raw": "{\n \"displayName\": \"John Junior Doe III\",\n \"dateOfBirth\": \"1970-01-01\",\n \"openToWork\": \"false\",\n \"placeOfLiving\": \"Oslo, Norway\",\n \"aboutMe\": \"I am a passionate software engineer, but I also love art and music\",\n \"new_password\": \"password\",\n \"old_password\": \"password\",\n \"qualification\" : \"Software Engineer at Blink Inc. & Google LLC\",\n \"visibility\": \"EVERYONE\",\n \"oldPassword\": \"password\",\n \"newPassword\": \"password\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "bruno",
"event": []
},
{
"name": "bruno",
"item": []
}
],
"variable": []
}

View File

@ -51,14 +51,14 @@ app.use(rateLimiter); // Apply the rate limiter middleware to all routes
===== BEGIN ROUTE HANDLING ===== ===== BEGIN ROUTE HANDLING =====
*/ */
app.use('/api/server', serverRoutes.routes); app.use('/api/server', serverRoutes.routes);
app.use('/api/people', personRoutes.publicRoutes); // TODO: Change in "/people". Idk why I chose "persons" app.use('/api/people', personRoutes.publicRoutes);
app.use('/api/people', personRoutes.protectedRoutes); // TODO: Change in "/people". Idk why I chose "persons" app.use('/api/people', personRoutes.protectedRoutes);
app.use('/api/organizations', organizationRoutes.routes); app.use('/api/organizations', organizationRoutes.routes);
app.use('/api/organizations', jobOffersRoutes.routes); app.use('/api/organizations', jobOffersRoutes.routes);
app.use('/api/organizations', organizationAdminRoutes.routes); app.use('/api/organizations', organizationAdminRoutes.routes);
app.use('/api/resetpassword', resetPasswordRoutes.routes); app.use('/api/resetpassword', resetPasswordRoutes.routes);
app.use('/api/organizations', applicationRoutes.routes); app.use('/api/organizations', applicationRoutes.routes);
app.use('/api/persons', personContactInfosRoutes.routes); // TODO: Change in "/people". Idk why I chose "persons" app.use('/api/people', personContactInfosRoutes.routes);
/* /*
===== END ROUTE HANDLING ===== ===== END ROUTE HANDLING =====

View File

@ -18,7 +18,7 @@ const PersonContactInfo = require('../models/person_contact_info_model');
async function insert(req, res) { async function insert(req, res) {
try { try {
const contactInfo = await PersonContactInfo.insert(req.jwt.person_id, req.body.content, req.body.info_type); const contactInfo = await PersonContactInfo.insert(req.jwt.person_id, req.body.content, req.body.info_type);
res.set('Location', `/api/persons/${req.jwt.person_id}/contactinfos/${contactInfo.id}`); res.set('Location', `/api/people/${req.jwt.person_id}/contactinfos/${contactInfo.id}`);
return res.status(201).json(contactInfo); return res.status(201).json(contactInfo);
} catch (error) { } catch (error) {
console.error(`Error in function ${insert.name}: ${error}`); console.error(`Error in function ${insert.name}: ${error}`);

View File

@ -1,75 +1,98 @@
body { #navlist {
font-family: Arial, sans-serif; background-color: #cfddf9;
margin: 0; overflow: hidden;
padding: 0; padding: 10px 0;
background-color: #f7f7f7; display: flex;
flex-wrap: wrap;
justify-content: space-around;
align-items: center;
} }
.container { #navlist a {
max-width: 800px; color: black;
margin: 20px auto; padding: 14px 20px;
background-color: #fff; text-decoration: none;
padding: 20px;
border-radius: 5px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
position: relative;
}
header {
text-align: center; text-align: center;
margin-bottom: 20px;
} }
h1 { #navlist a:hover {
color: #333; background-color: #95b5f4;
margin-bottom: 5px; color: white;
} }
p { .search {
color: #666; flex-grow: 1;
display: flex;
justify-content: flex-end;
align-items: center;
} }
section { .search input[type="text"] {
margin-bottom: 20px; padding: 6px;
margin-right: 10px;
border: none;
font-size: 17px;
border-radius: 4px;
} }
h2 { .search button {
color: #333; padding: 6px 10px;
margin-bottom: 10px; background: white;
color: #95b5f4;
border: none;
cursor: pointer;
border-radius: 4px;
} }
.job h3, .search button i {
.education h3 { font-size: 18px;
color: #444;
margin-bottom: 5px;
} }
ul { .search button:hover {
list-style-type: disc; background: #95b5f4;
margin-left: 20px; color: white;
} }
footer { /* Logo and tag styling */
.content {
text-align: center; text-align: center;
margin-top: 20px; margin-top: 20px;
color: #666;
} }
.profile-picture { .content h1 {
width: 150px; color: green;
height: 150px;
border-radius: 50%;
margin-bottom: 10px;
} }
.edit-badge { /* Responsive styling */
position: absolute; @media screen and (max-width: 600px) {
top: 20px; #navlist {
right: 20px; flex-direction: column;
background-color: #008CFF; align-items: flex-start;
color: #fff; }
padding: 5px 10px;
border-radius: 5px; .search {
font-weight: bold; justify-content: flex-start;
cursor: pointer; width: 100%;
margin-top: 10px;
padding-left: 10px;
}
.search input[type="text"] {
margin-right: 10px;
width: auto;
}
.search button {
padding: 4px 8px;
}
.search button i {
font-size: 14px;
}
#navlist a {
width: 100%;
text-align: left;
padding: 10px 20px;
}
} }

View File

@ -34,7 +34,7 @@
return; return;
} }
const response = await fetch(`${API_URL}/persons/me/activation`, { const response = await fetch(`${API_URL}/people/me/activation`, {
method: 'POST', method: 'POST',
headers: createHeaders(null), headers: createHeaders(null),
body: JSON.stringify({ body: JSON.stringify({

View File

@ -109,7 +109,7 @@
const password = document.getElementById("password").value; const password = document.getElementById("password").value;
const response = await fetch(`${API_URL}/persons/me/token`, { const response = await fetch(`${API_URL}/people/me/token`, {
method: "POST", method: "POST",
body: JSON.stringify({ body: JSON.stringify({
email: email, email: email,

View File

@ -147,14 +147,12 @@
}), }),
}; };
fetch(`${API_URL}/persons`, options) fetch(`${API_URL}/people`, options)
.then(response => { .then(response => {
response.json().then(data => { response.json().then(data => {
if (response.ok) { if (response.ok) {
clearInputFields(); clearInputFields();
if (!data if (!data.enabled) { // is the user already enabled or do they need email verification?
.enabled
) { // is the user already enabled or do they need email verification?
showSuccessAlert( showSuccessAlert(
"Congratulations! You've successfully registered to Blink. " + "Congratulations! You've successfully registered to Blink. " +
"Please click on the e-mail we sent you to confirm your account" "Please click on the e-mail we sent you to confirm your account"

View File

@ -9,9 +9,31 @@
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA=="
crossorigin="anonymous" referrerpolicy="no-referrer" /> crossorigin="anonymous" referrerpolicy="no-referrer" />
<link rel="stylesheet" href="../css/profile.css">
</head> </head>
<body style="background-color: #ecf2fa; display: none;"> <body style="background-color: #ecf2fa; display: none;">
<!-- Navbar items -->
<div id="navlist">
<a href="#">Home</a>
<a href="#">Your Applications</a>
<a href="#">Your organizations</a>
<!-- search bar right align -->
<div class="search">
<form action="#">
<input type="text" placeholder="Search Blink"
name="search">
<button>
<i class="fa fa-search"></i>
</button>
</form>
</div>
</div>
<div class="container py-5"> <div class="container py-5">
<!-- Person's name + profile picture card --> <!-- Person's name + profile picture card -->
@ -24,7 +46,8 @@
<h5 class="my-3" id="display-name">John Doe</h5> <h5 class="my-3" id="display-name">John Doe</h5>
<p class="text-muted mb-2" id="qualification">Full Stack Developer</p> <p class="text-muted mb-2" id="qualification">Full Stack Developer</p>
<p class="text-muted mb-4" id="place-of-living">New York City, United States of America</p> <p class="text-muted mb-4" id="place-of-living">New York City, United States of America</p>
<p class="text-muted mb-4" id="about-me"> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor <p class="text-muted mb-4" id="about-me"> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit
esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa
@ -175,8 +198,8 @@
</div> </div>
</div> </div>
<script src="../../js/constants.js"></script> <script src="../js/constants.js"></script>
<script src="../../js/utils.js"></script> <script src="../js/utils.js"></script>
<script> <script>
window.addEventListener("load", async function () { window.addEventListener("load", async function () {
loadProfile(); loadProfile();
@ -194,18 +217,21 @@
if (!token) { if (!token) {
window.location.href = 'login.html'; window.location.href = 'login.html';
} }
response = await fetch(`${API_URL}/persons/me`, { response = await fetch(`${API_URL}/people/me`, {
headers: createHeaders(token) headers: createHeaders(token)
}); });
} else { }
response = await fetch(`${API_URL}/persons/${idToDisplay}/details`, {
// If it's someone else
else {
response = await fetch(`${API_URL}/people/${idToDisplay}/details`, {
headers: createHeaders(null) headers: createHeaders(null)
}); });
} }
const data = await response.json(); const data = await response.json();
if (response.ok) { if (response.ok) {
populateFields(data.display_name, data.email, data.about_me, data.qualification, data.place_of_living); populateFields(data.display_name, data.about_me, data.qualification, data.place_of_living);
document.body.style.display = 'block'; // Show page document.body.style.display = 'block'; // Show page
} else if (response.status == 401) { } else if (response.status == 401) {
window.location.href = 'login.html'; window.location.href = 'login.html';
@ -214,10 +240,9 @@
} }
} }
function populateFields(displayName, email, aboutMe, qualification, placeOfLiving) { function populateFields(displayName, aboutMe, qualification, placeOfLiving) {
document.getElementById('display-name').textContent = displayName; document.getElementById('display-name').textContent = displayName;
document.title = `${displayName} - Blink` document.title = `${displayName} - Blink`
document.getElementById('email').textContent = email;
document.getElementById('about-me').textContent = aboutMe; document.getElementById('about-me').textContent = aboutMe;
document.getElementById('qualification').textContent = qualification; document.getElementById('qualification').textContent = qualification;
document.getElementById('place-of-living').textContent = placeOfLiving; document.getElementById('place-of-living').textContent = placeOfLiving;