@@ -39,14 +39,22 @@ export const useSingleChangeRequest = (id: number) => {
3939 } ) ;
4040} ;
4141
42+ export interface ReviewPayload {
43+ reviewerId : number ;
44+ crId : number ;
45+ accepted : boolean ;
46+ reviewNotes : string ;
47+ psId : string ;
48+ }
49+
4250/**
4351 * Custom React Hook to review a change request.
4452 */
4553export const useReviewChangeRequest = ( ) => {
4654 const queryClient = useQueryClient ( ) ;
47- return useMutation < { message : string } , Error , any > (
55+ return useMutation < { message : string } , Error , ReviewPayload > (
4856 [ 'change requests' , 'review' ] ,
49- async ( reviewPayload : any ) => {
57+ async ( reviewPayload : ReviewPayload ) => {
5058 const { data } = await reviewChangeRequest (
5159 reviewPayload . reviewerId ,
5260 reviewPayload . crId ,
@@ -69,7 +77,7 @@ export const useReviewChangeRequest = () => {
6977 */
7078export const useDeleteChangeRequest = ( ) => {
7179 const queryClient = useQueryClient ( ) ;
72- return useMutation < { message : string } , Error , any > (
80+ return useMutation < { message : string } , Error , number > (
7381 [ 'change requests' , 'delete' ] ,
7482 async ( id : number ) => {
7583 const { data } = await deleteChangeRequest ( id ) ;
@@ -103,41 +111,73 @@ export const useCreateStandardChangeRequest = () => {
103111 ) ;
104112} ;
105113
114+ export interface CreateActivationChangeRequestPayload {
115+ submitterId : number ;
116+ wbsNum : WbsNumber ;
117+ projectLeadId : number ;
118+ projectManagerId : number ;
119+ startDate : string ;
120+ confirmDetails : boolean ;
121+ type : string ;
122+ }
123+
124+ export interface CreateStageGateChangeRequestPayload {
125+ submitterId : number ;
126+ wbsNum : WbsNumber ;
127+ confirmDone : boolean ;
128+ type : string ;
129+ }
130+
131+ export interface CreateProposeSolutionPayload {
132+ submitterId : number ;
133+ crId : number ;
134+ description : string ;
135+ scopeImpact : string ;
136+ timelineImpact : number ;
137+ budgetImpact : number ;
138+ }
139+
106140/**
107141 * Custom React Hook to create an activation change request.
108142 */
109143export const useCreateActivationChangeRequest = ( ) => {
110- return useMutation < { message : string } , Error , any > ( [ 'change requests' , 'create' , 'activation' ] , async ( payload : any ) => {
111- const { data } = await createActivationChangeRequest (
112- payload . submitterId ,
113- payload . wbsNum ,
114- payload . projectLeadId ,
115- payload . projectManagerId ,
116- payload . startDate ,
117- payload . confirmDetails
118- ) ;
119- return data ;
120- } ) ;
144+ return useMutation < { message : string } , Error , CreateActivationChangeRequestPayload > (
145+ [ 'change requests' , 'create' , 'activation' ] ,
146+ async ( payload : CreateActivationChangeRequestPayload ) => {
147+ const { data } = await createActivationChangeRequest (
148+ payload . submitterId ,
149+ payload . wbsNum ,
150+ payload . projectLeadId ,
151+ payload . projectManagerId ,
152+ payload . startDate ,
153+ payload . confirmDetails
154+ ) ;
155+ return data ;
156+ }
157+ ) ;
121158} ;
122159
123160/**
124161 * Custom React Hook to create a stage gate change request.
125162 */
126163export const useCreateStageGateChangeRequest = ( ) => {
127- return useMutation < { message : string } , Error , any > ( [ 'change requests' , 'create' , 'stage gate' ] , async ( payload : any ) => {
128- const { data } = await createStageGateChangeRequest ( payload . submitterId , payload . wbsNum , payload . confirmDone ) ;
129- return data ;
130- } ) ;
164+ return useMutation < { message : string } , Error , CreateStageGateChangeRequestPayload > (
165+ [ 'change requests' , 'create' , 'stage gate' ] ,
166+ async ( payload : CreateStageGateChangeRequestPayload ) => {
167+ const { data } = await createStageGateChangeRequest ( payload . submitterId , payload . wbsNum , payload . confirmDone ) ;
168+ return data ;
169+ }
170+ ) ;
131171} ;
132172
133173/**
134174 * Custom React Hook to create a proposed solution
135175 */
136176export const useCreateProposeSolution = ( ) => {
137177 const queryClient = useQueryClient ( ) ;
138- return useMutation < { message : string } , Error , any > (
178+ return useMutation < { message : string } , Error , CreateProposeSolutionPayload > (
139179 [ 'change requests' , 'create' , 'propose solution' ] ,
140- async ( payload : any ) => {
180+ async ( payload : CreateProposeSolutionPayload ) => {
141181 const { data } = await addProposedSolution (
142182 payload . submitterId ,
143183 payload . crId ,
@@ -156,14 +196,18 @@ export const useCreateProposeSolution = () => {
156196 ) ;
157197} ;
158198
199+ export interface CRReviewPayload {
200+ userIds : number [ ] ;
201+ }
202+
159203/**
160204 * Custom React hook to request cr reviewers
161205 */
162206export const useRequestCRReview = ( crId : string ) => {
163207 const queryClient = useQueryClient ( ) ;
164- return useMutation < { message : string } , Error , any > (
208+ return useMutation < { message : string } , Error , CRReviewPayload > (
165209 [ 'change requests' , 'review' ] ,
166- async ( crReviewPayload : { userIds : number [ ] } ) => {
210+ async ( crReviewPayload : CRReviewPayload ) => {
167211 const { data } = await requestCRReview ( crId , crReviewPayload ) ;
168212 return data ;
169213 } ,
0 commit comments