1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 | Phabricator = require '../lib/phabricator'
|
22 |
|
23 | module.exports = (robot) ->
|
24 |
|
25 | robot.phab ?= new Phabricator robot, process.env
|
26 | phab = robot.phab
|
27 |
|
28 |
|
29 | robot.respond (/pht new ([-_a-zA-Z0-9]+) T([0-9]+) *$/), (msg) ->
|
30 | name = msg.match[1]
|
31 | taskid = msg.match[2]
|
32 | phab.getPermission(msg.envelope.user, 'phadmin')
|
33 | .then ->
|
34 | phab.addTemplate(name, taskid)
|
35 | .then (body) ->
|
36 | msg.send "Ok. Template '#{name}' will use T#{taskid}."
|
37 | .catch (e) ->
|
38 | msg.send e
|
39 | msg.finish()
|
40 |
|
41 |
|
42 |
|
43 | robot.respond (/pht (?:show|info) ([-_a-zA-Z0-9]+) *$/), (msg) ->
|
44 | name = msg.match[1]
|
45 | phab.getPermission(msg.envelope.user, 'phuser')
|
46 | .then ->
|
47 | phab.showTemplate(name)
|
48 | .then (body) ->
|
49 | msg.send "Template '#{name}' uses T#{body.task}."
|
50 | .catch (e) ->
|
51 | msg.send e
|
52 | msg.finish()
|
53 |
|
54 |
|
55 | robot.respond (/pht (?:search|list) *([-_a-zA-Z0-9]+)? *$/), (msg) ->
|
56 | term = msg.match[1]
|
57 | phab.getPermission(msg.envelope.user, 'phuser')
|
58 | .then ->
|
59 | phab.searchTemplate(term)
|
60 | .then (body) ->
|
61 | for found in body
|
62 | msg.send "Template '#{found.name}' uses T#{found.task}."
|
63 | .catch (e) ->
|
64 | msg.send e
|
65 | msg.finish()
|
66 |
|
67 |
|
68 | robot.respond (/pht remove ([-_a-zA-Z0-9]+) *$/), (msg) ->
|
69 | name = msg.match[1]
|
70 | phab.getPermission(msg.envelope.user, 'phadmin')
|
71 | .then ->
|
72 | phab.removeTemplate(name)
|
73 | .then (body) ->
|
74 | msg.send "Ok. Template '#{name}' was removed."
|
75 | .catch (e) ->
|
76 | msg.send e
|
77 | msg.finish()
|
78 |
|
79 |
|
80 | robot.respond (/pht update ([-_a-zA-Z0-9]+) T([0-9]+) *$/), (msg) ->
|
81 | name = msg.match[1]
|
82 | taskid = msg.match[2]
|
83 | phab.getPermission(msg.envelope.user, 'phadmin')
|
84 | .then ->
|
85 | phab.updateTemplate(name, taskid)
|
86 | .then (body) ->
|
87 | msg.send "Ok. Template '#{name}' will now use T#{taskid}."
|
88 | .catch (e) ->
|
89 | msg.send e
|
90 | msg.finish()
|
91 |
|
92 |
|
93 | robot.respond (/pht rename ([-_a-zA-Z0-9]+) ([-_a-zA-Z0-9]+) *$/), (msg) ->
|
94 | name = msg.match[1]
|
95 | newname = msg.match[2]
|
96 | phab.getPermission(msg.envelope.user, 'phadmin')
|
97 | .then ->
|
98 | phab.renameTemplate(name, newname)
|
99 | .then (body) ->
|
100 | msg.send "Ok. Template '#{name}' will now bew known as '#{newname}'."
|
101 | .catch (e) ->
|
102 | msg.send e
|
103 | msg.finish()
|