Commit Graph
53 Commits
Author SHA1 Message Date
Stephan 9ac4fb8efd Add logger to main
+ Remove whitespace
2022-04-28 14:39:16 +02:00
Stephan 9516b60d93 Add logger using winston
+ Add formats
+ Add debug and error log files
2022-04-28 14:39:16 +02:00
Stephan 382a42d439 Add basic error handling
+ Add express-async-errors package to handle async errors
+ Add ForwaradableError class (Base class for all project-specific errors)
+ Add defaultErrorHandler middleware which handles errors and sends info to the client
2022-04-28 14:39:16 +02:00
Stephan 4a65dd4665 Add authorization 2022-04-28 12:49:05 +02:00
Stephan 6d471eced2 Add function for deleting events 2022-04-28 12:49:05 +02:00
Stephan 2936aa77f1 FIX: Event endpoints are now using the correct format 2022-04-28 12:49:05 +02:00
Stephan 01077dab22 Change name from oragnisation to organisation 2022-04-27 08:34:25 +02:00
Stephan bff9dcc5f8 Extract function to create an object by name
+ Add route to create groups
2022-04-26 16:04:26 +02:00
Stephan fe6879ea56 Only show details when authenticated 2022-04-26 16:04:26 +02:00
Stephan 0c65aec96c Add controller and routes for groups 2022-04-26 16:04:26 +02:00
Stephan 8aa4e5ef16 Improve error handling and simplify code 2022-04-26 16:04:26 +02:00
Stephan ca11eba3d4 Add better error handling 2022-04-26 16:04:26 +02:00
Stephan 12034fa32a Add function to update an organisation
+ Extract basicOrganisation and detailedOrganiation select types
2022-04-26 16:04:26 +02:00
Stephan 831017e7c2 Add routes for organisations
+ FIX: Change eventId type
2022-04-26 16:04:26 +02:00
Stephan 08e18db3c3 Extract common function to handle selecting organisations 2022-04-26 16:04:26 +02:00
Stephan ab62e39d8e Add function to create new organisations
+ Extract common functions from the admin controller
2022-04-26 16:04:26 +02:00
Stephan 37437152da Add the organisation controller
+ Add function to get all organisation
+ Add function to get a specific organisation
2022-04-26 16:04:26 +02:00
Stephan d7e7694249 Fix: The server should always return 403 on failed login 2022-04-23 14:01:45 +02:00
Stefan-5422 43bb7baa88 Minor changes 2022-03-28 11:58:32 +02:00
Stefan-5422 68b9044a9d Minor changes
Fixed complaints for PR #30
2022-03-28 11:58:32 +02:00
Stefan-5422 0f3b1ac707 Update common.ts types because nagging. 2022-03-28 11:58:32 +02:00
Stefan-5422 cdacc56f7f Update Event Endpoints to give better errors; 2022-03-28 11:58:32 +02:00
github-actions[bot]andStefan-5422 626ae40683 [create-pull-request] push formatted files (#27)
Co-authored-by: Stefan-5422 <[email protected]>
2022-03-20 17:37:51 +01:00
Stefan-5422 907c2c68fa Fix json parser return stack trace see Issue #24; 2022-03-20 15:31:20 +01:00
Stephan 064497a4ca Refactor the endpoints to share common code 2022-01-02 17:36:21 +01:00
Stephan 08419d581b Update the admin revision on password change
+ Update type of revision to DateTime
2022-01-02 17:26:20 +01:00
Stephan 4d23eccba6 Restructure the process of changing a password
+ Requests are now dispatched to the according user ressource, not the collection
+ The current user can be referenced by setting the pid to 'current'
+ Refactored the error logic
2022-01-02 16:49:01 +01:00
Stephan cc1c394dce Change the controller for changing passwords to use PIDs and not usernames 2022-01-02 15:46:47 +01:00
Stephan 5b02905d71 Add a controller and router to update a user's password
+ Add a function to update the password internally
+ The current interface could be improved (made more RESTful)
2021-12-31 00:11:04 +01:00
Stephan bfca7e8672 Add the permission_level 'ELEVATED' to the default user 2021-12-29 15:19:23 +01:00
Stephan 97fee47c6e Allow for groups to be specified when POSTing /api/admins
+ Add the admin router to the global app
2021-12-29 15:19:22 +01:00
Stephan 3363039f79 Add code that ensures that an (admin) user is always present 2021-12-29 15:19:21 +01:00
Stephan 9b2c8b17c6 Add router for the /admin endpoint 2021-12-29 15:19:20 +01:00
Stephan b57315d916 Add controller for adding a user
+ Add function to narrow type of string to AdminLevel
2021-12-29 15:19:19 +01:00
Stephan b82a84322b Extract code for error messages for better reusability
+ Create function for generating permission errors
2021-12-29 15:19:18 +01:00
Stephan 59f4d53af5 Add a controller for getting all admin user details
+ Requires Authentication
2021-12-29 15:19:16 +01:00
Stephan eb70a14c61 Add routes for admin authentication endpoints
+ Add router to the app
2021-12-29 15:19:10 +01:00
Stefan 01ba2bd0c0 FIX: Due to changes in Prisma schema tests broke
Added property description broke stuff :-(
2021-11-17 21:36:06 +01:00
Stephan 6c535b16d1 Bugfix authentication controller 2021-11-11 12:02:48 +01:00
Stephan 4fd8a4c978 Add reference to custom Request typings 2021-11-11 11:57:36 +01:00
Stephan 60f7c8fff5 Export requireAuthentication 2021-11-10 16:12:55 +01:00
Stephan c869863aea Add middleware to require authentication on an endpoint 2021-11-10 16:04:26 +01:00
Stephan 1b7a40cf7c Add the pid to the JWT payload 2021-11-10 15:11:29 +01:00
Stephan fc78f730bd Add redis
+ Add a public lib file for redis
  + Add an indexed auth client
  + Add a function to create promisified partial clients
+ Add password revisions to the auth redis index
2021-11-10 12:08:07 +01:00
Stephan 5ee5218d5a Use the description attribute in add and get controllers 2021-11-10 11:31:22 +01:00
Stephan aec6604d24 Update the code to use the latest database schema 2021-11-10 11:15:51 +01:00
Stephan bc88ea3fe0 Merge branch 'dev' into feature-user-auth 2021-11-10 08:41:02 +01:00
Stephan 6d062ce1d7 Merge main with fix into dev 2021-11-10 08:38:30 +01:00
Stephan 3d961ab53d Add controller for authenticating with admin name and password
+ Add function to create a JWT with the required payload
2021-11-10 08:19:17 +01:00
Stephan f2e18e1656 Fix the error where the code doesn't compile
TypeScript is not used for browser development here, hence it does not know the type XMLHttpRequest (used by SuperAgent)
This is not an ideal solution
2021-11-09 15:40:38 +01:00