diff --git a/.env.sample b/.env.sample index b0c5d109..fc509547 100644 --- a/.env.sample +++ b/.env.sample @@ -1,6 +1,5 @@ # Copy this file to .env, remove this comment and change the keys -ALLOWED_SLACK_DOMAINS=mytestslackdomain DATABASE_URL=postgres://user:pass@example.com:5432/atlas DATABASE_URL_TEST=postgres://user:pass@example.com:5432/atlas-test PORT=3000 diff --git a/app.json b/app.json index 9bf1e382..557124d4 100644 --- a/app.json +++ b/app.json @@ -4,9 +4,6 @@ "postdeploy": "yarn build && yarn sequelize:migrate" }, "env": { - "ALLOWED_SLACK_DOMAINS": { - "required": true - }, "AWS_ACCESS_KEY_ID": { "required": true }, @@ -50,12 +47,8 @@ "required": true } }, - "formation": { - }, - "addons": [ - "heroku-postgresql", - "heroku-redis" - ], + "formation": {}, + "addons": ["heroku-postgresql", "heroku-redis"], "buildpacks": [ { "url": "heroku/nodejs" diff --git a/frontend/scenes/Dashboard/Dashboard.js b/frontend/scenes/Dashboard/Dashboard.js index 9b363c3e..78758616 100644 --- a/frontend/scenes/Dashboard/Dashboard.js +++ b/frontend/scenes/Dashboard/Dashboard.js @@ -49,8 +49,13 @@ type Props = {

Home

{this.isLoaded ? - Recently viewed - + {this.props.documents.recentlyViewed.length > 0 && + + Recently viewed + + } Recently edited diff --git a/server/api/auth.js b/server/api/auth.js index 35ae88c1..42752b47 100644 --- a/server/api/auth.js +++ b/server/api/auth.js @@ -1,104 +1,17 @@ // @flow import Router from 'koa-router'; -import apiError from '../errors'; import { presentUser, presentTeam } from '../presenters'; import { User, Team } from '../models'; import * as Slack from '../slack'; const router = new Router(); -// router.post('auth.signup', async ctx => { -// const { username, name, email, password } = ctx.request.body; - -// ctx.assertPresent(username, 'name is required'); -// ctx.assertPresent(name, 'name is required'); -// ctx.assertPresent(email, 'email is required'); -// ctx.assertEmail(email, 'email is invalid'); -// ctx.assertPresent(password, 'password is required'); - -// if (await User.findOne({ where: { email } })) { -// throw apiError( -// 400, -// 'user_exists_with_email', -// 'User already exists with this email' -// ); -// } - -// if (await User.findOne({ where: { username } })) { -// throw apiError( -// 400, -// 'user_exists_with_username', -// 'User already exists with this username' -// ); -// } - -// const user = await User.create({ -// username, -// name, -// email, -// password, -// }); - -// ctx.body = { -// data: { -// user: await presentUser(ctx, user), -// accessToken: user.getJwtToken(), -// }, -// }; -// }); - -// router.post('auth.login', async ctx => { -// const { username, password } = ctx.request.body; - -// ctx.assertPresent(username, 'username/email is required'); -// ctx.assertPresent(password, 'password is required'); - -// let user; -// if (username) { -// user = await User.findOne({ -// where: Sequelize.or({ email: username }, { username }), -// }); -// } else { -// throw apiError(400, 'invalid_credentials', 'username or email is invalid'); -// } - -// if (!user) { -// throw apiError(400, 'username or email is invalid'); -// } - -// if (!user.passwordDigest) { -// throw apiError(400, 'no_password', 'No password set'); -// } - -// if (!await user.verifyPassword(password)) { -// throw apiError(400, 'invalid_password', 'Invalid password'); -// } - -// ctx.body = { -// data: { -// user: await presentUser(ctx, user), -// accessToken: user.getJwtToken(), -// }, -// }; -// }); - router.post('auth.slack', async ctx => { const { code } = ctx.body; ctx.assertPresent(code, 'code is required'); const data = await Slack.oauthAccess(code); - // Temp to block - const allowedSlackDomains = (process.env.ALLOWED_SLACK_DOMAINS || '') - .split(','); - if (!allowedSlackDomains.includes(data.team.domain)) { - throw apiError( - 400, - 'invalid_slack_team', - 'Atlas is currently in private beta' - ); - } - let user = await User.findOne({ where: { slackId: data.user.id } }); let team = await Team.findOne({ where: { slackId: data.team.id } }); const teamExisted = !!team;