passing services

This commit is contained in:
counterweight 2025-03-05 16:21:37 +01:00
parent 1cf303c31d
commit 47b2821f90
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
2 changed files with 24 additions and 29 deletions

View file

@ -6,18 +6,18 @@ function buildDependencies() {
const middlewares = require('./middlewares'); const middlewares = require('./middlewares');
dependencies.middlewares = middlewares; dependencies.middlewares = middlewares;
const invitesService = require('./services/invitesService'); const services = require('./services');
const WebRoutesProvider = require('./routes/webRoutes'); const WebRoutesProvider = require('./routes/webRoutes');
const webRoutesProvider = new WebRoutesProvider({ const webRoutesProvider = new WebRoutesProvider({
express, express,
middlewares, middlewares,
invitesService, invitesService: services.invitesService,
}); });
dependencies.webRoutes = webRoutesProvider.provide(); dependencies.webRoutes = webRoutesProvider.provide();
const ApiRoutesProvider = require('./routes/apiRoutes'); const ApiRoutesProvider = require('./routes/apiRoutes');
const apiRoutesProvider = new ApiRoutesProvider(middlewares); const apiRoutesProvider = new ApiRoutesProvider({ middlewares, services });
dependencies.apiRoutes = apiRoutesProvider.provide(); dependencies.apiRoutes = apiRoutesProvider.provide();
return dependencies; return dependencies;
} }

View file

@ -1,19 +1,11 @@
const express = require('express'); const express = require('express');
const invitesService = require('../services/invitesService');
const nostrService = require('../services/nostrService');
const loginService = require('../services/loginService');
const sessionService = require('../services/sessionService');
const profileService = require('../services/profileService');
const offerService = require('../services/offerService');
const services = require('../services');
const errors = require('../errors'); const errors = require('../errors');
const router = express.Router(); const router = express.Router();
class ApiRoutesProvider { class ApiRoutesProvider {
constructor(middlewares) { constructor({ middlewares, services }) {
this.middlewares = middlewares; this.middlewares = middlewares;
this.services = services; this.services = services;
} }
@ -25,7 +17,7 @@ class ApiRoutesProvider {
let signUpChallenge; let signUpChallenge;
try { try {
signUpChallenge = signUpChallenge =
await services.invitesService.createSignUpChallenge(inviteUuid); await this.services.invitesService.createSignUpChallenge(inviteUuid);
} catch (error) { } catch (error) {
if (error instanceof errors.NotFoundError) { if (error instanceof errors.NotFoundError) {
return res.status(404).json({ return res.status(404).json({
@ -49,7 +41,8 @@ class ApiRoutesProvider {
let relatedNostrChallenge; let relatedNostrChallenge;
try { try {
relatedNostrChallenge = await services.nostrService.getNostrChallenge( relatedNostrChallenge =
await this.services.nostrService.getNostrChallenge(
signUpChallenge.nostr_challenge_uuid signUpChallenge.nostr_challenge_uuid
); );
} catch (error) { } catch (error) {
@ -71,7 +64,7 @@ class ApiRoutesProvider {
let completedSignUpChallenge; let completedSignUpChallenge;
try { try {
completedSignUpChallenge = completedSignUpChallenge =
await services.invitesService.verifySignUpChallenge(signedEvent); await this.services.invitesService.verifySignUpChallenge(signedEvent);
} catch (error) { } catch (error) {
if (error instanceof errors.ExpiredError) { if (error instanceof errors.ExpiredError) {
return res.status(410).json({ return res.status(410).json({
@ -93,7 +86,7 @@ class ApiRoutesProvider {
} }
} }
await services.sessionService.relateSessionToPublicKey( await this.services.sessionService.relateSessionToPublicKey(
sessionUuid, sessionUuid,
completedSignUpChallenge.public_key completedSignUpChallenge.public_key
); );
@ -104,7 +97,8 @@ class ApiRoutesProvider {
router.get('/login/nostr-challenge', async (req, res) => { router.get('/login/nostr-challenge', async (req, res) => {
let loginChallenge; let loginChallenge;
try { try {
loginChallenge = await services.loginService.createLoginChallenge(); loginChallenge =
await this.services.loginService.createLoginChallenge();
} catch (error) { } catch (error) {
return res.status(500).json({ return res.status(500).json({
success: false, success: false,
@ -114,7 +108,8 @@ class ApiRoutesProvider {
let relatedNostrChallenge; let relatedNostrChallenge;
try { try {
relatedNostrChallenge = await services.nostrService.getNostrChallenge( relatedNostrChallenge =
await this.services.nostrService.getNostrChallenge(
loginChallenge.nostr_challenge_uuid loginChallenge.nostr_challenge_uuid
); );
} catch (error) { } catch (error) {
@ -136,7 +131,7 @@ class ApiRoutesProvider {
let completedLoginChallenge; let completedLoginChallenge;
try { try {
completedLoginChallenge = completedLoginChallenge =
await services.loginService.verifyLoginChallenge(signedEvent); await this.services.loginService.verifyLoginChallenge(signedEvent);
} catch (error) { } catch (error) {
console.log('helo5'); console.log('helo5');
console.log(error); console.log(error);
@ -173,7 +168,7 @@ class ApiRoutesProvider {
} }
console.log('helo?2'); console.log('helo?2');
console.log(completedLoginChallenge); console.log(completedLoginChallenge);
await services.sessionService.relateSessionToPublicKey( await this.services.sessionService.relateSessionToPublicKey(
sessionUuid, sessionUuid,
completedLoginChallenge.public_key completedLoginChallenge.public_key
); );
@ -196,7 +191,7 @@ class ApiRoutesProvider {
}); });
} }
await services.profileService.setContactDetails( await this.services.profileService.setContactDetails(
publicKey, publicKey,
encryptedContactDetails encryptedContactDetails
); );
@ -223,7 +218,7 @@ class ApiRoutesProvider {
}); });
} }
await services.profileService.setNym(publicKey, nym); await this.services.profileService.setNym(publicKey, nym);
return res.status(200).json({ return res.status(200).json({
success: true, success: true,
@ -240,7 +235,7 @@ class ApiRoutesProvider {
const publicKey = req.cookies.publicKey; const publicKey = req.cookies.publicKey;
const offerDetails = req.body.offerDetails; const offerDetails = req.body.offerDetails;
await services.offerService.createOffer(publicKey, offerDetails); await this.services.offerService.createOffer(publicKey, offerDetails);
return res.status(200).json({ return res.status(200).json({
success: true, success: true,
@ -257,7 +252,7 @@ class ApiRoutesProvider {
const offerUuid = req.params.offerUuid; const offerUuid = req.params.offerUuid;
try { try {
await services.offerService.deleteOffer(offerUuid); await this.services.offerService.deleteOffer(offerUuid);
} catch (error) { } catch (error) {
if (error instanceof errors.NotFoundError) { if (error instanceof errors.NotFoundError) {
return res.status(404).json({ return res.status(404).json({
@ -287,7 +282,7 @@ class ApiRoutesProvider {
const publicKey = req.cookies.publicKey; const publicKey = req.cookies.publicKey;
const offers = const offers =
await services.offerService.getOffersByPublicKey(publicKey); await this.services.offerService.getOffersByPublicKey(publicKey);
if (!offers) { if (!offers) {
return res.status(404).json({ return res.status(404).json({