big oauth improvements
This commit is contained in:
@@ -2,25 +2,18 @@
|
||||
module.exports = {
|
||||
up: (queryInterface, Sequelize) => {
|
||||
return queryInterface.createTable('oauth_clients', {
|
||||
client_id: {
|
||||
type: Sequelize.STRING,
|
||||
primaryKey: true
|
||||
id: {
|
||||
allowNull: false,
|
||||
primaryKey: true,
|
||||
type: Sequelize.STRING
|
||||
},
|
||||
name: Sequelize.STRING,
|
||||
scopes: Sequelize.STRING,
|
||||
client_secret: Sequelize.STRING,
|
||||
scopes: Sequelize.STRING,
|
||||
redirectUris: Sequelize.STRING,
|
||||
website: Sequelize.STRING,
|
||||
createdAt: { type: Sequelize.DATE, allowNull: false },
|
||||
updatedAt: { type: Sequelize.DATE, allowNull: false },
|
||||
userId: {
|
||||
type: Sequelize.INTEGER,
|
||||
references: {
|
||||
model: 'users',
|
||||
key: 'id'
|
||||
},
|
||||
onUpdate: 'CASCADE',
|
||||
onDelete: 'CASCADE'
|
||||
},
|
||||
updatedAt: { type: Sequelize.DATE, allowNull: false }
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
@@ -6,19 +6,20 @@ module.exports = {
|
||||
type: Sequelize.STRING,
|
||||
primaryKey: true
|
||||
},
|
||||
expiresAt: Sequelize.DATE,
|
||||
scope: Sequelize.STRING,
|
||||
redirect_uri: Sequelize.STRING,
|
||||
createdAt: { type: Sequelize.DATE, allowNull: false },
|
||||
updatedAt: { type: Sequelize.DATE, allowNull: false },
|
||||
oauthClientClientId: {
|
||||
type: Sequelize.INTEGER,
|
||||
clientId: {
|
||||
type: Sequelize.STRING,
|
||||
references: {
|
||||
model: 'oauth_clients',
|
||||
key: 'client_id'
|
||||
key: 'id'
|
||||
},
|
||||
onUpdate: 'CASCADE',
|
||||
onDelete: 'CASCADE'
|
||||
},
|
||||
},
|
||||
userId: {
|
||||
type: Sequelize.INTEGER,
|
||||
references: {
|
||||
@@ -27,7 +28,7 @@ module.exports = {
|
||||
},
|
||||
onUpdate: 'CASCADE',
|
||||
onDelete: 'CASCADE'
|
||||
},
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
45
server/migrations/20200119003226-oauth_token.js
Normal file
45
server/migrations/20200119003226-oauth_token.js
Normal file
@@ -0,0 +1,45 @@
|
||||
module.exports = {
|
||||
up: (queryInterface, Sequelize) => {
|
||||
return queryInterface.createTable('oauth_tokens', {
|
||||
accessToken: {
|
||||
allowNull: false,
|
||||
primaryKey: true,
|
||||
type: Sequelize.STRING
|
||||
},
|
||||
accessTokenExpiresAt: Sequelize.DATE,
|
||||
refreshToken: Sequelize.STRING,
|
||||
refreshTokenExpiresAt: Sequelize.DATE,
|
||||
scope: Sequelize.STRING,
|
||||
createdAt: { type: Sequelize.DATE, allowNull: false },
|
||||
updatedAt: { type: Sequelize.DATE, allowNull: false },
|
||||
clientId: {
|
||||
type: Sequelize.STRING,
|
||||
references: {
|
||||
model: 'oauth_clients',
|
||||
key: 'id'
|
||||
},
|
||||
onUpdate: 'CASCADE',
|
||||
onDelete: 'CASCADE'
|
||||
},
|
||||
userId: {
|
||||
type: Sequelize.INTEGER,
|
||||
references: {
|
||||
model: 'users',
|
||||
key: 'id'
|
||||
},
|
||||
onUpdate: 'CASCADE',
|
||||
onDelete: 'CASCADE'
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
down: (queryInterface, Sequelize) => {
|
||||
/*
|
||||
Add reverting commands here.
|
||||
Return a promise to correctly handle asynchronicity.
|
||||
|
||||
Example:
|
||||
*/
|
||||
return queryInterface.dropTable('oauth_tokens')
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user