UNPKG

3.05 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(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 resolve(body)
37 } catch(e) {
38 reject({func: '@sendAPIRequest', lCode: '-E2', type:'parse-error', msg: 'Hiba történt a válasz feldolgozása közben!'})
39 }
40 }
41 })
42 }
43 else {
44 reject({func: '@sendAPIRequest', lCode: '-E3', type:'data-error', msg: 'Hibás adatokat adott meg!'})
45 }
46 })
47}
48
49Communication.prototype.sendPOSTRequest = function(object) {
50 return new Promise(function(resolve, reject) {
51 var valid = ajv.validate(schema, object)
52 /*IFLOG*/if(process.env.AJV_ERROR_LOG == 'true') console.developer.log(ajv.errors)
53 if(valid) {
54 let URL = `${object.domain}/Request/outer/${object.url}`
55 request.post({
56 url: URL,
57 headers: {
58 authorization: `Bearer ${object.adminclass}`,
59 'x-shopid': object.shopID || 'null'
60 },
61 form: object.body || {}
62 }, function(err, res, body) {
63 if(err) reject({func: '@sendAPIRequest', lCode: '-E1', type:'request-error', msg: 'Hiba történt a lekérés futása közben!'})
64 else {
65 try {
66 body = JSON.parse(body)
67 resolve(body)
68 } catch(e) {
69 reject({func: '@sendAPIRequest', lCode: '-E2', type:'parse-error', msg: 'Hiba történt a válasz feldolgozása közben!'})
70 }
71 }
72 })
73 }
74 else {
75 reject({func: '@sendPOSTRequest', lCode: '-E3', type:'data-error', msg: 'Hibás adatokat adott meg!'})
76 }
77 })
78}
79
80module.exports = Communication
\No newline at end of file