Files
json-server/db/cron-job.js
2024-03-29 14:32:56 +07:00

66 lines
1.8 KiB
JavaScript

import { faker } from "@faker-js/faker";
const MAX = 10;
function createCronJob() {
return {
guid: faker.string.uuid(),
cronjobName: faker.helpers.arrayElement([
"cronjob-mdms-pull-meter-alert",
"DAP PERCENTILE DATA",
"DAP WEIS DATA",
]),
fileName: `DAP_WEIS_${faker.date.anytime().toTimeString()}.txt`,
scheduleDateTime: faker.date.anytime(),
fileReceivedTime: faker.date.anytime(),
fileIngestionTime: faker.date.anytime(),
totalRecords: faker.number.int({ min: 0, max: 40 }),
totalFailedRecords: faker.number.int({ min: 0, max: 40 }),
errorDetail: faker.helpers.arrayElement([
null,
"Header invalid",
"Connect sftp failed…",
"File incomplete ingestion",
]),
jobFiles: faker.helpers.multiple(
() => ({
guid: faker.string.uuid(),
fileName: `FILE NAME ${faker.number.int()}.txt`,
processTime: Math.floor(faker.date.anytime().getTime() / 1000),
noOfRecordsSuccess: faker.number.int({ min: 2, max: 500 }),
noOfRecordsInvalid: faker.number.int({ min: 1, max: 50 }),
fileStatus: faker.helpers.arrayElement([
"SUCCESS",
"FAILED (STAGING)",
"CANCEL",
]),
errorDetail: {
message: faker.helpers.arrayElement([
"Header invalid",
null,
"File incomplete ingestion",
]),
rejectedRecordsFile: `DAP_WEIS_${faker.date
.anytime()
.toTimeString()}_${faker.string.uuid()}.txt`,
},
}),
{
count: faker.number.int({ min: 1, max: 5 }),
}
),
};
}
export default () => {
const data = {
status: 200,
data: {
totalCronjobRecords: MAX,
cronjobLogList: faker.helpers.multiple(createCronJob, { count: MAX }),
},
};
return data;
};