From 83c811f024cd12ddd4841b1b5f33889deca8ea62 Mon Sep 17 00:00:00 2001 From: JohnDoe6345789 Date: Fri, 26 Dec 2025 04:53:19 +0000 Subject: [PATCH] code: nextjs,frontends,package (6 files) --- dbal/cpp/src/daemon/server.cpp | 8 ++++++- .../transfer-super-god-power.test.ts | 23 +++++++++---------- .../server/get-package-catalog-entry.ts | 1 + .../server/install-package-content.ts | 1 + .../server/resolve-package-file-path.ts | 1 + frontends/nextjs/vitest.config.ts | 1 + 6 files changed, 22 insertions(+), 13 deletions(-) create mode 100644 frontends/nextjs/src/lib/packages/server/get-package-catalog-entry.ts create mode 100644 frontends/nextjs/src/lib/packages/server/install-package-content.ts create mode 100644 frontends/nextjs/src/lib/packages/server/resolve-package-file-path.ts diff --git a/dbal/cpp/src/daemon/server.cpp b/dbal/cpp/src/daemon/server.cpp index 79ebc7618..8126e7a98 100644 --- a/dbal/cpp/src/daemon/server.cpp +++ b/dbal/cpp/src/daemon/server.cpp @@ -5,9 +5,15 @@ #include "server.hpp" +#include +#include #include -#include #include +#include +#include +#include +#include "dbal/core/errors.hpp" +#include "dbal/core/types.hpp" namespace { diff --git a/frontends/nextjs/src/lib/db/users/super-god/transfer-super-god-power.test.ts b/frontends/nextjs/src/lib/db/users/super-god/transfer-super-god-power.test.ts index 283ac127e..100a20d2b 100644 --- a/frontends/nextjs/src/lib/db/users/super-god/transfer-super-god-power.test.ts +++ b/frontends/nextjs/src/lib/db/users/super-god/transfer-super-god-power.test.ts @@ -1,40 +1,39 @@ import { describe, it, expect, vi, beforeEach } from 'vitest' -const mockUpdate = vi.fn() -const mockAdapter = { update: mockUpdate } +const mockDbalUpdate = vi.fn() -vi.mock('../dbal-client', () => ({ - getAdapter: () => mockAdapter, +vi.mock('@/lib/dbal/database-dbal/users/dbal-update-user.server', () => ({ + dbalUpdateUser: (id: string, payload: Record) => mockDbalUpdate(id, payload), })) import { transferSuperGodPower } from './transfer-super-god-power' describe('transferSuperGodPower', () => { beforeEach(() => { - mockUpdate.mockReset() + mockDbalUpdate.mockReset() }) it.each([ { fromUserId: 'user_sg', toUserId: 'user_god' }, { fromUserId: 'owner_1', toUserId: 'admin_2' }, - ])('should transfer from $fromUserId to $toUserId', async ({ fromUserId, toUserId }) => { - mockUpdate.mockResolvedValue(undefined) + ])('updates both users when transferring power', async ({ fromUserId, toUserId }) => { + mockDbalUpdate.mockResolvedValue({ id: fromUserId }) await transferSuperGodPower(fromUserId, toUserId) - expect(mockUpdate).toHaveBeenCalledTimes(2) - expect(mockUpdate).toHaveBeenNthCalledWith(1, 'User', fromUserId, { + expect(mockDbalUpdate).toHaveBeenCalledTimes(2) + expect(mockDbalUpdate).toHaveBeenNthCalledWith(1, fromUserId, { isInstanceOwner: false, role: 'god', }) - expect(mockUpdate).toHaveBeenNthCalledWith(2, 'User', toUserId, { + expect(mockDbalUpdate).toHaveBeenNthCalledWith(2, toUserId, { isInstanceOwner: true, role: 'supergod', }) }) - it('should propagate adapter errors', async () => { - mockUpdate.mockRejectedValue(new Error('Transfer failed')) + it('propagates errors from the DBAL client', async () => { + mockDbalUpdate.mockRejectedValue(new Error('Transfer failed')) await expect(transferSuperGodPower('u1', 'u2')).rejects.toThrow('Transfer failed') }) diff --git a/frontends/nextjs/src/lib/packages/server/get-package-catalog-entry.ts b/frontends/nextjs/src/lib/packages/server/get-package-catalog-entry.ts new file mode 100644 index 000000000..437ee3ade --- /dev/null +++ b/frontends/nextjs/src/lib/packages/server/get-package-catalog-entry.ts @@ -0,0 +1 @@ +export { getPackageCatalogEntry } from './getters/functions/get-package-catalog-entry' diff --git a/frontends/nextjs/src/lib/packages/server/install-package-content.ts b/frontends/nextjs/src/lib/packages/server/install-package-content.ts new file mode 100644 index 000000000..b9fead49d --- /dev/null +++ b/frontends/nextjs/src/lib/packages/server/install-package-content.ts @@ -0,0 +1 @@ +export { installPackageContent } from './install/install-package-content' diff --git a/frontends/nextjs/src/lib/packages/server/resolve-package-file-path.ts b/frontends/nextjs/src/lib/packages/server/resolve-package-file-path.ts new file mode 100644 index 000000000..05c0f2525 --- /dev/null +++ b/frontends/nextjs/src/lib/packages/server/resolve-package-file-path.ts @@ -0,0 +1 @@ +export { resolvePackageFilePath } from './getters/functions/resolve-package-file-path' diff --git a/frontends/nextjs/vitest.config.ts b/frontends/nextjs/vitest.config.ts index 4e64f950a..de5d50e2d 100644 --- a/frontends/nextjs/vitest.config.ts +++ b/frontends/nextjs/vitest.config.ts @@ -16,6 +16,7 @@ export default defineConfig({ resolve: { alias: { '@': resolve(__dirname, './src'), + '@/dbal': resolve(__dirname, '../dbal/ts/src'), }, }, })