Files
outline/server/migrations/20251218223224-add-grant-id-to-oauth-models.js
Tom Moor b45a096aeb feat: Implement RFC 9700 hardening against refresh token reuse (#10960)
* feat: Implement RFC 9700 hardening against refresh token reuse

* tests

* Update tests with less mocking, hit actual endpoints
2025-12-19 17:52:23 -05:00

62 lines
1.5 KiB
JavaScript

"use strict";
/** @type {import("sequelize-cli").Migration} */
module.exports = {
async up(queryInterface, Sequelize) {
await queryInterface.sequelize.transaction(async (transaction) => {
await queryInterface.addColumn(
"oauth_authentications",
"grantId",
{
type: Sequelize.UUID,
allowNull: true,
},
{ transaction }
);
await queryInterface.addColumn(
"oauth_authorization_codes",
"grantId",
{
type: Sequelize.UUID,
allowNull: true,
},
{ transaction }
);
await queryInterface.addIndex("oauth_authentications", ["grantId"], {
transaction,
});
await queryInterface.addIndex("oauth_authorization_codes", ["grantId"], {
transaction,
});
});
},
async down(queryInterface, Sequelize) {
await queryInterface.sequelize.transaction(async (transaction) => {
await queryInterface.removeIndex("oauth_authentications", ["grantId"], {
transaction,
});
await queryInterface.removeIndex(
"oauth_authorization_codes",
["grantId"],
{
transaction,
}
);
await queryInterface.removeColumn("oauth_authentications", "grantId", {
transaction,
});
await queryInterface.removeColumn(
"oauth_authorization_codes",
"grantId",
{
transaction,
}
);
});
},
};