From fa50d865ed6e817f1743bfe1bd42a3cd5c57b6d2 Mon Sep 17 00:00:00 2001 From: William Oldham Date: Mon, 20 Apr 2026 21:50:00 +0100 Subject: [PATCH] fix: more grpc build issues --- src/services/grpc/account/v2/get-user-data.ts | 1 + .../grpc/account/v2/implementation.ts | 44 ++++++++++++++++++- .../account/v2/update-pnid-permissions.ts | 5 +-- 3 files changed, 45 insertions(+), 5 deletions(-) diff --git a/src/services/grpc/account/v2/get-user-data.ts b/src/services/grpc/account/v2/get-user-data.ts index d38202b..fe08a73 100644 --- a/src/services/grpc/account/v2/get-user-data.ts +++ b/src/services/grpc/account/v2/get-user-data.ts @@ -19,6 +19,7 @@ export async function getUserData(request: GetUserDataRequest): Promise { return { + deviceId: device.device_id, model: device.get('model'), // ".model" gives the Mongoose model... serial: device.serial, linkedPids: device.linked_pids, diff --git a/src/services/grpc/account/v2/implementation.ts b/src/services/grpc/account/v2/implementation.ts index d8ed211..a01fb41 100644 --- a/src/services/grpc/account/v2/implementation.ts +++ b/src/services/grpc/account/v2/implementation.ts @@ -1,15 +1,55 @@ +import { ServerError, Status } from 'nice-grpc'; import { getUserData } from '@/services/grpc/account/v2/get-user-data'; import { getNEXPassword } from '@/services/grpc/account/v2/get-nex-password'; import { getNEXData } from '@/services/grpc/account/v2/get-nex-data'; import { updatePNIDPermissions } from '@/services/grpc/account/v2/update-pnid-permissions'; import { exchangeTokenForUserData } from '@/services/grpc/account/v2/exchange-token-for-user-data'; import { deleteAccount } from '@/services/grpc/account/v2/delete-account'; +import type { ServiceImplementation } from 'nice-grpc'; +import type { AccountServiceDefinition } from '@pretendonetwork/grpc/account/v2/account_service'; -export const accountServiceImplementationV2 = { +const notImplemented = (): never => { + throw new ServerError(Status.UNIMPLEMENTED, 'Not implemented'); +}; + +export const accountServiceImplementationV2: ServiceImplementation = { getUserData, getNEXPassword, getNEXData, updatePNIDPermissions, exchangeTokenForUserData, - deleteAccount + deleteAccount, + + // The following methods are not yet implemented + createAuditLogComment: notImplemented, + createBanComment: notImplemented, + createServer: notImplemented, + deleteServer: notImplemented, + deletePNID: notImplemented, + exchangeIndependentServiceTokenForUserData: notImplemented, + exchangeNEXTokenForUserData: notImplemented, + exchangeOAuthTokenForUserData: notImplemented, + exchangePasswordResetTokenForUserData: notImplemented, + getBan: notImplemented, + getDevice: notImplemented, + getNEXAccount: notImplemented, + getPNID: notImplemented, + getServer: notImplemented, + getPNIDs: notImplemented, + issueBan: notImplemented, + listAuditLogComments: notImplemented, + listBans: notImplemented, + listDevices: notImplemented, + listNEXAccounts: notImplemented, + listPNIDs: notImplemented, + listServers: notImplemented, + listAuditLogs: notImplemented, + listBanComments: notImplemented, + pardonBan: notImplemented, + updateBan: notImplemented, + updateDevice: notImplemented, + updateNEXAccount: notImplemented, + updateServer: notImplemented, + updatePNID: notImplemented, + validateIndependentServiceToken: notImplemented }; diff --git a/src/services/grpc/account/v2/update-pnid-permissions.ts b/src/services/grpc/account/v2/update-pnid-permissions.ts index 5ca73e6..7c35031 100644 --- a/src/services/grpc/account/v2/update-pnid-permissions.ts +++ b/src/services/grpc/account/v2/update-pnid-permissions.ts @@ -1,10 +1,9 @@ import { Status, ServerError } from 'nice-grpc'; import { getPNIDByPID } from '@/database'; import { PNID_PERMISSION_FLAGS } from '@/types/common/permission-flags'; -import type { UpdatePNIDPermissionsRequest } from '@pretendonetwork/grpc/account/v2/update_pnid_permissions_rpc'; -import type { Empty } from '@pretendonetwork/grpc/google/protobuf/empty'; +import type { UpdatePNIDPermissionsRequest, UpdatePNIDPermissionsResponse } from '@pretendonetwork/grpc/account/v2/update_pnid_permissions_rpc'; -export async function updatePNIDPermissions(request: UpdatePNIDPermissionsRequest): Promise { +export async function updatePNIDPermissions(request: UpdatePNIDPermissionsRequest): Promise { const pnid = await getPNIDByPID(request.pid); if (!pnid) {