From ce04d9681eea59f1d40edc3d8d81d8ad5545984d Mon Sep 17 00:00:00 2001 From: Suzuki Takeo Date: Tue, 5 May 2020 12:26:50 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=E7=A9=BA=E3=81=8D=E9=83=A8=E5=B1=8B?= =?UTF-8?q?=E6=95=B0=E5=8F=96=E5=BE=97proto=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apiServer/src/main/protobuf/room.proto | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/apiServer/src/main/protobuf/room.proto b/apiServer/src/main/protobuf/room.proto index e976555..2d753b9 100644 --- a/apiServer/src/main/protobuf/room.proto +++ b/apiServer/src/main/protobuf/room.proto @@ -81,6 +81,10 @@ message SendResultRequest { repeated Coordinate ghostRecord = 3; } +message GetPublicRoomResponse { + int32 vagrantRoom = 1; +} + message Empty {} service RoomService { @@ -94,6 +98,9 @@ service RoomService { rpc ParentOperation(ParentOperationRequest) returns (stream Operation) {}; rpc SendResult(SendResultRequest) returns (Empty) {}; + + // まだ埋まっていない公開部屋数 + rpc GetPublicRoom(Empty) returns (GetPublicRoomResponse) {}; } From b19a071fdf6d6fe229b2f5597b55897ee1acdbb1 Mon Sep 17 00:00:00 2001 From: Suzuki Takeo Date: Tue, 5 May 2020 12:30:44 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=E7=A9=BA=E3=81=8D=E9=83=A8=E5=B1=8B?= =?UTF-8?q?=E6=95=B0=E5=8F=96=E5=BE=97=E3=81=AE=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HouseHackathonUnityServer/service/RoomAggregates.scala | 7 +++++++ .../service/RoomServicePowerApiImpl.scala | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/apiServer/src/main/scala/com/github/CA21engineer/HouseHackathonUnityServer/service/RoomAggregates.scala b/apiServer/src/main/scala/com/github/CA21engineer/HouseHackathonUnityServer/service/RoomAggregates.scala index 77ef62a..92ecab9 100644 --- a/apiServer/src/main/scala/com/github/CA21engineer/HouseHackathonUnityServer/service/RoomAggregates.scala +++ b/apiServer/src/main/scala/com/github/CA21engineer/HouseHackathonUnityServer/service/RoomAggregates.scala @@ -111,5 +111,12 @@ class RoomAggregates[T, Coordinate, Operation](implicit materializer: Materializ source } + def getPublicRoom: Int = { + this.rooms.count { room => + // 埋まっていない && パブリック + !room._2.isFull && room._2.roomKey.isEmpty + } + } + } diff --git a/apiServer/src/main/scala/com/github/CA21engineer/HouseHackathonUnityServer/service/RoomServicePowerApiImpl.scala b/apiServer/src/main/scala/com/github/CA21engineer/HouseHackathonUnityServer/service/RoomServicePowerApiImpl.scala index cd5cabc..7f5bffd 100644 --- a/apiServer/src/main/scala/com/github/CA21engineer/HouseHackathonUnityServer/service/RoomServicePowerApiImpl.scala +++ b/apiServer/src/main/scala/com/github/CA21engineer/HouseHackathonUnityServer/service/RoomServicePowerApiImpl.scala @@ -74,4 +74,10 @@ class RoomServicePowerApiImpl(implicit materializer: Materializer) extends RoomS } .fold(Future.failed[Empty](new Exception("Internal Error!!!")))(_ => Future.successful(Empty())) } + + // まだ埋まっていない公開部屋数 + override def getPublicRoom(in: Empty, metadata: Metadata): Future[GetPublicRoomResponse] = { + Future.successful(GetPublicRoomResponse(roomAggregates.getPublicRoom)) + } + }