Merge pull request #15 from sorrelbri/sj-serve-new-models

sj serve new models
This commit is contained in:
sorrelbri 2019-10-10 23:32:35 -07:00 committed by GitHub
commit e1f97d9cab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 4 deletions

View file

@ -1,12 +1,13 @@
from flask import Blueprint, request, jsonify, session
from models.User import User, user_schema, users_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 ..decorators import jwt_required
import jwt
import os
import json
from websockets.socket import new_game_notice
api_games = Blueprint('api_games', __name__, url_prefix='/api/games')
@ -35,7 +36,8 @@ def post_game():
print('game added')
db.session.commit()
print('game')
print(game)
print(game_schema.dumps(game))
new_game_notice(room=game.game_room, game=game_schema.dumps(game))
response = {
'status': 'success',
'message': 'Game created',

View file

@ -4,6 +4,7 @@ from models.GameRoom import GameRoom, rooms_schema, room_schema
from models.Game import Game, games_schema
from database import db
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')
@ -12,6 +13,7 @@ def get_room(room_id):
print(room_id)
games = Game.query.filter_by(game_room=room_id).all()
response = games_schema.dumps(games)
join_room_notice(room_id)
return jsonify(response)
@api_rooms.route('/', methods=['GET'])
@ -40,8 +42,8 @@ def post_room():
response = {
'status': 'success',
'message': 'Succesfully registered.',
'gameRoom': room.id
}
new_room_notice(room_schema.dumps(room))
return jsonify(response), 201
except Exception as e:
print(e)

View file

@ -22,4 +22,25 @@ def handle_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