· 6 years ago · Sep 10, 2019, 07:46 AM
1const express = require('express');
2const router = express.Router();
3const axios = require('axios');
4const API = require('../../config/api.json');
5
6const dataStructure = [{
7 title: 'Nama',
8 key: 'nama',
9 type: 'text',
10 required: true,
11 },
12 {
13 title: 'IP',
14 key: 'ip',
15 type: 'mask',
16 required: true,
17 },
18 {
19 title: 'URL',
20 key: 'url',
21 type: 'text',
22 required: true,
23 },
24 {
25 title: 'Description',
26 key: 'description',
27 type: 'textarea',
28 required: true,
29 },
30 {
31 title: 'Tanggal Instalasi',
32 key: 'tanggalInstalasi',
33 type: 'date',
34 required: true,
35 },
36 {
37 title: 'Logo',
38 key: 'logo',
39 type: 'file',
40 required: true,
41 }
42];
43const relatedAddNode = [{
44 title: 'Add Reference Object',
45 url: '',
46}];
47const relatedNode = [{
48 nama: 'Reference Object',
49 url: '/ReferenceObject/Category/',
50 relationNama: 'HAS_VALUE',
51 relationDirection: 'out'
52}]
53
54router.get('/', function (req, res, next) {
55 res.render('component/content', {
56 dataStructure: dataStructure,
57 title: 'Registrasi Aplikasi',
58 getData: {
59 url: '/RegistrasiAplikasi/getData',
60 method: 'POST',
61 urlAppend: '/RegistrasiAplikasi/appendData'
62 },
63 insertAction: {
64 url: '/RegistrasiAplikasi/Create',
65 method: 'POST'
66 },
67 editAction: {
68 url: '/RegistrasiAplikasi/Update',
69 method: 'PUT',
70 label: 'RegistrasiAplikasi',
71 },
72 deleteAction: {
73 url: '/RegistrasiAplikasi/',
74 method: 'DELETE'
75 }
76 });
77});
78
79router.post('/getData', function (req, res, next) {
80 const sortby = {
81 label: req.body.orderby,
82 order: req.body.sortby
83 }
84 const dataParam = {
85 label: 'RegistrasiAplikasi',
86 search: req.body.searchby,
87 sort: sortby,
88 rows: parseInt(req.body.rows),
89 page: parseInt(req.body.page)
90 }
91 console.log(dataParam)
92 axios.post(API.uniChannel + '/internal/node/queryPage', dataParam)
93 .then(function (result) {
94 var ret = result.data;
95 if (!Object.keys(ret).length) {
96 res.send('');
97 } else {
98 res.render('component/includes/dataCard', {
99 dataStructure: dataStructure,
100 responseData: result.data,
101 });
102 }
103 })
104 .catch(function (error) {
105 console.log(error);
106 });
107});
108
109router.post('/Create', function (req, res, next) {
110 const data = {
111 "labels": [
112 "RegistrasiAplikasi"
113 ],
114 "properties": {
115 "nama": req.body.nama,
116 "ip": req.body.ip,
117 "url": req.body.url,
118 "description": req.body.description,
119 "tanggalInstalasi": req.body.tanggalInstalasi,
120 "logo": req.body.logo
121 },
122 "createdBy": " herdi&vina",
123 "createdVia": " WEB"
124 }
125 console.log(data)
126 axios.post(API.uniChannel + '/internal/node/create', data)
127 .then(result => {
128 console.log('Insert data success')
129 return res.json({
130 message: 'Insert data success.',
131 status: 'T'
132 });
133 })
134 .catch(err => {
135 console.log('Insert data failed')
136 console.log(err);
137 console.log(paramData)
138 return res.json({
139 message: 'Error.',
140 status: 'F'
141 });
142 });
143
144});
145
146// router.post('/Create', function(req, res, next) {
147// const data ={
148// nama:req.body.nama,
149// alias:req.body.alias,
150// description:req.body.description,
151// createdBy:'risma.fitria@amalsolution.com',
152// createdVia:'WEB'
153// }
154// axios.post(API.uniChannel + '/prefman/Category/create', data)
155// .then(result => {
156// console.log('Insert data success')
157// return res.json({
158// message:'Insert data success.',
159// status :'T'
160// });
161// })
162// .catch(err => {
163// console.log('Insert data failed')
164// console.log(err);
165// console.log(paramData)
166// return res.json({
167// message:'Error.',
168// status :'F'
169// });
170// });
171
172// });
173
174router.put('/Update', function (req, res, next) {
175 const properties = {
176 nama: req.body.edit_nama,
177 ip: req.body.edit_ip,
178 url: req.body.edit_url,
179 description: req.body.edit_description,
180 tanggalInstalasi: req.body.edit_tanggalInstalasi,
181 logo: req.body.edit_logo
182 }
183 const data = {
184 label: 'RegistrasiAplikasi',
185 id: req.body.id,
186 properties: properties,
187 changedBy: 'herdi&vina',
188 changedVia: 'WEB'
189 }
190
191 axios.put(API.uniChannel + '/internal/node', data)
192 .then(result => {
193 console.log('Update data success')
194 return res.json({
195 message: 'Update data success.',
196 status: 'T'
197 });
198 })
199 .catch(err => {
200 console.log('Update data failed')
201 console.log(err);
202 console.log(paramData)
203 return res.json({
204 message: 'Error.',
205 status: 'F'
206 });
207 });
208
209});
210
211router.get('/:parentnode/:id', function (req, res, next) {
212 const parentnode = req.params.parentnode;
213 const id = req.params.id
214 axios.get(API.uniChannel + '/internal/node?id=' + id + '&includeRelations=true')
215 .then(function (response) {
216 res.render('component/content', {
217 title: parentnode,
218 dataStructure: dataStructure,
219 responseData: response.data,
220 relatedNode: [{
221 nama: 'Category',
222 url: '/Category/ReferenceObject/'
223 }],
224 insertAction: {
225 url: '/Category/',
226 method: 'POST'
227 },
228 editAction: {
229 url: '/Category/',
230 method: 'PUT'
231 },
232 deleteAction: {
233 url: '/Category/',
234 method: 'DELETE'
235 }
236 });
237 })
238 .catch(function (error) {
239 console.log(error);
240 });
241});
242
243router.post('/', function (req, res, next) {
244
245 const paramData = {
246 nama: req.body.nama,
247 alias: req.body.alias,
248 description: req.body.description,
249
250 createdDescription: new Description().getTime(),
251 createdBy: 'adm@uc-fe',
252 createdVia: 'WEB',
253 changedDescription: '',
254 changedBy: '',
255 changedVia: '',
256 version: 1,
257 status: 'ACTIVE',
258 }
259
260 axios.post(API.uniChannel + '/CreateNode/Category', paramData)
261 .then(res => {
262 console.log('Insert data success')
263 return res.json({
264 message: 'Success.'
265 });
266 })
267 .catch(err => {
268 console.log('Insert data failed')
269 console.log(err);
270 console.log(paramData)
271 return res.json({
272 message: 'Error.'
273 });
274 });
275});
276
277router.put('/', function (req, res, next) {
278
279 return res.json({
280 message: 'Error.'
281 });
282
283 const paramData = {
284 nama: req.body.nama,
285 alias: req.body.alias,
286 description: req.body.description,
287
288 createdDescription: new Description().getTime(),
289 createdBy: 'adm@uc-fe',
290 createdVia: 'WEB',
291 changedDescription: '',
292 changedBy: '',
293 changedVia: '',
294 version: 1,
295 status: 'ACTIVE',
296 }
297
298 axios.post(API.uniChannel + '/CreateNode/Category', paramData)
299 .then(res => {
300 console.log('Insert data success')
301 return res.json({
302 message: 'Success.'
303 });
304 })
305 .catch(err => {
306 console.log('Insert data failed')
307 console.log(err);
308 console.log(paramData)
309 return res.json({
310 message: 'Error.'
311 });
312 });
313});
314
315router.delete('/', function (req, res, next) {
316 console.log(req.body.identity);
317 return res.json({
318 message: 'Error.'
319 });
320
321 const paramData = {
322 nama: req.body.nama,
323 alias: req.body.alias,
324 description: req.body.description,
325
326 createdDescription: new Description().getTime(),
327 createdBy: 'adm@uc-fe',
328 createdVia: 'WEB',
329 changedDescription: '',
330 changedBy: '',
331 changedVia: '',
332 version: 1,
333 status: 'ACTIVE',
334 }
335
336 axios.post(API.uniChannel + '/CreateNode/Category', paramData)
337 .then(res => {
338 console.log('Insert data success')
339 return res.json({
340 message: 'Success.'
341 });
342 })
343 .catch(err => {
344 console.log('Insert data failed')
345 console.log(err);
346 console.log(paramData)
347 return res.json({
348 message: 'Error.'
349 });
350 });
351});
352
353module.exports = router;