Size: a a a

Node.js — русскоговорящее сообщество

2020 April 04

OL

Oleh Levchenko in Node.js — русскоговорящее сообщество
Есть кто хорошо в sequelize рубит?
Вопрос в чем.
Нужно запилить associations такого вида:
module.exports = (sequelize, DataTypes) => {
 const History = sequelize.define('History', {
   WatchId:{
     type: DataTypes.INTEGER,
     references: {
       model: 'Watch',
       key: 'id'
     }
   },
   historableId: DataTypes.INTEGER,
   historableType: DataTypes.STRING
 }, {
   getHistorable(options) {
     if (!this.historableType) return Promise.resolve(null);
     const mixinMethodName = `get${uppercaseFirst(this.historableType)}`;
     return this[mixinMethodName](options);
   }
 });
 History.associate = function(models) {
   // associations can be defined here
   History.belongsTo(models.Watch);

   History.belongsTo(models.Maintenance, { foreignKey: 'historableId', constraints: false });
   History.belongsTo(models.TransferWatch, { foreignKey: 'historableId', constraints: false });
 };
 return History;
};
источник

OL

Oleh Levchenko in Node.js — русскоговорящее сообщество
Но получаю не совсем то что хотел
[
       {
           "id": 1,
           "WatchId": 4,
           "historableId": 1,
           "historableType": "Maintenance",
           "createdAt": "2020-04-04T14:04:17.000Z",
           "updatedAt": "2020-04-04T14:04:19.000Z",
           "Maintenance": {
               "id": 1,
               "UserId": 2,
               "WatchId": 4,
               "ServiceId": 1,
               "BrandId": 3,
               "maintenanceDocNumber": "REW43566",
               "dismantling": null,
               "inspection": null,
               "replacement": null,
               "lubrication": null,
               "reassembling": null,
               "calibration": null,
               "guaranteeIssued": null,
               "completed": false,
               "createdAt": "2020-04-04T14:03:29.000Z",
               "updatedAt": "2020-04-04T14:03:30.000Z"
           },
           "TransferWatch": {
               "id": 1,
               "fromUserId": 2,
               "toUserId": 3,
               "WatchId": 4,
               "createdAt": "2020-04-03T20:43:03.000Z",
               "updatedAt": "2020-04-03T20:43:05.000Z"
           }
       },
       {
           "id": 2,
           "WatchId": 4,
           "historableId": 2,
           "historableType": "TransferWatch",
           "createdAt": "2020-04-04T14:04:38.000Z",
           "updatedAt": "2020-04-04T14:04:41.000Z",
           "Maintenance": null,
           "TransferWatch": {
               "id": 2,
               "fromUserId": 3,
               "toUserId": 4,
               "WatchId": 4,
               "createdAt": "2020-04-04T14:09:47.000Z",
               "updatedAt": "2020-04-04T14:09:49.000Z"
           }
       }
   ]
источник

OL

Oleh Levchenko in Node.js — русскоговорящее сообщество
В первом объекте ответа я не ожидаю увидеть "TransferWatch"
источник

OL

Oleh Levchenko in Node.js — русскоговорящее сообщество
Сам запрос
источник

OL

Oleh Levchenko in Node.js — русскоговорящее сообщество
Можно добавить в модельки поле с уникальным ID (т.е. не через PK) для всех... например timestamp+hash и по нем делать ассоциацию - но мне кажется это костыль и не нужное усложнение
источник

AZ

Aleksey Zhdanov in Node.js — русскоговорящее сообщество
Подскажите что прочитать, хочу разобраться fetch socket  нужно подгружать данные из базы не могу примеры найти (сформулировать запрос)
источник

a

azabroflovski in Node.js — русскоговорящее сообщество
Chingiz Mamiyev
Хочешь к фреймворку через ssh подключиться?)
Да или вообще на ноду подключить ssh
источник

c

cotnr in Node.js — русскоговорящее сообщество
azabroflovski
Да или вообще на ноду подключить ssh
ты кто?
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
cotnr
ты кто?
он азо, а ты аза )
источник

c

cotnr in Node.js — русскоговорящее сообщество
что за дичь
источник

a

azabroflovski in Node.js — русскоговорящее сообщество
cotnr
ты кто?
Ваш далёкий знакомый)
источник

c

cotnr in Node.js — русскоговорящее сообщество
azabroflovski
Ваш далёкий знакомый)
я кинул жалобу
источник

V

Victor in Node.js — русскоговорящее сообщество
azabroflovski
Как подключить ssh на restify ни как не могу найти как это делается
Привет, ssh клиент может подключаться только к ssh серверу, а не к рестифаю или ноде. Поэтому это невозможно. Надеюсь что ответил на твой вопрос и желаю хороших выходных ☺️
источник

c

cotnr in Node.js — русскоговорящее сообщество
azabroflovski
Ваш далёкий знакомый)
может кто ему жалобу кинуть? меня напрягает что он от моего имени пишет
источник

a

azabroflovski in Node.js — русскоговорящее сообщество
cotnr
может кто ему жалобу кинуть? меня напрягает что он от моего имени пишет
Всё не партесь
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
Vladimir Luvolunov
Всем привет. Кто-нибудь делал перебор всей базы с заменой всех её элементов? К примеру, есть урок —
lesson {
 title: ...
 text: ...
}

И из него нужно сделать такой —
lesson {
 title: ...
 blocks: ...
}
Гугли миграции
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
Так этот список может не менялся лет семь, и у этих компаний уже нет экспресса
источник

u

undefined in Node.js — русскоговорящее сообщество
Алексей Попов
Так этот список может не менялся лет семь, и у этих компаний уже нет экспресса
у тебя, наверное, конечностей нет, чтобы это проверить?
https://github.com/expressjs/expressjs.com/commits/gh-pages/en/resources/companies-using-express.md
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
undefined
у тебя, наверное, конечностей нет, чтобы это проверить?
https://github.com/expressjs/expressjs.com/commits/gh-pages/en/resources/companies-using-express.md
Переформулирую вопрос, раз предыдущая формулировка сложна: есть ли гарантия что указанные в списке компании до сих пор используют экспресс? Готов поручиться?
источник

u

undefined in Node.js — русскоговорящее сообщество
Алексей Попов
Переформулирую вопрос, раз предыдущая формулировка сложна: есть ли гарантия что указанные в списке компании до сих пор используют экспресс? Готов поручиться?
а что это меняет?
источник