1
1
import { NotificationManager } from "react-notifications" ;
2
- import { publishMessage } from "components/Gigs/API/RocketChat/RocketChat" ;
2
+ import { publishMessageWithReplyOptions } from "components/Gigs/API/RocketChat/RocketChat" ;
3
3
4
4
const fetchOptions = method => {
5
5
return {
@@ -50,26 +50,27 @@ export const update = function(taskId, payload, statusCallback) {
50
50
} ) ;
51
51
} ;
52
52
53
- export const add = function ( gigRoomId , gigId , state , statusCallback ) {
53
+ export const add = async function ( gigRoomId , gigId , state , statusCallback ) {
54
54
if ( statusCallback ) statusCallback ( "loading" ) ;
55
- fetch ( "/admin-ui/api/tasks/addTask" , {
55
+ const data = await fetch ( "/admin-ui/api/tasks/addTask" , {
56
56
method : "POST" ,
57
57
headers : { "Content-Type" : "application/json" } ,
58
58
body : JSON . stringify ( buildTaskPayload ( gigId , state ) )
59
- } ) . then ( data => {
60
- if ( data . status !== 200 ) {
61
- data . json ( ) . then ( json => {
62
- NotificationManager . error ( json . error . errmsg ) ;
63
- } ) ;
64
- if ( statusCallback ) statusCallback ( "working" ) ;
65
- } else {
66
- data . json ( ) . then ( json => {
67
- const task = json . task ;
68
- publishMessage ( buildTaskPublishMessage ( gigRoomId , task ) ) ;
69
- } ) ;
70
- if ( statusCallback ) statusCallback ( "success" ) ;
71
- }
72
59
} ) ;
60
+
61
+ const json = await data . json ( ) ;
62
+ if ( data . status !== 200 ) {
63
+ NotificationManager . error ( json . error . errmsg ) ;
64
+ //TODO: should this be error?
65
+ if ( statusCallback ) statusCallback ( "working" ) ;
66
+ return ;
67
+ }
68
+
69
+ const task = json . task ;
70
+ publishMessageWithReplyOptions (
71
+ buildTaskPublishMessageWithReply ( gigRoomId , task )
72
+ ) ;
73
+ if ( statusCallback ) statusCallback ( "success" ) ;
73
74
} ;
74
75
75
76
export const remove = function ( gigRoomId , taskId , taskName , statusCallback ) {
@@ -91,13 +92,21 @@ export const remove = function(gigRoomId, taskId, taskName, statusCallback) {
91
92
} ) ;
92
93
} ;
93
94
94
- function buildTaskPublishMessage ( roomId , task ) {
95
- const message = `New Task!
96
- **${ task . task_name } ** (${ task . _id } )
97
- Description: ${ task . task_description }
98
- Reply "volunteer" to volunteer for this task.` ;
95
+ function buildTaskPublishMessageWithReply ( roomId , task ) {
96
+ const message = `A new task **${ task . task_name } ** in category *${
97
+ task . task_category
98
+ } * has been created.
99
+ _${ task . task_description } _` ;
100
+
101
+ const optionsTitle = "Please click volunteer if you can help" ;
102
+ const replyOptions = [
103
+ {
104
+ label : "Volunteer" ,
105
+ reply : `I would like to volunteer for **${ task . task_name } ** (${ task . _id } )`
106
+ }
107
+ ] ;
99
108
100
- return { message, roomId } ;
109
+ return { message, roomId, optionsTitle , replyOptions } ;
101
110
}
102
111
103
112
function buildTaskPayload ( gigId , state ) {
0 commit comments