homemanager-be/src/app-storage/dto/storage-item-response.dto.ts

43 lines
1.2 KiB
TypeScript

import { ApiProperty, OmitType, PickType } from '@nestjs/swagger';
import { Type } from 'class-transformer';
import { StoredItemTransaction } from 'src/objects/storage/entities/item-transaction.entity';
import { Item } from 'src/objects/storage/entities/item.entity';
import { StoredItem } from 'src/objects/storage/entities/stored-item.entity';
import { StorageActorResponse } from './storage-response.dto';
export class StorageItemResponseDto extends OmitType(Item, [
'instances',
'addedBy',
]) {
@ApiProperty({ type: StorageActorResponse })
addedBy: StorageActorResponse;
}
export class StorageItemSearchResponseDto extends PickType(Item, [
'id',
'displayName',
'type',
'barcode',
'image',
'createdAt',
]) {}
export class StorageStoredItemResponseDto extends OmitType(StoredItem, [
'transactions',
'storage',
'item',
]) {
@ApiProperty({ type: StorageItemResponseDto })
@Type(() => StorageItemResponseDto)
item: StorageItemResponseDto;
}
export class StorageStoredItemTransactionDto extends OmitType(
StoredItemTransaction,
['storedItem'],
) {
@ApiProperty({ type: StorageStoredItemResponseDto })
@Type(() => StorageStoredItemResponseDto)
storedItem: StorageStoredItemResponseDto;
}