-
Notifications
You must be signed in to change notification settings - Fork 1
/
api_fs_project.go
75 lines (60 loc) · 1.86 KB
/
api_fs_project.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package api
import (
"context"
"strconv"
paifeaturestore "github.com/alibabacloud-go/paifeaturestore-20230621/v3/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
}