
Сергей
06.03.2017
17:04:27
Дельная мысль

Mike
06.03.2017
17:04:36
resources('book', { validate: [mySuperValidateFunction] }, BooksController)

Сергей
06.03.2017
17:04:52
хотя наверное лучше назвать before, after и там делай что хочешь

Дмитрий
06.03.2017
17:05:01
const admin = {
login: 'post',
logout: 'post',
pages: resources({}, PagesController),
status: {
database: 'get',
service: 'get',
redis: 'get',
},
};

Google

Mike
06.03.2017
17:05:16
ну функций валидации может быть несколько [f1, f2]

Сергей
06.03.2017
17:05:35

Дмитрий
06.03.2017
17:07:29
Я не знаю твой точный api и задачу, но то, что на скринах можно вполне упростить хотя бы в этих местах

Сергей
06.03.2017
17:07:41

Mike
06.03.2017
17:07:42
resources('book', { validate: [mySuperValidateFunction, mySuperValidateFunction2], inject: getUserByAuthToken }, BooksController),

Дмитрий
06.03.2017
17:07:42
А дальше уже посмотреть, как удобней будет)

Mike
06.03.2017
17:09:14
я топлю за то, что в методах обрабатывающих роуты часто дублируется всякие проверки и полуение объекта пользователя, ACL всякий. что было бы логичнее выкинуть на уровень описания роутов
и как получится ) я первый звезду поставлю на гитхабе

Сергей
06.03.2017
17:11:21

Mike
06.03.2017
17:12:13
во огонь, и подумай над inject

Сергей
06.03.2017
17:14:03

Mike
06.03.2017
17:15:10
чтобы перед ресурсом например получать объект юзера по токену. для избавления от дубликации
и в твоем случае с ФП можно мемоизировать функцию в переданную в inject. тогда работать будет быстрее
а, before же подойдет тоже

Google

Ilya
06.03.2017
17:25:31
Логирование тоже before/after?

Сергей
06.03.2017
17:25:44
да
можно на самый верхний уровень добавить логгер

Ilya
06.03.2017
17:37:18
И еще бы генератор из свегера:))

Сергей
06.03.2017
17:40:28
это можно
createRest возвращает дерево всех роутов
генерация роутов для express будет производиться отдельной функцией
так что если нужно, можно вполне написать npm-пакет для swagger'а
а-ля createrest-swagger

Roman
06.03.2017
17:42:00
вот эта вся дискуссия лишний раз доказывает что в нод экосистеме ничерта нет нормального)
мы ровно с тем же маемся
нужен нормальный http фреймворк
я для нового проекта просто плюнул и выбрал джанго

Сергей
06.03.2017
17:45:53
так оно так и создается постепенно

Roman
06.03.2017
17:49:35
это самая большая проблема

Сергей
06.03.2017
17:50:01

Roman
06.03.2017
17:50:05
ну а в этой схеме не очень то, что нет связки со свегером

Сергей
06.03.2017
17:50:28

Roman
06.03.2017
17:50:51
ну есть же sequelizer
хочется иметь типы от моделей (TS, Flow), все ORM в ноде постоянно изобретают свой велосипед

Сергей
06.03.2017
17:51:00
const router = createRest(/* ... */)
generateSwagger(router)
module.exports = createExpressMiddleware(router)

Roman
06.03.2017
17:51:58
в принципе да

Сергей
06.03.2017
17:52:07

Roman
06.03.2017
17:52:48
а если я флоу хочу :)

Google

Roman
06.03.2017
17:53:12
почему нельзя просто держать модели в es6 классах или json схеме
которая парсится куда хочешь
before, after, всяческие тригеры тоже очень важны, при этом чтобы это были чистые функции с типизированными интерфейсами

Олег
06.03.2017
17:55:12
я снова врываюсь с тупым вопросом, исполняю wget -r -k -l 7 -p -E -nc -nv http://url.ur, а в ответ нода мне пишет UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: ENOENT: no such file or directory, stat *путь до папки, которую должен был создать wget* , если кинете ссылок на объяснение, как чуть ранее, буду благодарен, гугл не помог

Дмитрий
06.03.2017
17:56:23
Я поэтому и предлагал вариант с plain-объектом с ключами и значениями)
Емнип, у меня даже где-то была такая реализация

