stacker.news/api/resolvers
SatsAllDay 15f9950477
Store hashed and salted email addresses (#1111)
* first pass of hashing user emails

* use salt

* add a salt to .env.development (prod salt needs to be kept a secret)
* move `hashEmail` util to a new util module

* trigger a one-time job to migrate existing emails via the worker

so we can use the salt from an env var

* move newsletter signup

move newsletter signup to prisma adapter create user with email code path
so we can still auto-enroll email accounts without having to persist the email address
in plaintext

* remove `email` from api key session lookup query

* drop user email index before dropping column

* restore email column, just null values instead

* fix function name

* fix salt and hash raw sql statement

* update auth methods email type in typedefs from str to bool

* remove todo comment

* lowercase email before hashing during migration

* check for emailHash and email to accommodate migration window

update our lookups to check for a matching emailHash, and then a matching
email, in that order, to accommodate the case that a user tries to login
via email while the migration is running, and their account has not yet been migrated

also update sndev to have a command `./sndev email` to launch the mailhog inbox in your browser

also update `./sndev login` to hash the generated email address and insert it into the db record

* update sndev help

* update awards.csv

* update the hack in next-auth to re-use the email supplied on input to `getUserByEmail`

* consolidate console.error logs

* create generic open command

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2024-05-04 18:06:15 -05:00
..
admin.js snl live banner 2023-06-20 09:57:06 -05:00
apiKey.js Limit scope of API Keys (#989) 2024-04-03 15:11:06 -05:00
blockHeight.js Use module path aliases (#938) 2024-03-19 19:37:31 -05:00
chainFee.js Use module path aliases (#938) 2024-03-19 19:37:31 -05:00
growth.js Use module path aliases (#938) 2024-03-19 19:37:31 -05:00
image.js Use module path aliases (#938) 2024-03-19 19:37:31 -05:00
index.js Add chain fees to price carousel (#658) 2023-12-20 16:06:22 -06:00
invite.js Limit scope of API Keys (#989) 2024-04-03 15:11:06 -05:00
item.js Merge serializeInvoiceable with serialize without bug (#1051) 2024-04-09 19:49:20 -05:00
lnurl.js Limit scope of API Keys (#989) 2024-04-03 15:11:06 -05:00
message.js Revert "Revert "shield your eyes; massive, squashed refactor; nextjs/react/react-dom/apollo upgrades"" 2023-07-23 10:08:43 -05:00
notifications.js Add autowithdrawal badge in notifications (#1078) 2024-04-16 10:53:05 -05:00
ofac.js mute territories 2023-12-30 17:16:09 -06:00
price.js require sub selection, allow editting 2023-05-10 19:30:51 -05:00
referrals.js Use module path aliases (#938) 2024-03-19 19:37:31 -05:00
rewards.js reintroduce daily rewards (#1134) 2024-05-01 09:30:36 -05:00
search.js Search bookmarks (#1075) 2024-04-19 13:24:48 -05:00
serial.js count pending withdrawals toward balance 2024-04-27 18:37:57 -05:00
sub.js Merge serializeInvoiceable with serialize without bug (#1051) 2024-04-09 19:49:20 -05:00
upload.js Use module path aliases (#938) 2024-03-19 19:37:31 -05:00
user.js Store hashed and salted email addresses (#1111) 2024-05-04 18:06:15 -05:00
wallet.js Allow deletion of wallet logs (#1101) 2024-05-03 14:14:33 -05:00