· 6 years ago · Sep 10, 2019, 08: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];
43
44router.get('/', function (req, res, next) {
45 res.render('component/content', {
46 dataStructure: dataStructure,
47 title: 'Registrasi Aplikasi',
48 getData: {
49 url: '/RegistrasiAplikasi/getData',
50 method: 'POST',
51 urlAppend: '/RegistrasiAplikasi/appendData'
52 },
53 insertAction: {
54 url: '/RegistrasiAplikasi/Create',
55 method: 'POST'
56 },
57 editAction: {
58 url: '/RegistrasiAplikasi/Update',
59 method: 'PUT',
60 label: 'RegistrasiAplikasi',
61 },
62 deleteAction: {
63 url: '/RegistrasiAplikasi/',
64 method: 'DELETE'
65 }
66 });
67});
68router.post('/getData', function (req, res, next) {
69 const sortby = {
70 label: req.body.orderby,
71 order: req.body.sortby
72 }
73 const dataParam = {
74 label: 'RegistrasiAplikasi',
75 search: req.body.searchby,
76 sort: sortby,
77 rows: parseInt(req.body.rows),
78 page: parseInt(req.body.page)
79 }
80 console.log(dataParam)
81 axios.post(API.uniChannel + '/internal/node/queryPage', dataParam)
82 .then(function (result) {
83 var ret = result.data;
84 if (!Object.keys(ret).length) {
85 res.send('');
86 } else {
87 res.render('component/includes/dataCard', {
88 dataStructure: dataStructure,
89 responseData: result.data,
90 });
91 }
92 })
93 .catch(function (error) {
94 console.log(error);
95 });
96});
97
98router.post('/Create', function (req, res, next) {
99 const data = {
100 "labels": [
101 "RegistrasiAplikasi"
102 ],
103 "properties": {
104 "nama": req.body.nama,
105 "ip": req.body.ip,
106 "url": req.body.url,
107 "description": req.body.description,
108 "tanggalInstalasi": req.body.tanggalInstalasi,
109 "logo": req.body.logo
110 },
111 "createdBy": " herdi&vina",
112 "createdVia": " WEB"
113 }
114 console.log(data)
115 axios.post(API.uniChannel + '/internal/node/create', data)
116 .then(result => {
117 console.log('Insert data success')
118 return res.json({
119 message: 'Insert data success.',
120 status: 'T'
121 });
122 })
123 .catch(err => {
124 console.log('Insert data failed')
125 console.log(err);
126 console.log(paramData)
127 return res.json({
128 message: 'Error.',
129 status: 'F'
130 });
131 });
132
133});
134
135router.put('/Update', function (req, res, next) {
136 const properties = {
137 nama: req.body.edit_nama,
138 ip: req.body.edit_ip,
139 url: req.body.edit_url,
140 description: req.body.edit_description,
141 tanggalInstalasi: req.body.edit_tanggalInstalasi,
142 logo: req.body.edit_logo
143 }
144 const data = {
145 label: 'RegistrasiAplikasi',
146 id: req.body.id,
147 properties: properties,
148 changedBy: 'herdi&vina',
149 changedVia: 'WEB'
150 }
151 axios.put(API.uniChannel + '/internal/node', data)
152 .then(result => {
153 console.log('Update data success')
154 return res.json({
155 message: 'Update data success.',
156 status: 'T'
157 });
158 })
159 .catch(err => {
160 console.log('Update data failed')
161 console.log(err);
162 console.log(paramData)
163 return res.json({
164 message: 'Error.',
165 status: 'F'
166 });
167 });
168});
169
170router.get('/:parentnode/:id', function (req, res, next) {
171 const parentnode = req.params.parentnode;
172 const id = req.params.id
173 axios.get(API.uniChannel + '/internal/node?id=' + id + '&includeRelations=true')
174 .then(function (response) {
175 res.render('component/content', {
176 title: parentnode,
177 dataStructure: dataStructure,
178 responseData: response.data,
179 relatedNode: [{
180 nama: 'RegistrasiAplikasi',
181 url: '/RegistrasiAplikasi/ReferenceObject/'
182 }],
183 insertAction: {
184 url: '/RegistrasiAplikasi/',
185 method: 'POST'
186 },
187 editAction: {
188 url: '/RegistrasiAplikasi/',
189 method: 'PUT'
190 },
191 deleteAction: {
192 url: '/RegistrasiAplikasi/',
193 method: 'DELETE'
194 }
195 });
196 })
197 .catch(function (error) {
198 console.log(error);
199 });
200});
201
202router.post('/', function (req, res, next) {
203
204 const paramData = {
205 nama: req.body.nama,
206 ip: req.body.ip,
207 url: req.body.url,
208 description: req.body.description,
209 tanggalInstalasi: req.body.tanggalInstalasi,
210 logo: req.body.logo,
211
212 createdDescription: new Description().getTime(),
213 createdBy: 'adm@uc-fe',
214 createdVia: 'WEB',
215 changedDescription: '',
216 changedBy: '',
217 changedVia: '',
218 version: 1,
219 status: 'ACTIVE',
220 }
221
222 axios.post(API.uniChannel + '/CreateNode/RegistrasiAplikasi', paramData)
223 .then(res => {
224 console.log('Insert data success')
225 return res.json({
226 message: 'Success.'
227 });
228 })
229 .catch(err => {
230 console.log('Insert data failed')
231 console.log(err);
232 console.log(paramData)
233 return res.json({
234 message: 'Error.'
235 });
236 });
237});
238
239router.put('/', function (req, res, next) {
240
241 return res.json({
242 message: 'Error.'
243 });
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.delete('/', function (req, res, next) {
278 console.log(req.body.identity);
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
315module.exports = router;