root / HServer / 00.Server / 00.Program / modules / agent_module.js
이력 | 보기 | 이력해설 | 다운로드 (3.91 KB)
1 | 39 | HKM | var dbCenter = require('../db_modules/dbCenter'); |
---|---|---|---|
2 | |||
3 | var mySocket = require('../socket.io_modules/mySocket'); |
||
4 | |||
5 | var collectionName = 'agent'; |
||
6 | |||
7 | var control = {};
|
||
8 | |||
9 | |||
10 | |||
11 | // agent 가 연결이 되었을 경우
|
||
12 | control.connect = function( data, callback ){ |
||
13 | console.log('[agent_module] agent 접속');
|
||
14 | var jsonValue = JSON.parse(data);
|
||
15 | |||
16 | dbCenter.findClient(collectionName, jsonValue.mac, function(err, result){
|
||
17 | if(err){
|
||
18 | console.log('[agent find] err : ' + err.toString());
|
||
19 | return;
|
||
20 | } else {
|
||
21 | if(result){
|
||
22 | var sendData = JSON.stringify(result);
|
||
23 | console.log('[agent find] 결과를 찾았습니다. : ' + sendData);
|
||
24 | |||
25 | var changeData = result;
|
||
26 | changeData.connect = true;
|
||
27 | |||
28 | |||
29 | dbCenter.modifiy(collectionName, result, changeData,function(err, result){
|
||
30 | if(err){
|
||
31 | console.log(err.toString()); |
||
32 | } else {
|
||
33 | if(result){
|
||
34 | callback('agent_connect', sendData); // 연결된 콜백함수 |
||
35 | } else {
|
||
36 | console.log('결과가 없습니다.');
|
||
37 | } |
||
38 | } |
||
39 | }); |
||
40 | } else {
|
||
41 | console.log('[agent find] 결과가 없습니다. 새로운 것입니다.');
|
||
42 | jsonValue.connect = true;
|
||
43 | dbCenter.add(collectionName, jsonValue, function(err){
|
||
44 | if(err){
|
||
45 | console.log('[agent add] err : ' + err.toString());
|
||
46 | return;
|
||
47 | } else {
|
||
48 | console.log('[agent add] 성공');
|
||
49 | |||
50 | callback('agnet_new', jsonValue); // 새로운 콜백함수 |
||
51 | } |
||
52 | }); |
||
53 | } |
||
54 | } |
||
55 | }); |
||
56 | }; |
||
57 | |||
58 | control.disconnect = function( mac, callback){ |
||
59 | dbCenter.findClient(collectionName, mac, function(err, result){
|
||
60 | if(err){
|
||
61 | console.log('[agent find] err : ' + err.toString());
|
||
62 | return;
|
||
63 | } else {
|
||
64 | if(result){
|
||
65 | console.log('[agent find] 결과를 찾았습니다.');
|
||
66 | result.connect = 'disconnect';
|
||
67 | callback(null, result);
|
||
68 | } else {
|
||
69 | console.log('[agent find] 결과가 없습니다.');
|
||
70 | } |
||
71 | } |
||
72 | }); |
||
73 | }; |
||
74 | |||
75 | control.stateChange = function(mac, state, callback){ |
||
76 | dbCenter.findClient(collectionName, mac, function(err, result){
|
||
77 | if( err){
|
||
78 | return;
|
||
79 | } else {
|
||
80 | if(result){
|
||
81 | var changeData = result;
|
||
82 | changeData.state = state; |
||
83 | |||
84 | dbCenter.modifiy(collectionName, result, changeData, function(err, result){
|
||
85 | if(err){
|
||
86 | callback(err, null);
|
||
87 | return;
|
||
88 | } else {
|
||
89 | if(result){
|
||
90 | callback(null, result);
|
||
91 | } |
||
92 | } |
||
93 | }); |
||
94 | } |
||
95 | } |
||
96 | }); |
||
97 | } |
||
98 | |||
99 | |||
100 | control.getOne = function( mac, callback ){ |
||
101 | dbCenter.findClient(collectionName, mac, function(err, result){
|
||
102 | if(err){
|
||
103 | |||
104 | } else {
|
||
105 | if( result ){
|
||
106 | |||
107 | } else {
|
||
108 | |||
109 | } |
||
110 | } |
||
111 | }); |
||
112 | }; |
||
113 | |||
114 | control.FindAgentForContentName = function(contentsName, callback){ |
||
115 | dbCenter.findAll(collectionName, function(err, result){
|
||
116 | if(err==null&&result!=null){ |
||
117 | var resultArray = [];
|
||
118 | |||
119 | for(var i = 0; i< result.length; i++){ |
||
120 | if(result[i].contents == contentsName){
|
||
121 | resultArray.push(result[i]); |
||
122 | } |
||
123 | } |
||
124 | callback(null, resultArray);
|
||
125 | } |
||
126 | }); |
||
127 | }; |
||
128 | |||
129 | |||
130 | |||
131 | |||
132 | module.exports = control; |