43 lines
1.2 KiB
TypeScript
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;
|
|
}
|