· 6 years ago · Sep 07, 2019, 06:14 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: 'text',
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: 'text',
34 required: true,
35 },
36 {
37 title: 'Logo',
38 key: 'logo',
39 type: 'text',
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: 'RegistrasiAplikasi',
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 axios.put(API.uniChannel + '/internal/node', data)
191 .then(result => {
192 console.log('Update data success')
193 return res.json({
194 message: 'Update data success.',
195 status: 'T'
196 });
197 })
198 .catch(err => {
199 console.log('Update data failed')
200 console.log(err);
201 console.log(paramData)
202 return res.json({
203 message: 'Error.',
204 status: 'F'
205 });
206 });
207
208});
209
210router.get('/:parentnode/:id', function (req, res, next) {
211 const parentnode = req.params.parentnode;
212 const id = req.params.id
213 axios.get(API.uniChannel + '/internal/node?id=' + id + '&includeRelations=true')
214 .then(function (response) {
215 res.render('component/content', {
216 title: parentnode,
217 dataStructure: dataStructure,
218 responseData: response.data,
219 relatedNode: [{
220 nama: 'Category',
221 url: '/Category/ReferenceObject/'
222 }],
223 insertAction: {
224 url: '/Category/',
225 method: 'POST'
226 },
227 editAction: {
228 url: '/Category/',
229 method: 'PUT'
230 },
231 deleteAction: {
232 url: '/Category/',
233 method: 'DELETE'
234 }
235 });
236 })
237 .catch(function (error) {
238 console.log(error);
239 });
240});
241
242router.post('/', function (req, res, next) {
243
244 const paramData = {
245 nama: req.body.nama,
246 alias: req.body.alias,
247 description: req.body.description,
248
249 createdDescription: new Description().getTime(),
250 createdBy: 'adm@uc-fe',
251 createdVia: 'WEB',
252 changedDescription: '',
253 changedBy: '',
254 changedVia: '',
255 version: 1,
256 status: 'ACTIVE',
257 }
258
259 axios.post(API.uniChannel + '/CreateNode/Category', paramData)
260 .then(res => {
261 console.log('Insert data success')
262 return res.json({
263 message: 'Success.'
264 });
265 })
266 .catch(err => {
267 console.log('Insert data failed')
268 console.log(err);
269 console.log(paramData)
270 return res.json({
271 message: 'Error.'
272 });
273 });
274});
275
276router.put('/', function (req, res, next) {
277
278 return res.json({
279 message: 'Error.'
280 });
281
282 const paramData = {
283 nama: req.body.nama,
284 alias: req.body.alias,
285 description: req.body.description,
286
287 createdDescription: new Description().getTime(),
288 createdBy: 'adm@uc-fe',
289 createdVia: 'WEB',
290 changedDescription: '',
291 changedBy: '',
292 changedVia: '',
293 version: 1,
294 status: 'ACTIVE',
295 }
296
297 axios.post(API.uniChannel + '/CreateNode/Category', paramData)
298 .then(res => {
299 console.log('Insert data success')
300 return res.json({
301 message: 'Success.'
302 });
303 })
304 .catch(err => {
305 console.log('Insert data failed')
306 console.log(err);
307 console.log(paramData)
308 return res.json({
309 message: 'Error.'
310 });
311 });
312});
313
314router.delete('/', function (req, res, next) {
315 console.log(req.body.identity);
316 return res.json({
317 message: 'Error.'
318 });
319
320 const paramData = {
321 nama: req.body.nama,
322 alias: req.body.alias,
323 description: req.body.description,
324
325 createdDescription: new Description().getTime(),
326 createdBy: 'adm@uc-fe',
327 createdVia: 'WEB',
328 changedDescription: '',
329 changedBy: '',
330 changedVia: '',
331 version: 1,
332 status: 'ACTIVE',
333 }
334
335 axios.post(API.uniChannel + '/CreateNode/Category', paramData)
336 .then(res => {
337 console.log('Insert data success')
338 return res.json({
339 message: 'Success.'
340 });
341 })
342 .catch(err => {
343 console.log('Insert data failed')
344 console.log(err);
345 console.log(paramData)
346 return res.json({
347 message: 'Error.'
348 });
349 });
350});
351
352module.exports = router;