@@ -9,6 +9,7 @@ import { environment } from 'src/environments/environment'
99import { type Challenge } from '../models/challenge.model'
1010import { type Language } from '../models/language.model'
1111import { type FavoriteResponse } from '../models/favorite-response.interface'
12+ import { type TagResponse } from '../models/tag-response.interface'
1213import { type CreateChallenge } from '../models/create-challenge.interface'
1314import { CookieService } from 'ngx-cookie-service'
1415import { AuthService } from './auth.service'
@@ -202,32 +203,41 @@ export class ChallengeService {
202203
203204
204205 getRelatedChallenges ( challengeId : string ) : Observable < Challenge [ ] > {
205- const headers = {
206- 'Content-Type' : 'application/json' ,
207- ...this . authService . getAuthHeaders ( )
208- } ;
209-
210- const url = `${ environment . BACKEND_ITA_CHALLENGE_BASE_URL } /challenge/challenges/${ challengeId } /related` ;
211-
212- return this . http . get < { results : Challenge [ ] } > ( url , { headers } ) . pipe (
213- map ( response => response . results ) ,
214- catchError ( ( error : HttpErrorResponse ) => {
215- console . error ( 'Error fetching related challenges:' , error ) ;
216- return throwError ( ( ) => error ) ;
217- } )
218- ) ;
219- }
206+ const headers = {
207+ 'Content-Type' : 'application/json' ,
208+ ...this . authService . getAuthHeaders ( )
209+ } ;
220210
221- editChallenge ( challengeId : string , challenge : Partial < Challenge > ) : Observable < Challenge > {
222- const url = `${ environment . BACKEND_ITA_CHALLENGE_BASE_URL } ${ environment . BACKEND_EDIT_CHALLENGE_URL } /${ challengeId } /update` ;
211+ const url = `${ environment . BACKEND_ITA_CHALLENGE_BASE_URL } /challenge/challenges/${ challengeId } /related` ;
223212
224- const headers = {
225- 'Content-Type' : 'application/json' ,
226- ...this . authService . getAuthHeaders ( )
227- } ;
213+ return this . http . get < { results : Challenge [ ] } > ( url , { headers } ) . pipe (
214+ map ( response => response . results ) ,
215+ catchError ( ( error : HttpErrorResponse ) => {
216+ console . error ( 'Error fetching related challenges:' , error ) ;
217+ return throwError ( ( ) => error ) ;
218+ } )
219+ ) ;
220+ }
228221
229- return this . http . put < Challenge > ( url , challenge , { headers } ) ;
230- }
222+ editChallenge ( challengeId : string , challenge : Partial < Challenge > ) : Observable < Challenge > {
223+ const url = ` ${ environment . BACKEND_ITA_CHALLENGE_BASE_URL } ${ environment . BACKEND_EDIT_CHALLENGE_URL } / ${ challengeId } /update` ;
231224
225+ const headers = {
226+ 'Content-Type' : 'application/json' ,
227+ ...this . authService . getAuthHeaders ( )
228+ } ;
229+
230+ return this . http . put < Challenge > ( url , challenge , { headers } ) ;
231+ }
232+
233+ getChallengeTags ( challengeId : string ) : Observable < TagResponse > {
234+ const url = `${ environment . BACKEND_ITA_CHALLENGE_BASE_URL } ${ environment . BACKEND_ITA_CHALLENGE_TAGS } /${ challengeId } `
235+
236+ const headers = {
237+ 'Content-Type' : 'application/json' ,
238+ } ;
239+
240+ return this . http . get < TagResponse > ( url , { headers } )
241+ }
232242
233243}
0 commit comments