def register_user(): data = flask.request.get_json() if data: session = Session.create_session() lst = session.query(User).filter(User.login==data['login'], User.email==data['email']).all() if len(lst) != 0: return (ERRTOKEN, MS.NAME_IS_TAKEN) else: user = User( login=data["login"], email=data["email"], ) user.set_password(data['password']) session.add(user) session.commit() session.query(User).filter(User.login==data["login"]).first() token = Token.new(session, user, Token.Types.Refr) return (token, MS.REG_Ok) session.close() return (ERRTOKEN, MS.INVALID_TASK)
def kill_all(): session = Session.create_session() hubs = session.query(Hub).delete() hubs = session.query(Connection).delete() session.commit() session.close() return (OKTOKEN, MS.Ok)
def get_connections(): session = Session.create_session() connections = session.query(Connection).all() session.close() return make_response( {"body": list([i.get_json() for i in list(connections)])})
def get_game_list(): bar = JSLoader.get_menubar("/json/bar-menu-list.json", activated="all_games") session = Session.create_session() games = list([ i.get_json() for i in list(session.query(Game).all())]) session.close() return render_template("/general/game_viewer.html", games=games, bar=bar)
def get_by_id(): query = flask.request.args if query.get("id"): session = Session.create_session() hubs = session.query(Hub).filter(Hub.id == query["id"]) session.close() return make_response({ "body": (hubs.first().get_json() if len(hubs.all()) > 0 else list(hubs)) }) else: return make_response({body: None})
def get_json(self): from app.sql import session as Session from .connection import Connection return { "id": self.id, "name": self.name, "owner": self.owner.login, "description": self.description, "game": self.game.get_json(), "is_public": self.public, "max_players": self.users_limit, "players": len(Session.create_session().query(Connection).filter(Hub.id==self.id).all() ) }
def create_hub(): data = flask.request.get_json() print(data) if data: session = Session.create_session() lst = session.query(Token).filter( Token.token == data["token"], Token.token_type == Token.Types.Auth.name) if len(lst.all()) == 0: return (ERRTOKEN, MS.AUTH_Err) elif not lst.first().is_valid(): print(list(lst)) return (ERRTOKEN, MS.INVALID_TOKEN) if len(session.query(Hub).filter(Hub.name == data["name"]).all()) > 0: return (ERRTOKEN, MS.NAME_IS_TAKEN) elif len(session.query(Game).filter( Game.id == data["game_id"]).all()) == 0: return (ERRTOKEN, MS.UNKNOWN_VALUE) else: hub = Hub(name=data['name'], owner_id=lst.first().owner.id, description=data['description'], public=(not data['is_public']), users_limit=min( 256, max(2, (data["users_limit"] if "users_limit" in data else 0))), game_id=data['game_id']) hub.set_password(data['password']) session.add(hub) session.commit() hub = session.query(Hub).filter( Hub.name == data['name'], Hub.owner_id == lst.first().owner.id).first() connection = Connection(owner_id=hub.owner_id, hub_id=hub.id) session.add(connection) session.commit() session.close() return (OKTOKEN, MS.HUB_CREARED) session.close() return (ERRTOKEN, MS.INVALID_TASK)
def get_filtered(): query = flask.request.args session = Session.create_session() hubs = session.query(Hub).filter() for attr, value in query.items(): hubs = hubs.filter( getattr(Hub, attr).like( (value if attr not in Hub.INTVALUES else int(value)))) session.close() return make_response( {"body": list([i.get_json() for i in list(hubs.all())])})
def get_task(): query = flask.request.args if query.get("id"): session = Session.create_session() game = session.query(Game).filter(Game.id == query["id"]).first() task = Task(session, Config, game) task.load() session.close() return make_response({"body": task.get_json()}) else: return "None"
def login_user(): data = flask.request.get_json() if data: session = Session.create_session() lst = session.query(User).filter(sqlalchemy.or_(User.login==data['login'], User.email==data['login'])) if len(lst.all()) == 0: return (ERRTOKEN, MS.UNKNOWN_VALUE) else: user = lst.first() if not user.check_password(data['password']): return (ERRTOKEN, MS.WRONG_PASSW) token = Token.new(session, user, Token.Types.Refr) return (token, MS.AUTH_Ok) session.close() return (ERRTOKEN, MS.INVALID_TASK)
def background_load_page(): form = flask.request.form if 'file' in flask.request.files: file = flask.request.files["file"] if file: filename = secure_filename(file.filename) print(filename) file.save(Config.RAW_FOLDER + "/" + filename) session = Session.create_session() owner = session.query(User).filter(User.email==form["owner_email"]).first() game = Game( name=form["name"], description=form["description"], owner_id=owner.id ) session.add(game) try: import zipfile ids = session.query(Game).filter(Game.owner_id==owner.id, Game.name==game.name).first().id fantasy_zip = zipfile.ZipFile(Config.RAW_FOLDER + "/" + filename) fantasy_zip.extractall(Config.GAMES_FOLDER + "/" + str(ids) ) fantasy_zip.close() session.commit() except Exception as e: print(e) session.close() return redirect(url_for('gms_webp.load_page'))
def refresh(): query = flask.request.args data = flask.request.get_json() if data: session = Session.create_session() print("in", data) lst = session.query(Token).filter(sqlalchemy.and_(Token.token==data['token'], Token.token_type==data['token_type'])) if len(lst.all()) == 0: return (ERRTOKEN, MS.INVALID_TOKEN) else: #user = lst.first() #if not user.check_password(data['password']): # return (ERRTOKEN, "Wrong login or password") token = Token.new(session, lst.first().owner, Token.Types[query.get("out")]) print("out: ", token) return (token, MS.REFRESHED) session.close() return (ERRTOKEN, MS.INVALID_TASK)
def getme(): query = flask.request.args if query.get("token"): session = Session.create_session() token = user = session.query(Token).filter(Token.token==query.get("token"), Token.token_type==Token.Types.Auth.name).first() if token is None: return make_response( { "body": { "login": "******", "email": "unautorised", "avatar": "ERROR", "status": "PSEUDO" } } ) user = token.owner session.close() return make_response( { "body": user.get_json() } )
def sign_into(): data = flask.request.get_json() if data: session = Session.create_session() lst = session.query(Token).filter( Token.token == data['token'], Token.token_type == Token.Types.Auth.name) if len(lst.all()) == 0: return (ERRTOKEN, MS.AUTH_Err) elif not lst.first().is_valid(): return (ERRTOKEN, MS.INVALID_TOKEN) user = lst.first().owner lst = session.query(Hub).filter(Hub.id == data['hub_id']) if len(lst.all()) == 0: return (ERRTOKEN, MS.UNKNOWN_VALUE) hub = lst.first() if len( session.query(Connection).filter( Connection.hub_id == hub.id, Connection.owner_id == user.id).all()) > 0: return (ERRTOKEN, "already connected!") elif not hub.check_password(data["password"]): return (ERRTOKEN, MS.WRONG_PASSW) elif len(hub.connections) >= hub.users_limit: return (ERRTOKEN, MS.HUB_LIMIT) else: connection = Connection(owner_id=user.id, hub_id=hub.id) session.add(connection) session.commit() session.close() return (OKTOKEN, MS.HUB_CONNECTED) session.close() return (ERRTOKEN, MS.INVALID_TASK)
def get_connections_by_token(): query = flask.request.args if "token" not in query: return make_response({"body": []}) session = Session.create_session() lst = session.query(Token).filter( Token.token == query.get("token"), Token.token_type == Token.Types.Auth.name) if len(lst.all()) == 0: return make_response({"body": []}) elif not lst.first().is_valid(): return make_response({"body": []}) user = lst.first().owner_id connections = session.query(Connection).filter( Connection.owner_id == user).all() session.close() return make_response( {"body": list([i.get_json() for i in list(connections)])})
def get_all(): session = Session.create_session() notes = session.query(UcNote).all() session.close() return make_response({"body": list([i.get_json() for i in list(notes)])})
def get_all(): session = Session.create_session() hubs = session.query(Hub).all() session.close() return make_response({"body": list([i.get_json() for i in list(hubs)])})