Rapportsystem API - of D03N
Hovedprosjekt FiV Programmering 20-24
Loading...
Searching...
No Matches
createUser.py
Go to the documentation of this file.
1from flask_restx import Resource
2from flask import request, jsonify
3#imports os
4import os
5current_directory = os.getcwd()
6#imports sys
7import sys
8sys.path.append(os.path.join(current_directory))
9from PW_hashHandler import pw_manager as hash
10from Models import user_model as UM
11from USER_obj import new_user as makeUSR
12
13#Create user route
15 #Post request for creating a new leader user & belonging database
16 @ns.route('/createUser')
17 class CreateUser(Resource):
18 new_user_model = UM.user_model(ns)
19 @ns.doc('create_user',
20 description='Create new user when given Email, Password and Account type.',
21 responses={
22 200: 'OK',
23 400: 'Invalid Argument or faulty data',
24 500: 'Internal server error'
25 })
26
27 #expects user model from post request
28 @ns.expect(new_user_model, validate=True)
29 def post(self):
30
31 #Gets data from post request
32 data = request.get_json()
33
34 #Sets email and accountType from post request to loweer case
35 email = str(data['email']).lower()
36 print("New Account: ", email)
37 password_to_crypt = data['password']
38 password_to_pass = data['password']
39
40 #uses the new objekt to create new user in database
41 makeUSR.createUser(email, hash.hash(password_to_crypt), password_to_pass).saveToDB()
42
43 #returns error if no data is found or faulty
44 if not data:
45 return {"Error": "No data"}, 400
46 return data