filter for get logic

This commit is contained in:
zhouqunjie 2022-11-13 06:31:02 -08:00
parent 69ea34a890
commit 8349c58d76
4 changed files with 13 additions and 12 deletions

View File

@ -55,6 +55,7 @@ import (
pbslurm "code.gitlink.org.cn/JCCE/PCM.git/adaptor/pcm_slurm/gen/idl"
"code.gitlink.org.cn/JCCE/PCM.git/common/ssh"
"context"
"strings"
)
type AcctInfoMsg struct {
@ -106,8 +107,9 @@ func (slurmStruct SlurmStruct) GetAccount(ctx context.Context, req *pbslurm.GetA
resp := pbslurm.GetAccountResp{}
for _, acct := range acctList.AcctInfoList {
acctInfoResult := acct
//todo add filter logic
resp.AccountInfos = append(resp.AccountInfos, &acctInfoResult)
if strings.Contains(acct.Name, req.AccountName) {
resp.AccountInfos = append(resp.AccountInfos, &acctInfoResult)
}
}
return &resp, nil

View File

@ -3,6 +3,7 @@ package slurmer
import (
pbslurm "code.gitlink.org.cn/JCCE/PCM.git/adaptor/pcm_slurm/gen/idl"
"context"
"strings"
)
/*
@ -191,11 +192,10 @@ func (slurmStruct SlurmStruct) GetAssociation(ctx context.Context, req *pbslurm.
assocList := GetAssociationInfos()
resp := pbslurm.GetAssociationResp{}
for _, assoc := range assocList.AssocInfoList {
assocResult := assoc
//todo add filter logic
if assocResult.Cluster == req.Cluster && assocResult.User == req.User && assocResult.Acct == assocResult.Acct && assocResult.Partition == req.Partition {
for _, assoc := range assocList.AssocInfoList {
if (len(req.Cluster) != 0 || len(req.User) != 0 || len(req.Account) != 0 || len(req.Partition) != 0) && strings.Contains(assoc.Cluster, req.Cluster) && strings.Contains(assoc.Acct, req.Account) && strings.Contains(assoc.User, req.User) && strings.Contains(assoc.Partition, req.Partition) {
assocResult := assoc
resp.AssocInfos = append(resp.AssocInfos, &assocResult)
}
}

View File

@ -59,6 +59,7 @@ import (
pbslurm "code.gitlink.org.cn/JCCE/PCM.git/adaptor/pcm_slurm/gen/idl"
ssh "code.gitlink.org.cn/JCCE/PCM.git/common/ssh"
"context"
"strings"
)
type UserInfoMsg struct {
@ -108,12 +109,11 @@ func (slurmStruct SlurmStruct) GetUser(ctx context.Context, req *pbslurm.GetUser
resp := pbslurm.GetUserResp{}
for _, user := range userList.UserInfoList {
//userInfoResult := pbslurm.UserInfo{}
//todo add filter logic
userInfoResult := user
//userInfoResult.Name = user.Name
if strings.Contains(user.Name, req.UserName) {
userInfoResult := user
resp.UserInfo = append(resp.UserInfo, &userInfoResult)
}
resp.UserInfo = append(resp.UserInfo, &userInfoResult)
}
return &resp, nil

View File

@ -10,7 +10,6 @@ type Slurmer interface {
GetUser(ctx context.Context, req *pbslurm.GetUserReq) (resp *pbslurm.GetUserResp, err error) //get specific slurm user
AddUser(ctx context.Context, req *pbslurm.AddUserReq) (resp *pbslurm.AddUserResp, err error) //add slurm user
DeleteUser(ctx context.Context, req *pbslurm.DeleteUserReq) (resp *pbslurm.DeleteUserResp, err error) //delete slurm user
ListClusters(ctx context.Context, req *pbslurm.ClusterInfoMsgReq) (resp *pbslurm.ClusterInfoMsgResp, err error) //list slurm users
ListAssociations(ctx context.Context, req *pbslurm.ListAssociationsReq) (resp *pbslurm.ListAssociationsResp, err error) //list slurm associations
GetAssociation(ctx context.Context, req *pbslurm.GetAssociationReq) (resp *pbslurm.GetAssociationResp, err error) //get specific slurm associations
ListAccounts(ctx context.Context, req *pbslurm.ListAccountsReq) (resp *pbslurm.ListAccountsResp, err error) //list slurm accounts