200 Commits

Author SHA1 Message Date
KevinMidboe ba86bf3ada New custom errors to throw. 2021-01-26 23:01:18 +01:00
KevinMidboe f4a16bc417 Removed always setting isAdmin true. 2021-01-26 23:01:08 +01:00
KevinMidboe 4c33708ff4 Made some required wine attributes optional. 2021-01-26 22:59:46 +01:00
KevinMidboe 87257fd5b2 Moved everything not lottery out.
Moved all logic related to lotteryAttendees, lotteryWinners and
prelotteryWines into each their repository and controller.

Now only holds draw, archive and get archived lotteries.
2021-01-26 22:58:41 +01:00
KevinMidboe ac829052b6 Wine models now have extra year field. 2021-01-26 22:55:43 +01:00
KevinMidboe 1b1a99ccc3 Linting and more clear function names. 2021-01-26 22:43:18 +01:00
KevinMidboe 5e018f071d Prize distribution for selecting wines.
Moved the same functionality out from lottery.js and simplified a bit.
Now the backend also sends with wines to pick from.
When hitting the controller we check that the user is the next user in
line.
2021-01-26 22:42:33 +01:00
KevinMidboe 939e7e34df All CRUDS on winners for current lottery. 2021-01-26 22:37:36 +01:00
KevinMidboe 33070ae31a Keeps more information when adding prelottery wine 2021-01-26 22:35:12 +01:00
KevinMidboe 6e02c5e393 Reflecting changes, isolated winner from lottery. 2021-01-26 22:32:14 +01:00
KevinMidboe b596dc28e8 Prelotterywine has it's own repo and ctrl. 2021-01-26 22:30:19 +01:00
KevinMidboe 03c0513da3 Rm from lottery.js attendee has own repo and ctrl. 2021-01-26 22:28:27 +01:00
KevinMidboe afab4387cc Renamed winner.js to history.js. 2021-01-26 22:18:47 +01:00
KevinMidboe 1c1f52308f Add winner w/ wine to highscore. 2021-01-26 22:12:42 +01:00
KevinMidboe f5d3b16f27 isAdmin default value = false. 2021-01-24 15:36:03 +01:00
KevinMidboe b5b61784cc Add winners manually by posting /lottery/winners. 2021-01-24 15:34:58 +01:00
KevinMidboe 2f3a6aeba7 Catch exceptions when deleting wines from lottery. 2021-01-24 14:03:27 +01:00
KevinMidboe 84fa1ff925 Linted. 2021-01-24 14:02:53 +01:00
KevinMidboe 53135acc05 Get/add/update/delete winners from lottery. 2021-01-24 14:01:36 +01:00
KevinMidboe fac50805bd Get stores from vinmonopolet.
Update all endpoint names to distinguish between wine and store actions.
Renamed wineController to vinmonopoletController.
2021-01-24 14:01:04 +01:00
KevinMidboe 6d5f0e824f Lottery wine functions & controller.
Split all wine/prelottrey wines into separate controller.
Now also have endpoints for deleting or updating single wine by id.
2021-01-24 12:12:52 +01:00
KevinMidboe 4d822ccb64 Isolated lottery attendee functs to it's own file. 2021-01-24 11:10:49 +01:00
KevinMidboe 7aa5f7e9ce Add, update and delete attendees to lottery. 2021-01-24 11:02:04 +01:00
KevinMidboe 18d8c2c7ca Lottery, get/delete attendees.
Changed so get attendees no longer is done in two endpoints, now we use
req.isAuthenticated() to check if we want to return full or minimal json
data about each attendee.
2021-01-24 10:14:00 +01:00
KevinMidboe edc4d26647 User logout can happen in controller. 2021-01-24 10:08:39 +01:00
KevinMidboe e07e6ae09a Winner controller, winners by date, color or name.
Winner controller replaces a lot of what happens in retrieve did for
aggregating when and what had been won. Now this is more clearly defined
in winner.js.
Also leverage mongo's query more than sorting and aggregating data like
previous implementation where a lot happened in js.
2021-01-24 10:05:00 +01:00
KevinMidboe e9ece6963e /by-color endpoint for sort all winners by color.
Can also include query parameter includeWines for resolved wine
references.
2021-01-17 17:26:37 +01:00
KevinMidboe 53780878af Renamed to winners. Winners gets controller setup.
Rewrote everything that happened in history to better take advantage of
monogdb instead of doing everything in js.

