Lera
поняла, сейчас пересмотрю
Anonymous
миделвари и структура модуля
Anonymous
Можно в личку?
лучше сюда, так больше шансов, я не особо в ноде разбираюсь
Lera
я поняла
Lera
/stat@combot
Lera
ой
Dreamerinnoise
ну там вроде коннект вытащили
Dreamerinnoise
он теперь отдельно идёт
Dreamerinnoise
остался только статик
Anton
вопрос по #loopback есть ли у loopback что-то из коробки для того что бы запретить перезаписывать свойства модели через API? например, есть модель “AppUser” у которой есть свойство “created”. было бы не плохо запретить юзеру перезаписывать его
Lera
спасибо, действительно require
Evgeny
/stat@combot
Vlad
you dont know js
Anton
@PragmaWolf ну это самое очевидное и попахивает костылем была еще более костыльная идея - привязать к “AppUser” модель а-ля “AppUserPrivate” унаследованную от “Model” и только что появилась идея попробовать через ACL закрыть доступ, но в эту сторону еще нужно ресерчить
Anton
конкретнее про Proxy API?
Anton
если ты про проксирование стандартных CRUD методов типо upsert, create, prototype.updateAttributes, то это костыль будет
Дима
Механизм полного перехвата в es6: вызоов любых существующих и несуществующих методов, свойств, конструкторов, да хоть instanceof — всё переходит в режим ручного управления
Anton
если про проксирование REST API через другой REST API, то это вообще костылище
Дима
Это проксирование любого свойства объекта в js
Anonymous
ребят кто может на пальцах про memory leaks в JS объяснить? откуда сей зверь берётся и как с ним бороться... в гугле как-то непонятно пишут(
Anton
Это проксирование любого свойства объекта в js
это то о чем я говорил, только через Proxy API. в идеале было бы круто решить эту задачу используя функционал самого loopback. переопределение методов и их проксирование в этом случае будет если не костылем, то эгоизмом, ведь можно закинуть парням PR с добавлением этого функционала прямо в loopback
Дима
если про проксирование REST API через другой REST API, то это вообще костылище
Вот например объект, который автоматически заполняется при любом запросе var tree = Tree(); tree > { } tree.branch1.branch2.twig = "green"; tree > { branch1: { branch2: { twig: "green" } } } tree.branch1.branch3.twig = "yellow"; > { branch1: { branch2: { twig: "green" }, branch3: { twig: "yellow" }}} Вот API, которое автоматически распознаёт комбинированные имена PAIP.set2add10Append
Anton
я понял о чем ты, но это уже совсем глубоко. мне нужно не запретить сетить в объект, а запретить делать это через методы REST API
Дима
Да, пустой
Дима
Какое бы ты свойство в нем не запросил - оно в нем сразу окажется
Anton
в loopback, PUT на /users/:id вызывает prototype.updateAttributes() модели и уже лучше просто его запроксировать
Дима
Ну и вообще, можно переопределить все известные осноовные свойства объекта, у меня пока даже фантазии не хватает. что с их помощью можно нагенерировать)
Дима
в loopback, PUT на /users/:id вызывает prototype.updateAttributes() модели и уже лучше просто его запроксировать
Моё дело предложить) Но прокси — это как раз таки меньший костыль
Дима
Firefox с их помощью например реализует границы доступа между доменами. Но можно конечно и по старинке ¯\_(ツ)_/¯
Anonymous
да прикольная штука
JẹtFightżer
Использую io.js, запускаю скрипт (strict mode) через runInNewContext, когда скрипт запускается второй раз вылетает ошибка о повторном декларировании через let why?
Anton
а зачем io.js?
Anton
@JetFightzer
JẹtFightżer
не помню. ещё давно почему-то выброл его, а не ноду, но так-то API у них почти идентичные
JẹtFightżer
но ведь > запускаю скрипт (strict mode) через runInNewContext
JẹtFightżer
на каждый вызов новый контекст должен быть
Ohar
Значит обман
JẹtFightżer
я передаю один и тот же объект в функцию в качестве "контекста", но это не контекст, это просто окружение, контекст функция ведь должна сделать сама и какждый раз новый, не?
JẹtFightżer
я ведь вызываю не runInContext с явным контекстом
JẹtFightżer
создание каждый раз нового объекта (путём extend) решило проблему. видимо контекст привязан к объекту
JẹtFightżer
интересно как в аналогичной ситуации вдёт себя нода?
Ohar
Так же. Движок тот же
Ohar
я передаю один и тот же объект в функцию в качестве "контекста", но это не контекст, это просто окружение, контекст функция ведь должна сделать сама и какждый раз новый, не?
Если ты передаёшь объект в качестве контекста, то он и используется в качестве контекста. Тебя не посещала такая мысль?
JẹtFightżer
vm.runInNewContext(code[, sandbox][, options]) туда передаётся не контекст, а сэндбокс
Ohar
А, это хз что за зверь
JẹtFightżer
vm.runInNewContext compiles code, contextifies sandbox if passed or creates a new contextified sandbox if it's omitted, and then runs the code with the sandbox as the global object and returns the result. > contextifies sandbox if passed
JẹtFightżer
быть может эта операция на месте рпосто?
Ohar
Но, судя по симптомам, у больного типичная проблема непонимания передачи объекта по ссылке, а не значению
JẹtFightżer
не создание контекста из сэндбокса, а превращение сэндбокса в контекст?
Ohar
И в чем разница, лол?
Ohar
Ты его передал и из него контекст слепили
Ohar
Там был объект - а он по ссылке передаётся
Ohar
Мне бы иное и в голову не пришло
JẹtFightżer
разница в том что операция может быть на месте (меняет объект) или чистая (создаёт новый объект на основе старого)
Ohar
Там ничего не сказано про создание нового
Ohar
О таких вещах специально говорят, во избежание конфузов
JẹtFightżer
таки да, в этом и есть моя ошибка. я просто привык что обычно оно работает так, создавая новые объекты. ФП, все дела
JẹtFightżer
вероятно для сэндбокса есть смысл описать класс, дабы запихать методы в прототип?
JẹtFightżer
Попробуй ноду седьмую
разобрались с вопросом, там всё правильно, а я ошибся
LEXASOFT
а есть у кого нибуть пример двух пост запросов последовательно и возвратить результат последнего?
LEXASOFT
это node-fetch?
Vlad
просто фетч
Vlad
какую реаализацию возьмёшь дело твоё
LEXASOFT
мне просто надо вытащить токен из первого запроса и передать во второй и вернуть сразу результат
Vlad
ну так используй результат первого запроса
Eugene
попробуй промисом написать
Vlad
fetch('/auth').then(token => fetch('/supb', {}, { auth: token }))
LEXASOFT
пока не совсем понимаю в промисах
Vlad
пока не совсем понимаю в промисах
https://github.com/mattdesl/promise-cookbook
Vlad
и по es6 https://github.com/lukehoban/es6features#readme