handle error on create user
This commit is contained in:
37
src/common/constant/config.constant.ts
Normal file
37
src/common/constant/config.constant.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
// export class ConfigConstant {
|
||||
// static SLOT_DURATION = 60;
|
||||
// static SLOT_BREAK_DURATION = 15;
|
||||
// static MID_DAY_BREAK_TIME_START: Date = new Date().setHours(12, 0, 0, 0);
|
||||
// static MID_DAY_BREAK_TIME_END: Date = new Date().setHours(13, 0, 0, 0);
|
||||
// static SLOT_START_TIME: Date = new Date().setHours(8, 0, 0, 0);
|
||||
// static SLOT_END_TIME: Date = new Date().setHours(22, 0, 0, 0);
|
||||
// }
|
||||
|
||||
// export const ConfigConstant: Record<string, any> = {
|
||||
// SLOT_DURATION: 60,
|
||||
// SLOT_BREAK_DURATION: 15,
|
||||
// MID_DAY_BREAK_TIME_START: {
|
||||
// hour: 12,
|
||||
// minute: 0,
|
||||
// second: 0,
|
||||
// millisecond: 0,
|
||||
// },
|
||||
// MID_DAY_BREAK_TIME_END: {
|
||||
// hour: 13,
|
||||
// minute: 0,
|
||||
// second: 0,
|
||||
// millisecond: 0,
|
||||
// },
|
||||
// SLOT_START_TIME: {
|
||||
// hour: 8,
|
||||
// minute: 0,
|
||||
// second: 0,
|
||||
// millisecond: 0,
|
||||
// },
|
||||
// SLOT_END_TIME: {
|
||||
// hour: 22,
|
||||
// minute: 0,
|
||||
// second: 0,
|
||||
// millisecond: 0,
|
||||
// },
|
||||
// };
|
||||
@@ -1,64 +1,34 @@
|
||||
function getOverlapRange(
|
||||
startA: number,
|
||||
endA: number,
|
||||
startB: number,
|
||||
endB: number,
|
||||
) {
|
||||
const overlapStart = Math.max(startA, startB);
|
||||
const overlapEnd = Math.min(endA, endB);
|
||||
// function getOverlapRange(
|
||||
// startA: number,
|
||||
// endA: number,
|
||||
// startB: number,
|
||||
// endB: number,
|
||||
// ) {
|
||||
// const overlapStart = Math.max(startA, startB);
|
||||
// const overlapEnd = Math.min(endA, endB);
|
||||
|
||||
return overlapStart < overlapEnd ? { overlapStart, overlapEnd } : null;
|
||||
}
|
||||
// return overlapStart < overlapEnd ? { overlapStart, overlapEnd } : null;
|
||||
// }
|
||||
|
||||
function isOverlap(startA: number, endA: number, startB: number, endB: number) {
|
||||
return getOverlapRange(startA, endA, startB, endB) !== null;
|
||||
}
|
||||
// export function isOverlap(
|
||||
// startA: number,
|
||||
// endA: number,
|
||||
// startB: number,
|
||||
// endB: number,
|
||||
// ) {
|
||||
// return getOverlapRange(startA, endA, startB, endB) !== null;
|
||||
// }
|
||||
|
||||
// Generate random time ranges for the schedulers
|
||||
function generateTimeRanges(count: number): { start: number; end: number }[] {
|
||||
const ranges = [];
|
||||
const startDate = new Date('2024-10-06T00:00:00Z').getTime();
|
||||
for (let i = 0; i < count; i++) {
|
||||
const start = startDate + Math.floor(Math.random() * 10000000); // Random start time
|
||||
const end = start + Math.floor(Math.random() * 10000000); // Random end time after start
|
||||
ranges.push({ start, end });
|
||||
}
|
||||
return ranges;
|
||||
}
|
||||
// const overlapRange = getOverlapRange(startA, endA, startB, endB);
|
||||
// if (overlapRange) {
|
||||
// console.log(
|
||||
// `Overlap Start: ${new Date(overlapRange.overlapStart).toISOString()}`,
|
||||
// );
|
||||
// console.log(
|
||||
// `Overlap End: ${new Date(overlapRange.overlapEnd).toISOString()}`,
|
||||
// );
|
||||
|
||||
// Benchmark performance of overlap detection between two schedulers
|
||||
const schedulerA = generateTimeRanges(50);
|
||||
const schedulerB = generateTimeRanges(50);
|
||||
|
||||
console.time('Overlap Benchmark');
|
||||
let overlapCount = 0;
|
||||
for (const rangeA of schedulerA) {
|
||||
for (const rangeB of schedulerB) {
|
||||
if (isOverlap(rangeA.start, rangeA.end, rangeB.start, rangeB.end)) {
|
||||
overlapCount++;
|
||||
}
|
||||
}
|
||||
}
|
||||
console.timeEnd('Overlap Benchmark');
|
||||
|
||||
console.log(`Total Overlaps Found: ${overlapCount}`);
|
||||
|
||||
// Example usage with specific time ranges
|
||||
const startA = new Date('2024-10-06T10:00:00Z').getTime();
|
||||
const endA = new Date('2024-10-06T12:00:00Z').getTime();
|
||||
const startB = new Date('2024-10-06T11:00:00Z').getTime();
|
||||
const endB = new Date('2024-10-06T13:00:00Z').getTime();
|
||||
|
||||
const overlapRange = getOverlapRange(startA, endA, startB, endB);
|
||||
if (overlapRange) {
|
||||
console.log(
|
||||
`Overlap Start: ${new Date(overlapRange.overlapStart).toISOString()}`,
|
||||
);
|
||||
console.log(
|
||||
`Overlap End: ${new Date(overlapRange.overlapEnd).toISOString()}`,
|
||||
);
|
||||
|
||||
console.log('Is overlap: true');
|
||||
} else {
|
||||
console.log('No overlap');
|
||||
}
|
||||
// console.log('Is overlap: true');
|
||||
// } else {
|
||||
// console.log('No overlap');
|
||||
// }
|
||||
|
||||
Reference in New Issue
Block a user