Untitled

 avatar
unknown
plain_text
3 years ago
5.9 kB
2
Indexable
from flask import Flask
from flask import request
from flask import jsonify
from flask_cors import CORS
import SQL
import json

app = Flask(__name__)
CORS(app)
@app.route("/")
def hello_world():
    return "<p>Hello, World!</p>"

@app.route("/user", methods=["get"])
def login():
    username = request.args.get('username',"1")
    password = request.args.get('password',"1")
    data = SQL.Server.LOGIN(username,password)
    #data = SQL.Server.LOGIN('atallah','osama')

    if len(data) == 0:
        return jsonify(valid="false")
    else:
        return jsonify(
            valid="true",
            id=data[0][0],
            first=data[0][1],
            last=data[0][2],
            country=data[0][3],
            city=data[0][4],
            email=data[0][5],
            phone=data[0][8],
            image=data[0][9]
        )

@app.route("/category",methods=['get'])
def getCategory():
    _type = request.args.get('type','1')
    data = []
    for d in SQL.Server.getCategory(_type):
        data.append({
            'id':d[0],
            'price': d[1],
            'discount': d[2],
            'name': d[3],
            'image': d[4]})

    return jsonify(data)

@app.route("/category/product",methods=['get'])
def getProduct():
    _id = request.args.get('productid','1')
    data = SQL.Server.getProduct(_id)
    return jsonify(
        idcatagory=data[0][1],
        price=data[0][3],
        discount=data[0][4],
        name=data[0][5],
        image=data[0][6]
    )

@app.route("/search",methods=['get'])
def getSearch():
    _query = request.args.get('search','1')
    data = []
    for d in SQL.Server.getSearch(_query):
        data.append({
            'id': d[0],
            'price': d[1],
            'discount': d[2],
            'name': d[3],
            'image': d[4]})

    return jsonify(data)

@app.route('/random',methods=['get'])
def getRandom():
    data = []
    for d in SQL.Server.getRandom():
        data.append({
            'id': d[0],
            'price': d[1],
            'discount': d[2],
            'name': d[3],
            'image': d[4]})

    return jsonify(data)


@app.route('/getorders',methods=['get'])
def getOrders():
    idbrand = request.args.get('idbrand','1')
    data = []

    for d in SQL.Server.getOrders(idbrand):
        data.append(
            {
                'pid' : d[0][2],
                'pname' : d[2][0][0],
                'price' : d[0][5],
                'customer' : f'{d[1][0][0]} {d[1][0][1]}' ,
                'country' : 'Palestine',
                'quantity' : '1'
            }
        )

    return jsonify(data)

@app.route('/getproducts',methods=['get'])
def getProducts():
    idbrand = request.args.get('idbrand','1')
    _data = SQL.Server.getProductsForBrand(idbrand)
    data = []
    print(len(_data))
    for d in _data:
        data.append(
            {
                'pid' : d[0][0],
                'pname' : d[0][5],
                'price' : d[0][3],
                'category': d[1][0][0],
                'discount' : d[0][4],
                'image' : d[0][6]
            }
        )

    return jsonify(data)


@app.route('/orders/postorder',methods=['post'])
def postOrder():
    id = request.args.get('id',1)
    productID = request.args.get('productID',1)
    SQL.Server.postOrder(id,productID)

    return {'done' : 'true'}

@app.route('/orders/userorders',methods=['get'])
def getUserOrders():
    id = request.args.get('id',1)
    data = []

    for d in SQL.Server.getUserOrders(id):
        d2 = SQL.Server.getProduct(d[2])
        d3 = SQL.Server.getBrandByID(d[3])
        data.append(
            {
                'orderid' : d[0],
                'productid' : d[2],
                'brandid' : d[3],
                'date' : d[4],
                'price' : d[5],
                'status' : d[6],
                'country' : d[7],
                'name' : d2[0][5],
                'image' : d2[0][6],
                'brand' : d3
            }
        )

    print(data)
    return jsonify(data)
@app.route('/signup',methods=['get','post'])
def signup():
    username = request.args.get('username',1)
    password = request.args.get('password',1)
    email = request.args.get('email',1)
    country = request.args.get('country',1)
    phone = request.args.get('phone',1)
    first = request.args.get('first',1)
    last = request.args.get('last',1)

    data = SQL.Server.signup(username,password,first,last,phone,country,email)

    return jsonify(
        status='done'
    )


@app.route('/brandLogin',methods=['get'])
def brandLogin():
    _u = request.args.get('username',1)
    _p = request.args.get('password',1)

    data = SQL.Server.brandLogin(_u,_p)

    if data is False:
        print('ee3')
        return jsonify( valid='false')
    else:
        print('ee4')
        return jsonify(
            valid = 'true',
            id = data[0],
            name = data[1]
        )

@app.route('/addproduct',methods=['get','post'])
def addProduct():
    name = request.args.get('name',1)
    price = request.args.get('price',1)
    category = request.args.get('category',1)
    discount = request.args.get('discount',1)
    image = request.args.get('image',1)
    brandid = request.args.get('brandid',1)

    data = SQL.Server.addProduct(name,price,category,discount,image,brandid)

    return jsonify(
        valid=data
    )


@app.route('/deleteproduct',methods=['post'])
def delProduct():
    id = request.args.get('id',1)
    data = SQL.Server.deleteProduct(id)

    return jsonify(
        valid=data
    )




if __name__ == '__main__':


    app.run(host="0.0.0.0")

# See PyCharm help at https://www.jetbrains.com/help/pycharm/

Editor is loading...