Commit Graph

48 Commits

Author SHA1 Message Date
KevinMidboe b0424a519c Fixed drawing winner count was +1.
On /lottery frontend page the count of winners that is sent to frontend
over socketIO started one index higher than it should.

This was from updating how winners are saved in the backend. Our winners
array now no longer needs to be incremented with 1 from the backend.
2021-02-20 13:57:39 +01:00
KevinMidboe 80e6c91045 API endpoint for getting latest lottery. 2021-02-20 13:29:41 +01:00
KevinMidboe 60044859eb Query parameters can not be constants. 2021-02-19 01:03:26 +01:00
KevinMidboe 704ed51db5 Prizedistribution wants winners w/ phone number. 2021-02-19 00:54:12 +01:00
KevinMidboe 83d9b30048 Request wine front & backend talk nicer togheter.
- requestWineController validates wine object and returns helpfull
 error repsonse if anything is missing.
 - requestWine uses new endpoint and calls api from within itself.
 - Linting.
2021-02-19 00:29:05 +01:00
KevinMidboe 3f77722f4f allLotteries w/ sort & includeWinners query opts. 2021-02-18 23:42:21 +01:00
KevinMidboe 324ca5d9bc Date defaults to today and return response message. 2021-02-18 23:41:46 +01:00
KevinMidboe 1e6ec3d4c8 Require attendee name AND number when adding. 2021-02-18 23:39:00 +01:00
KevinMidboe 1b12453df0 LotteryWinner functionality not yet used.
Can post winners directly with parsing of parameters and error handling.
2021-02-18 23:38:00 +01:00
KevinMidboe 2477f36f96 Get all wines with limit parameter. 2021-02-18 22:07:54 +01:00
KevinMidboe 9823197a48 Better validation and error resp validating wines. 2021-02-18 21:06:49 +01:00
KevinMidboe d0fa89b92b Update lottery winner by id.
Endpoint, controller and repository function for updating lottery winner
by id and json payload.
Keeps previous definition for undefined/null values.
2021-02-18 21:05:40 +01:00
KevinMidboe fc029f80df New message & wine controllers!
These interface towards the respective repositories.
Wine:
 - /api/wine/:id - getWineById
 - /api/wines - allWines

Messages:
 - /api/lottery/messages/winner/:id - notifyWinnerById
2021-02-18 21:02:07 +01:00
KevinMidboe 6003151e3b Better error handling for claim prize.
We wrap await function calls with try catch and return the res if any
error occur.
2021-02-18 20:58:57 +01:00
KevinMidboe ab58a45da5 Better var name and response message text. 2021-02-18 20:58:40 +01:00
KevinMidboe dcaaeae51f Get prizes only returns wines without a winner already. 2021-02-18 20:58:09 +01:00
KevinMidboe 930c458d9c Search history for winner name. 2021-02-18 20:40:35 +01:00
KevinMidboe 787882e753 History ordered by wins has limit parameter. 2021-02-18 20:40:14 +01:00
KevinMidboe 56d2513a9c Incorrect history.js function called. 2021-02-18 20:38:49 +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 b321f2cfdd Fixed import location for redis. 2021-01-26 23:04:15 +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 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 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 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 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