Commit graph

34 commits

Author SHA1 Message Date
Daniel Krol
08d57db466 Add timestamps to accounts and wallets tables
To help diagnosing/debugging in the future
2022-08-23 13:34:31 -04:00
Daniel Krol
4843b91ce7 Rename the output. lbry-id -> wallet-sync-server 2022-08-22 12:05:53 -04:00
Daniel Krol
aa691dbc09 Use verify_token=null as verified to avoid unique constraint
We were using verify_token="" to mean that the user was verified. We need a unique constraint on verify_token to prevent two users from getting the same verify link in their email. This means that if we have two verified users, they will both have verify_token="", which triggers the unique constraint. Oops. However, null is an exception to unique constraints, so we're now using that instead to mean verified.
2022-08-13 22:15:19 -04:00
Daniel Krol
eabfa9d54c No password change for unverified accounts 2022-07-30 23:09:33 -04:00
Daniel Krol
4a205bbda7 GetUserId - Return error if account unverified 2022-07-30 15:06:27 -04:00
Daniel Krol
dee2882fe9 Verify token db fields, CreateAccount changes 2022-07-30 14:24:33 -04:00
Daniel Krol
aefda1245b Make emails case insensitive (for now).
Prevents duplicate accounts. Also allows case insensitive search (user id, salt seed, etc) while still having an index. This is done by storing normalized as a separate field from originally formated (which we'll use for sending emails, etc).
2022-07-22 16:29:03 -04:00
Daniel Krol
f10cc8aa26 Salt Seed, used to generate secrets on client 2022-07-21 19:10:16 -04:00
Daniel Krol
4430013bae KDF for server password. Save salt in DB. 2022-07-14 22:04:03 -04:00
Daniel Krol
55686cb7b5 Change module name to new repo account 2022-07-11 22:14:53 -04:00
Daniel Krol
37fae6436b Create and test password change method
Includes updating the wallet if the user has one
2022-07-04 11:41:08 -04:00
Daniel Krol
a37b64faad Actually put in foreign key constraints! Also test wallet and account empty db fields. 2022-06-29 00:06:43 -04:00
Daniel Krol
897ee4b9a7 Move tests around a bit more 2022-06-27 11:36:58 -04:00
Daniel Krol
4b309154c6 Split store tests up 2022-06-27 11:28:39 -04:00
Daniel Krol
ff25de92e7 Make sure we're saving as UTC to the db.
Don't know whether it'd even be an issue, but better not to have a bunch of problems saved in databases.
2022-06-24 14:28:07 -04:00
Daniel Krol
99f17511e4 Test GetUserId 2022-06-24 13:26:21 -04:00
Daniel Krol
6d34f39f12 CreateAccount test and cleanup 2022-06-24 13:15:21 -04:00
Daniel Krol
55b4db0fe8 GetWallet test 2022-06-24 12:19:06 -04:00
Daniel Krol
70b8f1f886 SetWallet tests 2022-06-24 11:59:04 -04:00
Daniel Krol
7af1ea90bc Shorten test strings 2022-06-24 11:32:13 -04:00
Daniel Krol
76d7737341 Split out wallet test init 2022-06-24 11:30:53 -04:00
Daniel Krol
377f598b23 Clean up wallet tests 2022-06-24 11:20:51 -04:00
Daniel Krol
2ff2b7dee0 var name 2022-06-24 11:19:32 -04:00
Daniel Krol
157f1233d7 Clean up token tests with helper functions 2022-06-23 20:33:49 -04:00
Daniel Krol
9ece00c128 Wallet update tests 2022-06-23 20:03:26 -04:00
Daniel Krol
127f8724a4 Fix comments and test error messages 2022-06-23 19:57:55 -04:00
Daniel Krol
bfd797be03 Insert wallet test 2022-06-23 18:12:01 -04:00
Daniel Krol
b1c987815d Update test stubs to match current store functions 2022-06-23 17:29:16 -04:00
Daniel Krol
512ebe3e95 Protocol changes
* Regress from `lastSynced` to just `sequence` to start with something simpler
* Simplified payload: separate metadata, assume canonical way to hmac it together
  * No more "wallet state" except as a simple wrapper on the front end
* Version number in wallet payloads
2022-06-10 15:04:31 -04:00
Daniel Krol
95cbac71ed Cleanup in a test 2022-06-07 18:26:47 -04:00
Daniel Krol
0bf11b059c Change to normal password auth, and various things 2022-06-07 17:47:38 -04:00
Daniel Krol
15c68d7153 Move and comment a function 2022-06-02 14:04:33 -04:00
Daniel Krol
6610d7800b Better variable name 2022-06-02 13:49:49 -04:00
Daniel Krol
2fbcf6ee6d Get/Post WalletState, account recover, test client
A few things at once because it was faster to get a demo out the door. Skipping most test implementation though I made failing stubs so I know what to fill in later.

* Get/Post WalletState
* downloadKey/email so that a second client can log in, and/or recover from lost client
* Test client in Python to demonstrate the above
* Organize into packages
2022-01-04 16:07:23 -05:00
Renamed from store_test.go (Browse further)