Merge pull request #15 from sorrelbri/sj-serve-new-models
sj serve new models
This commit is contained in:
commit
e1f97d9cab
3 changed files with 29 additions and 4 deletions
|
@ -1,12 +1,13 @@
|
||||||
from flask import Blueprint, request, jsonify, session
|
from flask import Blueprint, request, jsonify, session
|
||||||
from models.User import User, user_schema, users_schema
|
from models.User import User, user_schema, users_schema
|
||||||
from models.GameRoom import GameRoom, rooms_schema, room_schema
|
from models.GameRoom import GameRoom, rooms_schema, room_schema
|
||||||
from models.Game import Game
|
from models.Game import Game, game_schema
|
||||||
from database import db
|
from database import db
|
||||||
from ..decorators import jwt_required
|
from ..decorators import jwt_required
|
||||||
import jwt
|
import jwt
|
||||||
import os
|
import os
|
||||||
import json
|
import json
|
||||||
|
from websockets.socket import new_game_notice
|
||||||
|
|
||||||
api_games = Blueprint('api_games', __name__, url_prefix='/api/games')
|
api_games = Blueprint('api_games', __name__, url_prefix='/api/games')
|
||||||
|
|
||||||
|
@ -35,7 +36,8 @@ def post_game():
|
||||||
print('game added')
|
print('game added')
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
print('game')
|
print('game')
|
||||||
print(game)
|
print(game_schema.dumps(game))
|
||||||
|
new_game_notice(room=game.game_room, game=game_schema.dumps(game))
|
||||||
response = {
|
response = {
|
||||||
'status': 'success',
|
'status': 'success',
|
||||||
'message': 'Game created',
|
'message': 'Game created',
|
||||||
|
|
|
@ -4,6 +4,7 @@ from models.GameRoom import GameRoom, rooms_schema, room_schema
|
||||||
from models.Game import Game, games_schema
|
from models.Game import Game, games_schema
|
||||||
from database import db
|
from database import db
|
||||||
from ..decorators import jwt_required
|
from ..decorators import jwt_required
|
||||||
|
from websockets.socket import new_room_notice, join_room_notice
|
||||||
|
|
||||||
api_rooms = Blueprint('api_rooms', __name__, url_prefix='/api/rooms')
|
api_rooms = Blueprint('api_rooms', __name__, url_prefix='/api/rooms')
|
||||||
|
|
||||||
|
@ -12,6 +13,7 @@ def get_room(room_id):
|
||||||
print(room_id)
|
print(room_id)
|
||||||
games = Game.query.filter_by(game_room=room_id).all()
|
games = Game.query.filter_by(game_room=room_id).all()
|
||||||
response = games_schema.dumps(games)
|
response = games_schema.dumps(games)
|
||||||
|
join_room_notice(room_id)
|
||||||
return jsonify(response)
|
return jsonify(response)
|
||||||
|
|
||||||
@api_rooms.route('/', methods=['GET'])
|
@api_rooms.route('/', methods=['GET'])
|
||||||
|
@ -40,8 +42,8 @@ def post_room():
|
||||||
response = {
|
response = {
|
||||||
'status': 'success',
|
'status': 'success',
|
||||||
'message': 'Succesfully registered.',
|
'message': 'Succesfully registered.',
|
||||||
'gameRoom': room.id
|
|
||||||
}
|
}
|
||||||
|
new_room_notice(room_schema.dumps(room))
|
||||||
return jsonify(response), 201
|
return jsonify(response), 201
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(e)
|
print(e)
|
||||||
|
|
|
@ -22,4 +22,25 @@ def handle_connection():
|
||||||
|
|
||||||
look cool a namespaced socketio connection!
|
look cool a namespaced socketio connection!
|
||||||
|
|
||||||
''')
|
''')
|
||||||
|
|
||||||
|
def join_room_notice(room):
|
||||||
|
@socketio.on('connect', namespace=f'/{room}')
|
||||||
|
def handle_connection():
|
||||||
|
print(f'joined room at {room}')
|
||||||
|
emit('join room', {'roomspace': f'{room}'})
|
||||||
|
@socketio.on('join room', namespace=f'/{room}')
|
||||||
|
def connect_room(message):
|
||||||
|
print(f'connected with ${message}')
|
||||||
|
emit('connected', {'roomspace': f'/{room}'})
|
||||||
|
|
||||||
|
def new_game_notice(room, game):
|
||||||
|
socketio.emit('new game', game, broadcast=True, namespace=f'/{room}')
|
||||||
|
|
||||||
|
|
||||||
|
def new_room_notice(room):
|
||||||
|
socketio.emit('new room', room, broadcast=True)
|
||||||
|
|
||||||
|
# @socketio.on
|
||||||
|
# def room_socket(roomspace):
|
||||||
|
# pass
|
Loading…
Reference in a new issue