Browse Source

Updated ibr1.py (talks with IBR db).

Charlie Root 7 years ago
parent
commit
1c811be5ac
6 changed files with 841 additions and 2 deletions
  1. 3 0
      FROM.txt
  2. 7 0
      README.txt
  3. 116 0
      ibr1.py
  4. 710 0
      models.py
  5. 3 0
      requirements.txt
  6. 2 2
      sql_todo.py

+ 3 - 0
FROM.txt

@@ -36,4 +36,7 @@ curl 127.0.0.1:11022/todos -d "name=fish" -d "task=Invoke fish" -X POST -v
 curl -H "Content-Type: application/json" 127.0.0.1:11022/todos -d '{"name":"fish2", "task":"Inflate fish"}' -X POST -v
 
 
+Creating models.py:
+
+flask-sqlacodegen --outfile models.py --flask mysql+oursql://root:###ROOTPASSWORD##@localhost:3306/ibr
 

+ 7 - 0
README.txt

@@ -0,0 +1,7 @@
+
+This uses Flask-restful.
+
+This has no tests.
+This has no optional configuration file options.
+
+

+ 116 - 0
ibr1.py

@@ -0,0 +1,116 @@
+#!/bin/env python
+
+from flask import Flask, request
+from flask_restful import Resource, Api
+from flask_sqlalchemy import SQLAlchemy
+
+app = Flask(__name__)
+app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+oursql://ibrweb:;gH8eE6vo@localhost/ibr'
+app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
+app.config['RESTFUL_JSON'] = { 'separators': ( ', ', ': '), 'indent': 2 }
+db = SQLAlchemy(app)
+
+class Candidate(db.Model):
+    __tablename__ = 'candidate'
+    __table_args__ = (
+        db.Index('iStatus', 'status', 'ID'),
+        db.Index('iCompanyStatusSubmittedOn', 'company', 'status', 'Submitted_On'),
+        db.Index('iCompany', 'company', 'ID')
+    )
+
+    ID = db.Column(db.Integer, primary_key=True)
+    company = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+    passfail = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    status = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    First = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+    Middle = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+    Last = db.Column(db.String(90), nullable=False, index=True, server_default=db.FetchedValue())
+    Aliases = db.Column(db.Text)
+    SSN = db.Column(db.String(9), nullable=False, index=True, server_default=db.FetchedValue())
+    SSNfound = db.Column(db.String(9), nullable=False, index=True, server_default=db.FetchedValue())
+    DOB = db.Column(db.Date, nullable=False, server_default=db.FetchedValue())
+    Phone = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+    Address = db.Column(db.String(255), nullable=False, server_default=db.FetchedValue())
+    City = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+    County = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+    State = db.Column(db.String(2), nullable=False, server_default=db.FetchedValue())
+    ZipCode = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+    PreviousAddresses = db.Column(db.Text)
+    Comments = db.Column(db.Text)
+    username = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+    Submitter = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+    Submitter_Phone = db.Column(db.String(35), nullable=False, server_default=db.FetchedValue())
+    Submitter_company = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+    cost = db.Column(db.Float, nullable=False, server_default=db.FetchedValue())
+    order_name = db.Column(db.String(25), nullable=False, index=True, server_default=db.FetchedValue())
+    completed = db.Column(db.DateTime, nullable=False, index=True, server_default=db.FetchedValue())
+    Submitted_On = db.Column(db.DateTime, nullable=False, index=True, server_default=db.FetchedValue())
+    Gender = db.Column(db.String(1), nullable=False, server_default=db.FetchedValue())
+    lastfilename = db.Column(db.String(90))
+    TIN = db.Column(db.String(9), nullable=False, server_default=db.FetchedValue())
+    business = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+    email = db.Column(db.String(75), nullable=False, server_default=db.FetchedValue())
+    minimal = db.Column(db.Integer, nullable=False, index=True, server_default=db.FetchedValue())
+    failmail = db.Column(db.Integer, nullable=False, index=True, server_default=db.FetchedValue())
+    sendreport = db.Column(db.Integer, nullable=False, index=True, server_default=db.FetchedValue())
+    clientpassthru = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+
+class Login(db.Model):
+    __tablename__ = 'login'
+
+    username = db.Column(db.String(25), primary_key=True, server_default=db.FetchedValue())
+    password = db.Column(db.String(35))
+    created = db.Column(db.DateTime)
+    lastpw = db.Column(db.DateTime)
+    lastlogin = db.Column(db.DateTime)
+    email = db.Column(db.String(200), nullable=False, server_default=db.FetchedValue())
+    company = db.Column(db.String(25), nullable=False, index=True, server_default=db.FetchedValue())
+    dev = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    manager = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    admin = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    blind = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    badpwcount = db.Column(db.Integer, server_default=db.FetchedValue())
+
+t_zipcitycode = db.Table(
+    'zipcitycode',
+    db.Column('zipcode', db.String(5), index=True),
+    db.Column('city', db.String(50)),
+    db.Column('state', db.String(2)),
+    db.Column('county', db.String(50)),
+    db.Column('percent', db.Integer),
+    db.Column('fips', db.String(5)),
+    db.Column('direction', db.String(50)),
+    db.Column('federal', db.String(70)),
+    db.Index('state', 'state', 'city')
+)
+
+
+class Zipcode(db.Model):
+    __tablename__ = 'zipcode'
+
+    zipcode = db.Column(db.String(5), primary_key=True, nullable=False, index=True, server_default=db.FetchedValue())
+    state = db.Column(db.String(2), nullable=False, index=True, server_default=db.FetchedValue())
+    county = db.Column(db.String(50), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    federal = db.Column(db.String(75), nullable=False, index=True, server_default=db.FetchedValue())
+    percent = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+
+api = Api(app)
+
+
+class IBRSimple(Resource):
+    def get(self, todo_id):
+        # Ok, lookup the id, and return the json
+        c = Candidate.query.filter_by(ID=todo_id).first()
+        data = {}
+        for col in c.__table__.c.keys():
+            # data[col] = getattr(c, col, None) # c[col]
+            data[col] = str( getattr(c, col, None) ) # c[col]
+        return data
+        # {'id': todo_id, 'stuff': True }
+
+api.add_resource(IBRSimple, '/<string:todo_id>')
+
+
+if __name__ == '__main__':
+    app.run(port=8080,debug=True)
+

+ 710 - 0
models.py

@@ -0,0 +1,710 @@
+# coding: utf-8
+from sqlalchemy import BigInteger, Column, Date, DateTime, Float, Index, Integer, LargeBinary, SmallInteger, String, Table, Text
+from sqlalchemy.schema import FetchedValue
+from sqlalchemy.dialects.mysql.types import MEDIUMBLOB
+from flask_sqlalchemy import SQLAlchemy
+
+
+db = SQLAlchemy()
+
+
+class Adverse(db.Model):
+    __tablename__ = 'adverse'
+
+    id = db.Column(db.Integer, primary_key=True)
+    req1 = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    reqon1 = db.Column(db.DateTime)
+    sent1 = db.Column(db.DateTime)
+    req2 = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    reqon2 = db.Column(db.DateTime)
+    sent2 = db.Column(db.DateTime)
+    received = db.Column(db.DateTime)
+
+
+class Attachment(db.Model):
+    __tablename__ = 'attachments'
+
+    id = db.Column(db.BigInteger, primary_key=True, nullable=False, server_default=db.FetchedValue())
+    seq = db.Column(db.Integer, primary_key=True, nullable=False, server_default=db.FetchedValue())
+    filename = db.Column(db.String(90), nullable=False, server_default=db.FetchedValue())
+    filetype = db.Column(db.String(45), nullable=False, server_default=db.FetchedValue())
+    at = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
+    _del = db.Column('del', db.Integer, nullable=False, server_default=db.FetchedValue())
+    priv = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+
+
+class Browsed(db.Model):
+    __tablename__ = 'browsed'
+
+    ID = db.Column(db.Integer, primary_key=True, server_default=db.FetchedValue())
+    viewed = db.Column(db.Date, nullable=False, server_default=db.FetchedValue())
+    username = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+
+
+class Candidate(db.Model):
+    __tablename__ = 'candidate'
+    __table_args__ = (
+        db.Index('iStatus', 'status', 'ID'),
+        db.Index('iCompanyStatusSubmittedOn', 'company', 'status', 'Submitted_On'),
+        db.Index('iCompany', 'company', 'ID')
+    )
+
+    ID = db.Column(db.Integer, primary_key=True)
+    company = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+    passfail = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    status = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    First = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+    Middle = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+    Last = db.Column(db.String(90), nullable=False, index=True, server_default=db.FetchedValue())
+    Aliases = db.Column(db.Text)
+    SSN = db.Column(db.String(9), nullable=False, index=True, server_default=db.FetchedValue())
+    SSNfound = db.Column(db.String(9), nullable=False, index=True, server_default=db.FetchedValue())
+    DOB = db.Column(db.Date, nullable=False, server_default=db.FetchedValue())
+    Phone = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+    Address = db.Column(db.String(255), nullable=False, server_default=db.FetchedValue())
+    City = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+    County = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+    State = db.Column(db.String(2), nullable=False, server_default=db.FetchedValue())
+    ZipCode = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+    PreviousAddresses = db.Column(db.Text)
+    Comments = db.Column(db.Text)
+    username = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+    Submitter = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+    Submitter_Phone = db.Column(db.String(35), nullable=False, server_default=db.FetchedValue())
+    Submitter_company = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+    cost = db.Column(db.Float, nullable=False, server_default=db.FetchedValue())
+    order_name = db.Column(db.String(25), nullable=False, index=True, server_default=db.FetchedValue())
+    completed = db.Column(db.DateTime, nullable=False, index=True, server_default=db.FetchedValue())
+    Submitted_On = db.Column(db.DateTime, nullable=False, index=True, server_default=db.FetchedValue())
+    Gender = db.Column(db.String(1), nullable=False, server_default=db.FetchedValue())
+    lastfilename = db.Column(db.String(90))
+    TIN = db.Column(db.String(9), nullable=False, server_default=db.FetchedValue())
+    business = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+    email = db.Column(db.String(75), nullable=False, server_default=db.FetchedValue())
+    minimal = db.Column(db.Integer, nullable=False, index=True, server_default=db.FetchedValue())
+    failmail = db.Column(db.Integer, nullable=False, index=True, server_default=db.FetchedValue())
+    sendreport = db.Column(db.Integer, nullable=False, index=True, server_default=db.FetchedValue())
+    clientpassthru = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+
+
+class Cbrowsed(db.Model):
+    __tablename__ = 'cbrowsed'
+
+    ID = db.Column(db.Integer, primary_key=True, server_default=db.FetchedValue())
+    viewed = db.Column(db.Date, nullable=False, server_default=db.FetchedValue())
+    username = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+    company = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+
+
+class Client(db.Model):
+    __tablename__ = 'clients'
+
+    company = db.Column(db.String(25), primary_key=True, server_default=db.FetchedValue())
+    name = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+    seeall = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    need_dllicense = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    need_employment = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    need_license = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    need_haveyou = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    need_passfail = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    need_flexform = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    need_releases = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    need_files = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    need_adverse = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    logo = db.Column(db.String(75), nullable=False, server_default=db.FetchedValue())
+    rptemail = db.Column(db.String(100), nullable=False, server_default=db.FetchedValue())
+    socialhistory = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    billingcompany = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+    selectedcode = db.Column(db.String(35))
+    need_failmail = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    need_sendreport = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    clientid = db.Column(db.String(35), nullable=False, server_default=db.FetchedValue())
+
+
+class CreditWork(db.Model):
+    __tablename__ = 'credit_work'
+
+    ID = db.Column(db.Integer, primary_key=True, server_default=db.FetchedValue())
+    status = db.Column(db.Integer, nullable=False, index=True, server_default=db.FetchedValue())
+    freezepin = db.Column(db.String(12))
+    employment = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    bureau = db.Column(db.String(3), nullable=False)
+
+
+class Cstatu(db.Model):
+    __tablename__ = 'cstatus'
+
+    status = db.Column(db.Integer, primary_key=True, server_default=db.FetchedValue())
+    detail = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+
+
+class Dedup(db.Model):
+    __tablename__ = 'dedup'
+
+    ID = db.Column(db.Integer, primary_key=True)
+    ibrid = db.Column(db.Integer, nullable=False)
+    notified = db.Column(db.Integer, nullable=False, index=True, server_default=db.FetchedValue())
+    clientid = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+
+
+class Defendant(db.Model):
+    __tablename__ = 'defendant'
+
+    ID = db.Column(db.BigInteger, primary_key=True, server_default=db.FetchedValue())
+
+
+class DriverLicense(db.Model):
+    __tablename__ = 'driver_license'
+
+    ID = db.Column(db.Integer, primary_key=True, server_default=db.FetchedValue())
+    state = db.Column(db.String(2), nullable=False, server_default=db.FetchedValue())
+    number = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+
+
+class Education(db.Model):
+    __tablename__ = 'education'
+
+    ID = db.Column(db.Integer, primary_key=True, nullable=False, index=True, server_default=db.FetchedValue())
+    Name = db.Column(db.String(50), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    City = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+    State = db.Column(db.String(2), nullable=False, server_default=db.FetchedValue())
+    Phone = db.Column(db.String(35), nullable=False, server_default=db.FetchedValue())
+    From_Date = db.Column(db.Date, nullable=False, server_default=db.FetchedValue())
+    To_Date = db.Column(db.Date, nullable=False, server_default=db.FetchedValue())
+    Diploma = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+
+
+t_employment = db.Table(
+    'employment',
+    db.Column('ID', db.Integer, nullable=False, index=True, server_default=db.FetchedValue()),
+    db.Column('Name', db.String(50), nullable=False, server_default=db.FetchedValue()),
+    db.Column('Address', db.String(50), nullable=False, server_default=db.FetchedValue()),
+    db.Column('City', db.String(50), nullable=False, server_default=db.FetchedValue()),
+    db.Column('State', db.String(2), nullable=False, server_default=db.FetchedValue()),
+    db.Column('Phone', db.String(35), nullable=False, server_default=db.FetchedValue()),
+    db.Column('From_Date', db.Date, nullable=False, server_default=db.FetchedValue()),
+    db.Column('To_Date', db.Date, nullable=False, server_default=db.FetchedValue()),
+    db.Column('Reason', db.String(255), nullable=False, server_default=db.FetchedValue()),
+    db.Column('Contact', db.Integer, nullable=False, server_default=db.FetchedValue()),
+    db.Column('Release', db.Integer, nullable=False, server_default=db.FetchedValue())
+)
+
+
+class FacisWork(db.Model):
+    __tablename__ = 'facis_work'
+
+    id = db.Column(db.Integer, primary_key=True, server_default=db.FetchedValue())
+    status = db.Column(db.Integer, nullable=False, index=True, server_default=db.FetchedValue())
+    level = db.Column(db.String(4))
+
+
+class Family(db.Model):
+    __tablename__ = 'family'
+
+    parent = db.Column(db.String(25), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    child = db.Column(db.String(25), primary_key=True, nullable=False, server_default=db.FetchedValue())
+
+
+class FcraRelease(db.Model):
+    __tablename__ = 'fcra_release'
+
+    id = db.Column(db.BigInteger, primary_key=True, server_default=db.FetchedValue())
+    release = db.Column(db.MEDIUMBLOB)
+
+
+class Federal(db.Model):
+    __tablename__ = 'federal'
+
+    ID = db.Column(db.BigInteger, primary_key=True, nullable=False, server_default=db.FetchedValue())
+    district = db.Column(db.String(75), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    status = db.Column(db.Integer, nullable=False, index=True, server_default=db.FetchedValue())
+    multipage = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    hits = db.Column(db.Text)
+
+
+class File(db.Model):
+    __tablename__ = 'files'
+    __table_args__ = (
+        db.Index('iCompany', 'company', 'fileid'),
+    )
+
+    fileid = db.Column(db.Integer, primary_key=True)
+    at = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
+    company = db.Column(db.String(25), nullable=False)
+    filename = db.Column(db.String(90), nullable=False)
+    filetype = db.Column(db.String(45), nullable=False)
+
+
+class GraphicIcon(db.Model):
+    __tablename__ = 'graphic_icons'
+
+    name = db.Column(db.String(32), primary_key=True, server_default=db.FetchedValue())
+    mimetype = db.Column(db.String(16))
+    size = db.Column(db.String(32))
+    image = db.Column(db.LargeBinary)
+
+
+class GsaWork(db.Model):
+    __tablename__ = 'gsa_work'
+
+    ID = db.Column(db.BigInteger, primary_key=True, server_default=db.FetchedValue())
+    status = db.Column(db.Integer, nullable=False, index=True, server_default=db.FetchedValue())
+    msg = db.Column(db.Text)
+    xml = db.Column(db.LargeBinary)
+
+
+class Haveyou(db.Model):
+    __tablename__ = 'haveyou'
+
+    ID = db.Column(db.Integer, primary_key=True, nullable=False, server_default=db.FetchedValue())
+    company = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+    number = db.Column(db.Integer, primary_key=True, nullable=False, server_default=db.FetchedValue())
+    answer = db.Column(db.Text)
+
+
+class Historical(db.Model):
+    __tablename__ = 'historical'
+
+    SSN = db.Column(db.String(9), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    lastworked = db.Column(db.Date, primary_key=True, nullable=False, server_default=db.FetchedValue())
+    company = db.Column(db.String(35), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    Last = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+    Middle = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+    First = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+
+
+class InvoicePrice(db.Model):
+    __tablename__ = 'invoice_prices'
+
+    company = db.Column(db.String(25), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    name = db.Column(db.String(25), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    price = db.Column(db.BigInteger)
+
+
+class Ipblock(db.Model):
+    __tablename__ = 'ipblock'
+
+    company = db.Column(db.String(25), primary_key=True, nullable=False)
+    ip = db.Column(db.String(15), primary_key=True, nullable=False)
+
+
+class Leie(db.Model):
+    __tablename__ = 'leie'
+
+    first = db.Column(db.String(15), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    middle = db.Column(db.String(15), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    last = db.Column(db.String(35), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    dob = db.Column(db.String(8), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    excltype = db.Column(db.String(9))
+
+
+class License(db.Model):
+    __tablename__ = 'licenses'
+
+    ID = db.Column(db.Integer, primary_key=True, server_default=db.FetchedValue())
+    res_state = db.Column(db.String(2), nullable=False, server_default=db.FetchedValue())
+    res_lic = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+    nonres_state = db.Column(db.String(2), nullable=False, server_default=db.FetchedValue())
+    nonres_lic = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+
+
+class Linkfail(db.Model):
+    __tablename__ = 'linkfail'
+
+    value = db.Column(db.String(35), primary_key=True, server_default=db.FetchedValue())
+    fails = db.Column(db.Integer)
+    ip = db.Column(db.Text)
+    happened = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
+
+
+t_log = db.Table(
+    'log',
+    db.Column('at', db.DateTime, nullable=False, index=True, server_default=db.FetchedValue()),
+    db.Column('area', db.String(32), index=True),
+    db.Column('remote', db.String(15), nullable=False),
+    db.Column('security', db.Integer, nullable=False, server_default=db.FetchedValue()),
+    db.Column('audit', db.Integer, nullable=False, server_default=db.FetchedValue()),
+    db.Column('username', db.String(25), nullable=False, server_default=db.FetchedValue()),
+    db.Column('details', db.Text),
+    db.Column('sessionid', db.String(30))
+)
+
+
+class Login(db.Model):
+    __tablename__ = 'login'
+
+    username = db.Column(db.String(25), primary_key=True, server_default=db.FetchedValue())
+    password = db.Column(db.String(35))
+    created = db.Column(db.DateTime)
+    lastpw = db.Column(db.DateTime)
+    lastlogin = db.Column(db.DateTime)
+    email = db.Column(db.String(200), nullable=False, server_default=db.FetchedValue())
+    company = db.Column(db.String(25), nullable=False, index=True, server_default=db.FetchedValue())
+    dev = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    manager = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    admin = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    blind = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    badpwcount = db.Column(db.Integer, server_default=db.FetchedValue())
+
+
+class MinEmail(db.Model):
+    __tablename__ = 'min_email'
+
+    id = db.Column(db.BigInteger, primary_key=True, nullable=False, server_default=db.FetchedValue())
+    email = db.Column(db.Integer, primary_key=True, nullable=False, server_default=db.FetchedValue())
+    at = db.Column(db.DateTime)
+
+
+t_ofac = db.Table(
+    'ofac',
+    db.Column('ID', db.Integer),
+    db.Column('source', db.String(15)),
+    db.Column('text', db.Text, index=True)
+)
+
+
+class OfacInfo(db.Model):
+    __tablename__ = 'ofac_info'
+
+    source = db.Column(db.String(25), primary_key=True, server_default=db.FetchedValue())
+    lastupdate = db.Column(db.String(32))
+
+
+t_ofac_search = db.Table(
+    'ofac_search',
+    db.Column('username', db.String(25)),
+    db.Column('at', db.DateTime, nullable=False, server_default=db.FetchedValue()),
+    db.Column('type', db.String(10)),
+    db.Column('name', db.String(50)),
+    db.Column('hits', db.Integer)
+)
+
+
+class OigTx(db.Model):
+    __tablename__ = 'oig_tx'
+
+    first = db.Column(db.String(25), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    middle = db.Column(db.String(25), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    last = db.Column(db.String(50), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    licnumber = db.Column(db.String(25))
+
+
+class OigWork(db.Model):
+    __tablename__ = 'oig_work'
+
+    ID = db.Column(db.BigInteger, primary_key=True, server_default=db.FetchedValue())
+    status = db.Column(db.Integer, nullable=False, index=True, server_default=db.FetchedValue())
+    msg = db.Column(db.Text)
+
+
+class Order(db.Model):
+    __tablename__ = 'orders'
+
+    company = db.Column(db.String(25), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    name = db.Column(db.String(25), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    longname = db.Column(db.String(100), nullable=False, server_default=db.FetchedValue())
+    icon = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+    cost = db.Column(db.Float, nullable=False, server_default=db.FetchedValue())
+    flags = db.Column(db.String(100), nullable=False, server_default=db.FetchedValue())
+    escreen_reasonduration = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+    escreen_serviceid = db.Column(db.String(20), nullable=False, server_default=db.FetchedValue())
+
+
+class PdbAllConfig(db.Model):
+    __tablename__ = 'pdb_all_config'
+
+    name = db.Column(db.String(25), primary_key=True, server_default=db.FetchedValue())
+    value = db.Column(db.String(100), nullable=False, server_default=db.FetchedValue())
+
+
+class PdbAllWork(db.Model):
+    __tablename__ = 'pdb_all_work'
+
+    ID = db.Column(db.BigInteger, primary_key=True, server_default=db.FetchedValue())
+    Last = db.Column(db.String(35), nullable=False, server_default=db.FetchedValue())
+    First = db.Column(db.String(35), nullable=False, server_default=db.FetchedValue())
+    SSN = db.Column(db.String(9), nullable=False, server_default=db.FetchedValue())
+    npn = db.Column(db.String(20))
+    status = db.Column(db.SmallInteger, nullable=False, index=True, server_default=db.FetchedValue())
+    checkdone = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
+    details = db.Column(db.Text)
+    licinfo = db.Column(db.Text)
+    results = db.Column(db.MEDIUMBLOB)
+
+
+class PdbDlxConfig(db.Model):
+    __tablename__ = 'pdb_dlx_config'
+
+    name = db.Column(db.String(25), primary_key=True, server_default=db.FetchedValue())
+    value = db.Column(db.String(100), nullable=False, server_default=db.FetchedValue())
+
+
+class PdbDlxFeinConfig(db.Model):
+    __tablename__ = 'pdb_dlx_fein_config'
+
+    name = db.Column(db.String(25), primary_key=True, server_default=db.FetchedValue())
+    value = db.Column(db.String(100))
+
+
+class PdbDlxFeinWork(db.Model):
+    __tablename__ = 'pdb_dlx_fein_work'
+
+    ID = db.Column(db.BigInteger, primary_key=True, server_default=db.FetchedValue())
+    name = db.Column(db.String(90))
+    TIN = db.Column(db.String(9))
+    npn = db.Column(db.String(20))
+    status = db.Column(db.SmallInteger, index=True, server_default=db.FetchedValue())
+    checkdone = db.Column(db.DateTime)
+    details = db.Column(db.Text)
+    licinfo = db.Column(db.Text)
+    results = db.Column(db.MEDIUMBLOB)
+
+
+class PdbDlxWork(db.Model):
+    __tablename__ = 'pdb_dlx_work'
+
+    ID = db.Column(db.BigInteger, primary_key=True, server_default=db.FetchedValue())
+    Last = db.Column(db.String(35), nullable=False, server_default=db.FetchedValue())
+    First = db.Column(db.String(35), nullable=False, server_default=db.FetchedValue())
+    SSN = db.Column(db.String(9), nullable=False, server_default=db.FetchedValue())
+    status = db.Column(db.SmallInteger, nullable=False, index=True, server_default=db.FetchedValue())
+    checkdone = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
+    details = db.Column(db.Text)
+    licinfo = db.Column(db.Text)
+    results = db.Column(db.MEDIUMBLOB)
+
+
+class PdbPlainConfig(db.Model):
+    __tablename__ = 'pdb_plain_config'
+
+    name = db.Column(db.String(25), primary_key=True, server_default=db.FetchedValue())
+    value = db.Column(db.String(100), nullable=False, server_default=db.FetchedValue())
+
+
+class PdbPlainWork(db.Model):
+    __tablename__ = 'pdb_plain_work'
+
+    ID = db.Column(db.BigInteger, primary_key=True, server_default=db.FetchedValue())
+    Last = db.Column(db.String(35), nullable=False, server_default=db.FetchedValue())
+    First = db.Column(db.String(35), nullable=False, server_default=db.FetchedValue())
+    SSN = db.Column(db.String(9), nullable=False, server_default=db.FetchedValue())
+    npn = db.Column(db.String(20))
+    status = db.Column(db.SmallInteger, nullable=False, index=True, server_default=db.FetchedValue())
+    checkdone = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
+    results = db.Column(db.MEDIUMBLOB)
+
+
+class PdbStatu(db.Model):
+    __tablename__ = 'pdb_status'
+
+    status = db.Column(db.SmallInteger, primary_key=True, server_default=db.FetchedValue())
+    text = db.Column(db.String(35), nullable=False, server_default=db.FetchedValue())
+
+
+class Pdf(db.Model):
+    __tablename__ = 'pdf'
+
+    ID = db.Column(db.Integer, primary_key=True)
+    name = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+    records = db.Column(db.Text)
+    at = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
+
+
+class PdfWork(db.Model):
+    __tablename__ = 'pdf_work'
+
+    ID = db.Column(db.Integer, primary_key=True, server_default=db.FetchedValue())
+    workid = db.Column(db.String(20))
+    timeout = db.Column(db.DateTime, nullable=False, index=True, server_default=db.FetchedValue())
+
+
+class Pfstatu(db.Model):
+    __tablename__ = 'pfstatus'
+
+    ID = db.Column(db.Integer, primary_key=True, server_default=db.FetchedValue())
+    desc = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+
+
+class Prevaddr(db.Model):
+    __tablename__ = 'prevaddr'
+
+    id = db.Column(db.Integer, primary_key=True, nullable=False, server_default=db.FetchedValue())
+    pos = db.Column(db.Integer, primary_key=True, nullable=False, server_default=db.FetchedValue())
+    city = db.Column(db.String(50))
+    state = db.Column(db.String(2))
+    zipcode = db.Column(db.String(25))
+
+
+class Publickey(db.Model):
+    __tablename__ = 'publickey'
+
+    lastseen = db.Column(db.DateTime, nullable=False, index=True, server_default=db.FetchedValue())
+    ip = db.Column(db.String(16), primary_key=True, server_default=db.FetchedValue())
+
+
+class Question(db.Model):
+    __tablename__ = 'questions'
+
+    company = db.Column(db.String(25), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    number = db.Column(db.Integer, primary_key=True, nullable=False, server_default=db.FetchedValue())
+    question = db.Column(db.String(255), nullable=False, server_default=db.FetchedValue())
+
+
+class RejEmail(db.Model):
+    __tablename__ = 'rej_email'
+
+    id = db.Column(db.BigInteger, primary_key=True, server_default=db.FetchedValue())
+    at = db.Column(db.DateTime)
+
+
+class Release(db.Model):
+    __tablename__ = 'releases'
+    __table_args__ = (
+        db.Index('iReceivedNotified', 'received', 'notified'),
+    )
+
+    ID = db.Column(db.BigInteger, primary_key=True, nullable=False, server_default=db.FetchedValue())
+    requested = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
+    received = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
+    notified = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
+    reason = db.Column(db.String(35), primary_key=True, nullable=False, server_default=db.FetchedValue())
+
+
+class Report(db.Model):
+    __tablename__ = 'reports'
+    __table_args__ = (
+        db.Index('iPdfAt', 'pdf', 'at'),
+    )
+
+    ID = db.Column(db.Integer, primary_key=True, server_default=db.FetchedValue())
+    notified = db.Column(db.Integer, nullable=False, index=True, server_default=db.FetchedValue())
+    at = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
+    pdf = db.Column(db.Integer, index=True, server_default=db.FetchedValue())
+    filename = db.Column(db.String(90))
+    filetype = db.Column(db.String(45), nullable=False, server_default=db.FetchedValue())
+    filesize = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    sentby = db.Column(db.String(45), nullable=False, server_default=db.FetchedValue())
+    pdfname = db.Column(db.String(90), server_default=db.FetchedValue())
+    pdfsize = db.Column(db.Integer, server_default=db.FetchedValue())
+    pdfmd5 = db.Column(db.String(32), server_default=db.FetchedValue())
+    workid = db.Column(db.String(20), server_default=db.FetchedValue())
+
+
+class Sam(db.Model):
+    __tablename__ = 'sam'
+    __table_args__ = (
+        db.Index('iName', 'last', 'first', 'middle'),
+    )
+
+    first = db.Column(db.String(50))
+    middle = db.Column(db.String(35))
+    last = db.Column(db.String(35))
+    xagency = db.Column(db.String(15))
+    sam = db.Column(db.String(10), primary_key=True, server_default=db.FetchedValue())
+
+
+t_social_history = db.Table(
+    'social_history',
+    db.Column('ID', db.Integer, nullable=False, index=True, server_default=db.FetchedValue()),
+    db.Column('years', db.Float, nullable=False, server_default=db.FetchedValue()),
+    db.Column('ZIP', db.String(9), nullable=False, server_default=db.FetchedValue()),
+    db.Column('state', db.String(2), nullable=False, server_default=db.FetchedValue()),
+    db.Column('city', db.String(50), nullable=False, server_default=db.FetchedValue())
+)
+
+
+class SocialWork(db.Model):
+    __tablename__ = 'social_work'
+
+    ID = db.Column(db.Integer, primary_key=True, server_default=db.FetchedValue())
+    SSN = db.Column(db.String(11), nullable=False, index=True, server_default=db.FetchedValue())
+    Last = db.Column(db.String(50), nullable=False, server_default=db.FetchedValue())
+    guess = db.Column(db.String(100), nullable=False, server_default=db.FetchedValue())
+    status = db.Column(db.Integer, nullable=False, index=True, server_default=db.FetchedValue())
+    bureau = db.Column(db.String(3), nullable=False)
+
+
+class State(db.Model):
+    __tablename__ = 'states'
+
+    st = db.Column(db.String(2), primary_key=True, server_default=db.FetchedValue())
+    name = db.Column(db.String(22), unique=True)
+    court = db.Column(db.String(25), nullable=False, server_default=db.FetchedValue())
+
+
+class Supplement(db.Model):
+    __tablename__ = 'supplement'
+
+    ID = db.Column(db.BigInteger, primary_key=True, server_default=db.FetchedValue())
+
+
+class Tag(db.Model):
+    __tablename__ = 'tag'
+
+    ID = db.Column(db.Integer, primary_key=True, nullable=False)
+    tag = db.Column(db.String(25), primary_key=True, nullable=False, server_default=db.FetchedValue())
+
+
+class VectorOneConfig(db.Model):
+    __tablename__ = 'vector_one_config'
+
+    name = db.Column(db.String(25), primary_key=True, server_default=db.FetchedValue())
+    value = db.Column(db.String(100), nullable=False, server_default=db.FetchedValue())
+
+
+class VectorOneWork(db.Model):
+    __tablename__ = 'vector_one_work'
+
+    ID = db.Column(db.BigInteger, primary_key=True, server_default=db.FetchedValue())
+    status = db.Column(db.Integer, nullable=False, index=True, server_default=db.FetchedValue())
+    results = db.Column(db.String(255))
+
+
+class WellcareFcra(db.Model):
+    __tablename__ = 'wellcare_fcra'
+
+    producer_id = db.Column(db.Integer, primary_key=True)
+    ibr_id = db.Column(db.Integer, nullable=False, unique=True)
+    release = db.Column(db.LargeBinary)
+
+
+class Wetfcra(db.Model):
+    __tablename__ = 'wetfcra'
+
+    id = db.Column(db.BigInteger, primary_key=True)
+    email = db.Column(db.Integer, nullable=False, index=True, server_default=db.FetchedValue())
+    authfail = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    release_ga = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    view_ga = db.Column(db.String(25))
+    sig_ga = db.Column(db.MEDIUMBLOB)
+    done_ga = db.Column(db.DateTime)
+    release_nonga = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    view_nonga = db.Column(db.String(25))
+    sig_nonga = db.Column(db.MEDIUMBLOB)
+    done_nonga = db.Column(db.DateTime)
+    emailcopy = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
+    emailto = db.Column(db.String(50))
+
+
+t_zipcitycode = db.Table(
+    'zipcitycode',
+    db.Column('zipcode', db.String(5), index=True),
+    db.Column('city', db.String(50)),
+    db.Column('state', db.String(2)),
+    db.Column('county', db.String(50)),
+    db.Column('percent', db.Integer),
+    db.Column('fips', db.String(5)),
+    db.Column('direction', db.String(50)),
+    db.Column('federal', db.String(70)),
+    db.Index('state', 'state', 'city')
+)
+
+
+class Zipcode(db.Model):
+    __tablename__ = 'zipcode'
+
+    zipcode = db.Column(db.String(5), primary_key=True, nullable=False, index=True, server_default=db.FetchedValue())
+    state = db.Column(db.String(2), nullable=False, index=True, server_default=db.FetchedValue())
+    county = db.Column(db.String(50), primary_key=True, nullable=False, server_default=db.FetchedValue())
+    federal = db.Column(db.String(75), nullable=False, index=True, server_default=db.FetchedValue())
+    percent = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())

+ 3 - 0
requirements.txt

@@ -3,11 +3,14 @@ click==6.7
 Flask==0.12.2
 Flask-HTTPAuth==3.2.3
 Flask-RESTful==0.3.6
+flask-sqlacodegen==1.1.6.1
 Flask-SQLAlchemy==2.3.2
 gunicorn==19.7.1
+inflect==0.2.5
 itsdangerous==0.24
 Jinja2==2.10
 MarkupSafe==1.0
+oursql==0.9.4
 python-dateutil==2.6.1
 pytz==2017.3
 setproctitle==1.1.10

+ 2 - 2
sql_todo.py

@@ -1,6 +1,6 @@
 #!/bin/env python
 
-from flask import Flask
+from flask import Flask, request
 from flask_restful import reqparse, abort, Api, Resource
 from flask_httpauth import HTTPBasicAuth
 from flask_sqlalchemy import SQLAlchemy
@@ -105,7 +105,7 @@ class TodoList(Resource):
 class Hello(Resource):
     @auth.login_required
     def get(self):
-        return { 'Working': True }
+        return { 'Working': True, 'headers': dict(request.headers) }
 
 ##
 ## Actually setup the Api resource routing here