diff --git a/server/integrationApiServer.ts b/server/integrationApiServer.ts index 5c6d50a85..104e02d5c 100644 --- a/server/integrationApiServer.ts +++ b/server/integrationApiServer.ts @@ -157,7 +157,9 @@ function getOpenApiDocumentation() { content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z + .record(z.string(), z.any()) + .nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/private/routers/alertRule/createAlertRule.ts b/server/private/routers/alertRule/createAlertRule.ts index f4a11ad3d..7a46c84ff 100644 --- a/server/private/routers/alertRule/createAlertRule.ts +++ b/server/private/routers/alertRule/createAlertRule.ts @@ -208,7 +208,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/private/routers/alertRule/deleteAlertRule.ts b/server/private/routers/alertRule/deleteAlertRule.ts index b475bb6c3..0439a6622 100644 --- a/server/private/routers/alertRule/deleteAlertRule.ts +++ b/server/private/routers/alertRule/deleteAlertRule.ts @@ -44,7 +44,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), @@ -112,4 +112,4 @@ export async function deleteAlertRule( createHttpError(HttpCode.INTERNAL_SERVER_ERROR, "An error occurred") ); } -} \ No newline at end of file +} diff --git a/server/private/routers/alertRule/getAlertRule.ts b/server/private/routers/alertRule/getAlertRule.ts index dde9093fb..fcbd44f11 100644 --- a/server/private/routers/alertRule/getAlertRule.ts +++ b/server/private/routers/alertRule/getAlertRule.ts @@ -32,7 +32,10 @@ import { OpenAPITags, registry } from "@server/openApi"; import { and, eq } from "drizzle-orm"; import { decrypt } from "@server/lib/crypto"; import config from "@server/lib/config"; -import { GetAlertRuleResponse, WebhookAlertConfig } from "@server/routers/alertRule/types"; +import { + GetAlertRuleResponse, + WebhookAlertConfig +} from "@server/routers/alertRule/types"; const paramsSchema = z .object({ @@ -55,7 +58,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/private/routers/alertRule/listAlertRules.ts b/server/private/routers/alertRule/listAlertRules.ts index 3931da44c..0fc720d66 100644 --- a/server/private/routers/alertRule/listAlertRules.ts +++ b/server/private/routers/alertRule/listAlertRules.ts @@ -101,7 +101,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/private/routers/auditLogs/exportAccessAuditLog.ts b/server/private/routers/auditLogs/exportAccessAuditLog.ts index b83673b33..5c6240b2e 100644 --- a/server/private/routers/auditLogs/exportAccessAuditLog.ts +++ b/server/private/routers/auditLogs/exportAccessAuditLog.ts @@ -44,7 +44,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/private/routers/auditLogs/exportActionAuditLog.ts b/server/private/routers/auditLogs/exportActionAuditLog.ts index 0d707c41e..112f03fb4 100644 --- a/server/private/routers/auditLogs/exportActionAuditLog.ts +++ b/server/private/routers/auditLogs/exportActionAuditLog.ts @@ -44,7 +44,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/private/routers/auditLogs/exportConnectionAuditLog.ts b/server/private/routers/auditLogs/exportConnectionAuditLog.ts index 1115d23ad..a20d4052a 100644 --- a/server/private/routers/auditLogs/exportConnectionAuditLog.ts +++ b/server/private/routers/auditLogs/exportConnectionAuditLog.ts @@ -44,7 +44,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), @@ -72,7 +72,9 @@ export async function exportConnectionAuditLogs( ); } - const parsedParams = queryConnectionAuditLogsParams.safeParse(req.params); + const parsedParams = queryConnectionAuditLogsParams.safeParse( + req.params + ); if (!parsedParams.success) { return next( createHttpError( @@ -112,4 +114,4 @@ export async function exportConnectionAuditLogs( createHttpError(HttpCode.INTERNAL_SERVER_ERROR, "An error occurred") ); } -} \ No newline at end of file +} diff --git a/server/private/routers/auditLogs/queryAccessAuditLog.ts b/server/private/routers/auditLogs/queryAccessAuditLog.ts index 570621216..0feca4154 100644 --- a/server/private/routers/auditLogs/queryAccessAuditLog.ts +++ b/server/private/routers/auditLogs/queryAccessAuditLog.ts @@ -11,7 +11,14 @@ * This file is not licensed under the AGPLv3. */ -import { accessAuditLog, logsDb, resources, siteResources, db, primaryDb } from "@server/db"; +import { + accessAuditLog, + logsDb, + resources, + siteResources, + db, + primaryDb +} from "@server/db"; import { registry } from "@server/openApi"; import { NextFunction } from "express"; import { Request, Response } from "express"; @@ -150,21 +157,30 @@ export function queryAccess(data: Q) { .orderBy(desc(accessAuditLog.timestamp), desc(accessAuditLog.id)); } -async function enrichWithResourceDetails(logs: Awaited>) { +async function enrichWithResourceDetails( + logs: Awaited> +) { const resourceIds = logs - .map(log => log.resourceId) + .map((log) => log.resourceId) .filter((id): id is number => id !== null && id !== undefined); const siteResourceIds = logs - .filter(log => log.resourceId == null && log.siteResourceId != null) - .map(log => log.siteResourceId) + .filter((log) => log.resourceId == null && log.siteResourceId != null) + .map((log) => log.siteResourceId) .filter((id): id is number => id !== null && id !== undefined); if (resourceIds.length === 0 && siteResourceIds.length === 0) { - return logs.map(log => ({ ...log, resourceName: null, resourceNiceId: null })); + return logs.map((log) => ({ + ...log, + resourceName: null, + resourceNiceId: null + })); } - const resourceMap = new Map(); + const resourceMap = new Map< + number, + { name: string | null; niceId: string | null } + >(); if (resourceIds.length > 0) { const resourceDetails = await primaryDb @@ -181,7 +197,10 @@ async function enrichWithResourceDetails(logs: Awaited(); + const siteResourceMap = new Map< + number, + { name: string | null; niceId: string | null } + >(); if (siteResourceIds.length > 0) { const siteResourceDetails = await primaryDb @@ -194,12 +213,15 @@ async function enrichWithResourceDetails(logs: Awaited { + return logs.map((log) => { if (log.resourceId != null) { const details = resourceMap.get(log.resourceId); return { @@ -273,11 +295,11 @@ async function queryUniqueFilterAttributes( // Fetch resource names from main database for the unique resource IDs const resourceIds = uniqueResources - .map(row => row.id) + .map((row) => row.id) .filter((id): id is number => id !== null); const siteResourceIds = uniqueSiteResources - .map(row => row.id) + .map((row) => row.id) .filter((id): id is number => id !== null); let resourcesWithNames: Array<{ id: number; name: string | null }> = []; @@ -293,7 +315,7 @@ async function queryUniqueFilterAttributes( resourcesWithNames = [ ...resourcesWithNames, - ...resourceDetails.map(r => ({ + ...resourceDetails.map((r) => ({ id: r.resourceId, name: r.name })) @@ -311,7 +333,7 @@ async function queryUniqueFilterAttributes( resourcesWithNames = [ ...resourcesWithNames, - ...siteResourceDetails.map(r => ({ + ...siteResourceDetails.map((r) => ({ id: r.siteResourceId, name: r.name })) @@ -344,7 +366,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/private/routers/auditLogs/queryActionAuditLog.ts b/server/private/routers/auditLogs/queryActionAuditLog.ts index 56f2f0201..271929875 100644 --- a/server/private/routers/auditLogs/queryActionAuditLog.ts +++ b/server/private/routers/auditLogs/queryActionAuditLog.ts @@ -171,7 +171,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/private/routers/auditLogs/queryConnectionAuditLog.ts b/server/private/routers/auditLogs/queryConnectionAuditLog.ts index e6dd2f6a5..e214d0c66 100644 --- a/server/private/routers/auditLogs/queryConnectionAuditLog.ts +++ b/server/private/routers/auditLogs/queryConnectionAuditLog.ts @@ -459,7 +459,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/private/routers/billing/getOrgUsage.ts b/server/private/routers/billing/getOrgUsage.ts index ad2102df5..718559654 100644 --- a/server/private/routers/billing/getOrgUsage.ts +++ b/server/private/routers/billing/getOrgUsage.ts @@ -45,7 +45,7 @@ const getOrgSchema = z.strictObject({ // content: { // "application/json": { // schema: z.object({ -// data: z.unknown().nullable(), +// data: z.record(z.string(), z.any()).nullable(), // success: z.boolean(), // error: z.boolean(), // message: z.string(), diff --git a/server/private/routers/certificates/getCertificate.ts b/server/private/routers/certificates/getCertificate.ts index c365d3d7b..60a6de59f 100644 --- a/server/private/routers/certificates/getCertificate.ts +++ b/server/private/routers/certificates/getCertificate.ts @@ -121,7 +121,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/private/routers/certificates/restartCertificate.ts b/server/private/routers/certificates/restartCertificate.ts index 50c747f7b..9c3cbb8cc 100644 --- a/server/private/routers/certificates/restartCertificate.ts +++ b/server/private/routers/certificates/restartCertificate.ts @@ -46,7 +46,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/private/routers/domain/checkDomainNamespaceAvailability.ts b/server/private/routers/domain/checkDomainNamespaceAvailability.ts index c5320c1f6..b2bfb8923 100644 --- a/server/private/routers/domain/checkDomainNamespaceAvailability.ts +++ b/server/private/routers/domain/checkDomainNamespaceAvailability.ts @@ -29,7 +29,7 @@ import { tierMatrix } from "@server/lib/billing/tierMatrix"; const paramsSchema = z.strictObject({}); const querySchema = z.strictObject({ - subdomain: z.string(), + subdomain: z.string() // orgId: build === "saas" ? z.string() : z.string().optional() // Required for saas, optional otherwise }); @@ -48,7 +48,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/private/routers/eventStreamingDestination/deleteEventStreamingDestination.ts b/server/private/routers/eventStreamingDestination/deleteEventStreamingDestination.ts index 13b54ef17..5aa4bf314 100644 --- a/server/private/routers/eventStreamingDestination/deleteEventStreamingDestination.ts +++ b/server/private/routers/eventStreamingDestination/deleteEventStreamingDestination.ts @@ -33,7 +33,8 @@ const paramsSchema = z registry.registerPath({ method: "delete", path: "/org/{orgId}/event-streaming-destination/{destinationId}", - description: "Delete an event streaming destination for a specific organization.", + description: + "Delete an event streaming destination for a specific organization.", tags: [OpenAPITags.Org], request: { params: paramsSchema @@ -44,7 +45,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), @@ -115,4 +116,4 @@ export async function deleteEventStreamingDestination( createHttpError(HttpCode.INTERNAL_SERVER_ERROR, "An error occurred") ); } -} \ No newline at end of file +} diff --git a/server/private/routers/healthChecks/deleteHealthCheck.ts b/server/private/routers/healthChecks/deleteHealthCheck.ts index b5d054783..90bb41e50 100644 --- a/server/private/routers/healthChecks/deleteHealthCheck.ts +++ b/server/private/routers/healthChecks/deleteHealthCheck.ts @@ -47,7 +47,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/private/routers/healthChecks/listHealthChecks.ts b/server/private/routers/healthChecks/listHealthChecks.ts index c0198d96e..0d18b881e 100644 --- a/server/private/routers/healthChecks/listHealthChecks.ts +++ b/server/private/routers/healthChecks/listHealthChecks.ts @@ -74,7 +74,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/private/routers/orgIdp/createOrgOidcIdp.ts b/server/private/routers/orgIdp/createOrgOidcIdp.ts index c829f0c84..8b214b895 100644 --- a/server/private/routers/orgIdp/createOrgOidcIdp.ts +++ b/server/private/routers/orgIdp/createOrgOidcIdp.ts @@ -69,7 +69,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), @@ -127,7 +127,8 @@ export async function createOrgOidcIdp( let { autoProvision } = parsedBody.data; - if (build == "saas") { // this is not paywalled with a ee license because this whole endpoint is restricted + if (build == "saas") { + // this is not paywalled with a ee license because this whole endpoint is restricted const subscribed = await isSubscribed( orgId, tierMatrix.deviceApprovals diff --git a/server/private/routers/orgIdp/deleteOrgIdp.ts b/server/private/routers/orgIdp/deleteOrgIdp.ts index 2007f180e..f7cfd82bf 100644 --- a/server/private/routers/orgIdp/deleteOrgIdp.ts +++ b/server/private/routers/orgIdp/deleteOrgIdp.ts @@ -44,7 +44,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/private/routers/orgIdp/getOrgIdp.ts b/server/private/routers/orgIdp/getOrgIdp.ts index a2f29a57f..e22929d46 100644 --- a/server/private/routers/orgIdp/getOrgIdp.ts +++ b/server/private/routers/orgIdp/getOrgIdp.ts @@ -62,7 +62,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/private/routers/orgIdp/listOrgIdps.ts b/server/private/routers/orgIdp/listOrgIdps.ts index 672fbc054..66a2da2fe 100644 --- a/server/private/routers/orgIdp/listOrgIdps.ts +++ b/server/private/routers/orgIdp/listOrgIdps.ts @@ -78,7 +78,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/private/routers/user/addUserRole.ts b/server/private/routers/user/addUserRole.ts index a59993a5d..c59a3d0f7 100644 --- a/server/private/routers/user/addUserRole.ts +++ b/server/private/routers/user/addUserRole.ts @@ -44,7 +44,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/private/routers/user/removeUserRole.ts b/server/private/routers/user/removeUserRole.ts index de099be6d..b96670815 100644 --- a/server/private/routers/user/removeUserRole.ts +++ b/server/private/routers/user/removeUserRole.ts @@ -45,7 +45,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/accessToken/deleteAccessToken.ts b/server/routers/accessToken/deleteAccessToken.ts index 405d4e68e..82344630c 100644 --- a/server/routers/accessToken/deleteAccessToken.ts +++ b/server/routers/accessToken/deleteAccessToken.ts @@ -28,7 +28,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/accessToken/generateAccessToken.ts b/server/routers/accessToken/generateAccessToken.ts index fd03bc06d..a06068c01 100644 --- a/server/routers/accessToken/generateAccessToken.ts +++ b/server/routers/accessToken/generateAccessToken.ts @@ -61,7 +61,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/accessToken/listAccessTokens.ts b/server/routers/accessToken/listAccessTokens.ts index 88ff07b27..0339cc2c4 100644 --- a/server/routers/accessToken/listAccessTokens.ts +++ b/server/routers/accessToken/listAccessTokens.ts @@ -135,7 +135,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), @@ -164,7 +164,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/apiKeys/deleteApiKey.ts b/server/routers/apiKeys/deleteApiKey.ts index 07d00d727..895ebf560 100644 --- a/server/routers/apiKeys/deleteApiKey.ts +++ b/server/routers/apiKeys/deleteApiKey.ts @@ -28,7 +28,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/apiKeys/setApiKeyActions.ts b/server/routers/apiKeys/setApiKeyActions.ts index e31e8b8b9..62c06ba73 100644 --- a/server/routers/apiKeys/setApiKeyActions.ts +++ b/server/routers/apiKeys/setApiKeyActions.ts @@ -42,7 +42,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/auditLogs/exportRequestAuditLog.ts b/server/routers/auditLogs/exportRequestAuditLog.ts index 1b4eede00..156f85113 100644 --- a/server/routers/auditLogs/exportRequestAuditLog.ts +++ b/server/routers/auditLogs/exportRequestAuditLog.ts @@ -35,7 +35,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/auditLogs/queryRequestAnalytics.ts b/server/routers/auditLogs/queryRequestAnalytics.ts index 62b0bd75e..7f8aaf047 100644 --- a/server/routers/auditLogs/queryRequestAnalytics.ts +++ b/server/routers/auditLogs/queryRequestAnalytics.ts @@ -162,7 +162,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/auditLogs/queryRequestAuditLog.ts b/server/routers/auditLogs/queryRequestAuditLog.ts index 14bbb3c4d..f14c28cf1 100644 --- a/server/routers/auditLogs/queryRequestAuditLog.ts +++ b/server/routers/auditLogs/queryRequestAuditLog.ts @@ -1,4 +1,11 @@ -import { logsDb, requestAuditLog, resources, siteResources, db, primaryDb } from "@server/db"; +import { + logsDb, + requestAuditLog, + resources, + siteResources, + db, + primaryDb +} from "@server/db"; import { registry } from "@server/openApi"; import { NextFunction } from "express"; import { Request, Response } from "express"; @@ -127,16 +134,16 @@ export function queryRequest(data: Q) { return logsDb .select({ id: requestAuditLog.id, - timestamp: requestAuditLog.timestamp, - orgId: requestAuditLog.orgId, - action: requestAuditLog.action, - reason: requestAuditLog.reason, - actorType: requestAuditLog.actorType, - actor: requestAuditLog.actor, - actorId: requestAuditLog.actorId, - resourceId: requestAuditLog.resourceId, - siteResourceId: requestAuditLog.siteResourceId, - ip: requestAuditLog.ip, + timestamp: requestAuditLog.timestamp, + orgId: requestAuditLog.orgId, + action: requestAuditLog.action, + reason: requestAuditLog.reason, + actorType: requestAuditLog.actorType, + actor: requestAuditLog.actor, + actorId: requestAuditLog.actorId, + resourceId: requestAuditLog.resourceId, + siteResourceId: requestAuditLog.siteResourceId, + ip: requestAuditLog.ip, location: requestAuditLog.location, userAgent: requestAuditLog.userAgent, metadata: requestAuditLog.metadata, @@ -154,21 +161,30 @@ export function queryRequest(data: Q) { .orderBy(desc(requestAuditLog.timestamp)); } -async function enrichWithResourceDetails(logs: Awaited>) { +async function enrichWithResourceDetails( + logs: Awaited> +) { const resourceIds = logs - .map(log => log.resourceId) + .map((log) => log.resourceId) .filter((id): id is number => id !== null && id !== undefined); const siteResourceIds = logs - .filter(log => log.resourceId == null && log.siteResourceId != null) - .map(log => log.siteResourceId) + .filter((log) => log.resourceId == null && log.siteResourceId != null) + .map((log) => log.siteResourceId) .filter((id): id is number => id !== null && id !== undefined); if (resourceIds.length === 0 && siteResourceIds.length === 0) { - return logs.map(log => ({ ...log, resourceName: null, resourceNiceId: null })); + return logs.map((log) => ({ + ...log, + resourceName: null, + resourceNiceId: null + })); } - const resourceMap = new Map(); + const resourceMap = new Map< + number, + { name: string | null; niceId: string | null } + >(); if (resourceIds.length > 0) { const resourceDetails = await primaryDb @@ -185,7 +201,10 @@ async function enrichWithResourceDetails(logs: Awaited(); + const siteResourceMap = new Map< + number, + { name: string | null; niceId: string | null } + >(); if (siteResourceIds.length > 0) { const siteResourceDetails = await primaryDb @@ -198,12 +217,15 @@ async function enrichWithResourceDetails(logs: Awaited { + return logs.map((log) => { if (log.resourceId != null) { const details = resourceMap.get(log.resourceId); return { @@ -247,7 +269,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), @@ -333,11 +355,11 @@ async function queryUniqueFilterAttributes( // Fetch resource names from main database for the unique resource IDs const resourceIds = uniqueResources - .map(row => row.id) + .map((row) => row.id) .filter((id): id is number => id !== null); const siteResourceIds = uniqueSiteResources - .map(row => row.id) + .map((row) => row.id) .filter((id): id is number => id !== null); let resourcesWithNames: Array<{ id: number; name: string | null }> = []; @@ -353,7 +375,7 @@ async function queryUniqueFilterAttributes( resourcesWithNames = [ ...resourcesWithNames, - ...resourceDetails.map(r => ({ + ...resourceDetails.map((r) => ({ id: r.resourceId, name: r.name })) @@ -371,7 +393,7 @@ async function queryUniqueFilterAttributes( resourcesWithNames = [ ...resourcesWithNames, - ...siteResourceDetails.map(r => ({ + ...siteResourceDetails.map((r) => ({ id: r.siteResourceId, name: r.name })) diff --git a/server/routers/auth/lookupUser.ts b/server/routers/auth/lookupUser.ts index d086cf4e1..dc32d5bb6 100644 --- a/server/routers/auth/lookupUser.ts +++ b/server/routers/auth/lookupUser.ts @@ -1,14 +1,7 @@ import { Request, Response, NextFunction } from "express"; import { z } from "zod"; import { db } from "@server/db"; -import { - users, - userOrgs, - orgs, - idpOrg, - idp, - idpOidcConfig -} from "@server/db"; +import { users, userOrgs, orgs, idpOrg, idp, idpOidcConfig } from "@server/db"; import { eq, or, sql, and, isNotNull, inArray } from "drizzle-orm"; import response from "@server/lib/response"; import HttpCode from "@server/types/HttpCode"; @@ -57,7 +50,7 @@ export type LookupUserResponse = { // content: { // "application/json": { // schema: z.object({ -// data: z.unknown().nullable(), +// data: z.record(z.string(), z.any()).nullable(), // success: z.boolean(), // error: z.boolean(), // message: z.string(), @@ -169,46 +162,54 @@ export async function lookupUser( ); // Deduplicate orgs (user might have multiple memberships in same org) - const uniqueOrgs = new Map(); + const uniqueOrgs = new Map< + string, + (typeof userOrgMemberships)[0] + >(); for (const membership of userOrgMemberships) { if (!uniqueOrgs.has(membership.orgId)) { uniqueOrgs.set(membership.orgId, membership); } } - const orgsData = Array.from(uniqueOrgs.values()).map((membership) => { - // Get IdPs for this org where the user (with the exact identifier) is authenticated via that IdP - // Only show IdPs where the user's idpId matches - // Internal users don't have an idpId, so they won't see any IdPs - const orgIdpsList = orgIdps - .filter((idp) => { - if (idp.orgId !== membership.orgId) { + const orgsData = Array.from(uniqueOrgs.values()).map( + (membership) => { + // Get IdPs for this org where the user (with the exact identifier) is authenticated via that IdP + // Only show IdPs where the user's idpId matches + // Internal users don't have an idpId, so they won't see any IdPs + const orgIdpsList = orgIdps + .filter((idp) => { + if (idp.orgId !== membership.orgId) { + return false; + } + // Only show IdPs where the user (with exact identifier) is authenticated via that IdP + // This means user.idpId must match idp.idpId + if ( + user.idpId !== null && + user.idpId === idp.idpId + ) { + return true; + } return false; - } - // Only show IdPs where the user (with exact identifier) is authenticated via that IdP - // This means user.idpId must match idp.idpId - if (user.idpId !== null && user.idpId === idp.idpId) { - return true; - } - return false; - }) - .map((idp) => ({ - idpId: idp.idpId, - name: idp.idpName, - variant: idp.variant - })); + }) + .map((idp) => ({ + idpId: idp.idpId, + name: idp.idpName, + variant: idp.variant + })); - // Check if user has internal auth for this org - // User has internal auth if they have an internal account type - const orgHasInternalAuth = hasInternalAuth; + // Check if user has internal auth for this org + // User has internal auth if they have an internal account type + const orgHasInternalAuth = hasInternalAuth; - return { - orgId: membership.orgId, - orgName: membership.orgName, - idps: orgIdpsList, - hasInternalAuth: orgHasInternalAuth - }; - }); + return { + orgId: membership.orgId, + orgName: membership.orgName, + idps: orgIdpsList, + hasInternalAuth: orgHasInternalAuth + }; + } + ); accounts.push({ userId: user.userId, diff --git a/server/routers/blueprints/applyJSONBlueprint.ts b/server/routers/blueprints/applyJSONBlueprint.ts index cd7026a9a..8ad41e9e4 100644 --- a/server/routers/blueprints/applyJSONBlueprint.ts +++ b/server/routers/blueprints/applyJSONBlueprint.ts @@ -37,7 +37,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/blueprints/applyYAMLBlueprint.ts b/server/routers/blueprints/applyYAMLBlueprint.ts index 5ddebeb67..9809e6971 100644 --- a/server/routers/blueprints/applyYAMLBlueprint.ts +++ b/server/routers/blueprints/applyYAMLBlueprint.ts @@ -60,7 +60,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/blueprints/getBlueprint.ts b/server/routers/blueprints/getBlueprint.ts index 4bad8ee3f..9f56c04d5 100644 --- a/server/routers/blueprints/getBlueprint.ts +++ b/server/routers/blueprints/getBlueprint.ts @@ -62,7 +62,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/blueprints/listBlueprints.ts b/server/routers/blueprints/listBlueprints.ts index f94bd9978..ab9ac604e 100644 --- a/server/routers/blueprints/listBlueprints.ts +++ b/server/routers/blueprints/listBlueprints.ts @@ -80,7 +80,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/client/archiveClient.ts b/server/routers/client/archiveClient.ts index 25ea06f7d..9d6254b8f 100644 --- a/server/routers/client/archiveClient.ts +++ b/server/routers/client/archiveClient.ts @@ -28,7 +28,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/client/blockClient.ts b/server/routers/client/blockClient.ts index 1a7cb48c4..659cd864f 100644 --- a/server/routers/client/blockClient.ts +++ b/server/routers/client/blockClient.ts @@ -30,7 +30,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), @@ -94,7 +94,11 @@ export async function blockClient( // Send terminate signal if there's an associated OLM and it's connected if (client.olmId && client.online) { - await sendTerminateClient(client.clientId, OlmErrorCodes.TERMINATED_BLOCKED, client.olmId); + await sendTerminateClient( + client.clientId, + OlmErrorCodes.TERMINATED_BLOCKED, + client.olmId + ); } }); diff --git a/server/routers/client/createClient.ts b/server/routers/client/createClient.ts index ddf8f3dbf..ecda098c5 100644 --- a/server/routers/client/createClient.ts +++ b/server/routers/client/createClient.ts @@ -65,7 +65,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/client/createUserClient.ts b/server/routers/client/createUserClient.ts index c51c4fe6a..09bec218a 100644 --- a/server/routers/client/createUserClient.ts +++ b/server/routers/client/createUserClient.ts @@ -66,7 +66,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/client/deleteClient.ts b/server/routers/client/deleteClient.ts index 21d6f1c9f..24ab9917a 100644 --- a/server/routers/client/deleteClient.ts +++ b/server/routers/client/deleteClient.ts @@ -31,7 +31,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/client/getClient.ts b/server/routers/client/getClient.ts index 936d62b7d..21b49cf7a 100644 --- a/server/routers/client/getClient.ts +++ b/server/routers/client/getClient.ts @@ -259,7 +259,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), @@ -287,7 +287,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), @@ -340,18 +340,18 @@ export async function getClient( // Build fingerprint data if available const fingerprintData = client.currentFingerprint ? { - username: client.currentFingerprint.username || null, - hostname: client.currentFingerprint.hostname || null, - platform: client.currentFingerprint.platform || null, - osVersion: client.currentFingerprint.osVersion || null, - kernelVersion: - client.currentFingerprint.kernelVersion || null, - arch: client.currentFingerprint.arch || null, - deviceModel: client.currentFingerprint.deviceModel || null, - serialNumber: client.currentFingerprint.serialNumber || null, - firstSeen: client.currentFingerprint.firstSeen || null, - lastSeen: client.currentFingerprint.lastSeen || null - } + username: client.currentFingerprint.username || null, + hostname: client.currentFingerprint.hostname || null, + platform: client.currentFingerprint.platform || null, + osVersion: client.currentFingerprint.osVersion || null, + kernelVersion: + client.currentFingerprint.kernelVersion || null, + arch: client.currentFingerprint.arch || null, + deviceModel: client.currentFingerprint.deviceModel || null, + serialNumber: client.currentFingerprint.serialNumber || null, + firstSeen: client.currentFingerprint.firstSeen || null, + lastSeen: client.currentFingerprint.lastSeen || null + } : null; // Build posture data if available (platform-specific) diff --git a/server/routers/client/listClients.ts b/server/routers/client/listClients.ts index 1fffdcba9..9178c27a5 100644 --- a/server/routers/client/listClients.ts +++ b/server/routers/client/listClients.ts @@ -218,7 +218,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/client/listUserDevices.ts b/server/routers/client/listUserDevices.ts index 82b52577e..5a864f93b 100644 --- a/server/routers/client/listUserDevices.ts +++ b/server/routers/client/listUserDevices.ts @@ -219,7 +219,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/client/unarchiveClient.ts b/server/routers/client/unarchiveClient.ts index e8b3aef5a..4ca2503ca 100644 --- a/server/routers/client/unarchiveClient.ts +++ b/server/routers/client/unarchiveClient.ts @@ -28,7 +28,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/client/unblockClient.ts b/server/routers/client/unblockClient.ts index fa02394a5..f0c1cff1d 100644 --- a/server/routers/client/unblockClient.ts +++ b/server/routers/client/unblockClient.ts @@ -28,7 +28,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/client/updateClient.ts b/server/routers/client/updateClient.ts index f8794960c..2c1eccd48 100644 --- a/server/routers/client/updateClient.ts +++ b/server/routers/client/updateClient.ts @@ -42,7 +42,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/domain/getDNSRecords.ts b/server/routers/domain/getDNSRecords.ts index 8a557c6cf..a064d5c9f 100644 --- a/server/routers/domain/getDNSRecords.ts +++ b/server/routers/domain/getDNSRecords.ts @@ -43,7 +43,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/domain/getDomain.ts b/server/routers/domain/getDomain.ts index 3c484505b..9c5d2bd88 100644 --- a/server/routers/domain/getDomain.ts +++ b/server/routers/domain/getDomain.ts @@ -44,7 +44,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/idp/deleteIdp.ts b/server/routers/idp/deleteIdp.ts index e6d330263..e2447a42c 100644 --- a/server/routers/idp/deleteIdp.ts +++ b/server/routers/idp/deleteIdp.ts @@ -31,7 +31,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/idp/deleteIdpOrgPolicy.ts b/server/routers/idp/deleteIdpOrgPolicy.ts index 716de4a9d..27842404b 100644 --- a/server/routers/idp/deleteIdpOrgPolicy.ts +++ b/server/routers/idp/deleteIdpOrgPolicy.ts @@ -29,7 +29,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/idp/getIdp.ts b/server/routers/idp/getIdp.ts index 23f7990d5..10aa71c8b 100644 --- a/server/routers/idp/getIdp.ts +++ b/server/routers/idp/getIdp.ts @@ -44,7 +44,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/olm/createUserOlm.ts b/server/routers/olm/createUserOlm.ts index 486546ada..714fb4b35 100644 --- a/server/routers/olm/createUserOlm.ts +++ b/server/routers/olm/createUserOlm.ts @@ -49,7 +49,7 @@ export type CreateOlmResponse = { // content: { // "application/json": { // schema: z.object({ -// data: z.unknown().nullable(), +// data: z.record(z.string(), z.any()).nullable(), // success: z.boolean(), // error: z.boolean(), // message: z.string(), diff --git a/server/routers/olm/deleteUserOlm.ts b/server/routers/olm/deleteUserOlm.ts index df9328dd3..861a413d8 100644 --- a/server/routers/olm/deleteUserOlm.ts +++ b/server/routers/olm/deleteUserOlm.ts @@ -34,7 +34,7 @@ const paramsSchema = z // content: { // "application/json": { // schema: z.object({ -// data: z.unknown().nullable(), +// data: z.record(z.string(), z.any()).nullable(), // success: z.boolean(), // error: z.boolean(), // message: z.string(), diff --git a/server/routers/olm/getUserOlm.ts b/server/routers/olm/getUserOlm.ts index 534ae3bb7..b3f09a2b2 100644 --- a/server/routers/olm/getUserOlm.ts +++ b/server/routers/olm/getUserOlm.ts @@ -36,7 +36,7 @@ const querySchema = z.object({ // content: { // "application/json": { // schema: z.object({ -// data: z.unknown().nullable(), +// data: z.record(z.string(), z.any()).nullable(), // success: z.boolean(), // error: z.boolean(), // message: z.string(), diff --git a/server/routers/olm/listUserOlms.ts b/server/routers/olm/listUserOlms.ts index d6ac26819..b2db262e6 100644 --- a/server/routers/olm/listUserOlms.ts +++ b/server/routers/olm/listUserOlms.ts @@ -47,7 +47,7 @@ const paramsSchema = z // content: { // "application/json": { // schema: z.object({ -// data: z.unknown().nullable(), +// data: z.record(z.string(), z.any()).nullable(), // success: z.boolean(), // error: z.boolean(), // message: z.string(), diff --git a/server/routers/org/checkOrgUserAccess.ts b/server/routers/org/checkOrgUserAccess.ts index c40c85aaa..78afee701 100644 --- a/server/routers/org/checkOrgUserAccess.ts +++ b/server/routers/org/checkOrgUserAccess.ts @@ -49,10 +49,7 @@ async function queryUser(orgId: string, userId: string) { .from(userOrgRoles) .leftJoin(roles, eq(userOrgRoles.roleId, roles.roleId)) .where( - and( - eq(userOrgRoles.userId, userId), - eq(userOrgRoles.orgId, orgId) - ) + and(eq(userOrgRoles.userId, userId), eq(userOrgRoles.orgId, orgId)) ); const isAdmin = roleRows.some((r) => r.isAdmin); @@ -89,7 +86,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/org/createOrg.ts b/server/routers/org/createOrg.ts index a195e3a33..7b2b1f87a 100644 --- a/server/routers/org/createOrg.ts +++ b/server/routers/org/createOrg.ts @@ -80,7 +80,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/org/deleteOrg.ts b/server/routers/org/deleteOrg.ts index 5beffb536..a81b23504 100644 --- a/server/routers/org/deleteOrg.ts +++ b/server/routers/org/deleteOrg.ts @@ -30,7 +30,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/org/listUserOrgs.ts b/server/routers/org/listUserOrgs.ts index 465dd5801..c48f2fa91 100644 --- a/server/routers/org/listUserOrgs.ts +++ b/server/routers/org/listUserOrgs.ts @@ -43,7 +43,7 @@ const listOrgsSchema = z.object({ // content: { // "application/json": { // schema: z.object({ -// data: z.unknown().nullable(), +// data: z.record(z.string(), z.any()).nullable(), // success: z.boolean(), // error: z.boolean(), // message: z.string(), diff --git a/server/routers/org/resetOrgBandwidth.ts b/server/routers/org/resetOrgBandwidth.ts index 41ad761e3..0e605dba1 100644 --- a/server/routers/org/resetOrgBandwidth.ts +++ b/server/routers/org/resetOrgBandwidth.ts @@ -27,7 +27,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/org/updateOrg.ts b/server/routers/org/updateOrg.ts index 2f20d3760..f98bdec27 100644 --- a/server/routers/org/updateOrg.ts +++ b/server/routers/org/updateOrg.ts @@ -68,7 +68,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/addEmailToResourceWhitelist.ts b/server/routers/resource/addEmailToResourceWhitelist.ts index 1ad10000f..506c2caa9 100644 --- a/server/routers/resource/addEmailToResourceWhitelist.ts +++ b/server/routers/resource/addEmailToResourceWhitelist.ts @@ -46,7 +46,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/addRoleToResource.ts b/server/routers/resource/addRoleToResource.ts index 5637cf8f8..26cac1bf8 100644 --- a/server/routers/resource/addRoleToResource.ts +++ b/server/routers/resource/addRoleToResource.ts @@ -46,7 +46,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/addUserToResource.ts b/server/routers/resource/addUserToResource.ts index 0b749e04f..4b095be84 100644 --- a/server/routers/resource/addUserToResource.ts +++ b/server/routers/resource/addUserToResource.ts @@ -46,7 +46,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/createResource.ts b/server/routers/resource/createResource.ts index 0bb90e7b8..b9547bfbf 100644 --- a/server/routers/resource/createResource.ts +++ b/server/routers/resource/createResource.ts @@ -168,7 +168,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/createResourceRule.ts b/server/routers/resource/createResourceRule.ts index 14ac69fcc..9d2261338 100644 --- a/server/routers/resource/createResourceRule.ts +++ b/server/routers/resource/createResourceRule.ts @@ -49,7 +49,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/deleteResource.ts b/server/routers/resource/deleteResource.ts index fa8bd96bf..a959611ec 100644 --- a/server/routers/resource/deleteResource.ts +++ b/server/routers/resource/deleteResource.ts @@ -37,7 +37,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/deleteResourceRule.ts b/server/routers/resource/deleteResourceRule.ts index a3a1543f8..c619a693e 100644 --- a/server/routers/resource/deleteResourceRule.ts +++ b/server/routers/resource/deleteResourceRule.ts @@ -29,7 +29,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/getResource.ts b/server/routers/resource/getResource.ts index 3a650578c..62b7d51e8 100644 --- a/server/routers/resource/getResource.ts +++ b/server/routers/resource/getResource.ts @@ -66,7 +66,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), @@ -94,7 +94,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/getResourceWhitelist.ts b/server/routers/resource/getResourceWhitelist.ts index c773f89b9..2d882d49e 100644 --- a/server/routers/resource/getResourceWhitelist.ts +++ b/server/routers/resource/getResourceWhitelist.ts @@ -54,7 +54,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/listAllResourceNames.ts b/server/routers/resource/listAllResourceNames.ts index 7c4f18b35..e38a3fd69 100644 --- a/server/routers/resource/listAllResourceNames.ts +++ b/server/routers/resource/listAllResourceNames.ts @@ -45,7 +45,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/listResourceRoles.ts b/server/routers/resource/listResourceRoles.ts index 4ee3f9535..ea4d07f64 100644 --- a/server/routers/resource/listResourceRoles.ts +++ b/server/routers/resource/listResourceRoles.ts @@ -58,7 +58,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/listResourceRules.ts b/server/routers/resource/listResourceRules.ts index 76d6fb97e..6b9df688a 100644 --- a/server/routers/resource/listResourceRules.ts +++ b/server/routers/resource/listResourceRules.ts @@ -82,7 +82,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/listResourceUsers.ts b/server/routers/resource/listResourceUsers.ts index 292edf3cd..c99dbf0ad 100644 --- a/server/routers/resource/listResourceUsers.ts +++ b/server/routers/resource/listResourceUsers.ts @@ -48,7 +48,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/listResources.ts b/server/routers/resource/listResources.ts index 8e0a03384..db53e4d75 100644 --- a/server/routers/resource/listResources.ts +++ b/server/routers/resource/listResources.ts @@ -403,7 +403,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/listUserResourceAliases.ts b/server/routers/resource/listUserResourceAliases.ts index ae71c3708..1199a6cf2 100644 --- a/server/routers/resource/listUserResourceAliases.ts +++ b/server/routers/resource/listUserResourceAliases.ts @@ -82,7 +82,7 @@ export type ListUserResourceAliasesResponse = PaginatedResponse<{ // content: { // "application/json": { // schema: z.object({ -// data: z.unknown().nullable(), +// data: z.record(z.string(), z.any()).nullable(), // success: z.boolean(), // error: z.boolean(), // message: z.string(), diff --git a/server/routers/resource/removeEmailFromResourceWhitelist.ts b/server/routers/resource/removeEmailFromResourceWhitelist.ts index 4e7dc8904..615e62438 100644 --- a/server/routers/resource/removeEmailFromResourceWhitelist.ts +++ b/server/routers/resource/removeEmailFromResourceWhitelist.ts @@ -46,7 +46,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/removeRoleFromResource.ts b/server/routers/resource/removeRoleFromResource.ts index 9f1323cca..0c4d811e2 100644 --- a/server/routers/resource/removeRoleFromResource.ts +++ b/server/routers/resource/removeRoleFromResource.ts @@ -46,7 +46,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/removeUserFromResource.ts b/server/routers/resource/removeUserFromResource.ts index 234ef642d..43a22c904 100644 --- a/server/routers/resource/removeUserFromResource.ts +++ b/server/routers/resource/removeUserFromResource.ts @@ -46,7 +46,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/setResourceHeaderAuth.ts b/server/routers/resource/setResourceHeaderAuth.ts index 44571eb6a..e19d47c3b 100644 --- a/server/routers/resource/setResourceHeaderAuth.ts +++ b/server/routers/resource/setResourceHeaderAuth.ts @@ -48,7 +48,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/setResourcePassword.ts b/server/routers/resource/setResourcePassword.ts index 355e20a49..b52ebfe2c 100644 --- a/server/routers/resource/setResourcePassword.ts +++ b/server/routers/resource/setResourcePassword.ts @@ -46,7 +46,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/setResourcePincode.ts b/server/routers/resource/setResourcePincode.ts index 67651fc9e..577b11dbf 100644 --- a/server/routers/resource/setResourcePincode.ts +++ b/server/routers/resource/setResourcePincode.ts @@ -46,7 +46,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/setResourceRoles.ts b/server/routers/resource/setResourceRoles.ts index e091bfa85..bdab79982 100644 --- a/server/routers/resource/setResourceRoles.ts +++ b/server/routers/resource/setResourceRoles.ts @@ -40,7 +40,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/setResourceUsers.ts b/server/routers/resource/setResourceUsers.ts index 86532c6e2..770769738 100644 --- a/server/routers/resource/setResourceUsers.ts +++ b/server/routers/resource/setResourceUsers.ts @@ -40,7 +40,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/setResourceWhitelist.ts b/server/routers/resource/setResourceWhitelist.ts index b228d66ed..697ae4541 100644 --- a/server/routers/resource/setResourceWhitelist.ts +++ b/server/routers/resource/setResourceWhitelist.ts @@ -54,7 +54,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/updateResource.ts b/server/routers/resource/updateResource.ts index ea1ae66d7..15b181152 100644 --- a/server/routers/resource/updateResource.ts +++ b/server/routers/resource/updateResource.ts @@ -227,7 +227,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/resource/updateResourceRule.ts b/server/routers/resource/updateResourceRule.ts index 49a57ba86..cc2a6fc03 100644 --- a/server/routers/resource/updateResourceRule.ts +++ b/server/routers/resource/updateResourceRule.ts @@ -58,7 +58,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/role/createRole.ts b/server/routers/role/createRole.ts index e193c5018..5ad6cd435 100644 --- a/server/routers/role/createRole.ts +++ b/server/routers/role/createRole.ts @@ -62,7 +62,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/role/deleteRole.ts b/server/routers/role/deleteRole.ts index d3b56b37d..a79d11269 100644 --- a/server/routers/role/deleteRole.ts +++ b/server/routers/role/deleteRole.ts @@ -39,7 +39,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/role/getRole.ts b/server/routers/role/getRole.ts index c90471551..8313a19c7 100644 --- a/server/routers/role/getRole.ts +++ b/server/routers/role/getRole.ts @@ -28,7 +28,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/role/listRoles.ts b/server/routers/role/listRoles.ts index ace5e1fc1..248db5063 100644 --- a/server/routers/role/listRoles.ts +++ b/server/routers/role/listRoles.ts @@ -104,7 +104,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/role/updateRole.ts b/server/routers/role/updateRole.ts index eb3239419..aa01899db 100644 --- a/server/routers/role/updateRole.ts +++ b/server/routers/role/updateRole.ts @@ -59,7 +59,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/site/createSite.ts b/server/routers/site/createSite.ts index bba487978..cc67f7b27 100644 --- a/server/routers/site/createSite.ts +++ b/server/routers/site/createSite.ts @@ -84,7 +84,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/site/deleteSite.ts b/server/routers/site/deleteSite.ts index bac56c6ba..077376211 100644 --- a/server/routers/site/deleteSite.ts +++ b/server/routers/site/deleteSite.ts @@ -33,7 +33,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/site/getSite.ts b/server/routers/site/getSite.ts index 020fbd36f..a671a47f9 100644 --- a/server/routers/site/getSite.ts +++ b/server/routers/site/getSite.ts @@ -67,7 +67,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), @@ -95,7 +95,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/site/listSites.ts b/server/routers/site/listSites.ts index c6abace5f..37fe8630d 100644 --- a/server/routers/site/listSites.ts +++ b/server/routers/site/listSites.ts @@ -280,7 +280,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/site/updateSite.ts b/server/routers/site/updateSite.ts index 7201d2898..c6851a3c3 100644 --- a/server/routers/site/updateSite.ts +++ b/server/routers/site/updateSite.ts @@ -50,7 +50,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/addClientToSiteResource.ts b/server/routers/siteResource/addClientToSiteResource.ts index 03145f672..c43b755b2 100644 --- a/server/routers/siteResource/addClientToSiteResource.ts +++ b/server/routers/siteResource/addClientToSiteResource.ts @@ -47,7 +47,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/addRoleToSiteResource.ts b/server/routers/siteResource/addRoleToSiteResource.ts index 8f8bf27fb..a7153b3e3 100644 --- a/server/routers/siteResource/addRoleToSiteResource.ts +++ b/server/routers/siteResource/addRoleToSiteResource.ts @@ -47,7 +47,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/addUserToSiteResource.ts b/server/routers/siteResource/addUserToSiteResource.ts index bc6e6bcd9..6300502af 100644 --- a/server/routers/siteResource/addUserToSiteResource.ts +++ b/server/routers/siteResource/addUserToSiteResource.ts @@ -47,7 +47,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/batchAddClientToSiteResources.ts b/server/routers/siteResource/batchAddClientToSiteResources.ts index aad23b0d4..c8a8c90a6 100644 --- a/server/routers/siteResource/batchAddClientToSiteResources.ts +++ b/server/routers/siteResource/batchAddClientToSiteResources.ts @@ -52,7 +52,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/createSiteResource.ts b/server/routers/siteResource/createSiteResource.ts index 509ee6e1e..0648c45cc 100644 --- a/server/routers/siteResource/createSiteResource.ts +++ b/server/routers/siteResource/createSiteResource.ts @@ -219,7 +219,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/deleteSiteResource.ts b/server/routers/siteResource/deleteSiteResource.ts index 82f80b875..8ff23405c 100644 --- a/server/routers/siteResource/deleteSiteResource.ts +++ b/server/routers/siteResource/deleteSiteResource.ts @@ -33,7 +33,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/getSiteResource.ts b/server/routers/siteResource/getSiteResource.ts index d923cb843..f25723d4b 100644 --- a/server/routers/siteResource/getSiteResource.ts +++ b/server/routers/siteResource/getSiteResource.ts @@ -21,11 +21,7 @@ const getSiteResourceParamsSchema = z.strictObject({ orgId: z.string() }); -async function query( - siteResourceId?: number, - niceId?: string, - orgId?: string -) { +async function query(siteResourceId?: number, niceId?: string, orgId?: string) { if (siteResourceId && orgId) { const [siteResource] = await db .select() @@ -75,7 +71,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), @@ -104,7 +100,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/listAllSiteResourcesByOrg.ts b/server/routers/siteResource/listAllSiteResourcesByOrg.ts index 732f2a229..5c20bc5a7 100644 --- a/server/routers/siteResource/listAllSiteResourcesByOrg.ts +++ b/server/routers/siteResource/listAllSiteResourcesByOrg.ts @@ -232,7 +232,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/listSiteResourceClients.ts b/server/routers/siteResource/listSiteResourceClients.ts index c95874b21..5ae6f6f8d 100644 --- a/server/routers/siteResource/listSiteResourceClients.ts +++ b/server/routers/siteResource/listSiteResourceClients.ts @@ -49,7 +49,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/listSiteResourceRoles.ts b/server/routers/siteResource/listSiteResourceRoles.ts index 6a451b192..d430c8c43 100644 --- a/server/routers/siteResource/listSiteResourceRoles.ts +++ b/server/routers/siteResource/listSiteResourceRoles.ts @@ -50,7 +50,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/listSiteResourceUsers.ts b/server/routers/siteResource/listSiteResourceUsers.ts index d6846b9eb..d13a58d3b 100644 --- a/server/routers/siteResource/listSiteResourceUsers.ts +++ b/server/routers/siteResource/listSiteResourceUsers.ts @@ -53,7 +53,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/listSiteResources.ts b/server/routers/siteResource/listSiteResources.ts index 1cebb281f..311009dfa 100644 --- a/server/routers/siteResource/listSiteResources.ts +++ b/server/routers/siteResource/listSiteResources.ts @@ -69,7 +69,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/removeClientFromSiteResource.ts b/server/routers/siteResource/removeClientFromSiteResource.ts index 906f07902..35944ca15 100644 --- a/server/routers/siteResource/removeClientFromSiteResource.ts +++ b/server/routers/siteResource/removeClientFromSiteResource.ts @@ -47,7 +47,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/removeRoleFromSiteResource.ts b/server/routers/siteResource/removeRoleFromSiteResource.ts index 00aba1114..2759a57e7 100644 --- a/server/routers/siteResource/removeRoleFromSiteResource.ts +++ b/server/routers/siteResource/removeRoleFromSiteResource.ts @@ -47,7 +47,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/removeUserFromSiteResource.ts b/server/routers/siteResource/removeUserFromSiteResource.ts index 9c25ddcf2..473db41b5 100644 --- a/server/routers/siteResource/removeUserFromSiteResource.ts +++ b/server/routers/siteResource/removeUserFromSiteResource.ts @@ -47,7 +47,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/setSiteResourceClients.ts b/server/routers/siteResource/setSiteResourceClients.ts index cde78d052..0f88f363f 100644 --- a/server/routers/siteResource/setSiteResourceClients.ts +++ b/server/routers/siteResource/setSiteResourceClients.ts @@ -47,7 +47,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/setSiteResourceRoles.ts b/server/routers/siteResource/setSiteResourceRoles.ts index 3e83efea2..e9878a320 100644 --- a/server/routers/siteResource/setSiteResourceRoles.ts +++ b/server/routers/siteResource/setSiteResourceRoles.ts @@ -48,7 +48,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/setSiteResourceUsers.ts b/server/routers/siteResource/setSiteResourceUsers.ts index 37e3152b7..4fa6f2218 100644 --- a/server/routers/siteResource/setSiteResourceUsers.ts +++ b/server/routers/siteResource/setSiteResourceUsers.ts @@ -48,7 +48,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/siteResource/updateSiteResource.ts b/server/routers/siteResource/updateSiteResource.ts index d503a2b5c..db4d4445b 100644 --- a/server/routers/siteResource/updateSiteResource.ts +++ b/server/routers/siteResource/updateSiteResource.ts @@ -226,7 +226,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/target/createTarget.ts b/server/routers/target/createTarget.ts index 48ed1f5d9..2b3f472e8 100644 --- a/server/routers/target/createTarget.ts +++ b/server/routers/target/createTarget.ts @@ -92,7 +92,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/target/deleteTarget.ts b/server/routers/target/deleteTarget.ts index 77614b1cd..a959e10eb 100644 --- a/server/routers/target/deleteTarget.ts +++ b/server/routers/target/deleteTarget.ts @@ -31,7 +31,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/target/getTarget.ts b/server/routers/target/getTarget.ts index 37fa8b7f0..24fd6b18f 100644 --- a/server/routers/target/getTarget.ts +++ b/server/routers/target/getTarget.ts @@ -33,7 +33,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/target/listTargets.ts b/server/routers/target/listTargets.ts index 1b2eb0ed5..b097b1f6e 100644 --- a/server/routers/target/listTargets.ts +++ b/server/routers/target/listTargets.ts @@ -103,7 +103,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/target/updateTarget.ts b/server/routers/target/updateTarget.ts index c40ffa18b..1bed7b982 100644 --- a/server/routers/target/updateTarget.ts +++ b/server/routers/target/updateTarget.ts @@ -91,7 +91,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/user/addUserRoleLegacy.ts b/server/routers/user/addUserRoleLegacy.ts index 201f7a7e4..bef69387a 100644 --- a/server/routers/user/addUserRoleLegacy.ts +++ b/server/routers/user/addUserRoleLegacy.ts @@ -33,7 +33,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/user/adminGetUser.ts b/server/routers/user/adminGetUser.ts index 1bc674339..6d5c5e664 100644 --- a/server/routers/user/adminGetUser.ts +++ b/server/routers/user/adminGetUser.ts @@ -27,7 +27,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/user/adminListUsers.ts b/server/routers/user/adminListUsers.ts index 8200b6f0f..f3c08f25b 100644 --- a/server/routers/user/adminListUsers.ts +++ b/server/routers/user/adminListUsers.ts @@ -143,7 +143,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/user/getOrgUser.ts b/server/routers/user/getOrgUser.ts index d39b0e57e..34732b8d8 100644 --- a/server/routers/user/getOrgUser.ts +++ b/server/routers/user/getOrgUser.ts @@ -87,7 +87,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/user/getOrgUserByUsername.ts b/server/routers/user/getOrgUserByUsername.ts index af5ad3feb..97e312b0e 100644 --- a/server/routers/user/getOrgUserByUsername.ts +++ b/server/routers/user/getOrgUserByUsername.ts @@ -46,7 +46,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/user/listInvitations.ts b/server/routers/user/listInvitations.ts index df8663d1a..ae207c26d 100644 --- a/server/routers/user/listInvitations.ts +++ b/server/routers/user/listInvitations.ts @@ -66,7 +66,10 @@ async function queryInvitations( .from(userInviteRoles) .innerJoin(roles, eq(userInviteRoles.roleId, roles.roleId)) .where( - and(eq(roles.orgId, orgId), inArray(userInviteRoles.inviteId, inviteIds)) + and( + eq(roles.orgId, orgId), + inArray(userInviteRoles.inviteId, inviteIds) + ) ); const rolesByInvite = new Map< @@ -107,7 +110,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/user/listUsers.ts b/server/routers/user/listUsers.ts index 32e717b46..c74f48468 100644 --- a/server/routers/user/listUsers.ts +++ b/server/routers/user/listUsers.ts @@ -1,18 +1,21 @@ import { Request, Response, NextFunction } from "express"; import { z } from "zod"; import { db, idpOidcConfig } from "@server/db"; -import { - idp, - idpOrg, - roles, - userOrgRoles, - userOrgs, - users -} from "@server/db"; +import { idp, idpOrg, roles, userOrgRoles, userOrgs, users } from "@server/db"; import response from "@server/lib/response"; import HttpCode from "@server/types/HttpCode"; import createHttpError from "http-errors"; -import { and, asc, desc, eq, exists, inArray, like, or, sql } from "drizzle-orm"; +import { + and, + asc, + desc, + eq, + exists, + inArray, + like, + or, + sql +} from "drizzle-orm"; import logger from "@server/logger"; import { fromZodError } from "zod-validation-error"; import { OpenAPITags, registry } from "@server/openApi"; @@ -70,18 +73,23 @@ const listUsersSchema = z.strictObject({ description: "Sort order" }), idp_id: z - .preprocess((val) => { - if (val === undefined || val === null || val === "") { + .preprocess( + (val) => { + if (val === undefined || val === null || val === "") { + return undefined; + } + if (val === "internal") { + return "internal"; + } + if (typeof val === "string" && /^\d+$/.test(val)) { + return parseInt(val, 10); + } return undefined; - } - if (val === "internal") { - return "internal"; - } - if (typeof val === "string" && /^\d+$/.test(val)) { - return parseInt(val, 10); - } - return undefined; - }, z.union([z.literal("internal"), z.number().int().positive()]).optional()) + }, + z + .union([z.literal("internal"), z.number().int().positive()]) + .optional() + ) .openapi({ description: 'Filter by identity provider id, or "internal" for internal users' @@ -156,7 +164,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), @@ -203,9 +211,7 @@ export async function listUsers( const idpOk = await db .select({ one: sql`1` }) .from(idpOrg) - .where( - and(eq(idpOrg.orgId, orgId), eq(idpOrg.idpId, idp_id)) - ) + .where(and(eq(idpOrg.orgId, orgId), eq(idpOrg.idpId, idp_id))) .limit(1); if (idpOk.length === 0) { return next( diff --git a/server/routers/user/removeInvitation.ts b/server/routers/user/removeInvitation.ts index c8b897f71..660a900c7 100644 --- a/server/routers/user/removeInvitation.ts +++ b/server/routers/user/removeInvitation.ts @@ -29,7 +29,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/user/removeUserOrg.ts b/server/routers/user/removeUserOrg.ts index 982aa495d..58fc85b69 100644 --- a/server/routers/user/removeUserOrg.ts +++ b/server/routers/user/removeUserOrg.ts @@ -44,7 +44,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/user/updateOrgUser.ts b/server/routers/user/updateOrgUser.ts index dd3ba4a9d..17fc6a659 100644 --- a/server/routers/user/updateOrgUser.ts +++ b/server/routers/user/updateOrgUser.ts @@ -43,7 +43,7 @@ registry.registerPath({ content: { "application/json": { schema: z.object({ - data: z.unknown().nullable(), + data: z.record(z.string(), z.any()).nullable(), success: z.boolean(), error: z.boolean(), message: z.string(), diff --git a/server/routers/ws/checkRoundTripMessage.ts b/server/routers/ws/checkRoundTripMessage.ts index 121f5affe..79f08d2a0 100644 --- a/server/routers/ws/checkRoundTripMessage.ts +++ b/server/routers/ws/checkRoundTripMessage.ts @@ -33,7 +33,7 @@ const checkRoundTripMessageParamsSchema = z // content: { // "application/json": { // schema: z.object({ -// data: z.unknown().nullable(), +// data: z.record(z.string(), z.any()).nullable(), // success: z.boolean(), // error: z.boolean(), // message: z.string(), @@ -84,7 +84,7 @@ export async function checkRoundTripMessage( complete: message.complete, sentAt: message.sentAt, receivedAt: message.receivedAt, - error: message.error, + error: message.error }, success: true, error: false,