_ = require('lodash')

module.exports = (buildEnv, computedConfig) ->
    try
        overrides = require('./config_' + buildEnv)
    catch
        console.error("No config file for specified build environment [#{buildEnv}], not overriding settings.")
        process.exit()

    base = {
        "app_api_name": "ge",
        "max_upload_size_bytes": 1048576 * 50, # 50 mb
        "max_project_invites": 5,
        "keys": { # api keys for things we use (extended from envs)
            linkedIn: "77bzw5hu0rixyw"
        }
        api_version: "1.0"
        app_debug: true
        use_api_logger: false
    }
    merger = (a, b) ->
      if _.isArray(a)
        return a.concat(b);

    base = _.merge(base, computedConfig, merger)
    settings = _.merge(base, overrides, merger)
    return settings
