Paruyr
18.08.2017
11:54:07
dima
18.08.2017
11:54:55
arts
18.08.2017
11:55:46
lexxx
18.08.2017
11:55:51
парни помогите подключаюсь к постгресу через sequelize, нижк код и ошибка
/** Database */
const connection = new Sequelize(
dbConfig.database,
dbConfig.username,
dbConfig.password,
{
host: dbConfig.host,
dialect: dbConfig.dialect,
pool: {
max: 5,
min: 0,
idle: 10000
}
}
);
connection.authenticate()
.then(() => {
console.log(`Connected to ${database.databaseUrl} DB!`)
})
.catch(e => console.error(`Failed to connect to DB ${database.databaseUrl} on startup`, e));
выкидывает с такой ошибкой
Failed to connect to DB undefined on startup { SequelizeConnectionError: read ECONNRESE
T
at connection.connect.err (D:\new dev\registration-service\node_modules\sequelize\l
ib\dialects\postgres\connection-manager.js:107:24)
at Connection.connectingErrorHandler (D:\new dev\registration-service\node_modules\
pg\lib\client.js:126:14)
at emitOne (events.js:115:13)
at Connection.emit (events.js:210:7)
at Socket.<anonymous> (D:\new dev\registration-service\node_modules\pg\lib\connecti
on.js:71:10)
at emitOne (events.js:115:13)
at Socket.emit (events.js:210:7)
at emitErrorNT (internal/streams/destroy.js:64:8)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
name: 'SequelizeConnectionError',
parent:
{ Error: read ECONNRESET
at exports._errnoException (util.js:1024:11)
at TCP.onread (net.js:610:25) code: 'ECONNRESET', errno: 'ECONNRESET', syscall:
'read' },
original:
{ Error: read ECONNRESET
at exports._errnoException (util.js:1024:11)
at TCP.onread (net.js:610:25) code: 'ECONNRESET', errno: 'ECONNRESET', syscall:
'read' } }
Google
Aslan
18.08.2017
11:56:07
Всем привет народ) касательно hhtp протоколов и заголовков хватит статей почитать или есть книжки, которые стоит хорошенько изучить?)
dima
18.08.2017
11:56:07
это обычная проверка доступа, но что если на странице есть функции для админа и юзера. И нужно не показать для юзера? Тогда делаем функцию can() принимающую какой то обьект. И она выолниться вернут bool. И мы можем определить может это делать или нет
Paruyr
18.08.2017
11:57:39
Сделай через маски и все
dima
18.08.2017
11:57:54
какие маски?
это не то. Мне нужно проверить что может он делать или нет. На пример может ли он обновить пост и тд
Олег
18.08.2017
11:58:39
Paruyr
18.08.2017
11:58:44
https://learn.javascript.ru/bitwise-operators#маска Вот у Кантора хорошо описано все
Ilgiz
18.08.2017
11:58:51
Олег
18.08.2017
11:59:34
toPrimitive на Object делает toString
Aslan
18.08.2017
12:00:12
Konstantin
18.08.2017
12:01:12
dima
18.08.2017
12:01:22
Google
Paruyr
18.08.2017
12:01:46
Ну в NPM есть много пакетов, что бы проще было.
dima
18.08.2017
12:01:54
мне проще взять функцию и передать туда что то. Она вернет true или false. И так можно узнать)
Konstantin
18.08.2017
12:02:01
ЧТОБЫ
dima
18.08.2017
12:02:08
куда проще чем маска * ? Просто много if else
а с can() будет одно условие и все. в то время как с маской туча
Paruyr
18.08.2017
12:03:24
const need = ACCESS_CREATE | ACCESS_UPDATE;
const got = ACCESS_CREATE;
const can = got & need;
dima
18.08.2017
12:03:45
ну и мне это говно хранить и тд? Не фигня.
Paruyr
18.08.2017
12:04:11
respond(can ? OK : FAIL)
dima
18.08.2017
12:04:20
if (assecc && update) {}
ну лажа
can(): bool
куда проще уже не правда ли ?
Paruyr
18.08.2017
12:06:19
Я бы вот как сделал:
const isGranted = (mask) => async (ctx, next) => {
if (ctx.user.rights & mask) {
await next()
} else {
throw new Error('not allowed');
}
}
И уже в роутере:
router.get('/admin', isGranted(admin), ...);
dima
18.08.2017
12:06:33
и маска не подойдет для случая - на пример. Я на писал пост и хочу его изменить. И мне нужно изменить только свой. Маска не каким боком не поможет
Paruyr
18.08.2017
12:06:55
Маска + принадлежность к группе
dima
18.08.2017
12:07:05
блин ты не понял меня
Paruyr
18.08.2017
12:07:13
Мейби
dima
18.08.2017
12:08:27
маска то зачем мне? Я могу указать для глобального доступа к странице и тд
admin = 1 ...
и просто без маски смотреть. А у юзера будет role. Но вот может юзер сделать что то и тд. Не глобальное. ТУт can() зайдет хорошо. НА пример в laravel это называются политики
throw new Error('not allowed') => ctx.throw(500)
и перехватить ее в мидле
Voskresus
18.08.2017
12:17:53
пацаны а что делать если нода стерла твой код ?
Charles
18.08.2017
12:18:11
ребят, кто-нить observable на backend'е делал? у меня проблема в том что если юзать mobx с его декораторами то мне надо будет переписать всю ванильку на богомерзкие классы - я там дохрена. как можно докрутить что-то подобное что отслеживает переменные функции?
Voskresus
18.08.2017
12:18:14
писал пол недели
Google
Charles
18.08.2017
12:18:36
ты что, не коммитился?
Evgeny
18.08.2017
12:18:52
Voskresus
18.08.2017
12:19:43
прикольные варианты
я ебал такую жизнь
что делать ?
Evgeny
18.08.2017
12:21:09
ну может быть, но сейчас явно ее ход
как вариант - посмотреть по отркытым инодам, может можно будет вытащить что-то что еще не закрылось.
Если ссд с тримом и процесс уже помер - скорее вссего хера ты что достанешь
Voskresus
18.08.2017
12:21:58
не долго музыка играла не долго фраер кайфавал
вот щас запускаю скрипт он выдает ошибку и потом сам стирается в редакторе а редактор падает
перезапускаю редактор и нихуя
Misha
18.08.2017
12:24:25
Не
Случаха
Не труды нажал)
Дмитрий
18.08.2017
12:24:45
Спохватился на середине проекта
Voskresus
18.08.2017
12:25:30
что теперь делать блять у меня щас паника начнется я его писал 4 дня нахуй
я душу вложил
arts
18.08.2017
12:26:17
toPrimitive на Object делает toString
Я вот сейчас не поленился и переопределил toString и valueOf у двух дат и сравнил. Таки valueOf вызывается :-)
Потом залез в спеку. toPrimitive может принимать агрумент hint, в зависимости от которого может вести себя по-разному. Так вот, при сравнении больше/меньше hint=number.
Anton
18.08.2017
12:27:33
Google
Charles
18.08.2017
12:29:03
ну подскажите чтоли(((
ребят, кто-нить observable на backend'е делал? у меня проблема в том что если юзать mobx с его декораторами то мне надо будет переписать всю ванильку на богомерзкие классы - я там дохрена. как можно докрутить что-то подобное что отслеживает переменные функции?
Олег
18.08.2017
12:32:55
Voskresus
18.08.2017
13:24:29
>вчера для прикола знакомой тянке скинул весь код проекта
> сегодня бот сам себя удалил стерев весь свой код
шах и мат атеисты
KlonD90
18.08.2017
13:25:15
причем здесь правда mobx?
и backend?
ты точно в тот чат?
Charles
18.08.2017
13:26:06
ну а чем мне еще это делать? да, точно тот чат - у меня нода, надо докрутить observable на серв
KlonD90
18.08.2017
13:26:23
и главное какое отношение mobx имеет к observable?
Charles
18.08.2017
13:26:37
либо прямое, либо я что-то не понимаю в этой жизни
Igor
18.08.2017
13:28:13
посмотри сюда https://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D0%B1%D0%BB%D1%8E%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)
KlonD90
18.08.2017
13:29:31
(
@ZeroBias
все равно не понял что конкретно ты хочешь. Если тебе нужно просто эмитить события есть EventEmitter - если нужны observable сами по себе то есть функциональные библиотеки они вроде те же самые.
Igor
18.08.2017
13:32:58
' как можно докрутить что-то подобное что отслеживает переменные функции?'
Vlad
18.08.2017
13:38:09
Какие кл. слова для такого: нужно запустить R interpreter, передать туда строки к выполнению, словить вывод
куда загуглить, а то я хз
https://www.npmjs.com/package/r-script
нашел, мб кому-то тоже пригодится
Google
Evgeny
18.08.2017
13:47:29
Charles
18.08.2017
13:57:27
смотри. Есть Функция-конструктор, читай - класс. У класса есть свойства. Они меняются. Мне нужно просто через @observable (как в MobX) их считывать на каждый чих по поводу их изменения. То есть получать слепок состояния объекта при каждом их изменении. Будь то буль поменял полярность, number заинкрементился, что угодно.
' как можно докрутить что-то подобное что отслеживает переменные функции?'
Evgeny
18.08.2017
13:58:26
Charles
18.08.2017
13:58:48
через EventEmiiter я при всем желании этоо не сделаю. Ну то есть сделаю но это будет полное говнище. Был вариант делать через Proxy - но во-первых мне просто это не нравится, во-вторых я даже не помню есть ли апи Proxy в самой ноде. через MobX делать - надо будет перехрначивать в ES6 классы, но там тогда дохера будет, надо быстрей
arts
18.08.2017
14:05:13
Ruslan ?
18.08.2017
14:06:13
Через rxjs подпишись на нужные изменения
Charles
18.08.2017
14:13:43
тоже надо
ща гляну на rx
он почему-то у меня вообще из головы вылетел(
Таймураз
18.08.2017
15:24:35
Dmitrii
18.08.2017
16:01:09
Дмитрий
18.08.2017
16:13:17
>через EventEmiiter я при всем желании этоо не сделаю
Типичный результат использования mobx)
Я в редаксе вообще сделал удалённый getState, который получает апдейты стора через EventEmitter, изи
Dimanius851
18.08.2017
16:30:56
точнее как так?