Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)])})
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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})
Exemplo n.º 6
0
	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()	)
		}
Exemplo n.º 7
0
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)
Exemplo n.º 8
0
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())])})
Exemplo n.º 9
0
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"
Exemplo n.º 10
0
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)
Exemplo n.º 11
0
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'))
Exemplo n.º 12
0
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)
Exemplo n.º 13
0
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()
					}
			   )
Exemplo n.º 14
0
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)
Exemplo n.º 15
0
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)])})
Exemplo n.º 16
0
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)])})
Exemplo n.º 17
0
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)])})