@gudhub/core 1.0.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/GUDHUB/Auth/Auth.js +137 -0
  2. package/GUDHUB/Auth/Auth.test.js +15 -0
  3. package/GUDHUB/Managers/ChunksManager/ChunksManager.js +80 -0
  4. package/GUDHUB/Managers/ChunksManager/ChunksManager.test.js +46 -0
  5. package/GUDHUB/Managers/DocumentManager/DocumentManager.js +48 -0
  6. package/GUDHUB/Managers/FileManager/FileManager.js +208 -0
  7. package/GUDHUB/Managers/FileManager/file_manager.test.js +17 -0
  8. package/GUDHUB/Managers/managers.js +5 -0
  9. package/GUDHUB/PipeService/PipeService.js +167 -0
  10. package/GUDHUB/PipeService/PipeService.test.js +64 -0
  11. package/GUDHUB/PipeService/utils.js +32 -0
  12. package/GUDHUB/Processors/AppProcessor/AppProcessor.js +433 -0
  13. package/GUDHUB/Processors/AppProcessor/AppProcessor.test.js +38 -0
  14. package/GUDHUB/Processors/AppProcessor/AppProcessorMocks.js +83 -0
  15. package/GUDHUB/Processors/FieldProcessor/FieldProcessor.js +139 -0
  16. package/GUDHUB/Processors/FieldProcessor/FieldProcessor.test.js +16 -0
  17. package/GUDHUB/Processors/FieldProcessor/Untitled-1.json +17 -0
  18. package/GUDHUB/Processors/FieldProcessor/field_processor.md +85 -0
  19. package/GUDHUB/Processors/ItemProcessor/ItemProcessor.js +247 -0
  20. package/GUDHUB/Processors/ItemProcessor/item_processor.md +50 -0
  21. package/GUDHUB/Processors/processors.js +5 -0
  22. package/GUDHUB/Storage/Storage.js +115 -0
  23. package/GUDHUB/Storage/Storage.test.js +112 -0
  24. package/GUDHUB/Utils/Utils.js +153 -0
  25. package/GUDHUB/Utils/compare_items_lists_worker/compare_items_lists.worker.js +50 -0
  26. package/GUDHUB/Utils/filter/filter.js +308 -0
  27. package/GUDHUB/Utils/filter/filter.test.js +94 -0
  28. package/GUDHUB/Utils/filter/filterPreparation.js +103 -0
  29. package/GUDHUB/Utils/filter/group.js +41 -0
  30. package/GUDHUB/Utils/filter/utils.js +119 -0
  31. package/GUDHUB/Utils/get_date/get_date.js +90 -0
  32. package/GUDHUB/Utils/get_date/get_date.test.js +53 -0
  33. package/GUDHUB/Utils/interpretation/interpretation.js +100 -0
  34. package/GUDHUB/Utils/json_constructor/json_constructor.js +130 -0
  35. package/GUDHUB/Utils/json_constructor/json_constructor.test.js +70 -0
  36. package/GUDHUB/Utils/json_to_items/json_to_items.js +161 -0
  37. package/GUDHUB/Utils/json_to_items/json_to_items.test.js +85 -0
  38. package/GUDHUB/Utils/merge_chunks/merge_chunks.js +30 -0
  39. package/GUDHUB/Utils/merge_compare_items/merge_compare_items.js +316 -0
  40. package/GUDHUB/Utils/merge_compare_items/merge_compare_items.test.js +632 -0
  41. package/GUDHUB/Utils/merge_objects/merge_objects.js +120 -0
  42. package/GUDHUB/Utils/merge_objects/merge_objects.test.js +137 -0
  43. package/GUDHUB/Utils/nested_list/nested_list.js +38 -0
  44. package/GUDHUB/Utils/nested_list/nested_list.test.js +70 -0
  45. package/GUDHUB/Utils/populate_items/populate_items.js +66 -0
  46. package/GUDHUB/WebSocket/WebSocket.js +136 -0
  47. package/GUDHUB/config.js +8 -0
  48. package/GUDHUB/consts.js +1 -0
  49. package/GUDHUB/gudhub-https-service.js +193 -0
  50. package/GUDHUB/gudhub.js +477 -0
  51. package/GUDHUB/gudhub.test.js +218 -0
  52. package/GUDHUB/utils.js +25 -0
  53. package/Readme.md +537 -0
  54. package/fake_server/fake_java_server.js +112 -0
  55. package/fake_server/fake_server_data/app_132.js +3037 -0
  56. package/fake_server/fake_server_data/app_16259.js +1152 -0
  57. package/fake_server/fake_server_data/app_214.js +2057 -0
  58. package/fake_server/fake_server_data/app_8263.js +4167 -0
  59. package/fake_server/fake_server_data/chunks_mocks/bcacjbgqorherqmtykrj_8263.js +44561 -0
  60. package/fake_server/fake_server_data/chunks_mocks/bcjyuoqaewybudfyhir_8263.js +44197 -0
  61. package/fake_server/fake_server_data/chunks_mocks/tpajkpolmzklodcba_8263.js +44977 -0
  62. package/fake_server/fake_server_data/fake_server_data.js +111 -0
  63. package/index.js +3 -0
  64. package/indexUMD.js +5 -0
  65. package/package.json +45 -0
  66. package/umd/library.min.js +186 -0
  67. package/umd/library.min.js.map +1 -0
