livraison sans DELETE et sans FINDID
This commit is contained in:
BIN
__pycache__/config.cpython-38.pyc
Normal file
BIN
__pycache__/config.cpython-38.pyc
Normal file
Binary file not shown.
BIN
__pycache__/wrapper.cpython-38.pyc
Normal file
BIN
__pycache__/wrapper.cpython-38.pyc
Normal file
Binary file not shown.
76
api.py
76
api.py
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/python
|
||||
import wrapper
|
||||
from flask import Flask, jsonify, request
|
||||
|
||||
@@ -18,50 +19,61 @@ def get_all_personnes():
|
||||
if result:
|
||||
return jsonify(status="True",
|
||||
result= [
|
||||
{"idPersonne":personne.idPersonne,
|
||||
{"id":personne.id,
|
||||
"nom":personne.nom,
|
||||
"prenom":personne.prenom,
|
||||
"dateNaissance":personne.dateNaissance,
|
||||
"tel": personne.tel} for personne in result.all() ])
|
||||
return jsonify(status="False")
|
||||
return jsonify(status="False", result = [{"personne":"inconnu"}])
|
||||
|
||||
@app.route('/api/v1/personnes/<id>', methods=['GET'])
|
||||
def get_personne(id):
|
||||
result = wrapper.get_personne_by_id(id)
|
||||
if result:
|
||||
return jsonify(status="True",
|
||||
result={"nom":result.nom,
|
||||
result={"id":result.id,
|
||||
"nom":result.nom,
|
||||
"prenom":result.prenom,
|
||||
"email":result.email,
|
||||
"ville": result.ville,
|
||||
"telephone": result.telephone}
|
||||
)
|
||||
return jsonify(status="False")
|
||||
"dateNaissance":result.dateNaissance,
|
||||
"tel": result.tel}
|
||||
)
|
||||
return jsonify(status="False")
|
||||
|
||||
@app.route('/api/v1/user/&amp;amp;amp;lt;email&amp;amp;amp;gt;', methods=['PUT'])
|
||||
def mofify_user(email):
|
||||
result = wrapper.update_attribute(email, request.form.to_dict())
|
||||
if result:
|
||||
return jsonify(status="True",
|
||||
message= "updated",
|
||||
result={
|
||||
"nom":result.nom,
|
||||
"prenom":result.prenom,
|
||||
"email":result.email,
|
||||
"ville": result.ville,
|
||||
"telephone": result.telephone}
|
||||
)
|
||||
return jsonify(status= "False")
|
||||
@app.route('/api/v1/personnes/<id>', methods=['PUT'])
|
||||
def modify_personne(id):
|
||||
result = wrapper.update_attribute(id, request.form.to_dict())
|
||||
if result:
|
||||
return jsonify(status="True",
|
||||
message= "updated",
|
||||
result={"id":result.id,
|
||||
"nom":result.nom,
|
||||
"prenom":result.prenom,
|
||||
"dateNaissance":result.dateNaissance,
|
||||
"tel": result.tel}
|
||||
)
|
||||
return jsonify(status= "False")
|
||||
|
||||
@app.route('/api/v1/user/&amp;amp;amp;lt;email&amp;amp;amp;gt;', methods=['DELETE'])
|
||||
def delete_user(email):
|
||||
result = wrapper.delete_user_by_id(email)
|
||||
if result:
|
||||
return jsonify(status="True",
|
||||
message= "Deleted",
|
||||
email=email
|
||||
)
|
||||
return jsonify(status="False")
|
||||
@app.route('/api/v1/user/<id>', methods=['DELETE'])
|
||||
def delete_personne(id):
|
||||
result = wrapper.delete_personne_by_id(id)
|
||||
if result:
|
||||
return jsonify(status="True",
|
||||
message= "Deleted",
|
||||
id=id
|
||||
)
|
||||
return jsonify(status="False")
|
||||
|
||||
@app.route('/api/v1/personnes/findid', methods=['GET'])
|
||||
def find_id():
|
||||
result = wrapper.find_id()
|
||||
if result:
|
||||
return jsonify(status="True",
|
||||
result={"id":result.id,
|
||||
}
|
||||
)
|
||||
return jsonify(status="False find id")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run(host='0.0.0.0', port=5000, debug=True)
|
||||
app.run(host='0.0.0.0', port=5000, debug=True)
|
||||
|
||||
|
||||
15
config.py
15
config.py
@@ -1,11 +1,16 @@
|
||||
MYSQL_HOST = "172.18.0.3"
|
||||
MYSQL_PORT = 3306
|
||||
MYSQL_USER = "api-python"
|
||||
MYSQL_PWD = "api-python"
|
||||
#MYSQL_HOST = '172.18.0.3'
|
||||
MYSQL_HOST = 'localhost'
|
||||
MYSQL_PORT = '3306'
|
||||
MYSQL_USER = "root"
|
||||
MYSQL_PWD = "kamisama123"
|
||||
#MYSQL_USER = "api-python"
|
||||
#MYSQL_PWD = "api-python"
|
||||
MYSQL_DB = "api-python"
|
||||
|
||||
SQLALCHEMY_DATABASE_URI = "mysql+pymysql://{}:{}@{}:{}/{}".format(MYSQL_USER,
|
||||
MYSQL_PWD,
|
||||
MYSQL_HOST,
|
||||
MYSQL_PORT,
|
||||
MYSQL_DB)
|
||||
MYSQL_DB)
|
||||
|
||||
#nécessite les modules sqlalchemy et flask de python
|
||||
31
wrapper.py
31
wrapper.py
@@ -1,7 +1,6 @@
|
||||
from numpy import int32
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy import ForeignKey, create_engine, Column, String, DATETIME
|
||||
from sqlalchemy import ForeignKey, create_engine, Column, String, DATETIME,Integer
|
||||
import config
|
||||
|
||||
MYSQL_HOST = config.MYSQL_HOST
|
||||
@@ -15,7 +14,7 @@ MYSQL_PWD,
|
||||
MYSQL_HOST,
|
||||
MYSQL_PORT,
|
||||
MYSQL_DB)
|
||||
|
||||
|
||||
engine = create_engine(SQLALCHEMY_DATABASE_URI)
|
||||
Session = sessionmaker(bind=engine)
|
||||
session = Session()
|
||||
@@ -24,18 +23,18 @@ Base = declarative_base()
|
||||
class Personne(Base):
|
||||
# Cette classe correspond à la version objet de notre table personne
|
||||
__tablename__ = "personne"
|
||||
idPersonne = Column(int32,unique=True,ForeignKey=True)
|
||||
nom = Column(String(100), unique=False, nullable=False, primary_key=False)
|
||||
id = Column(Integer,unique=True,primary_key=True)
|
||||
nom = Column(String(100), unique=False, nullable=False)
|
||||
prenom = Column(String(100), nullable=False)
|
||||
dateNaissance = Column(DATETIME, nullable=False)
|
||||
tel = Column(String(12), nullable=False)
|
||||
|
||||
def add_personne(idPersonne, nom, prenom, dateNaissance, tel):
|
||||
def add_personne(id, nom, prenom, dateNaissance, tel):
|
||||
try:
|
||||
personne = Personne(idPersonne = idPersonne,
|
||||
personne = Personne(id = id,
|
||||
nom = nom,
|
||||
prenom = prenom,
|
||||
dateNaissance=dateNaissance,
|
||||
dateNaissance = dateNaissance,
|
||||
tel=tel)
|
||||
session.add(personne)
|
||||
session.commit()
|
||||
@@ -61,10 +60,11 @@ def get_all_personnes():
|
||||
return False
|
||||
|
||||
def delete_personne_by_id(id):
|
||||
#TODO: à controler
|
||||
try:
|
||||
user_to_delete = get_personne_by_id(id)
|
||||
if user_to_delete :
|
||||
session.delete(user_to_delete)
|
||||
personne_to_delete = get_personne_by_id(id)
|
||||
if personne_to_delete :
|
||||
session.delete(personne_to_delete)
|
||||
session.commit()
|
||||
return True
|
||||
else:
|
||||
@@ -85,4 +85,13 @@ def update_attribute(id, attributes):
|
||||
return False
|
||||
except Exception as e:
|
||||
print(e)
|
||||
return False
|
||||
|
||||
def find_id():
|
||||
#TODO trouver comment trouver le max d'un id.
|
||||
try:
|
||||
result = session.query(Personne).orderBy(id).first()
|
||||
return result
|
||||
except Exception as e:
|
||||
print("erreur")
|
||||
return False
|
||||
Reference in New Issue
Block a user