import { IResponse } from '@kontent-ai/core-sdk'; import { ProjectUserContracts } from '../contracts'; import { ProjectUserModels } from '../models'; import { ProjectUsersResponses } from '../responses'; import { BaseMapper } from './base-mapper'; export class ProjectUserMapper extends BaseMapper { mapInviteUserResponse( response: IResponse ): ProjectUsersResponses.InviteUserResponse { return new ProjectUsersResponses.InviteUserResponse( super.mapResponseDebug(response), response.data, this.mapProjectUser(response.data) ); } mapChangeUserRolesResponse( response: IResponse ): ProjectUsersResponses.ChangeUserRolesResponse { return new ProjectUsersResponses.ChangeUserRolesResponse( super.mapResponseDebug(response), response.data, this.mapProjectUser(response.data) ); } mapCollectionGroup( rawItem: ProjectUserContracts.IProjectUserCollectionGroupContract ): ProjectUserModels.CollectionGroup { return new ProjectUserModels.CollectionGroup({ collections: rawItem.collections, roles: rawItem.roles, _raw: rawItem }); } mapProjectUser(rawItem: ProjectUserContracts.IUserContract): ProjectUserModels.ProjectUser { return new ProjectUserModels.ProjectUser({ userId: rawItem.user_id, collectionGroups: rawItem.collection_groups.map((m) => this.mapCollectionGroup(m)), _raw: rawItem }); } } export const projectUserMapper = new ProjectUserMapper();