fix referrer logic to work with lnauth/nostr auth
This commit is contained in:
		
							parent
							
								
									a764837776
								
							
						
					
					
						commit
						ffa86abdb3
					
				| @ -51,6 +51,17 @@ function getCallbacks (req) { | |||||||
|         // token won't have an id on it for new logins, we add it
 |         // token won't have an id on it for new logins, we add it
 | ||||||
|         // note: token is what's kept in the jwt
 |         // note: token is what's kept in the jwt
 | ||||||
|         token.id = Number(user.id) |         token.id = Number(user.id) | ||||||
|  | 
 | ||||||
|  |         // if referrer exists, set on user
 | ||||||
|  |         // isNewUser doesn't work for nostr/lightning auth because we create the user before nextauth can
 | ||||||
|  |         // this means users can update their referrer if they don't have one, which is fine
 | ||||||
|  |         if (req.cookies.sn_referrer && user?.id) { | ||||||
|  |           const referrer = await prisma.user.findUnique({ where: { name: req.cookies.sn_referrer } }) | ||||||
|  |           if (referrer) { | ||||||
|  |             await prisma.user.updateMany({ where: { id: user.id, referrerId: null }, data: { referrerId: referrer.id } }) | ||||||
|  |             notifyReferral(referrer.id) | ||||||
|  |           } | ||||||
|  |         } | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       if (token?.id) { |       if (token?.id) { | ||||||
| @ -60,18 +71,8 @@ function getCallbacks (req) { | |||||||
|         token.sub = Number(token.id) |         token.sub = Number(token.id) | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       if (isNewUser) { |  | ||||||
|         // if referrer exists, set on user
 |  | ||||||
|         if (req.cookies.sn_referrer && user?.id) { |  | ||||||
|           const referrer = await prisma.user.findUnique({ where: { name: req.cookies.sn_referrer } }) |  | ||||||
|           if (referrer) { |  | ||||||
|             await prisma.user.update({ where: { id: user.id }, data: { referrerId: referrer.id } }) |  | ||||||
|             notifyReferral(referrer.id) |  | ||||||
|           } |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|       // sign them up for the newsletter
 |       // sign them up for the newsletter
 | ||||||
|         if (user?.email && process.env.LIST_MONK_URL && process.env.LIST_MONK_AUTH) { |       if (isNewUser && user?.email && process.env.LIST_MONK_URL && process.env.LIST_MONK_AUTH) { | ||||||
|         fetch(process.env.LIST_MONK_URL + '/api/subscribers', { |         fetch(process.env.LIST_MONK_URL + '/api/subscribers', { | ||||||
|           method: 'POST', |           method: 'POST', | ||||||
|           headers: { |           headers: { | ||||||
| @ -87,7 +88,6 @@ function getCallbacks (req) { | |||||||
|           }) |           }) | ||||||
|         }).then(async r => console.log(await r.json())).catch(console.log) |         }).then(async r => console.log(await r.json())).catch(console.log) | ||||||
|       } |       } | ||||||
|       } |  | ||||||
| 
 | 
 | ||||||
|       return token |       return token | ||||||
|     }, |     }, | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user