From 1b44d2a332e87bf3d8b6a38305fc3c42a6b02f89 Mon Sep 17 00:00:00 2001 From: Przemek Date: Thu, 14 Nov 2024 15:29:11 +0100 Subject: [PATCH 1/2] consultations changes --- src/react/context/defaults.ts | 32 ++++++++++++++++++++++++-------- src/react/context/index.tsx | 20 ++++++++++++++------ src/react/context/types.ts | 10 +++++++--- src/services/consultations.ts | 19 +++++++++++++++---- 4 files changed, 60 insertions(+), 21 deletions(-) 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..5e841a32 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 ? `&userId=${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 ? `&userId=${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 ? `&userId=${userId}` : "" + }`, { method: "POST", headers: { From 7eb491d751fd1e74ee931e95358b31f428ea3073 Mon Sep 17 00:00:00 2001 From: Przemek Date: Fri, 15 Nov 2024 08:53:50 +0100 Subject: [PATCH 2/2] changed param name --- src/services/consultations.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/services/consultations.ts b/src/services/consultations.ts index 5e841a32..6f9341b9 100644 --- a/src/services/consultations.ts +++ b/src/services/consultations.ts @@ -106,7 +106,7 @@ export async function approveConsultation( ) { return request( `${apiUrl}/api/consultations/approve-term/${id}?term=${term}${ - userId ? `&userId=${userId}` : "" + userId ? `&user_id=${userId}` : "" }`, { method: "GET", @@ -132,7 +132,7 @@ export async function rejectConsultation( ) { return request( `${apiUrl}/api/consultations/reject-term/${id}?term=${term}${ - userId ? `&userId=${userId}` : "" + userId ? `&user_id=${userId}` : "" }`, { method: "GET", @@ -182,7 +182,7 @@ export async function changeTermDate( ) { return request>( `${apiUrl}/api/consultations/change-term/${termId}?term=${term}${ - userId ? `&userId=${userId}` : "" + userId ? `&user_id=${userId}` : "" }`, { method: "POST",