in api/api_experiment_room.go [35:103]
func (a *ExperimentRoomApiService) ListExperimentRooms(environment string, localVarOptionals *ExperimentRoomApiListExperimentRoomsOpts) (ListExperimentRoomsResponse, error) {
listLaboratoriesRequest := pairecservice.CreateListLaboratoriesRequest()
listLaboratoriesRequest.InstanceId = a.instanceId
listLaboratoriesRequest.Environment = common.EnvironmentDesc2OpenApiString[environment]
listLaboratoriesRequest.SceneId = strconv.Itoa(int(localVarOptionals.SceneId.Value()))
if localVarOptionals.Status.Value() == common.ExpRoom_Status_Online {
listLaboratoriesRequest.Status = "Online"
} else if localVarOptionals.Status.Value() == common.ExpRoom_Status_Offline {
listLaboratoriesRequest.Status = "Offline"
}
listLaboratoriesRequest.SetDomain(a.client.GetDomain())
//listLaboratoriesRequest.Status =
var (
localVarReturnValue ListExperimentRoomsResponse
)
response, err := a.client.ListLaboratories(listLaboratoriesRequest)
if err != nil {
return localVarReturnValue, err
}
for _, item := range response.Laboratories {
if id, err := strconv.Atoi(item.LaboratoryId); err == nil {
experimentRoom := &model.ExperimentRoom{
ExpRoomId: int64(id),
ExpRoomName: item.Name,
ExpRoomInfo: item.Description,
DebugUsers: item.DebugUsers,
BucketCount: int32(item.BucketCount),
Filter: item.Filter,
ExpRoomBuckets: item.Buckets,
DebugCrowdId: 0,
}
if item.DebugCrowdId != "" {
if crowdId, err := strconv.Atoi(item.DebugCrowdId); err == nil {
experimentRoom.DebugCrowdId = int64(crowdId)
}
}
if sceneId, err := strconv.Atoi(item.SceneId); err == nil {
experimentRoom.SceneId = int64(sceneId)
}
// experiment room type
if item.Type == "Base" {
experimentRoom.Type = common.ExpRoom_Type_Base
} else if item.Type == "NonBase" {
experimentRoom.Type = common.ExpRoom_Type_Normal
}
if item.BucketType == "Filter" {
experimentRoom.BucketType = common.Bucket_Type_Filter
} else if item.BucketType == "Uid" {
experimentRoom.BucketType = common.Bucket_Type_UID
} else if item.BucketType == "UidHash" {
experimentRoom.BucketType = common.Bucket_Type_UID_HASH
} else {
experimentRoom.BucketType = common.Bucket_Type_Custom
}
experimentRoom.Environment = int32(common.OpenapiEnvironment2Environment[item.Environment])
localVarReturnValue.ExperimentRooms = append(localVarReturnValue.ExperimentRooms, experimentRoom)
}
}
return localVarReturnValue, nil
}