public async Task <ActionResult <OperationResult <CreateResponse> > > Create(CreateRequest request) { await _roomService.ClearExpired(); TimeSpan lifespan = TimeSpan.Parse(request.ChatLifespan); DateTimeOffset expireAt = DateTimeOffset.UtcNow + lifespan; ColorEnum color = ColorHelper.RandomColor(); Room room = await _roomService.Create(request.UserName, (int)color, request.Topic, expireAt, request.OnlyOwnerCanInvite); return(OperationResult <CreateResponse> .Ok(new CreateResponse { RoomTopic = request.Topic, RoomId = room.Id, UserId = room.OwnerId, UserPublicId = room.Owner.PublicId, RoomExpireAt = expireAt, OnlyOwnerCanInvite = request.OnlyOwnerCanInvite })); }