Commit Graph

44 Commits

Author SHA1 Message Date
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
3f77722f4f allLotteries w/ sort & includeWinners query opts. 2021-02-18 23:42:21 +01:00
324ca5d9bc Date defaults to today and return response message. 2021-02-18 23:41:46 +01:00
1e6ec3d4c8 Require attendee name AND number when adding. 2021-02-18 23:39:00 +01:00
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
2477f36f96 Get all wines with limit parameter. 2021-02-18 22:07:54 +01:00
9823197a48 Better validation and error resp validating wines. 2021-02-18 21:06:49 +01:00
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
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
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
ab58a45da5 Better var name and response message text. 2021-02-18 20:58:40 +01:00
dcaaeae51f Get prizes only returns wines without a winner already. 2021-02-18 20:58:09 +01:00
930c458d9c Search history for winner name. 2021-02-18 20:40:35 +01:00
787882e753 History ordered by wins has limit parameter. 2021-02-18 20:40:14 +01:00
56d2513a9c Incorrect history.js function called. 2021-02-18 20:38:49 +01:00
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
57fe7d444b Used correct func name for wines from vinmonpolet. 2021-02-15 22:34:51 +01:00
b321f2cfdd Fixed import location for redis. 2021-01-26 23:04:15 +01:00
f4a16bc417 Removed always setting isAdmin true. 2021-01-26 23:01:08 +01:00
4c33708ff4 Made some required wine attributes optional. 2021-01-26 22:59:46 +01:00
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
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
6e02c5e393 Reflecting changes, isolated winner from lottery. 2021-01-26 22:32:14 +01:00
b596dc28e8 Prelotterywine has it's own repo and ctrl. 2021-01-26 22:30:19 +01:00
03c0513da3 Rm from lottery.js attendee has own repo and ctrl. 2021-01-26 22:28:27 +01:00
afab4387cc Renamed winner.js to history.js. 2021-01-26 22:18:47 +01:00
f5d3b16f27 isAdmin default value = false. 2021-01-24 15:36:03 +01:00
b5b61784cc Add winners manually by posting /lottery/winners. 2021-01-24 15:34:58 +01:00
2f3a6aeba7 Catch exceptions when deleting wines from lottery. 2021-01-24 14:03:27 +01:00
84fa1ff925 Linted. 2021-01-24 14:02:53 +01:00
53135acc05 Get/add/update/delete winners from lottery. 2021-01-24 14:01:36 +01:00
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
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
4d822ccb64 Isolated lottery attendee functs to it's own file. 2021-01-24 11:10:49 +01:00
7aa5f7e9ce Add, update and delete attendees to lottery. 2021-01-24 11:02:04 +01:00
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
edc4d26647 User logout can happen in controller. 2021-01-24 10:08:39 +01:00
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
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
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
5e06a3fc28 ChatHistory behaved like controller already, renamed. 2021-01-16 14:23:02 +01:00
54c6c0eb97 History actions now have a controller setup. 2021-01-16 12:33:56 +01:00
e754f0a909 Wine ctrl for search wineinfo by query, ean or id. 2021-01-15 19:17:12 +01:00
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