Skip to content
Snippets Groups Projects
Commit 68cfb0ce authored by Herman Andersen Dyrkorn's avatar Herman Andersen Dyrkorn
Browse files

Merge branch '3-creating-database-flask-sqlalchemy' into 'master'

Resolve "creating database flask-sqlalchemy"

Closes #3

See merge request !4
parents 3e599458 b1926bf0
No related branches found
No related tags found
1 merge request!4Resolve "creating database flask-sqlalchemy"
venv venv
.idea .idea
images images
src/__pycache__
\ No newline at end of file
from flask import Flask, request from flask import Flask, request
from flask_restful import Api, Resource from flask_restful import Api, Resource
import os.path import os.path
from datetime import datetime
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__) app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db'
db = SQLAlchemy(app)
api = Api(app) api = Api(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(255), nullable=False)
email = db.Column(db.String(255), nullable=False)
pwd = db.Column(db.String(255), nullable=False)
admin = db.Column(db.Boolean, nullable=False, default=False)
accepted = db.Column(db.Boolean, nullable=False, default=False)
class Salamander(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
sex = db.Column(db.String(255), nullable=False)
species = db.Column(db.String(255), nullable=False)
location = db.Column(db.String(255), nullable=False)
location_id = db.Column(db.Integer, db.ForeignKey('location.id'), nullable=False)
image_path = db.Column(db.String(255), nullable=False)
uid = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
date = db.Column(db.DateTime, default=datetime.now)
class Location(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(255), nullable=False)
coordinates = db.Column(db.String(255), nullable=False)
pwd = db.Column(db.String(255), nullable=False)
radius = db.Column(db.Integer, nullable=False)
# matchSalamander endpoint
class MatchSalamander(Resource): class MatchSalamander(Resource):
@staticmethod @staticmethod
def post(): def post():
...@@ -40,6 +74,7 @@ class MatchSalamander(Resource): ...@@ -40,6 +74,7 @@ class MatchSalamander(Resource):
return output return output
# findSalamanderInfo endpoint
class FindSalamanderInfo(Resource): class FindSalamanderInfo(Resource):
@staticmethod @staticmethod
def post(): def post():
...@@ -53,6 +88,26 @@ class FindSalamanderInfo(Resource): ...@@ -53,6 +88,26 @@ class FindSalamanderInfo(Resource):
return output return output
class RegisterUser(Resource):
@staticmethod
def post():
output = {"message": "something went wrong"}
data = request.form
if not data['name'] or not data['email'] or not data['password'] or not data['confirmPassword']:
output = {"message": "data is incorrect"}
else:
if data['password'] == data['confirmPassword']:
user = User(name=data['name'], email=data['email'], pwd=data['password'])
db.session.add(user)
db.session.commit()
output = {"message": "user added"}
return output
api.add_resource(RegisterUser, "/registerUser")
api.add_resource(MatchSalamander, "/matchSalamander") api.add_resource(MatchSalamander, "/matchSalamander")
api.add_resource(FindSalamanderInfo, "/findSalamanderInfo") api.add_resource(FindSalamanderInfo, "/findSalamanderInfo")
...@@ -63,7 +118,6 @@ def get_path(data, end_directory): ...@@ -63,7 +118,6 @@ def get_path(data, end_directory):
def directory_not_empty(directory_path): def directory_not_empty(directory_path):
if os.path.exists(directory_path) and not os.path.isfile(directory_path): if os.path.exists(directory_path) and not os.path.isfile(directory_path):
# Checking if the directory is empty or not # Checking if the directory is empty or not
if not os.listdir(directory_path): if not os.listdir(directory_path):
return False return False
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment