fix: asset copy validation error (#23387)
parent
3f5cd48a59
commit
e9038193db
|
|
@ -57,6 +57,28 @@ describe(AssetController.name, () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('PUT /assets/copy', () => {
|
||||||
|
it('should be an authenticated route', async () => {
|
||||||
|
await request(ctx.getHttpServer()).get(`/assets/copy`);
|
||||||
|
expect(ctx.authenticate).toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should require target and source id', async () => {
|
||||||
|
const { status, body } = await request(ctx.getHttpServer()).put('/assets/copy').send({});
|
||||||
|
expect(status).toBe(400);
|
||||||
|
expect(body).toEqual(
|
||||||
|
factory.responses.badRequest(expect.arrayContaining(['sourceId must be a UUID', 'targetId must be a UUID'])),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should work', async () => {
|
||||||
|
const { status } = await request(ctx.getHttpServer())
|
||||||
|
.put('/assets/copy')
|
||||||
|
.send({ sourceId: factory.uuid(), targetId: factory.uuid() });
|
||||||
|
expect(status).toBe(204);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('PUT /assets/:id', () => {
|
describe('PUT /assets/:id', () => {
|
||||||
it('should be an authenticated route', async () => {
|
it('should be an authenticated route', async () => {
|
||||||
await request(ctx.getHttpServer()).get(`/assets/123`);
|
await request(ctx.getHttpServer()).get(`/assets/123`);
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,13 @@ export class AssetController {
|
||||||
return this.service.get(auth, id) as Promise<AssetResponseDto>;
|
return this.service.get(auth, id) as Promise<AssetResponseDto>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Put('copy')
|
||||||
|
@Authenticated({ permission: Permission.AssetCopy })
|
||||||
|
@HttpCode(HttpStatus.NO_CONTENT)
|
||||||
|
copyAsset(@Auth() auth: AuthDto, @Body() dto: AssetCopyDto): Promise<void> {
|
||||||
|
return this.service.copy(auth, dto);
|
||||||
|
}
|
||||||
|
|
||||||
@Put(':id')
|
@Put(':id')
|
||||||
@Authenticated({ permission: Permission.AssetUpdate })
|
@Authenticated({ permission: Permission.AssetUpdate })
|
||||||
updateAsset(
|
updateAsset(
|
||||||
|
|
@ -91,13 +98,6 @@ export class AssetController {
|
||||||
return this.service.update(auth, id, dto);
|
return this.service.update(auth, id, dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Put('copy')
|
|
||||||
@Authenticated({ permission: Permission.AssetCopy })
|
|
||||||
@HttpCode(HttpStatus.NO_CONTENT)
|
|
||||||
copyAsset(@Auth() auth: AuthDto, @Body() dto: AssetCopyDto): Promise<void> {
|
|
||||||
return this.service.copy(auth, dto);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Get(':id/metadata')
|
@Get(':id/metadata')
|
||||||
@Authenticated({ permission: Permission.AssetRead })
|
@Authenticated({ permission: Permission.AssetRead })
|
||||||
getAssetMetadata(@Auth() auth: AuthDto, @Param() { id }: UUIDParamDto): Promise<AssetMetadataResponseDto[]> {
|
getAssetMetadata(@Auth() auth: AuthDto, @Param() { id }: UUIDParamDto): Promise<AssetMetadataResponseDto[]> {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue