Skip to content

Commit

Permalink
Add a @keystone-alpha/session package
Browse files Browse the repository at this point in the history
  • Loading branch information
timleslie committed Mar 26, 2019
1 parent c79864a commit 5ebf4c3
Show file tree
Hide file tree
Showing 24 changed files with 344 additions and 223 deletions.
38 changes: 38 additions & 0 deletions .changeset/9b8960e8/changes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"releases": [{ "name": "@keystone-alpha/session", "type": "major" }],
"dependents": [
{
"name": "@keystone-alpha/admin-ui",
"type": "patch",
"dependencies": ["@keystone-alpha/session"]
},
{
"name": "@keystone-alpha/server",
"type": "patch",
"dependencies": ["@keystone-alpha/session"]
},
{
"name": "@keystone-alpha/cypress-project-login",
"type": "patch",
"dependencies": [
"@keystone-alpha/admin-ui",
"@keystone-alpha/server",
"@keystone-alpha/session"
]
},
{
"name": "@keystone-alpha/cypress-project-twitter-login",
"type": "patch",
"dependencies": [
"@keystone-alpha/admin-ui",
"@keystone-alpha/server",
"@keystone-alpha/session"
]
},
{
"name": "@keystone-alpha/api-tests",
"type": "patch",
"dependencies": ["@keystone-alpha/server", "@keystone-alpha/session"]
}
]
}
1 change: 1 addition & 0 deletions .changeset/9b8960e8/changes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Create a new package for all session-handling functionality
46 changes: 46 additions & 0 deletions .changeset/bc995364/changes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{
"releases": [{ "name": "@keystone-alpha/server", "type": "major" }],
"dependents": [
{ "name": "@keystone-alpha/core", "type": "patch", "dependencies": ["@keystone-alpha/server"] },
{
"name": "@keystone-alpha/test-utils",
"type": "patch",
"dependencies": ["@keystone-alpha/server"]
},
{
"name": "@keystone-alpha/demo-project-blog",
"type": "patch",
"dependencies": ["@keystone-alpha/core", "@keystone-alpha/server"]
},
{
"name": "@keystone-alpha/demo-project-todo",
"type": "patch",
"dependencies": ["@keystone-alpha/core", "@keystone-alpha/server"]
},
{
"name": "@keystone-alpha/cypress-project-access-control",
"type": "patch",
"dependencies": ["@keystone-alpha/core", "@keystone-alpha/server"]
},
{
"name": "@keystone-alpha/cypress-project-basic",
"type": "patch",
"dependencies": ["@keystone-alpha/core", "@keystone-alpha/server"]
},
{
"name": "@keystone-alpha/cypress-project-login",
"type": "patch",
"dependencies": ["@keystone-alpha/core", "@keystone-alpha/server"]
},
{
"name": "@keystone-alpha/cypress-project-twitter-login",
"type": "patch",
"dependencies": ["@keystone-alpha/core", "@keystone-alpha/server"]
},
{
"name": "@keystone-alpha/api-tests",
"type": "patch",
"dependencies": ["@keystone-alpha/test-utils", "@keystone-alpha/server"]
}
]
}
1 change: 1 addition & 0 deletions .changeset/bc995364/changes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Remove the .sessionManager property from the Keystone class
10 changes: 10 additions & 0 deletions .changeset/ea436d82/changes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"releases": [
{ "name": "@keystone-alpha/cypress-project-login", "type": "patch" },
{ "name": "@keystone-alpha/cypress-project-twitter-login", "type": "patch" },
{ "name": "@keystone-alpha/api-tests", "type": "patch" },
{ "name": "@keystone-alpha/server", "type": "patch" },
{ "name": "@keystone-alpha/admin-ui", "type": "patch" }
],
"dependents": []
}
1 change: 1 addition & 0 deletions .changeset/ea436d82/changes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Use the new @keystone-alpha/session package
5 changes: 3 additions & 2 deletions api-tests/auth-header.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ const bodyParser = require('body-parser');
const cookieSignature = require('cookie-signature');
const { multiAdapterRunners } = require('@keystone-alpha/test-utils');
const { MongooseAdapter } = require('@keystone-alpha/adapter-mongoose');
const { startAuthedSession, endAuthedSession } = require('@keystone-alpha/session');
const cuid = require('cuid');

