#!/usr/bin/python3 from flask import Flask from flask_restful import Resource, Api from bson import json_util import json #import pymysql app = Flask(__name__) api = Api(app) #class Database: # def __init__(self): # host = "127.0.0.1" # user = "bus" # password = "" # db = "busdb" # # #self.con = pymysql.connect(host=host, user=user, db=db, cursorclass=pymysql.cursors.DictCursor) # #self.cur = self.con.cursor() # # def ok(self): # #self.cur.execute("select rulename from rule_class where id = %s", 1) # #res = self.cur.fetchall() # #return res # return {} # # # ##from app import routes # #class Card(Resource): # def get(self, cardid = None): # # db = Database() # db.cur.execute("select logical_card_id, " \ # "mag_token, rfid_token, comment, " \ # "userid, issuetype, "\ # "issued, lastused, firstused, " \ # "active, deactivated, group_id " \ # "from user_card " \ # "where logical_card_id = %s", cardid) # res = db.cur.fetchall() # print(res) # if len(res)>0: # s = json.dumps(res[0], default=json_util.default) # return json.loads(s) # return {"msg":"no card found", "param":cardid} # # def delete(self): # return {"msg":"delete card not implemented"} # def put(self): # return {"msg":"put/update card not implemented"} # def post(self): # return {"msg":"post/insert card not implemented"} # #class Pass(Resource): # def get(self, passid = None): # # db = Database() # db.cur.execute("select " \ # "user_pass_id, logical_card_id, " \ # "issued, activated, deactivated, " \ # "firstused, lastused, " \ # "nrides_orig, nrides_remain, " \ # "nday_orig, nday_expiration, " \ # " active, expired, " \ # "rule, queue_order, " \ # "comment, paytype " \ # "from user_pass where user_pass_id = %s", # passid) # res = db.cur.fetchall() # print(res) # if len(res)>0: # s = json.dumps(res[0], default=json_util.default) # return json.loads(s) # return {"msg":"pass not found", "param":passid} # # def delete(self): # return {"msg":"delete pass not implemented"} # def put(self): # return {"msg":"put/update pass not implemented"} # def post(self): # return {"msg":"post/insert pass not implemented"} # #class User(Resource): # def get(self, userid = None): # # db = Database() # db.cur.execute("select " \ # "username, userid, comment, " \ # "first_name, last_name, phone, email, " \ # "address, city, state, zip, created, active, " \ # "passwordhash, " \ # "shipping_address, shipping_city, shipping_state, shipping_zip, " \ # "shipping_country_code, shipping_country_name, " \ # "reset_attempts " \ # "from users where userid = %s", # userid) # res = db.cur.fetchall() # print(res) # if len(res)>0: # s = json.dumps(res[0], default=json_util.default) # return json.loads(s) # return {"msg":"user not found", "param":passid} # # # def delete(self): # return {"msg":"delete user not implemented"} # def put(self): # return {"msg":"put/update user not implemented"} # def post(self): # return {"msg":"post/insert user not implemented"} # #class Group(Resource): # def get(self): # return {"msg":"get group not implemented"} # def delete(self): # return {"msg":"delete group not implemented"} # def put(self): # return {"msg":"put/update group not implemented"} # def post(self): # return {"msg":"post/insert group not implemented"} # #class PassOption(Resource): # def get(self): # return {"msg":"get passoption not implemented"} # def delete(self): # return {"msg":"delete passoption not implemented"} # def put(self): # return {"msg":"put/update passoption not implemented"} # def post(self): # return {"msg":"post/insert passoption not implemented"} # #class Rule(Resource): # def get(self): # return {"msg":"get rule not implemented"} # def delete(self): # return {"msg":"delete rule not implemented"} # def put(self): # return {"msg":"put/update rule not implemented"} # def post(self): # return {"msg":"post/insert rule not implemented"} # # ### Admin related ### # #class AdminUser(Resource): # def get(self): # return {"msg":"get adminuser not implemented"} # def delete(self): # return {"msg":"delete adminuser not implemented"} # def put(self): # return {"msg":"put/update adminuser not implemented"} # def post(self): # return {"msg":"post/insert adminuser not implemented"} # #class AdminGroup(Resource): # def get(self): # return {"msg":"get admingroup not implemented"} # def delete(self): # return {"msg":"delete admingroup not implemented"} # def put(self): # return {"msg":"put/update admingroup not implemented"} # def post(self): # return {"msg":"post/insert admingroup not implemented"} # #class Driver(Resource): # def get(self): # return {"msg":"get driver not implemented"} # def delete(self): # return {"msg":"delete driver not implemented"} # def put(self): # return {"msg":"put/update driver not implemented"} # def post(self): # return {"msg":"post/insert driver not implemented"} # #class Paddle(Resource): # def get(self): # return {"msg":"get paddle not implemented"} # def delete(self): # return {"msg":"delete paddle not implemented"} # def put(self): # return {"msg":"put/update paddle not implemented"} # def post(self): # return {"msg":"post/insert paddle not implemented"} # #class Bus(Resource): # def get(self): # return {"msg":"get bus not implemented"} # def delete(self): # return {"msg":"delete bus not implemented"} # def put(self): # return {"msg":"put/update bus not implemented"} # def post(self): # return {"msg":"post/insert bus not implemented"} # # from app import routes # #api.add_resource(Card, "/api/v1/card/", "/api/v1/card/") #api.add_resource(Pass, "/api/v1/pass/", "/api/v1/pass/") #api.add_resource(User, "/api/v1/user/", "/api/v1/user/") #api.add_resource(Group, "/api/v1/group/", "/api/v1/group/") #api.add_resource(PassOption, "/api/v1/passoption/", "/api/v1/passoption/") #api.add_resource(Rule, "/api/v1/rule/", "/api/v1/rule/") # if __name__ == '__main__': app.run(debug=True)