Skip to main content

4.Створення компанії

Під створенням компанії мається на увазі реалізація однієї з операцій CRUD, а саме Create - тобто ми повинні здійснити запис в базі даних (в нашому випадку це буде база даних MongoDB) про нашу компанію. 

Дані для запису в базу даних ми повинні передати  з раніше створених віджетів на сторінці Company. 

Отже для цього нам потрібно:
1. Створити EndPoint в середовищі NodeRed, куди ми передаємо дані та здійснюватимемо запис в базу даних.

1.1. EndPoint в середовищі NodeRed - це вузол “http in” - тобто це вузол, який прийматиме дані, які ми будемо на нього відправляти.Тобто ми з бокової панелі вузлів пересуваємо вузол “http in”, вибираємо в даному випадку Метод “Post” та вказуємо URL на приклад “/createCompany”. Кожний Endpoint повинен нам щось повертати, для цього нам потрібно додати вузол “http response” і приєднати його до вузла “http in”. Для того щоб в вікні “debug messages” побачити дані які ми передаємо на цей ендпоінт нам потрібно підключити вузол “debug” до вузла “http in”.

 

1.2. Для здійснення запису в базу даних, нам потрібно встановити додатково вузол “node-red-node-mongodb”. Відкриваємо в середовищі NodeRed  бокове меню та натискаємо на поле “Manage pallete”, у відкритому вікні натискаємо на поле “install”  та вказуємо назву вузла, вибираємо знайдений вузол та натискаємо  двічі кнопку “install”.

 

 

Після успішного виконання цих дій, в боковій панелі вузлів появиться два нових вузла: “mongodb in та “mongodb out”.

Для здійснення безпосередньо самого запису в базу даних, ми використовуватимемо вузол “mongodb out”. Нам потрібно буде внести конфігурації підключення до бази даних ( про це окремо поговоримо), підключити вузол “mongodb out”  до вузла “http in” та у вузлі “mongodb out” вибрати тип операції “insert” та зробити активним поле “Only store msg.payload object”.

Даний потік(flow) здійснить запис в базу даних, тобто все що буде відправлено на EndPoint (“/createCompany”) буде записано в базу даних.

Передача динамічних даних з середовище UiEditor в середовище NodeRed:
  Для передачі даних з едітору в середовище NodeRed  нам потрібно створити API Call, з методом який відповідає методу вузла “http in”. Відповідно  в вікні Sidebar ми натискаємо на “+” напроти “ApiCalls” і створюємо новий API call. Обираємо потрібний метод, нижче в полі “Enter NodeRed” обираємо назву середовища NodeRed.Після цього в полі “Enter HttpIn” в нас появиться перелік ендпоінтів (вузлів http in) цього середовища NodeRed.Обираємо потрібний (  в даному випадку це буде POST||/createCompany) і після натискання на нього появиться на проти методу URL адреса даного ендпоінту.

В нашому випадку API call має метод POST тому ми в тілі цього запиту передаємо дані.

В тілі запиту ми передаємо дані в форматі JSON. Зі скріна вище, “street_field” - це назва(об'єкт) віджету (в даному випадку це віджет “INPUT”), “.text” -  це властивість віджету, “street” - це назва змінної, яку ми передаємо. В даному прикладі наведено декілька простих тернарних перевірок, оскільки не всі поля є обов'язковими.