mirror of
				https://github.com/KevinMidboe/immich.git
				synced 2025-10-29 17:40:28 +00:00 
			
		
		
		
	refactor: rename get auth user decorator (#2778)
Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
		| @@ -1,18 +1,18 @@ | ||||
| import { Controller, Get, Post, Body, Param, Delete, Put, Query, Response } from '@nestjs/common'; | ||||
| import { AlbumService } from './album.service'; | ||||
| import { Authenticated, SharedLinkRoute } from '../../decorators/authenticated.decorator'; | ||||
| import { AuthUserDto, GetAuthUser } from '../../decorators/auth-user.decorator'; | ||||
| import { AddAssetsDto } from './dto/add-assets.dto'; | ||||
| import { RemoveAssetsDto } from './dto/remove-assets.dto'; | ||||
| import { ApiOkResponse, ApiTags } from '@nestjs/swagger'; | ||||
| import { AlbumResponseDto } from '@app/domain'; | ||||
| import { AddAssetsResponseDto } from './response-dto/add-assets-response.dto'; | ||||
| import { Body, Controller, Delete, Get, Param, Post, Put, Query, Response } from '@nestjs/common'; | ||||
| import { ApiOkResponse, ApiTags } from '@nestjs/swagger'; | ||||
| import { Response as Res } from 'express'; | ||||
| import { DownloadDto } from '../asset/dto/download-library.dto'; | ||||
| import { CreateAlbumShareLinkDto as CreateAlbumSharedLinkDto } from './dto/create-album-shared-link.dto'; | ||||
| import { UseValidation } from '../../decorators/use-validation.decorator'; | ||||
| import { UUIDParamDto } from '../../controllers/dto/uuid-param.dto'; | ||||
| import { handleDownload } from '../../app.utils'; | ||||
| import { UUIDParamDto } from '../../controllers/dto/uuid-param.dto'; | ||||
| import { AuthUser, AuthUserDto } from '../../decorators/auth-user.decorator'; | ||||
| import { Authenticated, SharedLinkRoute } from '../../decorators/authenticated.decorator'; | ||||
| import { UseValidation } from '../../decorators/use-validation.decorator'; | ||||
| import { DownloadDto } from '../asset/dto/download-library.dto'; | ||||
| import { AlbumService } from './album.service'; | ||||
| import { AddAssetsDto } from './dto/add-assets.dto'; | ||||
| import { CreateAlbumShareLinkDto as CreateAlbumSharedLinkDto } from './dto/create-album-shared-link.dto'; | ||||
| import { RemoveAssetsDto } from './dto/remove-assets.dto'; | ||||
| import { AddAssetsResponseDto } from './response-dto/add-assets-response.dto'; | ||||
|  | ||||
| @ApiTags('Album') | ||||
| @Controller('album') | ||||
| @@ -24,7 +24,7 @@ export class AlbumController { | ||||
|   @SharedLinkRoute() | ||||
|   @Put(':id/assets') | ||||
|   addAssetsToAlbum( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Param() { id }: UUIDParamDto, | ||||
|     @Body() dto: AddAssetsDto, | ||||
|   ): Promise<AddAssetsResponseDto> { | ||||
| @@ -35,13 +35,13 @@ export class AlbumController { | ||||
|  | ||||
|   @SharedLinkRoute() | ||||
|   @Get(':id') | ||||
|   getAlbumInfo(@GetAuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto) { | ||||
|   getAlbumInfo(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto) { | ||||
|     return this.service.get(authUser, id); | ||||
|   } | ||||
|  | ||||
|   @Delete(':id/assets') | ||||
|   removeAssetFromAlbum( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Body() dto: RemoveAssetsDto, | ||||
|     @Param() { id }: UUIDParamDto, | ||||
|   ): Promise<AlbumResponseDto> { | ||||
| @@ -52,7 +52,7 @@ export class AlbumController { | ||||
|   @Get(':id/download') | ||||
|   @ApiOkResponse({ content: { 'application/zip': { schema: { type: 'string', format: 'binary' } } } }) | ||||
|   downloadArchive( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Param() { id }: UUIDParamDto, | ||||
|     @Query() dto: DownloadDto, | ||||
|     @Response({ passthrough: true }) res: Res, | ||||
| @@ -61,7 +61,7 @@ export class AlbumController { | ||||
|   } | ||||
|  | ||||
|   @Post('create-shared-link') | ||||
|   createAlbumSharedLink(@GetAuthUser() authUser: AuthUserDto, @Body() dto: CreateAlbumSharedLinkDto) { | ||||
|   createAlbumSharedLink(@AuthUser() authUser: AuthUserDto, @Body() dto: CreateAlbumSharedLinkDto) { | ||||
|     return this.service.createSharedLink(authUser, dto); | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -22,7 +22,7 @@ import { | ||||
| import { Authenticated, SharedLinkRoute } from '../../decorators/authenticated.decorator'; | ||||
| import { AssetService } from './asset.service'; | ||||
| import { FileFieldsInterceptor } from '@nestjs/platform-express'; | ||||
| import { AuthUserDto, GetAuthUser } from '../../decorators/auth-user.decorator'; | ||||
| import { AuthUserDto, AuthUser } from '../../decorators/auth-user.decorator'; | ||||
| import { ServeFileDto } from './dto/serve-file.dto'; | ||||
| import { Response as Res } from 'express'; | ||||
| import { DeleteAssetDto } from './dto/delete-asset.dto'; | ||||
| @@ -92,7 +92,7 @@ export class AssetController { | ||||
|     type: CreateAssetDto, | ||||
|   }) | ||||
|   async uploadFile( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @UploadedFiles(new ParseFilePipe({ validators: [new FileNotEmptyValidator(['assetData'])] })) files: UploadFiles, | ||||
|     @Body(new ValidationPipe()) dto: CreateAssetDto, | ||||
|     @Response({ passthrough: true }) res: Res, | ||||
| @@ -121,7 +121,7 @@ export class AssetController { | ||||
|   @SharedLinkRoute() | ||||
|   @Get('/download/:id') | ||||
|   @ApiOkResponse({ content: { 'application/octet-stream': { schema: { type: 'string', format: 'binary' } } } }) | ||||
|   downloadFile(@GetAuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto) { | ||||
|   downloadFile(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto) { | ||||
|     return this.assetService.downloadFile(authUser, id).then(asStreamableFile); | ||||
|   } | ||||
|  | ||||
| @@ -129,7 +129,7 @@ export class AssetController { | ||||
|   @Post('/download-files') | ||||
|   @ApiOkResponse({ content: { 'application/octet-stream': { schema: { type: 'string', format: 'binary' } } } }) | ||||
|   downloadFiles( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Response({ passthrough: true }) res: Res, | ||||
|     @Body(new ValidationPipe()) dto: DownloadFilesDto, | ||||
|   ) { | ||||
| @@ -143,7 +143,7 @@ export class AssetController { | ||||
|   @Get('/download-library') | ||||
|   @ApiOkResponse({ content: { 'application/octet-stream': { schema: { type: 'string', format: 'binary' } } } }) | ||||
|   downloadLibrary( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Query(new ValidationPipe({ transform: true })) dto: DownloadDto, | ||||
|     @Response({ passthrough: true }) res: Res, | ||||
|   ) { | ||||
| @@ -155,7 +155,7 @@ export class AssetController { | ||||
|   @Header('Cache-Control', 'max-age=31536000') | ||||
|   @ApiOkResponse({ content: { 'application/octet-stream': { schema: { type: 'string', format: 'binary' } } } }) | ||||
|   serveFile( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Headers() headers: Record<string, string>, | ||||
|     @Response({ passthrough: true }) res: Res, | ||||
|     @Query(new ValidationPipe({ transform: true })) query: ServeFileDto, | ||||
| @@ -169,7 +169,7 @@ export class AssetController { | ||||
|   @Header('Cache-Control', 'max-age=31536000') | ||||
|   @ApiOkResponse({ content: { 'application/octet-stream': { schema: { type: 'string', format: 'binary' } } } }) | ||||
|   getAssetThumbnail( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Headers() headers: Record<string, string>, | ||||
|     @Response({ passthrough: true }) res: Res, | ||||
|     @Param() { id }: UUIDParamDto, | ||||
| @@ -179,23 +179,23 @@ export class AssetController { | ||||
|   } | ||||
|  | ||||
|   @Get('/curated-objects') | ||||
|   getCuratedObjects(@GetAuthUser() authUser: AuthUserDto): Promise<CuratedObjectsResponseDto[]> { | ||||
|   getCuratedObjects(@AuthUser() authUser: AuthUserDto): Promise<CuratedObjectsResponseDto[]> { | ||||
|     return this.assetService.getCuratedObject(authUser); | ||||
|   } | ||||
|  | ||||
|   @Get('/curated-locations') | ||||
|   getCuratedLocations(@GetAuthUser() authUser: AuthUserDto): Promise<CuratedLocationsResponseDto[]> { | ||||
|   getCuratedLocations(@AuthUser() authUser: AuthUserDto): Promise<CuratedLocationsResponseDto[]> { | ||||
|     return this.assetService.getCuratedLocation(authUser); | ||||
|   } | ||||
|  | ||||
|   @Get('/search-terms') | ||||
|   getAssetSearchTerms(@GetAuthUser() authUser: AuthUserDto): Promise<string[]> { | ||||
|   getAssetSearchTerms(@AuthUser() authUser: AuthUserDto): Promise<string[]> { | ||||
|     return this.assetService.getAssetSearchTerm(authUser); | ||||
|   } | ||||
|  | ||||
|   @Post('/search') | ||||
|   searchAsset( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Body(ValidationPipe) dto: SearchAssetDto, | ||||
|   ): Promise<AssetResponseDto[]> { | ||||
|     return this.assetService.searchAsset(authUser, dto); | ||||
| @@ -203,19 +203,19 @@ export class AssetController { | ||||
|  | ||||
|   @Post('/count-by-time-bucket') | ||||
|   getAssetCountByTimeBucket( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Body(ValidationPipe) dto: GetAssetCountByTimeBucketDto, | ||||
|   ): Promise<AssetCountByTimeBucketResponseDto> { | ||||
|     return this.assetService.getAssetCountByTimeBucket(authUser, dto); | ||||
|   } | ||||
|  | ||||
|   @Get('/count-by-user-id') | ||||
|   getAssetCountByUserId(@GetAuthUser() authUser: AuthUserDto): Promise<AssetCountByUserIdResponseDto> { | ||||
|   getAssetCountByUserId(@AuthUser() authUser: AuthUserDto): Promise<AssetCountByUserIdResponseDto> { | ||||
|     return this.assetService.getAssetCountByUserId(authUser); | ||||
|   } | ||||
|  | ||||
|   @Get('/stat/archive') | ||||
|   getArchivedAssetCountByUserId(@GetAuthUser() authUser: AuthUserDto): Promise<AssetCountByUserIdResponseDto> { | ||||
|   getArchivedAssetCountByUserId(@AuthUser() authUser: AuthUserDto): Promise<AssetCountByUserIdResponseDto> { | ||||
|     return this.assetService.getArchivedAssetCountByUserId(authUser); | ||||
|   } | ||||
|   /** | ||||
| @@ -229,7 +229,7 @@ export class AssetController { | ||||
|     schema: { type: 'string' }, | ||||
|   }) | ||||
|   getAllAssets( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Query(new ValidationPipe({ transform: true })) dto: AssetSearchDto, | ||||
|   ): Promise<AssetResponseDto[]> { | ||||
|     return this.assetService.getAllAssets(authUser, dto); | ||||
| @@ -237,7 +237,7 @@ export class AssetController { | ||||
|  | ||||
|   @Post('/time-bucket') | ||||
|   getAssetByTimeBucket( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Body(ValidationPipe) dto: GetAssetByTimeBucketDto, | ||||
|   ): Promise<AssetResponseDto[]> { | ||||
|     return this.assetService.getAssetByTimeBucket(authUser, dto); | ||||
| @@ -247,7 +247,7 @@ export class AssetController { | ||||
|    * Get all asset of a device that are in the database, ID only. | ||||
|    */ | ||||
|   @Get('/:deviceId') | ||||
|   getUserAssetsByDeviceId(@GetAuthUser() authUser: AuthUserDto, @Param() { deviceId }: DeviceIdDto) { | ||||
|   getUserAssetsByDeviceId(@AuthUser() authUser: AuthUserDto, @Param() { deviceId }: DeviceIdDto) { | ||||
|     return this.assetService.getUserAssetsByDeviceId(authUser, deviceId); | ||||
|   } | ||||
|  | ||||
| @@ -256,7 +256,7 @@ export class AssetController { | ||||
|    */ | ||||
|   @SharedLinkRoute() | ||||
|   @Get('/assetById/:id') | ||||
|   getAssetById(@GetAuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<AssetResponseDto> { | ||||
|   getAssetById(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<AssetResponseDto> { | ||||
|     return this.assetService.getAssetById(authUser, id); | ||||
|   } | ||||
|  | ||||
| @@ -265,7 +265,7 @@ export class AssetController { | ||||
|    */ | ||||
|   @Put('/:id') | ||||
|   updateAsset( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Param() { id }: UUIDParamDto, | ||||
|     @Body(ValidationPipe) dto: UpdateAssetDto, | ||||
|   ): Promise<AssetResponseDto> { | ||||
| @@ -274,7 +274,7 @@ export class AssetController { | ||||
|  | ||||
|   @Delete('/') | ||||
|   deleteAsset( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Body(ValidationPipe) dto: DeleteAssetDto, | ||||
|   ): Promise<DeleteAssetResponseDto[]> { | ||||
|     return this.assetService.deleteAll(authUser, dto); | ||||
| @@ -287,7 +287,7 @@ export class AssetController { | ||||
|   @Post('/check') | ||||
|   @HttpCode(200) | ||||
|   checkDuplicateAsset( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Body(ValidationPipe) dto: CheckDuplicateAssetDto, | ||||
|   ): Promise<CheckDuplicateAssetResponseDto> { | ||||
|     return this.assetService.checkDuplicatedAsset(authUser, dto); | ||||
| @@ -299,7 +299,7 @@ export class AssetController { | ||||
|   @Post('/exist') | ||||
|   @HttpCode(200) | ||||
|   checkExistingAssets( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Body(ValidationPipe) dto: CheckExistingAssetsDto, | ||||
|   ): Promise<CheckExistingAssetsResponseDto> { | ||||
|     return this.assetService.checkExistingAssets(authUser, dto); | ||||
| @@ -311,7 +311,7 @@ export class AssetController { | ||||
|   @Post('/bulk-upload-check') | ||||
|   @HttpCode(200) | ||||
|   bulkUploadCheck( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Body(ValidationPipe) dto: AssetBulkUploadCheckDto, | ||||
|   ): Promise<AssetBulkUploadCheckResponseDto> { | ||||
|     return this.assetService.bulkUploadCheck(authUser, dto); | ||||
| @@ -319,7 +319,7 @@ export class AssetController { | ||||
|  | ||||
|   @Post('/shared-link') | ||||
|   createAssetsSharedLink( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Body(ValidationPipe) dto: CreateAssetsShareLinkDto, | ||||
|   ): Promise<SharedLinkResponseDto> { | ||||
|     return this.assetService.createAssetsSharedLink(authUser, dto); | ||||
| @@ -328,7 +328,7 @@ export class AssetController { | ||||
|   @SharedLinkRoute() | ||||
|   @Patch('/shared-link/add') | ||||
|   addAssetsToSharedLink( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Body(ValidationPipe) dto: AddAssetsDto, | ||||
|   ): Promise<SharedLinkResponseDto> { | ||||
|     return this.assetService.addAssetsToSharedLink(authUser, dto); | ||||
| @@ -337,7 +337,7 @@ export class AssetController { | ||||
|   @SharedLinkRoute() | ||||
|   @Patch('/shared-link/remove') | ||||
|   removeAssetsFromSharedLink( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Body(ValidationPipe) dto: RemoveAssetsDto, | ||||
|   ): Promise<SharedLinkResponseDto> { | ||||
|     return this.assetService.removeAssetsFromSharedLink(authUser, dto); | ||||
|   | ||||
| @@ -10,7 +10,7 @@ import { GetAlbumsDto } from '@app/domain/album/dto/get-albums.dto'; | ||||
| import { Body, Controller, Delete, Get, Param, Patch, Post, Put, Query } from '@nestjs/common'; | ||||
| import { ApiTags } from '@nestjs/swagger'; | ||||
| import { ParseMeUUIDPipe } from '../api-v1/validation/parse-me-uuid-pipe'; | ||||
| import { GetAuthUser } from '../decorators/auth-user.decorator'; | ||||
| import { AuthUser } from '../decorators/auth-user.decorator'; | ||||
| import { Authenticated } from '../decorators/authenticated.decorator'; | ||||
| import { UseValidation } from '../decorators/use-validation.decorator'; | ||||
| import { UUIDParamDto } from './dto/uuid-param.dto'; | ||||
| @@ -23,38 +23,38 @@ export class AlbumController { | ||||
|   constructor(private service: AlbumService) {} | ||||
|  | ||||
|   @Get('count') | ||||
|   getAlbumCount(@GetAuthUser() authUser: AuthUserDto): Promise<AlbumCountResponseDto> { | ||||
|   getAlbumCount(@AuthUser() authUser: AuthUserDto): Promise<AlbumCountResponseDto> { | ||||
|     return this.service.getCount(authUser); | ||||
|   } | ||||
|  | ||||
|   @Get() | ||||
|   getAllAlbums(@GetAuthUser() authUser: AuthUserDto, @Query() query: GetAlbumsDto) { | ||||
|   getAllAlbums(@AuthUser() authUser: AuthUserDto, @Query() query: GetAlbumsDto) { | ||||
|     return this.service.getAll(authUser, query); | ||||
|   } | ||||
|  | ||||
|   @Post() | ||||
|   createAlbum(@GetAuthUser() authUser: AuthUserDto, @Body() dto: CreateAlbumDto) { | ||||
|   createAlbum(@AuthUser() authUser: AuthUserDto, @Body() dto: CreateAlbumDto) { | ||||
|     return this.service.create(authUser, dto); | ||||
|   } | ||||
|  | ||||
|   @Patch(':id') | ||||
|   updateAlbumInfo(@GetAuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto, @Body() dto: UpdateAlbumDto) { | ||||
|   updateAlbumInfo(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto, @Body() dto: UpdateAlbumDto) { | ||||
|     return this.service.update(authUser, id, dto); | ||||
|   } | ||||
|  | ||||
|   @Delete(':id') | ||||
|   deleteAlbum(@GetAuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto) { | ||||
|   deleteAlbum(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto) { | ||||
|     return this.service.delete(authUser, id); | ||||
|   } | ||||
|  | ||||
|   @Put(':id/users') | ||||
|   addUsersToAlbum(@GetAuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto, @Body() dto: AddUsersDto) { | ||||
|   addUsersToAlbum(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto, @Body() dto: AddUsersDto) { | ||||
|     return this.service.addUsers(authUser, id, dto); | ||||
|   } | ||||
|  | ||||
|   @Delete(':id/user/:userId') | ||||
|   removeUserFromAlbum( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Param() { id }: UUIDParamDto, | ||||
|     @Param('userId', new ParseMeUUIDPipe({ version: '4' })) userId: string, | ||||
|   ) { | ||||
|   | ||||
| @@ -8,7 +8,7 @@ import { | ||||
| } from '@app/domain'; | ||||
| import { Body, Controller, Delete, Get, Param, Post, Put } from '@nestjs/common'; | ||||
| import { ApiTags } from '@nestjs/swagger'; | ||||
| import { GetAuthUser } from '../decorators/auth-user.decorator'; | ||||
| import { AuthUser } from '../decorators/auth-user.decorator'; | ||||
| import { Authenticated } from '../decorators/authenticated.decorator'; | ||||
| import { UseValidation } from '../decorators/use-validation.decorator'; | ||||
| import { UUIDParamDto } from './dto/uuid-param.dto'; | ||||
| @@ -21,23 +21,23 @@ export class APIKeyController { | ||||
|   constructor(private service: APIKeyService) {} | ||||
|  | ||||
|   @Post() | ||||
|   createKey(@GetAuthUser() authUser: AuthUserDto, @Body() dto: APIKeyCreateDto): Promise<APIKeyCreateResponseDto> { | ||||
|   createKey(@AuthUser() authUser: AuthUserDto, @Body() dto: APIKeyCreateDto): Promise<APIKeyCreateResponseDto> { | ||||
|     return this.service.create(authUser, dto); | ||||
|   } | ||||
|  | ||||
|   @Get() | ||||
|   getKeys(@GetAuthUser() authUser: AuthUserDto): Promise<APIKeyResponseDto[]> { | ||||
|   getKeys(@AuthUser() authUser: AuthUserDto): Promise<APIKeyResponseDto[]> { | ||||
|     return this.service.getAll(authUser); | ||||
|   } | ||||
|  | ||||
|   @Get(':id') | ||||
|   getKey(@GetAuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<APIKeyResponseDto> { | ||||
|   getKey(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<APIKeyResponseDto> { | ||||
|     return this.service.getById(authUser, id); | ||||
|   } | ||||
|  | ||||
|   @Put(':id') | ||||
|   updateKey( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Param() { id }: UUIDParamDto, | ||||
|     @Body() dto: APIKeyUpdateDto, | ||||
|   ): Promise<APIKeyResponseDto> { | ||||
| @@ -45,7 +45,7 @@ export class APIKeyController { | ||||
|   } | ||||
|  | ||||
|   @Delete(':id') | ||||
|   deleteKey(@GetAuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<void> { | ||||
|   deleteKey(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<void> { | ||||
|     return this.service.delete(authUser, id); | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -2,7 +2,7 @@ import { AssetService, AuthUserDto, MapMarkerResponseDto, MemoryLaneDto } from ' | ||||
| import { MapMarkerDto } from '@app/domain/asset/dto/map-marker.dto'; | ||||
| import { Controller, Get, Query } from '@nestjs/common'; | ||||
| import { ApiTags } from '@nestjs/swagger'; | ||||
| import { GetAuthUser } from '../decorators/auth-user.decorator'; | ||||
| import { AuthUser } from '../decorators/auth-user.decorator'; | ||||
| import { Authenticated } from '../decorators/authenticated.decorator'; | ||||
| import { UseValidation } from '../decorators/use-validation.decorator'; | ||||
| import { MemoryLaneResponseDto } from '@app/domain/asset/response-dto/memory-lane-response.dto'; | ||||
| @@ -15,12 +15,12 @@ export class AssetController { | ||||
|   constructor(private service: AssetService) {} | ||||
|  | ||||
|   @Get('map-marker') | ||||
|   getMapMarkers(@GetAuthUser() authUser: AuthUserDto, @Query() options: MapMarkerDto): Promise<MapMarkerResponseDto[]> { | ||||
|   getMapMarkers(@AuthUser() authUser: AuthUserDto, @Query() options: MapMarkerDto): Promise<MapMarkerResponseDto[]> { | ||||
|     return this.service.getMapMarkers(authUser, options); | ||||
|   } | ||||
|  | ||||
|   @Get('memory-lane') | ||||
|   getMemoryLane(@GetAuthUser() authUser: AuthUserDto, @Query() dto: MemoryLaneDto): Promise<MemoryLaneResponseDto[]> { | ||||
|   getMemoryLane(@AuthUser() authUser: AuthUserDto, @Query() dto: MemoryLaneDto): Promise<MemoryLaneResponseDto[]> { | ||||
|     return this.service.getMemoryLane(authUser, dto); | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -18,7 +18,7 @@ import { | ||||
| import { Body, Controller, Delete, Get, Param, Post, Req, Res } from '@nestjs/common'; | ||||
| import { ApiBadRequestResponse, ApiTags } from '@nestjs/swagger'; | ||||
| import { Request, Response } from 'express'; | ||||
| import { GetAuthUser, GetLoginDetails } from '../decorators/auth-user.decorator'; | ||||
| import { AuthUser, GetLoginDetails } from '../decorators/auth-user.decorator'; | ||||
| import { Authenticated, PublicRoute } from '../decorators/authenticated.decorator'; | ||||
| import { UseValidation } from '../decorators/use-validation.decorator'; | ||||
| import { UUIDParamDto } from './dto/uuid-param.dto'; | ||||
| @@ -50,17 +50,17 @@ export class AuthController { | ||||
|   } | ||||
|  | ||||
|   @Get('devices') | ||||
|   getAuthDevices(@GetAuthUser() authUser: AuthUserDto): Promise<AuthDeviceResponseDto[]> { | ||||
|   getAuthDevices(@AuthUser() authUser: AuthUserDto): Promise<AuthDeviceResponseDto[]> { | ||||
|     return this.service.getDevices(authUser); | ||||
|   } | ||||
|  | ||||
|   @Delete('devices') | ||||
|   logoutAuthDevices(@GetAuthUser() authUser: AuthUserDto): Promise<void> { | ||||
|   logoutAuthDevices(@AuthUser() authUser: AuthUserDto): Promise<void> { | ||||
|     return this.service.logoutDevices(authUser); | ||||
|   } | ||||
|  | ||||
|   @Delete('devices/:id') | ||||
|   logoutAuthDevice(@GetAuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<void> { | ||||
|   logoutAuthDevice(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<void> { | ||||
|     return this.service.logoutDevice(authUser, id); | ||||
|   } | ||||
|  | ||||
| @@ -70,7 +70,7 @@ export class AuthController { | ||||
|   } | ||||
|  | ||||
|   @Post('change-password') | ||||
|   changePassword(@GetAuthUser() authUser: AuthUserDto, @Body() dto: ChangePasswordDto): Promise<UserResponseDto> { | ||||
|   changePassword(@AuthUser() authUser: AuthUserDto, @Body() dto: ChangePasswordDto): Promise<UserResponseDto> { | ||||
|     return this.service.changePassword(authUser, dto); | ||||
|   } | ||||
|  | ||||
| @@ -78,7 +78,7 @@ export class AuthController { | ||||
|   logout( | ||||
|     @Req() req: Request, | ||||
|     @Res({ passthrough: true }) res: Response, | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|   ): Promise<LogoutResponseDto> { | ||||
|     const authType: AuthType = req.cookies[IMMICH_AUTH_TYPE_COOKIE]; | ||||
|  | ||||
|   | ||||
| @@ -11,7 +11,7 @@ import { | ||||
| import { Body, Controller, Get, HttpStatus, Post, Redirect, Req, Res } from '@nestjs/common'; | ||||
| import { ApiTags } from '@nestjs/swagger'; | ||||
| import { Request, Response } from 'express'; | ||||
| import { GetAuthUser, GetLoginDetails } from '../decorators/auth-user.decorator'; | ||||
| import { AuthUser, GetLoginDetails } from '../decorators/auth-user.decorator'; | ||||
| import { Authenticated, PublicRoute } from '../decorators/authenticated.decorator'; | ||||
| import { UseValidation } from '../decorators/use-validation.decorator'; | ||||
|  | ||||
| @@ -51,12 +51,12 @@ export class OAuthController { | ||||
|   } | ||||
|  | ||||
|   @Post('link') | ||||
|   link(@GetAuthUser() authUser: AuthUserDto, @Body() dto: OAuthCallbackDto): Promise<UserResponseDto> { | ||||
|   link(@AuthUser() authUser: AuthUserDto, @Body() dto: OAuthCallbackDto): Promise<UserResponseDto> { | ||||
|     return this.service.link(authUser, dto); | ||||
|   } | ||||
|  | ||||
|   @Post('unlink') | ||||
|   unlink(@GetAuthUser() authUser: AuthUserDto): Promise<UserResponseDto> { | ||||
|   unlink(@AuthUser() authUser: AuthUserDto): Promise<UserResponseDto> { | ||||
|     return this.service.unlink(authUser); | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| import { PartnerDirection, PartnerService, UserResponseDto } from '@app/domain'; | ||||
| import { Controller, Delete, Get, Param, Post, Query } from '@nestjs/common'; | ||||
| import { ApiQuery, ApiTags } from '@nestjs/swagger'; | ||||
| import { AuthUserDto, GetAuthUser } from '../decorators/auth-user.decorator'; | ||||
| import { AuthUserDto, AuthUser } from '../decorators/auth-user.decorator'; | ||||
| import { Authenticated } from '../decorators/authenticated.decorator'; | ||||
| import { UseValidation } from '../decorators/use-validation.decorator'; | ||||
| import { UUIDParamDto } from './dto/uuid-param.dto'; | ||||
| @@ -16,19 +16,19 @@ export class PartnerController { | ||||
|   @Get() | ||||
|   @ApiQuery({ name: 'direction', type: 'string', enum: PartnerDirection, required: true }) | ||||
|   getPartners( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Query('direction') direction: PartnerDirection, | ||||
|   ): Promise<UserResponseDto[]> { | ||||
|     return this.service.getAll(authUser, direction); | ||||
|   } | ||||
|  | ||||
|   @Post(':id') | ||||
|   createPartner(@GetAuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<UserResponseDto> { | ||||
|   createPartner(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<UserResponseDto> { | ||||
|     return this.service.create(authUser, id); | ||||
|   } | ||||
|  | ||||
|   @Delete(':id') | ||||
|   removePartner(@GetAuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<void> { | ||||
|   removePartner(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<void> { | ||||
|     return this.service.remove(authUser, id); | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -8,8 +8,7 @@ import { | ||||
| } from '@app/domain'; | ||||
| import { Body, Controller, Get, Param, Put, StreamableFile } from '@nestjs/common'; | ||||
| import { ApiOkResponse, ApiTags } from '@nestjs/swagger'; | ||||
| import { GetAuthUser } from '../decorators/auth-user.decorator'; | ||||
|  | ||||
| import { AuthUser } from '../decorators/auth-user.decorator'; | ||||
| import { Authenticated } from '../decorators/authenticated.decorator'; | ||||
| import { UseValidation } from '../decorators/use-validation.decorator'; | ||||
| import { UUIDParamDto } from './dto/uuid-param.dto'; | ||||
| @@ -26,18 +25,18 @@ export class PersonController { | ||||
|   constructor(private service: PersonService) {} | ||||
|  | ||||
|   @Get() | ||||
|   getAllPeople(@GetAuthUser() authUser: AuthUserDto): Promise<PersonResponseDto[]> { | ||||
|   getAllPeople(@AuthUser() authUser: AuthUserDto): Promise<PersonResponseDto[]> { | ||||
|     return this.service.getAll(authUser); | ||||
|   } | ||||
|  | ||||
|   @Get(':id') | ||||
|   getPerson(@GetAuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<PersonResponseDto> { | ||||
|   getPerson(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<PersonResponseDto> { | ||||
|     return this.service.getById(authUser, id); | ||||
|   } | ||||
|  | ||||
|   @Put(':id') | ||||
|   updatePerson( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Param() { id }: UUIDParamDto, | ||||
|     @Body() dto: PersonUpdateDto, | ||||
|   ): Promise<PersonResponseDto> { | ||||
| @@ -46,12 +45,12 @@ export class PersonController { | ||||
|  | ||||
|   @Get(':id/thumbnail') | ||||
|   @ApiOkResponse({ content: { 'application/octet-stream': { schema: { type: 'string', format: 'binary' } } } }) | ||||
|   getPersonThumbnail(@GetAuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto) { | ||||
|   getPersonThumbnail(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto) { | ||||
|     return this.service.getThumbnail(authUser, id).then(asStreamableFile); | ||||
|   } | ||||
|  | ||||
|   @Get(':id/assets') | ||||
|   getPersonAssets(@GetAuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<AssetResponseDto[]> { | ||||
|   getPersonAssets(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<AssetResponseDto[]> { | ||||
|     return this.service.getAssets(authUser, id); | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -8,7 +8,7 @@ import { | ||||
| } from '@app/domain'; | ||||
| import { Controller, Get, Query } from '@nestjs/common'; | ||||
| import { ApiTags } from '@nestjs/swagger'; | ||||
| import { GetAuthUser } from '../decorators/auth-user.decorator'; | ||||
| import { AuthUser } from '../decorators/auth-user.decorator'; | ||||
| import { Authenticated } from '../decorators/authenticated.decorator'; | ||||
| import { UseValidation } from '../decorators/use-validation.decorator'; | ||||
|  | ||||
| @@ -20,7 +20,7 @@ export class SearchController { | ||||
|   constructor(private service: SearchService) {} | ||||
|  | ||||
|   @Get() | ||||
|   search(@GetAuthUser() authUser: AuthUserDto, @Query() dto: SearchDto): Promise<SearchResponseDto> { | ||||
|   search(@AuthUser() authUser: AuthUserDto, @Query() dto: SearchDto): Promise<SearchResponseDto> { | ||||
|     return this.service.search(authUser, dto); | ||||
|   } | ||||
|  | ||||
| @@ -30,7 +30,7 @@ export class SearchController { | ||||
|   } | ||||
|  | ||||
|   @Get('explore') | ||||
|   getExploreData(@GetAuthUser() authUser: AuthUserDto): Promise<SearchExploreResponseDto[]> { | ||||
|   getExploreData(@AuthUser() authUser: AuthUserDto): Promise<SearchExploreResponseDto[]> { | ||||
|     return this.service.getExploreData(authUser) as Promise<SearchExploreResponseDto[]>; | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| import { AuthUserDto, EditSharedLinkDto, SharedLinkResponseDto, SharedLinkService } from '@app/domain'; | ||||
| import { Body, Controller, Delete, Get, Param, Patch } from '@nestjs/common'; | ||||
| import { ApiTags } from '@nestjs/swagger'; | ||||
| import { GetAuthUser } from '../decorators/auth-user.decorator'; | ||||
| import { AuthUser } from '../decorators/auth-user.decorator'; | ||||
| import { Authenticated, SharedLinkRoute } from '../decorators/authenticated.decorator'; | ||||
| import { UseValidation } from '../decorators/use-validation.decorator'; | ||||
| import { UUIDParamDto } from './dto/uuid-param.dto'; | ||||
| @@ -14,27 +14,24 @@ export class SharedLinkController { | ||||
|   constructor(private readonly service: SharedLinkService) {} | ||||
|  | ||||
|   @Get() | ||||
|   getAllSharedLinks(@GetAuthUser() authUser: AuthUserDto): Promise<SharedLinkResponseDto[]> { | ||||
|   getAllSharedLinks(@AuthUser() authUser: AuthUserDto): Promise<SharedLinkResponseDto[]> { | ||||
|     return this.service.getAll(authUser); | ||||
|   } | ||||
|  | ||||
|   @SharedLinkRoute() | ||||
|   @Get('me') | ||||
|   getMySharedLink(@GetAuthUser() authUser: AuthUserDto): Promise<SharedLinkResponseDto> { | ||||
|   getMySharedLink(@AuthUser() authUser: AuthUserDto): Promise<SharedLinkResponseDto> { | ||||
|     return this.service.getMine(authUser); | ||||
|   } | ||||
|  | ||||
|   @Get(':id') | ||||
|   getSharedLinkById( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @Param() { id }: UUIDParamDto, | ||||
|   ): Promise<SharedLinkResponseDto> { | ||||
|   getSharedLinkById(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<SharedLinkResponseDto> { | ||||
|     return this.service.get(authUser, id); | ||||
|   } | ||||
|  | ||||
|   @Patch(':id') | ||||
|   updateSharedLink( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Param() { id }: UUIDParamDto, | ||||
|     @Body() dto: EditSharedLinkDto, | ||||
|   ): Promise<SharedLinkResponseDto> { | ||||
| @@ -42,7 +39,7 @@ export class SharedLinkController { | ||||
|   } | ||||
|  | ||||
|   @Delete(':id') | ||||
|   removeSharedLink(@GetAuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<void> { | ||||
|   removeSharedLink(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<void> { | ||||
|     return this.service.remove(authUser, id); | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -9,7 +9,7 @@ import { | ||||
| } from '@app/domain'; | ||||
| import { Body, Controller, Delete, Get, Param, Patch, Post, Put } from '@nestjs/common'; | ||||
| import { ApiTags } from '@nestjs/swagger'; | ||||
| import { AuthUserDto, GetAuthUser } from '../decorators/auth-user.decorator'; | ||||
| import { AuthUserDto, AuthUser } from '../decorators/auth-user.decorator'; | ||||
| import { Authenticated } from '../decorators/authenticated.decorator'; | ||||
| import { UseValidation } from '../decorators/use-validation.decorator'; | ||||
| import { UUIDParamDto } from './dto/uuid-param.dto'; | ||||
| @@ -22,23 +22,23 @@ export class TagController { | ||||
|   constructor(private service: TagService) {} | ||||
|  | ||||
|   @Post() | ||||
|   createTag(@GetAuthUser() authUser: AuthUserDto, @Body() dto: CreateTagDto): Promise<TagResponseDto> { | ||||
|   createTag(@AuthUser() authUser: AuthUserDto, @Body() dto: CreateTagDto): Promise<TagResponseDto> { | ||||
|     return this.service.create(authUser, dto); | ||||
|   } | ||||
|  | ||||
|   @Get() | ||||
|   getAllTags(@GetAuthUser() authUser: AuthUserDto): Promise<TagResponseDto[]> { | ||||
|   getAllTags(@AuthUser() authUser: AuthUserDto): Promise<TagResponseDto[]> { | ||||
|     return this.service.getAll(authUser); | ||||
|   } | ||||
|  | ||||
|   @Get(':id') | ||||
|   getTagById(@GetAuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<TagResponseDto> { | ||||
|   getTagById(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<TagResponseDto> { | ||||
|     return this.service.getById(authUser, id); | ||||
|   } | ||||
|  | ||||
|   @Patch(':id') | ||||
|   updateTag( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Param() { id }: UUIDParamDto, | ||||
|     @Body() dto: UpdateTagDto, | ||||
|   ): Promise<TagResponseDto> { | ||||
| @@ -46,18 +46,18 @@ export class TagController { | ||||
|   } | ||||
|  | ||||
|   @Delete(':id') | ||||
|   deleteTag(@GetAuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<void> { | ||||
|   deleteTag(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<void> { | ||||
|     return this.service.remove(authUser, id); | ||||
|   } | ||||
|  | ||||
|   @Get(':id/assets') | ||||
|   getTagAssets(@GetAuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<AssetResponseDto[]> { | ||||
|   getTagAssets(@AuthUser() authUser: AuthUserDto, @Param() { id }: UUIDParamDto): Promise<AssetResponseDto[]> { | ||||
|     return this.service.getAssets(authUser, id); | ||||
|   } | ||||
|  | ||||
|   @Put(':id/assets') | ||||
|   tagAssets( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Param() { id }: UUIDParamDto, | ||||
|     @Body() dto: AssetIdsDto, | ||||
|   ): Promise<AssetIdsResponseDto[]> { | ||||
| @@ -66,7 +66,7 @@ export class TagController { | ||||
|  | ||||
|   @Delete(':id/assets') | ||||
|   untagAssets( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @Body() dto: AssetIdsDto, | ||||
|     @Param() { id }: UUIDParamDto, | ||||
|   ): Promise<AssetIdsResponseDto[]> { | ||||
|   | ||||
| @@ -15,7 +15,7 @@ import { | ||||
| } from '@nestjs/common'; | ||||
| import { UserService } from '@app/domain'; | ||||
| import { AdminRoute, Authenticated, PublicRoute } from '../decorators/authenticated.decorator'; | ||||
| import { AuthUserDto, GetAuthUser } from '../decorators/auth-user.decorator'; | ||||
| import { AuthUserDto, AuthUser } from '../decorators/auth-user.decorator'; | ||||
| import { CreateUserDto } from '@app/domain'; | ||||
| import { UpdateUserDto } from '@app/domain'; | ||||
| import { FileInterceptor } from '@nestjs/platform-express'; | ||||
| @@ -38,7 +38,7 @@ export class UserController { | ||||
|   constructor(private service: UserService) {} | ||||
|  | ||||
|   @Get() | ||||
|   getAllUsers(@GetAuthUser() authUser: AuthUserDto, @Query('isAll') isAll: boolean): Promise<UserResponseDto[]> { | ||||
|   getAllUsers(@AuthUser() authUser: AuthUserDto, @Query('isAll') isAll: boolean): Promise<UserResponseDto[]> { | ||||
|     return this.service.getAllUsers(authUser, isAll); | ||||
|   } | ||||
|  | ||||
| @@ -48,7 +48,7 @@ export class UserController { | ||||
|   } | ||||
|  | ||||
|   @Get('me') | ||||
|   getMyUserInfo(@GetAuthUser() authUser: AuthUserDto): Promise<UserResponseDto> { | ||||
|   getMyUserInfo(@AuthUser() authUser: AuthUserDto): Promise<UserResponseDto> { | ||||
|     return this.service.getUserInfo(authUser); | ||||
|   } | ||||
|  | ||||
| @@ -66,18 +66,18 @@ export class UserController { | ||||
|  | ||||
|   @AdminRoute() | ||||
|   @Delete('/:userId') | ||||
|   deleteUser(@GetAuthUser() authUser: AuthUserDto, @Param() { userId }: UserIdDto): Promise<UserResponseDto> { | ||||
|   deleteUser(@AuthUser() authUser: AuthUserDto, @Param() { userId }: UserIdDto): Promise<UserResponseDto> { | ||||
|     return this.service.deleteUser(authUser, userId); | ||||
|   } | ||||
|  | ||||
|   @AdminRoute() | ||||
|   @Post('/:userId/restore') | ||||
|   restoreUser(@GetAuthUser() authUser: AuthUserDto, @Param() { userId }: UserIdDto): Promise<UserResponseDto> { | ||||
|   restoreUser(@AuthUser() authUser: AuthUserDto, @Param() { userId }: UserIdDto): Promise<UserResponseDto> { | ||||
|     return this.service.restoreUser(authUser, userId); | ||||
|   } | ||||
|  | ||||
|   @Put() | ||||
|   updateUser(@GetAuthUser() authUser: AuthUserDto, @Body() updateUserDto: UpdateUserDto): Promise<UserResponseDto> { | ||||
|   updateUser(@AuthUser() authUser: AuthUserDto, @Body() updateUserDto: UpdateUserDto): Promise<UserResponseDto> { | ||||
|     return this.service.updateUser(authUser, updateUserDto); | ||||
|   } | ||||
|  | ||||
| @@ -89,7 +89,7 @@ export class UserController { | ||||
|   }) | ||||
|   @Post('/profile-image') | ||||
|   createProfileImage( | ||||
|     @GetAuthUser() authUser: AuthUserDto, | ||||
|     @AuthUser() authUser: AuthUserDto, | ||||
|     @UploadedFile() fileInfo: Express.Multer.File, | ||||
|   ): Promise<CreateProfileImageResponseDto> { | ||||
|     return this.service.createProfileImage(authUser, fileInfo); | ||||
|   | ||||
| @@ -8,7 +8,7 @@ export interface AuthRequest extends Request { | ||||
|   user?: AuthUserDto; | ||||
| } | ||||
|  | ||||
| export const GetAuthUser = createParamDecorator((data, ctx: ExecutionContext): AuthUserDto => { | ||||
| export const AuthUser = createParamDecorator((data, ctx: ExecutionContext): AuthUserDto => { | ||||
|   return ctx.switchToHttp().getRequest<{ user: AuthUserDto }>().user; | ||||
| }); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user