Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@
<dependency>
<groupId>com.ecmsp</groupId>
<artifactId>protos</artifactId>
<version>1.0.0-20251105.185705-41</version>
<version>1.0.0-20251109.095920-47</version>
</dependency>
</dependencies>

Expand Down
39 changes: 39 additions & 0 deletions src/main/java/com/ecmsp/userservice/api/grpc/RoleGrpcMapper.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package com.ecmsp.userservice.api.grpc;

import com.ecmsp.userservice.user.domain.Permission;
import com.ecmsp.userservice.user.domain.RoleToCreate;
import org.springframework.stereotype.Component;

import java.util.Set;
import java.util.stream.Collectors;

@Component
public class RoleGrpcMapper {

private final UserGrpcMapper userGrpcMapper;

public RoleGrpcMapper(UserGrpcMapper userGrpcMapper) {
this.userGrpcMapper = userGrpcMapper;
}

public Permission toDomainPermission(String permissionName) {
return Permission.valueOf(permissionName);
}

public RoleToCreate toDomainRoleToCreate(com.ecmsp.user.v1.Role protoRole) {
Set<Permission> permissions = protoRole.getPermissionsList().stream()
.map(this::toDomainPermission)
.collect(Collectors.toSet());

return new RoleToCreate(protoRole.getName(), permissions);
}

// Delegate to UserGrpcMapper for proto conversions (reuse existing methods)
public com.ecmsp.user.v1.Role toProtoRole(com.ecmsp.userservice.user.domain.Role domainRole) {
return userGrpcMapper.toProtoRole(domainRole);
}

public String toProtoPermission(Permission permission) {
return userGrpcMapper.toProtoPermission(permission);
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.ecmsp.userservice.api.grpc;

import com.ecmsp.user.v1.RoleId;
import com.ecmsp.user.v1.UserId;
import com.ecmsp.userservice.user.domain.Permission;
import com.ecmsp.userservice.user.domain.Role;
Expand Down Expand Up @@ -31,20 +30,13 @@ public UserId toProtoUserId(com.ecmsp.userservice.user.domain.UserId domainUserI

public com.ecmsp.user.v1.Role toProtoRole(Role domainRole) {
return com.ecmsp.user.v1.Role.newBuilder()
.setId(toProtoRoleId(domainRole.id()))
.setName(domainRole.name())
.addAllPermissions(domainRole.permissions().stream()
.map(this::toProtoPermission)
.collect(Collectors.toList()))
.build();
}

public RoleId toProtoRoleId(com.ecmsp.userservice.user.domain.RoleId domainRoleId) {
return RoleId.newBuilder()
.setValue(domainRoleId.value().toString())
.build();
}

public String toProtoPermission(Permission permission) {
return permission.name();
}
Expand Down
Loading