Generación de slots y validación de datos
Clase 5 de 8 • Laboratorio de Node.js: Clon de Calendly
Contenido del curso
Clase 5 de 8 • Laboratorio de Node.js: Clon de Calendly
Contenido del curso
Diego Vergara
Víctor José Ruiz Herrera
Les dejo mi solución al reto de los slot, a mi parecer el mas dificil,
function availability(timezone,start,end,dateTime,options = {}) { const {intervalDuration,margin} = options start = new Date(start) end = new Date(end) let duration = ( end - start )/60/1000 const availability = [] let startInterval = new Date(start.getTime()) while (duration > 0) { const interval = { startDate: new Date(startInterval), endDate: new Date(startInterval.getTime() + intervalDuration * 60000), status: 'on' } availability.push(interval) startInterval = new Date(interval.endDate.getTime() + margin * 60000) duration -= (intervalDuration + margin) } return availability } availability("America/Santiago","2018-12-30T09:30:00","2018-12-30T12:30:00","2023-03-10",{intervalDuration:15,margin:5})
Los dtos, son los encargados de validar la informacion de entrada.