Пример #1
0
class nOrg(MainModel):
    db_collection = dbController.connect()["nOrg"]

    @property
    def findAll(self):
        data = list(map(nOrg, self.db_collection.find(self)))
        return data
Пример #2
0
class User(MainModel):
    db_collection = dbController.connect()["user"]

    @property
    def find(self):
        return self.db_collection.find_one({"email": self.email})

    @property
    def update(self):
        return self.db_collection.update_one({"email": self.email},
                                             {"$set": {
                                                 "userType": "A"
                                             }})
Пример #3
0
def org_lookup():
    """
    Check if any organizations whose data needs to be updated
    Check for timestamps > 6 months from today's date
    :return:
    """
    threshold = 180
    database = dbController.connect()["org"]
    current_time = datetime.now().date()
    for i in database.find():
        prev_time = datetime.strptime(i["last_updated"], "%Y-%m-%d").date()
        if int((current_time - prev_time).days) > threshold:
            push(i["org_key"])
Пример #4
0
class Org(MainModel):
    db_collection = dbController.connect()["org"]

    @property
    def save(self):
        return self.db_collection.insert(self)

    @property
    def find(self):
        return self.db_collection.find_one({"org_key": self.org_key})

    @property
    def update(self):
        return self.db_collection.update_one({"org_key": self.org_key},
                                             {"$set": self})
Пример #5
0
from app.User import bp as userBp
from app.Engine import bp as engineBp
from app.Org import bp as orgBp
from flask import Flask, request, jsonify, make_response
import Utility.dbController as dbController
from flask_cors import CORS, cross_origin
from Utility.push_notifications import org_lookup
from flask_apscheduler.scheduler import BackgroundScheduler

app = Flask(__name__)
cors = CORS(app)
app.config['CORS_HEADERS'] = 'Content-Type'
db = dbController.connect()
app.register_blueprint(userBp, url_prefix="/")
app.register_blueprint(engineBp, url_prefix="/")
app.register_blueprint(orgBp, url_prefix="/")


@app.errorhandler(404)
@cross_origin()
def not_found(error):
    return make_response(jsonify({'error': 'Not found'}), 404)


scheduler = BackgroundScheduler()
scheduler.add_job(org_lookup, trigger='interval', hours=24)
scheduler.start()


@app.route("/checkmailsystem")
@cross_origin()
Пример #6
0
class Categories(MainModel):
    db_collection = dbController.connect()["categories"]