@@ -128,6 +128,30 @@ func ListClients(userInfo models.UserInfo, page, pageSize int) ([]*models.Client
128128 }), nil
129129}
130130
131+ func ListClientsWithKeyword (userInfo models.UserInfo , page , pageSize int , keyword string ) ([]* models.ClientEntity , error ) {
132+ if page < 1 || pageSize < 1 || len (keyword ) == 0 {
133+ return nil , fmt .Errorf ("invalid page or page size or keyword" )
134+ }
135+
136+ db := models .GetDBManager ().GetDefaultDB ()
137+ offset := (page - 1 ) * pageSize
138+
139+ var clients []* models.Client
140+ err := db .Where (& models.Client {
141+ ClientEntity : & models.ClientEntity {
142+ UserID : userInfo .GetUserID (),
143+ TenantID : userInfo .GetTenantID (),
144+ },
145+ }).Where ("client_id like ?" , "%" + keyword + "%" ).Offset (offset ).Limit (pageSize ).Find (& clients ).Error
146+ if err != nil {
147+ return nil , err
148+ }
149+
150+ return lo .Map (clients , func (c * models.Client , _ int ) * models.ClientEntity {
151+ return c .ClientEntity
152+ }), nil
153+ }
154+
131155func GetAllClients (userInfo models.UserInfo ) ([]* models.ClientEntity , error ) {
132156 db := models .GetDBManager ().GetDefaultDB ()
133157 var clients []* models.Client
@@ -161,16 +185,15 @@ func CountClients(userInfo models.UserInfo) (int64, error) {
161185 return count , nil
162186}
163187
164- func CountUnconfiguredClients (userInfo models.UserInfo ) (int64 , error ) {
188+ func CountClientsWithKeyword (userInfo models.UserInfo , keyword string ) (int64 , error ) {
165189 db := models .GetDBManager ().GetDefaultDB ()
166190 var count int64
167191 err := db .Model (& models.Client {}).Where (& models.Client {
168192 ClientEntity : & models.ClientEntity {
169- UserID : userInfo .GetUserID (),
170- TenantID : userInfo .GetTenantID (),
171- ConfigContent : []byte {},
193+ UserID : userInfo .GetUserID (),
194+ TenantID : userInfo .GetTenantID (),
172195 },
173- }).Count (& count ).Error
196+ }).Where ( "client_id like ?" , "%" + keyword + "%" ). Count (& count ).Error
174197 if err != nil {
175198 return 0 , err
176199 }
0 commit comments