@@ -26,6 +26,7 @@ import { AuthProviderService } from "../auth/auth-provider-service";
26
26
import { AuthProviderEntry , AuthProviderInfo } from "@gitpod/gitpod-protocol" ;
27
27
import { Unauthenticated } from "./unauthenticated" ;
28
28
import { validate as uuidValidate } from "uuid" ;
29
+ import { selectPage } from "./pagination" ;
29
30
30
31
@injectable ( )
31
32
export class AuthProviderServiceAPI implements ServiceImpl < typeof AuthProviderServiceInterface > {
@@ -99,10 +100,14 @@ export class AuthProviderServiceAPI implements ServiceImpl<typeof AuthProviderSe
99
100
? await this . authProviderService . getAuthProvidersOfOrg ( context . user . id , organizationId )
100
101
: await this . authProviderService . getAuthProvidersOfUser ( context . user . id ) ;
101
102
102
- const redacted = authProviders . map ( AuthProviderEntry . redact . bind ( AuthProviderEntry ) ) ;
103
+ const selectedProviders = selectPage ( authProviders , request . pagination ) ;
104
+ const redacted = selectedProviders . map ( AuthProviderEntry . redact . bind ( AuthProviderEntry ) ) ;
103
105
104
106
const result = new ListAuthProvidersResponse ( {
105
107
authProviders : redacted . map ( ( ap ) => this . apiConverter . toAuthProvider ( ap ) ) ,
108
+ pagination : {
109
+ total : redacted . length ,
110
+ } ,
106
111
} ) ;
107
112
return result ;
108
113
}
@@ -112,16 +117,19 @@ export class AuthProviderServiceAPI implements ServiceImpl<typeof AuthProviderSe
112
117
*/
113
118
@Unauthenticated ( )
114
119
async listAuthProviderDescriptions (
115
- _request : ListAuthProviderDescriptionsRequest ,
120
+ request : ListAuthProviderDescriptionsRequest ,
116
121
context : HandlerContext ,
117
122
) : Promise < ListAuthProviderDescriptionsResponse > {
118
123
const user = context . user ;
119
124
const aps = user
120
125
? await this . authProviderService . getAuthProviderDescriptions ( user )
121
126
: await this . authProviderService . getAuthProviderDescriptionsUnauthenticated ( ) ;
122
127
128
+ const selectedProviders = selectPage ( aps , request . pagination ) ;
123
129
return new ListAuthProviderDescriptionsResponse ( {
124
- descriptions : aps . map ( ( ap : AuthProviderInfo ) => this . apiConverter . toAuthProviderDescription ( ap ) ) ,
130
+ descriptions : selectedProviders . map ( ( ap : AuthProviderInfo ) =>
131
+ this . apiConverter . toAuthProviderDescription ( ap ) ,
132
+ ) ,
125
133
} ) ;
126
134
}
127
135
0 commit comments