feat(console): granted project detail (#203)

* granted project detail

* support for grantedProjects

* getGrantedProjectGrantByIDs

* fix grant members bindings

* seperate granted from owned project detail

* lint

* dont show apps on granted projects
This commit is contained in:
Max Peintner
2020-06-10 15:52:56 +02:00
committed by GitHub
parent 9965beee9c
commit a35afd2b88
23 changed files with 2404 additions and 1773 deletions

View File

@@ -19,11 +19,11 @@ export class OrgMembersDataSource extends DataSource<OrgMember.AsObject> {
super();
}
public loadMembers(orgId: string, pageIndex: number, pageSize: number, sortDirection?: string): void {
public loadMembers(pageIndex: number, pageSize: number, sortDirection?: string): void {
const offset = pageIndex * pageSize;
this.loadingSubject.next(true);
from(this.orgService.SearchOrgMembers(orgId, pageSize, offset)).pipe(
from(this.orgService.SearchMyOrgMembers(pageSize, offset)).pipe(
map(resp => {
this.totalResult = resp.toObject().totalResult;
return resp.toObject().resultList;

View File

@@ -34,7 +34,7 @@ export class OrgMembersComponent implements AfterViewInit, OnInit {
public ngOnInit(): void {
this.dataSource = new OrgMembersDataSource(this.orgService);
this.dataSource.loadMembers(this.orgId, 0, 25, 'asc');
this.dataSource.loadMembers(0, 25, 'asc');
this.selection.changed.subscribe(change => {
console.log(change);
@@ -52,7 +52,6 @@ export class OrgMembersComponent implements AfterViewInit, OnInit {
private loadMembersPage(): void {
this.dataSource.loadMembers(
this.orgId,
this.paginator.pageIndex,
this.paginator.pageSize,
);
@@ -85,7 +84,7 @@ export class OrgMembersComponent implements AfterViewInit, OnInit {
if (users && users.length && roles && roles.length) {
Promise.all(users.map(user => {
return this.orgService.AddOrgMember(this.orgId, user.id, roles);
return this.orgService.AddMyOrgMember(user.id, roles);
})).then(() => {
this.toast.showError('members added');
}).catch(error => {
@@ -98,7 +97,7 @@ export class OrgMembersComponent implements AfterViewInit, OnInit {
public removeSelectedOrgMembers(): void {
Promise.all(this.selection.selected.map(member => {
return this.orgService.RemoveOrgMember(this.orgId, member.userId).then(() => {
return this.orgService.RemoveMyOrgMember(member.userId).then(() => {
this.toast.showInfo('Removed successfully');
}).catch(error => {
this.toast.showError(error.message);

View File

@@ -0,0 +1,49 @@
<app-meta-layout>
<div class="max-width-container">
<div class="head" *ngIf="project?.id">
<a [routerLink]="[ '/projects' ]" mat-icon-button>
<mat-icon class="icon">arrow_back</mat-icon>
</a>
<h1>{{ 'PROJECT.PAGES.TITLE' | translate }} {{project?.name}}</h1>
<div class="full-width">
<p class="desc">{{ 'PROJECT.PAGES.DESCRIPTION' | translate }}</p>
</div>
</div>
<!-- <ng-template appHasRole [appHasRole]="['project.app.read:' + project?.id, 'project.app.read']">
<app-project-application-grid *ngIf="grid" [disabled]="project?.state !== ProjectState.PROJECTSTATE_ACTIVE"
(changeView)="grid = false" [projectId]="projectId"></app-project-application-grid>
<app-card *ngIf="!grid" title="{{ 'PROJECT.APP.TITLE' | translate }}">
<card-actions class="card-actions">
<button mat-icon-button (click)="grid = true">
<i matTooltip="show grid view" class="las la-th-large"></i>
</button>
</card-actions>
<app-project-applications [disabled]="project?.state !== ProjectState.PROJECTSTATE_ACTIVE"
[projectId]="projectId"></app-project-applications>
</app-card>
</ng-template> -->
<app-card>
<app-project-grant-members *ngIf="project && project.id && project.grantId"
[disabled]="project?.state !== ProjectState.PROJECTSTATE_ACTIVE" [project]="project">
</app-project-grant-members>
</app-card>
</div>
<metainfo class="side">
<div class="details">
<div class="row">
<span class="first">{{'PROJECT.TYPE.TITLE' | translate}}:</span>
<span class="second">{{'PROJECT.TYPE.'+ ProjectType.PROJECTTYPE_GRANTED | translate}}</span>
</div>
<div class="row">
<span class="first">{{'PROJECT.STATE.TITLE' | translate}}:</span>
<span *ngIf="project && project.state !== undefined"
class="second">{{'PROJECT.STATE.'+project.state | translate}}</span>
</div>
</div>
<app-changes *ngIf="project" [changeType]="ChangeType.PROJECT" [id]="project.id"></app-changes>
</metainfo>
</app-meta-layout>

View File

@@ -0,0 +1,117 @@
.head {
display: flex;
align-items: center;
border-bottom: 1px solid #ffffff20;
flex-wrap: wrap;
margin-bottom: 1rem;
a {
display: block;
}
h1 {
font-size: 1.2rem;
margin: 0 1rem;
margin-left: 2rem;
font-weight: normal;
}
.full-width {
padding-top: 1rem;
width: 100%;
display: block;
.icon-button {
margin-right: 1rem;
}
button {
border-radius: .5rem;
}
.desc {
font-size: .9rem;
color: #81868a;
}
}
}
.content {
display: flex;
flex-direction: row;
flex-wrap: wrap;
margin: 0 -.5rem;
mat-form-field {
flex: 1 1 33%;
margin: 0 .5rem;
}
}
.side {
.details {
margin-bottom: 1rem;
border-bottom: 1px solid #81868a40;
padding-bottom: 1rem;
.row {
display: flex;
margin-bottom: 0.5rem;
align-items: center;
button {
display: none;
visibility: hidden;
}
&:hover {
button {
display: inline-block;
visibility: visible;
mat-icon {
font-size: 1.2rem;
}
}
}
.first {
flex: 1;
font-size: 0.8rem;
margin-right: 0.5rem;
}
.fill-space {
flex: 1;
}
.second {
font-size: 0.8rem;
text-overflow: ellipsis;
overflow: hidden;
margin-left: 1rem;
}
a {
&:hover {
cursor: pointer;
text-decoration: underline;
}
}
}
.side-section {
color: #81868a;
}
}
.mat-tab-label {
min-width: 100px !important;
}
.flex-col {
display: flex;
flex-direction: column;
}
}

View File

@@ -0,0 +1,25 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { GrantedProjectDetailComponent } from './granted-project-detail.component';
describe('GrantedProjectDetailComponent', () => {
let component: GrantedProjectDetailComponent;
let fixture: ComponentFixture<GrantedProjectDetailComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [GrantedProjectDetailComponent],
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(GrantedProjectDetailComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@@ -0,0 +1,104 @@
import { SelectionModel } from '@angular/cdk/collections';
import { Location } from '@angular/common';
import { Component, OnDestroy, OnInit } from '@angular/core';
import { MatTableDataSource } from '@angular/material/table';
import { ActivatedRoute, Params } from '@angular/router';
import { TranslateService } from '@ngx-translate/core';
import { from, Observable, of, Subscription } from 'rxjs';
import { ChangeType } from 'src/app/modules/changes/changes.component';
import {
Application,
ApplicationSearchResponse,
GrantedProject,
ProjectMember,
ProjectMemberSearchResponse,
ProjectRole,
ProjectRoleSearchResponse,
ProjectState,
ProjectType,
} from 'src/app/proto/generated/management_pb';
import { GrpcService } from 'src/app/services/grpc.service';
import { ProjectService } from 'src/app/services/project.service';
import { ToastService } from 'src/app/services/toast.service';
@Component({
selector: 'app-granted-project-detail',
templateUrl: './granted-project-detail.component.html',
styleUrls: ['./granted-project-detail.component.scss'],
})
export class GrantedProjectDetailComponent implements OnInit, OnDestroy {
public projectId: string = '';
public grantId: string = '';
public project!: GrantedProject.AsObject;
public pageSizeRoles: number = 10;
public roleDataSource: MatTableDataSource<ProjectRole.AsObject> = new MatTableDataSource<ProjectRole.AsObject>();
public roleResult!: ProjectRoleSearchResponse.AsObject;
public roleColumns: string[] = ['name', 'displayname', 'group', 'actions'];
public pageSizeMembers: number = 10;
public projectDataSource: MatTableDataSource<ProjectMember.AsObject> = new MatTableDataSource<ProjectMember.AsObject>();
public memberResult!: ProjectMemberSearchResponse.AsObject;
public memberColumns: string[] = ['firstname', 'lastname', 'username', 'email', 'roles'];
public selection: SelectionModel<ProjectMember.AsObject> = new SelectionModel<ProjectMember.AsObject>(true, []);
public pageSizeApps: number = 10;
public appsDataSource: MatTableDataSource<Application.AsObject> = new MatTableDataSource<Application.AsObject>();
public appsResult!: ApplicationSearchResponse.AsObject;
public appsColumns: string[] = ['name'];
public ProjectState: any = ProjectState;
public ProjectType: any = ProjectType;
public ChangeType: any = ChangeType;
public grid: boolean = true;
private subscription?: Subscription;
public editstate: boolean = false;
public isZitadel$: Observable<boolean> = of(false);
private zitadelsub: Subscription = new Subscription();
constructor(
public translate: TranslateService,
private route: ActivatedRoute,
private toast: ToastService,
private projectService: ProjectService,
private _location: Location,
private grpcService: GrpcService,
) {
}
public ngOnInit(): void {
this.subscription = this.route.params.subscribe(params => this.getData(params));
}
public ngOnDestroy(): void {
this.subscription?.unsubscribe();
this.zitadelsub.unsubscribe();
}
private async getData({ id, grantId }: Params): Promise<void> {
this.projectId = id;
this.grantId = grantId;
if (this.projectId && this.grantId) {
this.projectService.GetGrantedProjectGrantByID(this.projectId, this.grantId).then(proj => {
this.project = proj.toObject();
console.log(this.project);
this.isZitadel$ = from(this.projectService.SearchApplications(this.project.id, 100, 0).then(appsResp => {
const ret = appsResp.toObject().resultList
.filter(app => app.oidcConfig?.clientId === this.grpcService.clientid).length > 0;
return ret;
}));
}).catch(error => {
this.toast.showError(error.message);
});
}
this.zitadelsub = this.isZitadel$.subscribe(isZita => console.log(`zitade: ${isZita}`));
}
public navigateBack(): void {
this._location.back();
}
}

View File

@@ -42,7 +42,7 @@ export class ProjectContributorsComponent implements OnInit {
private router: Router) { }
public ngOnInit(): void {
console.log(this.project);
console.log('project grant members');
const promise: Promise<ProjectMemberSearchResponse> | undefined =
this.projectType === ProjectType.PROJECTTYPE_OWNED ?
this.projectService.SearchProjectMembers(this.project.id, 100, 0) :

View File

@@ -35,7 +35,7 @@
</div>
<!-- show only on owned projects-->
<ng-container *ngIf="project && projectType == ProjectType.PROJECTTYPE_OWNED; else granteddetail">
<ng-container *ngIf="project">
<ng-template appHasRole [appHasRole]="['project.app.read:' + project.id, 'project.app.read']">
<app-project-application-grid *ngIf="grid"
[disabled]="project?.state !== ProjectState.PROJECTSTATE_ACTIVE" (changeView)="grid = false"
@@ -71,20 +71,12 @@
</ng-template>
</ng-container>
</ng-container>
<ng-template #granteddetail>
<app-card>
<app-project-grant-members *ngIf="project"
[disabled]="project?.state !== ProjectState.PROJECTSTATE_ACTIVE" [project]="project">
</app-project-grant-members>
</app-card>
</ng-template>
</div>
<metainfo class="side">
<div class="details">
<div class="row">
<span class="first">{{'PROJECT.TYPE.TITLE' | translate}}:</span>
<span class="second" *ngIf="projectType">{{'PROJECT.TYPE.'+ projectType | translate}}</span>
<span class="second">{{'PROJECT.TYPE.'+ ProjectType.PROJECTTYPE_OWNED | translate}}</span>
</div>
<div class="row">
<span class="first">{{'PROJECT.STATE.TITLE' | translate}}:</span>
@@ -93,22 +85,16 @@
</div>
</div>
<ng-container *ngIf="projectType === ProjectType.PROJECTTYPE_OWNED; else grantedmeta">
<mat-tab-group mat-stretch-tabs class="tab-group" disablePagination="true">
<mat-tab label="Details">
<app-project-contributors *ngIf="project"
[disabled]="project?.state !== ProjectState.PROJECTSTATE_ACTIVE" [projectType]="projectType"
[project]="project">
[disabled]="project?.state !== ProjectState.PROJECTSTATE_ACTIVE"
[projectType]="ProjectType.PROJECTTYPE_OWNED" [project]="project">
</app-project-contributors>
</mat-tab>
<mat-tab label="{{ 'CHANGES.PROJECT.TITLE' | translate }}" class="flex-col">
<app-changes *ngIf="project" [changeType]="ChangeType.PROJECT" [id]="project.id"></app-changes>
</mat-tab>
</mat-tab-group>
</ng-container>
<ng-template #grantedmeta>
<app-changes *ngIf="project" [changeType]="ChangeType.PROJECT" [id]="project.id"></app-changes>
</ng-template>
</metainfo>
</app-meta-layout>

View File

@@ -9,6 +9,7 @@ import { ChangeType } from 'src/app/modules/changes/changes.component';
import {
Application,
ApplicationSearchResponse,
GrantedProject,
Project,
ProjectMember,
ProjectMemberSearchResponse,
@@ -29,9 +30,7 @@ import { ToastService } from 'src/app/services/toast.service';
})
export class ProjectDetailComponent implements OnInit, OnDestroy {
public projectId: string = '';
public grantId: string = '';
public project!: Project.AsObject; // ProjectGrant.AsObject;
public projectType: ProjectType = ProjectType.PROJECTTYPE_OWNED;
public project!: Project.AsObject | GrantedProject.AsObject;
public pageSizeRoles: number = 10;
public roleDataSource: MatTableDataSource<ProjectRole.AsObject> = new MatTableDataSource<ProjectRole.AsObject>();
@@ -58,6 +57,7 @@ export class ProjectDetailComponent implements OnInit, OnDestroy {
public editstate: boolean = false;
public isZitadel$: Observable<boolean> = of(false);
private zitadelsub: Subscription = new Subscription();
constructor(
public translate: TranslateService,
@@ -75,43 +75,26 @@ export class ProjectDetailComponent implements OnInit, OnDestroy {
public ngOnDestroy(): void {
this.subscription?.unsubscribe();
this.zitadelsub.unsubscribe();
}
private async getData({ id, grantId }: Params): Promise<void> {
private async getData({ id }: Params): Promise<void> {
this.projectId = id;
this.grantId = grantId;
if (grantId) {
this.projectType = ProjectType.PROJECTTYPE_GRANTED;
// this.projectService.GetGrantedProjectGrantByID(id, this.grantId).then(proj => {
// this.projectGrant = proj.toObject();
// this.isZitadel$ = from(this.projectService.SearchApplications(this.project.id, 100, 0).then(appsResp => {
// const ret = appsResp.toObject().resultList
// .filter(app => app.oidcConfig?.clientId === this.grpcService.clientid).length > 0;
// return ret;
// })); // TODO: replace with prettier thing
// }).catch(error => {
// this.toast.showError(error.message);
// });
} else {
this.projectType = ProjectType.PROJECTTYPE_OWNED;
if (this.projectId) {
this.projectService.GetProjectById(id).then(proj => {
this.project = proj.toObject();
// if (this.project.type !== ProjectType.PROJECTTYPE_SELF ||
// this.project.state === ProjectState.PROJECTSTATE_INACTIVE ||
// this.project.state === ProjectState.PROJECTSTATE_UNSPECIFIED) {
// }
this.isZitadel$ = from(this.projectService.SearchApplications(this.project.id, 100, 0).then(appsResp => {
const ret = appsResp.toObject().resultList
.filter(app => app.oidcConfig?.clientId === this.grpcService.clientid).length > 0;
return ret;
})); // TODO: replace with prettier thing
this.isZitadel$.subscribe(isZita => console.log(`zitade: ${isZita}`));
}));
}).catch(error => {
this.toast.showError(error.message);
});
}
this.zitadelsub = this.isZitadel$.subscribe(isZita => console.log(`zitade: ${isZita}`));
}
public changeState(newState: ProjectState): void {
@@ -122,16 +105,12 @@ export class ProjectDetailComponent implements OnInit, OnDestroy {
this.toast.showError(error.message);
});
} else if (newState === ProjectState.PROJECTSTATE_INACTIVE) {
this.projectService.DeactivateProject(this.projectId).then(() => {
this.toast.showInfo('Deactivated Project');
}).catch(error => {
this.toast.showError(error.message);
});
this.toast.showInfo('You cant update this project.');
}
}
public saveProject(): void {
this.projectService.UpdateProject(this.project).then(() => {
this.projectService.UpdateProject(this.project as Project.AsObject).then(() => {
this.toast.showInfo('Project updated');
}).catch(error => {
this.toast.showInfo(error.message);

View File

@@ -1,7 +1,7 @@
import { DataSource } from '@angular/cdk/collections';
import { BehaviorSubject, from, Observable, of } from 'rxjs';
import { catchError, finalize, map } from 'rxjs/operators';
import { GrantedProject, ProjectMember } from 'src/app/proto/generated/management_pb';
import { ProjectMember } from 'src/app/proto/generated/management_pb';
import { ProjectService } from 'src/app/services/project.service';
/**
@@ -19,12 +19,14 @@ export class ProjectGrantMembersDataSource extends DataSource<ProjectMember.AsOb
super();
}
public loadMembers(project: GrantedProject.AsObject, pageIndex: number, pageSize: number, sortDirection?: string): void {
public loadMembers(projectId: string, grantId: string, pageIndex: number,
pageSize: number, sortDirection?: string): void {
const offset = pageIndex * pageSize;
this.loadingSubject.next(true);
from(this.projectService.SearchProjectGrantMembers(project.id, project.grantId, pageSize, offset)).pipe(
from(this.projectService.SearchProjectGrantMembers(projectId,
grantId, pageSize, offset)).pipe(
map(resp => {
this.totalResult = resp.toObject().totalResult;
return resp.toObject().resultList;
@@ -32,6 +34,7 @@ export class ProjectGrantMembersDataSource extends DataSource<ProjectMember.AsOb
catchError(() => of([])),
finalize(() => this.loadingSubject.next(false)),
).subscribe(members => {
console.log(members);
this.membersSubject.next(members);
});

View File

@@ -1,4 +1,4 @@
<h1>{{project?.name}} {{ 'PROJECT.MEMBER.TITLE' | translate }}</h1>
<h1>{{ 'PROJECT.MEMBER.TITLE' | translate }}</h1>
<p class="desc">{{ 'PROJECT.MEMBER.DESCRIPTION' | translate }}</p>
<div class="table-header-row">

View File

@@ -3,9 +3,8 @@ import { AfterViewInit, Component, Input, OnInit, ViewChild } from '@angular/cor
import { MatDialog } from '@angular/material/dialog';
import { MatPaginator } from '@angular/material/paginator';
import { MatTable } from '@angular/material/table';
import { ActivatedRoute } from '@angular/router';
import { tap } from 'rxjs/operators';
import { GrantedProject, ProjectMember, User } from 'src/app/proto/generated/management_pb';
import { ProjectMember, User } from 'src/app/proto/generated/management_pb';
import { ProjectService } from 'src/app/services/project.service';
import { ToastService } from 'src/app/services/toast.service';
@@ -21,7 +20,9 @@ import { ProjectGrantMembersDataSource } from './project-grant-members-datasourc
styleUrls: ['./project-grant-members.component.scss'],
})
export class ProjectGrantMembersComponent implements AfterViewInit, OnInit {
@Input() public project!: GrantedProject.AsObject;
@Input() public projectId!: string;
@Input() public grantId!: string;
public disabled: boolean = false;
@ViewChild(MatPaginator) public paginator!: MatPaginator;
@ViewChild(MatTable) public table!: MatTable<ProjectMember.AsObject>;
@@ -34,12 +35,12 @@ export class ProjectGrantMembersComponent implements AfterViewInit, OnInit {
constructor(private projectService: ProjectService,
private dialog: MatDialog,
private toast: ToastService,
private route: ActivatedRoute) {
) {
}
public ngOnInit(): void {
this.dataSource = new ProjectGrantMembersDataSource(this.projectService);
this.dataSource.loadMembers(this.project, 0, 25, 'asc');
this.dataSource.loadMembers(this.projectId, this.grantId, 0, 25, 'asc');
}
public ngAfterViewInit(): void {
@@ -48,33 +49,33 @@ export class ProjectGrantMembersComponent implements AfterViewInit, OnInit {
tap(() => this.loadMembersPage()),
)
.subscribe();
}
private loadMembersPage(): void {
this.dataSource.loadMembers(
this.project,
this.projectId,
this.grantId,
this.paginator.pageIndex,
this.paginator.pageSize,
);
}
public removeProjectMemberSelection(): void {
Promise.all(this.selection.selected.map(member => {
return this.projectService.RemoveProjectMember(this.project.id, member.userId).then(() => {
this.toast.showInfo('Removed successfully');
}).catch(error => {
this.toast.showError(error.message);
});
}));
// Promise.all(this.selection.selected.map(member => {
// return this.projectService.RemoveProjectMember(this.projectId, this.grantId, member.userId).then(() => {
// this.toast.showInfo('Removed successfully');
// }).catch(error => {
// this.toast.showError(error.message);
// });
// }));
}
public removeMember(member: ProjectMember.AsObject): void {
this.projectService.RemoveProjectMember(this.project.id, member.userId).then(() => {
this.toast.showInfo('Member removed successfully');
}).catch(error => {
this.toast.showError(error.message);
});
// this.projectService.RemoveProjectMember(this.grantedProject.id, member.userId).then(() => {
// this.toast.showInfo('Member removed successfully');
// }).catch(error => {
// this.toast.showError(error.message);
// });
}
public isAllSelected(): boolean {
@@ -93,19 +94,21 @@ export class ProjectGrantMembersComponent implements AfterViewInit, OnInit {
const dialogRef = this.dialog.open(ProjectMemberCreateDialogComponent, {
data: {
creationType: CreationType.PROJECT_GRANTED,
projectId: this.project.id,
projectId: this.projectId,
},
width: '400px',
});
dialogRef.afterClosed().subscribe(resp => {
if (resp) {
console.log(resp);
const users: User.AsObject[] = resp.users;
const roles: string[] = resp.roles;
if (users && users.length && roles && roles.length) {
Promise.all(users.map(user => {
return this.projectService.AddProjectMember(this.project.id, user.id, roles);
return this.projectService.AddProjectGrantMember(this.projectId,
this.grantId, user.id, roles);
})).then(() => {
this.toast.showError('members added');
}).catch(error => {

View File

@@ -48,19 +48,17 @@ export class ProjectGridComponent {
public selectItem(item: GrantedProject.AsObject, event?: any): void {
if (event && !event.target.classList.contains('mat-icon')) {
if (item.grantId) {
this.router.navigate([item.id, '/grant', `${item.grantId}`]);
this.router.navigate(['projects', item.id, 'grant', `${item.grantId}`]);
} else {
this.router.navigate(['/projects', item.id]);
}
} else if (!event) {
if (item.grantId) {
this.router.navigate([item.id, '/grant', `${item.grantId}`]);
this.router.navigate(['projects', item.id, 'grant', `${item.grantId}`]);
} else {
this.router.navigate(['/projects', item.id]);
}
}
}
public addItem(): void {

View File

@@ -1,6 +1,7 @@
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { GrantedProjectDetailComponent } from './granted-project-detail/granted-project-detail.component';
import { ProjectDetailComponent } from './project-detail/project-detail.component';
import { ProjectListComponent } from './project-list/project-list.component';
@@ -16,7 +17,7 @@ const routes: Routes = [
},
{
path: ':id/grant/:grantId',
component: ProjectDetailComponent,
component: GrantedProjectDetailComponent,
data: { animation: 'HomePage' },
},
{

View File

@@ -42,6 +42,7 @@ import { ProjectGrantsComponent } from './project-grants/project-grants.componen
import { ProjectGridComponent } from './project-grid/project-grid.component';
import { ProjectListComponent } from './project-list/project-list.component';
import { ProjectsRoutingModule } from './projects-routing.module';
import { GrantedProjectDetailComponent } from './granted-project-detail/granted-project-detail.component';
@NgModule({
declarations: [
@@ -54,6 +55,7 @@ import { ProjectsRoutingModule } from './projects-routing.module';
ProjectGrantMembersComponent,
ProjectGrantMembersCreateDialogComponent,
ProjectContributorsComponent,
GrantedProjectDetailComponent,
],
imports: [
ProjectsRoutingModule,

View File

@@ -1,13 +1,6 @@
import * as grpcWeb from 'grpc-web';
import * as google_api_annotations_pb from './google/api/annotations_pb';
import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb';
import * as google_protobuf_struct_pb from 'google-protobuf/google/protobuf/struct_pb';
import * as google_protobuf_timestamp_pb from 'google-protobuf/google/protobuf/timestamp_pb';
import * as protoc$gen$swagger_options_annotations_pb from './protoc-gen-swagger/options/annotations_pb';
import * as validate_validate_pb from './validate/validate_pb';
import * as google_protobuf_descriptor_pb from 'google-protobuf/google/protobuf/descriptor_pb';
import * as authoption_options_pb from './authoption/options_pb';
import * as grpcWeb from 'grpc-web';
import {
AddOrgMemberRequest,
@@ -23,6 +16,7 @@ import {
Changes,
ClientSecret,
CreateUserRequest,
GrantedProject,
GrantedProjectSearchRequest,
GrantedProjectSearchResponse,
MultiFactors,
@@ -109,10 +103,11 @@ import {
UserProfile,
UserSearchRequest,
UserSearchResponse,
UserView} from './management_pb';
UserView,
} from './management_pb';
export class ManagementServiceClient {
constructor (hostname: string,
constructor(hostname: string,
credentials?: null | { [index: string]: string; },
options?: null | { [index: string]: string; });
@@ -445,28 +440,28 @@ export class ManagementServiceClient {
response: OrgMemberRoles) => void
): grpcWeb.ClientReadableStream<OrgMemberRoles>;
addOrgMember(
addMyOrgMember(
request: AddOrgMemberRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
response: OrgMember) => void
): grpcWeb.ClientReadableStream<OrgMember>;
changeOrgMember(
changeMyOrgMember(
request: ChangeOrgMemberRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
response: OrgMember) => void
): grpcWeb.ClientReadableStream<OrgMember>;
removeOrgMember(
removeMyOrgMember(
request: RemoveOrgMemberRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
searchOrgMembers(
searchMyOrgMembers(
request: OrgMemberSearchRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
@@ -519,8 +514,8 @@ export class ManagementServiceClient {
request: ProjectGrantID,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
response: ProjectGrant) => void
): grpcWeb.ClientReadableStream<ProjectGrant>;
response: GrantedProject) => void
): grpcWeb.ClientReadableStream<GrantedProject>;
getProjectMemberRoles(
request: google_protobuf_empty_pb.Empty,
@@ -875,7 +870,7 @@ export class ManagementServiceClient {
}
export class ManagementServicePromiseClient {
constructor (hostname: string,
constructor(hostname: string,
credentials?: null | { [index: string]: string; },
options?: null | { [index: string]: string; });
@@ -1114,22 +1109,22 @@ export class ManagementServicePromiseClient {
metadata?: grpcWeb.Metadata
): Promise<OrgMemberRoles>;
addOrgMember(
addMyOrgMember(
request: AddOrgMemberRequest,
metadata?: grpcWeb.Metadata
): Promise<OrgMember>;
changeOrgMember(
changeMyOrgMember(
request: ChangeOrgMemberRequest,
metadata?: grpcWeb.Metadata
): Promise<OrgMember>;
removeOrgMember(
removeMyOrgMember(
request: RemoveOrgMemberRequest,
metadata?: grpcWeb.Metadata
): Promise<google_protobuf_empty_pb.Empty>;
searchOrgMembers(
searchMyOrgMembers(
request: OrgMemberSearchRequest,
metadata?: grpcWeb.Metadata
): Promise<OrgMemberSearchResponse>;
@@ -1167,7 +1162,7 @@ export class ManagementServicePromiseClient {
getGrantedProjectGrantByID(
request: ProjectGrantID,
metadata?: grpcWeb.Metadata
): Promise<ProjectGrant>;
): Promise<GrantedProject>;
getProjectMemberRoles(
request: google_protobuf_empty_pb.Empty,

View File

@@ -3852,8 +3852,8 @@ proto.caos.zitadel.management.api.v1.ManagementServicePromiseClient.prototype.ge
* !proto.caos.zitadel.management.api.v1.AddOrgMemberRequest,
* !proto.caos.zitadel.management.api.v1.OrgMember>}
*/
const methodDescriptor_ManagementService_AddOrgMember = new grpc.web.MethodDescriptor(
'/caos.zitadel.management.api.v1.ManagementService/AddOrgMember',
const methodDescriptor_ManagementService_AddMyOrgMember = new grpc.web.MethodDescriptor(
'/caos.zitadel.management.api.v1.ManagementService/AddMyOrgMember',
grpc.web.MethodType.UNARY,
proto.caos.zitadel.management.api.v1.AddOrgMemberRequest,
proto.caos.zitadel.management.api.v1.OrgMember,
@@ -3874,7 +3874,7 @@ const methodDescriptor_ManagementService_AddOrgMember = new grpc.web.MethodDescr
* !proto.caos.zitadel.management.api.v1.AddOrgMemberRequest,
* !proto.caos.zitadel.management.api.v1.OrgMember>}
*/
const methodInfo_ManagementService_AddOrgMember = new grpc.web.AbstractClientBase.MethodInfo(
const methodInfo_ManagementService_AddMyOrgMember = new grpc.web.AbstractClientBase.MethodInfo(
proto.caos.zitadel.management.api.v1.OrgMember,
/**
* @param {!proto.caos.zitadel.management.api.v1.AddOrgMemberRequest} request
@@ -3897,13 +3897,13 @@ const methodInfo_ManagementService_AddOrgMember = new grpc.web.AbstractClientBas
* @return {!grpc.web.ClientReadableStream<!proto.caos.zitadel.management.api.v1.OrgMember>|undefined}
* The XHR Node Readable Stream
*/
proto.caos.zitadel.management.api.v1.ManagementServiceClient.prototype.addOrgMember =
proto.caos.zitadel.management.api.v1.ManagementServiceClient.prototype.addMyOrgMember =
function(request, metadata, callback) {
return this.client_.rpcCall(this.hostname_ +
'/caos.zitadel.management.api.v1.ManagementService/AddOrgMember',
'/caos.zitadel.management.api.v1.ManagementService/AddMyOrgMember',
request,
metadata || {},
methodDescriptor_ManagementService_AddOrgMember,
methodDescriptor_ManagementService_AddMyOrgMember,
callback);
};
@@ -3916,13 +3916,13 @@ proto.caos.zitadel.management.api.v1.ManagementServiceClient.prototype.addOrgMem
* @return {!Promise<!proto.caos.zitadel.management.api.v1.OrgMember>}
* A native promise that resolves to the response
*/
proto.caos.zitadel.management.api.v1.ManagementServicePromiseClient.prototype.addOrgMember =
proto.caos.zitadel.management.api.v1.ManagementServicePromiseClient.prototype.addMyOrgMember =
function(request, metadata) {
return this.client_.unaryCall(this.hostname_ +
'/caos.zitadel.management.api.v1.ManagementService/AddOrgMember',
'/caos.zitadel.management.api.v1.ManagementService/AddMyOrgMember',
request,
metadata || {},
methodDescriptor_ManagementService_AddOrgMember);
methodDescriptor_ManagementService_AddMyOrgMember);
};
@@ -3932,8 +3932,8 @@ proto.caos.zitadel.management.api.v1.ManagementServicePromiseClient.prototype.ad
* !proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest,
* !proto.caos.zitadel.management.api.v1.OrgMember>}
*/
const methodDescriptor_ManagementService_ChangeOrgMember = new grpc.web.MethodDescriptor(
'/caos.zitadel.management.api.v1.ManagementService/ChangeOrgMember',
const methodDescriptor_ManagementService_ChangeMyOrgMember = new grpc.web.MethodDescriptor(
'/caos.zitadel.management.api.v1.ManagementService/ChangeMyOrgMember',
grpc.web.MethodType.UNARY,
proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest,
proto.caos.zitadel.management.api.v1.OrgMember,
@@ -3954,7 +3954,7 @@ const methodDescriptor_ManagementService_ChangeOrgMember = new grpc.web.MethodDe
* !proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest,
* !proto.caos.zitadel.management.api.v1.OrgMember>}
*/
const methodInfo_ManagementService_ChangeOrgMember = new grpc.web.AbstractClientBase.MethodInfo(
const methodInfo_ManagementService_ChangeMyOrgMember = new grpc.web.AbstractClientBase.MethodInfo(
proto.caos.zitadel.management.api.v1.OrgMember,
/**
* @param {!proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest} request
@@ -3977,13 +3977,13 @@ const methodInfo_ManagementService_ChangeOrgMember = new grpc.web.AbstractClient
* @return {!grpc.web.ClientReadableStream<!proto.caos.zitadel.management.api.v1.OrgMember>|undefined}
* The XHR Node Readable Stream
*/
proto.caos.zitadel.management.api.v1.ManagementServiceClient.prototype.changeOrgMember =
proto.caos.zitadel.management.api.v1.ManagementServiceClient.prototype.changeMyOrgMember =
function(request, metadata, callback) {
return this.client_.rpcCall(this.hostname_ +
'/caos.zitadel.management.api.v1.ManagementService/ChangeOrgMember',
'/caos.zitadel.management.api.v1.ManagementService/ChangeMyOrgMember',
request,
metadata || {},
methodDescriptor_ManagementService_ChangeOrgMember,
methodDescriptor_ManagementService_ChangeMyOrgMember,
callback);
};
@@ -3996,13 +3996,13 @@ proto.caos.zitadel.management.api.v1.ManagementServiceClient.prototype.changeOrg
* @return {!Promise<!proto.caos.zitadel.management.api.v1.OrgMember>}
* A native promise that resolves to the response
*/
proto.caos.zitadel.management.api.v1.ManagementServicePromiseClient.prototype.changeOrgMember =
proto.caos.zitadel.management.api.v1.ManagementServicePromiseClient.prototype.changeMyOrgMember =
function(request, metadata) {
return this.client_.unaryCall(this.hostname_ +
'/caos.zitadel.management.api.v1.ManagementService/ChangeOrgMember',
'/caos.zitadel.management.api.v1.ManagementService/ChangeMyOrgMember',
request,
metadata || {},
methodDescriptor_ManagementService_ChangeOrgMember);
methodDescriptor_ManagementService_ChangeMyOrgMember);
};
@@ -4012,8 +4012,8 @@ proto.caos.zitadel.management.api.v1.ManagementServicePromiseClient.prototype.ch
* !proto.caos.zitadel.management.api.v1.RemoveOrgMemberRequest,
* !proto.google.protobuf.Empty>}
*/
const methodDescriptor_ManagementService_RemoveOrgMember = new grpc.web.MethodDescriptor(
'/caos.zitadel.management.api.v1.ManagementService/RemoveOrgMember',
const methodDescriptor_ManagementService_RemoveMyOrgMember = new grpc.web.MethodDescriptor(
'/caos.zitadel.management.api.v1.ManagementService/RemoveMyOrgMember',
grpc.web.MethodType.UNARY,
proto.caos.zitadel.management.api.v1.RemoveOrgMemberRequest,
google_protobuf_empty_pb.Empty,
@@ -4034,7 +4034,7 @@ const methodDescriptor_ManagementService_RemoveOrgMember = new grpc.web.MethodDe
* !proto.caos.zitadel.management.api.v1.RemoveOrgMemberRequest,
* !proto.google.protobuf.Empty>}
*/
const methodInfo_ManagementService_RemoveOrgMember = new grpc.web.AbstractClientBase.MethodInfo(
const methodInfo_ManagementService_RemoveMyOrgMember = new grpc.web.AbstractClientBase.MethodInfo(
google_protobuf_empty_pb.Empty,
/**
* @param {!proto.caos.zitadel.management.api.v1.RemoveOrgMemberRequest} request
@@ -4057,13 +4057,13 @@ const methodInfo_ManagementService_RemoveOrgMember = new grpc.web.AbstractClient
* @return {!grpc.web.ClientReadableStream<!proto.google.protobuf.Empty>|undefined}
* The XHR Node Readable Stream
*/
proto.caos.zitadel.management.api.v1.ManagementServiceClient.prototype.removeOrgMember =
proto.caos.zitadel.management.api.v1.ManagementServiceClient.prototype.removeMyOrgMember =
function(request, metadata, callback) {
return this.client_.rpcCall(this.hostname_ +
'/caos.zitadel.management.api.v1.ManagementService/RemoveOrgMember',
'/caos.zitadel.management.api.v1.ManagementService/RemoveMyOrgMember',
request,
metadata || {},
methodDescriptor_ManagementService_RemoveOrgMember,
methodDescriptor_ManagementService_RemoveMyOrgMember,
callback);
};
@@ -4076,13 +4076,13 @@ proto.caos.zitadel.management.api.v1.ManagementServiceClient.prototype.removeOrg
* @return {!Promise<!proto.google.protobuf.Empty>}
* A native promise that resolves to the response
*/
proto.caos.zitadel.management.api.v1.ManagementServicePromiseClient.prototype.removeOrgMember =
proto.caos.zitadel.management.api.v1.ManagementServicePromiseClient.prototype.removeMyOrgMember =
function(request, metadata) {
return this.client_.unaryCall(this.hostname_ +
'/caos.zitadel.management.api.v1.ManagementService/RemoveOrgMember',
'/caos.zitadel.management.api.v1.ManagementService/RemoveMyOrgMember',
request,
metadata || {},
methodDescriptor_ManagementService_RemoveOrgMember);
methodDescriptor_ManagementService_RemoveMyOrgMember);
};
@@ -4092,8 +4092,8 @@ proto.caos.zitadel.management.api.v1.ManagementServicePromiseClient.prototype.re
* !proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest,
* !proto.caos.zitadel.management.api.v1.OrgMemberSearchResponse>}
*/
const methodDescriptor_ManagementService_SearchOrgMembers = new grpc.web.MethodDescriptor(
'/caos.zitadel.management.api.v1.ManagementService/SearchOrgMembers',
const methodDescriptor_ManagementService_SearchMyOrgMembers = new grpc.web.MethodDescriptor(
'/caos.zitadel.management.api.v1.ManagementService/SearchMyOrgMembers',
grpc.web.MethodType.UNARY,
proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest,
proto.caos.zitadel.management.api.v1.OrgMemberSearchResponse,
@@ -4114,7 +4114,7 @@ const methodDescriptor_ManagementService_SearchOrgMembers = new grpc.web.MethodD
* !proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest,
* !proto.caos.zitadel.management.api.v1.OrgMemberSearchResponse>}
*/
const methodInfo_ManagementService_SearchOrgMembers = new grpc.web.AbstractClientBase.MethodInfo(
const methodInfo_ManagementService_SearchMyOrgMembers = new grpc.web.AbstractClientBase.MethodInfo(
proto.caos.zitadel.management.api.v1.OrgMemberSearchResponse,
/**
* @param {!proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest} request
@@ -4137,13 +4137,13 @@ const methodInfo_ManagementService_SearchOrgMembers = new grpc.web.AbstractClien
* @return {!grpc.web.ClientReadableStream<!proto.caos.zitadel.management.api.v1.OrgMemberSearchResponse>|undefined}
* The XHR Node Readable Stream
*/
proto.caos.zitadel.management.api.v1.ManagementServiceClient.prototype.searchOrgMembers =
proto.caos.zitadel.management.api.v1.ManagementServiceClient.prototype.searchMyOrgMembers =
function(request, metadata, callback) {
return this.client_.rpcCall(this.hostname_ +
'/caos.zitadel.management.api.v1.ManagementService/SearchOrgMembers',
'/caos.zitadel.management.api.v1.ManagementService/SearchMyOrgMembers',
request,
metadata || {},
methodDescriptor_ManagementService_SearchOrgMembers,
methodDescriptor_ManagementService_SearchMyOrgMembers,
callback);
};
@@ -4156,13 +4156,13 @@ proto.caos.zitadel.management.api.v1.ManagementServiceClient.prototype.searchOrg
* @return {!Promise<!proto.caos.zitadel.management.api.v1.OrgMemberSearchResponse>}
* A native promise that resolves to the response
*/
proto.caos.zitadel.management.api.v1.ManagementServicePromiseClient.prototype.searchOrgMembers =
proto.caos.zitadel.management.api.v1.ManagementServicePromiseClient.prototype.searchMyOrgMembers =
function(request, metadata) {
return this.client_.unaryCall(this.hostname_ +
'/caos.zitadel.management.api.v1.ManagementService/SearchOrgMembers',
'/caos.zitadel.management.api.v1.ManagementService/SearchMyOrgMembers',
request,
metadata || {},
methodDescriptor_ManagementService_SearchOrgMembers);
methodDescriptor_ManagementService_SearchMyOrgMembers);
};
@@ -4650,13 +4650,13 @@ proto.caos.zitadel.management.api.v1.ManagementServicePromiseClient.prototype.re
* @const
* @type {!grpc.web.MethodDescriptor<
* !proto.caos.zitadel.management.api.v1.ProjectGrantID,
* !proto.caos.zitadel.management.api.v1.ProjectGrant>}
* !proto.caos.zitadel.management.api.v1.GrantedProject>}
*/
const methodDescriptor_ManagementService_GetGrantedProjectGrantByID = new grpc.web.MethodDescriptor(
'/caos.zitadel.management.api.v1.ManagementService/GetGrantedProjectGrantByID',
grpc.web.MethodType.UNARY,
proto.caos.zitadel.management.api.v1.ProjectGrantID,
proto.caos.zitadel.management.api.v1.ProjectGrant,
proto.caos.zitadel.management.api.v1.GrantedProject,
/**
* @param {!proto.caos.zitadel.management.api.v1.ProjectGrantID} request
* @return {!Uint8Array}
@@ -4664,7 +4664,7 @@ const methodDescriptor_ManagementService_GetGrantedProjectGrantByID = new grpc.w
function(request) {
return request.serializeBinary();
},
proto.caos.zitadel.management.api.v1.ProjectGrant.deserializeBinary
proto.caos.zitadel.management.api.v1.GrantedProject.deserializeBinary
);
@@ -4672,10 +4672,10 @@ const methodDescriptor_ManagementService_GetGrantedProjectGrantByID = new grpc.w
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.caos.zitadel.management.api.v1.ProjectGrantID,
* !proto.caos.zitadel.management.api.v1.ProjectGrant>}
* !proto.caos.zitadel.management.api.v1.GrantedProject>}
*/
const methodInfo_ManagementService_GetGrantedProjectGrantByID = new grpc.web.AbstractClientBase.MethodInfo(
proto.caos.zitadel.management.api.v1.ProjectGrant,
proto.caos.zitadel.management.api.v1.GrantedProject,
/**
* @param {!proto.caos.zitadel.management.api.v1.ProjectGrantID} request
* @return {!Uint8Array}
@@ -4683,7 +4683,7 @@ const methodInfo_ManagementService_GetGrantedProjectGrantByID = new grpc.web.Abs
function(request) {
return request.serializeBinary();
},
proto.caos.zitadel.management.api.v1.ProjectGrant.deserializeBinary
proto.caos.zitadel.management.api.v1.GrantedProject.deserializeBinary
);
@@ -4692,9 +4692,9 @@ const methodInfo_ManagementService_GetGrantedProjectGrantByID = new grpc.web.Abs
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.caos.zitadel.management.api.v1.ProjectGrant)}
* @param {function(?grpc.web.Error, ?proto.caos.zitadel.management.api.v1.GrantedProject)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.caos.zitadel.management.api.v1.ProjectGrant>|undefined}
* @return {!grpc.web.ClientReadableStream<!proto.caos.zitadel.management.api.v1.GrantedProject>|undefined}
* The XHR Node Readable Stream
*/
proto.caos.zitadel.management.api.v1.ManagementServiceClient.prototype.getGrantedProjectGrantByID =
@@ -4713,7 +4713,7 @@ proto.caos.zitadel.management.api.v1.ManagementServiceClient.prototype.getGrante
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @return {!Promise<!proto.caos.zitadel.management.api.v1.ProjectGrant>}
* @return {!Promise<!proto.caos.zitadel.management.api.v1.GrantedProject>}
* A native promise that resolves to the response
*/
proto.caos.zitadel.management.api.v1.ManagementServicePromiseClient.prototype.getGrantedProjectGrantByID =

View File

@@ -1630,9 +1630,6 @@ export namespace OrgMember {
}
export class AddOrgMemberRequest extends jspb.Message {
getOrgId(): string;
setOrgId(value: string): void;
getUserId(): string;
setUserId(value: string): void;
@@ -1651,16 +1648,12 @@ export class AddOrgMemberRequest extends jspb.Message {
export namespace AddOrgMemberRequest {
export type AsObject = {
orgId: string,
userId: string,
rolesList: Array<string>,
}
}
export class ChangeOrgMemberRequest extends jspb.Message {
getOrgId(): string;
setOrgId(value: string): void;
getUserId(): string;
setUserId(value: string): void;
@@ -1679,16 +1672,12 @@ export class ChangeOrgMemberRequest extends jspb.Message {
export namespace ChangeOrgMemberRequest {
export type AsObject = {
orgId: string,
userId: string,
rolesList: Array<string>,
}
}
export class RemoveOrgMemberRequest extends jspb.Message {
getOrgId(): string;
setOrgId(value: string): void;
getUserId(): string;
setUserId(value: string): void;
@@ -1702,7 +1691,6 @@ export class RemoveOrgMemberRequest extends jspb.Message {
export namespace RemoveOrgMemberRequest {
export type AsObject = {
orgId: string,
userId: string,
}
}
@@ -1717,10 +1705,10 @@ export class OrgMemberSearchResponse extends jspb.Message {
getTotalResult(): number;
setTotalResult(value: number): void;
getResultList(): Array<OrgMember>;
setResultList(value: Array<OrgMember>): void;
getResultList(): Array<OrgMemberView>;
setResultList(value: Array<OrgMemberView>): void;
clearResultList(): void;
addResult(value?: OrgMember, index?: number): OrgMember;
addResult(value?: OrgMemberView, index?: number): OrgMemberView;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): OrgMemberSearchResponse.AsObject;
@@ -1735,14 +1723,67 @@ export namespace OrgMemberSearchResponse {
offset: number,
limit: number,
totalResult: number,
resultList: Array<OrgMember.AsObject>,
resultList: Array<OrgMemberView.AsObject>,
}
}
export class OrgMemberView extends jspb.Message {
getUserId(): string;
setUserId(value: string): void;
getRolesList(): Array<string>;
setRolesList(value: Array<string>): void;
clearRolesList(): void;
addRoles(value: string, index?: number): void;
getChangeDate(): google_protobuf_timestamp_pb.Timestamp | undefined;
setChangeDate(value?: google_protobuf_timestamp_pb.Timestamp): void;
hasChangeDate(): boolean;
clearChangeDate(): void;
getCreationDate(): google_protobuf_timestamp_pb.Timestamp | undefined;
setCreationDate(value?: google_protobuf_timestamp_pb.Timestamp): void;
hasCreationDate(): boolean;
clearCreationDate(): void;
getSequence(): number;
setSequence(value: number): void;
getUserName(): string;
setUserName(value: string): void;
getEmail(): string;
setEmail(value: string): void;
getFirstName(): string;
setFirstName(value: string): void;
getLastName(): string;
setLastName(value: string): void;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): OrgMemberView.AsObject;
static toObject(includeInstance: boolean, msg: OrgMemberView): OrgMemberView.AsObject;
static serializeBinaryToWriter(message: OrgMemberView, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): OrgMemberView;
static deserializeBinaryFromReader(message: OrgMemberView, reader: jspb.BinaryReader): OrgMemberView;
}
export namespace OrgMemberView {
export type AsObject = {
userId: string,
rolesList: Array<string>,
changeDate?: google_protobuf_timestamp_pb.Timestamp.AsObject,
creationDate?: google_protobuf_timestamp_pb.Timestamp.AsObject,
sequence: number,
userName: string,
email: string,
firstName: string,
lastName: string,
}
}
export class OrgMemberSearchRequest extends jspb.Message {
getOrgId(): string;
setOrgId(value: string): void;
getOffset(): number;
setOffset(value: number): void;
@@ -1764,7 +1805,6 @@ export class OrgMemberSearchRequest extends jspb.Message {
export namespace OrgMemberSearchRequest {
export type AsObject = {
orgId: string,
offset: number,
limit: number,
queriesList: Array<OrgMemberSearchQuery.AsObject>,

View File

@@ -75,6 +75,7 @@ goog.exportSymbol('proto.caos.zitadel.management.api.v1.OrgMemberSearchKey', nul
goog.exportSymbol('proto.caos.zitadel.management.api.v1.OrgMemberSearchQuery', null, global);
goog.exportSymbol('proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest', null, global);
goog.exportSymbol('proto.caos.zitadel.management.api.v1.OrgMemberSearchResponse', null, global);
goog.exportSymbol('proto.caos.zitadel.management.api.v1.OrgMemberView', null, global);
goog.exportSymbol('proto.caos.zitadel.management.api.v1.OrgState', null, global);
goog.exportSymbol('proto.caos.zitadel.management.api.v1.PasswordAgePolicy', null, global);
goog.exportSymbol('proto.caos.zitadel.management.api.v1.PasswordAgePolicyCreate', null, global);
@@ -1225,6 +1226,27 @@ if (goog.DEBUG && !COMPILED) {
*/
proto.caos.zitadel.management.api.v1.OrgMemberSearchResponse.displayName = 'proto.caos.zitadel.management.api.v1.OrgMemberSearchResponse';
}
/**
* Generated by JsPbCodeGenerator.
* @param {Array=} opt_data Optional initial data array, typically from a
* server response, or constructed directly in Javascript. The array is used
* in place and becomes part of the constructed object. It is not cloned.
* If no data is provided, the constructed object will be empty, but still
* valid.
* @extends {jspb.Message}
* @constructor
*/
proto.caos.zitadel.management.api.v1.OrgMemberView = function(opt_data) {
jspb.Message.initialize(this, opt_data, 0, -1, proto.caos.zitadel.management.api.v1.OrgMemberView.repeatedFields_, null);
};
goog.inherits(proto.caos.zitadel.management.api.v1.OrgMemberView, jspb.Message);
if (goog.DEBUG && !COMPILED) {
/**
* @public
* @override
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.displayName = 'proto.caos.zitadel.management.api.v1.OrgMemberView';
}
/**
* Generated by JsPbCodeGenerator.
* @param {Array=} opt_data Optional initial data array, typically from a
@@ -14151,7 +14173,7 @@ proto.caos.zitadel.management.api.v1.OrgMember.prototype.setSequence = function(
* @private {!Array<number>}
* @const
*/
proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.repeatedFields_ = [3];
proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.repeatedFields_ = [2];
@@ -14182,9 +14204,8 @@ proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.prototype.toObject = fu
*/
proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.toObject = function(includeInstance, msg) {
var f, obj = {
orgId: jspb.Message.getFieldWithDefault(msg, 1, ""),
userId: jspb.Message.getFieldWithDefault(msg, 2, ""),
rolesList: jspb.Message.getRepeatedField(msg, 3)
userId: jspb.Message.getFieldWithDefault(msg, 1, ""),
rolesList: jspb.Message.getRepeatedField(msg, 2)
};
if (includeInstance) {
@@ -14222,14 +14243,10 @@ proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.deserializeBinaryFromRe
var field = reader.getFieldNumber();
switch (field) {
case 1:
var value = /** @type {string} */ (reader.readString());
msg.setOrgId(value);
break;
case 2:
var value = /** @type {string} */ (reader.readString());
msg.setUserId(value);
break;
case 3:
case 2:
var value = /** @type {string} */ (reader.readString());
msg.addRoles(value);
break;
@@ -14262,24 +14279,17 @@ proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.prototype.serializeBina
*/
proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.serializeBinaryToWriter = function(message, writer) {
var f = undefined;
f = message.getOrgId();
f = message.getUserId();
if (f.length > 0) {
writer.writeString(
1,
f
);
}
f = message.getUserId();
if (f.length > 0) {
writer.writeString(
2,
f
);
}
f = message.getRolesList();
if (f.length > 0) {
writer.writeRepeatedString(
3,
2,
f
);
}
@@ -14287,47 +14297,32 @@ proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.serializeBinaryToWriter
/**
* optional string org_id = 1;
* optional string user_id = 1;
* @return {string}
*/
proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.prototype.getOrgId = function() {
proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.prototype.getUserId = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};
/** @param {string} value */
proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.prototype.setOrgId = function(value) {
proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.prototype.setUserId = function(value) {
jspb.Message.setProto3StringField(this, 1, value);
};
/**
* optional string user_id = 2;
* @return {string}
*/
proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.prototype.getUserId = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};
/** @param {string} value */
proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.prototype.setUserId = function(value) {
jspb.Message.setProto3StringField(this, 2, value);
};
/**
* repeated string roles = 3;
* repeated string roles = 2;
* @return {!Array<string>}
*/
proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.prototype.getRolesList = function() {
return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));
return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));
};
/** @param {!Array<string>} value */
proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.prototype.setRolesList = function(value) {
jspb.Message.setField(this, 3, value || []);
jspb.Message.setField(this, 2, value || []);
};
@@ -14336,7 +14331,7 @@ proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.prototype.setRolesList
* @param {number=} opt_index
*/
proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.prototype.addRoles = function(value, opt_index) {
jspb.Message.addToRepeatedField(this, 3, value, opt_index);
jspb.Message.addToRepeatedField(this, 2, value, opt_index);
};
@@ -14354,7 +14349,7 @@ proto.caos.zitadel.management.api.v1.AddOrgMemberRequest.prototype.clearRolesLis
* @private {!Array<number>}
* @const
*/
proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest.repeatedFields_ = [3];
proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest.repeatedFields_ = [2];
@@ -14385,9 +14380,8 @@ proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest.prototype.toObject =
*/
proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest.toObject = function(includeInstance, msg) {
var f, obj = {
orgId: jspb.Message.getFieldWithDefault(msg, 1, ""),
userId: jspb.Message.getFieldWithDefault(msg, 2, ""),
rolesList: jspb.Message.getRepeatedField(msg, 3)
userId: jspb.Message.getFieldWithDefault(msg, 1, ""),
rolesList: jspb.Message.getRepeatedField(msg, 2)
};
if (includeInstance) {
@@ -14425,14 +14419,10 @@ proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest.deserializeBinaryFro
var field = reader.getFieldNumber();
switch (field) {
case 1:
var value = /** @type {string} */ (reader.readString());
msg.setOrgId(value);
break;
case 2:
var value = /** @type {string} */ (reader.readString());
msg.setUserId(value);
break;
case 3:
case 2:
var value = /** @type {string} */ (reader.readString());
msg.addRoles(value);
break;
@@ -14465,24 +14455,17 @@ proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest.prototype.serializeB
*/
proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest.serializeBinaryToWriter = function(message, writer) {
var f = undefined;
f = message.getOrgId();
f = message.getUserId();
if (f.length > 0) {
writer.writeString(
1,
f
);
}
f = message.getUserId();
if (f.length > 0) {
writer.writeString(
2,
f
);
}
f = message.getRolesList();
if (f.length > 0) {
writer.writeRepeatedString(
3,
2,
f
);
}
@@ -14490,47 +14473,32 @@ proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest.serializeBinaryToWri
/**
* optional string org_id = 1;
* optional string user_id = 1;
* @return {string}
*/
proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest.prototype.getOrgId = function() {
proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest.prototype.getUserId = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};
/** @param {string} value */
proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest.prototype.setOrgId = function(value) {
proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest.prototype.setUserId = function(value) {
jspb.Message.setProto3StringField(this, 1, value);
};
/**
* optional string user_id = 2;
* @return {string}
*/
proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest.prototype.getUserId = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};
/** @param {string} value */
proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest.prototype.setUserId = function(value) {
jspb.Message.setProto3StringField(this, 2, value);
};
/**
* repeated string roles = 3;
* repeated string roles = 2;
* @return {!Array<string>}
*/
proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest.prototype.getRolesList = function() {
return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));
return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));
};
/** @param {!Array<string>} value */
proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest.prototype.setRolesList = function(value) {
jspb.Message.setField(this, 3, value || []);
jspb.Message.setField(this, 2, value || []);
};
@@ -14539,7 +14507,7 @@ proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest.prototype.setRolesLi
* @param {number=} opt_index
*/
proto.caos.zitadel.management.api.v1.ChangeOrgMemberRequest.prototype.addRoles = function(value, opt_index) {
jspb.Message.addToRepeatedField(this, 3, value, opt_index);
jspb.Message.addToRepeatedField(this, 2, value, opt_index);
};
@@ -14581,8 +14549,7 @@ proto.caos.zitadel.management.api.v1.RemoveOrgMemberRequest.prototype.toObject =
*/
proto.caos.zitadel.management.api.v1.RemoveOrgMemberRequest.toObject = function(includeInstance, msg) {
var f, obj = {
orgId: jspb.Message.getFieldWithDefault(msg, 1, ""),
userId: jspb.Message.getFieldWithDefault(msg, 2, "")
userId: jspb.Message.getFieldWithDefault(msg, 1, "")
};
if (includeInstance) {
@@ -14620,10 +14587,6 @@ proto.caos.zitadel.management.api.v1.RemoveOrgMemberRequest.deserializeBinaryFro
var field = reader.getFieldNumber();
switch (field) {
case 1:
var value = /** @type {string} */ (reader.readString());
msg.setOrgId(value);
break;
case 2:
var value = /** @type {string} */ (reader.readString());
msg.setUserId(value);
break;
@@ -14656,50 +14619,28 @@ proto.caos.zitadel.management.api.v1.RemoveOrgMemberRequest.prototype.serializeB
*/
proto.caos.zitadel.management.api.v1.RemoveOrgMemberRequest.serializeBinaryToWriter = function(message, writer) {
var f = undefined;
f = message.getOrgId();
f = message.getUserId();
if (f.length > 0) {
writer.writeString(
1,
f
);
}
f = message.getUserId();
if (f.length > 0) {
writer.writeString(
2,
f
);
}
};
/**
* optional string org_id = 1;
* optional string user_id = 1;
* @return {string}
*/
proto.caos.zitadel.management.api.v1.RemoveOrgMemberRequest.prototype.getOrgId = function() {
proto.caos.zitadel.management.api.v1.RemoveOrgMemberRequest.prototype.getUserId = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};
/** @param {string} value */
proto.caos.zitadel.management.api.v1.RemoveOrgMemberRequest.prototype.setOrgId = function(value) {
jspb.Message.setProto3StringField(this, 1, value);
};
/**
* optional string user_id = 2;
* @return {string}
*/
proto.caos.zitadel.management.api.v1.RemoveOrgMemberRequest.prototype.getUserId = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};
/** @param {string} value */
proto.caos.zitadel.management.api.v1.RemoveOrgMemberRequest.prototype.setUserId = function(value) {
jspb.Message.setProto3StringField(this, 2, value);
jspb.Message.setProto3StringField(this, 1, value);
};
@@ -14744,7 +14685,7 @@ proto.caos.zitadel.management.api.v1.OrgMemberSearchResponse.toObject = function
limit: jspb.Message.getFieldWithDefault(msg, 2, 0),
totalResult: jspb.Message.getFieldWithDefault(msg, 3, 0),
resultList: jspb.Message.toObjectList(msg.getResultList(),
proto.caos.zitadel.management.api.v1.OrgMember.toObject, includeInstance)
proto.caos.zitadel.management.api.v1.OrgMemberView.toObject, includeInstance)
};
if (includeInstance) {
@@ -14794,8 +14735,8 @@ proto.caos.zitadel.management.api.v1.OrgMemberSearchResponse.deserializeBinaryFr
msg.setTotalResult(value);
break;
case 4:
var value = new proto.caos.zitadel.management.api.v1.OrgMember;
reader.readMessage(value,proto.caos.zitadel.management.api.v1.OrgMember.deserializeBinaryFromReader);
var value = new proto.caos.zitadel.management.api.v1.OrgMemberView;
reader.readMessage(value,proto.caos.zitadel.management.api.v1.OrgMemberView.deserializeBinaryFromReader);
msg.addResult(value);
break;
default:
@@ -14853,7 +14794,7 @@ proto.caos.zitadel.management.api.v1.OrgMemberSearchResponse.serializeBinaryToWr
writer.writeRepeatedMessage(
4,
f,
proto.caos.zitadel.management.api.v1.OrgMember.serializeBinaryToWriter
proto.caos.zitadel.management.api.v1.OrgMemberView.serializeBinaryToWriter
);
}
};
@@ -14905,28 +14846,28 @@ proto.caos.zitadel.management.api.v1.OrgMemberSearchResponse.prototype.setTotalR
/**
* repeated OrgMember result = 4;
* @return {!Array<!proto.caos.zitadel.management.api.v1.OrgMember>}
* repeated OrgMemberView result = 4;
* @return {!Array<!proto.caos.zitadel.management.api.v1.OrgMemberView>}
*/
proto.caos.zitadel.management.api.v1.OrgMemberSearchResponse.prototype.getResultList = function() {
return /** @type{!Array<!proto.caos.zitadel.management.api.v1.OrgMember>} */ (
jspb.Message.getRepeatedWrapperField(this, proto.caos.zitadel.management.api.v1.OrgMember, 4));
return /** @type{!Array<!proto.caos.zitadel.management.api.v1.OrgMemberView>} */ (
jspb.Message.getRepeatedWrapperField(this, proto.caos.zitadel.management.api.v1.OrgMemberView, 4));
};
/** @param {!Array<!proto.caos.zitadel.management.api.v1.OrgMember>} value */
/** @param {!Array<!proto.caos.zitadel.management.api.v1.OrgMemberView>} value */
proto.caos.zitadel.management.api.v1.OrgMemberSearchResponse.prototype.setResultList = function(value) {
jspb.Message.setRepeatedWrapperField(this, 4, value);
};
/**
* @param {!proto.caos.zitadel.management.api.v1.OrgMember=} opt_value
* @param {!proto.caos.zitadel.management.api.v1.OrgMemberView=} opt_value
* @param {number=} opt_index
* @return {!proto.caos.zitadel.management.api.v1.OrgMember}
* @return {!proto.caos.zitadel.management.api.v1.OrgMemberView}
*/
proto.caos.zitadel.management.api.v1.OrgMemberSearchResponse.prototype.addResult = function(opt_value, opt_index) {
return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.caos.zitadel.management.api.v1.OrgMember, opt_index);
return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.caos.zitadel.management.api.v1.OrgMemberView, opt_index);
};
@@ -14944,7 +14885,412 @@ proto.caos.zitadel.management.api.v1.OrgMemberSearchResponse.prototype.clearResu
* @private {!Array<number>}
* @const
*/
proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest.repeatedFields_ = [4];
proto.caos.zitadel.management.api.v1.OrgMemberView.repeatedFields_ = [2];
if (jspb.Message.GENERATE_TO_OBJECT) {
/**
* Creates an object representation of this proto suitable for use in Soy templates.
* Field names that are reserved in JavaScript and will be renamed to pb_name.
* To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
* For the list of reserved names please see:
* com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
* @param {boolean=} opt_includeInstance Whether to include the JSPB instance
* for transitional soy proto support: http://goto/soy-param-migration
* @return {!Object}
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.toObject = function(opt_includeInstance) {
return proto.caos.zitadel.management.api.v1.OrgMemberView.toObject(opt_includeInstance, this);
};
/**
* Static version of the {@see toObject} method.
* @param {boolean|undefined} includeInstance Whether to include the JSPB
* instance for transitional soy proto support:
* http://goto/soy-param-migration
* @param {!proto.caos.zitadel.management.api.v1.OrgMemberView} msg The msg instance to transform.
* @return {!Object}
* @suppress {unusedLocalVariables} f is only used for nested messages
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.toObject = function(includeInstance, msg) {
var f, obj = {
userId: jspb.Message.getFieldWithDefault(msg, 1, ""),
rolesList: jspb.Message.getRepeatedField(msg, 2),
changeDate: (f = msg.getChangeDate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
creationDate: (f = msg.getCreationDate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
sequence: jspb.Message.getFieldWithDefault(msg, 5, 0),
userName: jspb.Message.getFieldWithDefault(msg, 6, ""),
email: jspb.Message.getFieldWithDefault(msg, 7, ""),
firstName: jspb.Message.getFieldWithDefault(msg, 8, ""),
lastName: jspb.Message.getFieldWithDefault(msg, 9, "")
};
if (includeInstance) {
obj.$jspbMessageInstance = msg;
}
return obj;
};
}
/**
* Deserializes binary data (in protobuf wire format).
* @param {jspb.ByteSource} bytes The bytes to deserialize.
* @return {!proto.caos.zitadel.management.api.v1.OrgMemberView}
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.deserializeBinary = function(bytes) {
var reader = new jspb.BinaryReader(bytes);
var msg = new proto.caos.zitadel.management.api.v1.OrgMemberView;
return proto.caos.zitadel.management.api.v1.OrgMemberView.deserializeBinaryFromReader(msg, reader);
};
/**
* Deserializes binary data (in protobuf wire format) from the
* given reader into the given message object.
* @param {!proto.caos.zitadel.management.api.v1.OrgMemberView} msg The message object to deserialize into.
* @param {!jspb.BinaryReader} reader The BinaryReader to use.
* @return {!proto.caos.zitadel.management.api.v1.OrgMemberView}
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.deserializeBinaryFromReader = function(msg, reader) {
while (reader.nextField()) {
if (reader.isEndGroup()) {
break;
}
var field = reader.getFieldNumber();
switch (field) {
case 1:
var value = /** @type {string} */ (reader.readString());
msg.setUserId(value);
break;
case 2:
var value = /** @type {string} */ (reader.readString());
msg.addRoles(value);
break;
case 3:
var value = new google_protobuf_timestamp_pb.Timestamp;
reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
msg.setChangeDate(value);
break;
case 4:
var value = new google_protobuf_timestamp_pb.Timestamp;
reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
msg.setCreationDate(value);
break;
case 5:
var value = /** @type {number} */ (reader.readUint64());
msg.setSequence(value);
break;
case 6:
var value = /** @type {string} */ (reader.readString());
msg.setUserName(value);
break;
case 7:
var value = /** @type {string} */ (reader.readString());
msg.setEmail(value);
break;
case 8:
var value = /** @type {string} */ (reader.readString());
msg.setFirstName(value);
break;
case 9:
var value = /** @type {string} */ (reader.readString());
msg.setLastName(value);
break;
default:
reader.skipField();
break;
}
}
return msg;
};
/**
* Serializes the message to binary data (in protobuf wire format).
* @return {!Uint8Array}
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.serializeBinary = function() {
var writer = new jspb.BinaryWriter();
proto.caos.zitadel.management.api.v1.OrgMemberView.serializeBinaryToWriter(this, writer);
return writer.getResultBuffer();
};
/**
* Serializes the given message to binary data (in protobuf wire
* format), writing to the given BinaryWriter.
* @param {!proto.caos.zitadel.management.api.v1.OrgMemberView} message
* @param {!jspb.BinaryWriter} writer
* @suppress {unusedLocalVariables} f is only used for nested messages
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.serializeBinaryToWriter = function(message, writer) {
var f = undefined;
f = message.getUserId();
if (f.length > 0) {
writer.writeString(
1,
f
);
}
f = message.getRolesList();
if (f.length > 0) {
writer.writeRepeatedString(
2,
f
);
}
f = message.getChangeDate();
if (f != null) {
writer.writeMessage(
3,
f,
google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
);
}
f = message.getCreationDate();
if (f != null) {
writer.writeMessage(
4,
f,
google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
);
}
f = message.getSequence();
if (f !== 0) {
writer.writeUint64(
5,
f
);
}
f = message.getUserName();
if (f.length > 0) {
writer.writeString(
6,
f
);
}
f = message.getEmail();
if (f.length > 0) {
writer.writeString(
7,
f
);
}
f = message.getFirstName();
if (f.length > 0) {
writer.writeString(
8,
f
);
}
f = message.getLastName();
if (f.length > 0) {
writer.writeString(
9,
f
);
}
};
/**
* optional string user_id = 1;
* @return {string}
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.getUserId = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};
/** @param {string} value */
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.setUserId = function(value) {
jspb.Message.setProto3StringField(this, 1, value);
};
/**
* repeated string roles = 2;
* @return {!Array<string>}
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.getRolesList = function() {
return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));
};
/** @param {!Array<string>} value */
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.setRolesList = function(value) {
jspb.Message.setField(this, 2, value || []);
};
/**
* @param {string} value
* @param {number=} opt_index
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.addRoles = function(value, opt_index) {
jspb.Message.addToRepeatedField(this, 2, value, opt_index);
};
/**
* Clears the list making it empty but non-null.
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.clearRolesList = function() {
this.setRolesList([]);
};
/**
* optional google.protobuf.Timestamp change_date = 3;
* @return {?proto.google.protobuf.Timestamp}
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.getChangeDate = function() {
return /** @type{?proto.google.protobuf.Timestamp} */ (
jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 3));
};
/** @param {?proto.google.protobuf.Timestamp|undefined} value */
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.setChangeDate = function(value) {
jspb.Message.setWrapperField(this, 3, value);
};
/**
* Clears the message field making it undefined.
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.clearChangeDate = function() {
this.setChangeDate(undefined);
};
/**
* Returns whether this field is set.
* @return {boolean}
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.hasChangeDate = function() {
return jspb.Message.getField(this, 3) != null;
};
/**
* optional google.protobuf.Timestamp creation_date = 4;
* @return {?proto.google.protobuf.Timestamp}
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.getCreationDate = function() {
return /** @type{?proto.google.protobuf.Timestamp} */ (
jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 4));
};
/** @param {?proto.google.protobuf.Timestamp|undefined} value */
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.setCreationDate = function(value) {
jspb.Message.setWrapperField(this, 4, value);
};
/**
* Clears the message field making it undefined.
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.clearCreationDate = function() {
this.setCreationDate(undefined);
};
/**
* Returns whether this field is set.
* @return {boolean}
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.hasCreationDate = function() {
return jspb.Message.getField(this, 4) != null;
};
/**
* optional uint64 sequence = 5;
* @return {number}
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.getSequence = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
};
/** @param {number} value */
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.setSequence = function(value) {
jspb.Message.setProto3IntField(this, 5, value);
};
/**
* optional string user_name = 6;
* @return {string}
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.getUserName = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
};
/** @param {string} value */
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.setUserName = function(value) {
jspb.Message.setProto3StringField(this, 6, value);
};
/**
* optional string email = 7;
* @return {string}
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.getEmail = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
};
/** @param {string} value */
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.setEmail = function(value) {
jspb.Message.setProto3StringField(this, 7, value);
};
/**
* optional string first_name = 8;
* @return {string}
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.getFirstName = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, ""));
};
/** @param {string} value */
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.setFirstName = function(value) {
jspb.Message.setProto3StringField(this, 8, value);
};
/**
* optional string last_name = 9;
* @return {string}
*/
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.getLastName = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, ""));
};
/** @param {string} value */
proto.caos.zitadel.management.api.v1.OrgMemberView.prototype.setLastName = function(value) {
jspb.Message.setProto3StringField(this, 9, value);
};
/**
* List of repeated fields within this message type.
* @private {!Array<number>}
* @const
*/
proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest.repeatedFields_ = [3];
@@ -14975,9 +15321,8 @@ proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest.prototype.toObject =
*/
proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest.toObject = function(includeInstance, msg) {
var f, obj = {
orgId: jspb.Message.getFieldWithDefault(msg, 1, ""),
offset: jspb.Message.getFieldWithDefault(msg, 2, 0),
limit: jspb.Message.getFieldWithDefault(msg, 3, 0),
offset: jspb.Message.getFieldWithDefault(msg, 1, 0),
limit: jspb.Message.getFieldWithDefault(msg, 2, 0),
queriesList: jspb.Message.toObjectList(msg.getQueriesList(),
proto.caos.zitadel.management.api.v1.OrgMemberSearchQuery.toObject, includeInstance)
};
@@ -15017,18 +15362,14 @@ proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest.deserializeBinaryFro
var field = reader.getFieldNumber();
switch (field) {
case 1:
var value = /** @type {string} */ (reader.readString());
msg.setOrgId(value);
break;
case 2:
var value = /** @type {number} */ (reader.readUint64());
msg.setOffset(value);
break;
case 3:
case 2:
var value = /** @type {number} */ (reader.readUint64());
msg.setLimit(value);
break;
case 4:
case 3:
var value = new proto.caos.zitadel.management.api.v1.OrgMemberSearchQuery;
reader.readMessage(value,proto.caos.zitadel.management.api.v1.OrgMemberSearchQuery.deserializeBinaryFromReader);
msg.addQueries(value);
@@ -15062,31 +15403,24 @@ proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest.prototype.serializeB
*/
proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest.serializeBinaryToWriter = function(message, writer) {
var f = undefined;
f = message.getOrgId();
if (f.length > 0) {
writer.writeString(
1,
f
);
}
f = message.getOffset();
if (f !== 0) {
writer.writeUint64(
2,
1,
f
);
}
f = message.getLimit();
if (f !== 0) {
writer.writeUint64(
3,
2,
f
);
}
f = message.getQueriesList();
if (f.length > 0) {
writer.writeRepeatedMessage(
4,
3,
f,
proto.caos.zitadel.management.api.v1.OrgMemberSearchQuery.serializeBinaryToWriter
);
@@ -15095,63 +15429,48 @@ proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest.serializeBinaryToWri
/**
* optional string org_id = 1;
* @return {string}
*/
proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest.prototype.getOrgId = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};
/** @param {string} value */
proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest.prototype.setOrgId = function(value) {
jspb.Message.setProto3StringField(this, 1, value);
};
/**
* optional uint64 offset = 2;
* optional uint64 offset = 1;
* @return {number}
*/
proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest.prototype.getOffset = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};
/** @param {number} value */
proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest.prototype.setOffset = function(value) {
jspb.Message.setProto3IntField(this, 2, value);
jspb.Message.setProto3IntField(this, 1, value);
};
/**
* optional uint64 limit = 3;
* optional uint64 limit = 2;
* @return {number}
*/
proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest.prototype.getLimit = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};
/** @param {number} value */
proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest.prototype.setLimit = function(value) {
jspb.Message.setProto3IntField(this, 3, value);
jspb.Message.setProto3IntField(this, 2, value);
};
/**
* repeated OrgMemberSearchQuery queries = 4;
* repeated OrgMemberSearchQuery queries = 3;
* @return {!Array<!proto.caos.zitadel.management.api.v1.OrgMemberSearchQuery>}
*/
proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest.prototype.getQueriesList = function() {
return /** @type{!Array<!proto.caos.zitadel.management.api.v1.OrgMemberSearchQuery>} */ (
jspb.Message.getRepeatedWrapperField(this, proto.caos.zitadel.management.api.v1.OrgMemberSearchQuery, 4));
jspb.Message.getRepeatedWrapperField(this, proto.caos.zitadel.management.api.v1.OrgMemberSearchQuery, 3));
};
/** @param {!Array<!proto.caos.zitadel.management.api.v1.OrgMemberSearchQuery>} value */
proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest.prototype.setQueriesList = function(value) {
jspb.Message.setRepeatedWrapperField(this, 4, value);
jspb.Message.setRepeatedWrapperField(this, 3, value);
};
@@ -15161,7 +15480,7 @@ proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest.prototype.setQueries
* @return {!proto.caos.zitadel.management.api.v1.OrgMemberSearchQuery}
*/
proto.caos.zitadel.management.api.v1.OrgMemberSearchRequest.prototype.addQueries = function(opt_value, opt_index) {
return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.caos.zitadel.management.api.v1.OrgMemberSearchQuery, opt_index);
return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.caos.zitadel.management.api.v1.OrgMemberSearchQuery, opt_index);
};

View File

@@ -61,13 +61,12 @@ export class OrgService {
);
}
public async SearchOrgMembers(orgId: string, limit: number, offset: number): Promise<OrgMemberSearchResponse> {
public async SearchMyOrgMembers(limit: number, offset: number): Promise<OrgMemberSearchResponse> {
const req = new OrgMemberSearchRequest();
req.setOrgId(orgId);
req.setLimit(limit);
req.setOffset(offset);
return await this.request(
c => c.searchOrgMembers,
c => c.searchMyOrgMembers,
req,
f => f,
);
@@ -83,26 +82,24 @@ export class OrgService {
);
}
public async AddOrgMember(orgId: string, userId: string, rolesList: string[]): Promise<Empty> {
public async AddMyOrgMember(userId: string, rolesList: string[]): Promise<Empty> {
const req = new AddOrgMemberRequest();
req.setOrgId(orgId);
req.setUserId(userId);
if (rolesList) {
req.setRolesList(rolesList);
}
return await this.request(
c => c.addOrgMember,
c => c.addMyOrgMember,
req,
f => f,
);
}
public async RemoveOrgMember(orgId: string, userId: string): Promise<Empty> {
public async RemoveMyOrgMember(userId: string): Promise<Empty> {
const req = new RemoveOrgMemberRequest();
req.setOrgId(orgId);
req.setUserId(userId);
return await this.request(
c => c.removeOrgMember,
c => c.removeMyOrgMember,
req,
f => f,
);

View File

@@ -10,6 +10,7 @@ import {
ApplicationSearchRequest,
ApplicationSearchResponse,
ApplicationUpdate,
GrantedProject,
GrantedProjectSearchQuery,
GrantedProjectSearchRequest,
GrantedProjectSearchResponse,
@@ -28,6 +29,7 @@ import {
ProjectGrantMemberSearchRequest,
ProjectGrantSearchRequest,
ProjectGrantSearchResponse,
ProjectGrantUpdate,
ProjectID,
ProjectMemberAdd,
ProjectMemberChange,
@@ -111,7 +113,7 @@ export class ProjectService {
);
}
public async GetGrantedProjectGrantByID(projectId: string, id: string): Promise<ProjectGrant> {
public async GetGrantedProjectGrantByID(projectId: string, id: string): Promise<GrantedProject> {
const req = new ProjectGrantID();
req.setId(id);
req.setProjectId(projectId);
@@ -143,6 +145,18 @@ export class ProjectService {
);
}
public async UpdateProjectGrant(id: string, projectId: string, rolesList: string[]): Promise<ProjectGrant> {
const req = new ProjectGrantUpdate();
req.setRoleKeysList(rolesList);
req.setId(id);
req.setProjectId(projectId);
return await this.request(
c => c.updateProjectGrant,
req,
f => f,
);
}
public async ChangeProjectMember(id: string, userId: string, rolesList: string[]): Promise<Empty> {
const req = new ProjectMemberChange();
req.setId(id);
@@ -196,6 +210,18 @@ export class ProjectService {
);
}
public async AddProjectMember(projectId: string, userId: string, rolesList: string[]): Promise<Empty> {
const req = new ProjectMemberAdd();
req.setId(projectId);
req.setUserId(userId);
req.setRolesList(rolesList);
return await this.request(
c => c.addProjectMember,
req,
f => f,
);
}
public async AddProjectGrantMember(
projectId: string,
grantId: string,
@@ -499,16 +525,4 @@ export class ProjectService {
f => f,
);
}
public async AddProjectMember(projectId: string, userId: string, rolesList: string[]): Promise<Empty> {
const req = new ProjectMemberAdd();
req.setId(projectId);
req.setUserId(userId);
req.setRolesList(rolesList);
return await this.request(
c => c.addProjectMember,
req,
f => f,
);
}
}

View File

@@ -286,7 +286,7 @@
"TYPE": {
"TITLE": "Typ",
"0": "unbekannter Typ",
"1": "selbsterstellt",
"1": "in Besitz",
"2": "berechtigt"
},
"NAME": "Name",

View File

@@ -286,7 +286,7 @@
"TYPE": {
"TITLE": "Type",
"0": "unknown type",
"1": "self created",
"1": "owned",
"2": "granted"
},
"NAME": "Name",