All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.redhat.mercury.myprp.services.impl.MyPRPServiceImpl Maven / Gradle / Ivy

The newest version!
package com.redhat.mercury.myprp.services.impl;

import javax.inject.Inject;

import com.redhat.mercury.partyroutingprofile.v10.CaptureStatusResponseOuterClass.CaptureStatusResponse;
import com.redhat.mercury.partyroutingprofile.v10.RetrieveStatusResponseOuterClass.RetrieveStatusResponse;
import com.redhat.mercury.partyroutingprofile.v10.UpdateStatusRequestStatusOuterClass.UpdateStatusRequestStatus;
import com.redhat.mercury.partyroutingprofile.v10.UpdateStatusResponseOuterClass.UpdateStatusResponse;
import com.redhat.mercury.partyroutingprofile.v10.api.bqstatusservice.BQStatusService;
import com.redhat.mercury.partyroutingprofile.v10.api.bqstatusservice.BqStatusService.CaptureStatusRequest;
import com.redhat.mercury.partyroutingprofile.v10.api.bqstatusservice.BqStatusService.RetrieveStatusRequest;
import com.redhat.mercury.partyroutingprofile.v10.api.bqstatusservice.BqStatusService.UpdateStatusRequest;

import io.grpc.StatusRuntimeException;
import io.quarkus.grpc.GrpcService;
import io.smallrye.mutiny.Uni;

import static io.grpc.Status.NOT_FOUND;

@GrpcService
public class MyPRPServiceImpl implements BQStatusService {

    @Inject
    PartyRoutingService svc;
    
    @Override
    public Uni retrieveStatus(RetrieveStatusRequest request) {
        return Uni.createFrom().item(request)
                .onItem()
                .transform(item -> svc.getState(item.getPartyroutingprofileId()))
                .onItem()
                .ifNull()
                .failWith(new StatusRuntimeException(NOT_FOUND))
                .onItem()
                .transform(item -> RetrieveStatusResponse.newBuilder()
                        .setStatus(UpdateStatusRequestStatus.newBuilder()
                                .setCustomerRelationshipStatusNarrative(item.getStatus())
                                .build())
                        .build());
    }

    @Override
    public Uni captureStatus(CaptureStatusRequest request) {
        return Uni.createFrom().failure(new StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED));
    }

    @Override
    public Uni updateStatus(UpdateStatusRequest request) {
        return Uni.createFrom().failure(new StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED));
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy