diff --git a/src/app/core/config/api-config.ts b/src/app/core/config/api-config.ts index 011b91641407326874922edf549812d2be10cb50..b2da3f118d1c008b1dd37df8c75072560c9f7d5c 100644 --- a/src/app/core/config/api-config.ts +++ b/src/app/core/config/api-config.ts @@ -53,4 +53,6 @@ export const apiConfig = { urlCreateRating: '/api/solution/createRating', urlThread: '/api/thread', urlComment: '/api/comments', + urlGetActiveUsers: '/api/users/activeUserDetails', + urlShareWithTeam: '/api/solution/userAccess', }; diff --git a/src/app/core/services/private-catalogs.service.ts b/src/app/core/services/private-catalogs.service.ts index 8e7fa21d1a29afb83da988fb4480c72ffea45103..2b38f8f187c2a68db7e67a358920ee225216fff2 100644 --- a/src/app/core/services/private-catalogs.service.ts +++ b/src/app/core/services/private-catalogs.service.ts @@ -7,6 +7,7 @@ import { CommentModel, PublicSolution, ThreadModel, + UserDetails, } from 'src/app/shared/models'; import { CreateRatingRequestPayload } from 'src/app/shared/models/request-payloads'; @@ -335,4 +336,45 @@ export class PrivateCatalogsService { }), ); } + + getAllActiveUsers(activeStatus: boolean): Observable<UserDetails[]> { + const url = `${apiConfig.apiBackendURL}${apiConfig.urlGetActiveUsers}/${activeStatus}`; + return this._httpSharedService.get(url, undefined).pipe( + map((res) => res.response_body), + catchError((error) => { + throw error; + }), + ); + } + + getShareWithTeam(solutionId: string): Observable<UserDetails[]> { + const url = `${apiConfig.apiBackendURL}${apiConfig.urlShareWithTeam}/${solutionId}`; + return this._httpSharedService.get(url, undefined).pipe( + map((res) => res.response_body.userList), + catchError((error) => { + throw error; + }), + ); + } + + insertMultipleShare(userIds: string[], solutionId: string) { + const reqObj = { + request_body: userIds, + }; + const url = `${apiConfig.apiBackendURL}${apiConfig.urlShareWithTeam}/${solutionId}/add`; + return this._httpSharedService.post(url, undefined, reqObj).pipe( + catchError((error) => { + throw error; + }), + ); + } + + deleteShareWithTeam(userId: string, solutionId: string) { + const url = `${apiConfig.apiBackendURL}${apiConfig.urlShareWithTeam}/${solutionId}/delete/${userId}`; + return this._httpSharedService.delete(url, undefined).pipe( + catchError((error) => { + throw error; + }), + ); + } } diff --git a/src/app/shared/models/public-solution.model.ts b/src/app/shared/models/public-solution.model.ts index 0902f238c8685db1680b04c33ee492c4fe4b0db5..c8c74f5d84c985c5425fe01fab11d50a57b3f839 100644 --- a/src/app/shared/models/public-solution.model.ts +++ b/src/app/shared/models/public-solution.model.ts @@ -69,6 +69,7 @@ export interface Catalog { export interface Revision { revisionId: string; version: string; + onBoarded?: string; } export interface AllUserRating { diff --git a/src/app/shared/models/user-details.ts b/src/app/shared/models/user-details.ts index a9b685a7db2b3bbbcc347314b030c0236d155db3..94202b6d898cfe046dc859dfe2b5100de8db4119 100644 --- a/src/app/shared/models/user-details.ts +++ b/src/app/shared/models/user-details.ts @@ -9,4 +9,5 @@ export interface UserDetails { lastLogin?: string; created?: string; modified?: string; + picture?: string; }