From 22009557d29704897bbeefe90ec01a1a5d940235 Mon Sep 17 00:00:00 2001 From: Andrew Miner Date: Sun, 15 May 2016 19:52:21 -0700 Subject: [PATCH] Use new server configuration for logging in --- .gitignore | 1 + Gruntfile.coffee | 8 ++++++-- package.json | 1 + src/client/client.coffee | 4 ++-- src/client/site/login_page/login_page_controller.coffee | 6 +++--- src/client/site/site_controller.coffee | 6 +++--- src/common/constants.coffee | 2 +- src/server/crafting_guide_server.coffee | 3 +-- src/server/server.coffee | 8 +++----- 9 files changed, 21 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index e9f58ddb4..ebe50d5e0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ *.log .DS_Store +.env .sass-cache .tm_properties aws.config diff --git a/Gruntfile.coffee b/Gruntfile.coffee index 3099d884d..3b057c748 100644 --- a/Gruntfile.coffee +++ b/Gruntfile.coffee @@ -75,6 +75,10 @@ module.exports = (grunt)-> files: [ {expand:true, cwd:'./assets/', src:'**/*', dest:'./build/static'} ] + env_build: + files: [ + {expand:true, cwd:'.', src:'.env', dest:'./build'} + ] build_to_dist: files: [ expand: true @@ -192,7 +196,7 @@ module.exports = (grunt)-> ['jade', 'build:copy', 'build:css', 'browserify:external', 'browserify:internal'] grunt.registerTask 'build:copy', 'helper task for build', - ['copy:assets_build', 'copy:common_source', 'copy:server_source'] + ['copy:assets_build', 'copy:env_build', 'copy:common_source', 'copy:server_source'] grunt.registerTask 'build:css', 'helper task for build', ['sass_globbing', 'sass'] @@ -230,7 +234,7 @@ module.exports = (grunt)-> grunt.registerTask 'upload:staging', 'upload the project the staging Amazon S3 environment', ['dist', 'script:s3_upload:staging'] - grunt.registerTask 'useLocalDeps', 'use local dependencies instead of NPM dependencies', + grunt.registerTask 'use-local-deps', 'use local dependencies instead of NPM dependencies', ['script:use_local_deps'] # Code Tasks ####################################################################################################### diff --git a/package.json b/package.json index e6b405e9b..f5f767bd1 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "client-sessions": "^0.7.0", "cookie-parser": "^1.3.5", "crafting-guide-common": "^1.5.1", + "dotenv": "^2.0.0", "express": "^4.13.3", "express-session": "^1.11.3", "jade": "^1.11.0", diff --git a/src/client/client.coffee b/src/client/client.coffee index 71dbd4dbd..24a124a4c 100644 --- a/src/client/client.coffee +++ b/src/client/client.coffee @@ -37,11 +37,11 @@ switch global.hostName when 'prerender.crafting-guide.com' global.env = 'prerender' logger.level = Logger.FATAL - apiBaseUrl = 'http://local.crafting-guide.com:8001' + apiBaseUrl = 'http://local.crafting-guide.com:4347' when 'local.crafting-guide.com', 'localhost' global.env = 'local' logger.level = Logger.DEBUG - apiBaseUrl = 'http://local.crafting-guide.com:8001' + apiBaseUrl = 'http://local.crafting-guide.com:4347' when 'staging.crafting-guide.com' global.env = 'staging' logger.level = Logger.VERBOSE diff --git a/src/client/site/login_page/login_page_controller.coffee b/src/client/site/login_page/login_page_controller.coffee index 1dc802f69..c63a185cc 100644 --- a/src/client/site/login_page/login_page_controller.coffee +++ b/src/client/site/login_page/login_page_controller.coffee @@ -79,9 +79,9 @@ module.exports = class LoginPageController extends PageController @$userName = @$('.user .name') if (not @user?) and (@_params?.state?) and (@_params?.state is @loginSecurityToken) - @_client.completeGitHubLogin code:@_params.code + @_client.createSession code:@_params.code .then (response)=> - attributes = response.json.data.user + attributes = response.json if attributes? global.site.user = new GitHubUser attributes global.site.resumeAfterLogin() @@ -133,7 +133,7 @@ module.exports = class LoginPageController extends PageController return @State.ReadyToLogin _compeleteLogin: (code)-> - @_client.completeGitHubLogin code:code + @_client.createSession code:code .then (response)=> global.site.user = new GitHubUser response.json .catch (error)=> diff --git a/src/client/site/site_controller.coffee b/src/client/site/site_controller.coffee index b845f8383..0c95e6353 100644 --- a/src/client/site/site_controller.coffee +++ b/src/client/site/site_controller.coffee @@ -59,9 +59,9 @@ module.exports = class SiteController extends BaseController @$pageContentLoading.addClass 'hidden' loadCurrentUser: -> - @client.fetchCurrentUser() + @client.getCurrentUser() .then (response)=> - userData = response.json?.data?.user + userData = response.json @user = new GitHubUser userData if userData? .catch (error)=> if error?.response?.statusCode isnt 401 @@ -77,7 +77,7 @@ module.exports = class SiteController extends BaseController logout: -> @storage.store 'loginSecurityToken', null @user = null - @client.logout() + @client.deleteSession() .catch (error)-> logger.error -> "Failed to log out: #{error}" .done() diff --git a/src/common/constants.coffee b/src/common/constants.coffee index f58bd9292..a179c6802 100644 --- a/src/common/constants.coffee +++ b/src/common/constants.coffee @@ -143,7 +143,7 @@ screen.type.compute = -> return screen.type.desktop exports.server = {} -exports.server.defaultPort = 8080 +exports.server.defaultPort = 4347 exports.text = text = {} text.browseDescription = _.template 'Browse through complete item listings for over a dozen top mods and use the interactive crafting planner for step-by-step instructions' diff --git a/src/server/crafting_guide_server.coffee b/src/server/crafting_guide_server.coffee index 286542353..2e2faa82d 100644 --- a/src/server/crafting_guide_server.coffee +++ b/src/server/crafting_guide_server.coffee @@ -16,8 +16,7 @@ module.exports = class CraftingGuideServer constructor: (port)-> if not port? then throw new Error 'port is mandatory' - if not _.isNumber port then throw new Error 'port must be a number' - @port = parseInt port + @port = port app = express() app.disable 'etag' diff --git a/src/server/server.coffee b/src/server/server.coffee index b99370222..01e7e8feb 100644 --- a/src/server/server.coffee +++ b/src/server/server.coffee @@ -5,7 +5,7 @@ # All rights reserved. # -CraftingGuideServer = require './crafting_guide_server' +require('dotenv').config() ######################################################################################################################## @@ -15,10 +15,8 @@ global.w = require 'when' ######################################################################################################################## -port = parseInt process.argv[2] -port = if _.isNaN port then c.server.defaultPort else port - -server = new CraftingGuideServer port +CraftingGuideServer = require './crafting_guide_server' +server = new CraftingGuideServer process.env.WEBSITE_SERVER_PORT server.start() process.on 'SIGINT', ->