4
4
* See License.AGPL.txt in the project root for license information.
5
5
*/
6
6
7
- import { Code , ConnectError , PromiseClient } from "@connectrpc/connect" ;
8
7
import { PartialMessage } from "@bufbuild/protobuf" ;
8
+ import { Code , ConnectError , PromiseClient } from "@connectrpc/connect" ;
9
9
import { AuthProviderService } from "@gitpod/public-api/lib/gitpod/v1/authprovider_connect" ;
10
10
import {
11
11
CreateAuthProviderRequest ,
12
- GetAuthProviderRequest ,
13
- ListAuthProvidersRequest ,
14
- ListAuthProviderDescriptionsRequest ,
15
- UpdateAuthProviderRequest ,
16
- DeleteAuthProviderRequest ,
17
12
CreateAuthProviderResponse ,
18
- ListAuthProvidersResponse ,
13
+ DeleteAuthProviderRequest ,
14
+ DeleteAuthProviderResponse ,
15
+ GetAuthProviderRequest ,
19
16
GetAuthProviderResponse ,
17
+ ListAuthProviderDescriptionsRequest ,
20
18
ListAuthProviderDescriptionsResponse ,
19
+ ListAuthProvidersRequest ,
20
+ ListAuthProvidersResponse ,
21
+ UpdateAuthProviderRequest ,
21
22
UpdateAuthProviderResponse ,
22
- DeleteAuthProviderResponse ,
23
- AuthProvider ,
24
- AuthProviderType ,
25
- OAuth2Config ,
26
23
} from "@gitpod/public-api/lib/gitpod/v1/authprovider_pb" ;
27
- import { AuthProviderEntry } from "@gitpod/gitpod-protocol " ;
24
+ import { converter } from "./public-api " ;
28
25
import { getGitpodService } from "./service" ;
29
26
30
27
export class JsonRpcAuthProviderClient implements PromiseClient < typeof AuthProviderService > {
@@ -49,13 +46,13 @@ export class JsonRpcAuthProviderClient implements PromiseClient<typeof AuthProvi
49
46
organizationId,
50
47
} ) ;
51
48
const response = new ListAuthProvidersResponse ( ) ;
52
- response . list = result . map ( toAuthProvider ) ;
49
+ response . list = result . map ( converter . toAuthProvider ) ;
53
50
return response ;
54
51
}
55
52
if ( userId ) {
56
53
const result = await getGitpodService ( ) . server . getOwnAuthProviders ( ) ;
57
54
const response = new ListAuthProvidersResponse ( ) ;
58
- response . list = result . map ( toAuthProvider ) ;
55
+ response . list = result . map ( converter . toAuthProvider ) ;
59
56
return response ;
60
57
}
61
58
throw new ConnectError ( "either organizationId or userId are required" , Code . InvalidArgument ) ;
@@ -89,37 +86,3 @@ export class JsonRpcAuthProviderClient implements PromiseClient<typeof AuthProvi
89
86
return new DeleteAuthProviderResponse ( ) ;
90
87
}
91
88
}
92
-
93
- function toAuthProvider ( entry : AuthProviderEntry ) : AuthProvider {
94
- const ap = new AuthProvider ( ) ;
95
- ap . verified = entry . status === "verified" ;
96
- ap . host = entry . host ;
97
- ap . id = entry . id ;
98
- ap . type = toAuthProviderType ( entry . type ) ;
99
- ap . oauth2Config = toOAuth2Config ( entry ) ;
100
- ap . scopes = entry . oauth ?. scope ?. split ( entry . oauth ?. scopeSeparator || " " ) || [ ] ;
101
- ap . settingsUrl = entry . oauth . settingsUrl ;
102
- return ap ;
103
- }
104
-
105
- function toOAuth2Config ( entry : AuthProviderEntry ) : OAuth2Config {
106
- const config = new OAuth2Config ( ) ;
107
- config . clientId = entry . oauth . clientId ;
108
- config . clientSecret = entry . oauth . clientSecret ;
109
- return config ;
110
- }
111
-
112
- function toAuthProviderType ( type : string ) : AuthProviderType {
113
- switch ( type ) {
114
- case "GitHub" :
115
- return AuthProviderType . GITHUB ;
116
- case "GitLab" :
117
- return AuthProviderType . GITLAB ;
118
- case "Bitbucket" :
119
- return AuthProviderType . BITBUCKET ;
120
- case "BitbucketServer" :
121
- return AuthProviderType . BITBUCKET_SERVER ;
122
- default :
123
- return AuthProviderType . UNSPECIFIED ; // not allowed
124
- }
125
- }
0 commit comments