class nOrg(MainModel): db_collection = dbController.connect()["nOrg"] @property def findAll(self): data = list(map(nOrg, self.db_collection.find(self))) return data
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" }})
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"])
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})
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()
class Categories(MainModel): db_collection = dbController.connect()["categories"]