From 8fd35030245ce623d7939da4cbd66845a744cf61 Mon Sep 17 00:00:00 2001 From: Kristaps Fabians Geikins Date: Tue, 10 Sep 2024 15:45:34 +0300 Subject: [PATCH] chore(server): accessrequests IoC 3 - deleteRequestByIdFactory --- .../accessrequests/repositories/index.ts | 20 ++++++++++--------- .../modules/accessrequests/services/stream.ts | 4 ++-- .../tests/projectAccessRequests.spec.ts | 4 ++-- .../tests/streamAccessRequests.spec.ts | 4 ++-- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/packages/server/modules/accessrequests/repositories/index.ts b/packages/server/modules/accessrequests/repositories/index.ts index cd5bc3000..770be06ff 100644 --- a/packages/server/modules/accessrequests/repositories/index.ts +++ b/packages/server/modules/accessrequests/repositories/index.ts @@ -96,16 +96,18 @@ export const getPendingAccessRequestFactory = return await q } -export async function deleteRequestById(requestId: string) { - if (!requestId) { - throw new InvalidArgumentError('Request ID missing') - } +export const deleteRequestByIdFactory = + (deps: { db: Knex }) => async (requestId: string) => { + if (!requestId) { + throw new InvalidArgumentError('Request ID missing') + } - const q = await ServerAccessRequests.knex() - .where(ServerAccessRequests.col.id, requestId) - .del() - return !!q -} + const q = await tables + .serverAccessRequests(deps.db) + .where(ServerAccessRequests.col.id, requestId) + .del() + return !!q + } type AccessRecordInput< T extends AccessRequestType = AccessRequestType, diff --git a/packages/server/modules/accessrequests/services/stream.ts b/packages/server/modules/accessrequests/services/stream.ts index 5ac398f7c..69125e7cf 100644 --- a/packages/server/modules/accessrequests/services/stream.ts +++ b/packages/server/modules/accessrequests/services/stream.ts @@ -7,7 +7,7 @@ import { StreamAccessRequestGraphQLReturn } from '@/modules/accessrequests/helpe import { AccessRequestType, createNewRequest, - deleteRequestById, + deleteRequestByIdFactory, generateId, getPendingAccessRequestFactory, getPendingAccessRequestsFactory, @@ -178,7 +178,7 @@ export async function processPendingStreamRequest( ) } - await deleteRequestById(req.id) + await deleteRequestByIdFactory({ db })(req.id) await AccessRequestsEmitter.emit(AccessRequestsEmitter.events.Finalized, { request: req, diff --git a/packages/server/modules/accessrequests/tests/projectAccessRequests.spec.ts b/packages/server/modules/accessrequests/tests/projectAccessRequests.spec.ts index 3439b4606..f16eadd84 100644 --- a/packages/server/modules/accessrequests/tests/projectAccessRequests.spec.ts +++ b/packages/server/modules/accessrequests/tests/projectAccessRequests.spec.ts @@ -1,6 +1,6 @@ import { db } from '@/db/knex' import { - deleteRequestById, + deleteRequestByIdFactory, getPendingAccessRequestFactory } from '@/modules/accessrequests/repositories' import { requestProjectAccess } from '@/modules/accessrequests/services/stream' @@ -271,7 +271,7 @@ describe('Project access requests', () => { }) it('returns null if no req found', async () => { - await deleteRequestById(myRequestId) + await deleteRequestByIdFactory({ db })(myRequestId) const results = await getActiveUserReq(otherGuysPrivateStream.id) expect(results).to.not.haveGraphQLErrors() diff --git a/packages/server/modules/accessrequests/tests/streamAccessRequests.spec.ts b/packages/server/modules/accessrequests/tests/streamAccessRequests.spec.ts index 292cca170..5b30dac44 100644 --- a/packages/server/modules/accessrequests/tests/streamAccessRequests.spec.ts +++ b/packages/server/modules/accessrequests/tests/streamAccessRequests.spec.ts @@ -1,7 +1,7 @@ import { buildApolloServer } from '@/app' import { db } from '@/db/knex' import { - deleteRequestById, + deleteRequestByIdFactory, getPendingAccessRequestFactory } from '@/modules/accessrequests/repositories' import { requestStreamAccess } from '@/modules/accessrequests/services/stream' @@ -249,7 +249,7 @@ describe('Stream access requests', () => { }) it('returns null if no req found', async () => { - await deleteRequestById(myRequestId) + await deleteRequestByIdFactory({ db })(myRequestId) const results = await getReq(otherGuysPrivateStream.id) expect(results).to.not.haveGraphQLErrors()