Invite Link
Einladungslink erstellen und über diesen zu shoppinglist eingeladen werden
This commit is contained in:
		@@ -80,13 +80,11 @@ async function generateUser() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//get shoppinglist content
 | 
			
		||||
async function displayShoppinglist(sl_id) {
 | 
			
		||||
async function displayShoppinglist(sl_id, username) {
 | 
			
		||||
    try {
 | 
			
		||||
        let groups = await query('SELECT row_to_json("Group") AS obj FROM "Group" JOIN "Shoppinglist" USING (sl_id) WHERE sl_id = $1;', [sl_id]);
 | 
			
		||||
        let items = await query('SELECT row_to_json("Item") AS obj FROM "Item" JOIN "Group" USING (group_id) WHERE "Group".sl_id = $1;', [sl_id]);
 | 
			
		||||
        return items_in_groups(groups, items, sl_id);
 | 
			
		||||
        
 | 
			
		||||
        
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    catch (error) {
 | 
			
		||||
@@ -135,6 +133,35 @@ async function addItem(group_id, sl_id, name, count) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Invite System
 | 
			
		||||
 | 
			
		||||
async function verifyInvite(link, user_id) {
 | 
			
		||||
    try {
 | 
			
		||||
        let result = await query('SELECT row_to_json("Shoppinglist") AS obj FROM "Shoppinglist" WHERE invitelink = $1;', [link]);
 | 
			
		||||
        let sl_id = result[0].sl_id;
 | 
			
		||||
        console.log(result[0].sl_id);
 | 
			
		||||
        await nonQuery('INSERT INTO "Shoppinglist_member" (username, sl_id) VALUES ($1, $2);', [user_id, sl_id]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    catch (error) {
 | 
			
		||||
        console.error(error);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function createInvite(sl_id) {
 | 
			
		||||
    try {
 | 
			
		||||
        let link = generateInviteLink();
 | 
			
		||||
        await nonQuery('UPDATE "Shoppinglist" SET invitelink = $1 WHERE sl_id = $2;', [link, sl_id]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    catch (error) {
 | 
			
		||||
        console.error(error);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//sl_id generieren
 | 
			
		||||
@@ -193,7 +220,19 @@ function items_in_groups(groups, items, sl_id) {
 | 
			
		||||
    return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//Create invite link for your own shoppinglist
 | 
			
		||||
function generateInviteLink() {
 | 
			
		||||
    var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
 | 
			
		||||
    var output = "";
 | 
			
		||||
 | 
			
		||||
    for(let i = 0; i < 50; i++) {
 | 
			
		||||
        output += possible.charAt(Math.floor(Math.random() * possible.length));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return output;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module.exports = {
 | 
			
		||||
    getShoppinglistsAdmin, getShoppinglistsShared, newShoppinglist, displayShoppinglist, deleteShoppinglist, addGroup,
 | 
			
		||||
    addItem
 | 
			
		||||
    addItem, verifyInvite, createInvite
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user