/
helpers.js
40 lines (36 loc) · 1.12 KB
/
helpers.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
const {urlDatabase, users} = require('./data');
//Find user by their email
const getUserByEmail = function(email, database) {
// lookup magic...
for (const user of Object.keys(database)) {
if (database[user].email === email) {
return user;
}
}
};
//Filter URLS only for that particular user
const getUrlsForUser = function(userId) {
const filtered = {};
for (let key of Object.keys(urlDatabase)) {
if (urlDatabase[key].userID === userId) {
filtered[key] = { longURL: urlDatabase[key].longURL };
}
}
//console.log(filtered);
return filtered;
};
// Random string generator for the short URLs
function generateRandomString() {
let result = '';
let characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
let charactersLength = characters.length;
for (let i = 0; i < 6; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
// searched for users by their id - used in cookie-sessions
const lookUp = function(id) {
return users[id];
};
module.exports = { getUserByEmail, generateRandomString, lookUp, getUrlsForUser};