api/api_fs_project.go (55 lines of code) (raw):

package api import ( "context" "strconv" paifeaturestore "github.com/alibabacloud-go/paifeaturestore-20230621/v4/client" "github.com/aliyun/aliyun-pai-featurestore-go-sdk/v2/constants" ) // Linger please var ( _ context.Context ) type FsProjectApiService service /* FsProjectApiService List Projects @return ListProjectsResponse */ 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 }