Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const prettyPrint = require('./modules/logger')
- const logger = require('pino')({
- name: 'api-gateway',
- prettyPrint
- })
- const CWRMQ = require('cwrmq');
- const uuid = require('uuid');
- const config = require('./config')
- let n = 0
- const mock = {
- createBuilding: (n, show) => ({
- resp: 'api-gateway',
- id: '311b745c-82f9-4a5e-8747-19c0c6de8693',
- data: {//data to service
- user: 'visarut.on@throughwave.co.th',
- api: 'create-building',
- body: {
- name: show && 'hello'+n,
- type: 'Building'
- },
- }
- }),
- getBuilding: {
- resp: 'api-gateway',
- id: '311b745c-82f9-4a5e-8747-19c0c6de8693',
- data: {//data to service
- user: 'visarut.on@throughwave.co.th',
- api: 'get-building',
- query: {
- id: 'b1'
- },
- }
- },
- updateBuilding: {
- resp: 'api-gateway',
- id: '311b745c-82f9-4a5e-8747-19c0c6de8693',
- data: {//data to service
- user: 'visarut.on@throughwave.co.th',
- api: 'update-building',
- query: {
- id: 'b1',
- },
- body: {
- name: 'Thai CC Tower kiki',
- },
- }
- },
- deleteBuilding: {
- resp: 'api-gateway',
- id: '311b745c-82f9-4a5e-8747-19c0c6de8693',
- data: {//data to service
- user: 'visarut.on@throughwave.co.th',
- api: 'delete-building',
- query: {
- id: 'b1',
- },
- }
- },
- createFloor: {
- resp: 'api-gateway',
- id: '311b745c-82f9-4a5e-8747-19c0c6de8693',
- data: {//data to service
- user: 'visarut.on@throughwave.co.th',
- api: 'create-floor',
- body: {
- name: 'floor 1',
- type: 'Floor'
- },
- }
- },
- getFloor: {
- resp: 'api-gateway',
- id: '311b745c-82f9-4a5e-8747-19c0c6de8693',
- data: {//data to service
- user: 'visarut.on@throughwave.co.th',
- api: 'get-floor',
- query: {
- id: 'f1',
- },
- }
- },
- updateFloor: {
- resp: 'api-gateway',
- id: '311b745c-82f9-4a5e-8747-19c0c6de8693',
- data: {//data to service
- user: 'visarut.on@throughwave.co.th',
- api: 'update-floor',
- query: {
- id: 'f1',
- },
- body: {
- name: 'floor 1',
- type: 'Floor'
- },
- }
- },
- deleteFloor: {
- resp: 'api-gateway',
- id: '311b745c-82f9-4a5e-8747-19c0c6de8693',
- data: {//data to service
- user: 'visarut.on@throughwave.co.th',
- api: 'delete-floor',
- query: {
- id: 'f1',
- },
- }
- }
- }
- function printOption() {
- logger.info(`Choose api:
- 1: create building
- 2: get building
- 3: update building
- 4: delete building
- 5: create floor
- 6: get floor
- 7: update floor
- 8: delete floor
- `)
- }
- function callback(sender, channel, jobID, func, data, done) {
- logger.info('Receive data from: '+channel+' => '+data)
- done()
- }
- const cwrmq = new CWRMQ('api-gateway-module', 'api-gateway-worker-id');
- cwrmq.regis('api-gateway', [], callback, err => {
- if (!err) {
- logger.info('Register api-gateway success')
- // cwrmq.sendMessage(uuid(), config.busModule, 'create-building',
- // JSON.stringify(mock.createBuilding(n++, true)))
- printOption()
- const stdin = process.openStdin();
- stdin.addListener('data', data => {
- logger.info(`you entered: ${data.toString().trim()}`);
- switch(data.toString().trim()) {
- case '1':
- const uid = uuid()
- n++
- logger.info(`Sending message: cwrmq.sendMessage(${uid}, ${config.busModule}, 'create-building', ${JSON.stringify(mock.createBuilding(n, true))})`)
- cwrmq.sendMessage(uid, config.busModule, 'create-building', JSON.stringify(mock.createBuilding(n, true)))
- break
- case '0':
- logger.info('Sending message: create-building')
- cwrmq.sendMessage(uuid(), config.busModule, 'create-building',
- JSON.stringify(mock.createBuilding(n)))
- break
- case '2':
- logger.info('Sending message: get-building')
- cwrmq.sendMessage(uuid(), config.busModule, 'get-building',
- JSON.stringify(mock.getBuilding))
- break
- case '3':
- logger.info('Sending message: update-building')
- cwrmq.sendMessage(uuid(), config.busModule, 'update-building',
- JSON.stringify(mock.updateBuilding))
- break
- case '4':
- logger.info('Sending message: delete-building')
- cwrmq.sendMessage(uuid(), config.busModule, 'delete-building',
- JSON.stringify(mock.deleteBuilding))
- break
- case '5':
- logger.info('Sending message: create-floor')
- cwrmq.sendMessage(uuid(), config.busModule, 'create-floor',
- JSON.stringify(mock.createFloor))
- break
- case '6':
- logger.info('Sending message: get-floor')
- cwrmq.sendMessage(uuid(), config.busModule, 'get-floor',
- JSON.stringify(mock.getFloor))
- break
- case '7':
- logger.info('Sending message: update-floor')
- cwrmq.sendMessage(uuid(), config.busModule, 'update-floor',
- JSON.stringify(mock.updateFloor))
- break
- case '8':
- logger.info('Sending message: delete-floor')
- cwrmq.sendMessage(uuid(), config.busModule, 'delete-floor',
- JSON.stringify(mock.deleteFloor))
- break
- case 'p':
- printOption()
- break
- }
- });
- }
- else logger.error('Register api-gateway failed')
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement