diff --git a/src/react/context/defaults.ts b/src/react/context/defaults.ts index f93fbd06..3b606fed 100644 --- a/src/react/context/defaults.ts +++ b/src/react/context/defaults.ts @@ -242,11 +242,14 @@ export const defaultReadConfig: EscolaLMSContextConfig = { bookConsultationTerm: (id: number, term: string) => Promise.reject(), fetchWebinars: (filter: API.WebinarParams) => Promise.reject(), fetchTutorConsultations: () => Promise.reject(), - approveConsultationTerm: (consultationTermId: number, term: string) => - Promise.reject(), + approveConsultationTerm: ( + consultationTermId: number, + term: string, + userId?: number + ) => Promise.reject(), rejectConsultationTerm: (consultationTermId: number, term: string) => Promise.reject(), - generateConsultationJitsy: (consultationTermId: number) => + generateConsultationJitsy: (consultationTermId: number, term: string) => Promise.reject(consultationTermId), generateWebinarJitsy: (webinarId: number) => Promise.reject(webinarId), webinars: { @@ -298,7 +301,12 @@ export const defaultReadConfig: EscolaLMSContextConfig = { loading: false, }, fetchOrderInvoice: (id: number) => Promise.reject(id), - changeConsultationTerm: (termId: number, newDate: string) => Promise.reject(), + changeConsultationTerm: ( + termId: number, + newDate: string, + term: string, + userId?: number + ) => Promise.reject(), tasks: { loading: false, }, @@ -655,11 +663,14 @@ export const defaultApiConfig: EscolaLMSContextConfig = { loading: false, }, fetchTutorConsultations: () => Promise.reject(), - approveConsultationTerm: (consultationTermId: number, term: string) => - Promise.reject(), + approveConsultationTerm: ( + consultationTermId: number, + term: string, + userId?: number + ) => Promise.reject(), rejectConsultationTerm: (consultationTermId: number, term: string) => Promise.reject(), - generateConsultationJitsy: (consultationTermId: number) => + generateConsultationJitsy: (consultationTermId: number, term: string) => Promise.reject(consultationTermId), generateWebinarJitsy: (webinarId: number) => Promise.reject(webinarId), events: { @@ -707,7 +718,12 @@ export const defaultApiConfig: EscolaLMSContextConfig = { loading: false, }, fetchOrderInvoice: (id: number) => Promise.reject(id), - changeConsultationTerm: (termId: number, newDate: string) => Promise.reject(), + changeConsultationTerm: ( + termId: number, + newDate: string, + term: string, + userId?: number + ) => Promise.reject(), tasks: { loading: false, }, diff --git a/src/react/context/index.tsx b/src/react/context/index.tsx index d450efc2..4bc8899a 100644 --- a/src/react/context/index.tsx +++ b/src/react/context/index.tsx @@ -866,7 +866,7 @@ const EscolaLMSContextProviderInner: FunctionComponent< }, [token]); const approveConsultationTerm = useCallback( - (id: number, term: string) => { + (id: number, term: string, userId?: number) => { return token ? fetchDataType({ controllers: abortControllers.current, @@ -876,6 +876,7 @@ const EscolaLMSContextProviderInner: FunctionComponent< token, id, term, + userId, { signal: abortControllers.current?.[`aprovetutorterm${id}`]?.signal, @@ -889,7 +890,7 @@ const EscolaLMSContextProviderInner: FunctionComponent< ); const rejectConsultationTerm = useCallback( - (id: number, term: string) => { + (id: number, term: string, userId?: number) => { return token ? fetchDataType({ controllers: abortControllers.current, @@ -899,6 +900,7 @@ const EscolaLMSContextProviderInner: FunctionComponent< token, id, term, + userId, { signal: abortControllers.current?.[`rejectterm${id}`]?.signal, } @@ -914,9 +916,9 @@ const EscolaLMSContextProviderInner: FunctionComponent< // https://github.com/EscolaLMS/sdk/issues/251 const generateConsultationJitsy = useCallback( - (id: number) => { + (id: number, term: string) => { return token - ? generateJitsy.bind(null, apiUrl)(token, id) + ? generateJitsy.bind(null, apiUrl)(token, id, term) : Promise.reject("noToken"); }, [token] @@ -999,9 +1001,15 @@ const EscolaLMSContextProviderInner: FunctionComponent< }, [token]); const changeConsultationTerm = useCallback( - (termId: number, newDate: string) => { + (termId: number, newDate: string, term: string, userId?: number) => { return token - ? changeTermDate.bind(null, apiUrl)(termId, newDate, token) + ? changeTermDate.bind(null, apiUrl)( + termId, + newDate, + term, + token, + userId + ) : Promise.reject("noToken"); }, [token] diff --git a/src/react/context/types.ts b/src/react/context/types.ts index cbf3cca1..a8746be1 100644 --- a/src/react/context/types.ts +++ b/src/react/context/types.ts @@ -363,7 +363,8 @@ export interface EscolaLMSContextAPIConfig { >; approveConsultationTerm: ( consultation: number, - term: string + term: string, + userId?: number ) => Promise< | void | API.DefaultResponse @@ -383,7 +384,8 @@ export interface EscolaLMSContextAPIConfig { deleteAccount: () => Promise; generateConsultationJitsy: ( - consultation: number + consultation: number, + term: string ) => Promise>; generateWebinarJitsy: ( webinarId: number @@ -439,7 +441,9 @@ export interface EscolaLMSContextAPIConfig { ) => Promise; changeConsultationTerm: ( termId: number, - newDate: string + newDate: string, + term: string, + userId?: number ) => Promise>; fetchTasks: ( filter: API.TaskParams diff --git a/src/services/consultations.ts b/src/services/consultations.ts index 352b0b63..6f9341b9 100644 --- a/src/services/consultations.ts +++ b/src/services/consultations.ts @@ -101,10 +101,13 @@ export async function approveConsultation( token: string, id: number, term: string, + userId?: number, options?: RequestOptionsInit ) { return request( - `${apiUrl}/api/consultations/approve-term/${id}?term=${term}`, + `${apiUrl}/api/consultations/approve-term/${id}?term=${term}${ + userId ? `&user_id=${userId}` : "" + }`, { method: "GET", headers: { @@ -124,10 +127,13 @@ export async function rejectConsultation( token: string, id: number, term: string, + userId?: number, options?: RequestOptionsInit ) { return request( - `${apiUrl}/api/consultations/reject-term/${id}?term=${term}`, + `${apiUrl}/api/consultations/reject-term/${id}?term=${term}${ + userId ? `&user_id=${userId}` : "" + }`, { method: "GET", headers: { @@ -146,10 +152,11 @@ export async function generateJitsy( apiUrl: string, token: string, id: number, + term: string, options?: RequestOptionsInit ) { return request>( - `${apiUrl}/api/consultations/generate-jitsi/${id}`, + `${apiUrl}/api/consultations/generate-jitsi/${id}?term=${term}`, { method: "GET", headers: { @@ -168,11 +175,15 @@ export async function changeTermDate( apiUrl: string, termId: number, newDate: string, + term: string, token: string, + userId?: number, options?: RequestOptionsInit ) { return request>( - `${apiUrl}/api/consultations/change-term/${termId}`, + `${apiUrl}/api/consultations/change-term/${termId}?term=${term}${ + userId ? `&user_id=${userId}` : "" + }`, { method: "POST", headers: {