Commit Graph

161 Commits

Author SHA1 Message Date
KevinMidboe 56d2513a9c Incorrect history.js function called. 2021-02-18 20:38:49 +01:00
KevinMidboe 1c40fae69d Repository gets new search winner by query func.
Has sort parameter that defaults to newest first.
2021-02-17 19:26:01 +01:00
KevinMidboe bca4558d59 orderByWins has limit parameter to slice response
Limit the number of rows returned, used for frontpage where we display
max 20.
2021-02-17 19:21:33 +01:00
KevinMidboe 38eb98e68b Sorting happens in mongo query, no longer in js. 2021-02-17 19:20:52 +01:00
KevinMidboe c98ccbc3f0 We want a mongo instance of both winner and wine.
The inputs to these functions are objects, if we want to use mongoose we
need to get a new instance of wine and winner.
2021-02-17 19:19:13 +01:00
KevinMidboe 3d99a3e5f2 Wine repository gets function for all wines. 2021-02-17 19:17:36 +01:00
KevinMidboe 7292cf7983 Endpoint for getting wine schema.
This is for manual registration of prelottery wines from the admin page.
2021-02-15 22:38:22 +01:00
KevinMidboe 57fe7d444b Used correct func name for wines from vinmonpolet. 2021-02-15 22:34:51 +01:00
KevinMidboe cb4a30b5e9 BIGBOY rewrite.
All endpoints have been re-worked to be more clear on what they do. They
also all have their own controller now.
2021-01-26 23:05:52 +01:00
KevinMidboe b321f2cfdd Fixed import location for redis. 2021-01-26 23:04:15 +01:00
KevinMidboe ce480e790a Replaced for clearer project structure & new ctrls.
These files where directly called from the api endpoints. Now all
functoins have been replaced with a controller interfacing to the
endpoint and a repository file for each of the functions.
2021-01-26 23:01:49 +01:00
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