nostr challenges

This commit is contained in:
counterweight 2025-03-10 13:02:33 +01:00
parent 9d4967a41d
commit afc8a6d04d
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C

View file

@ -47,6 +47,111 @@ module.exports = {
},
{ transaction: t }
),
queryInterface.createTable(
'login_challenge_completed',
{
uuid: {
type: Sequelize.UUID,
allowNull: false,
unique: true,
primaryKey: true,
},
nostr_challenge_completed_uuid: {
type: Sequelize.UUID,
allowNull: false,
},
public_key: {
type: Sequelize.STRING,
allowNull: false,
},
created_at: {
type: Sequelize.DATE,
allowNull: false,
},
},
{ transaction: t }
),
queryInterface.createTable(
'login_challenge_created',
{
uuid: {
type: Sequelize.UUID,
allowNull: false,
unique: true,
primaryKey: true,
},
nostr_challenge_uuid: {
type: Sequelize.UUID,
allowNull: false,
},
created_at: {
type: Sequelize.DATE,
allowNull: false,
},
},
{ transaction: t }
),
queryInterface.createTable(
'nostr_challenge_created',
{
uuid: {
type: Sequelize.UUID,
allowNull: false,
unique: true,
primaryKey: true,
},
challenge: {
type: Sequelize.STRING,
allowNull: false,
unique: true,
},
expires_at: {
type: Sequelize.DATE,
allowNull: false,
},
created_at: {
type: Sequelize.DATE,
allowNull: false,
},
},
{ transaction: t }
),
queryInterface.createTable(
'nostr_challenge_completed',
{
uuid: {
type: Sequelize.UUID,
allowNull: false,
unique: true,
primaryKey: true,
},
challenge: {
type: Sequelize.STRING,
allowNull: false,
unique: true,
references: {
model: {
tableName: 'nostr_challenge_created',
},
key: 'challenge',
},
},
signed_event: {
type: Sequelize.JSONB,
allowNull: false,
},
public_key: {
type: Sequelize.STRING,
allowNull: false,
},
created_at: {
type: Sequelize.DATE,
allowNull: false,
},
},
{ transaction: t }
),
]);
});
},