Roman
06.03.2017
18:31:06
попытка номер 3. чат, кто юзает git-lfs? :)

Alex
06.03.2017
19:00:11
hlp plz. Кто юзает node-telegram-bot-api , как отправить гифку в чат ?
в доках не нашел такого метода, если отправлять как фото, то она как фото и приходит :)

Vladimir
06.03.2017
19:12:51
найди исходники какого нибудь гиф бота

Таймураз
06.03.2017
19:20:43
У тебя на гх репозиторий есть?

Сергей
06.03.2017
19:22:11

Таймураз
06.03.2017
19:22:27
Можно ссыль?

Сергей
06.03.2017
19:23:18
https://atmx.in/rest

Кирилл
06.03.2017
20:33:24
Пришлось откатыватся

Roman
06.03.2017
21:53:42

Alexander
06.03.2017
21:56:39
В mongo есть отношения между коллекциями?

Таймураз
06.03.2017
21:57:20

Google

Alexander
06.03.2017
22:01:48
Почитал в интернете, что использовать mongo, где есть связи между колекциями, не стоит. Задался вопросом. Такое разве существует?

Ivan
06.03.2017
22:30:14
Помню в 14 были разговоры за ref, позволяющие на уровне БД делать выборки связей по objectid, но в конце вроде сказали не будет такого

Stas
06.03.2017
22:32:55

Ivan
06.03.2017
22:33:39
Но смысл выбирать эту БД и лепить на неё связи, тогда может надо другую брать или поменять подход и осознание для чего монга?)
mysql, postgresql тоже умеют json

KlonD90
06.03.2017
22:36:23
но не умеют в шардинг из коробки
и map reduce операции над этими данными

Ivan
06.03.2017
22:38:05
А почему не elasticsearch там и мапредьюс не нужен, всё абстрактно и язык запросов намного мощнее монги

Admin
ERROR: S client not available

Ivan
06.03.2017
22:38:07
)
Я за то, что человек мне кажется не в ту сторону начал размышлять, пытаюсь его подтолкнуть на правильные мысли об архитектурном подходе

KlonD90
06.03.2017
22:39:12
ну это же на база данных ( хотя многие пытаются ее так спозиционировать. я к тому что если нужен шардинг то надо будет все равно придумывать какие-то костыли. может в колоночные попроще будет

Ivan
06.03.2017
22:39:52
Да ладно, 3 года продакшене несколько кластеров, интернет провайдер, siem система, большая erp
;)
И шардинг из коробки
И фейл овер

Кирилл
07.03.2017
04:08:00

Lulz
07.03.2017
05:11:47
йо! подскажите хороший orm для ноды

Andrey ?
07.03.2017
07:01:05

Lulz
07.03.2017
07:01:15
mysql

Google

Andrey ?
07.03.2017
07:02:10
mysql
sequelize, даже не знаю чего-то другого сравнимо-приемлимого

Artur
07.03.2017
07:23:53

Andrey ?
07.03.2017
07:24:20
Я с ним с постгресом и работал
До рельсовского AR, конечно, топать и топать

KlonD90
07.03.2017
07:25:40
А чего не хватает?

Ilya
07.03.2017
07:33:16

Roman
07.03.2017
07:35:19

Ilya
07.03.2017
07:36:22
knex запросы - bookshelf уже поверх него дает сахара

Lulz
07.03.2017
07:36:23
спасибо =)

Ilya
07.03.2017
07:36:43
Конечно не Eloquent from Laravel ))
Надеюсь это не запрещённые тут слова )

Artur
07.03.2017
07:37:58
Ведь ПХП говно (как некоторые считают, но не я)

Ilya
07.03.2017
07:43:52
Ведь ПХП говно (как некоторые считают, но не я)
PHP отличен и "прост" реально это его плюс. Если бы у ноды и PHP был бы похожий синхроный "режим" или язык для изоморфных приложений c синтаксисом JS. Но async/await упростит вхождение и развитие еще стремительнее.

Vladimir
07.03.2017
08:00:04

Славик
07.03.2017
08:05:35
о, опять про пхп
в пхп есть ооп, а в джаваскрипте еще только через бабель

Anton
07.03.2017
08:07:03