Конвертировать операторы CASE в Sequelize - PullRequest
1 голос
/ 10 апреля 2019

У меня есть система тикетов со статусом тикета.Я хочу сделать запрос sequelize, который будет возвращать соответствующие счетчики статуса.Ниже приведен необработанный запрос, который работает нормально, я хочу преобразовать его в sequelize.

let querydata = `SELECT count(*) as total,
sum(case when status = 'Allocated' then 1 else 0 end) as allocated,
sum(case when status = 'RemindMe' then 1 else 0 end) as remindme,
sum(case when status = 'Close' then 1 else 0 end) as closed
FROM ticketnotifications
WHERE createdby = '` + req.auth.credentials.email + `';`;
return ticketdb.sequelize.query(querydata, { type: Sequelize.QueryTypes.SELECT })
  .then((agentCountResult) => {
    return res(agentCountResult[0]);
  }).catch((err) => {
    logger.error('agentCount exception...', err);
    return res(boom.expectationFailed(err));
  });

Я попытался [Sequelize.fn('COUNT', Sequelize.col('id')), 'total'], и он работает, но я застрял вокруг того, как преобразовать приведенный выше оператор Caseв дальнейшем.Есть идеи?

...