Commit Graph

55 Commits

Author SHA1 Message Date
NMerz
3afaad89ea Use plain table search history
This is easier, clearer, faster for inters, and ultimately not really much less space efficient than trying to store this in a serialized nor unreasonably slow for retrievals.

Food for thought: Would this might be well-suited to a nosql database?
2020-11-14 12:05:50 -05:00
NMerz
8653b9a035 Try storing serialized search object
Does not seem to be the best solution (https://stackoverflow.com/questions/17662236/java-write-object-to-mysql-each-field-or-serialized-byte-array)  and does not entirely work, but saving it for posterity because there are some interesting changes here
2020-11-14 11:40:42 -05:00
NMerz
709812d0c1 Login updates
Skip the login screen if the user is logged in
2020-11-06 12:51:34 -05:00
NMerz
87039579f7 Send more detailed account deletion email
Use SES to send an account deletion confimration email to the user when they delete their account.
2020-11-04 22:08:34 -05:00
NMerz
7412915034 Allow non-owner semi-delete
Non-owners should be able to remove only their own access to a list
2020-11-01 21:48:05 -05:00
NMerz
48f96c4146 Add chainID to Chain class Lambda 2020-11-01 21:08:07 -05:00
NMerz
a12b1ae870 Update lambda tests
Update lambda tests for new and altered lambdas
2020-11-01 12:46:03 -05:00
Nathan Merz
567f0ccc00
Merge pull request #81 from ClaytonWWilson/list-share-lambda
Correct shareWithEmail naming
2020-11-01 12:01:44 -05:00
NMerz
9c9da446ef Make shared info avlaible for lists 2020-11-01 12:00:50 -05:00
Nathan Merz
f2e9488544
Merge pull request #63 from ClaytonWWilson/kohls-data
Kohls data
2020-11-01 11:48:32 -05:00
NMerz
2cce80ffbd Correct shareWithEmail naming
Ths somehow ended up different on the client and the server
2020-11-01 11:34:34 -05:00
NMerz
ee04a06e0e Chaining, retries, and general scraping durability
Make the scraping infrastructure more durable since the scraping service often fails to deliver
2020-11-01 11:30:03 -05:00
71487c818a
Merge pull request #71 from ClaytonWWilson/list-share-lambda
List share lambda
2020-10-31 21:17:33 -04:00
004c5de314
Merge pull request #77 from ClaytonWWilson/list-delete
ListDELETE lambda
2020-10-31 21:17:17 -04:00
NMerz
8233a989ef ListDELETE lambda
List deletion now working
Integration tested independently.

Still needs tests and user deletion should now use this.
2020-10-31 14:54:42 -04:00
NMerz
34d74aae6a Treat ListSharee as access table
This is so that multiple users can be paired with a single list.

In the future, we may want to reconsider list deletion behavior to simply remove a user's access and only delete it when no one has access.

We may also want the user deletion Lambda to use the list deletion Lambda when it is created.
2020-10-24 14:46:56 -04:00
NMerz
2637cab282 Create userID retrieval Lambda
Allow for the retrieval of userIDs from email (or just generally).

This may need the apigateway passthrough info modified for privacy protection
2020-10-24 12:52:45 -04:00
NMerz
45c7ac15bd Limit item search results
Add a limit on item search results so the user is not overwhelmed.
2020-10-24 11:53:12 -04:00
NMerz
79598bf9e9 Lambdaify Kohls scraping
Move to Lambda function setup and add orchestration and word lists for full runs. Credit for the word lists goes to: http://www.desiquintans.com/nounlist
2020-10-18 17:51:08 -04:00
NMerz
7dbea8f805 Add Kohls data to database
Place data in the database when scraped

Also include loading credentials from config files
2020-10-18 14:10:41 -04:00
NMerz
8e6dbac183 Kohl's scraping outline
Create an outline with some of the initial work needed to pull in data from Kohl's for populating the database, specifically, a non-durable extraction prototype and integration with a web requesting/scraping service
2020-10-17 22:56:25 -04:00
43bd0a7fb4
Merge pull request #60 from ClaytonWWilson/layout-improvements
Layout improvements
2020-10-09 01:36:45 -04:00
Clayton Wilson
c1a8103da8 Various layout improvements 2020-10-09 01:35:16 -04:00
NMerz
f4d1458eb7 Update StatementInjector for missing rsReturns 2020-10-09 00:15:57 -04:00
NMerz
86975532bc Merge identical ListEntries
Each productID should have a single list entry
2020-10-09 00:11:44 -04:00
Clayton Wilson
38aea790d8 UserDeleter 'unit tests' 2020-10-08 23:07:53 -04:00
Nathan Merz
22a39c7ed7
Merge pull request #53 from ClaytonWWilson/APIUnitTests
Clean up double toStrings
2020-10-08 21:28:54 -04:00
NMerz
69df93fb9f Clean up double toStrings 2020-10-08 21:28:28 -04:00
e16fafeaa0
Merge branch 'master' into connect-to-db 2020-10-08 19:29:11 -04:00
Nathan Merz
9c1eb06f02
Merge branch 'master' into APIUnitTests 2020-10-08 19:10:16 -04:00
NMerz
d14383ff2e Test id retrieval 2020-10-08 19:07:02 -04:00
NMerz
b07fead480 Lambda Delete Tests
Also include a contract fix for ListEntryDeleter
2020-10-08 19:01:09 -04:00
NMerz
508818c700 Lambda unit test infrastructure
Unit test infrastructure for testing GET and POST Lambdas
2020-10-08 18:34:06 -04:00
Clayton Wilson
c5bb117136 User delete lambda 2020-10-08 17:49:50 -04:00
NMerz
3feb8a4317 Shift ItemEntry columns for listID
listID is in column 1
2020-10-08 17:08:10 -04:00
Clayton Wilson
925a249b4c user delete debugging 2020-10-08 12:34:14 -04:00
NMerz
c9751d4f95 Add Core Lambda Unit tests 2020-10-07 00:04:17 -04:00
Nathan Merz
0ef75e3461
Merge pull request #38 from ClaytonWWilson/ClientLambdas
Item Search
2020-10-06 21:55:37 -04:00
NMerz
a43776e5dc Enforce schema matching
Ensure all Lambdas and tests follow the current db schema
2020-10-06 21:54:04 -04:00
NMerz
56c9a3f99d Switch to millis for times
There are issues with the serialization of the time objects since the constructors are not public. Passing times around in milliseconds avoid them.
2020-10-06 21:39:23 -04:00
NMerz
68051fdaca Item Search V1
Still needs testing.
2020-10-05 22:54:43 -04:00
Nathan Merz
92c9108f90
Merge pull request #30 from ClaytonWWilson/ClientLambdas
Client lambdas
2020-10-05 22:30:24 -04:00
NMerz
8c526d3b8d SignOut and forced signout on delete
Added signout functionality and forced signout on delete.
2020-10-05 22:27:24 -04:00
NMerz
fe846fb81f Delete Lambda prototype
Prototype the User DELETE lambda. Amplify does not include this functionality, so putting it in a Lambda with the fine-grained API. This currently does not invalidate outstanding tokens nor does it clean up the database.
@claytonwwilson You will want to add the clean up code instead of the deleted stuff in UserDeleter
2020-10-05 12:29:28 -04:00
Adam Ding
cfa558bb34 Removed main method out of file 2020-10-04 15:48:22 -04:00
Adam Ding
4636a1b419 Added get function to get Krogger Auth token 2020-10-04 15:45:21 -04:00
NMerz
81b4673766 Lamdba Integration
Test Lamdbas with full pipeline of client through database
2020-10-03 23:00:19 -04:00
NMerz
1f361cf401 Finish V1 of List and Item Lambdas
List and Item Lambdas and client calls should be roughly finished (pending full testing once databse config is done).
2020-10-03 18:35:27 -04:00
NMerz
f107ab023d GET strcuture
Build out infrastructure for get requests (along with the first couple).

This includes changing the request engine from Volley to OKHTTP due to issues get Volley's callbacks to call back.
2020-10-03 17:37:46 -04:00
NMerz
69572b3a1f Generify endpoint groups as IntelliJ Modules
This allows them to be built sperately decreasing JAR size and also creates a better structure for generic service functions and business logic.
2020-10-03 11:22:35 -04:00