apps/recallassess/recallassess-api/src/api/shared/media/media.controller.ts
api/admin/media
Methods |
|
| Async addMedia | ||||||||||||||||||
addMedia(fileList: DiskStorageFile[], module: string, id: number, media_type: string, media_name: string)
|
||||||||||||||||||
Decorators :
@UseInterceptors(undefined)
|
||||||||||||||||||
|
Parameters :
Returns :
unknown
|
| Async deleteMedia | ||||||||||||||||||
deleteMedia(module: string, record_id: number, media_type: string, media_name: string, id: number)
|
||||||||||||||||||
Decorators :
@Delete('delete/:module/:record_id/:media_type/:media_name/:id')
|
||||||||||||||||||
|
Parameters :
Returns :
unknown
|
import { MediaService } from "@api/shared/media/media.service";
import { BaseController } from "@bish-nest/core/controller/base.controller";
import {
DiskStorage,
type DiskStorageFile,
FileFieldsInterceptor,
UploadedFiles,
} from "@blazity/nest-file-fastify";
import { Controller, Delete, Param, ParseIntPipe, Post, UseInterceptors } from "@nestjs/common";
@Controller("api/admin/media")
export class MediaController extends BaseController<MediaService> {
constructor(mediaService: MediaService) {
super(mediaService);
}
@UseInterceptors(
FileFieldsInterceptor(
[
{ name: "file", maxCount: 25 },
{ name: "image", maxCount: 25 },
{ name: "video", maxCount: 25 },
{ name: "attachment", maxCount: 25 },
],
{ storage: new DiskStorage() },
),
)
@Post("add/:module/:id/:media_type/:media_name")
async addMedia(
@UploadedFiles() fileList: DiskStorageFile[],
@Param("module") module: string,
@Param("id", ParseIntPipe) id: number,
@Param("media_type") media_type: string,
@Param("media_name") media_name: string,
) {
try {
// /api/media/add/inventory/123/photo
return this.entityService.addMediaFiles(fileList, module, media_type, media_name, id);
} catch (error) {
console.error("Error handling file upload:", error);
throw error; // or handle the error in a specific way
}
}
@Delete("delete/:module/:record_id/:media_type/:media_name/:id")
async deleteMedia(
@Param("module") module: string,
@Param("record_id", ParseIntPipe) record_id: number,
@Param("media_type") media_type: string,
@Param("media_name") media_name: string,
@Param("id", ParseIntPipe) id: number,
) {
try {
// /api/media/delete/inventory/123/photo/99
return this.entityService.deleteMedia(module, media_type, media_name, record_id, id);
} catch (error) {
console.error("Error deleting file:", error);
throw error;
}
}
}