Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions app/controllers/application_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@ class ApplicationController < ActionController::Base
before_action :check_auth

def check_auth
if request.env['HTTP_USER_ID'].to_i == nil
user_id = request.env['HTTP_USER_ID'].to_i
if user_id == nil
render json: "No User ID Detected", status: 401
else
current_user = User.find(request.env['HTTP_USER_ID'].to_i)
current_user = User.find(user_id)
if current_user.token == request.env['HTTP_TOKEN']
true
else
Expand Down
21 changes: 9 additions & 12 deletions app/controllers/collaborators_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -96,29 +96,26 @@ def find_game_collaborators
end
end


# select distinct games.name, users.id, collaborators.game_id, users.username, games.description, games.score, games.published, games.created_at, games.updated_at, games.plays
# from games, users, collaborators
# where collaborators.game_id = games.id
# and game_id = 7 <-- this is the game ID. or could be a user_id or whatever.

def find_user_collaborators
ids = Game.find_game_ids_by_creator(@games, request.env['HTTP_USER_ID'])
collaborators = Collaborator.find_collaborators_by_game(@collaborators, ids)
user_id = request.env['HTTP_USER_ID']
ids = Game.find_game_ids_by_creator(user_id)
collaborators = Collaborator.find_collaborators_by_game(ids, user_id)
user_collaborators = User.find_username_for_collaborators(collaborators)
render json: user_collaborators
end

def find_user_requesters
ids = Game.find_game_ids_by_creator(@games, request.env['HTTP_USER_ID'])
requesters = Collaborator.find_requesters_by_game(@requesters, ids)
user_id = request.env['HTTP_USER_ID']
ids = Game.find_game_ids_by_creator(user_id)
requesters = Collaborator.find_requesters_by_game(ids, user_id)
user_requesters = User.find_username_for_requesters(requesters)
render json: user_requesters
end

def find_collaborations_by_user
game_ids = Collaborator.find_collaborations_by_user(request.env['HTTP_USER_ID'])
games = Game.find_game_ids(game_ids, request.env['HTTP_USER_ID'])
user_id = request.env['HTTP_USER_ID']
game_ids = Collaborator.find_collaborations_by_user(user_id)
games = Game.find_game_ids(game_ids, user_id)
users = User.find_username_by_game_creator_id(games)
result = Collaborator.return_user_collaborations(games, users)
render json: result
Expand Down
14 changes: 8 additions & 6 deletions app/models/collaborator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -77,20 +77,22 @@ def self.return_user_collaborations(games, users)
result
end

def self.find_collaborators_by_game(var, ids)
def self.find_collaborators_by_game(ids, auth_id)
collaborators = []
ids = ids.values.flatten
ids.delete(0)
ids.each do |id|
var = Collaborator.where('game_id = ? AND requested = ? AND accepted = ?', id, true, true)
collaborators.concat(var)
collaborators << ActiveRecord::Base.connection.execute("SELECT * FROM collaborators WHERE game_id = #{id} AND requested = true AND accepted = true AND user_id != #{auth_id}").values
end
collaborators
end

def self.find_requesters_by_game(var, ids)
def self.find_requesters_by_game(ids, auth_id)
requesters = []
ids = ids.values.flatten
ids.delete(0)
ids.each do |id|
var = Collaborator.where('game_id = ? AND requested = ? AND accepted = ?', id, true, false)
requesters.concat(var)
requesters << ActiveRecord::Base.connection.execute("SELECT * FROM collaborators WHERE game_id = #{id} AND requested = true AND accepted = false AND user_id != #{auth_id}").values
end
requesters
end
Expand Down
10 changes: 2 additions & 8 deletions app/models/game.rb
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,8 @@ def self.update_game(var, params)
var.thumbnail = params[:thumbnail]
end

def self.find_game_ids_by_creator(var, auth_id)
var = Game.where(user_id: auth_id)
ids = []
var.each do |game|
ids << game.id
end
ids.shift if ids.include? 0
ids
def self.find_game_ids_by_creator(auth_id)
ActiveRecord::Base.connection.execute("SELECT games.id FROM games WHERE games.user_id = #{auth_id}")
end

def self.find_game_ids(game_ids, auth_id)
Expand Down
34 changes: 20 additions & 14 deletions app/models/user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,31 +25,37 @@ def self.find_username_by_game_creator_id(games)

def self.find_username_for_collaborators(collaborators)
result = []
collaborators.each do |t|
username = User.find(t.user_id).username
game_id = collaborators.first[0][1]
game_name = Game.find(game_id).name
collaborators.first.each do |t|
username = User.find(t[0]).username
result.push({
id: t.id,
game_id: t.game_id,
user_id: t.user_id,
id: t[0],
game_id: t[1],
user_id: t[2],
game_name: game_name,
username: username,
requested: true,
accepted: true
requested: t[3],
accepted: t[4]
})
end
result
end

def self.find_username_for_requesters(requesters)
result = []
requesters.each do |t|
username = User.find(t.user_id).username
game_id = requesters.first[0][1]
game_name = Game.find(game_id).name
requesters.first.each do |t|
username = User.find(t[0]).username
result.push({
id: t.id,
game_id: t.game_id,
user_id: t.user_id,
id: t[0],
game_id: t[1],
user_id: t[2],
game_name: game_name,
username: username,
requested: true,
accepted: false
requested: t[3],
accepted: t[4]
})
end
result
Expand Down
8 changes: 4 additions & 4 deletions config/schedule.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# every 1.day do
system 'heroku pg:backups capture'
system 'curl -o latest.dump `heroku pg:backups public-url`'

system 'aws s3 cp s3://yazuapgbackup/latest.dump ../yazua_backup/' if system 'pg_restore --verbose --clean --no-acl --no-owner -h localhost -U Fitchburgh -d forge_test latest.dump'

system 'aws s3 cp latest.dump s3://yazuapgbackup/'
system 'pg_restore --verbose --clean --no-acl --no-owner -h localhost -U Fitchburgh -d forge_test latest.dump'
# system 'aws s3 cp s3://yazuapgbackup/latest.dump ../yazua_backup/' if system 'pg_restore --verbose --clean --no-acl --no-owner -h localhost -U Fitchburgh -d forge_test latest.dump'
#
# system 'aws s3 cp latest.dump s3://yazuapgbackup/'
# end