Files
HKSingleParty/03_source/api_server.del/prisma/seeds/fileList.ts
2025-05-28 09:55:51 +08:00

77 lines
2.6 KiB
TypeScript

// src/_mock/_files.ts
//
import { _mock } from './_mock';
import { _fileNames } from './assets';
//
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
//
const GB = 1000000000 * 24;
const URLS = [
_mock.image.cover(2),
'https://www.cloud.com/s/c218bo6kjuqyv66/design_suriname_2015.mp3',
'https://www.cloud.com/s/c218bo6kjuqyv66/expertise_2015_conakry_sao-tome-and-principe_gender.mp4',
'https://www.cloud.com/s/c218bo6kjuqyv66/money-popup-crack.pdf',
_mock.image.cover(3),
_mock.image.cover(5),
'https://www.cloud.com/s/c218bo6kjuqyv66/large_news.txt',
'https://www.cloud.com/s/c218bo6kjuqyv66/nauru-6015-small-fighter-left-gender.psd',
'https://www.cloud.com/s/c218bo6kjuqyv66/tv-xs.doc',
'https://www.cloud.com/s/c218bo6kjuqyv66/gustavia-entertainment-productivity.docx',
'https://www.cloud.com/s/c218bo6kjuqyv66/vintage_bahrain_saipan.xls',
'https://www.cloud.com/s/c218bo6kjuqyv66/indonesia-quito-nancy-grace-left-glad.xlsx',
'https://www.cloud.com/s/c218bo6kjuqyv66/legislation-grain.zip',
'https://www.cloud.com/s/c218bo6kjuqyv66/large_energy_dry_philippines.rar',
'https://www.cloud.com/s/c218bo6kjuqyv66/footer-243-ecuador.iso',
'https://www.cloud.com/s/c218bo6kjuqyv66/kyrgyzstan-04795009-picabo-street-guide-style.ai',
'https://www.cloud.com/s/c218bo6kjuqyv66/india-data-large-gk-chesterton-mother.esp',
'https://www.cloud.com/s/c218bo6kjuqyv66/footer-barbados-celine-dion.ppt',
'https://www.cloud.com/s/c218bo6kjuqyv66/socio_respectively_366996.pptx',
'https://www.cloud.com/s/c218bo6kjuqyv66/socio_ahead_531437_sweden_popup.wav',
'https://www.cloud.com/s/c218bo6kjuqyv66/trinidad_samuel-morse_bring.m4v',
_mock.image.cover(11),
_mock.image.cover(17),
'https://www.cloud.com/s/c218bo6kjuqyv66/xl_david-blaine_component_tanzania_books.pdf'
];
// ----------------------------------------------------------------------
export const genFileList = () =>
_fileNames.map((name, index) => ({
// id: _mock.id(index),
// createdAt: _mock.time(index),
//
name,
path: URLS[index],
preview: URLS[index],
size: GB / ((index + 1) * 500),
modifiedAt: _mock.time(index),
type: `${name.split('.').pop()}`
}));
const temp_file_list = genFileList();
async function fileList() {
for (let i = 0; i < temp_file_list.length; i++) {
await prisma.fileStore.upsert({
where: { id: i },
update: {},
create: temp_file_list[i]
});
}
}
const File = fileList()
.then(async () => {
await prisma.$disconnect();
})
.catch(async (e) => {
console.error(e);
await prisma.$disconnect();
process.exit(1);
});
export { File };