Files
zitadel/console/src/app/services/grpc.service.ts
Max Peintner 0a488eb1fb feat(console): split granted from owned project modules, general ui ux fixes (#286)
* add iam label, user avatar

* avatar component

* split granted and owned modules

* move components to resp module

* refactor project contributors, g project nav

* rem console logs, add avatar for org members

* fix changes loading, auth user page

* refactor home, i18n

* fix changes side overflow

* lint
2020-06-26 14:15:05 +02:00

49 lines
1.8 KiB
TypeScript

import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { AdminServicePromiseClient } from '../proto/generated/admin_grpc_web_pb';
import { AuthServicePromiseClient } from '../proto/generated/auth_grpc_web_pb';
import { ManagementServicePromiseClient } from '../proto/generated/management_grpc_web_pb';
import { GrpcRequestFn } from './grpc-handler';
@Injectable({
providedIn: 'root',
})
export class GrpcService {
public issuer: string = '';
public clientid: string = '';
public auth!: AuthServicePromiseClient;
public mgmt!: ManagementServicePromiseClient;
public admin!: AdminServicePromiseClient;
constructor(
private http: HttpClient,
) { }
public async loadAppEnvironment(): Promise<any> {
return this.http.get('/assets/environment.json')
.toPromise().then((data: any) => {
if (data && data.authServiceUrl && data.mgmtServiceUrl && data.issuer) {
this.auth = new AuthServicePromiseClient(data.authServiceUrl);
this.mgmt = new ManagementServicePromiseClient(data.mgmtServiceUrl);
this.admin = new AdminServicePromiseClient(data.adminServiceUrl);
this.issuer = data.issuer;
if (data.clientid) {
this.clientid = data.clientid;
}
}
return Promise.resolve(data);
}).catch(() => {
console.log('Failed to load environment from assets');
});
}
}
export type RequestFactory<TClient, TReq, TResp> = (
client: TClient,
) => GrpcRequestFn<TReq, TResp>;
export type ResponseMapper<TResp, TMappedResp> = (resp: TResp) => TMappedResp;