All checks were successful
Integration Tests / integration-tests (pull_request) Successful in 37s
36 lines
1.2 KiB
TypeScript
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);
|
|
}
|
|
};
|