Our endpoints become:
 - /winners - getAll w/ includeWines and sort query params.
 - /winners/latest - latest winners grouped w/ includeWines query
 params.
 - /winners/by-date - all winners grouped by date w/ includeWines and
 sort.
 - /winners/by-date/:date - get winners per epoch or string date.
 - /winners/by-name/:name - get winner by name parameter w/ sort for
 wins direction.
2021-01-17 16:55:57 +01:00
KevinMidboe 5e06a3fc28 ChatHistory behaved like controller already, renamed. 2021-01-16 14:23:02 +01:00
KevinMidboe 54c6c0eb97 History actions now have a controller setup. 2021-01-16 12:33:56 +01:00
KevinMidboe e754f0a909 Wine ctrl for search wineinfo by query, ean or id. 2021-01-15 19:17:12 +01:00
KevinMidboe a010641a8e Renamed wineinfo -> vinmonopolet. 2021-01-15 19:16:46 +01:00
KevinMidboe 89389ddc59 Renamed lottery -> history. 2021-01-15 19:16:15 +01:00
KevinMidboe 4043954f95 Split request into controller and repo.
Also try returning better error message on exceptions and check for
errors in payload to return well-defined errors.
2021-01-11 20:52:22 +01:00
KevinMidboe 50ea05cad3 Winner draw writes out winner number.
The websocket message now includes the number of winners and this is
used to spell out the current drawn winner's position.
2020-12-31 17:19:56 +01:00
KevinMidboe baa348bc95 Merge pull request #67 from KevinMidboe/refactor/project-structure
Refactor/Project structure
2020-12-10 23:20:38 +01:00
KevinMidboe 2fa0c1085c Build bundle analyzer and no-auth start commands.
build-report: uses webpack-bundle-analzer for interactive bundle size
explorer.
start-noauth: running locally without endpoint authentication enabled.
2020-12-06 20:44:54 +01:00
KevinMidboe 539386664c Better username validation for chat registration. 2020-12-06 17:50:29 +01:00
KevinMidboe 6503b309c5 Chat history pages w/ page & limit params.
Updated api to use page and limit for fetching chat history.
2020-12-04 22:29:50 +01:00
KevinMidboe da8251c733 Now saves messages as redis sorted list.
Moved from Redis lists to sorted lists by timestamp for better
pagination. Now we have better interfacing w/ page & limit. History now
also returns the total record count.
2020-12-04 22:26:44 +01:00
KevinMidboe e9eada0002 Remove pickup location from confirmation SMS. 2020-12-04 12:55:43 +01:00
KevinMidboe ad27ba8b33 Require statements now use path.join correctly. 2020-11-24 23:37:14 +01:00
KevinMidboe 236c07f3d0 Moved middleware/ & schemas/ into api/. 2020-11-24 23:34:13 +01:00
KevinMidboe 30fdbb5e2f Pulled feature branch up-to-date w/ master. 2020-11-20 19:15:51 +01:00
KevinMidboe ee5f817248 Chathistory only returns funcs and used by router. 2020-11-20 16:29:26 +01:00
KevinMidboe 627f96b420 Merge pull request #53 from KevinMidboe/refactor/requested-wines-ui
WIP Refactor - Requested wines ui
2020-11-02 15:20:20 +01:00
KevinMidboe f01b58c1b6 Removed trailing whitespace. 2020-10-26 13:10:01 +01:00
KevinMidboe f1d500936b Better redis logging. 2020-10-22 22:35:00 +02:00
KevinMidboe d5f3a7a1f0 Separated router and user authentication. Renamed login.js to user.js and now it only exports functions for the router to use. 2020-10-22 13:29:06 +02:00
KevinMidboe 82512fa4ba Comments for readability. 2020-10-19 10:01:53 +02:00