Skip to content

Instantly share code, notes, and snippets.

@ivandeex
Forked from alt-j/get-recomendation.js
Created January 23, 2018 15:45
Show Gist options
  • Save ivandeex/16a2fe1ad67c1b425f61b083721a6c0b to your computer and use it in GitHub Desktop.
Save ivandeex/16a2fe1ad67c1b425f61b083721a6c0b to your computer and use it in GitHub Desktop.
/**
* @typedef {Object} Person
* @property {String} login Идентификатор сотрудника.
* @property {Number} floor "Домашний" этаж сотрудника.
* @property {String} avatar Ссылка на аватар.
*/
/**
* @typedef {Object} Room
* @property {Number} id Идентификатор переговорки.
* @property {String} title Название переговорки.
* @property {Number} capacity Вместимость (количество человек).
* @property {Number} floor Этаж, на котором расположена переговорка.
*/
/**
* @typedef {Object} EventDate
* @property {Number} start Timestamp начала встречи.
* @property {Number} end Timestamp окончания встречи.
*/
/**
* @typedef {Object} Event
* @property {String} id Идентификатор встречи.
* @property {String} title Название встречи.
* @property {String[]} members Логины участников встречи.
* @property {EventDate} date Дата и время проведения встречи.
* @property {Number} room Идентификатор переговорки.
*/
/**
* @typedef {Object} RoomsSwap
* @property {string} event Идентификатор встречи.
* @property {String} room Новый идентификатор переговорки.
*/
/**
* @typedef {Object} Recommendation
* @property {EventDate} date Дата и время проведения встречи.
* @property {String} room Идентификатор переговорки.
* @property {RoomsSwap[]} [swap] Необходимые замены переговорк для реализации рекомендации.
*/
/**
* @param {EventDate} date Дата планируемой встречи.
* @param {Person[]} members Участники планируемой встречи.
* @param {Object} db
* @param {Event[]} db.events Список все встреч.
* @param {Room[]} db.rooms Список всех переговорок.
* @param {Person[]} db.persons Список всех сотрудников.
* @returns {Recommendation[]}
*/
function getRecommendation(date, members, db) {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment