UNPKG

3.13 kBJavaScriptView Raw
1var request = require('request')
2var Ajv = require('ajv')
3var ajv = new Ajv({allErrors: true})
4
5var Communication = function() {}
6
7var schema = {
8 type: 'object',
9 required: ['adminclass', 'shopID', 'domain', 'url'],
10 properties: {
11 adminclass: {type: 'string'},
12 shopID: {type: 'string'},
13 domain: {type: 'string'},
14 url: {type: 'string'},
15 body: {type: 'object'}
16 }
17}
18
19Communication.prototype.sendGETRequest = function(key, object) {
20 return new Promise(function(resolve, reject) {
21 var valid = ajv.validate(schema, object)
22 /*IFLOG*/if(process.env.AJV_ERROR_LOG == 'true') console.developer.log(ajv.errors)
23 if(valid) {
24 let URL = `${object.domain}/Request/outer/${object.url}`
25 request.get({
26 url: URL,
27 headers: {
28 authorization: `Bearer ${object.adminclass}`,
29 'x-shopid': object.shopID || 'null'
30 }
31 }, function(err, res, body) {
32 if(err) reject({func: '@sendAPIRequest', lCode: '-E1', type:'request-error', msg: 'Hiba történt a lekérés futása közben!'})
33 else {
34 try {
35 body = JSON.parse(body)
36 body.key = key
37 resolve(body)
38 } catch(e) {
39 reject({func: '@sendAPIRequest', lCode: '-E2', type:'parse-error', msg: 'Hiba történt a válasz feldolgozása közben!'})
40 }
41 }
42 })
43 }
44 else {
45 reject({func: '@sendAPIRequest', lCode: '-E3', type:'data-error', msg: 'Hibás adatokat adott meg!'})
46 }
47 })
48}
49
50Communication.prototype.sendPOSTRequest = function(key, object) {
51 return new Promise(function(resolve, reject) {
52 var valid = ajv.validate(schema, object)
53 /*IFLOG*/if(process.env.AJV_ERROR_LOG == 'true') console.developer.log(ajv.errors)
54 if(valid) {
55 let URL = `${object.domain}/Request/outer/${object.url}`
56 request.post({
57 url: URL,
58 headers: {
59 authorization: `Bearer ${object.adminclass}`,
60 'x-shopid': object.shopID || 'null'
61 },
62 form: object.body || {}
63 }, function(err, res, body) {
64 if(err) reject({func: '@sendAPIRequest', lCode: '-E1', type:'request-error', msg: 'Hiba történt a lekérés futása közben!'})
65 else {
66 try {
67 body = JSON.parse(body)
68 body.key = key
69 resolve(body)
70 } catch(e) {
71 reject({func: '@sendAPIRequest', lCode: '-E2', type:'parse-error', msg: 'Hiba történt a válasz feldolgozása közben!'})
72 }
73 }
74 })
75 }
76 else {
77 reject({func: '@sendPOSTRequest', lCode: '-E3', type:'data-error', msg: 'Hibás adatokat adott meg!'})
78 }
79 })
80}
81
82module.exports = Communication
\No newline at end of file