Working on API

master
alex 2023-07-29 22:02:15 +02:00
parent 8e91115915
commit cc54848dce
2 changed files with 64 additions and 12 deletions

View File

@ -0,0 +1,20 @@
from flask_sqlalchemy import SQLAlchemy
import sqlalchemy as sa
db = SQLAlchemy()
class User(db.Model):
id = sa.Column(sa.Integer, primary_key=True)
name = sa.Column(sa.String)
email = sa.Column(sa.String)
personal_number = sa.Column(sa.String, unique=True)
rfid_number = sa.Column(sa.String, unique=True)
active = sa.Column(sa.Boolean)
class TimeStamp(db.Model):
id = sa.Column(sa.Integer, primary_key=True)
id_user = sa.Column(sa.ForeignKey(User.id))
create_time = sa.Column(sa.TIMESTAMP)
timestamp = sa.Column(sa.TIMESTAMP)

View File

@ -1,36 +1,68 @@
import os
from flask import Flask
from flask_restx import Api, Resource
from flask import Flask, request, jsonify
from flask_restful import Resource, Api
from models import db, User, TimeStamp
app = Flask(__name__)
api = Api(app)
app.config['SECRET_KEY'] = 'dksldkkwkdkllk' # todo: os.environ['TIMESTAMP_SECRET_KEY']
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///project.db"
ns = api.namespace("api/v1.0", description="my time to rent")
db.init_app(app)
@ns.route('/user/<int:id>')
class Hello(Resource):
class ResUser(Resource):
def get(self, id):
return {'hello': "Hello"}
print(id)
if int(id) == 1:
return {'hello': "Hello"}, 200
else:
return {'value': "Not Found"}, 203
def post(self, id):
pass
def update(self, id):
pass
def delete(self, id):
pass
user = User.get(id)
user.active = False
def create(self, id):
class ResManageUsers(Resource):
def get(self):
users = db.session.execute(db.select(User).order_by(User.name)).scalar()
return (users.name)
def post(self):
name = request.form['name']
email = request.form['name']
personal_number = request.form['personal_number']
rfid_number = request.form['rfid_number']
active = request.form['active']
user = User(name=name, email=email, personal_number=personal_number, rfid_number=rfid_number, active=int(active))
db.session.add(user)
db.session.commit()
return {"success": "saved"}, 200
class ResManageUser(Resource):
def get(self, id):
user = db.session.execute(db.select(User).where(User.id == id)).scalar()
return user.name
def post(self, id):
pass
api.add_resource(ResManageUsers, "/manage/users")
api.add_resource(ResManageUser, "/manage/user/<int:id>")
api.add_resource(ResUser, "/user/<int:id>")
with app.app_context():
db.create_all()
if __name__ == '__main__':
app.run(debug=True)