@@ -0,0 +1,218 @@
1
+ import should from 'should';
2
+ import express from "express";
3
+ import {GudHub} from './gudhub.js';
4
+ import java_server from "../fake_server/fake_java_server.js";
5
+ import {data} from '../fake_server/fake_server_data/fake_server_data.js';
6
+ import {port,wss_url,server_url} from "./config.js";
7
+
8
+ //** TEST ACCOUNT CREDENTIONALS **/
9
+ //fullname: "Vasya Pupkin"
10
+ //user_id: 58
11
+ //login : test@gudhub.com
12
+ //pass : gudhub
13
+ var auth_key = 'Z/lxMHLenEaQTvPjW5U6c3jBDwWFYZrh2F9Kxa3fbt8drvabS2u2lXQ2zI+SRmic';
14
+
15
+ const app = express();
16
+ app.use(express.json());
17
+ app.use(express.urlencoded());
18
+
19
+ app.listen(port, (err) => {
20
+ if (err) console.log(err);
21
+ console.log("Server run on port: ", port);
22
+ });
23
+
24
+ java_server(app);
25
+
26
+
27
+
28
+
29
+ describe("JAVA SERVER API", async function() {
30
+
31
+
32
+ // it("GET APP / App name should be 'Aqua-Test'", async function () {
33
+ // const gudhub = new GudHub(auth_key);
34
+ // var app = await gudhub.getApp("214");
35
+
36
+ // app.app_name.should.equal('Aqua-Test');
37
+ // })
38
+
39
+
40
+
41
+ // it("GET ITEM / Received item should have property'item_id': 1327", async function () {
42
+ // let item = await gh.itemGet(214, 1327);
43
+
44
+ // item.should.have.property('fields');
45
+ // item.should.have.property('item_id', 1327);
46
+
47
+ // })
48
+
49
+
50
+
51
+ // it("ELEMENT GET/ data_type should be radio_button", async function () {
52
+ // var ghElement = await gh.elementGet(270607);
53
+
54
+ // ghElement.element_id.should.equal(270607);
55
+ // ghElement.data_type.should.equal('radio_button');
56
+ // })
57
+
58
+
59
+ // it("FIELD VALUE GET/ should have property'field_value': 1587799620376", async function () {
60
+ // var value = await gh.fieldValueGet(214, 1327, 1455);
61
+ // value.should.equal('1587799620376');
62
+ // })
63
+
64
+
65
+
66
+ // it("UPDATE FIELD VALUE / Step 1: should change field_value to 777", async function () {
67
+ // var items = await gh.valueUpdate(214, 1327, 1455, '777');
68
+
69
+ // items.forEach(item => {
70
+ // item.should.property('fields');
71
+ // item.fields.find(field => field.element_id == 1455).should.have.property('field_value', '777')
72
+ // });
73
+
74
+ // })
75
+
76
+
77
+ // it("UPDATE FIELD VALUE / Step 2: should change field_value back", async function () {
78
+ // var items = await gh.valueUpdate(214, 1327, 1455, '1587799620376');
79
+
80
+ // items.forEach(item => {
81
+ // item.should.property('fields');
82
+ // item.fields.find(field => field.element_id == 1455).should.have.property('field_value', '1587799620376')
83
+ // });
84
+
85
+ // })
86
+
87
+
88
+
89
+
90
+ // it("UPDATE ITEM / Step 1: changing values of two item", async function () {
91
+ // var result = await gh.itemsUpdate(214, data.items_for_update_step1);
92
+
93
+ // result.length.should.equal(2);
94
+
95
+ // result.forEach(item => {
96
+
97
+ // if(item.item_id == 1193){
98
+ // item.fields.find(field => field.element_id == 1455).should.have.property('field_value', '333');
99
+ // }
100
+
101
+ // if(item.item_id == 1327){
102
+ // item.fields.find(field => field.element_id == 1455).should.have.property('field_value', '777');
103
+ // }
104
+
105
+ // });
106
+
107
+
108
+ // })
109
+
110
+
111
+ // it("UPDATE ITEM / Step 2: changing values of two items back", async function () {
112
+ // var result = await gh.itemsUpdate(214, data.items_for_update_step2);
113
+
114
+ // result.length.should.equal(2);
115
+
116
+ // result.forEach(item => {
117
+
118
+ // if(item.item_id == 1193){
119
+ // item.fields.find(field => field.element_id == 1455).should.have.property('field_value', '1464625451815');
120
+ // }
121
+
122
+ // if(item.item_id == 1327){
123
+ // item.fields.find(field => field.element_id == 1455).should.have.property('field_value', '1587799620376');
124
+ // }
125
+
126
+ // });
127
+
128
+
129
+ // })
130
+
131
+ // it("GET FIELD_MODEL", async () => {
132
+ // const model = await gh.getModel(214, 1455)
133
+ // model.should.not.undefined();
134
+ // model.should.have.property('data_type', 'date');
135
+ // })
136
+
137
+ // it("GET INTERPRETED VALUE / item ref", async () => {
138
+ // const interpretedValue = await gh.getInterpretedValue(214,74587, 254058);
139
+ // interpretedValue.should.equal('Big Fish Tank')
140
+ // })
141
+
142
+ // it("GET INTERPRETED VALUE / radio button", async () => {
143
+ // const interpretedValue = await gh.getInterpretedValue(16259,1064674, 270607);
144
+ // interpretedValue.should.equal("Normal")
145
+ // })
146
+
147
+ // it('GUDHUB / PipeService add subscriber', () => {
148
+ // gh.on("gh_items_get", { app_id: 121 }, () => {});
149
+ // gh.pipeService.subscribers.should.have.property("gh_items_get:121");
150
+ // gh.pipeService.subscribers["gh_items_get:121"].size.should.equal(1);
151
+ // });
152
+
153
+ // it('GUDHUB / PipeService add subscriber and emit',() => {
154
+ // gh.on("gh_app_get", {}, (event, request) => {
155
+ // const app = data[request.app_id];
156
+ // gh.emit("gh_app_get", request, app);
157
+ // });
158
+
159
+ // gh.on("gh_app_get", { app_id: 214 }, (event, app) => {
160
+ // app.app_name.should.have.equal("Aqua-Test");
161
+ // }).emit("gh_app_get", {}, { app_id: 214 });
162
+ // })
163
+
164
+ // it('GUDHUB / PipeService delete subscriber', () => {
165
+ // function getApp(){}
166
+ // gh.on("gh_app_get", { app_id: 200 }, getApp);
167
+ // gh.pipeService.subscribers["gh_app_get:200"].size.should.have.equal(1)
168
+ // gh.destroy('gh_app_get', {app_id: 200}, getApp);
169
+ // gh.pipeService.subscribers["gh_app_get:200"].size.should.have.equal(0)
170
+ // });
171
+
172
+ // it('GUDHUB / Upload file', async () => {
173
+ // const result = await gh.uploadFile('test', 214, 74587);
174
+ // result.status.should.equal('created')
175
+ // })
176
+
177
+ // it('GUDHUB / Upload file string', async () => {
178
+ // const result = await gh.uploadFileFromString('test_data', 'test', 214, 74587, 'txt', 'base64', 254058);
179
+ // result.file_name.should.equal('test')
180
+ // })
181
+
182
+ // it('GUDHUB / Update file string', async () => {
183
+ // const result = await gh.updateFileFromString('test_data', 551107, 'test', 'txt', 'base64');
184
+ // result.file_name.should.equal('test')
185
+ // })
186
+
187
+ // it('GUDHUB / Delete file ', async () => {
188
+ // const result = await gh.deleteFile(551116);
189
+ // result.file_id.should.equal(551116);
190
+ // })
191
+
192
+ // it('GUDHUB / Add document', async () => {
193
+ // const result = await gh.createDocument({app_id: 19240, item_id: 1484016, element_id: 348372, data: 'tessdasdt'});
194
+ // result.data.should.equal('tessdasdt');
195
+ // })
196
+
197
+ // it('GUDHUB / Find document', async () => {
198
+ // const result = await gh.getDocument({_id: '5f64a972b3a2788e859217b9'});
199
+ // result.status.should.equal('founded');
200
+
201
+ // })
202
+
203
+ // it('GUDHUB / Find All documents ', async () => {
204
+ // const result = await gh.getDocuments({app_id: 1, item_id: 1});
205
+ // result.status.should.equal('founded');
206
+ // })
207
+
208
+ // it('GUDHUB / Delete document', async () => {
209
+ // const result = await gh.deleteDocument({app_id: 1, item_id: 1, field_id: 1});
210
+ // result.status.should.equal('deleted')
211
+ // })
212
+
213
+ })
214
+
215
+
216
+
217
+
218
+
@@ -0,0 +1,25 @@
1
+ export function replaceSpecialCharacters(obj) {
2
+ return JSON.stringify(obj).replace(/\+|&|%/g, (match) => {
3
+ switch (match) {
4
+ case "+":
5
+ return "%2B";
6
+ case "&":
7
+ return "%26";
8
+ case "%":
9
+ return "%25";
10
+ }
11
+ });
12
+ }
13
+
14
+ /*----------------------------- FILTERING ITEM's FIELDS BEFORE SENDING -------------------------*/
15
+
16
+ /*-- Checking if some fields has null in field_value ( we don't send such fields )*/
17
+ export function filterFields(fieldsToFilter = []) {
18
+ return fieldsToFilter.filter((field) => field.field_value != null);
19
+ }
20
+
21
+ export function convertObjToUrlParams(obj = {}) {
22
+ const entries = Object.entries(obj);
23
+ if (!entries.length) return "";
24
+ return `&${entries.map(([key, value]) => `${key}=${value}`).join("&")}`;
25
+ }