package com.saas.shared.dto.mapper;

import com.saas.admin.dto.response.PermissionResponse;
import com.saas.admin.entity.Permission;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Named;

import java.util.List;

@Mapper(componentModel = "spring")
public interface PermissionMapper {

    @Mapping(target = "permissionString", source = "permission", qualifiedByName = "mapPermissionString")
    PermissionResponse toResponse(Permission permission);

    List<PermissionResponse> toResponseList(List<Permission> permissions);

    @Named("mapPermissionString")
    default String mapPermissionString(Permission permission) {
        return permission.getPermissionString();
    }
}
