1.17.11 • Published 3 years ago
create-alchemy-sql-be v1.17.11
Create Alchemy SQL BE
Don't install this package. Use npm init
in parent directory.
npm init alchemy-sql-be NAME_OF_PROJECT
npm init alchemy-sql-be PROJECT_NAME
cd into PROJECT_NAME
create a new repo on github
git remote add origin REPO_URL **do not initialize with README.md
Getting started
- Change all the files in the
data
directory to match the data model of your app. - Run
heroku create
- Run
npm run setup-heroku
to create a heroku SQL database in the cloud to go with your heroku app. - Run
heroku config:get DATABASE_URL
to get your heroku sql database url from the cloud. Put this in your .env file, underDATABASE_URL
- Run
npm run setup-db
- Run
npm run start:watch
to start the dev server
Adding auth routes and protecting routes:
At the top of server.js
:
// Auth
const ensureAuth = require('./lib/auth/ensure-auth');
const createAuthRoutes = require('./lib/auth/create-auth-routes');
const authRoutes = createAuthRoutes({
selectUser(email) {
return client.query(`
SELECT id, email, hash, display_name as "displayName"
FROM users
WHERE email = $1;
`,
[email]
).then(result => result.rows[0]);
},
insertUser(user, hash) {
console.log(user);
return client.query(`
INSERT into users (email, hash, display_name)
VALUES ($1, $2, $3)
RETURNING id, email, display_name as "displayName";
`,
[user.email, hash, user.displayName]
).then(result => result.rows[0]);
}
});
// setup authentication routes to give user an auth token
// creates a /signin and a /signup route.
// each requires a POST body with a .email and a .password
app.use('/api/auth', authRoutes);
// everything that starts with "/api" below here requires an auth token!
app.use('/api', ensureAuth);
app.get('/api/test', (req, res) => {
res.json({
message: `in this proctected route, we get the user's id like so: ${req.userId}`
});
});
1.17.11
3 years ago
1.17.9
4 years ago
1.17.8
4 years ago
1.17.6
4 years ago
1.17.5
4 years ago
1.17.7
4 years ago
1.17.4
4 years ago
1.17.3
4 years ago
1.17.2
4 years ago
1.17.1
4 years ago
1.17.0
4 years ago
1.16.9
4 years ago
1.16.8
4 years ago
1.16.7
4 years ago
1.16.6
4 years ago
1.16.5
4 years ago
1.16.4
4 years ago
1.16.3
4 years ago
1.16.2
4 years ago
1.16.1
4 years ago
1.16.0
4 years ago