Files
AnimeTV-Backend/src/modules/internal/services/http/bulkInsertVideo.service.ts
Vivy Bot 90bf31a209
All checks were successful
Integration Tests / integration-tests (pull_request) Successful in 37s
🐛 fix: correct payload for bulk video insert API
2026-02-05 22:22:05 +07:00

36 lines
1.2 KiB
TypeScript

import { SystemAccountId } from "../../../../config/account/system";
import { ErrorForwarder } from "../../../../helpers/error/instances/forwarder";
import { BulkInsertVideoBodyRequest } from "../../controllers/bulkInsertVideo.controller";
import { findEpisodeWithMediaIdRepository } from "../../repositories/findEpisodeWithMediaId.repository";
import { bulkInsertVideoRepository } from "../../repositories/bulkInsertVideo.repository";
export const bulkInsertVideoService = async (
body: BulkInsertVideoBodyRequest,
) => {
try {
const insertedVideos: string[] = [];
for (const episodeData of body.data) {
const episodeId = await findEpisodeWithMediaIdRepository({
media: body.media_id,
episode: episodeData.episode,
});
for (const videoData of episodeData.videos) {
const insertedVideo = await bulkInsertVideoRepository({
pendingUpload: false,
episodeId: episodeId.id,
serviceId: videoData.service_id,
code: videoData.code,
uploadedBy: SystemAccountId,
});
insertedVideos.push(insertedVideo.id);
}
}
return insertedVideos;
} catch (error) {
ErrorForwarder(error);
}
};