getAccounts

@MessageMapping(value = ["get"])
suspend fun getAccounts(@Payload accounts: ByteArray, @DestinationVariable client: String): RSocketResponse

Get a List of numbers request/response RSocket API. Takes as argument a list of numbers as String encoded in ProtoBuf format in payload. In metadata takes the client path as String.

It takes the list of numbers and searches in the db if there are Accounts with matching numbers.

Returns a HubPayload encoded in ProtoBuf format. In case the operation was successful the HubPayload contains data with a list of the matched Accounts. Else, if there is not any matching accounts it contains an empty list. If the input is not a list of valid Msisdn numbers it returns HubPayload which contains error with code 400.


@MessageMapping(value = ["get.stream"])
fun getAccounts(@Payload accounts: Flow<ByteArray>, @DestinationVariable client: String): Flow<RSocketResponse>

Get a stream of numbers as request/stream RSocket API. Takes as argument a number as String encoded in ProtoBuf format in payload. In metadata takes the client path as String.

It takes the number and searches in the db if there are Accounts with matching number.

Returns a Flow of HubPayload encoded in ProtoBuf format. In case the operation was successful the HubPayload contains data with the matched Accounts. Else, if there is not any matching account it does not emit anything and completes naturally. In case the input is not a valid Msisdn number, or it is malformed, then it emits a HubPayload which contains error with code 400.