const initialData = {
Expand Down Expand Up @@ -60,7 +61,7 @@ function setupKeystone() {
bodyParser.urlencoded({ extended: true }),
async (req, res, next) => {
// Cleanup any previous session
await keystone.sessionManager.endAuthedSession(req);
await endAuthedSession(req);

try {
const result = await keystone.auth.User.password.validate({
Expand All @@ -72,7 +73,7 @@ function setupKeystone() {
success: false,
});
}
await keystone.sessionManager.startAuthedSession(req, result);
await startAuthedSession(req, result);
res.json({
success: true,
token: req.sessionID,
Expand Down
3 changes: 2 additions & 1 deletion api-tests/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,12 @@
"@keystone-alpha/fields": "^3.0.0",
"@keystone-alpha/keystone": "^1.0.3",
"@keystone-alpha/server": "^2.0.0",
"@keystone-alpha/session": "^0.0.0",
"@keystone-alpha/test-utils": "^1.1.2",
"body-parser": "^1.18.2",
"cookie-signature": "^1.1.0",
"cuid": "^2.1.6",
"supertest-light": "^1.0.2",
"testcheck": "^1.0.0-rc.2"
}
}
}
4 changes: 2 additions & 2 deletions packages/admin-ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
"@emotion/styled": "^10.0.9",
"@keystone-alpha/field-views-loader": "^1.0.1",
"@keystone-alpha/fields": "^3.0.1",
"@keystone-alpha/session": "^0.0.0",
"@keystone-alpha/utils": "^2.0.0",
"apollo-cache-inmemory": "^1.5.1",
"apollo-client": "^2.5.1",
Expand All @@ -52,7 +53,6 @@
"apollo-upload-client": "^10.0.0",
"babel-loader": "^8.0.5",
"babel-plugin-emotion": "^10.0.9",
"body-parser": "^1.18.2",
"chalk": "^2.4.2",
"compression": "^1.7.4",
"cross-fetch": "^2.2.0",
Expand Down Expand Up @@ -85,4 +85,4 @@
"webpack-dev-middleware": "^3.6.1",
"webpack-hot-middleware": "^2.24.3"
}
}
}
3 changes: 1 addition & 2 deletions packages/admin-ui/server/AdminUI.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ const terminalLink = require('terminal-link');
const webpackDevMiddleware = require('webpack-dev-middleware');
const webpackHotMiddleware = require('webpack-hot-middleware');
const compression = require('compression');
const { createSessionMiddleware } = require('@keystone-alpha/session');

const pkgInfo = require('../package.json');

const getWebpackConfig = require('./getWebpackConfig');
const { createSessionMiddleware } = require('./sessionMiddleware');
const { mode } = require('./env');

module.exports = class AdminUI {
Expand Down Expand Up @@ -51,7 +51,6 @@ module.exports = class AdminUI {
const { signinPath, signoutPath, sessionPath } = this.config;
return createSessionMiddleware(
{ signinPath, signoutPath, sessionPath, successPath: this.adminPath },
this.keystone.sessionManager,
this.authStrategy
);
}
Expand Down
96 changes: 0 additions & 96 deletions packages/admin-ui/server/sessionMiddleware.js

This file was deleted.

1 change: 0 additions & 1 deletion packages/admin-ui/tests/server/AdminUI.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ jest.doMock('html-webpack-plugin', () => {
const AdminUI = require('../../server/AdminUI.js');

const keystone = {
sessionManager: {},
getAdminSchema: jest.fn(),
getAdminMeta: jest.fn(),
};
Expand Down
2 changes: 0 additions & 2 deletions packages/keystone/Keystone/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ const {
mergeRelationships,
} = require('./relationship-utils');
const List = require('../List');
const SessionManager = require('./session');

const unique = arr => [...new Set(arr)];

Expand All @@ -37,7 +36,6 @@ module.exports = class Keystone {
this.lists = {};
this.listsArray = [];
this.getListByKey = key => this.lists[key];
this.sessionManager = new SessionManager(this);

if (config.adapters) {
this.adapters = config.adapters;
Expand Down
48 changes: 0 additions & 48 deletions packages/keystone/Keystone/session.js

This file was deleted.

Loading

0 comments on commit 5ebf4c3

Please sign in to comment.