Files
stack/apps/api/src/federation/dto/connection.dto.ts
T
Jason Woltje df2086ffe8 fix(#85): resolve TypeScript compilation and validation issues
- Fix @IsNumber() validator on timestamp field (was @IsString() - critical security issue)
- Fix TypeScript compilation error in sortObjectKeys array handling
- Replace generic Error with UnauthorizedException and ServiceUnavailableException
- Document hardcoded workspace ID limitation in handleIncomingConnection
- Remove unused BadRequestException import

All tests passing (70/70), TypeScript compiles cleanly, linting passes.
2026-02-03 11:48:23 -06:00

65 lines
1.0 KiB
TypeScript

/**
* Connection DTOs
*
* Data Transfer Objects for federation connection API.
*/
import { IsString, IsUrl, IsOptional, IsObject, IsNumber } from "class-validator";
/**
* DTO for initiating a connection
*/
export class InitiateConnectionDto {
@IsUrl()
remoteUrl!: string;
}
/**
* DTO for accepting a connection
*/
export class AcceptConnectionDto {
@IsOptional()
@IsObject()
metadata?: Record<string, unknown>;
}
/**
* DTO for rejecting a connection
*/
export class RejectConnectionDto {
@IsString()
reason!: string;
}
/**
* DTO for disconnecting a connection
*/
export class DisconnectConnectionDto {
@IsOptional()
@IsString()
reason?: string;
}
/**
* DTO for incoming connection request (from remote instance)
*/
export class IncomingConnectionRequestDto {
@IsString()
instanceId!: string;
@IsUrl()
instanceUrl!: string;
@IsString()
publicKey!: string;
@IsObject()
capabilities!: Record<string, unknown>;
@IsNumber()
timestamp!: number;
@IsString()
signature!: string;
}