feat(console): grpc web interceptors, cleanup services (#631)

* managementservice, authservice, change all refs

* refactor grpc auth

* fix references

* interceptor logic

* new interceptor

* appinitializers, environment loader, interceptors

* remove circular dep

* init authconfig in grpc service

* authconfig

* lint

* update mgmt service

* fix references

* update clientid, fix interceptor

* rm unused authconfig

* todo auth interceptor
This commit is contained in:
Max Peintner
2020-08-29 10:43:35 +02:00
committed by GitHub
parent 40b8faaddd
commit eeea1f1c4b
81 changed files with 1877 additions and 2639 deletions
+19 -91
View File
@@ -1,8 +1,6 @@
import { Injectable } from '@angular/core';
import { Empty } from 'google-protobuf/google/protobuf/empty_pb';
import { Metadata } from 'grpc-web';
import { AdminServicePromiseClient } from '../proto/generated/admin_grpc_web_pb';
import {
AddIamMemberRequest,
ChangeIamMemberRequest,
@@ -24,29 +22,13 @@ import {
ViewID,
Views,
} from '../proto/generated/admin_pb';
import { GrpcBackendService } from './grpc-backend.service';
import { GrpcService, RequestFactory, ResponseMapper } from './grpc.service';
import { GrpcService } from './grpc.service';
@Injectable({
providedIn: 'root',
})
export class AdminService {
constructor(private readonly grpcService: GrpcService, private grpcBackendService: GrpcBackendService) { }
public async request<TReq, TResp, TMappedResp>(
requestFn: RequestFactory<AdminServicePromiseClient, TReq, TResp>,
request: TReq,
responseMapper: ResponseMapper<TResp, TMappedResp>,
metadata?: Metadata,
): Promise<TMappedResp> {
const mappedRequestFn = requestFn(this.grpcService.admin).bind(this.grpcService.mgmt);
const response = await this.grpcBackendService.runRequest(
mappedRequestFn,
request,
metadata,
);
return responseMapper(response);
}
constructor(private readonly grpcService: GrpcService) { }
public async SetUpOrg(
createOrgRequest: CreateOrgRequest,
@@ -57,46 +39,29 @@ export class AdminService {
req.setOrg(createOrgRequest);
req.setUser(registerUserRequest);
return await this.request(
c => c.setUpOrg,
req,
f => f,
);
return this.grpcService.admin.setUpOrg(req);
}
public async GetIamMemberRoles(): Promise<IamMemberRoles> {
return await this.request(
c => c.getIamMemberRoles,
new Empty(),
f => f,
);
const req = new Empty();
return this.grpcService.admin.getIamMemberRoles(req);
}
public async GetViews(): Promise<Views> {
return await this.request(
c => c.getViews,
new Empty(),
f => f,
);
const req = new Empty();
return this.grpcService.admin.getViews(req);
}
public async GetFailedEvents(): Promise<FailedEvents> {
return await this.request(
c => c.getFailedEvents,
new Empty(),
f => f,
);
const req = new Empty();
return this.grpcService.admin.getFailedEvents(req);
}
public async ClearView(viewname: string, db: string): Promise<Empty> {
const req: ViewID = new ViewID();
req.setDatabase(db);
req.setViewName(viewname);
return await this.request(
c => c.clearView,
req,
f => f,
);
return this.grpcService.admin.clearView(req);
}
public async RemoveFailedEvent(viewname: string, db: string, sequence: number): Promise<Empty> {
@@ -104,11 +69,7 @@ export class AdminService {
req.setDatabase(db);
req.setViewName(viewname);
req.setFailedSequence(sequence);
return await this.request(
c => c.removeFailedEvent,
req,
f => f,
);
return this.grpcService.admin.removeFailedEvent(req);
}
public async SearchIamMembers(
@@ -122,11 +83,7 @@ export class AdminService {
if (queryList) {
req.setQueriesList(queryList);
}
return await this.request(
c => c.searchIamMembers,
req,
f => f,
);
return this.grpcService.admin.searchIamMembers(req);
}
public async RemoveIamMember(
@@ -135,11 +92,7 @@ export class AdminService {
const req = new RemoveIamMemberRequest();
req.setUserId(userId);
return await this.request(
c => c.removeIamMember,
req,
f => f,
);
return this.grpcService.admin.removeIamMember(req);
}
public async AddIamMember(
@@ -150,11 +103,7 @@ export class AdminService {
req.setUserId(userId);
req.setRolesList(rolesList);
return await this.request(
c => c.addIamMember,
req,
f => f,
);
return this.grpcService.admin.addIamMember(req);
}
public async ChangeIamMember(
@@ -165,22 +114,14 @@ export class AdminService {
req.setUserId(userId);
req.setRolesList(rolesList);
return await this.request(
c => c.changeIamMember,
req,
f => f,
);
return this.grpcService.admin.changeIamMember(req);
}
public async GetOrgIamPolicy(orgId: string): Promise<OrgIamPolicy> {
const req = new OrgIamPolicyID();
req.setOrgId(orgId);
return await this.request(
c => c.getOrgIamPolicy,
req,
f => f,
);
return this.grpcService.admin.getOrgIamPolicy(req);
}
public async CreateOrgIamPolicy(
@@ -192,11 +133,7 @@ export class AdminService {
req.setDescription(description);
req.setUserLoginMustBeDomain(userLoginMustBeDomain);
return await this.request(
c => c.createOrgIamPolicy,
req,
f => f,
);
return this.grpcService.admin.createOrgIamPolicy(req);
}
public async UpdateOrgIamPolicy(
@@ -207,12 +144,7 @@ export class AdminService {
req.setOrgId(orgId);
req.setDescription(description);
req.setUserLoginMustBeDomain(userLoginMustBeDomain);
return await this.request(
c => c.updateOrgIamPolicy,
req,
f => f,
);
return this.grpcService.admin.updateOrgIamPolicy(req);
}
public async deleteOrgIamPolicy(
@@ -220,10 +152,6 @@ export class AdminService {
): Promise<Empty> {
const req = new OrgIamPolicyID();
req.setOrgId(orgId);
return await this.request(
c => c.deleteOrgIamPolicy,
req,
f => f,
);
return this.grpcService.admin.deleteOrgIamPolicy(req);
}
}