in api/api_fs_project.go [23:75]
func (a *FsProjectApiService) ListProjects() (ListProjectsResponse, error) {
request := paifeaturestore.ListProjectsRequest{}
request.SetName(a.client.cfg.ProjectName)
response, err := a.client.ListProjects(&a.client.instanceId, &request)
var (
localVarReturnValue ListProjectsResponse
)
if err != nil {
return localVarReturnValue, err
}
var projects []*Project
for _, projectItem := range response.Body.Projects {
if id, err := strconv.Atoi(*projectItem.ProjectId); err == nil {
project := Project{
ProjectId: id,
ProjectName: *projectItem.Name,
}
if id, err := strconv.Atoi(*projectItem.OfflineDatasourceId); err == nil {
project.OfflineDatasourceId = id
}
if id, err := strconv.Atoi(*projectItem.OnlineDatasourceId); err == nil {
project.OnlineDatasourceId = id
}
switch *projectItem.OfflineDatasourceType {
case "MaxCompute":
project.OfflineDatasourceType = constants.Datasource_Type_MaxCompute
}
switch *projectItem.OnlineDatasourceType {
case "Hologres":
project.OnlineDatasourceType = constants.Datasource_Type_Hologres
case "GraphCompute":
project.OnlineDatasourceType = constants.Datasource_Type_IGraph
case "Tablestore":
project.OnlineDatasourceType = constants.Datasource_Type_TableStore
case "FeatureDB":
project.OnlineDatasourceType = constants.Datasource_Type_FeatureDB
}
project.InstanceId = a.client.instanceId
projects = append(projects, &project)
}
}
localVarReturnValue.Projects = projects
return localVarReturnValue, nil
}