comparison src/edgecontrol.coffee @ 0:b73191efc65b

Initial import of pumpbridge (bloody bloody alpha)
author Mathias Gebbe <mgebbe@intevation.de>
date Thu, 05 Jun 2014 10:35:15 +0200
parents
children 98a070c98982
comparison
equal deleted inserted replaced
-1:000000000000 0:b73191efc65b
1 # Copyright (C) 2014 by Intevation GmbH
2 # Author: Mathias Gebbe <mgebbe@intevation.de>
3 #
4 # This file is Free Software under the Apache License, Version 2.0
5 # (the "License"); and comes with ABSOLUTELY NO WARRANTY!
6 # You may not use this file except in compliance with the License.
7 # See LICENSE for details.
8
9 async = require("async")
10 _ = require("underscore")
11 Edge = require("./edge")
12
13
14 removeEdges = (userid, network, callback) ->
15 delEdge = (edge, callback) ->
16 unless edge.to.indexOf(network) is -1
17 edge.del callback
18 return
19
20 async.parallel [
21 (callback) ->
22 return Edge.search(
23 from: userid
24 , (err, edges) ->
25 if err
26 callback err
27 else
28 async.each edges, delEdge, callback
29 return
30 )
31 (callback) ->
32 return Edge.search(
33 to: userid
34 , (err, edges) ->
35 if err
36 callback err
37 else
38 async.each edges, delEdge, callback
39 return
40 )
41 ], callback
42 return
43
44 addEdge = (from, to) ->
45 async.waterfall [(callback) ->
46 Edge.create
47 from: from
48 to: to
49 , callback
50 return
51
52 ], (err, result) ->
53 return
54
55 deleteEdge = (from, to) ->
56 async.waterfall [(callback) ->
57 bank = Edge.bank()
58 bank.del Edge.type, Edge.key(from, to), callback
59 return
60
61 ], (err, result) ->
62 return
63
64 exports.removeEdges = removeEdges
65 exports.deleteEdge = deleteEdge
66 exports.addEdge = addEdge
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)