From 4c28cebdcef5ef1d1a2daef4e9f15930c9da626f Mon Sep 17 00:00:00 2001 From: counterweight Date: Fri, 14 Mar 2025 16:24:53 +0100 Subject: [PATCH] oportunistic linting stuff --- .eslintignore | 1 + .../20250308000000-first-schema-tables.js | 2 - .../20250308000001-first-schema-fks.js | 220 +++++++++++------- src/front/pages/invite.js | 10 +- src/front/services/signupService.js | 6 +- src/views/invite.ejs | 17 +- 6 files changed, 143 insertions(+), 113 deletions(-) create mode 100644 .eslintignore diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..906a333 --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +public/javascript/* \ No newline at end of file diff --git a/src/database/migrations/20250308000000-first-schema-tables.js b/src/database/migrations/20250308000000-first-schema-tables.js index c22bb65..3fb5cb9 100644 --- a/src/database/migrations/20250308000000-first-schema-tables.js +++ b/src/database/migrations/20250308000000-first-schema-tables.js @@ -1,7 +1,5 @@ 'use strict'; -const { query } = require('express'); - module.exports = { up: (queryInterface, Sequelize) => { return queryInterface.sequelize.transaction((t) => { diff --git a/src/database/migrations/20250308000001-first-schema-fks.js b/src/database/migrations/20250308000001-first-schema-fks.js index c79cad7..2052b0a 100644 --- a/src/database/migrations/20250308000001-first-schema-fks.js +++ b/src/database/migrations/20250308000001-first-schema-fks.js @@ -3,106 +3,146 @@ module.exports = { up: (queryInterface, Sequelize) => { return queryInterface.sequelize.transaction((t) => { return Promise.all([ - queryInterface.addConstraint('login_challenge_created', { - fields: ['nostr_challenge_uuid'], - type: 'foreign key', - references: { - table: 'nostr_challenge_created', - field: 'uuid', + queryInterface.addConstraint( + 'login_challenge_created', + { + fields: ['nostr_challenge_uuid'], + type: 'foreign key', + references: { + table: 'nostr_challenge_created', + field: 'uuid', + }, + onDelete: 'cascade', + onUpdate: 'cascade', }, - onDelete: 'cascade', - onUpdate: 'cascade', - }), - queryInterface.addConstraint('nostr_challenge_completed', { - fields: ['challenge'], - type: 'foreign key', - references: { - table: 'nostr_challenge_created', - field: 'challenge', + { transaction: t } + ), + queryInterface.addConstraint( + 'nostr_challenge_completed', + { + fields: ['challenge'], + type: 'foreign key', + references: { + table: 'nostr_challenge_created', + field: 'challenge', + }, + onDelete: 'cascade', + onUpdate: 'cascade', }, - onDelete: 'cascade', - onUpdate: 'cascade', - }), - queryInterface.addConstraint('login_challenge_completed', { - fields: ['nostr_challenge_completed_uuid'], - type: 'foreign key', - references: { - table: 'nostr_challenge_completed', - field: 'uuid', + { transaction: t } + ), + queryInterface.addConstraint( + 'login_challenge_completed', + { + fields: ['nostr_challenge_completed_uuid'], + type: 'foreign key', + references: { + table: 'nostr_challenge_completed', + field: 'uuid', + }, + onDelete: 'cascade', + onUpdate: 'cascade', }, - onDelete: 'cascade', - onUpdate: 'cascade', - }), - queryInterface.addConstraint('offer_deleted', { - fields: ['offer_uuid'], - type: 'foreign key', - references: { - table: 'offer_created', - field: 'uuid', + { transaction: t } + ), + queryInterface.addConstraint( + 'offer_deleted', + { + fields: ['offer_uuid'], + type: 'foreign key', + references: { + table: 'offer_created', + field: 'uuid', + }, + onDelete: 'cascade', + onUpdate: 'cascade', }, - onDelete: 'cascade', - onUpdate: 'cascade', - }), - queryInterface.addConstraint('offer_details_set', { - fields: ['offer_uuid'], - type: 'foreign key', - references: { - table: 'offer_created', - field: 'uuid', + { transaction: t } + ), + queryInterface.addConstraint( + 'offer_details_set', + { + fields: ['offer_uuid'], + type: 'foreign key', + references: { + table: 'offer_created', + field: 'uuid', + }, + onDelete: 'cascade', + onUpdate: 'cascade', }, - onDelete: 'cascade', - onUpdate: 'cascade', - }), - queryInterface.addConstraint('session_related_to_public_key', { - fields: ['session_uuid'], - type: 'foreign key', - references: { - table: 'session_created', - field: 'uuid', + { transaction: t } + ), + queryInterface.addConstraint( + 'session_related_to_public_key', + { + fields: ['session_uuid'], + type: 'foreign key', + references: { + table: 'session_created', + field: 'uuid', + }, + onDelete: 'cascade', + onUpdate: 'cascade', }, - onDelete: 'cascade', - onUpdate: 'cascade', - }), - queryInterface.addConstraint('sign_up_challenge_created', { - fields: ['nostr_challenge_uuid'], - type: 'foreign key', - references: { - table: 'nostr_challenge_created', - field: 'uuid', + { transaction: t } + ), + queryInterface.addConstraint( + 'sign_up_challenge_created', + { + fields: ['nostr_challenge_uuid'], + type: 'foreign key', + references: { + table: 'nostr_challenge_created', + field: 'uuid', + }, + onDelete: 'cascade', + onUpdate: 'cascade', }, - onDelete: 'cascade', - onUpdate: 'cascade', - }), - queryInterface.addConstraint('sign_up_challenge_created', { - fields: ['app_invite_uuid'], - type: 'foreign key', - references: { - table: 'app_invite_created', - field: 'uuid', + { transaction: t } + ), + queryInterface.addConstraint( + 'sign_up_challenge_created', + { + fields: ['app_invite_uuid'], + type: 'foreign key', + references: { + table: 'app_invite_created', + field: 'uuid', + }, + onDelete: 'cascade', + onUpdate: 'cascade', }, - onDelete: 'cascade', - onUpdate: 'cascade', - }), - queryInterface.addConstraint('sign_up_challenge_completed', { - fields: ['nostr_challenge_completed_uuid'], - type: 'foreign key', - references: { - table: 'nostr_challenge_completed', - field: 'uuid', + { transaction: t } + ), + queryInterface.addConstraint( + 'sign_up_challenge_completed', + { + fields: ['nostr_challenge_completed_uuid'], + type: 'foreign key', + references: { + table: 'nostr_challenge_completed', + field: 'uuid', + }, + onDelete: 'cascade', + onUpdate: 'cascade', }, - onDelete: 'cascade', - onUpdate: 'cascade', - }), - queryInterface.addConstraint('sign_up_challenge_completed', { - fields: ['app_invite_uuid'], - type: 'foreign key', - references: { - table: 'app_invite_created', - field: 'uuid', + { transaction: t } + ), + queryInterface.addConstraint( + 'sign_up_challenge_completed', + { + fields: ['app_invite_uuid'], + type: 'foreign key', + references: { + table: 'app_invite_created', + field: 'uuid', + }, + onDelete: 'cascade', + onUpdate: 'cascade', }, - onDelete: 'cascade', - onUpdate: 'cascade', - }), + { transaction: t } + ), ]); }); }, diff --git a/src/front/pages/invite.js b/src/front/pages/invite.js index 22e2a82..5a7678c 100644 --- a/src/front/pages/invite.js +++ b/src/front/pages/invite.js @@ -5,7 +5,6 @@ const NostrSignupButton = require('../components/NostrSignupButton'); const warningsContainer = document.getElementById('warnings-container'); const nostrSignupArea = document.getElementById('nostr-signup-area'); -const noExtensionNudges = document.getElementById('no-extension-nudges'); const signUpSuccessNotification = document.getElementById('sign-up-success'); class WarningDiv { @@ -120,8 +119,13 @@ const invitesFunction = () => { } async function acceptInvite() { - const verifyResponse = - await signupService.requestAndRespondSignUpChallenge(); + const verifyResponse = await signupService.requestAndRespondSignUpChallenge( + { + onNostrErrorCallback: () => { + rejectedNostrWarning.display(); + }, + } + ); if (verifyResponse.ok) { showConfirmationAndRedirect(); diff --git a/src/front/services/signupService.js b/src/front/services/signupService.js index 03f2469..d494c6c 100644 --- a/src/front/services/signupService.js +++ b/src/front/services/signupService.js @@ -1,4 +1,4 @@ -const requestAndRespondSignUpChallenge = async () => { +const requestAndRespondSignUpChallenge = async ({ onNostrErrorCallback }) => { let challengeResponse; try { challengeResponse = await fetch('/api/signup/nostr-challenge', { @@ -18,7 +18,7 @@ const requestAndRespondSignUpChallenge = async () => { try { pubkey = await window.nostr.getPublicKey(); } catch (error) { - document.querySelector('#rejected-nostr-nudges').style.display = 'block'; + onNostrErrorCallback(); return; } const event = { @@ -33,7 +33,7 @@ const requestAndRespondSignUpChallenge = async () => { try { signedEvent = await window.nostr.signEvent(event); } catch (error) { - document.querySelector('#rejected-nostr-nudges').style.display = 'block'; + onNostrErrorCallback(); return; } diff --git a/src/views/invite.ejs b/src/views/invite.ejs index 06c71e1..ad4a406 100644 --- a/src/views/invite.ejs +++ b/src/views/invite.ejs @@ -21,21 +21,8 @@ />

Usa tu extensión de Nostr para darte de alta:

-
-
-
- - -
+
+