- 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.
65 lines
1.0 KiB
TypeScript
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;
|
|
}
|