Esempio n. 1
0
 def post(self):
     body = request.get_json()
     title = body["title"]
     try:
         cursor.execute("INSERT INTO categories (title) VALUES(%s)",
                        (title, ))
         conn.commit()
         return {"body": body}, 200
     except:
         conn.rollback()
         print("already exists..")
         abort(403, error_message='This already exists')
     return last_id
Esempio n. 2
0
 def post(self):
     body = request.get_json()
     username = body["username"]
     password = hash_password(body["password"])
     email = body["email"]
     cursor.execute(
         "INSERT INTO users (username, user_password, email, user_point, badge_id) VALUES(%s, %s, %s, %s, %s)",
         (username, password, email, 1000, 1))
     conn.commit()
     return {
         "username": username,
         "password": password,
         "email": email
     }, 200
Esempio n. 3
0
 def get(self, id):
     cursor.execute(
         "SELECT q.* , c.title as category, jsonb_agg(t) as tags , username FROM questions q LEFT JOIN question_tags qt ON q.id = qt.question_id LEFT JOIN tags t ON qt.tag_id = t.id LEFT JOIN categories c ON q.category_id = c.id LEFT JOIN users u ON q.user_id = u.id  WHERE q.id = %s GROUP BY q.id, c.title, username",
         (id, ))
     question = cursor.fetchone()
     # result = {}
     # result["id"] = question[0]
     # result["user_id"] = question[1]
     # result["category_id"] = question[2]
     # result["question_title"] = question[3]
     # result["question_content"] = question[4]
     # result["is_solved"] = question[5]
     # result["created_at"] = question[6]
     # result["updated_at"] = question[7]
     # result["category_name"] = question[8]
     # result["username"] = question[9]
     return jsonify(question)
Esempio n. 4
0
 def post(self):
     body = request.get_json()
     username = body["username"]
     givenpassword = body["password"]
     cursor.execute("SELECT * FROM users WHERE username = %s", (username, ))
     user = cursor.fetchone()
     user_obj = {
         'id': user['id'],
         'role': 'admin' if user['is_admin'] else 'normal'
     }
     authorized = check_password(user["user_password"], givenpassword)
     print(user_obj)
     if not authorized:
         return {'error': 'Email or password invalid'}, 401
     expires = datetime.timedelta(days=7)
     access_token = create_access_token(identity=user_obj,
                                        expires_delta=expires)
     return {
         'token': access_token,
         'username': user["username"],
     }, 200
Esempio n. 5
0
 def get(self):
     cursor.execute("SELECT * FROM badges")
     results = cursor.fetchall()
     return jsonify(results)
Esempio n. 6
0
 def delete(self, id):
     cursor.execute("DELETE FROM badges WHERE id = %s", (id, ))
     return '', 204
Esempio n. 7
0
 def post(self):
     body = request.get_json()
     title = body["title"]
     cursor.execute("INSERT INTO badges (title) VALUES(%s)", (title, ))
     conn.commit()
     return {"body": body}, 200
Esempio n. 8
0
 def get(self, id):
     cursor.execute(
         "SELECT  q.*, username, c.title FROM questions q JOIN users u ON q.user_id = u.id JOIN categories c ON q.category_id = c.id WHERE q.id = %s",
         (id, ))
     question_list = cursor.fetchall()
     return jsonify(question_list)
Esempio n. 9
0
 def get(self):
     cursor.execute(
         "SELECT q.* , c.title as category, jsonb_agg(t) as tags , username FROM questions q LEFT JOIN question_tags qt ON q.id = qt.question_id LEFT JOIN tags t ON qt.tag_id = t.id LEFT JOIN categories c ON q.category_id = c.id LEFT JOIN users u ON q.user_id = u.id GROUP BY q.id, c.title, username"
     )
     question_list = cursor.fetchall()
     return jsonify(question_list)
Esempio n. 10
0
 def get(self, id):
     cursor.execute("SELECT * FROM pages WHERE id = %s", (id, ))
     results = cursor.fetchall()
     return jsonify(results)