feat: Add show stream plugin types

This commit is contained in:
Aleksi Lassila
2024-12-22 05:06:02 +02:00
parent 1e15dfac4c
commit d72e3b37c4
7 changed files with 47 additions and 21 deletions

View File

@@ -1,6 +1,23 @@
import { ApiProperty } from '@nestjs/swagger';
import { Type } from '@nestjs/common';
import {
ApiProperty,
IntersectionType,
OmitType,
PartialType,
PickType,
} from '@nestjs/swagger';
import { PaginatedResponse, PaginationParams } from 'plugins/plugin-types';
export const PickAndPartial = <T, K extends keyof T>(
clazz: Type<T>,
pick: K[] = [],
partial: K[] = [],
) =>
IntersectionType(
OmitType(PickType(clazz, pick), partial),
PickType(PartialType(clazz), partial),
);
export class PaginatedResponseDto<T> implements PaginatedResponse<T> {
@ApiProperty()
total: number;
@@ -26,4 +43,4 @@ export class PaginationParamsDto implements PaginationParams {
export class SuccessResponseDto {
@ApiProperty()
success: boolean;
}
}