diff --git a/cmd/zitadel/system-defaults.yaml b/cmd/zitadel/system-defaults.yaml index 5c3661bc00..9b94f71bc4 100644 --- a/cmd/zitadel/system-defaults.yaml +++ b/cmd/zitadel/system-defaults.yaml @@ -44,6 +44,7 @@ SystemDefaults: IncludeUpperLetters: true IncludeDigits: true IncludeSymbols: false + MachineKeySize: 2048 Multifactors: OTP: Issuer: 'Zitadel' diff --git a/console/src/app/app-routing.module.ts b/console/src/app/app-routing.module.ts index c9c313d8f5..07cb9b6ce2 100644 --- a/console/src/app/app-routing.module.ts +++ b/console/src/app/app-routing.module.ts @@ -34,7 +34,7 @@ const routes: Routes = [ canActivate: [AuthGuard], children: [ { - path: 'all', + path: 'list', loadChildren: () => import('src/app/pages/users/user-list/user-list.module') .then(m => m.UserListModule), canActivate: [RoleGuard], diff --git a/console/src/app/app.component.html b/console/src/app/app.component.html index 911ff1aae4..c98817bf8e 100644 --- a/console/src/app/app.component.html +++ b/console/src/app/app.component.html @@ -117,9 +117,16 @@ - - {{ 'MENU.USER' | translate }} + [routerLink]="[ '/users/list/humans']" [routerLinkActiveOptions]="{ exact: true }"> + + {{ 'MENU.HUMANUSERS' | translate }} + + + + + {{ 'MENU.MACHINEUSERS' | translate }} diff --git a/console/src/app/app.module.ts b/console/src/app/app.module.ts index 8575d15faa..b8814ac06e 100644 --- a/console/src/app/app.module.ts +++ b/console/src/app/app.module.ts @@ -5,6 +5,7 @@ import localeDe from '@angular/common/locales/de'; import { APP_INITIALIZER, NgModule } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { MatCardModule } from '@angular/material/card'; +import { MatNativeDateModule } from '@angular/material/core'; import { MatDialogModule } from '@angular/material/dialog'; import { MatIconModule } from '@angular/material/icon'; import { MatMenuModule } from '@angular/material/menu'; @@ -90,6 +91,7 @@ const authConfig: AuthConfig = { deps: [HttpClient], }, }), + MatNativeDateModule, QuicklinkModule, AccountsCardModule, HasRoleModule, diff --git a/console/src/app/modules/accounts-card/accounts-card.component.html b/console/src/app/modules/accounts-card/accounts-card.component.html index 6c7aa6bf83..32efb56047 100644 --- a/console/src/app/modules/accounts-card/accounts-card.component.html +++ b/console/src/app/modules/accounts-card/accounts-card.component.html @@ -3,7 +3,7 @@ [name]="profile.displayName ? profile.displayName : (profile.firstName + ' '+ profile.lastName)" [size]="80"> - {{profile.displayName ? profile.displayName : profile.userName}} + {{profile.displayName ? profile.displayName : profile.preferredLoginName}} {{profile?.preferredLoginName}} IAM USER diff --git a/console/src/app/modules/search-user-autocomplete/search-user-autocomplete.component.html b/console/src/app/modules/search-user-autocomplete/search-user-autocomplete.component.html index e3a3b6e39e..cf68feb058 100644 --- a/console/src/app/modules/search-user-autocomplete/search-user-autocomplete.component.html +++ b/console/src/app/modules/search-user-autocomplete/search-user-autocomplete.component.html @@ -8,7 +8,9 @@ - {{ selecteduser?.firstName }} {{selecteduser.lastName}} | {{selecteduser.preferredLoginName}} + {{ selecteduser?.human ? (selecteduser.human.firstName + ' ' + selecteduser.human.lastName) : selecteduser?.machine?.name}} + | + {{selecteduser.preferredLoginName}} cancel - {{user.firstName}} {{user.lastName}} + {{user.human? user.human.firstName : user.machine?.name}} {{user.preferredLoginName}} @@ -52,4 +54,4 @@

{{(target == UserTarget.SELF ? 'USER.TARGET.SELF' : 'USER.TARGET.EXTERNAL') | translate}} {{'USER.TARGET.CLICKHERE' | translate}}

- + \ No newline at end of file diff --git a/console/src/app/modules/user-grants/user-grants.component.ts b/console/src/app/modules/user-grants/user-grants.component.ts index 44228a23af..a3e960fe7b 100644 --- a/console/src/app/modules/user-grants/user-grants.component.ts +++ b/console/src/app/modules/user-grants/user-grants.component.ts @@ -84,6 +84,9 @@ export class UserGrantsComponent implements OnInit, AfterViewInit { default: this.routerLink = ['/grant-create']; } + + console.log(this.routerLink); + this.dataSource.loadGrants(this.context, 0, 25, { projectId: this.projectId, grantId: this.grantId, diff --git a/console/src/app/pages/home/home.component.html b/console/src/app/pages/home/home.component.html index c87192054b..c5d8e701b3 100644 --- a/console/src/app/pages/home/home.component.html +++ b/console/src/app/pages/home/home.component.html @@ -86,7 +86,7 @@ diff --git a/console/src/app/pages/iam/iam-members/iam-members.component.ts b/console/src/app/pages/iam/iam-members/iam-members.component.ts index 04024a7a9c..3ea6dca439 100644 --- a/console/src/app/pages/iam/iam-members/iam-members.component.ts +++ b/console/src/app/pages/iam/iam-members/iam-members.component.ts @@ -7,7 +7,7 @@ import { MatTable } from '@angular/material/table'; import { tap } from 'rxjs/operators'; import { CreationType, MemberCreateDialogComponent } from 'src/app/modules/add-member-dialog/member-create-dialog.component'; import { IamMember, IamMemberView } from 'src/app/proto/generated/admin_pb'; -import { ProjectMember, ProjectType, User } from 'src/app/proto/generated/management_pb'; +import { ProjectMember, ProjectType, UserView } from 'src/app/proto/generated/management_pb'; import { AdminService } from 'src/app/services/admin.service'; import { ToastService } from 'src/app/services/toast.service'; @@ -112,7 +112,7 @@ export class IamMembersComponent implements AfterViewInit { dialogRef.afterClosed().subscribe(resp => { if (resp) { - const users: User.AsObject[] = resp.users; + const users: UserView.AsObject[] = resp.users; const roles: string[] = resp.roles; if (users && users.length && roles && roles.length) { diff --git a/console/src/app/pages/iam/iam.component.ts b/console/src/app/pages/iam/iam.component.ts index 20f15426eb..00c8e612e3 100644 --- a/console/src/app/pages/iam/iam.component.ts +++ b/console/src/app/pages/iam/iam.component.ts @@ -4,7 +4,7 @@ import { Router } from '@angular/router'; import { BehaviorSubject, from, Observable, of } from 'rxjs'; import { catchError, finalize, map } from 'rxjs/operators'; import { CreationType, MemberCreateDialogComponent } from 'src/app/modules/add-member-dialog/member-create-dialog.component'; -import { OrgMemberView, User } from 'src/app/proto/generated/management_pb'; +import { OrgMemberView, UserView } from 'src/app/proto/generated/management_pb'; import { AdminService } from 'src/app/services/admin.service'; import { ToastService } from 'src/app/services/toast.service'; @@ -49,7 +49,7 @@ export class IamComponent { dialogRef.afterClosed().subscribe(resp => { if (resp) { - const users: User.AsObject[] = resp.users; + const users: UserView.AsObject[] = resp.users; const roles: string[] = resp.roles; if (users && users.length && roles && roles.length) { diff --git a/console/src/app/pages/orgs/org-create/org-create.component.ts b/console/src/app/pages/orgs/org-create/org-create.component.ts index 81498cdad0..5431a5c85d 100644 --- a/console/src/app/pages/orgs/org-create/org-create.component.ts +++ b/console/src/app/pages/orgs/org-create/org-create.component.ts @@ -6,7 +6,7 @@ import { MatSlideToggleChange } from '@angular/material/slide-toggle'; import { Router } from '@angular/router'; import { take } from 'rxjs/operators'; import { lowerCaseValidator, numberValidator, symbolValidator, upperCaseValidator } from 'src/app/pages/validators'; -import { CreateOrgRequest, CreateUserRequest, Gender, OrgSetUpResponse } from 'src/app/proto/generated/admin_pb'; +import { CreateHumanRequest, CreateOrgRequest, Gender, OrgSetUpResponse } from 'src/app/proto/generated/admin_pb'; import { PasswordComplexityPolicy } from 'src/app/proto/generated/auth_pb'; import { AdminService } from 'src/app/services/admin.service'; import { GrpcAuthService } from 'src/app/services/grpc-auth.service'; @@ -92,21 +92,20 @@ export class OrgCreateComponent { createOrgRequest.setName(this.name?.value); createOrgRequest.setDomain(this.domain?.value); - const registerUserRequest: CreateUserRequest = new CreateUserRequest(); - registerUserRequest.setUserName(this.userName?.value); - registerUserRequest.setEmail(this.email?.value); - registerUserRequest.setFirstName(this.firstName?.value); - registerUserRequest.setLastName(this.lastName?.value); - registerUserRequest.setNickName(this.nickName?.value); - registerUserRequest.setGender(this.gender?.value); - registerUserRequest.setPreferredLanguage(this.preferredLanguage?.value); + const humanRequest: CreateHumanRequest = new CreateHumanRequest(); + humanRequest.setEmail(this.email?.value); + humanRequest.setFirstName(this.firstName?.value); + humanRequest.setLastName(this.lastName?.value); + humanRequest.setNickName(this.nickName?.value); + humanRequest.setGender(this.gender?.value); + humanRequest.setPreferredLanguage(this.preferredLanguage?.value); if (this.usePassword && this.password) { - registerUserRequest.setPassword(this.password?.value); + humanRequest.setPassword(this.password?.value); } this.adminService - .SetUpOrg(createOrgRequest, registerUserRequest) + .SetUpOrg(createOrgRequest, humanRequest) .then((data: OrgSetUpResponse) => { this.router.navigate(['orgs', data.toObject().org?.id]); }) diff --git a/console/src/app/pages/orgs/org-detail/org-detail.component.ts b/console/src/app/pages/orgs/org-detail/org-detail.component.ts index 30810eb2b0..3a06a0e645 100644 --- a/console/src/app/pages/orgs/org-detail/org-detail.component.ts +++ b/console/src/app/pages/orgs/org-detail/org-detail.component.ts @@ -17,7 +17,7 @@ import { OrgMemberSearchResponse, OrgMemberView, OrgState, - User, + UserView, } from 'src/app/proto/generated/management_pb'; import { ManagementService } from 'src/app/services/mgmt.service'; import { ToastService } from 'src/app/services/toast.service'; @@ -163,7 +163,7 @@ export class OrgDetailComponent implements OnInit, OnDestroy { dialogRef.afterClosed().subscribe(resp => { if (resp) { - const users: User.AsObject[] = resp.users; + const users: UserView.AsObject[] = resp.users; const roles: string[] = resp.roles; if (users && users.length && roles && roles.length) { diff --git a/console/src/app/pages/orgs/org-members/org-members.component.ts b/console/src/app/pages/orgs/org-members/org-members.component.ts index 594a3a4d46..5020f5c35b 100644 --- a/console/src/app/pages/orgs/org-members/org-members.component.ts +++ b/console/src/app/pages/orgs/org-members/org-members.component.ts @@ -5,7 +5,7 @@ import { MatPaginator } from '@angular/material/paginator'; import { MatSelectChange } from '@angular/material/select'; import { tap } from 'rxjs/operators'; import { CreationType, MemberCreateDialogComponent } from 'src/app/modules/add-member-dialog/member-create-dialog.component'; -import { Org, OrgMemberView, ProjectType, User } from 'src/app/proto/generated/management_pb'; +import { Org, OrgMemberView, ProjectType, UserView } from 'src/app/proto/generated/management_pb'; import { ManagementService } from 'src/app/services/mgmt.service'; import { ToastService } from 'src/app/services/toast.service'; @@ -107,7 +107,7 @@ export class OrgMembersComponent implements AfterViewInit { dialogRef.afterClosed().subscribe(resp => { if (resp) { - const users: User.AsObject[] = resp.users; + const users: UserView.AsObject[] = resp.users; const roles: string[] = resp.roles; if (users && users.length && roles && roles.length) { diff --git a/console/src/app/pages/projects/granted-projects/granted-project-detail/granted-project-detail.component.ts b/console/src/app/pages/projects/granted-projects/granted-project-detail/granted-project-detail.component.ts index ed98e939a4..daf4edc5b1 100644 --- a/console/src/app/pages/projects/granted-projects/granted-project-detail/granted-project-detail.component.ts +++ b/console/src/app/pages/projects/granted-projects/granted-project-detail/granted-project-detail.component.ts @@ -21,8 +21,8 @@ import { ProjectRoleSearchResponse, ProjectState, ProjectType, - User, UserGrantSearchKey, + UserView, } from 'src/app/proto/generated/management_pb'; import { ManagementService } from 'src/app/services/mgmt.service'; import { ToastService } from 'src/app/services/toast.service'; @@ -140,7 +140,7 @@ export class GrantedProjectDetailComponent implements OnInit, OnDestroy { dialogRef.afterClosed().subscribe(resp => { if (resp) { - const users: User.AsObject[] = resp.users; + const users: UserView.AsObject[] = resp.users; const roles: string[] = resp.roles; if (users && users.length && roles && roles.length) { diff --git a/console/src/app/pages/projects/owned-projects/owned-project-detail/owned-project-detail.component.html b/console/src/app/pages/projects/owned-projects/owned-project-detail/owned-project-detail.component.html index ce854ed822..b87d4ccc5f 100644 --- a/console/src/app/pages/projects/owned-projects/owned-project-detail/owned-project-detail.component.html +++ b/console/src/app/pages/projects/owned-projects/owned-project-detail/owned-project-detail.component.html @@ -21,10 +21,12 @@ - - @@ -87,7 +89,7 @@ diff --git a/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-members/project-grant-members-create-dialog/project-grant-members-create-dialog.component.ts b/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-members/project-grant-members-create-dialog/project-grant-members-create-dialog.component.ts index 0291e2e4bf..8b4cf54773 100644 --- a/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-members/project-grant-members-create-dialog/project-grant-members-create-dialog.component.ts +++ b/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-members/project-grant-members-create-dialog/project-grant-members-create-dialog.component.ts @@ -1,7 +1,7 @@ import { Component, Inject } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -import { User } from 'src/app/proto/generated/management_pb'; +import { UserView } from 'src/app/proto/generated/management_pb'; export interface ProjectGrantMembersCreateDialogExportType { userIds: string[]; @@ -22,7 +22,7 @@ export class ProjectGrantMembersCreateDialogComponent { @Inject(MAT_DIALOG_DATA) public data: any, ) { } - public selectUsers(users: User.AsObject[]): void { + public selectUsers(users: UserView.AsObject[]): void { this.userIds = users.map(user => user.id); } diff --git a/console/src/app/pages/user-grant-create/user-grant-create.component.ts b/console/src/app/pages/user-grant-create/user-grant-create.component.ts index a1e5ce750b..ab69bf9900 100644 --- a/console/src/app/pages/user-grant-create/user-grant-create.component.ts +++ b/console/src/app/pages/user-grant-create/user-grant-create.component.ts @@ -4,7 +4,7 @@ import { ActivatedRoute, Params } from '@angular/router'; import { Subscription } from 'rxjs'; import { UserGrantContext } from 'src/app/modules/user-grants/user-grants-datasource'; import { Org } from 'src/app/proto/generated/auth_pb'; -import { ProjectGrantView, ProjectRole, ProjectView, User, UserGrant } from 'src/app/proto/generated/management_pb'; +import { ProjectGrantView, ProjectRole, ProjectView, UserGrant, UserView } from 'src/app/proto/generated/management_pb'; import { GrpcAuthService } from 'src/app/services/grpc-auth.service'; import { ManagementService } from 'src/app/services/mgmt.service'; import { ToastService } from 'src/app/services/toast.service'; @@ -55,7 +55,7 @@ export class UserGrantCreateComponent implements OnDestroy { this.context = UserGrantContext.GRANTED_PROJECT; this.mgmtService.GetGrantedProjectByID(this.projectId, this.grantId).then(resp => { this.grantRolesKeyList = resp.toObject().roleKeysList; - }).catch(error => { + }).catch((error: any) => { this.toast.showError(error); }); } @@ -80,7 +80,7 @@ export class UserGrantCreateComponent implements OnDestroy { ).then((data: UserGrant) => { this.toast.showInfo('PROJECT.GRANT.TOAST.PROJECTGRANTADDED', true); this.close(); - }).catch(error => { + }).catch((error: any) => { this.toast.showError(error); }); break; @@ -93,7 +93,7 @@ export class UserGrantCreateComponent implements OnDestroy { ).then((data: UserGrant) => { this.toast.showInfo('PROJECT.GRANT.TOAST.PROJECTGRANTUSERGRANTADDED', true); this.close(); - }).catch(error => { + }).catch((error: any) => { this.toast.showError(error); }); break; @@ -105,7 +105,7 @@ export class UserGrantCreateComponent implements OnDestroy { this.projectId = project.projectId; } - public selectUser(user: User.AsObject): void { + public selectUser(user: UserView.AsObject): void { this.userId = user.id; } diff --git a/console/src/app/pages/users/user-create-machine/user-create-machine-routing.module.ts b/console/src/app/pages/users/user-create-machine/user-create-machine-routing.module.ts new file mode 100644 index 0000000000..a10d467b46 --- /dev/null +++ b/console/src/app/pages/users/user-create-machine/user-create-machine-routing.module.ts @@ -0,0 +1,18 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; + +import { UserCreateMachineComponent } from './user-create-machine.component'; + +const routes: Routes = [ + { + path: '', + component: UserCreateMachineComponent, + data: { animation: 'DetailPage' }, + }, +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class UserCreateMachineRoutingModule { } diff --git a/console/src/app/pages/users/user-create-machine/user-create-machine.component.html b/console/src/app/pages/users/user-create-machine/user-create-machine.component.html new file mode 100644 index 0000000000..d0c26b685b --- /dev/null +++ b/console/src/app/pages/users/user-create-machine/user-create-machine.component.html @@ -0,0 +1,34 @@ + + + +
+
+ + {{ 'USER.MACHINE.USERNAME' | translate }} + + + {{ 'USER.VALIDATION.REQUIRED' | translate }} + + + {{ 'USER.VALIDATION.NOEMAIL' | translate }} + + + + {{ 'USER.MACHINE.NAME' | translate }} + + + {{ 'USER.VALIDATION.REQUIRED' | translate }} + + + + {{ 'USER.MACHINE.DESCRIPTION' | translate }} + + +
+
+ +
+
+
\ No newline at end of file diff --git a/console/src/app/pages/users/user-create-machine/user-create-machine.component.scss b/console/src/app/pages/users/user-create-machine/user-create-machine.component.scss new file mode 100644 index 0000000000..e4ce52c669 --- /dev/null +++ b/console/src/app/pages/users/user-create-machine/user-create-machine.component.scss @@ -0,0 +1,33 @@ + +.form { + width: 100%; + padding-top: 1rem; + + .btn-container { + button { + margin-top: 3rem; + display: block; + padding: .5rem 4rem; + border-radius: .5rem; + } + } +} + +.content { + width: 100%; + display: flex wrap; + flex-direction: row; + margin: 0 -.5rem; + + .section { + padding: .5rem; + flex-basis: 100%; + color: #8795a1; + font-size: .9rem; + } + + .formfield { + flex: 1 0 33%; + margin: 0 .5rem; + } +} diff --git a/console/src/app/pages/users/user-create-machine/user-create-machine.component.spec.ts b/console/src/app/pages/users/user-create-machine/user-create-machine.component.spec.ts new file mode 100644 index 0000000000..d9bce16aeb --- /dev/null +++ b/console/src/app/pages/users/user-create-machine/user-create-machine.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { UserCreateMachineComponent } from './user-create-machine.component'; + +describe('UserCreateMachineComponent', () => { + let component: UserCreateMachineComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [UserCreateMachineComponent], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(UserCreateMachineComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/console/src/app/pages/users/user-create-machine/user-create-machine.component.ts b/console/src/app/pages/users/user-create-machine/user-create-machine.component.ts new file mode 100644 index 0000000000..3bd27af15f --- /dev/null +++ b/console/src/app/pages/users/user-create-machine/user-create-machine.component.ts @@ -0,0 +1,100 @@ +import { Component, OnDestroy } from '@angular/core'; +import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { Router } from '@angular/router'; +import { Subscription } from 'rxjs'; +import { CreateMachineRequest } from 'src/app/proto/generated/admin_pb'; +import { UserResponse } from 'src/app/proto/generated/management_pb'; +import { ManagementService } from 'src/app/services/mgmt.service'; +import { ToastService } from 'src/app/services/toast.service'; + +function noEmailValidator(c: AbstractControl): any { + const EMAIL_REGEXP: RegExp = /^((?!@).)*$/gm; + if (!c.parent || !c) { + return; + } + const username = c.parent.get('userName'); + + if (!username) { + return; + } + + return EMAIL_REGEXP.test(username.value) ? null : { + noEmailValidator: { + valid: false, + }, + }; +} + +@Component({ + selector: 'app-user-create-machine', + templateUrl: './user-create-machine.component.html', + styleUrls: ['./user-create-machine.component.scss'], +}) +export class UserCreateMachineComponent implements OnDestroy { + public user: CreateMachineRequest.AsObject = new CreateMachineRequest().toObject(); + public userForm!: FormGroup; + + private sub: Subscription = new Subscription(); + public loading: boolean = false; + + constructor( + private router: Router, + private toast: ToastService, + public userService: ManagementService, + private fb: FormBuilder, + ) { + this.initForm(); + } + + private initForm(): void { + this.userForm = this.fb.group({ + userName: ['', + [ + Validators.required, + Validators.minLength(2), + ], + ], + name: ['', [Validators.required]], + description: ['', []], + }); + } + + public createUser(): void { + this.user = this.userForm.value; + + this.loading = true; + + const machineReq = new CreateMachineRequest(); + machineReq.setDescription(this.description?.value); + machineReq.setName(this.name?.value); + + this.userService + .CreateUserMachine(this.userName?.value, machineReq) + .then((data: UserResponse) => { + this.loading = false; + this.toast.showInfo('USER.TOAST.CREATED', true); + const id = data.getId(); + if (id) { + this.router.navigate(['users', id]); + } + }) + .catch((error: any) => { + this.loading = false; + this.toast.showError(error); + }); + } + + ngOnDestroy(): void { + this.sub.unsubscribe(); + } + + public get name(): AbstractControl | null { + return this.userForm.get('name'); + } + public get description(): AbstractControl | null { + return this.userForm.get('description'); + } + public get userName(): AbstractControl | null { + return this.userForm.get('userName'); + } +} diff --git a/console/src/app/pages/users/user-create-machine/user-create-machine.module.ts b/console/src/app/pages/users/user-create-machine/user-create-machine.module.ts new file mode 100644 index 0000000000..6a809c66f3 --- /dev/null +++ b/console/src/app/pages/users/user-create-machine/user-create-machine.module.ts @@ -0,0 +1,41 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { MatButtonModule } from '@angular/material/button'; +import { MatCheckboxModule } from '@angular/material/checkbox'; +import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatIconModule } from '@angular/material/icon'; +import { MatInputModule } from '@angular/material/input'; +import { MatProgressBarModule } from '@angular/material/progress-bar'; +import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; +import { MatSelectModule } from '@angular/material/select'; +import { MatTooltipModule } from '@angular/material/tooltip'; +import { TranslateModule } from '@ngx-translate/core'; +import { DetailLayoutModule } from 'src/app/modules/detail-layout/detail-layout.module'; + +import { UserCreateMachineRoutingModule } from './user-create-machine-routing.module'; +import { UserCreateMachineComponent } from './user-create-machine.component'; + + + +@NgModule({ + declarations: [UserCreateMachineComponent], + imports: [ + UserCreateMachineRoutingModule, + CommonModule, + FormsModule, + ReactiveFormsModule, + MatInputModule, + MatFormFieldModule, + MatSelectModule, + MatButtonModule, + MatIconModule, + MatProgressSpinnerModule, + MatProgressBarModule, + MatCheckboxModule, + MatTooltipModule, + TranslateModule, + DetailLayoutModule, + ], +}) +export class UserCreateMachineModule { } diff --git a/console/src/app/pages/users/user-create/user-create.component.html b/console/src/app/pages/users/user-create/user-create.component.html index a2d5983471..d1fa70114d 100644 --- a/console/src/app/pages/users/user-create/user-create.component.html +++ b/console/src/app/pages/users/user-create/user-create.component.html @@ -1,4 +1,4 @@ - diff --git a/console/src/app/pages/users/user-create/user-create.component.ts b/console/src/app/pages/users/user-create/user-create.component.ts index db8d41fa8f..13144c153e 100644 --- a/console/src/app/pages/users/user-create/user-create.component.ts +++ b/console/src/app/pages/users/user-create/user-create.component.ts @@ -2,7 +2,7 @@ import { Component, OnDestroy } from '@angular/core'; import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms'; import { Router } from '@angular/router'; import { Subscription } from 'rxjs'; -import { CreateUserRequest, Gender, User } from 'src/app/proto/generated/management_pb'; +import { CreateHumanRequest, CreateUserRequest, Gender, UserResponse } from 'src/app/proto/generated/management_pb'; import { ManagementService } from 'src/app/services/mgmt.service'; import { ToastService } from 'src/app/services/toast.service'; @@ -75,11 +75,6 @@ export class UserCreateComponent implements OnDestroy { gender: [Gender.GENDER_UNSPECIFIED], preferredLanguage: [''], phone: [''], - streetAddress: [''], - postalCode: [''], - locality: [''], - region: [''], - country: [''], }); } @@ -87,9 +82,20 @@ export class UserCreateComponent implements OnDestroy { this.user = this.userForm.value; this.loading = true; + + const humanReq = new CreateHumanRequest(); + humanReq.setFirstName(this.firstName?.value); + humanReq.setLastName(this.lastName?.value); + humanReq.setNickName(this.nickName?.value); + humanReq.setPreferredLanguage(this.preferredLanguage?.value); + humanReq.setEmail(this.email?.value); + humanReq.setPhone(this.phone?.value); + humanReq.setGender(this.gender?.value); + humanReq.setCountry(this.country?.value); + this.userService - .CreateUser(this.user) - .then((data: User) => { + .CreateUserHuman(this.userName?.value, humanReq) + .then((data: UserResponse) => { this.loading = false; this.toast.showInfo('USER.TOAST.CREATED', true); this.router.navigate(['users', data.getId()]); diff --git a/console/src/app/pages/users/user-detail/auth-user-detail/auth-user-detail.component.html b/console/src/app/pages/users/user-detail/auth-user-detail/auth-user-detail.component.html index 15d1e977d3..e3cb0b1c9e 100644 --- a/console/src/app/pages/users/user-detail/auth-user-detail/auth-user-detail.component.html +++ b/console/src/app/pages/users/user-detail/auth-user-detail/auth-user-detail.component.html @@ -22,8 +22,8 @@
- + @@ -51,11 +51,11 @@
- {{user?.email}} - + {{user?.human?.email}} + check_circle_outline - + highlight_off @@ -73,13 +73,14 @@ {{ 'USER.EMAIL' | translate }} - + - +
@@ -88,11 +89,11 @@
- {{user?.phone}} - + {{user?.human?.phone}} + check_circle_outline - + highlight_off @@ -113,16 +114,17 @@ {{ 'USER.PHONE' | translate }} - + - - +
diff --git a/console/src/app/pages/users/user-detail/auth-user-detail/auth-user-detail.component.ts b/console/src/app/pages/users/user-detail/auth-user-detail/auth-user-detail.component.ts index 6aaa9ca1e1..49fccf3739 100644 --- a/console/src/app/pages/users/user-detail/auth-user-detail/auth-user-detail.component.ts +++ b/console/src/app/pages/users/user-detail/auth-user-detail/auth-user-detail.component.ts @@ -53,60 +53,69 @@ export class AuthUserDetailComponent implements OnDestroy { } public saveProfile(profileData: UserProfile.AsObject): void { - this.user.firstName = profileData.firstName; - this.user.lastName = profileData.lastName; - this.user.nickName = profileData.nickName; - this.user.displayName = profileData.displayName; - this.user.gender = profileData.gender; - this.user.preferredLanguage = profileData.preferredLanguage; - this.userService - .SaveMyUserProfile( - this.user.firstName, - this.user.lastName, - this.user.nickName, - this.user.preferredLanguage, - this.user.gender, - ) - .then((data: UserProfile) => { - this.toast.showInfo('USER.TOAST.SAVED', true); - this.user = Object.assign(this.user, data.toObject()); - }) - .catch(error => { - this.toast.showError(error); - }); + if (this.user.human) { + this.user.human.firstName = profileData.firstName; + this.user.human.lastName = profileData.lastName; + this.user.human.nickName = profileData.nickName; + this.user.human.displayName = profileData.displayName; + this.user.human.gender = profileData.gender; + this.user.human.preferredLanguage = profileData.preferredLanguage; + + this.userService + .SaveMyUserProfile( + this.user.human.firstName, + this.user.human.lastName, + this.user.human.nickName, + this.user.human.preferredLanguage, + this.user.human.gender, + ) + .then((data: UserProfile) => { + this.toast.showInfo('USER.TOAST.SAVED', true); + this.user = Object.assign(this.user, data.toObject()); + }) + .catch(error => { + this.toast.showError(error); + }); + } } public saveEmail(): void { this.emailEditState = false; - this.userService - .SaveMyUserEmail(this.user.email).then((data: UserEmail) => { - this.toast.showInfo('USER.TOAST.EMAILSAVED', true); - this.user.email = data.toObject().email; - this.emailEditState = false; - }).catch(error => { - this.toast.showError(error); - this.emailEditState = false; - }); + if (this.user.human) { + this.userService + .SaveMyUserEmail(this.user.human.email).then((data: UserEmail) => { + this.toast.showInfo('USER.TOAST.EMAILSAVED', true); + if (this.user.human) { + this.user.human.email = data.toObject().email; + } + this.emailEditState = false; + }).catch(error => { + this.toast.showError(error); + this.emailEditState = false; + }); + } } public enterCode(): void { - const dialogRef = this.dialog.open(CodeDialogComponent, { - data: { - number: this.user.phone, - }, - width: '400px', - }); + if (this.user.human) { + const dialogRef = this.dialog.open(CodeDialogComponent, { + data: { + number: this.user.human.phone, + }, + width: '400px', + }); - dialogRef.afterClosed().subscribe(code => { - if (code) { - this.userService.VerifyMyUserPhone(code).then(() => { - this.toast.showInfo('USER.TOAST.PHONESAVED', true); - }).catch(error => { - this.toast.showError(error); - }); - } - }); + dialogRef.afterClosed().subscribe(code => { + if (code) { + this.userService.VerifyMyUserPhone(code).then(() => { + this.toast.showInfo('USER.TOAST.PHONESAVED', true); + }).catch(error => { + this.toast.showError(error); + }); + } + }); + } } public changedLanguage(language: string): void { @@ -130,25 +139,33 @@ export class AuthUserDetailComponent implements OnDestroy { } public deletePhone(): void { - this.userService.RemoveMyUserPhone().then(() => { - this.toast.showInfo('USER.TOAST.PHONEREMOVED', true); - this.user.phone = ''; - this.phoneEditState = false; - }).catch(error => { - this.toast.showError(error); - }); + if (this.user.human) { + this.userService.RemoveMyUserPhone().then(() => { + this.toast.showInfo('USER.TOAST.PHONEREMOVED', true); + if (this.user.human) { + this.user.human.phone = ''; + } + this.phoneEditState = false; + }).catch(error => { + this.toast.showError(error); + }); + } } public savePhone(): void { this.phoneEditState = false; - this.userService - .SaveMyUserPhone(this.user.phone).then((data: UserPhone) => { - this.toast.showInfo('USER.TOAST.PHONESAVED', true); - this.user.phone = data.toObject().phone; - this.phoneEditState = false; - }).catch(error => { - this.toast.showError(error); - this.phoneEditState = false; - }); + if (this.user.human) { + this.userService + .SaveMyUserPhone(this.user.human.phone).then((data: UserPhone) => { + this.toast.showInfo('USER.TOAST.PHONESAVED', true); + if (this.user.human) { + this.user.human.phone = data.toObject().phone; + } + this.phoneEditState = false; + }).catch(error => { + this.toast.showError(error); + this.phoneEditState = false; + }); + } } } diff --git a/console/src/app/pages/users/user-detail/detail-form-machine/detail-form-machine.component.html b/console/src/app/pages/users/user-detail/detail-form-machine/detail-form-machine.component.html new file mode 100644 index 0000000000..71b02e2c66 --- /dev/null +++ b/console/src/app/pages/users/user-detail/detail-form-machine/detail-form-machine.component.html @@ -0,0 +1,29 @@ +
+
+ + {{ 'USER.MACHINE.USERNAME' | translate }} + + + {{ 'USER.VALIDATION.REQUIRED' | translate }} + + + {{ 'USER.VALIDATION.NOEMAIL' | translate }} + + + + {{ 'USER.MACHINE.NAME' | translate }} + + + {{ 'USER.VALIDATION.REQUIRED' | translate }} + + + + {{ 'USER.MACHINE.DESCRIPTION' | translate }} + + +
+
+ +
+
\ No newline at end of file diff --git a/console/src/app/pages/users/user-detail/detail-form-machine/detail-form-machine.component.scss b/console/src/app/pages/users/user-detail/detail-form-machine/detail-form-machine.component.scss new file mode 100644 index 0000000000..1e3c555a16 --- /dev/null +++ b/console/src/app/pages/users/user-detail/detail-form-machine/detail-form-machine.component.scss @@ -0,0 +1,21 @@ + +.content { + display: flex; + flex-direction: row; + flex-wrap: wrap; + margin: 0 -.5rem; + + .formfield { + flex: 1 1 33%; + margin: 0 .5rem; + } +} + +.btn-container { + display: flex; + justify-content: flex-end; + + .submit-button { + border-radius: .5rem; + } +} diff --git a/console/src/app/pages/users/user-detail/detail-form-machine/detail-form-machine.component.spec.ts b/console/src/app/pages/users/user-detail/detail-form-machine/detail-form-machine.component.spec.ts new file mode 100644 index 0000000000..d9e122c7bf --- /dev/null +++ b/console/src/app/pages/users/user-detail/detail-form-machine/detail-form-machine.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DetailFormComponent } from './detail-form.component'; + +describe('DetailFormComponent', () => { + let component: DetailFormComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [DetailFormComponent], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(DetailFormComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/console/src/app/pages/users/user-detail/detail-form-machine/detail-form-machine.component.ts b/console/src/app/pages/users/user-detail/detail-form-machine/detail-form-machine.component.ts new file mode 100644 index 0000000000..584ec8f5d4 --- /dev/null +++ b/console/src/app/pages/users/user-detail/detail-form-machine/detail-form-machine.component.ts @@ -0,0 +1,55 @@ +import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; +import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { Subscription } from 'rxjs'; + +import { UserView } from '../../../../proto/generated/management_pb'; + +@Component({ + selector: 'app-detail-form-machine', + templateUrl: './detail-form-machine.component.html', + styleUrls: ['./detail-form-machine.component.scss'], +}) +export class DetailFormMachineComponent implements OnInit, OnDestroy { + @Input() public username!: string; + @Input() public user!: UserView; + @Input() public disabled: boolean = false; + @Output() public submitData: EventEmitter = new EventEmitter(); + + public machineForm!: FormGroup; + + private sub: Subscription = new Subscription(); + + constructor(private fb: FormBuilder) { + this.machineForm = this.fb.group({ + userName: [{ value: '', disabled: true }, [ + Validators.required, + ]], + name: [{ value: '', disabled: true }, Validators.required], + description: [{ value: '', disabled: this.disabled }], + }); + } + + public ngOnInit(): void { + this.machineForm.patchValue({ userName: this.username, ...this.user }); + } + + public ngOnDestroy(): void { + this.sub.unsubscribe(); + } + + public submitForm(): void { + this.submitData.emit(this.machineForm.value); + } + + public get name(): AbstractControl | null { + return this.machineForm.get('name'); + } + + public get description(): AbstractControl | null { + return this.machineForm.get('description'); + } + + public get userName(): AbstractControl | null { + return this.machineForm.get('userName'); + } +} diff --git a/console/src/app/pages/users/user-detail/detail-form-machine/detail-form-machine.module.ts b/console/src/app/pages/users/user-detail/detail-form-machine/detail-form-machine.module.ts new file mode 100644 index 0000000000..43eca9974a --- /dev/null +++ b/console/src/app/pages/users/user-detail/detail-form-machine/detail-form-machine.module.ts @@ -0,0 +1,34 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { MatButtonModule } from '@angular/material/button'; +import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatIconModule } from '@angular/material/icon'; +import { MatInputModule } from '@angular/material/input'; +import { MatSelectModule } from '@angular/material/select'; +import { TranslateModule } from '@ngx-translate/core'; + +import { DetailFormMachineComponent } from './detail-form-machine.component'; + + +@NgModule({ + declarations: [ + DetailFormMachineComponent, + ], + imports: [ + CommonModule, + FormsModule, + ReactiveFormsModule, + TranslateModule, + MatFormFieldModule, + MatInputModule, + MatSelectModule, + MatButtonModule, + MatIconModule, + TranslateModule, + ], + exports: [ + DetailFormMachineComponent, + ], +}) +export class DetailFormMachineModule { } diff --git a/console/src/app/pages/users/user-detail/detail-form/detail-form.component.ts b/console/src/app/pages/users/user-detail/detail-form/detail-form.component.ts index 5b115d383b..fa22ec80f7 100644 --- a/console/src/app/pages/users/user-detail/detail-form/detail-form.component.ts +++ b/console/src/app/pages/users/user-detail/detail-form/detail-form.component.ts @@ -1,8 +1,8 @@ import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms'; import { Subscription } from 'rxjs'; -import { Gender as authGender, UserProfile as authUP } from 'src/app/proto/generated/auth_pb'; -import { Gender as mgmtGender, UserProfile as mgmtUP } from 'src/app/proto/generated/management_pb'; +import { Gender as authGender, UserProfile as authUP, UserView as authUV } from 'src/app/proto/generated/auth_pb'; +import { Gender as mgmtGender, UserProfile as mgmtUP, UserView as mgmtUV } from 'src/app/proto/generated/management_pb'; @Component({ @@ -11,11 +11,12 @@ import { Gender as mgmtGender, UserProfile as mgmtUP } from 'src/app/proto/gener styleUrls: ['./detail-form.component.scss'], }) export class DetailFormComponent implements OnInit, OnDestroy { - @Input() public profile!: mgmtUP | authUP; + @Input() public username!: string; + @Input() public user!: mgmtUV | authUV; @Input() public disabled: boolean = false; @Input() public genders: mgmtGender[] | authGender[] = []; @Input() public languages: string[] = ['de', 'en']; - @Output() public submitData: EventEmitter = new EventEmitter(); + @Output() public submitData: EventEmitter = new EventEmitter(); @Output() public changedLanguage: EventEmitter = new EventEmitter(); public profileForm!: FormGroup; @@ -36,7 +37,7 @@ export class DetailFormComponent implements OnInit, OnDestroy { } public ngOnInit(): void { - this.profileForm.patchValue(this.profile); + this.profileForm.patchValue({ userName: this.username, ...this.user }); if (this.preferredLanguage) { this.sub = this.preferredLanguage.valueChanges.subscribe(value => { @@ -52,9 +53,11 @@ export class DetailFormComponent implements OnInit, OnDestroy { public submitForm(): void { this.submitData.emit(this.profileForm.value); } + public get userName(): AbstractControl | null { return this.profileForm.get('userName'); } + public get firstName(): AbstractControl | null { return this.profileForm.get('firstName'); } diff --git a/console/src/app/pages/users/user-detail/machine-keys/add-key-dialog/add-key-dialog.component.html b/console/src/app/pages/users/user-detail/machine-keys/add-key-dialog/add-key-dialog.component.html new file mode 100644 index 0000000000..85a73f300c --- /dev/null +++ b/console/src/app/pages/users/user-detail/machine-keys/add-key-dialog/add-key-dialog.component.html @@ -0,0 +1,30 @@ +{{'USER.MACHINE.ADD.TITLE' | translate}} +
+

{{'USER.MACHINE.ADD.DESCRIPTION' | translate}}

+ + + {{'USER.MACHINE.TYPE' | translate}} + + + {{'USER.MACHINE.KEYTYPES.'+t | translate}} + + + + + + {{'USER.MACHINE.CHOOSEEXPIRY' | translate}} + + + + +
+
+ + + +
\ No newline at end of file diff --git a/console/src/app/pages/users/user-detail/machine-keys/add-key-dialog/add-key-dialog.component.scss b/console/src/app/pages/users/user-detail/machine-keys/add-key-dialog/add-key-dialog.component.scss new file mode 100644 index 0000000000..91a03f5bc2 --- /dev/null +++ b/console/src/app/pages/users/user-detail/machine-keys/add-key-dialog/add-key-dialog.component.scss @@ -0,0 +1,26 @@ +.title { + font-size: 1.2rem; + margin-top: 0; +} + +.desc { + color: #8795a1; + font-size: .9rem; +} + +.form-field { + width: 100%; +} + +.action { + display: flex; + justify-content: flex-end; + + .ok-button { + margin-left: .5rem; + } + + button { + border-radius: .5rem; + } +} diff --git a/console/src/app/pages/users/user-detail/machine-keys/add-key-dialog/add-key-dialog.component.spec.ts b/console/src/app/pages/users/user-detail/machine-keys/add-key-dialog/add-key-dialog.component.spec.ts new file mode 100644 index 0000000000..b12a1a079a --- /dev/null +++ b/console/src/app/pages/users/user-detail/machine-keys/add-key-dialog/add-key-dialog.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AddKeyDialogComponent } from './add-key-dialog.component'; + +describe('AddKeyDialogComponent', () => { + let component: AddKeyDialogComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [AddKeyDialogComponent], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(AddKeyDialogComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/console/src/app/pages/users/user-detail/machine-keys/add-key-dialog/add-key-dialog.component.ts b/console/src/app/pages/users/user-detail/machine-keys/add-key-dialog/add-key-dialog.component.ts new file mode 100644 index 0000000000..1f8dd0a428 --- /dev/null +++ b/console/src/app/pages/users/user-detail/machine-keys/add-key-dialog/add-key-dialog.component.ts @@ -0,0 +1,32 @@ +import { Component, Inject, OnInit } from '@angular/core'; +import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { MachineKeyType } from 'src/app/proto/generated/management_pb'; + +@Component({ + selector: 'app-add-key-dialog', + templateUrl: './add-key-dialog.component.html', + styleUrls: ['./add-key-dialog.component.scss'], +}) +export class AddKeyDialogComponent implements OnInit { + types: MachineKeyType[] = [ + MachineKeyType.MACHINEKEY_JSON, + ]; + date: any; + public type: MachineKeyType = MachineKeyType.MACHINEKEY_JSON; + + constructor( + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public data: any, + ) { } + + ngOnInit(): void { + } + + public closeDialog(): void { + this.dialogRef.close(false); + } + + public closeDialogWithSuccess(): void { + this.dialogRef.close({ type: this.type, date: this.date }); + } +} diff --git a/console/src/app/pages/users/user-detail/machine-keys/add-key-dialog/add-key-dialog.module.ts b/console/src/app/pages/users/user-detail/machine-keys/add-key-dialog/add-key-dialog.module.ts new file mode 100644 index 0000000000..c11622b995 --- /dev/null +++ b/console/src/app/pages/users/user-detail/machine-keys/add-key-dialog/add-key-dialog.module.ts @@ -0,0 +1,28 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { MatButtonModule } from '@angular/material/button'; +import { MatDatepickerModule } from '@angular/material/datepicker'; +import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatIconModule } from '@angular/material/icon'; +import { MatInputModule } from '@angular/material/input'; +import { MatSelectModule } from '@angular/material/select'; +import { TranslateModule } from '@ngx-translate/core'; + +import { AddKeyDialogComponent } from './add-key-dialog.component'; + +@NgModule({ + declarations: [AddKeyDialogComponent], + imports: [ + CommonModule, + TranslateModule, + MatButtonModule, + MatFormFieldModule, + MatSelectModule, + MatInputModule, + MatIconModule, + FormsModule, + MatDatepickerModule, + ], +}) +export class AddKeyDialogModule { } diff --git a/console/src/app/pages/users/user-detail/machine-keys/machine-keys.component.html b/console/src/app/pages/users/user-detail/machine-keys/machine-keys.component.html new file mode 100644 index 0000000000..fe6dc446d3 --- /dev/null +++ b/console/src/app/pages/users/user-detail/machine-keys/machine-keys.component.html @@ -0,0 +1,65 @@ + + + + + add{{ 'ACTIONS.NEW' | translate }} + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + {{ 'USER.MACHINE.ID' | translate }} {{key?.id}} {{ 'USER.MACHINE.TYPE' | translate }} {{'USER.MACHINE.KEYTYPES.'+key?.type | translate}} {{ 'USER.MACHINE.CREATIONDATE' | translate }} + {{key.creationDate | timestampToDate | localizedDate: 'EEE dd. MMM, HH:mm'}} + {{ 'USER.MACHINE.EXPIRYDATE' | translate }} + {{key.expirationDate | timestampToDate | localizedDate: 'EEE dd. MMM, HH:mm'}} +
+ +
+
\ No newline at end of file diff --git a/console/src/app/pages/users/user-detail/machine-keys/machine-keys.component.scss b/console/src/app/pages/users/user-detail/machine-keys/machine-keys.component.scss new file mode 100644 index 0000000000..0731649888 --- /dev/null +++ b/console/src/app/pages/users/user-detail/machine-keys/machine-keys.component.scss @@ -0,0 +1,39 @@ + +.table-wrapper { + overflow: auto; + + .table, + .paginator { + width: 100%; + + td, + th { + padding: 0 1rem; + + &:first-child { + padding-left: 0; + padding-right: 1rem; + } + + &:last-child { + padding-right: 0; + } + } + + .data-row { + cursor: pointer; + + &:hover { + background-color: #ffffff05; + } + } + } +} + +tr { + outline: none; +} + +.add-button { + border-radius: .5rem; +} diff --git a/console/src/app/pages/users/user-detail/machine-keys/machine-keys.component.spec.ts b/console/src/app/pages/users/user-detail/machine-keys/machine-keys.component.spec.ts new file mode 100644 index 0000000000..753cc94f11 --- /dev/null +++ b/console/src/app/pages/users/user-detail/machine-keys/machine-keys.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { MachineKeysComponent } from './machine-keys.component'; + +describe('MachineKeysComponent', () => { + let component: MachineKeysComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [MachineKeysComponent], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(MachineKeysComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/console/src/app/pages/users/user-detail/machine-keys/machine-keys.component.ts b/console/src/app/pages/users/user-detail/machine-keys/machine-keys.component.ts new file mode 100644 index 0000000000..3bfce2d764 --- /dev/null +++ b/console/src/app/pages/users/user-detail/machine-keys/machine-keys.component.ts @@ -0,0 +1,124 @@ +import { SelectionModel } from '@angular/cdk/collections'; +import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'; +import { MatDialog } from '@angular/material/dialog'; +import { MatPaginator, PageEvent } from '@angular/material/paginator'; +import { MatTableDataSource } from '@angular/material/table'; +import { TranslateService } from '@ngx-translate/core'; +import { Timestamp } from 'google-protobuf/google/protobuf/timestamp_pb'; +import { BehaviorSubject, Observable } from 'rxjs'; +import { MachineKeySearchResponse, MachineKeyType, MachineKeyView } from 'src/app/proto/generated/management_pb'; +import { ManagementService } from 'src/app/services/mgmt.service'; +import { ToastService } from 'src/app/services/toast.service'; + +import { AddKeyDialogComponent } from './add-key-dialog/add-key-dialog.component'; + +@Component({ + selector: 'app-machine-keys', + templateUrl: './machine-keys.component.html', + styleUrls: ['./machine-keys.component.scss'], +}) +export class MachineKeysComponent implements OnInit { + @Input() userId!: string; + @ViewChild(MatPaginator) public paginator!: MatPaginator; + public dataSource: MatTableDataSource = new MatTableDataSource(); + public selection: SelectionModel = new SelectionModel(true, []); + public keyResult!: MachineKeySearchResponse.AsObject; + private loadingSubject: BehaviorSubject = new BehaviorSubject(false); + public loading$: Observable = this.loadingSubject.asObservable(); + @Input() public displayedColumns: string[] = ['select', 'id', 'type', 'creationDate', 'expirationDate']; + + @Output() public changedSelection: EventEmitter> = new EventEmitter(); + + constructor(public translate: TranslateService, private userService: ManagementService, private dialog: MatDialog, + private toast: ToastService) { + this.selection.changed.subscribe(() => { + this.changedSelection.emit(this.selection.selected); + }); + } + + public ngOnInit(): void { + this.getData(10, 0); + } + + + public isAllSelected(): boolean { + const numSelected = this.selection.selected.length; + const numRows = this.dataSource.data.length; + return numSelected === numRows; + } + + public masterToggle(): void { + this.isAllSelected() ? + this.selection.clear() : + this.dataSource.data.forEach(row => this.selection.select(row)); + } + + + public changePage(event: PageEvent): void { + this.getData(event.pageSize, event.pageIndex * event.pageSize); + } + + public deleteSelectedKeys(): void { + Promise.all(this.selection.selected.map(value => { + return this.userService.DeleteMachineKey(value.id, this.userId); + })).then(() => { + this.selection.clear(); + this.toast.showInfo('USER.TOAST.SELECTEDKEYSDELETED', true); + this.getData(10, 0); + }); + } + + public openAddKey(): void { + const dialogRef = this.dialog.open(AddKeyDialogComponent, { + data: {}, + width: '400px', + }); + + dialogRef.afterClosed().subscribe(resp => { + if (resp) { + const type: MachineKeyType = resp.type; + + let date: Timestamp | undefined; + + if (resp.date as Date) { + const ts = new Timestamp(); + + const milliseconds = resp.date.getTime(); + const seconds = Math.abs(milliseconds / 1000); + const nanos = (milliseconds - seconds * 1000) * 1000 * 1000; + ts.setSeconds(seconds); + ts.setNanos(nanos); + date = ts; + console.log(date.toObject()); + } + + if (type) { + console.log(this.userId, type, date); + return this.userService.AddMachineKey(this.userId, type, date).then(() => { + this.toast.showInfo('ORG.TOAST.MEMBERADDED', true); + }).catch((error: any) => { + this.toast.showError(error); + }); + } + } + }); + } + + private async getData(limit: number, offset: number): Promise { + this.loadingSubject.next(true); + + this.userService.SearchMachineKeys(this.userId, limit, offset).then(resp => { + this.keyResult = resp.toObject(); + this.dataSource.data = this.keyResult.resultList; + console.log(this.keyResult.resultList); + this.loadingSubject.next(false); + }).catch((error: any) => { + this.toast.showError(error); + this.loadingSubject.next(false); + }); + } + + public refreshPage(): void { + this.getData(this.paginator.pageSize, this.paginator.pageIndex * this.paginator.pageSize); + } +} diff --git a/console/src/app/pages/users/user-detail/membership-detail/membership-detail.component.html b/console/src/app/pages/users/user-detail/membership-detail/membership-detail.component.html index af2feb27fa..a7e5bb7145 100644 --- a/console/src/app/pages/users/user-detail/membership-detail/membership-detail.component.html +++ b/console/src/app/pages/users/user-detail/membership-detail/membership-detail.component.html @@ -1,14 +1,9 @@ - - add{{ 'ACTIONS.NEW' | translate }} diff --git a/console/src/app/pages/users/user-detail/membership-detail/membership-detail.component.ts b/console/src/app/pages/users/user-detail/membership-detail/membership-detail.component.ts index 5f7eb0d663..bb844b07db 100644 --- a/console/src/app/pages/users/user-detail/membership-detail/membership-detail.component.ts +++ b/console/src/app/pages/users/user-detail/membership-detail/membership-detail.component.ts @@ -6,7 +6,7 @@ import { MatTable } from '@angular/material/table'; import { ActivatedRoute } from '@angular/router'; import { tap } from 'rxjs/operators'; import { CreationType, MemberCreateDialogComponent } from 'src/app/modules/add-member-dialog/member-create-dialog.component'; -import { User, UserMembershipSearchResponse, UserMembershipView, UserView } from 'src/app/proto/generated/management_pb'; +import { UserMembershipSearchResponse, UserMembershipView, UserView } from 'src/app/proto/generated/management_pb'; import { AdminService } from 'src/app/services/admin.service'; import { ManagementService } from 'src/app/services/mgmt.service'; import { ToastService } from 'src/app/services/toast.service'; @@ -124,7 +124,7 @@ export class MembershipDetailComponent implements AfterViewInit { } public createIamMember(response: any): void { - const users: User.AsObject[] = response.users; + const users: UserView.AsObject[] = response.users; const roles: string[] = response.roles; if (users && users.length && roles && roles.length) { @@ -139,7 +139,7 @@ export class MembershipDetailComponent implements AfterViewInit { } private createOrgMember(response: any): void { - const users: User.AsObject[] = response.users; + const users: UserView.AsObject[] = response.users; const roles: string[] = response.roles; if (users && users.length && roles && roles.length) { @@ -154,7 +154,7 @@ export class MembershipDetailComponent implements AfterViewInit { } private createGrantedProjectMember(response: any): void { - const users: User.AsObject[] = response.users; + const users: UserView.AsObject[] = response.users; const roles: string[] = response.roles; if (users && users.length && roles && roles.length) { @@ -174,7 +174,7 @@ export class MembershipDetailComponent implements AfterViewInit { } private createOwnedProjectMember(response: any): void { - const users: User.AsObject[] = response.users; + const users: UserView.AsObject[] = response.users; const roles: string[] = response.roles; if (users && users.length && roles && roles.length) { diff --git a/console/src/app/pages/users/user-detail/user-detail-routing.module.ts b/console/src/app/pages/users/user-detail/user-detail-routing.module.ts index 942235b21f..6658560d2f 100644 --- a/console/src/app/pages/users/user-detail/user-detail-routing.module.ts +++ b/console/src/app/pages/users/user-detail/user-detail-routing.module.ts @@ -16,6 +16,14 @@ const routes: Routes = [ roles: ['user.write'], }, }, + { + path: 'create-machine', + loadChildren: () => import('../user-create-machine/user-create-machine.module').then(m => m.UserCreateMachineModule), + canActivate: [AuthGuard, RoleGuard], + data: { + roles: ['user.write'], + }, + }, { path: 'me', component: AuthUserDetailComponent, diff --git a/console/src/app/pages/users/user-detail/user-detail.module.ts b/console/src/app/pages/users/user-detail/user-detail.module.ts index 1fa9abacff..938ee1d8c6 100644 --- a/console/src/app/pages/users/user-detail/user-detail.module.ts +++ b/console/src/app/pages/users/user-detail/user-detail.module.ts @@ -2,6 +2,7 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; +import { MatCheckboxModule } from '@angular/material/checkbox'; import { MatDialogModule } from '@angular/material/dialog'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatIconModule } from '@angular/material/icon'; @@ -25,13 +26,18 @@ import { RefreshTableModule } from 'src/app/modules/refresh-table/refresh-table. import { SharedModule } from 'src/app/modules/shared/shared.module'; import { UserGrantsModule } from 'src/app/modules/user-grants/user-grants.module'; import { HasRolePipeModule } from 'src/app/pipes/has-role-pipe.module'; +import { LocalizedDatePipeModule } from 'src/app/pipes/localized-date-pipe.module'; +import { TimestampToDatePipeModule } from 'src/app/pipes/timestamp-to-date-pipe.module'; import { AuthUserDetailComponent } from './auth-user-detail/auth-user-detail.component'; import { AuthUserMfaComponent } from './auth-user-detail/auth-user-mfa/auth-user-mfa.component'; import { CodeDialogComponent } from './auth-user-detail/code-dialog/code-dialog.component'; import { DialogOtpComponent } from './auth-user-detail/dialog-otp/dialog-otp.component'; import { ThemeSettingComponent } from './auth-user-detail/theme-setting/theme-setting.component'; +import { DetailFormMachineModule } from './detail-form-machine/detail-form-machine.module'; import { DetailFormModule } from './detail-form/detail-form.module'; +import { AddKeyDialogModule } from './machine-keys/add-key-dialog/add-key-dialog.module'; +import { MachineKeysComponent } from './machine-keys/machine-keys.component'; import { MembershipsComponent } from './memberships/memberships.component'; import { PasswordComponent } from './password/password.component'; import { UserDetailRoutingModule } from './user-detail-routing.module'; @@ -49,6 +55,7 @@ import { UserMfaComponent } from './user-detail/user-mfa/user-mfa.component'; PasswordComponent, CodeDialogComponent, MembershipsComponent, + MachineKeysComponent, ], imports: [ UserDetailRoutingModule, @@ -57,9 +64,12 @@ import { UserMfaComponent } from './user-detail/user-mfa/user-mfa.component'; FormsModule, ReactiveFormsModule, DetailFormModule, + DetailFormMachineModule, MatDialogModule, QRCodeModule, MetaLayoutModule, + AddKeyDialogModule, + MatCheckboxModule, HasRolePipeModule, MatFormFieldModule, UserGrantsModule, @@ -80,6 +90,8 @@ import { UserMfaComponent } from './user-detail/user-mfa/user-mfa.component'; DetailLayoutModule, PasswordComplexityViewModule, MemberCreateDialogModule, + TimestampToDatePipeModule, + LocalizedDatePipeModule, ], }) export class UserDetailModule { } diff --git a/console/src/app/pages/users/user-detail/user-detail/user-detail.component.html b/console/src/app/pages/users/user-detail/user-detail/user-detail.component.html index a189dd71e8..05b0fb529a 100644 --- a/console/src/app/pages/users/user-detail/user-detail/user-detail.component.html +++ b/console/src/app/pages/users/user-detail/user-detail/user-detail.component.html @@ -4,7 +4,7 @@ arrow_back -

{{user?.displayName}}

+

{{user.human ? user.human?.displayName : user.machine?.name}}

@@ -37,14 +37,27 @@
- + + [genders]="genders" [languages]="languages" [username]="user.userName" [user]="user.human" + (submitData)="saveProfile($event)"> + + + + + + + + + -
@@ -65,11 +78,11 @@
- {{user?.email}} - + {{user?.human?.email}} + check_circle_outline - + highlight_off @@ -87,13 +100,15 @@ {{ 'USER.EMAIL' | translate }} - + - +
@@ -102,11 +117,11 @@
- {{user?.phone}} - + {{user?.human?.phone}} + check_circle_outline - + highlight_off @@ -125,22 +140,24 @@ {{ 'USER.PHONE' | translate }} - + - - +
- + diff --git a/console/src/app/pages/users/user-detail/user-detail/user-detail.component.ts b/console/src/app/pages/users/user-detail/user-detail/user-detail.component.ts index 23965093b6..fa1f45093b 100644 --- a/console/src/app/pages/users/user-detail/user-detail/user-detail.component.ts +++ b/console/src/app/pages/users/user-detail/user-detail/user-detail.component.ts @@ -6,6 +6,8 @@ import { Subscription } from 'rxjs'; import { ChangeType } from 'src/app/modules/changes/changes.component'; import { Gender, + MachineResponse, + MachineView, NotificationType, UserEmail, UserPhone, @@ -79,27 +81,48 @@ export class UserDetailComponent implements OnInit, OnDestroy { } public saveProfile(profileData: UserProfile.AsObject): void { - this.user.firstName = profileData.firstName; - this.user.lastName = profileData.lastName; - this.user.nickName = profileData.nickName; - this.user.displayName = profileData.displayName; - this.user.gender = profileData.gender; - this.user.preferredLanguage = profileData.preferredLanguage; - this.mgmtUserService - .SaveUserProfile( - this.user.id, - this.user.firstName, - this.user.lastName, - this.user.nickName, - this.user.preferredLanguage, - this.user.gender) - .then((data: UserProfile) => { - this.toast.showInfo('USER.TOAST.SAVED', true); - this.user = Object.assign(this.user, data.toObject()); - }) - .catch(error => { - this.toast.showError(error); - }); + if (this.user.human) { + this.user.human.firstName = profileData.firstName; + this.user.human.lastName = profileData.lastName; + this.user.human.nickName = profileData.nickName; + this.user.human.displayName = profileData.displayName; + this.user.human.gender = profileData.gender; + this.user.human.preferredLanguage = profileData.preferredLanguage; + this.mgmtUserService + .SaveUserProfile( + this.user.id, + this.user.human.firstName, + this.user.human.lastName, + this.user.human.nickName, + this.user.human.preferredLanguage, + this.user.human.gender) + .then((data: UserProfile) => { + this.toast.showInfo('USER.TOAST.SAVED', true); + this.user = Object.assign(this.user, data.toObject()); + }) + .catch(error => { + this.toast.showError(error); + }); + } + } + + public saveMachine(machineData: MachineView.AsObject): void { + if (this.user.machine) { + this.user.machine.name = machineData.name; + this.user.machine.description = machineData.description; + + this.mgmtUserService + .UpdateUserMachine( + this.user.id, + this.user.machine.description) + .then((data: MachineResponse) => { + this.toast.showInfo('USER.TOAST.SAVED', true); + this.user = Object.assign(this.user, data.toObject()); + }) + .catch(error => { + this.toast.showError(error); + }); + } } public resendVerification(): void { @@ -121,7 +144,9 @@ export class UserDetailComponent implements OnInit, OnDestroy { public deletePhone(): void { this.mgmtUserService.RemoveUserPhone(this.user.id).then(() => { this.toast.showInfo('USER.TOAST.PHONEREMOVED', true); - this.user.phone = ''; + if (this.user.human) { + this.user.human.phone = ''; + } this.phoneEditState = false; }).catch(error => { this.toast.showError(error); @@ -130,25 +155,33 @@ export class UserDetailComponent implements OnInit, OnDestroy { public saveEmail(): void { this.emailEditState = false; - this.mgmtUserService - .SaveUserEmail(this.user.id, this.user.email).then((data: UserEmail) => { - this.toast.showInfo('USER.TOAST.EMAILSENT', true); - this.user.email = data.toObject().email; - }).catch(error => { - this.toast.showError(error); - }); + if (this.user && this.user.human?.phone) { + this.mgmtUserService + .SaveUserEmail(this.user.id, this.user.human.email).then((data: UserEmail) => { + this.toast.showInfo('USER.TOAST.EMAILSENT', true); + if (this.user.human) { + this.user.human.email = data.toObject().email; + } + }).catch(error => { + this.toast.showError(error); + }); + } } public savePhone(): void { this.phoneEditState = false; - this.mgmtUserService - .SaveUserPhone(this.user.id, this.user.phone).then((data: UserPhone) => { - this.toast.showInfo('USER.TOAST.PHONESAVED', true); - this.user.phone = data.toObject().phone; - this.phoneEditState = false; - }).catch(error => { - this.toast.showError(error); - }); + if (this.user && this.user.human?.phone) { + this.mgmtUserService + .SaveUserPhone(this.user.id, this.user.human.phone).then((data: UserPhone) => { + this.toast.showInfo('USER.TOAST.PHONESAVED', true); + if (this.user.human) { + this.user.human.phone = data.toObject().phone; + } + this.phoneEditState = false; + }).catch(error => { + this.toast.showError(error); + }); + } } public navigateBack(): void { diff --git a/console/src/app/pages/users/user-list/user-list-routing.module.ts b/console/src/app/pages/users/user-list/user-list-routing.module.ts index 552596a07e..17b5b60039 100644 --- a/console/src/app/pages/users/user-list/user-list-routing.module.ts +++ b/console/src/app/pages/users/user-list/user-list-routing.module.ts @@ -1,14 +1,25 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { UserListComponent } from './user-list.component'; +import { UserListComponent, UserType } from './user-list.component'; const routes: Routes = [ { - path: '', + path: 'humans', component: UserListComponent, - data: { animation: 'HomePage' }, + data: { + animation: 'HomePage', + type: UserType.HUMAN, + }, + }, + { + path: 'machines', + component: UserListComponent, + data: { + animation: 'HomePage', + type: UserType.MACHINE, + }, }, ]; diff --git a/console/src/app/pages/users/user-list/user-list.component.html b/console/src/app/pages/users/user-list/user-list.component.html index a5c29e5e7c..2195f2c0a1 100644 --- a/console/src/app/pages/users/user-list/user-list.component.html +++ b/console/src/app/pages/users/user-list/user-list.component.html @@ -1,74 +1,17 @@ -
-

{{ 'USER.PAGES.LIST' | translate }}

-

{{ 'USER.PAGES.DESCRIPTION' | translate }}

+
+ +

{{ 'USER.PAGES.LIST' | translate }}

+

{{ 'USER.PAGES.DESCRIPTION' | translate }}

- - - - - - add{{ 'ACTIONS.NEW' | translate }} - - + +
-
- - - - - + +

{{ 'USER.PAGES.LISTMACHINE' | translate }}

+

{{ 'USER.PAGES.DESCRIPTIONMACHINE' | translate }}

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - {{ 'USER.PROFILE.FIRSTNAME' | translate }} {{user.firstName}} {{ 'USER.PROFILE.LASTNAME' | translate }} {{user.lastName}} {{ 'USER.PROFILE.USERNAME' | translate }} {{user.userName}} {{ 'USER.EMAIL' | translate }} {{user.email}} {{ 'USER.DATA.STATE' | translate }} {{ 'USER.DATA.STATE'+user.state | translate }}
- -
- + + +
\ No newline at end of file diff --git a/console/src/app/pages/users/user-list/user-list.component.scss b/console/src/app/pages/users/user-list/user-list.component.scss index 7132b5adc8..b0b77cc35b 100644 --- a/console/src/app/pages/users/user-list/user-list.component.scss +++ b/console/src/app/pages/users/user-list/user-list.component.scss @@ -6,42 +6,3 @@ h1 { color: #8795a1; margin-bottom: 2rem; } - -.add-button { - border-radius: .5rem; -} - -.table-wrapper { - overflow: auto; - - .table, - .paginator { - width: 100%; - - td, - th { - padding: 0 1rem; - - &:first-child { - padding-left: 0; - padding-right: 1rem; - } - - &:last-child { - padding-right: 0; - } - } - - .data-row { - cursor: pointer; - - &:hover { - background-color: #ffffff05; - } - } - } -} - -tr { - outline: none; -} diff --git a/console/src/app/pages/users/user-list/user-list.component.ts b/console/src/app/pages/users/user-list/user-list.component.ts index 5950622b1c..9372c42131 100644 --- a/console/src/app/pages/users/user-list/user-list.component.ts +++ b/console/src/app/pages/users/user-list/user-list.component.ts @@ -1,91 +1,24 @@ -import { SelectionModel } from '@angular/cdk/collections'; -import { Component, EventEmitter, OnDestroy, Output, ViewChild } from '@angular/core'; -import { MatPaginator, PageEvent } from '@angular/material/paginator'; -import { MatTableDataSource } from '@angular/material/table'; +import { Component } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { BehaviorSubject, Observable, Subscription } from 'rxjs'; -import { User, UserSearchResponse } from 'src/app/proto/generated/management_pb'; -import { ManagementService } from 'src/app/services/mgmt.service'; -import { ToastService } from 'src/app/services/toast.service'; +import { take } from 'rxjs/operators'; +export enum UserType { + HUMAN = 'human', + MACHINE = 'machine', +} @Component({ selector: 'app-user-list', templateUrl: './user-list.component.html', styleUrls: ['./user-list.component.scss'], }) -export class UserListComponent implements OnDestroy { - @ViewChild(MatPaginator) public paginator!: MatPaginator; - public dataSource: MatTableDataSource = new MatTableDataSource(); - public userResult!: UserSearchResponse.AsObject; - private loadingSubject: BehaviorSubject = new BehaviorSubject(false); - public loading$: Observable = this.loadingSubject.asObservable(); - public displayedColumns: string[] = ['select', 'firstname', 'lastname', 'username', 'email', 'state']; - public selection: SelectionModel = new SelectionModel(true, []); - @Output() public changedSelection: EventEmitter> = new EventEmitter(); - - private subscription?: Subscription; - - constructor(public translate: TranslateService, private route: ActivatedRoute, private userService: ManagementService, - private toast: ToastService) { - this.subscription = this.route.params.subscribe(() => this.getData(10, 0)); - - this.selection.changed.subscribe(() => { - this.changedSelection.emit(this.selection.selected); +export class UserListComponent { + public UserType: any = UserType; + public type: UserType = UserType.HUMAN; + constructor(public translate: TranslateService, activatedRoute: ActivatedRoute) { + activatedRoute.data.pipe(take(1)).subscribe(params => { + const { type } = params; + this.type = type; }); } - - public isAllSelected(): boolean { - const numSelected = this.selection.selected.length; - const numRows = this.dataSource.data.length; - return numSelected === numRows; - } - - public masterToggle(): void { - this.isAllSelected() ? - this.selection.clear() : - this.dataSource.data.forEach(row => this.selection.select(row)); - } - - public ngOnDestroy(): void { - this.subscription?.unsubscribe(); - } - - public changePage(event: PageEvent): void { - this.getData(event.pageSize, event.pageIndex * event.pageSize); - } - - public deactivateSelectedUsers(): void { - Promise.all(this.selection.selected.map(value => { - return this.userService.DeactivateUser(value.id); - })).then(() => { - this.toast.showInfo('USER.TOAST.SELECTEDDEACTIVATED', true); - this.getData(10, 0); - }); - } - - public reactivateSelectedUsers(): void { - Promise.all(this.selection.selected.map(value => { - return this.userService.ReactivateUser(value.id); - })).then(() => { - this.toast.showInfo('USER.TOAST.SELECTEDREACTIVATED', true); - this.getData(10, 0); - }); - } - - private async getData(limit: number, offset: number): Promise { - this.loadingSubject.next(true); - this.userService.SearchUsers(limit, offset).then(resp => { - this.userResult = resp.toObject(); - this.dataSource.data = this.userResult.resultList; - this.loadingSubject.next(false); - }).catch(error => { - this.toast.showError(error); - this.loadingSubject.next(false); - }); - } - - public refreshPage(): void { - this.getData(this.paginator.pageSize, this.paginator.pageIndex * this.paginator.pageSize); - } } diff --git a/console/src/app/pages/users/user-list/user-list.module.ts b/console/src/app/pages/users/user-list/user-list.module.ts index 8504d54511..892d85171f 100644 --- a/console/src/app/pages/users/user-list/user-list.module.ts +++ b/console/src/app/pages/users/user-list/user-list.module.ts @@ -18,11 +18,13 @@ import { SharedModule } from 'src/app/modules/shared/shared.module'; import { UserListRoutingModule } from './user-list-routing.module'; import { UserListComponent } from './user-list.component'; +import { UserTableComponent } from './user-table/user-table.component'; @NgModule({ declarations: [ UserListComponent, + UserTableComponent, ], imports: [ AvatarModule, diff --git a/console/src/app/pages/users/user-list/user-table/user-table.component.html b/console/src/app/pages/users/user-list/user-table/user-table.component.html new file mode 100644 index 0000000000..6c4523fc2a --- /dev/null +++ b/console/src/app/pages/users/user-list/user-table/user-table.component.html @@ -0,0 +1,80 @@ + + + + + + add{{ 'ACTIONS.NEW' | translate }} + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + {{ 'USER.PROFILE.FIRSTNAME' | translate }} {{user[userType]?.firstName}} {{ 'USER.PROFILE.LASTNAME' | translate }} {{user[userType]?.lastName}} {{ 'USER.MACHINE.NAME' | translate }} {{user[userType]?.name}} {{ 'USER.MACHINE.DESCRIPTION' | translate }} {{user[userType]?.description}} {{ 'USER.PROFILE.USERNAME' | translate }} {{user.userName}} {{ 'USER.EMAIL' | translate }} {{user[userType]?.email}} {{ 'USER.DATA.STATE' | translate }} {{ 'USER.DATA.STATE'+user.state | translate }}
+ +
+
\ No newline at end of file diff --git a/console/src/app/pages/users/user-list/user-table/user-table.component.scss b/console/src/app/pages/users/user-list/user-table/user-table.component.scss new file mode 100644 index 0000000000..0731649888 --- /dev/null +++ b/console/src/app/pages/users/user-list/user-table/user-table.component.scss @@ -0,0 +1,39 @@ + +.table-wrapper { + overflow: auto; + + .table, + .paginator { + width: 100%; + + td, + th { + padding: 0 1rem; + + &:first-child { + padding-left: 0; + padding-right: 1rem; + } + + &:last-child { + padding-right: 0; + } + } + + .data-row { + cursor: pointer; + + &:hover { + background-color: #ffffff05; + } + } + } +} + +tr { + outline: none; +} + +.add-button { + border-radius: .5rem; +} diff --git a/console/src/app/pages/users/user-list/user-table/user-table.component.spec.ts b/console/src/app/pages/users/user-list/user-table/user-table.component.spec.ts new file mode 100644 index 0000000000..fa2beed5a3 --- /dev/null +++ b/console/src/app/pages/users/user-list/user-table/user-table.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { UserTableComponent } from './user-table.component'; + +describe('UserTableComponent', () => { + let component: UserTableComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [UserTableComponent], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(UserTableComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/console/src/app/pages/users/user-list/user-table/user-table.component.ts b/console/src/app/pages/users/user-list/user-table/user-table.component.ts new file mode 100644 index 0000000000..b1c281a24b --- /dev/null +++ b/console/src/app/pages/users/user-list/user-table/user-table.component.ts @@ -0,0 +1,98 @@ +import { SelectionModel } from '@angular/cdk/collections'; +import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'; +import { MatPaginator, PageEvent } from '@angular/material/paginator'; +import { MatTableDataSource } from '@angular/material/table'; +import { TranslateService } from '@ngx-translate/core'; +import { BehaviorSubject, Observable } from 'rxjs'; +import { UserView } from 'src/app/proto/generated/auth_pb'; +import { UserSearchKey, UserSearchQuery, UserSearchResponse } from 'src/app/proto/generated/management_pb'; +import { ManagementService } from 'src/app/services/mgmt.service'; +import { ToastService } from 'src/app/services/toast.service'; + +import { UserType } from '../user-list.component'; + +@Component({ + selector: 'app-user-table', + templateUrl: './user-table.component.html', + styleUrls: ['./user-table.component.scss'], +}) +export class UserTableComponent implements OnInit { + public UserType: any = UserType; + @Input() userType: UserType = UserType.HUMAN; + @ViewChild(MatPaginator) public paginator!: MatPaginator; + public dataSource: MatTableDataSource = new MatTableDataSource(); + public selection: SelectionModel = new SelectionModel(true, []); + public userResult!: UserSearchResponse.AsObject; + private loadingSubject: BehaviorSubject = new BehaviorSubject(false); + public loading$: Observable = this.loadingSubject.asObservable(); + @Input() public displayedColumns: string[] = ['select', 'firstname', 'lastname', 'username', 'email', 'state']; + + @Output() public changedSelection: EventEmitter> = new EventEmitter(); + + constructor(public translate: TranslateService, private userService: ManagementService, + private toast: ToastService) { + this.selection.changed.subscribe(() => { + this.changedSelection.emit(this.selection.selected); + }); + } + + ngOnInit(): void { + this.getData(10, 0, this.userType); + } + + public isAllSelected(): boolean { + const numSelected = this.selection.selected.length; + const numRows = this.dataSource.data.length; + return numSelected === numRows; + } + + public masterToggle(): void { + this.isAllSelected() ? + this.selection.clear() : + this.dataSource.data.forEach(row => this.selection.select(row)); + } + + + public changePage(event: PageEvent): void { + this.getData(event.pageSize, event.pageIndex * event.pageSize, this.userType); + } + + public deactivateSelectedUsers(): void { + Promise.all(this.selection.selected.map(value => { + return this.userService.DeactivateUser(value.id); + })).then(() => { + this.toast.showInfo('USER.TOAST.SELECTEDDEACTIVATED', true); + this.getData(10, 0, this.userType); + }); + } + + public reactivateSelectedUsers(): void { + Promise.all(this.selection.selected.map(value => { + return this.userService.ReactivateUser(value.id); + })).then(() => { + this.toast.showInfo('USER.TOAST.SELECTEDREACTIVATED', true); + this.getData(10, 0, this.userType); + }); + } + + private async getData(limit: number, offset: number, filterTypeValue: UserType): Promise { + this.loadingSubject.next(true); + const query = new UserSearchQuery(); + query.setKey(UserSearchKey.USERSEARCHKEY_TYPE); + query.setValue(filterTypeValue); + + this.userService.SearchUsers(limit, offset).then(resp => { + this.userResult = resp.toObject(); + this.dataSource.data = this.userResult.resultList; + console.log(this.userResult.resultList); + this.loadingSubject.next(false); + }).catch(error => { + this.toast.showError(error); + this.loadingSubject.next(false); + }); + } + + public refreshPage(): void { + this.getData(this.paginator.pageSize, this.paginator.pageIndex * this.paginator.pageSize, this.userType); + } +} diff --git a/console/src/app/services/admin.service.ts b/console/src/app/services/admin.service.ts index 06b49af1b3..373f84416e 100644 --- a/console/src/app/services/admin.service.ts +++ b/console/src/app/services/admin.service.ts @@ -4,6 +4,7 @@ import { Empty } from 'google-protobuf/google/protobuf/empty_pb'; import { AddIamMemberRequest, ChangeIamMemberRequest, + CreateHumanRequest, CreateOrgRequest, CreateUserRequest, FailedEventID, @@ -32,12 +33,15 @@ export class AdminService { public async SetUpOrg( createOrgRequest: CreateOrgRequest, - registerUserRequest: CreateUserRequest, + humanRequest: CreateHumanRequest, ): Promise { const req: OrgSetUpRequest = new OrgSetUpRequest(); + const userReq: CreateUserRequest = new CreateUserRequest(); + + userReq.setHuman(humanRequest); req.setOrg(createOrgRequest); - req.setUser(registerUserRequest); + req.setUser(userReq); return this.grpcService.admin.setUpOrg(req); } diff --git a/console/src/app/services/mgmt.service.ts b/console/src/app/services/mgmt.service.ts index d27b29a03b..293284c3e1 100644 --- a/console/src/app/services/mgmt.service.ts +++ b/console/src/app/services/mgmt.service.ts @@ -1,7 +1,10 @@ import { Injectable } from '@angular/core'; import { Empty } from 'google-protobuf/google/protobuf/empty_pb'; +import { Timestamp } from 'google-protobuf/google/protobuf/timestamp_pb'; import { + AddMachineKeyRequest, + AddMachineKeyResponse, AddOrgDomainRequest, AddOrgMemberRequest, Application, @@ -14,12 +17,19 @@ import { ChangeOrgMemberRequest, ChangeRequest, Changes, + CreateHumanRequest, + CreateMachineRequest, CreateUserRequest, Domain, Gender, GrantedProjectSearchRequest, Iam, LoginName, + MachineKeyIDRequest, + MachineKeySearchRequest, + MachineKeySearchResponse, + MachineKeyType, + MachineResponse, MultiFactors, NotificationType, OIDCApplicationCreate, @@ -35,7 +45,6 @@ import { OrgDomainValidationResponse, OrgDomainValidationType, OrgIamPolicy, - OrgID, OrgMember, OrgMemberRoles, OrgMemberSearchRequest, @@ -95,11 +104,11 @@ import { RemoveOrgDomainRequest, RemoveOrgMemberRequest, SetPasswordNotificationRequest, + UpdateMachineRequest, UpdateUserAddressRequest, UpdateUserEmailRequest, UpdateUserPhoneRequest, UpdateUserProfileRequest, - User, UserAddress, UserEmail, UserGrant, @@ -117,6 +126,7 @@ import { UserMembershipSearchResponse, UserPhone, UserProfile, + UserResponse, UserSearchQuery, UserSearchRequest, UserSearchResponse, @@ -134,6 +144,77 @@ export type ResponseMapper = (resp: TResp) => TMappedResp; export class ManagementService { constructor(private readonly grpcService: GrpcService) { } + public async CreateUserHuman(username: string, user: CreateHumanRequest): Promise { + const req = new CreateUserRequest(); + + req.setUserName(username); + req.setHuman(user); + + return this.grpcService.mgmt.createUser(req); + } + + public async CreateUserMachine(username: string, user: CreateMachineRequest): Promise { + const req = new CreateUserRequest(); + + req.setUserName(username); + req.setMachine(user); + + return this.grpcService.mgmt.createUser(req); + } + + public async UpdateUserMachine( + id: string, + description?: string, + ): Promise { + const req = new UpdateMachineRequest(); + req.setId(id); + if (description) { + req.setDescription(description); + } + return this.grpcService.mgmt.updateUserMachine(req); + } + + public async AddMachineKey( + userId: string, + type: MachineKeyType, + date?: Timestamp, + ): Promise { + const req = new AddMachineKeyRequest(); + req.setType(type); + req.setUserId(userId); + if (date) { + req.setExpirationDate(date); + } + return this.grpcService.mgmt.addMachineKey(req); + } + + public async DeleteMachineKey( + keyId: string, + userId: string, + ): Promise { + const req = new MachineKeyIDRequest(); + req.setKeyId(keyId); + req.setUserId(userId); + + return this.grpcService.mgmt.deleteMachineKey(req); + } + + public async SearchMachineKeys( + userId: string, + limit: number, + offset: number, + asc?: boolean, + ): Promise { + const req = new MachineKeySearchRequest(); + req.setUserId(userId); + req.setLimit(limit); + req.setOffset(offset); + if (asc) { + req.setAsc(asc); + } + return this.grpcService.mgmt.searchMachineKeys(req); + } + public async GetIam(): Promise { const req = new Empty(); return this.grpcService.mgmt.getIam(req); @@ -238,7 +319,7 @@ export class ManagementService { } public async ReactivateMyOrg(): Promise { - const req = new OrgID(); + const req = new Empty(); return this.grpcService.mgmt.reactivateMyOrg(req); } @@ -400,25 +481,6 @@ export class ManagementService { } } - public async CreateUser(user: CreateUserRequest.AsObject): Promise { - const req = new CreateUserRequest(); - req.setEmail(user.email); - req.setUserName(user.userName); - req.setFirstName(user.firstName); - req.setLastName(user.lastName); - req.setNickName(user.nickName); - req.setPassword(user.password); - req.setPreferredLanguage(user.preferredLanguage); - req.setGender(user.gender); - req.setPhone(user.phone); - req.setStreetAddress(user.streetAddress); - req.setPostalCode(user.postalCode); - req.setLocality(user.locality); - req.setRegion(user.region); - req.setCountry(user.country); - return this.grpcService.mgmt.createUser(req); - } - public async GetUserByID(id: string): Promise { const req = new UserID(); req.setId(id); @@ -525,7 +587,7 @@ export class ManagementService { return this.grpcService.mgmt.removeUserPhone(req); } - public async DeactivateUser(id: string): Promise { + public async DeactivateUser(id: string): Promise { const req = new UserID(); req.setId(id); return this.grpcService.mgmt.deactivateUser(req); @@ -545,7 +607,8 @@ export class ManagementService { return this.grpcService.mgmt.createUserGrant(req); } - public async ReactivateUser(id: string): Promise { + + public async ReactivateUser(id: string): Promise { const req = new UserID(); req.setId(id); return this.grpcService.mgmt.reactivateUser(req); diff --git a/console/src/assets/i18n/de.json b/console/src/assets/i18n/de.json index aad426938d..5138d364bd 100644 --- a/console/src/assets/i18n/de.json +++ b/console/src/assets/i18n/de.json @@ -30,7 +30,8 @@ "PROJECT": "Projekte", "GRANTEDPROJECT":"Berechtigte Projekte", "USERSECTION":"Benutzersektion", - "USER": "Benutzer", + "HUMANUSERS": "Benutzer", + "MACHINEUSERS":"Service Benutzer", "LOGOUT": "Alle Benutzer abmelden", "NEWORG":"Neue Organisation", "IAMADMIN":"Du bist ein IAM Administrator. Achtung du hast erhöhte Rechte!", @@ -73,6 +74,8 @@ "LIST": "Benutzer", "TITLE": "Benutzer", "DESCRIPTION": "Erfasse und verwalte die Benutzer in deiner Organisation", + "LISTMACHINE": "Service Benutzer", + "DESCRIPTIONMACHINE": "Erfassen und verwalten Sie die Service Benutzer Ihrer Organisation", "DETAIL": "Detail", "CREATE": "Erstellen", "MY": "Meine Informationen", @@ -143,6 +146,26 @@ "GENDER": "Geschlecht", "PASSWORD":"Passwort" }, + "MACHINE": { + "TITLE":"Service Benutzer Details", + "USERNAME":"Benutzername", + "NAME":"Name", + "DESCRIPTION":"Beschreibung", + "KEYSTITLE":"Schlüssel", + "KEYSDESC":"Definieren Sie Ihre Schlüssel mit einem optionalen Ablaufdatum", + "ID":"Schlüssel Id", + "TYPE":"Typ", + "EXPIRYDATE":"Ablaufdatum", + "CHOOSEEXPIRY":"Definieren Sie ein Ablaufdatum", + "CREATIONDATE":"Erstelldatum", + "ADD": { + "TITLE":"Schlüssel hinzufügen", + "DESCRIPTION":"Wählen Sie den Typ und selektieren Sie ein optionales Ablaufdatum." + }, + "KEYTYPES": { + "1":"JSON" + } + }, "PASSWORD": { "TITLE": "Passwort", "DESCRIPTION": "Gib das neue Password unter Einhaltung der Richtlinie für die Komplexität ein.", @@ -226,7 +249,8 @@ "REACTIVATED":"User reaktiviert!", "DEACTIVATED":"User deaktiviert!", "SELECTEDREACTIVATED":"Selektierte User reaktiviert!", - "SELECTEDDEACTIVATED":"Selektierte User deaktiviert!" + "SELECTEDDEACTIVATED":"Selektierte Benutzer deaktiviert!", + "SELECTEDKEYSDELETED":"Selektierte Schlüssel gelöscht!" }, "MEMBERSHIPS": { "TITLE":"Zitadel Manager Rollen", diff --git a/console/src/assets/i18n/en.json b/console/src/assets/i18n/en.json index 08bf2692d6..286ba1b312 100644 --- a/console/src/assets/i18n/en.json +++ b/console/src/assets/i18n/en.json @@ -30,7 +30,8 @@ "PROJECT": "Projects", "GRANTEDPROJECT":"Granted Projects", "USERSECTION":"user section", - "USER": "Users", + "HUMANUSERS": "Users", + "MACHINEUSERS":"Service Users", "LOGOUT": "Logout all users", "NEWORG":"New Organisation", "IAMADMIN":"You are an IAM Administrator. Note that you have extended permissions!", @@ -73,6 +74,8 @@ "LIST": "Users", "TITLE": "User", "DESCRIPTION": "Create new user in your organisation and manage existing ones.", + "LISTMACHINE": "Service Users", + "DESCRIPTIONMACHINE": "Create and manage Service Users of your organisation", "DETAIL": "Detail", "CREATE": "Create", "MY": "My Informations", @@ -143,6 +146,26 @@ "GENDER": "Gender", "PASSWORD":"Password" }, + "MACHINE": { + "TITLE":"Service User Details", + "USERNAME":"Username", + "NAME":"Name", + "DESCRIPTION":"Description", + "KEYSTITLE":"Keys", + "KEYSDESC":"Define your keys and add an optional expiration date.", + "ID":"Key Id", + "TYPE":"Type", + "EXPIRYDATE":"Expiration date", + "CHOOSEEXPIRY":"Select an expiration Date", + "CREATIONDATE":"Creation Date", + "ADD": { + "TITLE":"Add Key", + "DESCRIPTION":"Select your key type and choose an optional expiry date." + }, + "KEYTYPES": { + "1":"JSON" + } + }, "PASSWORD": { "TITLE": "Password", "DESCRIPTION": "Enter the new password according to the policy below.", @@ -226,7 +249,8 @@ "REACTIVATED":"User reactivated", "DEACTIVATED":"User deactivated", "SELECTEDREACTIVATED":"Selected Users reactivated", - "SELECTEDDEACTIVATED":"Selected Users deactivated" + "SELECTEDDEACTIVATED":"Selected Users deactivated", + "SELECTEDKEYSDELETED":"Selected Keys deleted!" }, "MEMBERSHIPS": { "TITLE":"Zitadel Manager Roles", diff --git a/go.mod b/go.mod index 0055655ec5..5e936e1570 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( github.com/caos/oidc v0.7.4 github.com/census-instrumentation/opencensus-proto v0.3.0 // indirect github.com/cockroachdb/cockroach-go/v2 v2.0.5 - github.com/envoyproxy/protoc-gen-validate v0.4.0 + github.com/envoyproxy/protoc-gen-validate v0.4.1 github.com/ghodss/yaml v1.0.0 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b github.com/golang/mock v1.4.4 diff --git a/go.sum b/go.sum index f5c1790c06..91e6c05023 100644 --- a/go.sum +++ b/go.sum @@ -103,8 +103,8 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0 h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v0.4.0 h1:0Hedkeb8AtERQoi/wLDxdMr6iOU4g6Mw0RfB2IEpEhk= -github.com/envoyproxy/protoc-gen-validate v0.4.0/go.mod h1:amr46FC2KZvleZB2VXz+QeQDF+iIKKjQimiDrtp1rYA= +github.com/envoyproxy/protoc-gen-validate v0.4.1 h1:7dLaJvASGRD7X49jSCSXXHwKPm0ZN9r9kJD+p+vS7dM= +github.com/envoyproxy/protoc-gen-validate v0.4.1/go.mod h1:E+IEazqdaWv3FrnGtZIu3b9fPFMK8AzeTTrk9SfVwWs= github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DPaBjB8zlTR87/ElzFsnQfuHnVUVqpZZIcV5Y= github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= @@ -278,6 +278,7 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3 github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= @@ -292,7 +293,7 @@ github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.4.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.8.0 h1:9xohqzkUwzR4Ga4ivdTcawVS89YSDVxXMa3xJX3cGzg= github.com/lib/pq v1.8.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lyft/protoc-gen-star v0.4.10/go.mod h1:mE8fbna26u7aEA2QCVvvfBU/ZrPgocG1206xAFPcs94= +github.com/lyft/protoc-gen-star v0.5.1/go.mod h1:9toiA3cC7z5uVbODF7kEQ91Xn7XNFkVUl+SrEe+ZORU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.7 h1:bQGKb3vps/j0E9GfJQ03JyhRuxsvdAanXlT9BTw3mdw= @@ -320,6 +321,7 @@ github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFSt github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pquerna/otp v1.2.0 h1:/A3+Jn+cagqayeR3iHs/L62m5ue7710D35zl1zJ1kok= @@ -345,7 +347,8 @@ github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sony/sonyflake v1.0.0 h1:MpU6Ro7tfXwgn2l5eluf9xQvQJDROTBImNCfRXn/YeM= github.com/sony/sonyflake v1.0.0/go.mod h1:Jv3cfhf/UFtolOTTRd3q4Nl6ENqM+KfyZ5PseKfZGF4= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.3.4/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= diff --git a/internal/admin/repository/eventsourcing/handler/iam_member.go b/internal/admin/repository/eventsourcing/handler/iam_member.go index b54f23f287..f5c39d9b7a 100644 --- a/internal/admin/repository/eventsourcing/handler/iam_member.go +++ b/internal/admin/repository/eventsourcing/handler/iam_member.go @@ -82,7 +82,10 @@ func (m *IamMember) processIamMember(event *models.Event) (err error) { func (m *IamMember) processUser(event *models.Event) (err error) { switch event.Type { case usr_es_model.UserProfileChanged, - usr_es_model.UserEmailChanged: + usr_es_model.UserEmailChanged, + usr_es_model.HumanProfileChanged, + usr_es_model.HumanEmailChanged, + usr_es_model.MachineChanged: members, err := m.view.IAMMembersByUserID(event.AggregateID) if err != nil { return err @@ -115,10 +118,15 @@ func (m *IamMember) fillData(member *iam_model.IAMMemberView) (err error) { func (m *IamMember) fillUserData(member *iam_model.IAMMemberView, user *usr_model.User) { member.UserName = user.UserName - member.FirstName = user.FirstName - member.LastName = user.LastName - member.Email = user.EmailAddress - member.DisplayName = user.DisplayName + if user.Human != nil { + member.FirstName = user.FirstName + member.LastName = user.LastName + member.DisplayName = user.FirstName + " " + user.LastName + member.Email = user.EmailAddress + } + if user.Machine != nil { + member.DisplayName = user.Machine.Name + } } func (m *IamMember) OnError(event *models.Event, err error) error { logging.LogWithFields("SPOOL-Ld9ow", "id", event.AggregateID).WithError(err).Warn("something went wrong in iammember handler") diff --git a/internal/admin/repository/eventsourcing/handler/user.go b/internal/admin/repository/eventsourcing/handler/user.go index 0340e48189..e60e18219d 100644 --- a/internal/admin/repository/eventsourcing/handler/user.go +++ b/internal/admin/repository/eventsourcing/handler/user.go @@ -55,7 +55,10 @@ func (u *User) ProcessUser(event *models.Event) (err error) { user := new(view_model.UserView) switch event.Type { case es_model.UserAdded, - es_model.UserRegistered: + es_model.UserRegistered, + es_model.HumanRegistered, + es_model.MachineAdded, + es_model.HumanAdded: err = user.AppendEvent(event) if err != nil { return err @@ -72,9 +75,20 @@ func (u *User) ProcessUser(event *models.Event) (err error) { es_model.UserReactivated, es_model.UserLocked, es_model.UserUnlocked, - es_model.MfaOtpAdded, - es_model.MfaOtpVerified, - es_model.MfaOtpRemoved: + es_model.MFAOTPAdded, + es_model.MFAOTPVerified, + es_model.MFAOTPRemoved, + es_model.HumanProfileChanged, + es_model.HumanEmailChanged, + es_model.HumanEmailVerified, + es_model.HumanPhoneChanged, + es_model.HumanPhoneVerified, + es_model.HumanPhoneRemoved, + es_model.HumanAddressChanged, + es_model.HumanMFAOTPAdded, + es_model.HumanMFAOTPVerified, + es_model.HumanMFAOTPRemoved, + es_model.MachineChanged: user, err = u.view.UserByID(event.AggregateID) if err != nil { return err @@ -173,6 +187,6 @@ func (u *User) fillLoginNames(user *view_model.UserView) (err error) { } func (u *User) OnError(event *models.Event, err error) error { - logging.LogWithFields("SPOOL-is8wa", "id", event.AggregateID).WithError(err).Warn("something went wrong in user handler") + logging.LogWithFields("SPOOL-vLmwQ", "id", event.AggregateID).WithError(err).Warn("something went wrong in user handler") return spooler.HandleError(event, err, u.view.GetLatestUserFailedEvent, u.view.ProcessedUserFailedEvent, u.view.ProcessedUserSequence, u.errorCountUntilSkip) } diff --git a/internal/api/authz/permissions.go b/internal/api/authz/permissions.go index 4b3a287faf..3af78f49a6 100644 --- a/internal/api/authz/permissions.go +++ b/internal/api/authz/permissions.go @@ -59,9 +59,9 @@ func addRoleContextIDToPerm(perm, roleContextID string) string { return perm } -func ExistsPerm(existing []string, perm string) bool { - for _, e := range existing { - if e == perm { +func ExistsPerm(existingPermissions []string, perm string) bool { + for _, existingPermission := range existingPermissions { + if existingPermission == perm { return true } } diff --git a/internal/api/authz/permissions_test.go b/internal/api/authz/permissions_test.go index d40fb21d29..92e4407706 100644 --- a/internal/api/authz/permissions_test.go +++ b/internal/api/authz/permissions_test.go @@ -419,8 +419,8 @@ func Test_AddRoleContextIDToPerm(t *testing.T) { func Test_ExistisPerm(t *testing.T) { type args struct { - existing []string - perm string + existingPermissions []string + perm string } tests := []struct { name string @@ -430,23 +430,23 @@ func Test_ExistisPerm(t *testing.T) { { name: "not existing perm", args: args{ - existing: []string{"perm1", "perm2", "perm3"}, - perm: "perm4", + existingPermissions: []string{"perm1", "perm2", "perm3"}, + perm: "perm4", }, result: false, }, { name: "existing perm", args: args{ - existing: []string{"perm1", "perm2", "perm3"}, - perm: "perm2", + existingPermissions: []string{"perm1", "perm2", "perm3"}, + perm: "perm2", }, result: true, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - result := ExistsPerm(tt.args.existing, tt.args.perm) + result := ExistsPerm(tt.args.existingPermissions, tt.args.perm) if result != tt.result { t.Errorf("got wrong result, expecting: %v, actual: %v ", tt.result, result) } diff --git a/internal/api/grpc/admin/org_converter.go b/internal/api/grpc/admin/org_converter.go index 796bfed4ff..7b88bf1d1f 100644 --- a/internal/api/grpc/admin/org_converter.go +++ b/internal/api/grpc/admin/org_converter.go @@ -3,7 +3,6 @@ package admin import ( "github.com/caos/logging" "github.com/golang/protobuf/ptypes" - "golang.org/x/text/language" admin_model "github.com/caos/zitadel/internal/admin/model" "github.com/caos/zitadel/internal/eventstore/models" @@ -32,39 +31,6 @@ func orgCreateRequestToModel(org *admin.CreateOrgRequest) *org_model.Org { return o } -func userCreateRequestToModel(user *admin.CreateUserRequest) *usr_model.User { - preferredLanguage, err := language.Parse(user.PreferredLanguage) - logging.Log("GRPC-30hwz").OnError(err).Debug("unable to parse language") - result := &usr_model.User{ - Profile: &usr_model.Profile{ - UserName: user.UserName, - FirstName: user.FirstName, - LastName: user.LastName, - NickName: user.NickName, - PreferredLanguage: preferredLanguage, - Gender: genderToModel(user.Gender), - }, - Password: &usr_model.Password{ - SecretString: user.Password, - }, - Email: &usr_model.Email{ - EmailAddress: user.Email, - IsEmailVerified: user.IsEmailVerified, - }, - Address: &usr_model.Address{ - Country: user.Country, - Locality: user.Locality, - PostalCode: user.PostalCode, - Region: user.Region, - StreetAddress: user.StreetAddress, - }, - } - if user.Phone != "" { - result.Phone = &usr_model.Phone{PhoneNumber: user.Phone, IsPhoneVerified: user.IsPhoneVerified} - } - return result -} - func setUpOrgResponseFromModel(setUp *admin_model.SetupOrg) *admin.OrgSetUpResponse { return &admin.OrgSetUpResponse{ Org: orgFromModel(setUp.Org), @@ -126,45 +92,6 @@ func orgViewFromModel(org *org_model.OrgView) *admin.Org { } } -func userFromModel(user *usr_model.User) *admin.User { - creationDate, err := ptypes.TimestampProto(user.CreationDate) - logging.Log("GRPC-8duwe").OnError(err).Debug("unable to parse timestamp") - - changeDate, err := ptypes.TimestampProto(user.ChangeDate) - logging.Log("GRPC-ckoe3d").OnError(err).Debug("unable to parse timestamp") - - converted := &admin.User{ - Id: user.AggregateID, - State: userStateFromModel(user.State), - CreationDate: creationDate, - ChangeDate: changeDate, - Sequence: user.Sequence, - UserName: user.UserName, - FirstName: user.FirstName, - LastName: user.LastName, - DisplayName: user.DisplayName, - NickName: user.NickName, - PreferredLanguage: user.PreferredLanguage.String(), - Gender: genderFromModel(user.Gender), - } - if user.Email != nil { - converted.Email = user.EmailAddress - converted.IsEmailVerified = user.IsEmailVerified - } - if user.Phone != nil { - converted.Phone = user.PhoneNumber - converted.IsPhoneVerified = user.IsPhoneVerified - } - if user.Address != nil { - converted.Country = user.Country - converted.Locality = user.Locality - converted.PostalCode = user.PostalCode - converted.Region = user.Region - converted.StreetAddress = user.StreetAddress - } - return converted -} - func orgStateFromModel(state org_model.OrgState) admin.OrgState { switch state { case org_model.OrgStateActive: @@ -247,7 +174,7 @@ func orgQueryKeyToModel(key admin.OrgSearchKey) org_model.OrgSearchKey { switch key { case admin.OrgSearchKey_ORGSEARCHKEY_DOMAIN: return org_model.OrgSearchKeyOrgDomain - case admin.OrgSearchKey_ORGSEARCHKEY_ORG_NAME: + case admin.OrgSearchKey_ORGSEARCHKEY_NAME: return org_model.OrgSearchKeyOrgName case admin.OrgSearchKey_ORGSEARCHKEY_STATE: return org_model.OrgSearchKeyState diff --git a/internal/api/grpc/admin/user_converter.go b/internal/api/grpc/admin/user_converter.go new file mode 100644 index 0000000000..c8ce2accc1 --- /dev/null +++ b/internal/api/grpc/admin/user_converter.go @@ -0,0 +1,128 @@ +package admin + +import ( + "github.com/caos/logging" + usr_model "github.com/caos/zitadel/internal/user/model" + "github.com/caos/zitadel/pkg/grpc/admin" + "github.com/golang/protobuf/ptypes" + "golang.org/x/text/language" +) + +func userCreateRequestToModel(user *admin.CreateUserRequest) *usr_model.User { + var human *usr_model.Human + var machine *usr_model.Machine + + if h := user.GetHuman(); h != nil { + human = humanCreateToModel(h) + } + if m := user.GetMachine(); m != nil { + machine = machineCreateToModel(m) + } + + return &usr_model.User{ + UserName: user.UserName, + Human: human, + Machine: machine, + } +} + +func humanCreateToModel(u *admin.CreateHumanRequest) *usr_model.Human { + preferredLanguage, err := language.Parse(u.PreferredLanguage) + logging.Log("GRPC-1ouQc").OnError(err).Debug("language malformed") + + human := &usr_model.Human{ + Profile: &usr_model.Profile{ + FirstName: u.FirstName, + LastName: u.LastName, + NickName: u.NickName, + PreferredLanguage: preferredLanguage, + Gender: genderToModel(u.Gender), + }, + Email: &usr_model.Email{ + EmailAddress: u.Email, + IsEmailVerified: u.IsEmailVerified, + }, + Address: &usr_model.Address{ + Country: u.Country, + Locality: u.Locality, + PostalCode: u.PostalCode, + Region: u.Region, + StreetAddress: u.StreetAddress, + }, + } + if u.Password != "" { + human.Password = &usr_model.Password{SecretString: u.Password} + } + if u.Phone != "" { + human.Phone = &usr_model.Phone{PhoneNumber: u.Phone, IsPhoneVerified: u.IsPhoneVerified} + } + return human +} + +func machineCreateToModel(machine *admin.CreateMachineRequest) *usr_model.Machine { + return &usr_model.Machine{ + Name: machine.Name, + Description: machine.Description, + } +} + +func userFromModel(user *usr_model.User) *admin.UserResponse { + creationDate, err := ptypes.TimestampProto(user.CreationDate) + logging.Log("GRPC-yo0FW").OnError(err).Debug("unable to parse timestamp") + + changeDate, err := ptypes.TimestampProto(user.ChangeDate) + logging.Log("GRPC-jxoQr").OnError(err).Debug("unable to parse timestamp") + + userResp := &admin.UserResponse{ + Id: user.AggregateID, + State: userStateFromModel(user.State), + CreationDate: creationDate, + ChangeDate: changeDate, + Sequence: user.Sequence, + UserName: user.UserName, + } + + if user.Machine != nil { + userResp.User = &admin.UserResponse_Machine{Machine: machineFromModel(user.Machine)} + } + if user.Human != nil { + userResp.User = &admin.UserResponse_Human{Human: humanFromModel(user.Human)} + } + + return userResp +} + +func machineFromModel(account *usr_model.Machine) *admin.MachineResponse { + return &admin.MachineResponse{ + Name: account.Name, + Description: account.Description, + } +} + +func humanFromModel(user *usr_model.Human) *admin.HumanResponse { + human := &admin.HumanResponse{ + FirstName: user.FirstName, + LastName: user.LastName, + DisplayName: user.DisplayName, + NickName: user.NickName, + PreferredLanguage: user.PreferredLanguage.String(), + Gender: genderFromModel(user.Gender), + } + + if user.Email != nil { + human.Email = user.EmailAddress + human.IsEmailVerified = user.IsEmailVerified + } + if user.Phone != nil { + human.Phone = user.PhoneNumber + human.IsPhoneVerified = user.IsPhoneVerified + } + if user.Address != nil { + human.Country = user.Country + human.Locality = user.Locality + human.PostalCode = user.PostalCode + human.Region = user.Region + human.StreetAddress = user.StreetAddress + } + return human +} diff --git a/internal/api/grpc/auth/user_converter.go b/internal/api/grpc/auth/user_converter.go index 5caa9ff380..f65dc32bd4 100644 --- a/internal/api/grpc/auth/user_converter.go +++ b/internal/api/grpc/auth/user_converter.go @@ -27,37 +27,28 @@ func userViewFromModel(user *usr_model.UserView) *auth.UserView { lastLogin, err := ptypes.TimestampProto(user.LastLogin) logging.Log("GRPC-Gteh2").OnError(err).Debug("unable to parse timestamp") - passwordChanged, err := ptypes.TimestampProto(user.PasswordChanged) - logging.Log("GRPC-fgQFT").OnError(err).Debug("unable to parse timestamp") - - return &auth.UserView{ + userView := &auth.UserView{ Id: user.ID, State: userStateFromModel(user.State), CreationDate: creationDate, ChangeDate: changeDate, LastLogin: lastLogin, - PasswordChanged: passwordChanged, UserName: user.UserName, - FirstName: user.FirstName, - LastName: user.LastName, - DisplayName: user.DisplayName, - NickName: user.NickName, - PreferredLanguage: user.PreferredLanguage, - Gender: genderFromModel(user.Gender), - Email: user.Email, - IsEmailVerified: user.IsEmailVerified, - Phone: user.Phone, - IsPhoneVerified: user.IsPhoneVerified, - Country: user.Country, - Locality: user.Locality, - PostalCode: user.PostalCode, - Region: user.Region, - StreetAddress: user.StreetAddress, Sequence: user.Sequence, ResourceOwner: user.ResourceOwner, LoginNames: user.LoginNames, PreferredLoginName: user.PreferredLoginName, } + + if user.HumanView != nil { + userView.User = &auth.UserView_Human{Human: humanViewFromModel(user.HumanView)} + } + if user.MachineView != nil { + userView.User = &auth.UserView_Machine{Machine: machineViewFromModel(user.MachineView)} + + } + + return userView } func profileFromModel(profile *usr_model.Profile) *auth.UserProfile { @@ -72,7 +63,6 @@ func profileFromModel(profile *usr_model.Profile) *auth.UserProfile { CreationDate: creationDate, ChangeDate: changeDate, Sequence: profile.Sequence, - UserName: profile.UserName, FirstName: profile.FirstName, LastName: profile.LastName, DisplayName: profile.DisplayName, @@ -94,7 +84,6 @@ func profileViewFromModel(profile *usr_model.Profile) *auth.UserProfileView { CreationDate: creationDate, ChangeDate: changeDate, Sequence: profile.Sequence, - UserName: profile.UserName, FirstName: profile.FirstName, LastName: profile.LastName, DisplayName: profile.DisplayName, @@ -366,7 +355,7 @@ func userChangesToAPI(changes *usr_model.UserChanges) (_ []*auth.Change) { EventType: message.NewLocalizedEventType(change.EventType), Sequence: change.Sequence, Data: data, - EditorId: change.ModifierId, + EditorId: change.ModifierID, Editor: change.ModifierName, } } diff --git a/internal/api/grpc/auth/user_human_converter.go b/internal/api/grpc/auth/user_human_converter.go new file mode 100644 index 0000000000..62e3bc36cc --- /dev/null +++ b/internal/api/grpc/auth/user_human_converter.go @@ -0,0 +1,32 @@ +package auth + +import ( + "github.com/caos/logging" + usr_model "github.com/caos/zitadel/internal/user/model" + auth "github.com/caos/zitadel/pkg/grpc/auth" + "github.com/golang/protobuf/ptypes" +) + +func humanViewFromModel(user *usr_model.HumanView) *auth.HumanView { + passwordChanged, err := ptypes.TimestampProto(user.PasswordChanged) + logging.Log("MANAG-h4ByY").OnError(err).Debug("unable to parse date") + + return &auth.HumanView{ + FirstName: user.FirstName, + LastName: user.LastName, + DisplayName: user.DisplayName, + NickName: user.NickName, + PreferredLanguage: user.PreferredLanguage, + Gender: genderFromModel(user.Gender), + Email: user.Email, + IsEmailVerified: user.IsEmailVerified, + Phone: user.Phone, + IsPhoneVerified: user.IsPhoneVerified, + Country: user.Country, + Locality: user.Locality, + PostalCode: user.PostalCode, + Region: user.Region, + StreetAddress: user.StreetAddress, + PasswordChanged: passwordChanged, + } +} diff --git a/internal/api/grpc/auth/user_machine_converter.go b/internal/api/grpc/auth/user_machine_converter.go new file mode 100644 index 0000000000..b868354d35 --- /dev/null +++ b/internal/api/grpc/auth/user_machine_converter.go @@ -0,0 +1,51 @@ +package auth + +import ( + "github.com/caos/logging" + usr_model "github.com/caos/zitadel/internal/user/model" + "github.com/caos/zitadel/pkg/grpc/auth" + "github.com/golang/protobuf/ptypes" +) + +func machineViewFromModel(machine *usr_model.MachineView) *auth.MachineView { + lastKeyAdded, err := ptypes.TimestampProto(machine.LastKeyAdded) + logging.Log("MANAG-wGcAQ").OnError(err).Debug("unable to parse date") + return &auth.MachineView{ + Description: machine.Description, + Name: machine.Name, + LastKeyAdded: lastKeyAdded, + } +} + +func machineKeyViewsFromModel(keys ...*usr_model.MachineKeyView) []*auth.MachineKeyView { + keyViews := make([]*auth.MachineKeyView, len(keys)) + for i, key := range keys { + keyViews[i] = machineKeyViewFromModel(key) + } + return keyViews +} + +func machineKeyViewFromModel(key *usr_model.MachineKeyView) *auth.MachineKeyView { + creationDate, err := ptypes.TimestampProto(key.CreationDate) + logging.Log("MANAG-gluk7").OnError(err).Debug("unable to parse timestamp") + + expirationDate, err := ptypes.TimestampProto(key.CreationDate) + logging.Log("MANAG-gluk7").OnError(err).Debug("unable to parse timestamp") + + return &auth.MachineKeyView{ + Id: key.ID, + CreationDate: creationDate, + ExpirationDate: expirationDate, + Sequence: key.Sequence, + Type: machineKeyTypeFromModel(key.Type), + } +} + +func machineKeyTypeFromModel(typ usr_model.MachineKeyType) auth.MachineKeyType { + switch typ { + case usr_model.MachineKeyTypeJSON: + return auth.MachineKeyType_MACHINEKEY_JSON + default: + return auth.MachineKeyType_MACHINEKEY_UNSPECIFIED + } +} diff --git a/internal/api/grpc/management/user.go b/internal/api/grpc/management/user.go index 703451f4be..a299026937 100644 --- a/internal/api/grpc/management/user.go +++ b/internal/api/grpc/management/user.go @@ -3,11 +3,10 @@ package management import ( "context" - "github.com/golang/protobuf/ptypes/empty" - "github.com/caos/zitadel/internal/api/authz" "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/pkg/grpc/management" + "github.com/golang/protobuf/ptypes/empty" ) func (s *Server) GetUserByID(ctx context.Context, id *management.UserID) (*management.UserView, error) { @@ -52,7 +51,7 @@ func (s *Server) IsUserUnique(ctx context.Context, request *management.UniqueUse return &management.UniqueUserResponse{IsUnique: unique}, nil } -func (s *Server) CreateUser(ctx context.Context, in *management.CreateUserRequest) (*management.User, error) { +func (s *Server) CreateUser(ctx context.Context, in *management.CreateUserRequest) (*management.UserResponse, error) { user, err := s.user.CreateUser(ctx, userCreateToModel(in)) if err != nil { return nil, err @@ -60,7 +59,7 @@ func (s *Server) CreateUser(ctx context.Context, in *management.CreateUserReques return userFromModel(user), nil } -func (s *Server) DeactivateUser(ctx context.Context, in *management.UserID) (*management.User, error) { +func (s *Server) DeactivateUser(ctx context.Context, in *management.UserID) (*management.UserResponse, error) { user, err := s.user.DeactivateUser(ctx, in.Id) if err != nil { return nil, err @@ -68,7 +67,7 @@ func (s *Server) DeactivateUser(ctx context.Context, in *management.UserID) (*ma return userFromModel(user), nil } -func (s *Server) ReactivateUser(ctx context.Context, in *management.UserID) (*management.User, error) { +func (s *Server) ReactivateUser(ctx context.Context, in *management.UserID) (*management.UserResponse, error) { user, err := s.user.ReactivateUser(ctx, in.Id) if err != nil { return nil, err @@ -76,7 +75,7 @@ func (s *Server) ReactivateUser(ctx context.Context, in *management.UserID) (*ma return userFromModel(user), nil } -func (s *Server) LockUser(ctx context.Context, in *management.UserID) (*management.User, error) { +func (s *Server) LockUser(ctx context.Context, in *management.UserID) (*management.UserResponse, error) { user, err := s.user.LockUser(ctx, in.Id) if err != nil { return nil, err @@ -84,7 +83,7 @@ func (s *Server) LockUser(ctx context.Context, in *management.UserID) (*manageme return userFromModel(user), nil } -func (s *Server) UnlockUser(ctx context.Context, in *management.UserID) (*management.User, error) { +func (s *Server) UnlockUser(ctx context.Context, in *management.UserID) (*management.UserResponse, error) { user, err := s.user.UnlockUser(ctx, in.Id) if err != nil { return nil, err @@ -96,6 +95,14 @@ func (s *Server) DeleteUser(ctx context.Context, in *management.UserID) (*empty. return nil, errors.ThrowUnimplemented(nil, "GRPC-as4fg", "Not implemented") } +func (s *Server) UpdateUserMachine(ctx context.Context, in *management.UpdateMachineRequest) (*management.MachineResponse, error) { + machine, err := s.user.ChangeMachine(ctx, updateMachineToModel(in)) + if err != nil { + return nil, err + } + return machineFromModel(machine), nil +} + func (s *Server) GetUserProfile(ctx context.Context, in *management.UserID) (*management.UserProfileView, error) { profile, err := s.user.ProfileByID(ctx, in.Id) if err != nil { diff --git a/internal/api/grpc/management/user_converter.go b/internal/api/grpc/management/user_converter.go index 750973510f..2b748680d9 100644 --- a/internal/api/grpc/management/user_converter.go +++ b/internal/api/grpc/management/user_converter.go @@ -15,77 +15,48 @@ import ( "github.com/caos/zitadel/pkg/grpc/message" ) -func userFromModel(user *usr_model.User) *management.User { +func userFromModel(user *usr_model.User) *management.UserResponse { creationDate, err := ptypes.TimestampProto(user.CreationDate) logging.Log("GRPC-8duwe").OnError(err).Debug("unable to parse timestamp") changeDate, err := ptypes.TimestampProto(user.ChangeDate) logging.Log("GRPC-ckoe3d").OnError(err).Debug("unable to parse timestamp") - converted := &management.User{ - Id: user.AggregateID, - State: userStateFromModel(user.State), - CreationDate: creationDate, - ChangeDate: changeDate, - Sequence: user.Sequence, - UserName: user.UserName, - FirstName: user.FirstName, - LastName: user.LastName, - DisplayName: user.DisplayName, - NickName: user.NickName, - PreferredLanguage: user.PreferredLanguage.String(), - Gender: genderFromModel(user.Gender), + userResp := &management.UserResponse{ + Id: user.AggregateID, + State: userStateFromModel(user.State), + CreationDate: creationDate, + ChangeDate: changeDate, + Sequence: user.Sequence, + UserName: user.UserName, } - if user.Email != nil { - converted.Email = user.EmailAddress - converted.IsEmailVerified = user.IsEmailVerified + + if user.Machine != nil { + userResp.User = &management.UserResponse_Machine{Machine: machineFromModel(user.Machine)} } - if user.Phone != nil { - converted.Phone = user.PhoneNumber - converted.IsPhoneVerified = user.IsPhoneVerified + if user.Human != nil { + userResp.User = &management.UserResponse_Human{Human: humanFromModel(user.Human)} } - if user.Address != nil { - converted.Country = user.Country - converted.Locality = user.Locality - converted.PostalCode = user.PostalCode - converted.Region = user.Region - converted.StreetAddress = user.StreetAddress - } - return converted + + return userResp } -func userCreateToModel(u *management.CreateUserRequest) *usr_model.User { - preferredLanguage, err := language.Parse(u.PreferredLanguage) - logging.Log("GRPC-cK5k2").OnError(err).Debug("language malformed") +func userCreateToModel(user *management.CreateUserRequest) *usr_model.User { + var human *usr_model.Human + var machine *usr_model.Machine - user := &usr_model.User{ - Profile: &usr_model.Profile{ - UserName: u.UserName, - FirstName: u.FirstName, - LastName: u.LastName, - NickName: u.NickName, - PreferredLanguage: preferredLanguage, - Gender: genderToModel(u.Gender), - }, - Email: &usr_model.Email{ - EmailAddress: u.Email, - IsEmailVerified: u.IsEmailVerified, - }, - Address: &usr_model.Address{ - Country: u.Country, - Locality: u.Locality, - PostalCode: u.PostalCode, - Region: u.Region, - StreetAddress: u.StreetAddress, - }, + if h := user.GetHuman(); h != nil { + human = humanCreateToModel(h) } - if u.Password != "" { - user.Password = &usr_model.Password{SecretString: u.Password} + if m := user.GetMachine(); m != nil { + machine = machineCreateToModel(m) } - if u.Phone != "" { - user.Phone = &usr_model.Phone{PhoneNumber: u.Phone, IsPhoneVerified: u.IsPhoneVerified} + + return &usr_model.User{ + UserName: user.UserName, + Human: human, + Machine: machine, } - return user } func passwordRequestToModel(r *management.PasswordRequest) *usr_model.Password { @@ -135,6 +106,8 @@ func userSearchKeyToModel(key management.UserSearchKey) usr_model.UserSearchKey return usr_model.UserSearchKeyEmail case management.UserSearchKey_USERSEARCHKEY_STATE: return usr_model.UserSearchKeyState + case management.UserSearchKey_USERSEARCHKEY_TYPE: + return usr_model.UserSearchKeyType default: return usr_model.UserSearchKeyUnspecified } @@ -187,7 +160,6 @@ func profileFromModel(profile *usr_model.Profile) *management.UserProfile { CreationDate: creationDate, ChangeDate: changeDate, Sequence: profile.Sequence, - UserName: profile.UserName, FirstName: profile.FirstName, LastName: profile.LastName, DisplayName: profile.DisplayName, @@ -209,7 +181,6 @@ func profileViewFromModel(profile *usr_model.Profile) *management.UserProfileVie CreationDate: creationDate, ChangeDate: changeDate, Sequence: profile.Sequence, - UserName: profile.UserName, FirstName: profile.FirstName, LastName: profile.LastName, DisplayName: profile.DisplayName, @@ -400,37 +371,26 @@ func userViewFromModel(user *usr_model.UserView) *management.UserView { lastLogin, err := ptypes.TimestampProto(user.LastLogin) logging.Log("GRPC-dksi3").OnError(err).Debug("unable to parse timestamp") - passwordChanged, err := ptypes.TimestampProto(user.PasswordChanged) - logging.Log("GRPC-dl9ws").OnError(err).Debug("unable to parse timestamp") - - return &management.UserView{ + userView := &management.UserView{ Id: user.ID, State: userStateFromModel(user.State), CreationDate: creationDate, ChangeDate: changeDate, LastLogin: lastLogin, - PasswordChanged: passwordChanged, - UserName: user.UserName, - FirstName: user.FirstName, - LastName: user.LastName, - DisplayName: user.DisplayName, - NickName: user.NickName, - PreferredLanguage: user.PreferredLanguage, - Gender: genderFromModel(user.Gender), - Email: user.Email, - IsEmailVerified: user.IsEmailVerified, - Phone: user.Phone, - IsPhoneVerified: user.IsPhoneVerified, - Country: user.Country, - Locality: user.Locality, - PostalCode: user.PostalCode, - Region: user.Region, - StreetAddress: user.StreetAddress, Sequence: user.Sequence, ResourceOwner: user.ResourceOwner, LoginNames: user.LoginNames, PreferredLoginName: user.PreferredLoginName, + UserName: user.UserName, } + if user.HumanView != nil { + userView.User = &management.UserView_Human{Human: humanViewFromModel(user.HumanView)} + } + if user.MachineView != nil { + userView.User = &management.UserView_Machine{Machine: machineViewFromModel(user.MachineView)} + + } + return userView } func userMembershipSearchResponseFromModel(response *usr_model.UserMembershipSearchResponse) *management.UserMembershipSearchResponse { @@ -603,7 +563,7 @@ func userChangesToMgtAPI(changes *usr_model.UserChanges) (_ []*management.Change EventType: message.NewLocalizedEventType(change.EventType), Sequence: change.Sequence, Data: data, - EditorId: change.ModifierId, + EditorId: change.ModifierID, Editor: change.ModifierName, } } diff --git a/internal/api/grpc/management/user_grant_converter.go b/internal/api/grpc/management/user_grant_converter.go index 3490c74764..2349bdde5e 100644 --- a/internal/api/grpc/management/user_grant_converter.go +++ b/internal/api/grpc/management/user_grant_converter.go @@ -28,14 +28,6 @@ func usergrantFromModel(grant *grant_model.UserGrant) *management.UserGrant { } } -func userGrantCreateBulkToModel(u *management.UserGrantCreateBulk) []*grant_model.UserGrant { - grants := make([]*grant_model.UserGrant, len(u.UserGrants)) - for i, grant := range u.UserGrants { - grants[i] = userGrantCreateToModel(grant) - } - return grants -} - func userGrantCreateToModel(u *management.UserGrantCreate) *grant_model.UserGrant { return &grant_model.UserGrant{ ObjectRoot: models.ObjectRoot{AggregateID: u.UserId}, @@ -46,14 +38,6 @@ func userGrantCreateToModel(u *management.UserGrantCreate) *grant_model.UserGran } } -func userGrantUpdateBulkToModel(u *management.UserGrantUpdateBulk) []*grant_model.UserGrant { - grants := make([]*grant_model.UserGrant, len(u.UserGrants)) - for i, grant := range u.UserGrants { - grants[i] = userGrantUpdateToModel(grant) - } - return grants -} - func userGrantUpdateToModel(u *management.UserGrantUpdate) *grant_model.UserGrant { return &grant_model.UserGrant{ ObjectRoot: models.ObjectRoot{AggregateID: u.Id}, @@ -171,19 +155,3 @@ func usergrantStateFromModel(state grant_model.UserGrantState) management.UserGr return management.UserGrantState_USERGRANTSTATE_UNSPECIFIED } } - -func projectUserGrantSearchRequestsToModel(project *management.ProjectUserGrantSearchRequest) *grant_model.UserGrantSearchRequest { - return &grant_model.UserGrantSearchRequest{ - Offset: project.Offset, - Limit: project.Limit, - Queries: userGrantSearchQueriesToModel(project.Queries), - } -} - -func projectGrantUserGrantSearchRequestsToModel(project *management.ProjectGrantUserGrantSearchRequest) *grant_model.UserGrantSearchRequest { - return &grant_model.UserGrantSearchRequest{ - Offset: project.Offset, - Limit: project.Limit, - Queries: userGrantSearchQueriesToModel(project.Queries), - } -} diff --git a/internal/api/grpc/management/user_human_converter.go b/internal/api/grpc/management/user_human_converter.go new file mode 100644 index 0000000000..253d16c00d --- /dev/null +++ b/internal/api/grpc/management/user_human_converter.go @@ -0,0 +1,94 @@ +package management + +import ( + "github.com/caos/logging" + usr_model "github.com/caos/zitadel/internal/user/model" + "github.com/caos/zitadel/pkg/grpc/management" + "github.com/golang/protobuf/ptypes" + "golang.org/x/text/language" +) + +func humanFromModel(user *usr_model.Human) *management.HumanResponse { + human := &management.HumanResponse{ + FirstName: user.FirstName, + LastName: user.LastName, + DisplayName: user.DisplayName, + NickName: user.NickName, + PreferredLanguage: user.PreferredLanguage.String(), + Gender: genderFromModel(user.Gender), + } + + if user.Email != nil { + human.Email = user.EmailAddress + human.IsEmailVerified = user.IsEmailVerified + } + if user.Phone != nil { + human.Phone = user.PhoneNumber + human.IsPhoneVerified = user.IsPhoneVerified + } + if user.Address != nil { + human.Country = user.Country + human.Locality = user.Locality + human.PostalCode = user.PostalCode + human.Region = user.Region + human.StreetAddress = user.StreetAddress + } + return human +} + +func humanViewFromModel(user *usr_model.HumanView) *management.HumanView { + passwordChanged, err := ptypes.TimestampProto(user.PasswordChanged) + logging.Log("MANAG-h4ByY").OnError(err).Debug("unable to parse date") + + return &management.HumanView{ + FirstName: user.FirstName, + LastName: user.LastName, + DisplayName: user.DisplayName, + NickName: user.NickName, + PreferredLanguage: user.PreferredLanguage, + Gender: genderFromModel(user.Gender), + Email: user.Email, + IsEmailVerified: user.IsEmailVerified, + Phone: user.Phone, + IsPhoneVerified: user.IsPhoneVerified, + Country: user.Country, + Locality: user.Locality, + PostalCode: user.PostalCode, + Region: user.Region, + StreetAddress: user.StreetAddress, + PasswordChanged: passwordChanged, + } +} + +func humanCreateToModel(u *management.CreateHumanRequest) *usr_model.Human { + preferredLanguage, err := language.Parse(u.PreferredLanguage) + logging.Log("GRPC-cK5k2").OnError(err).Debug("language malformed") + + human := &usr_model.Human{ + Profile: &usr_model.Profile{ + FirstName: u.FirstName, + LastName: u.LastName, + NickName: u.NickName, + PreferredLanguage: preferredLanguage, + Gender: genderToModel(u.Gender), + }, + Email: &usr_model.Email{ + EmailAddress: u.Email, + IsEmailVerified: u.IsEmailVerified, + }, + Address: &usr_model.Address{ + Country: u.Country, + Locality: u.Locality, + PostalCode: u.PostalCode, + Region: u.Region, + StreetAddress: u.StreetAddress, + }, + } + if u.Password != "" { + human.Password = &usr_model.Password{SecretString: u.Password} + } + if u.Phone != "" { + human.Phone = &usr_model.Phone{PhoneNumber: u.Phone, IsPhoneVerified: u.IsPhoneVerified} + } + return human +} diff --git a/internal/api/grpc/management/user_machine.go b/internal/api/grpc/management/user_machine.go new file mode 100644 index 0000000000..adb6e5c6eb --- /dev/null +++ b/internal/api/grpc/management/user_machine.go @@ -0,0 +1,37 @@ +package management + +import ( + "context" + + "github.com/caos/zitadel/pkg/grpc/management" + "github.com/golang/protobuf/ptypes/empty" +) + +func (s *Server) AddMachineKey(ctx context.Context, req *management.AddMachineKeyRequest) (*management.AddMachineKeyResponse, error) { + key, err := s.user.AddMachineKey(ctx, addMachineKeyToModel(req)) + if err != nil { + return nil, err + } + return addMachineKeyFromModel(key), nil +} + +func (s *Server) DeleteMachineKey(ctx context.Context, req *management.MachineKeyIDRequest) (*empty.Empty, error) { + err := s.user.RemoveMachineKey(ctx, req.UserId, req.KeyId) + return &empty.Empty{}, err +} + +func (s *Server) GetMachineKey(ctx context.Context, req *management.MachineKeyIDRequest) (*management.MachineKeyView, error) { + key, err := s.user.GetMachineKey(ctx, req.UserId, req.KeyId) + if err != nil { + return nil, err + } + return machineKeyViewFromModel(key), nil +} + +func (s *Server) SearchMachineKeys(ctx context.Context, req *management.MachineKeySearchRequest) (*management.MachineKeySearchResponse, error) { + result, err := s.user.SearchMachineKeys(ctx, machineKeySearchRequestToModel(req)) + if err != nil { + return nil, err + } + return machineKeySearchResponseFromModel(result), nil +} diff --git a/internal/api/grpc/management/user_machine_converter.go b/internal/api/grpc/management/user_machine_converter.go new file mode 100644 index 0000000000..c08112f1cf --- /dev/null +++ b/internal/api/grpc/management/user_machine_converter.go @@ -0,0 +1,160 @@ +package management + +import ( + "encoding/json" + "time" + + "github.com/caos/logging" + "github.com/caos/zitadel/internal/eventstore/models" + "github.com/caos/zitadel/internal/model" + usr_model "github.com/caos/zitadel/internal/user/model" + "github.com/caos/zitadel/pkg/grpc/management" + "github.com/golang/protobuf/ptypes" +) + +func machineCreateToModel(machine *management.CreateMachineRequest) *usr_model.Machine { + return &usr_model.Machine{ + Name: machine.Name, + Description: machine.Description, + } +} + +func updateMachineToModel(machine *management.UpdateMachineRequest) *usr_model.Machine { + return &usr_model.Machine{ + ObjectRoot: models.ObjectRoot{AggregateID: machine.Id}, + Description: machine.Description, + } +} + +func machineFromModel(account *usr_model.Machine) *management.MachineResponse { + return &management.MachineResponse{ + Name: account.Name, + Description: account.Description, + } +} + +func machineViewFromModel(machine *usr_model.MachineView) *management.MachineView { + lastKeyAdded, err := ptypes.TimestampProto(machine.LastKeyAdded) + logging.Log("MANAG-wGcAQ").OnError(err).Debug("unable to parse date") + return &management.MachineView{ + Description: machine.Description, + Name: machine.Name, + LastKeyAdded: lastKeyAdded, + } +} + +func machineKeyViewsFromModel(keys ...*usr_model.MachineKeyView) []*management.MachineKeyView { + keyViews := make([]*management.MachineKeyView, len(keys)) + for i, key := range keys { + keyViews[i] = machineKeyViewFromModel(key) + } + return keyViews +} + +func machineKeyViewFromModel(key *usr_model.MachineKeyView) *management.MachineKeyView { + creationDate, err := ptypes.TimestampProto(key.CreationDate) + logging.Log("MANAG-gluk7").OnError(err).Debug("unable to parse timestamp") + + expirationDate, err := ptypes.TimestampProto(key.ExpirationDate) + logging.Log("MANAG-gluk7").OnError(err).Debug("unable to parse timestamp") + + return &management.MachineKeyView{ + Id: key.ID, + CreationDate: creationDate, + ExpirationDate: expirationDate, + Sequence: key.Sequence, + Type: machineKeyTypeFromModel(key.Type), + } +} + +func addMachineKeyToModel(key *management.AddMachineKeyRequest) *usr_model.MachineKey { + expirationDate := time.Time{} + if key.ExpirationDate != nil { + var err error + expirationDate, err = ptypes.Timestamp(key.ExpirationDate) + logging.Log("MANAG-iNshR").OnError(err).Debug("unable to parse expiration date") + } + + return &usr_model.MachineKey{ + ExpirationDate: expirationDate, + Type: machineKeyTypeToModel(key.Type), + ObjectRoot: models.ObjectRoot{AggregateID: key.UserId}, + } +} + +func addMachineKeyFromModel(key *usr_model.MachineKey) *management.AddMachineKeyResponse { + creationDate, err := ptypes.TimestampProto(key.CreationDate) + logging.Log("MANAG-dlb8m").OnError(err).Debug("unable to parse cretaion date") + + expirationDate, err := ptypes.TimestampProto(key.ExpirationDate) + logging.Log("MANAG-dlb8m").OnError(err).Debug("unable to parse cretaion date") + + detail, err := json.Marshal(struct { + Type string `json:"type"` + KeyID string `json:"keyId"` + Key []byte `json:"key"` + UserID string `json:"userId"` + }{ + Type: "serviceaccount", + KeyID: key.KeyID, + Key: key.PrivateKey, + UserID: key.AggregateID, + }) + logging.Log("MANAG-lFQ2g").OnError(err).Warn("unable to marshall key") + + return &management.AddMachineKeyResponse{ + Id: key.KeyID, + CreationDate: creationDate, + ExpirationDate: expirationDate, + Sequence: key.Sequence, + KeyDetails: detail, + Type: machineKeyTypeFromModel(key.Type), + } +} + +func machineKeyTypeToModel(typ management.MachineKeyType) usr_model.MachineKeyType { + switch typ { + case management.MachineKeyType_MACHINEKEY_JSON: + return usr_model.MachineKeyTypeJSON + default: + return usr_model.MachineKeyTypeNONE + } +} + +func machineKeyTypeFromModel(typ usr_model.MachineKeyType) management.MachineKeyType { + switch typ { + case usr_model.MachineKeyTypeJSON: + return management.MachineKeyType_MACHINEKEY_JSON + default: + return management.MachineKeyType_MACHINEKEY_UNSPECIFIED + } +} + +func machineKeySearchRequestToModel(req *management.MachineKeySearchRequest) *usr_model.MachineKeySearchRequest { + return &usr_model.MachineKeySearchRequest{ + Offset: req.Offset, + Limit: req.Limit, + Asc: req.Asc, + Queries: []*usr_model.MachineKeySearchQuery{ + { + Key: usr_model.MachineKeyKeyUserID, + Method: model.SearchMethodEquals, + Value: req.UserId, + }, + }, + } +} + +func machineKeySearchResponseFromModel(req *usr_model.MachineKeySearchResponse) *management.MachineKeySearchResponse { + viewTimestamp, err := ptypes.TimestampProto(req.Timestamp) + logging.Log("MANAG-Sk9ds").OnError(err).Debug("unable to parse cretaion date") + + return &management.MachineKeySearchResponse{ + Offset: req.Offset, + Limit: req.Limit, + TotalResult: req.TotalResult, + ProcessedSequence: req.Sequence, + ViewTimestamp: viewTimestamp, + Result: machineKeyViewsFromModel(req.Result...), + } +} diff --git a/internal/api/grpc/server/middleware/validation_interceptor.go b/internal/api/grpc/server/middleware/validation_interceptor.go new file mode 100644 index 0000000000..074ac21546 --- /dev/null +++ b/internal/api/grpc/server/middleware/validation_interceptor.go @@ -0,0 +1,31 @@ +package middleware + +import ( + "context" + + "google.golang.org/grpc" + + _ "github.com/caos/zitadel/internal/statik" +) + +func ValidationHandler() grpc.UnaryServerInterceptor { + return func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) { + return validate(ctx, req, info, handler) + } +} + +type validator interface { + Validate() error +} + +func validate(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) { + validate, ok := req.(validator) + if !ok { + return handler(ctx, req) + } + err := validate.Validate() + if err != nil { + return nil, err + } + return handler(ctx, req) +} diff --git a/internal/api/grpc/server/server.go b/internal/api/grpc/server/server.go index 247a0dd58d..cb86958d16 100644 --- a/internal/api/grpc/server/server.go +++ b/internal/api/grpc/server/server.go @@ -33,6 +33,7 @@ func CreateServer(verifier *authz.TokenVerifier, authConfig authz.Config, lang l middleware.ErrorHandler(), middleware.AuthorizationInterceptor(verifier, authConfig), middleware.TranslationHandler(lang), + middleware.ValidationHandler(), ), ), ) diff --git a/internal/auth/repository/eventsourcing/eventstore/auth_request.go b/internal/auth/repository/eventsourcing/eventstore/auth_request.go index 35b766d6e7..bfbfc77f03 100644 --- a/internal/auth/repository/eventsourcing/eventstore/auth_request.go +++ b/internal/auth/repository/eventsourcing/eventstore/auth_request.go @@ -356,7 +356,12 @@ func userSessionByIDs(ctx context.Context, provider userSessionViewProvider, eve es_model.MfaOtpCheckFailed, es_model.SignedOut, es_model.UserLocked, - es_model.UserDeactivated: + es_model.UserDeactivated, + es_model.HumanPasswordCheckSucceeded, + es_model.HumanPasswordCheckFailed, + es_model.HumanMfaOtpCheckSucceeded, + es_model.HumanMfaOtpCheckFailed, + es_model.HumanSignedOut: eventData, err := user_view_model.UserSessionFromEvent(event) if err != nil { logging.Log("EVENT-sdgT3").WithError(err).Debug("error getting event data") @@ -378,6 +383,11 @@ func activeUserByID(ctx context.Context, userViewProvider userViewProvider, user if err != nil { return nil, err } + + if user.HumanView == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-Lm69x", "Errors.User.NotHuman") + } + if user.State == user_model.UserStateLocked || user.State == user_model.UserStateSuspend { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-FJ262", "Errors.User.Locked") } diff --git a/internal/auth/repository/eventsourcing/eventstore/auth_request_test.go b/internal/auth/repository/eventsourcing/eventstore/auth_request_test.go index 308f4f8bd5..b56ac8bd18 100644 --- a/internal/auth/repository/eventsourcing/eventstore/auth_request_test.go +++ b/internal/auth/repository/eventsourcing/eventstore/auth_request_test.go @@ -106,14 +106,18 @@ type mockViewUser struct { func (m *mockViewUser) UserByID(string) (*user_view_model.UserView, error) { return &user_view_model.UserView{ - InitRequired: m.InitRequired, - PasswordSet: m.PasswordSet, - PasswordChangeRequired: m.PasswordChangeRequired, - IsEmailVerified: m.IsEmailVerified, - OTPState: m.OTPState, - MfaMaxSetUp: m.MfaMaxSetUp, - MfaInitSkipped: m.MfaInitSkipped, - State: int32(user_model.UserStateActive), + State: int32(user_model.UserStateActive), + UserName: "schofseckel", + HumanView: &user_view_model.HumanView{ + FirstName: "schof", + InitRequired: m.InitRequired, + PasswordSet: m.PasswordSet, + PasswordChangeRequired: m.PasswordChangeRequired, + IsEmailVerified: m.IsEmailVerified, + OTPState: m.OTPState, + MfaMaxSetUp: m.MfaMaxSetUp, + MfaInitSkipped: m.MfaInitSkipped, + }, }, nil } @@ -564,7 +568,9 @@ func TestAuthRequestRepo_mfaChecked(t *testing.T) { args{ request: &model.AuthRequest{}, user: &user_model.UserView{ - MfaMaxSetUp: model.MfaLevelNotSetUp, + HumanView: &user_model.HumanView{ + MfaMaxSetUp: model.MfaLevelNotSetUp, + }, }, }, &model.MfaPromptStep{ @@ -582,8 +588,10 @@ func TestAuthRequestRepo_mfaChecked(t *testing.T) { args{ request: &model.AuthRequest{}, user: &user_model.UserView{ - MfaMaxSetUp: model.MfaLevelNotSetUp, - MfaInitSkipped: time.Now().UTC(), + HumanView: &user_model.HumanView{ + MfaMaxSetUp: model.MfaLevelNotSetUp, + MfaInitSkipped: time.Now().UTC(), + }, }, }, nil, @@ -597,8 +605,10 @@ func TestAuthRequestRepo_mfaChecked(t *testing.T) { args{ request: &model.AuthRequest{}, user: &user_model.UserView{ - MfaMaxSetUp: model.MfaLevelSoftware, - OTPState: user_model.MfaStateReady, + HumanView: &user_model.HumanView{ + MfaMaxSetUp: model.MfaLevelSoftware, + OTPState: user_model.MfaStateReady, + }, }, userSession: &user_model.UserSessionView{MfaSoftwareVerification: time.Now().UTC().Add(-5 * time.Hour)}, }, @@ -613,8 +623,10 @@ func TestAuthRequestRepo_mfaChecked(t *testing.T) { args{ request: &model.AuthRequest{}, user: &user_model.UserView{ - MfaMaxSetUp: model.MfaLevelSoftware, - OTPState: user_model.MfaStateReady, + HumanView: &user_model.HumanView{ + MfaMaxSetUp: model.MfaLevelSoftware, + OTPState: user_model.MfaStateReady, + }, }, userSession: &user_model.UserSessionView{}, }, @@ -658,7 +670,9 @@ func TestAuthRequestRepo_mfaSkippedOrSetUp(t *testing.T) { "mfa set up, true", fields{}, args{&user_model.UserView{ - MfaMaxSetUp: model.MfaLevelSoftware, + HumanView: &user_model.HumanView{ + MfaMaxSetUp: model.MfaLevelSoftware, + }, }}, true, }, @@ -668,8 +682,10 @@ func TestAuthRequestRepo_mfaSkippedOrSetUp(t *testing.T) { MfaInitSkippedLifeTime: 30 * 24 * time.Hour, }, args{&user_model.UserView{ - MfaMaxSetUp: -1, - MfaInitSkipped: time.Now().UTC().Add(-10 * time.Hour), + HumanView: &user_model.HumanView{ + MfaMaxSetUp: -1, + MfaInitSkipped: time.Now().UTC().Add(-10 * time.Hour), + }, }}, true, }, @@ -679,8 +695,10 @@ func TestAuthRequestRepo_mfaSkippedOrSetUp(t *testing.T) { MfaInitSkippedLifeTime: 30 * 24 * time.Hour, }, args{&user_model.UserView{ - MfaMaxSetUp: -1, - MfaInitSkipped: time.Now().UTC().Add(-40 * 24 * time.Hour), + HumanView: &user_model.HumanView{ + MfaMaxSetUp: -1, + MfaInitSkipped: time.Now().UTC().Add(-40 * 24 * time.Hour), + }, }}, false, }, @@ -735,7 +753,7 @@ func Test_userSessionByIDs(t *testing.T) { userProvider: &mockViewUserSession{ PasswordVerification: time.Now().UTC().Round(1 * time.Second), }, - user: &user_model.UserView{ID: "id"}, + user: &user_model.UserView{ID: "id", HumanView: &user_model.HumanView{FirstName: "schof"}}, eventProvider: &mockEventErrUser{}, }, &user_model.UserSessionView{ @@ -752,7 +770,7 @@ func Test_userSessionByIDs(t *testing.T) { PasswordVerification: time.Now().UTC().Round(1 * time.Second), }, agentID: "agentID", - user: &user_model.UserView{ID: "id"}, + user: &user_model.UserView{ID: "id", HumanView: &user_model.HumanView{FirstName: "schof"}}, eventProvider: &mockEventUser{ &es_models.Event{ AggregateType: user_es_model.UserAggregate, @@ -802,7 +820,7 @@ func Test_userSessionByIDs(t *testing.T) { PasswordVerification: time.Now().UTC().Round(1 * time.Second), }, agentID: "agentID", - user: &user_model.UserView{ID: "id"}, + user: &user_model.UserView{ID: "id", HumanView: &user_model.HumanView{FirstName: "schof"}}, eventProvider: &mockEventUser{ &es_models.Event{ AggregateType: user_es_model.UserAggregate, @@ -884,8 +902,12 @@ func Test_userByID(t *testing.T) { eventProvider: &mockEventErrUser{}, }, &user_model.UserView{ - PasswordChangeRequired: true, - State: user_model.UserStateActive, + State: user_model.UserStateActive, + UserName: "schofseckel", + HumanView: &user_model.HumanView{ + PasswordChangeRequired: true, + FirstName: "schof", + }, }, nil, }, @@ -905,8 +927,12 @@ func Test_userByID(t *testing.T) { }, }, &user_model.UserView{ - PasswordChangeRequired: true, - State: user_model.UserStateActive, + State: user_model.UserStateActive, + UserName: "schofseckel", + HumanView: &user_model.HumanView{ + PasswordChangeRequired: true, + FirstName: "schof", + }, }, nil, }, @@ -929,10 +955,14 @@ func Test_userByID(t *testing.T) { }, }, &user_model.UserView{ - PasswordChangeRequired: false, - ChangeDate: time.Now().UTC().Round(1 * time.Second), - State: user_model.UserStateActive, - PasswordChanged: time.Now().UTC().Round(1 * time.Second), + ChangeDate: time.Now().UTC().Round(1 * time.Second), + State: user_model.UserStateActive, + UserName: "schofseckel", + HumanView: &user_model.HumanView{ + PasswordChangeRequired: false, + PasswordChanged: time.Now().UTC().Round(1 * time.Second), + FirstName: "schof", + }, }, nil, }, diff --git a/internal/auth/repository/eventsourcing/eventstore/user.go b/internal/auth/repository/eventsourcing/eventstore/user.go index 81691ef8ae..125175a337 100644 --- a/internal/auth/repository/eventsourcing/eventstore/user.go +++ b/internal/auth/repository/eventsourcing/eventstore/user.go @@ -74,7 +74,10 @@ func (repo *UserRepo) MyProfile(ctx context.Context) (*model.Profile, error) { if err != nil { return nil, err } - return user.GetProfile(), nil + if user.HumanView == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-H2JIT", "Errors.User.NotHuman") + } + return user.GetProfile() } func (repo *UserRepo) ChangeMyProfile(ctx context.Context, profile *model.Profile) (*model.Profile, error) { @@ -89,7 +92,10 @@ func (repo *UserRepo) MyEmail(ctx context.Context) (*model.Email, error) { if err != nil { return nil, err } - return user.GetEmail(), nil + if user.HumanView == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-oGRpc", "Errors.User.NotHuman") + } + return user.GetEmail() } func (repo *UserRepo) ChangeMyEmail(ctx context.Context, email *model.Email) (*model.Email, error) { @@ -120,7 +126,10 @@ func (repo *UserRepo) MyPhone(ctx context.Context) (*model.Phone, error) { if err != nil { return nil, err } - return user.GetPhone(), nil + if user.HumanView == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-DTWJb", "Errors.User.NotHuman") + } + return user.GetPhone() } func (repo *UserRepo) ChangeMyPhone(ctx context.Context, phone *model.Phone) (*model.Phone, error) { @@ -147,7 +156,10 @@ func (repo *UserRepo) MyAddress(ctx context.Context) (*model.Address, error) { if err != nil { return nil, err } - return user.GetAddress(), nil + if user.HumanView == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-Ok9nI", "Errors.User.NotHuman") + } + return user.GetAddress() } func (repo *UserRepo) ChangeMyAddress(ctx context.Context, address *model.Address) (*model.Address, error) { @@ -190,7 +202,7 @@ func (repo *UserRepo) AddMfaOTP(ctx context.Context, userID string) (*model.OTP, accountName := "" user, err := repo.UserByID(ctx, userID) if err != nil { - logging.Log("EVENT-Fk93s").OnError(err).Debug("unable to get user for loginname") + logging.Log("EVENT-Fk93s").WithError(err).Debug("unable to get user for loginname") } else { accountName = user.PreferredLoginName } @@ -201,7 +213,7 @@ func (repo *UserRepo) AddMyMfaOTP(ctx context.Context) (*model.OTP, error) { accountName := "" user, err := repo.UserByID(ctx, authz.GetCtxData(ctx).UserID) if err != nil { - logging.Log("EVENT-Ml0sd").OnError(err).Debug("unable to get user for loginname") + logging.Log("EVENT-Ml0sd").WithError(err).Debug("unable to get user for loginname") } else { accountName = user.PreferredLoginName } @@ -298,8 +310,8 @@ func (repo *UserRepo) MyUserChanges(ctx context.Context, lastSequence uint64, li return nil, err } for _, change := range changes.Changes { - change.ModifierName = change.ModifierId - user, _ := repo.UserEvents.UserByID(ctx, change.ModifierId) + change.ModifierName = change.ModifierID + user, _ := repo.UserEvents.UserByID(ctx, change.ModifierID) if user != nil { change.ModifierName = user.DisplayName } diff --git a/internal/auth/repository/eventsourcing/handler/token.go b/internal/auth/repository/eventsourcing/handler/token.go index 2d23c53e50..c9f7fc7355 100644 --- a/internal/auth/repository/eventsourcing/handler/token.go +++ b/internal/auth/repository/eventsourcing/handler/token.go @@ -3,10 +3,8 @@ package handler import ( "context" "encoding/json" - view_model "github.com/caos/zitadel/internal/user/repository/view/model" "github.com/caos/logging" - caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore/models" es_models "github.com/caos/zitadel/internal/eventstore/models" @@ -14,6 +12,7 @@ import ( proj_event "github.com/caos/zitadel/internal/project/repository/eventsourcing" project_es_model "github.com/caos/zitadel/internal/project/repository/eventsourcing/model" user_es_model "github.com/caos/zitadel/internal/user/repository/eventsourcing/model" + view_model "github.com/caos/zitadel/internal/user/repository/view/model" ) type Token struct { @@ -44,7 +43,8 @@ func (u *Token) EventQuery() (*models.SearchQuery, error) { func (u *Token) Reduce(event *models.Event) (err error) { switch event.Type { - case user_es_model.UserProfileChanged: + case user_es_model.UserProfileChanged, + user_es_model.HumanProfileChanged: user := new(view_model.UserView) user.AppendEvent(event) tokens, err := u.view.TokensByUserID(event.AggregateID) @@ -55,7 +55,8 @@ func (u *Token) Reduce(event *models.Event) (err error) { token.PreferredLanguage = user.PreferredLanguage } return u.view.PutTokens(tokens, event.Sequence) - case user_es_model.SignedOut: + case user_es_model.SignedOut, + user_es_model.HumanSignedOut: id, err := agentIDFromSession(event) if err != nil { return err @@ -86,7 +87,6 @@ func (u *Token) Reduce(event *models.Event) (err error) { default: return u.view.ProcessedTokenSequence(event.Sequence) } - return nil } func (u *Token) OnError(event *models.Event, err error) error { diff --git a/internal/auth/repository/eventsourcing/handler/user.go b/internal/auth/repository/eventsourcing/handler/user.go index ee14a138d2..64a5b9f360 100644 --- a/internal/auth/repository/eventsourcing/handler/user.go +++ b/internal/auth/repository/eventsourcing/handler/user.go @@ -56,7 +56,10 @@ func (u *User) ProcessUser(event *models.Event) (err error) { user := new(view_model.UserView) switch event.Type { case es_model.UserAdded, - es_model.UserRegistered: + es_model.MachineAdded, + es_model.HumanAdded, + es_model.UserRegistered, + es_model.HumanRegistered: err = user.AppendEvent(event) if err != nil { return err @@ -73,11 +76,24 @@ func (u *User) ProcessUser(event *models.Event) (err error) { es_model.UserReactivated, es_model.UserLocked, es_model.UserUnlocked, - es_model.MfaOtpAdded, - es_model.MfaOtpVerified, - es_model.MfaOtpRemoved, - es_model.MfaInitSkipped, - es_model.UserPasswordChanged: + es_model.MFAOTPAdded, + es_model.MFAOTPVerified, + es_model.MFAOTPRemoved, + es_model.MFAInitSkipped, + es_model.UserPasswordChanged, + es_model.HumanProfileChanged, + es_model.HumanEmailChanged, + es_model.HumanEmailVerified, + es_model.HumanPhoneChanged, + es_model.HumanPhoneVerified, + es_model.HumanPhoneRemoved, + es_model.HumanAddressChanged, + es_model.HumanMFAOTPAdded, + es_model.HumanMFAOTPVerified, + es_model.HumanMFAOTPRemoved, + es_model.HumanMfaInitSkipped, + es_model.MachineChanged, + es_model.HumanPasswordChanged: user, err = u.view.UserByID(event.AggregateID) if err != nil { return err @@ -176,6 +192,6 @@ func (u *User) fillPreferredLoginNamesOnOrgUsers(event *models.Event) error { } func (u *User) OnError(event *models.Event, err error) error { - logging.LogWithFields("SPOOL-is8wa", "id", event.AggregateID).WithError(err).Warn("something went wrong in user handler") + logging.LogWithFields("SPOOL-is8aAWima", "id", event.AggregateID).WithError(err).Warn("something went wrong in user handler") return spooler.HandleError(event, err, u.view.GetLatestUserFailedEvent, u.view.ProcessedUserFailedEvent, u.view.ProcessedUserSequence, u.errorCountUntilSkip) } diff --git a/internal/auth/repository/eventsourcing/handler/user_grant.go b/internal/auth/repository/eventsourcing/handler/user_grant.go index fd6727170c..96b2dba5d0 100644 --- a/internal/auth/repository/eventsourcing/handler/user_grant.go +++ b/internal/auth/repository/eventsourcing/handler/user_grant.go @@ -110,7 +110,10 @@ func (u *UserGrant) processUserGrant(event *models.Event) (err error) { func (u *UserGrant) processUser(event *models.Event) (err error) { switch event.Type { case usr_es_model.UserProfileChanged, - usr_es_model.UserEmailChanged: + usr_es_model.UserEmailChanged, + usr_es_model.HumanProfileChanged, + usr_es_model.HumanEmailChanged, + usr_es_model.MachineChanged: grants, err := u.view.UserGrantsByUserID(event.AggregateID) if err != nil { return err @@ -276,13 +279,13 @@ func suffixRoles(suffix string, roles []string) []string { func mergeExistingRoles(rolePrefix, suffix string, existingRoles, newRoles []string) []string { mergedRoles := make([]string, 0) - for _, existing := range existingRoles { - if !strings.HasPrefix(existing, rolePrefix) { - mergedRoles = append(mergedRoles, existing) + for _, existingRole := range existingRoles { + if !strings.HasPrefix(existingRole, rolePrefix) { + mergedRoles = append(mergedRoles, existingRole) continue } - if suffix != "" && !strings.HasSuffix(existing, suffix) { - mergedRoles = append(mergedRoles, existing) + if suffix != "" && !strings.HasSuffix(existingRole, suffix) { + mergedRoles = append(mergedRoles, existingRole) } } return append(mergedRoles, newRoles...) @@ -325,9 +328,15 @@ func (u *UserGrant) fillData(grant *view_model.UserGrantView, resourceOwner stri func (u *UserGrant) fillUserData(grant *view_model.UserGrantView, user *usr_model.User) { grant.UserName = user.UserName - grant.FirstName = user.FirstName - grant.LastName = user.LastName - grant.Email = user.EmailAddress + if user.Human != nil { + grant.FirstName = user.FirstName + grant.LastName = user.LastName + grant.DisplayName = user.FirstName + " " + user.LastName + grant.Email = user.EmailAddress + } + if user.Machine != nil { + grant.DisplayName = user.Machine.Name + } } func (u *UserGrant) fillProjectData(grant *view_model.UserGrantView, project *proj_model.Project) { diff --git a/internal/auth/repository/eventsourcing/handler/user_session.go b/internal/auth/repository/eventsourcing/handler/user_session.go index 44e5a1a8f3..769d7fe100 100644 --- a/internal/auth/repository/eventsourcing/handler/user_session.go +++ b/internal/auth/repository/eventsourcing/handler/user_session.go @@ -42,7 +42,12 @@ func (u *UserSession) Reduce(event *models.Event) (err error) { es_model.UserPasswordCheckFailed, es_model.MfaOtpCheckSucceeded, es_model.MfaOtpCheckFailed, - es_model.SignedOut: + es_model.SignedOut, + es_model.HumanPasswordCheckSucceeded, + es_model.HumanPasswordCheckFailed, + es_model.HumanMfaOtpCheckSucceeded, + es_model.HumanMfaOtpCheckFailed, + es_model.HumanSignedOut: eventData, err := view_model.UserSessionFromEvent(event) if err != nil { return err @@ -62,10 +67,13 @@ func (u *UserSession) Reduce(event *models.Event) (err error) { } return u.updateSession(session, event) case es_model.UserPasswordChanged, - es_model.MfaOtpRemoved, + es_model.MFAOTPRemoved, es_model.UserProfileChanged, es_model.UserLocked, es_model.UserDeactivated, + es_model.HumanPasswordChanged, + es_model.HumanMFAOTPRemoved, + es_model.HumanProfileChanged, es_model.DomainClaimed, es_model.UserUserNameChanged: sessions, err := u.view.UserSessionsByUserID(event.AggregateID) diff --git a/internal/authz/repository/eventsourcing/handler/user_grant.go b/internal/authz/repository/eventsourcing/handler/user_grant.go index 7f8b9afdea..b0b0e43d7c 100644 --- a/internal/authz/repository/eventsourcing/handler/user_grant.go +++ b/internal/authz/repository/eventsourcing/handler/user_grant.go @@ -76,7 +76,6 @@ func (u *UserGrant) processProject(event *models.Event) (err error) { default: return u.view.ProcessedUserGrantSequence(event.Sequence) } - return nil } func (u *UserGrant) processOrg(event *models.Event) (err error) { @@ -88,7 +87,6 @@ func (u *UserGrant) processOrg(event *models.Event) (err error) { default: return u.view.ProcessedUserGrantSequence(event.Sequence) } - return nil } func (u *UserGrant) processIamMember(event *models.Event, rolePrefix string, suffix bool) error { @@ -194,13 +192,13 @@ func suffixRoles(suffix string, roles []string) []string { func mergeExistingRoles(rolePrefix, suffix string, existingRoles, newRoles []string) []string { mergedRoles := make([]string, 0) - for _, existing := range existingRoles { - if !strings.HasPrefix(existing, rolePrefix) { - mergedRoles = append(mergedRoles, existing) + for _, existingRole := range existingRoles { + if !strings.HasPrefix(existingRole, rolePrefix) { + mergedRoles = append(mergedRoles, existingRole) continue } - if suffix != "" && !strings.HasSuffix(existing, suffix) { - mergedRoles = append(mergedRoles, existing) + if suffix != "" && !strings.HasSuffix(existingRole, suffix) { + mergedRoles = append(mergedRoles, existingRole) } } return append(mergedRoles, newRoles...) diff --git a/internal/config/systemdefaults/system_defaults.go b/internal/config/systemdefaults/system_defaults.go index a2df7befec..296955ee85 100644 --- a/internal/config/systemdefaults/system_defaults.go +++ b/internal/config/systemdefaults/system_defaults.go @@ -40,6 +40,7 @@ type SecretGenerators struct { EmailVerificationCode crypto.GeneratorConfig PhoneVerificationCode crypto.GeneratorConfig PasswordVerificationCode crypto.GeneratorConfig + MachineKeySize uint32 } type MultifactorConfig struct { diff --git a/internal/eventstore/models/aggregate.go b/internal/eventstore/models/aggregate.go index 1281f6e388..66026b05d5 100644 --- a/internal/eventstore/models/aggregate.go +++ b/internal/eventstore/models/aggregate.go @@ -86,9 +86,6 @@ func (a *Aggregate) Validate() error { return errors.ThrowPreconditionFailed(nil, "MODEL-eBYUW", "resource owner not set") } if a.Precondition != nil && (a.Precondition.Query == nil || a.Precondition.Validation == nil) { - if err := a.Precondition.Query.Validate(); err != nil { - return err - } return errors.ThrowPreconditionFailed(nil, "MODEL-EEUvA", "invalid precondition") } diff --git a/internal/eventstore/spooler/spooler.go b/internal/eventstore/spooler/spooler.go index 0559ecc573..fd13d88c08 100644 --- a/internal/eventstore/spooler/spooler.go +++ b/internal/eventstore/spooler/spooler.go @@ -90,7 +90,7 @@ func (s *spooledHandler) awaitError(cancel func(), errs chan error, workerID str select { case err := <-errs: cancel() - logging.Log("SPOOL-K2lst").OnError(err).WithField("view", s.ViewModel()).WithField("worker", workerID).Debug("load canceled") + logging.Log("SPOOL-OT8di").OnError(err).WithField("view", s.ViewModel()).WithField("worker", workerID).Debug("load canceled") } } @@ -164,7 +164,7 @@ func (s *spooledHandler) lock(ctx context.Context, errs chan<- error, workerID s case <-renewTimer: logging.Log("SPOOL-K2lst").WithField("view", s.ViewModel()).WithField("worker", workerID).Debug("renew") err := s.locker.Renew(workerID, s.ViewModel(), s.MinimumCycleDuration()*2) - logging.Log("SPOOL-K2lst").WithField("view", s.ViewModel()).WithField("worker", workerID).WithError(err).Debug("renew done") + logging.Log("SPOOL-u4j6k").WithField("view", s.ViewModel()).WithField("worker", workerID).WithError(err).Debug("renew done") if err == nil { locked <- true renewTimer = time.After(renewDuration) diff --git a/internal/iam/model/iam_member_view.go b/internal/iam/model/iam_member_view.go index a260f288b5..e56409c03b 100644 --- a/internal/iam/model/iam_member_view.go +++ b/internal/iam/model/iam_member_view.go @@ -1,8 +1,9 @@ package model import ( - "github.com/caos/zitadel/internal/model" "time" + + "github.com/caos/zitadel/internal/model" ) type IAMMemberView struct { diff --git a/internal/iam/repository/eventsourcing/eventstore.go b/internal/iam/repository/eventsourcing/eventstore.go index ccaf609601..09e232cfed 100644 --- a/internal/iam/repository/eventsourcing/eventstore.go +++ b/internal/iam/repository/eventsourcing/eventstore.go @@ -2,6 +2,7 @@ package eventsourcing import ( "context" + "github.com/caos/zitadel/internal/cache/config" sd "github.com/caos/zitadel/internal/config/systemdefaults" "github.com/caos/zitadel/internal/crypto" @@ -190,12 +191,12 @@ func (es *IAMEventstore) RemoveIAMMember(ctx context.Context, member *iam_model. if _, m := existing.GetMember(member.UserID); m == nil { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-29skr", "Errors.IAM.MemberNotExisting") } - repoIam := model.IAMFromModel(existing) + repoIAM := model.IAMFromModel(existing) repoMember := model.IAMMemberFromModel(member) - projectAggregate := IAMMemberRemovedAggregate(es.Eventstore.AggregateCreator(), repoIam, repoMember) - err = es_sdk.Push(ctx, es.PushAggregates, repoIam.AppendEvents, projectAggregate) - es.iamCache.cacheIAM(repoIam) + projectAggregate := IAMMemberRemovedAggregate(es.Eventstore.AggregateCreator(), repoIAM, repoMember) + err = es_sdk.Push(ctx, es.PushAggregates, repoIAM.AppendEvents, projectAggregate) + es.iamCache.cacheIAM(repoIAM) return err } diff --git a/internal/iam/repository/eventsourcing/eventstore_test.go b/internal/iam/repository/eventsourcing/eventstore_test.go index 759ca71197..55310e225e 100644 --- a/internal/iam/repository/eventsourcing/eventstore_test.go +++ b/internal/iam/repository/eventsourcing/eventstore_test.go @@ -554,10 +554,10 @@ func TestChangeIamMember(t *testing.T) { func TestRemoveIamMember(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *IAMEventstore - ctx context.Context - existing *model.IAM - member *iam_model.IAMMember + es *IAMEventstore + ctx context.Context + existingIAM *model.IAM + member *iam_model.IAMMember } type res struct { result *iam_model.IAMMember @@ -573,7 +573,7 @@ func TestRemoveIamMember(t *testing.T) { args: args{ es: GetMockManipulateIamWithMember(ctrl), ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ + existingIAM: &model.IAM{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Members: []*model.IAMMember{{UserID: "UserID", Roles: []string{"Roles"}}}, }, @@ -588,7 +588,7 @@ func TestRemoveIamMember(t *testing.T) { args: args{ es: GetMockManipulateIam(ctrl), ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ + existingIAM: &model.IAM{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Members: []*model.IAMMember{{UserID: "UserID", Roles: []string{"Roles"}}}, }, @@ -603,7 +603,7 @@ func TestRemoveIamMember(t *testing.T) { args: args{ es: GetMockManipulateIam(ctrl), ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ + existingIAM: &model.IAM{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, }, member: &iam_model.IAMMember{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, UserID: "UserID", Roles: []string{"Roles"}}, diff --git a/internal/iam/repository/eventsourcing/iam.go b/internal/iam/repository/eventsourcing/iam.go index 8aed9dfc0b..ba963b145a 100644 --- a/internal/iam/repository/eventsourcing/iam.go +++ b/internal/iam/repository/eventsourcing/iam.go @@ -2,6 +2,7 @@ package eventsourcing import ( "context" + "github.com/caos/zitadel/internal/errors" es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/iam/repository/eventsourcing/model" @@ -83,12 +84,12 @@ func IAMSetIamProjectAggregate(aggCreator *es_models.AggregateCreator, iam *mode } } -func IAMMemberAddedAggregate(aggCreator *es_models.AggregateCreator, existing *model.IAM, member *model.IAMMember) func(ctx context.Context) (*es_models.Aggregate, error) { +func IAMMemberAddedAggregate(aggCreator *es_models.AggregateCreator, existingIAM *model.IAM, member *model.IAMMember) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if member == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-9sope", "Errors.Internal") } - agg, err := IAMAggregate(ctx, aggCreator, existing) + agg, err := IAMAggregate(ctx, aggCreator, existingIAM) if err != nil { return nil, err } @@ -96,13 +97,13 @@ func IAMMemberAddedAggregate(aggCreator *es_models.AggregateCreator, existing *m } } -func IAMMemberChangedAggregate(aggCreator *es_models.AggregateCreator, existing *model.IAM, member *model.IAMMember) func(ctx context.Context) (*es_models.Aggregate, error) { +func IAMMemberChangedAggregate(aggCreator *es_models.AggregateCreator, existingIAM *model.IAM, member *model.IAMMember) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if member == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-38skf", "Errors.Internal") } - agg, err := IAMAggregate(ctx, aggCreator, existing) + agg, err := IAMAggregate(ctx, aggCreator, existingIAM) if err != nil { return nil, err } @@ -110,12 +111,12 @@ func IAMMemberChangedAggregate(aggCreator *es_models.AggregateCreator, existing } } -func IAMMemberRemovedAggregate(aggCreator *es_models.AggregateCreator, existing *model.IAM, member *model.IAMMember) func(ctx context.Context) (*es_models.Aggregate, error) { +func IAMMemberRemovedAggregate(aggCreator *es_models.AggregateCreator, existingIAM *model.IAM, member *model.IAMMember) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if member == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-90lsw", "Errors.Internal") } - agg, err := IAMAggregate(ctx, aggCreator, existing) + agg, err := IAMAggregate(ctx, aggCreator, existingIAM) if err != nil { return nil, err } diff --git a/internal/iam/repository/eventsourcing/iam_test.go b/internal/iam/repository/eventsourcing/iam_test.go index 8dbfad9bb9..92f90530a7 100644 --- a/internal/iam/repository/eventsourcing/iam_test.go +++ b/internal/iam/repository/eventsourcing/iam_test.go @@ -2,12 +2,12 @@ package eventsourcing import ( "context" - iam_model "github.com/caos/zitadel/internal/iam/model" "testing" "github.com/caos/zitadel/internal/api/authz" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore/models" + iam_model "github.com/caos/zitadel/internal/iam/model" "github.com/caos/zitadel/internal/iam/repository/eventsourcing/model" ) @@ -72,9 +72,9 @@ func TestSetUpStartedAggregate(t *testing.T) { func TestSetUpDoneAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.IAM - aggCreator *models.AggregateCreator + ctx context.Context + existingIAM *model.IAM + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -89,9 +89,9 @@ func TestSetUpDoneAggregate(t *testing.T) { { name: "setup done aggregate ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -101,9 +101,9 @@ func TestSetUpDoneAggregate(t *testing.T) { { name: "existing iam nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -114,7 +114,7 @@ func TestSetUpDoneAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := IAMSetupDoneAggregate(tt.args.aggCreator, tt.args.existing)(tt.args.ctx) + agg, err := IAMSetupDoneAggregate(tt.args.aggCreator, tt.args.existingIAM)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -131,10 +131,10 @@ func TestSetUpDoneAggregate(t *testing.T) { func TestGlobalOrgAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.IAM - orgID string - aggCreator *models.AggregateCreator + ctx context.Context + existingIAM *model.IAM + orgID string + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -149,10 +149,10 @@ func TestGlobalOrgAggregate(t *testing.T) { { name: "global org set aggregate ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, - orgID: "orgID", - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, + orgID: "orgID", + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -162,10 +162,10 @@ func TestGlobalOrgAggregate(t *testing.T) { { name: "existing iam nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - orgID: "orgID", - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: nil, + orgID: "orgID", + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -174,9 +174,9 @@ func TestGlobalOrgAggregate(t *testing.T) { { name: "global org empty", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -185,7 +185,7 @@ func TestGlobalOrgAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := IAMSetGlobalOrgAggregate(tt.args.aggCreator, tt.args.existing, tt.args.orgID)(tt.args.ctx) + agg, err := IAMSetGlobalOrgAggregate(tt.args.aggCreator, tt.args.existingIAM, tt.args.orgID)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -202,10 +202,10 @@ func TestGlobalOrgAggregate(t *testing.T) { func TestIamProjectAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.IAM - projectID string - aggCreator *models.AggregateCreator + ctx context.Context + existingIAM *model.IAM + projectID string + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -220,10 +220,10 @@ func TestIamProjectAggregate(t *testing.T) { { name: "iam project id set aggregate ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, - projectID: "projectID", - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, + projectID: "projectID", + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -233,10 +233,10 @@ func TestIamProjectAggregate(t *testing.T) { { name: "existing iam nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - projectID: "projectID", - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: nil, + projectID: "projectID", + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -245,9 +245,9 @@ func TestIamProjectAggregate(t *testing.T) { { name: "project id empty", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -256,7 +256,7 @@ func TestIamProjectAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := IAMSetIamProjectAggregate(tt.args.aggCreator, tt.args.existing, tt.args.projectID)(tt.args.ctx) + agg, err := IAMSetIamProjectAggregate(tt.args.aggCreator, tt.args.existingIAM, tt.args.projectID)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -273,10 +273,10 @@ func TestIamProjectAggregate(t *testing.T) { func TestIamMemberAddedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.IAM - new *model.IAMMember - aggCreator *models.AggregateCreator + ctx context.Context + existingIAM *model.IAM + newMember *model.IAMMember + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -291,10 +291,10 @@ func TestIamMemberAddedAggregate(t *testing.T) { { name: "iammember added ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, - new: &model.IAMMember{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, UserID: "UserID", Roles: []string{"Roles"}}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, + newMember: &model.IAMMember{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, UserID: "UserID", Roles: []string{"Roles"}}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -304,9 +304,9 @@ func TestIamMemberAddedAggregate(t *testing.T) { { name: "existing iam nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -317,10 +317,10 @@ func TestIamMemberAddedAggregate(t *testing.T) { { name: "member nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, + newMember: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -331,7 +331,7 @@ func TestIamMemberAddedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := IAMMemberAddedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := IAMMemberAddedAggregate(tt.args.aggCreator, tt.args.existingIAM, tt.args.newMember)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -351,10 +351,10 @@ func TestIamMemberAddedAggregate(t *testing.T) { func TestIamMemberChangedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.IAM - new *model.IAMMember - aggCreator *models.AggregateCreator + ctx context.Context + existingIAM *model.IAM + newMember *model.IAMMember + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -370,10 +370,10 @@ func TestIamMemberChangedAggregate(t *testing.T) { { name: "iammember changed ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, - new: &model.IAMMember{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, UserID: "UserID", Roles: []string{"Roles"}}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, + newMember: &model.IAMMember{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, UserID: "UserID", Roles: []string{"Roles"}}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -383,9 +383,9 @@ func TestIamMemberChangedAggregate(t *testing.T) { { name: "existing iam nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -397,10 +397,10 @@ func TestIamMemberChangedAggregate(t *testing.T) { { name: "member nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, + newMember: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -412,7 +412,7 @@ func TestIamMemberChangedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := IAMMemberChangedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := IAMMemberChangedAggregate(tt.args.aggCreator, tt.args.existingIAM, tt.args.newMember)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -432,10 +432,10 @@ func TestIamMemberChangedAggregate(t *testing.T) { func TestIamMemberRemovedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.IAM - new *model.IAMMember - aggCreator *models.AggregateCreator + ctx context.Context + existingIAM *model.IAM + newMember *model.IAMMember + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -451,10 +451,10 @@ func TestIamMemberRemovedAggregate(t *testing.T) { { name: "iammember removed ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, - new: &model.IAMMember{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, UserID: "UserID", Roles: []string{"Roles"}}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, + newMember: &model.IAMMember{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, UserID: "UserID", Roles: []string{"Roles"}}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -464,9 +464,9 @@ func TestIamMemberRemovedAggregate(t *testing.T) { { name: "existing iam nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -478,10 +478,10 @@ func TestIamMemberRemovedAggregate(t *testing.T) { { name: "member nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}}, + newMember: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -493,7 +493,7 @@ func TestIamMemberRemovedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := IAMMemberRemovedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := IAMMemberRemovedAggregate(tt.args.aggCreator, tt.args.existingIAM, tt.args.newMember)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -515,7 +515,7 @@ func TestIdpConfigAddedAggregate(t *testing.T) { type args struct { ctx context.Context existing *model.IAM - new *model.IDPConfig + newConfig *model.IDPConfig aggCreator *models.AggregateCreator } type res struct { @@ -534,7 +534,7 @@ func TestIdpConfigAddedAggregate(t *testing.T) { args: args{ ctx: authz.NewMockContext("orgID", "userID"), existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, - new: &model.IDPConfig{ + newConfig: &model.IDPConfig{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IDPConfigID: "IDPConfigID", Name: "Name", @@ -564,7 +564,7 @@ func TestIdpConfigAddedAggregate(t *testing.T) { args: args{ ctx: authz.NewMockContext("orgID", "userID"), existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, - new: nil, + newConfig: nil, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ @@ -575,7 +575,7 @@ func TestIdpConfigAddedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := IDPConfigAddedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := IDPConfigAddedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.newConfig)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -600,10 +600,10 @@ func TestIdpConfigAddedAggregate(t *testing.T) { func TestIdpConfigurationChangedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.IAM - new *model.IDPConfig - aggCreator *models.AggregateCreator + ctx context.Context + existingIAM *model.IAM + newConfig *model.IDPConfig + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -620,13 +620,13 @@ func TestIdpConfigurationChangedAggregate(t *testing.T) { name: "change idp configuration", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ + existingIAM: &model.IAM{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID", IDPs: []*model.IDPConfig{ {IDPConfigID: "IDPConfigID", Name: "IDPName"}, }}, - new: &model.IDPConfig{ + newConfig: &model.IDPConfig{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IDPConfigID: "IDPConfigID", Name: "NameChanged", @@ -641,9 +641,9 @@ func TestIdpConfigurationChangedAggregate(t *testing.T) { { name: "existing iam nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -653,10 +653,10 @@ func TestIdpConfigurationChangedAggregate(t *testing.T) { { name: "idp config nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, + newConfig: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -666,7 +666,7 @@ func TestIdpConfigurationChangedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := IDPConfigChangedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := IDPConfigChangedAggregate(tt.args.aggCreator, tt.args.existingIAM, tt.args.newConfig)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -689,11 +689,11 @@ func TestIdpConfigurationChangedAggregate(t *testing.T) { func TestIdpConfigurationRemovedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.IAM - new *model.IDPConfig - provider *model.IDPProvider - aggCreator *models.AggregateCreator + ctx context.Context + existingIAM *model.IAM + newConfig *model.IDPConfig + provider *model.IDPProvider + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -710,13 +710,13 @@ func TestIdpConfigurationRemovedAggregate(t *testing.T) { name: "remove idp config", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ + existingIAM: &model.IAM{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID", IDPs: []*model.IDPConfig{ {IDPConfigID: "IDPConfigID", Name: "Name"}, }}, - new: &model.IDPConfig{ + newConfig: &model.IDPConfig{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IDPConfigID: "IDPConfigID", Name: "Name", @@ -732,13 +732,13 @@ func TestIdpConfigurationRemovedAggregate(t *testing.T) { name: "remove idp config with provider", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ + existingIAM: &model.IAM{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID", IDPs: []*model.IDPConfig{ {IDPConfigID: "IDPConfigID", Name: "Name"}, }}, - new: &model.IDPConfig{ + newConfig: &model.IDPConfig{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IDPConfigID: "IDPConfigID", Name: "Name", @@ -756,9 +756,9 @@ func TestIdpConfigurationRemovedAggregate(t *testing.T) { { name: "existing iam nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -768,10 +768,10 @@ func TestIdpConfigurationRemovedAggregate(t *testing.T) { { name: "idp config nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, + newConfig: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -781,7 +781,7 @@ func TestIdpConfigurationRemovedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := IDPConfigRemovedAggregate(tt.args.ctx, tt.args.aggCreator, tt.args.existing, tt.args.new, tt.args.provider) + agg, err := IDPConfigRemovedAggregate(tt.args.ctx, tt.args.aggCreator, tt.args.existingIAM, tt.args.newConfig, tt.args.provider) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -804,10 +804,10 @@ func TestIdpConfigurationRemovedAggregate(t *testing.T) { func TestIdpConfigurationDeactivatedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.IAM - new *model.IDPConfig - aggCreator *models.AggregateCreator + ctx context.Context + existingIAM *model.IAM + newConfig *model.IDPConfig + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -824,13 +824,13 @@ func TestIdpConfigurationDeactivatedAggregate(t *testing.T) { name: "deactivate idp config", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ + existingIAM: &model.IAM{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID", IDPs: []*model.IDPConfig{ {IDPConfigID: "IDPConfigID", Name: "Name"}, }}, - new: &model.IDPConfig{ + newConfig: &model.IDPConfig{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IDPConfigID: "IDPConfigID", Name: "Name", @@ -845,9 +845,9 @@ func TestIdpConfigurationDeactivatedAggregate(t *testing.T) { { name: "existing iam nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -857,10 +857,10 @@ func TestIdpConfigurationDeactivatedAggregate(t *testing.T) { { name: "idp config nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, + newConfig: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -870,7 +870,7 @@ func TestIdpConfigurationDeactivatedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := IDPConfigDeactivatedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := IDPConfigDeactivatedAggregate(tt.args.aggCreator, tt.args.existingIAM, tt.args.newConfig)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -893,10 +893,10 @@ func TestIdpConfigurationDeactivatedAggregate(t *testing.T) { func TestIdpConfigurationReactivatedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.IAM - new *model.IDPConfig - aggCreator *models.AggregateCreator + ctx context.Context + existingIAM *model.IAM + newConfig *model.IDPConfig + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -913,13 +913,13 @@ func TestIdpConfigurationReactivatedAggregate(t *testing.T) { name: "deactivate app", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ + existingIAM: &model.IAM{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID", IDPs: []*model.IDPConfig{ {IDPConfigID: "IDPConfigID", Name: "Name"}, }}, - new: &model.IDPConfig{ + newConfig: &model.IDPConfig{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IDPConfigID: "IDPConfigID", Name: "Name", @@ -934,9 +934,9 @@ func TestIdpConfigurationReactivatedAggregate(t *testing.T) { { name: "existing iam nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -946,10 +946,10 @@ func TestIdpConfigurationReactivatedAggregate(t *testing.T) { { name: "idp config nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, + newConfig: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -959,7 +959,7 @@ func TestIdpConfigurationReactivatedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := IDPConfigReactivatedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := IDPConfigReactivatedAggregate(tt.args.aggCreator, tt.args.existingIAM, tt.args.newConfig)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -982,10 +982,10 @@ func TestIdpConfigurationReactivatedAggregate(t *testing.T) { func TestOIDCConfigChangedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.IAM - new *model.OIDCIDPConfig - aggCreator *models.AggregateCreator + ctx context.Context + existingIAM *model.IAM + newConfig *model.OIDCIDPConfig + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -1002,13 +1002,13 @@ func TestOIDCConfigChangedAggregate(t *testing.T) { name: "change oidc config", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ + existingIAM: &model.IAM{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID", IDPs: []*model.IDPConfig{ {IDPConfigID: "IDPConfigID", Name: "Name", OIDCIDPConfig: &model.OIDCIDPConfig{IDPConfigID: "IDPConfigID", ClientID: "ClientID"}}, }}, - new: &model.OIDCIDPConfig{ + newConfig: &model.OIDCIDPConfig{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IDPConfigID: "IDPConfigID", ClientID: "ClientIDChanged", @@ -1024,13 +1024,13 @@ func TestOIDCConfigChangedAggregate(t *testing.T) { name: "no changes", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ + existingIAM: &model.IAM{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID", IDPs: []*model.IDPConfig{ {IDPConfigID: "IDPConfigID", Name: "Name", OIDCIDPConfig: &model.OIDCIDPConfig{IDPConfigID: "IDPConfigID", ClientID: "ClientID"}}, }}, - new: &model.OIDCIDPConfig{ + newConfig: &model.OIDCIDPConfig{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IDPConfigID: "IDPConfigID", ClientID: "ClientID", @@ -1045,9 +1045,9 @@ func TestOIDCConfigChangedAggregate(t *testing.T) { { name: "existing iam nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1057,10 +1057,10 @@ func TestOIDCConfigChangedAggregate(t *testing.T) { { name: "oidc config nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, + newConfig: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1070,7 +1070,7 @@ func TestOIDCConfigChangedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := OIDCIDPConfigChangedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := OIDCIDPConfigChangedAggregate(tt.args.aggCreator, tt.args.existingIAM, tt.args.newConfig)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1093,10 +1093,10 @@ func TestOIDCConfigChangedAggregate(t *testing.T) { func TestLoginPolicyAddedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.IAM - new *model.LoginPolicy - aggCreator *models.AggregateCreator + ctx context.Context + existingIAM *model.IAM + newPolicy *model.LoginPolicy + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -1113,13 +1113,13 @@ func TestLoginPolicyAddedAggregate(t *testing.T) { name: "add login polciy", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ + existingIAM: &model.IAM{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID", IDPs: []*model.IDPConfig{ {IDPConfigID: "IDPConfigID", Name: "Name", OIDCIDPConfig: &model.OIDCIDPConfig{IDPConfigID: "IDPConfigID", ClientID: "ClientID"}}, }}, - new: &model.LoginPolicy{ + newPolicy: &model.LoginPolicy{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, AllowUsernamePassword: true, }, @@ -1133,9 +1133,9 @@ func TestLoginPolicyAddedAggregate(t *testing.T) { { name: "existing iam nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1145,10 +1145,10 @@ func TestLoginPolicyAddedAggregate(t *testing.T) { { name: "login policy config nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, + newPolicy: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1158,7 +1158,7 @@ func TestLoginPolicyAddedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := LoginPolicyAddedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := LoginPolicyAddedAggregate(tt.args.aggCreator, tt.args.existingIAM, tt.args.newPolicy)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1181,10 +1181,10 @@ func TestLoginPolicyAddedAggregate(t *testing.T) { func TestLoginPolicyChangedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.IAM - new *model.LoginPolicy - aggCreator *models.AggregateCreator + ctx context.Context + existingIAM *model.IAM + newPolicy *model.LoginPolicy + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -1201,13 +1201,13 @@ func TestLoginPolicyChangedAggregate(t *testing.T) { name: "change login policy", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ + existingIAM: &model.IAM{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID", DefaultLoginPolicy: &model.LoginPolicy{ AllowUsernamePassword: true, }}, - new: &model.LoginPolicy{ + newPolicy: &model.LoginPolicy{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, AllowUsernamePassword: true, AllowRegister: true, @@ -1223,13 +1223,13 @@ func TestLoginPolicyChangedAggregate(t *testing.T) { name: "no changes", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ + existingIAM: &model.IAM{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID", DefaultLoginPolicy: &model.LoginPolicy{ AllowUsernamePassword: true, }}, - new: &model.LoginPolicy{ + newPolicy: &model.LoginPolicy{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, AllowUsernamePassword: true, }, @@ -1243,9 +1243,9 @@ func TestLoginPolicyChangedAggregate(t *testing.T) { { name: "existing iam nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1255,10 +1255,10 @@ func TestLoginPolicyChangedAggregate(t *testing.T) { { name: "login policy config nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, + newPolicy: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1268,7 +1268,7 @@ func TestLoginPolicyChangedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := LoginPolicyChangedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := LoginPolicyChangedAggregate(tt.args.aggCreator, tt.args.existingIAM, tt.args.newPolicy)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1291,10 +1291,10 @@ func TestLoginPolicyChangedAggregate(t *testing.T) { func TestLoginPolicyIdpProviderAddedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.IAM - new *model.IDPProvider - aggCreator *models.AggregateCreator + ctx context.Context + existingIAM *model.IAM + newProvider *model.IDPProvider + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -1311,13 +1311,13 @@ func TestLoginPolicyIdpProviderAddedAggregate(t *testing.T) { name: "add idp provider to login policy", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ + existingIAM: &model.IAM{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID", DefaultLoginPolicy: &model.LoginPolicy{ AllowUsernamePassword: true, }}, - new: &model.IDPProvider{ + newProvider: &model.IDPProvider{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Type: int32(iam_model.IDPProviderTypeSystem), IDPConfigID: "IDPConfigID", @@ -1332,9 +1332,9 @@ func TestLoginPolicyIdpProviderAddedAggregate(t *testing.T) { { name: "existing iam nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1344,10 +1344,10 @@ func TestLoginPolicyIdpProviderAddedAggregate(t *testing.T) { { name: "idp config config nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, + newProvider: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1357,7 +1357,7 @@ func TestLoginPolicyIdpProviderAddedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := LoginPolicyIDPProviderAddedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := LoginPolicyIDPProviderAddedAggregate(tt.args.aggCreator, tt.args.existingIAM, tt.args.newProvider)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1380,10 +1380,10 @@ func TestLoginPolicyIdpProviderAddedAggregate(t *testing.T) { func TestLoginPolicyIdpProviderRemovedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.IAM - new *model.IDPProviderID - aggCreator *models.AggregateCreator + ctx context.Context + existingIAM *model.IAM + newProviderID *model.IDPProviderID + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -1400,7 +1400,7 @@ func TestLoginPolicyIdpProviderRemovedAggregate(t *testing.T) { name: "remove idp provider to login policy", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ + existingIAM: &model.IAM{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID", DefaultLoginPolicy: &model.LoginPolicy{ @@ -1409,7 +1409,7 @@ func TestLoginPolicyIdpProviderRemovedAggregate(t *testing.T) { {IDPConfigID: "IDPConfigID", Type: int32(iam_model.IDPProviderTypeSystem)}, }, }}, - new: &model.IDPProviderID{ + newProviderID: &model.IDPProviderID{ IDPConfigID: "IDPConfigID", }, aggCreator: models.NewAggregateCreator("Test"), @@ -1422,9 +1422,9 @@ func TestLoginPolicyIdpProviderRemovedAggregate(t *testing.T) { { name: "existing iam nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1434,10 +1434,10 @@ func TestLoginPolicyIdpProviderRemovedAggregate(t *testing.T) { { name: "idp config config nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingIAM: &model.IAM{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, IAMProjectID: "IAMProjectID"}, + newProviderID: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1447,7 +1447,7 @@ func TestLoginPolicyIdpProviderRemovedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := LoginPolicyIDPProviderRemovedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := LoginPolicyIDPProviderRemovedAggregate(tt.args.aggCreator, tt.args.existingIAM, tt.args.newProviderID)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) diff --git a/internal/key/repository/eventsourcing/eventstore.go b/internal/key/repository/eventsourcing/eventstore.go index 149480f5c8..1d0e2d8618 100644 --- a/internal/key/repository/eventsourcing/eventstore.go +++ b/internal/key/repository/eventsourcing/eventstore.go @@ -64,6 +64,7 @@ func (es *KeyEventstore) GenerateKeyPair(ctx context.Context, usage key_model.Ke }, }) } + func (es *KeyEventstore) CreateKeyPair(ctx context.Context, pair *key_model.KeyPair) (*key_model.KeyPair, error) { if !pair.IsValid() { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-G34ga", "Name is required") diff --git a/internal/management/repository/eventsourcing/eventstore/project.go b/internal/management/repository/eventsourcing/eventstore/project.go index b9b1b68680..6761a019ca 100644 --- a/internal/management/repository/eventsourcing/eventstore/project.go +++ b/internal/management/repository/eventsourcing/eventstore/project.go @@ -501,8 +501,8 @@ func (repo *ProjectRepo) ChangeProjectGrant(ctx context.Context, grant *proj_mod ProjectID: grant.ProjectID, UserID: grant.UserID, } - existing := changed.RemoveRoleKeysIfExisting(removedRoles) - if existing { + roleDeleted := changed.RemoveRoleKeysIfExisting(removedRoles) + if roleDeleted { _, agg, err := repo.UserGrantEvents.PrepareChangeUserGrant(ctx, changed, true) if err != nil { return nil, err diff --git a/internal/management/repository/eventsourcing/eventstore/user.go b/internal/management/repository/eventsourcing/eventstore/user.go index 9c9e0af5d2..e8e285c316 100644 --- a/internal/management/repository/eventsourcing/eventstore/user.go +++ b/internal/management/repository/eventsourcing/eventstore/user.go @@ -2,20 +2,20 @@ package eventstore import ( "context" - "github.com/caos/zitadel/internal/config/systemdefaults" - caos_errs "github.com/caos/zitadel/internal/errors" - global_model "github.com/caos/zitadel/internal/model" - "github.com/caos/zitadel/internal/view/repository" "github.com/caos/logging" - "github.com/caos/zitadel/internal/api/authz" + "github.com/caos/zitadel/internal/config/systemdefaults" + "github.com/caos/zitadel/internal/errors" + caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/management/repository/eventsourcing/view" + global_model "github.com/caos/zitadel/internal/model" org_event "github.com/caos/zitadel/internal/org/repository/eventsourcing" policy_event "github.com/caos/zitadel/internal/policy/repository/eventsourcing" usr_model "github.com/caos/zitadel/internal/user/model" usr_event "github.com/caos/zitadel/internal/user/repository/eventsourcing" "github.com/caos/zitadel/internal/user/repository/view/model" + "github.com/caos/zitadel/internal/view/repository" ) type UserRepo struct { @@ -123,8 +123,8 @@ func (repo *UserRepo) UserChanges(ctx context.Context, id string, lastSequence u return nil, err } for _, change := range changes.Changes { - change.ModifierName = change.ModifierId - user, _ := repo.UserEvents.UserByID(ctx, change.ModifierId) + change.ModifierName = change.ModifierID + user, _ := repo.UserEvents.UserByID(ctx, change.ModifierID) if user != nil { change.ModifierName = user.DisplayName } @@ -149,6 +149,9 @@ func (repo *UserRepo) UserMfas(ctx context.Context, userID string) ([]*usr_model if err != nil { return nil, err } + if user.HumanView == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-xx0hV", "Errors.User.NotHuman") + } if user.OTPState == usr_model.MfaStateUnspecified { return []*usr_model.MultiFactor{}, nil } @@ -172,7 +175,51 @@ func (repo *UserRepo) ProfileByID(ctx context.Context, userID string) (*usr_mode if err != nil { return nil, err } - return user.GetProfile(), nil + if user.HumanView == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-gDFC2", "Errors.User.NotHuman") + } + return user.GetProfile() +} + +func (repo *UserRepo) ChangeMachine(ctx context.Context, machine *usr_model.Machine) (*usr_model.Machine, error) { + return repo.UserEvents.ChangeMachine(ctx, machine) +} + +func (repo *UserRepo) GetMachineKey(ctx context.Context, userID, keyID string) (*usr_model.MachineKeyView, error) { + key, err := repo.View.MachineKeyByIDs(userID, keyID) + if err != nil { + return nil, err + } + return model.MachineKeyToModel(key), nil +} + +func (repo *UserRepo) SearchMachineKeys(ctx context.Context, request *usr_model.MachineKeySearchRequest) (*usr_model.MachineKeySearchResponse, error) { + request.EnsureLimit(repo.SearchLimit) + sequence, seqErr := repo.View.GetLatestMachineKeySequence() + logging.Log("EVENT-Sk8fs").OnError(seqErr).Warn("could not read latest user sequence") + keys, count, err := repo.View.SearchMachineKeys(request) + if err != nil { + return nil, err + } + result := &usr_model.MachineKeySearchResponse{ + Offset: request.Offset, + Limit: request.Limit, + TotalResult: count, + Result: model.MachineKeysToModel(keys), + } + if seqErr == nil { + result.Sequence = sequence.CurrentSequence + result.Timestamp = sequence.CurrentTimestamp + } + return result, nil +} + +func (repo *UserRepo) AddMachineKey(ctx context.Context, key *usr_model.MachineKey) (*usr_model.MachineKey, error) { + return repo.UserEvents.AddMachineKey(ctx, key) +} + +func (repo *UserRepo) RemoveMachineKey(ctx context.Context, userID, keyID string) error { + return repo.UserEvents.RemoveMachineKey(ctx, userID, keyID) } func (repo *UserRepo) ChangeProfile(ctx context.Context, profile *usr_model.Profile) (*usr_model.Profile, error) { @@ -192,7 +239,10 @@ func (repo *UserRepo) EmailByID(ctx context.Context, userID string) (*usr_model. if err != nil { return nil, err } - return user.GetEmail(), nil + if user.HumanView == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-pt7HY", "Errors.User.NotHuman") + } + return user.GetEmail() } func (repo *UserRepo) ChangeEmail(ctx context.Context, email *usr_model.Email) (*usr_model.Email, error) { @@ -208,7 +258,10 @@ func (repo *UserRepo) PhoneByID(ctx context.Context, userID string) (*usr_model. if err != nil { return nil, err } - return user.GetPhone(), nil + if user.HumanView == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-hliQl", "Errors.User.NotHuman") + } + return user.GetPhone() } func (repo *UserRepo) ChangePhone(ctx context.Context, email *usr_model.Phone) (*usr_model.Phone, error) { @@ -228,7 +281,10 @@ func (repo *UserRepo) AddressByID(ctx context.Context, userID string) (*usr_mode if err != nil { return nil, err } - return user.GetAddress(), nil + if user.HumanView == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-LQh4I", "Errors.User.NotHuman") + } + return user.GetAddress() } func (repo *UserRepo) ChangeAddress(ctx context.Context, address *usr_model.Address) (*usr_model.Address, error) { diff --git a/internal/management/repository/eventsourcing/handler/handler.go b/internal/management/repository/eventsourcing/handler/handler.go index c86a7dfd93..5f2074210e 100644 --- a/internal/management/repository/eventsourcing/handler/handler.go +++ b/internal/management/repository/eventsourcing/handler/handler.go @@ -1,13 +1,13 @@ package handler import ( - "github.com/caos/zitadel/internal/config/systemdefaults" - iam_event "github.com/caos/zitadel/internal/iam/repository/eventsourcing" "time" + "github.com/caos/zitadel/internal/config/systemdefaults" "github.com/caos/zitadel/internal/config/types" "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/query" + iam_event "github.com/caos/zitadel/internal/iam/repository/eventsourcing" "github.com/caos/zitadel/internal/management/repository/eventsourcing/view" org_event "github.com/caos/zitadel/internal/org/repository/eventsourcing" proj_event "github.com/caos/zitadel/internal/project/repository/eventsourcing" @@ -48,6 +48,7 @@ func Register(configs Configs, bulkLimit, errorCount uint64, view *view.View, ev &OrgMember{handler: handler{view, bulkLimit, configs.cycleDuration("OrgMember"), errorCount}, userEvents: repos.UserEvents}, &OrgDomain{handler: handler{view, bulkLimit, configs.cycleDuration("OrgDomain"), errorCount}}, &UserMembership{handler: handler{view, bulkLimit, configs.cycleDuration("UserMembership"), errorCount}, orgEvents: repos.OrgEvents, projectEvents: repos.ProjectEvents}, + &MachineKeys{handler: handler{view, bulkLimit, configs.cycleDuration("MachineKeys"), errorCount}}, &IDPConfig{handler: handler{view, bulkLimit, configs.cycleDuration("IDPConfig"), errorCount}}, &LoginPolicy{handler: handler{view, bulkLimit, configs.cycleDuration("LoginPolicy"), errorCount}}, &IDPProvider{handler: handler{view, bulkLimit, configs.cycleDuration("IDPProvider"), errorCount}, systemDefaults: defaults, iamEvents: repos.IamEvents, orgEvents: repos.OrgEvents}, diff --git a/internal/management/repository/eventsourcing/handler/machine_keys.go b/internal/management/repository/eventsourcing/handler/machine_keys.go new file mode 100644 index 0000000000..c09a2bdcf7 --- /dev/null +++ b/internal/management/repository/eventsourcing/handler/machine_keys.go @@ -0,0 +1,73 @@ +package handler + +import ( + "time" + + "github.com/caos/logging" + + "github.com/caos/zitadel/internal/eventstore/models" + es_models "github.com/caos/zitadel/internal/eventstore/models" + "github.com/caos/zitadel/internal/eventstore/spooler" + "github.com/caos/zitadel/internal/user/repository/eventsourcing/model" + usr_model "github.com/caos/zitadel/internal/user/repository/view/model" +) + +type MachineKeys struct { + handler +} + +const ( + machineKeysTable = "management.machine_keys" +) + +func (d *MachineKeys) ViewModel() string { + return machineKeysTable +} + +func (d *MachineKeys) EventQuery() (*models.SearchQuery, error) { + sequence, err := d.view.GetLatestMachineKeySequence() + if err != nil { + return nil, err + } + return es_models.NewSearchQuery(). + AggregateTypeFilter(model.UserAggregate). + LatestSequenceFilter(sequence.CurrentSequence), nil +} + +func (d *MachineKeys) Reduce(event *models.Event) (err error) { + switch event.AggregateType { + case model.UserAggregate: + err = d.processMachineKeys(event) + } + return err +} + +func (d *MachineKeys) processMachineKeys(event *models.Event) (err error) { + key := new(usr_model.MachineKeyView) + switch event.Type { + case model.MachineKeyAdded: + err = key.AppendEvent(event) + if key.ExpirationDate.Before(time.Now()) { + return d.view.ProcessedMachineKeySequence(event.Sequence) + } + case model.MachineKeyRemoved: + err = key.SetData(event) + if err != nil { + return err + } + return d.view.DeleteMachineKey(key.ID, event.Sequence) + case model.UserRemoved: + return d.view.DeleteMachineKeysByUserID(event.AggregateID, event.Sequence) + default: + return d.view.ProcessedMachineKeySequence(event.Sequence) + } + if err != nil { + return err + } + return d.view.PutMachineKey(key, key.Sequence) +} + +func (d *MachineKeys) OnError(event *models.Event, err error) error { + logging.LogWithFields("SPOOL-S9fe", "id", event.AggregateID).WithError(err).Warn("something went wrong in machine key handler") + return spooler.HandleError(event, err, d.view.GetLatestMachineKeyFailedEvent, d.view.ProcessedMachineKeyFailedEvent, d.view.ProcessedMachineKeySequence, d.errorCountUntilSkip) +} diff --git a/internal/management/repository/eventsourcing/handler/org_domain.go b/internal/management/repository/eventsourcing/handler/org_domain.go index 7b44c71cfd..d3c21aa63e 100644 --- a/internal/management/repository/eventsourcing/handler/org_domain.go +++ b/internal/management/repository/eventsourcing/handler/org_domain.go @@ -69,8 +69,8 @@ func (d *OrgDomain) processOrgDomain(event *models.Event) (err error) { if err != nil { return err } - for _, existing := range existingDomains { - existing.Primary = false + for _, existingDomain := range existingDomains { + existingDomain.Primary = false } err = d.view.PutOrgDomains(existingDomains, 0) if err != nil { diff --git a/internal/management/repository/eventsourcing/handler/org_member.go b/internal/management/repository/eventsourcing/handler/org_member.go index 97df1fff1a..61e8816ca5 100644 --- a/internal/management/repository/eventsourcing/handler/org_member.go +++ b/internal/management/repository/eventsourcing/handler/org_member.go @@ -85,7 +85,10 @@ func (m *OrgMember) processOrgMember(event *models.Event) (err error) { func (m *OrgMember) processUser(event *models.Event) (err error) { switch event.Type { case usr_es_model.UserProfileChanged, - usr_es_model.UserEmailChanged: + usr_es_model.UserEmailChanged, + usr_es_model.HumanProfileChanged, + usr_es_model.HumanEmailChanged, + usr_es_model.MachineChanged: members, err := m.view.OrgMembersByUserID(event.AggregateID) if err != nil { return err @@ -118,10 +121,15 @@ func (m *OrgMember) fillData(member *org_model.OrgMemberView) (err error) { func (m *OrgMember) fillUserData(member *org_model.OrgMemberView, user *usr_model.User) { member.UserName = user.UserName - member.FirstName = user.FirstName - member.LastName = user.LastName - member.Email = user.EmailAddress - member.DisplayName = user.DisplayName + if user.Human != nil { + member.FirstName = user.FirstName + member.LastName = user.LastName + member.DisplayName = user.FirstName + " " + user.LastName + member.Email = user.EmailAddress + } + if user.Machine != nil { + member.DisplayName = user.Machine.Name + } } func (m *OrgMember) OnError(event *models.Event, err error) error { logging.LogWithFields("SPOOL-u73es", "id", event.AggregateID).WithError(err).Warn("something went wrong in orgmember handler") diff --git a/internal/management/repository/eventsourcing/handler/project_grant.go b/internal/management/repository/eventsourcing/handler/project_grant.go index 2e634b6235..3426c40022 100644 --- a/internal/management/repository/eventsourcing/handler/project_grant.go +++ b/internal/management/repository/eventsourcing/handler/project_grant.go @@ -111,13 +111,13 @@ func (p *ProjectGrant) updateExistingProjects(project *view_model.ProjectView, s if err != nil { logging.LogWithFields("SPOOL-los03", "id", project.ProjectID).WithError(err).Warn("could not update existing projects") } - for _, existing := range projectGrants { - existing.Name = project.Name + for _, existingGrant := range projectGrants { + existingGrant.Name = project.Name } return p.view.PutProjectGrants(projectGrants, sequence) } func (p *ProjectGrant) OnError(event *models.Event, err error) error { - logging.LogWithFields("SPOOL-is8wa", "id", event.AggregateID).WithError(err).Warn("something went wrong in granted projecthandler") + logging.LogWithFields("SPOOL-sQqOg", "id", event.AggregateID).WithError(err).Warn("something went wrong in granted projecthandler") return spooler.HandleError(event, err, p.view.GetLatestProjectGrantFailedEvent, p.view.ProcessedProjectGrantFailedEvent, p.view.ProcessedProjectGrantSequence, p.errorCountUntilSkip) } diff --git a/internal/management/repository/eventsourcing/handler/project_grant_member.go b/internal/management/repository/eventsourcing/handler/project_grant_member.go index 84839ae7b8..a95d83c8c4 100644 --- a/internal/management/repository/eventsourcing/handler/project_grant_member.go +++ b/internal/management/repository/eventsourcing/handler/project_grant_member.go @@ -87,7 +87,10 @@ func (p *ProjectGrantMember) processProjectGrantMember(event *models.Event) (err func (p *ProjectGrantMember) processUser(event *models.Event) (err error) { switch event.Type { case usr_es_model.UserProfileChanged, - usr_es_model.UserEmailChanged: + usr_es_model.UserEmailChanged, + usr_es_model.HumanProfileChanged, + usr_es_model.HumanEmailChanged, + usr_es_model.MachineChanged: members, err := p.view.ProjectGrantMembersByUserID(event.AggregateID) if err != nil { return err @@ -120,10 +123,15 @@ func (p *ProjectGrantMember) fillData(member *view_model.ProjectGrantMemberView) func (p *ProjectGrantMember) fillUserData(member *view_model.ProjectGrantMemberView, user *usr_model.User) { member.UserName = user.UserName - member.FirstName = user.FirstName - member.LastName = user.LastName - member.Email = user.EmailAddress - member.DisplayName = user.DisplayName + if user.Human != nil { + member.FirstName = user.FirstName + member.LastName = user.LastName + member.DisplayName = user.FirstName + " " + user.LastName + member.Email = user.EmailAddress + } + if user.Machine != nil { + member.DisplayName = user.Machine.Name + } } func (p *ProjectGrantMember) OnError(event *models.Event, err error) error { diff --git a/internal/management/repository/eventsourcing/handler/project_member.go b/internal/management/repository/eventsourcing/handler/project_member.go index 118a188302..f5df96d10b 100644 --- a/internal/management/repository/eventsourcing/handler/project_member.go +++ b/internal/management/repository/eventsourcing/handler/project_member.go @@ -87,7 +87,10 @@ func (p *ProjectMember) processProjectMember(event *models.Event) (err error) { func (p *ProjectMember) processUser(event *models.Event) (err error) { switch event.Type { case usr_es_model.UserProfileChanged, - usr_es_model.UserEmailChanged: + usr_es_model.UserEmailChanged, + usr_es_model.HumanProfileChanged, + usr_es_model.HumanEmailChanged, + usr_es_model.MachineChanged: members, err := p.view.ProjectMembersByUserID(event.AggregateID) if err != nil { return err @@ -120,10 +123,15 @@ func (p *ProjectMember) fillData(member *view_model.ProjectMemberView) (err erro func (p *ProjectMember) fillUserData(member *view_model.ProjectMemberView, user *usr_model.User) { member.UserName = user.UserName - member.FirstName = user.FirstName - member.LastName = user.LastName - member.Email = user.EmailAddress - member.DisplayName = user.DisplayName + if user.Human != nil { + member.FirstName = user.FirstName + member.LastName = user.LastName + member.Email = user.EmailAddress + member.DisplayName = user.FirstName + " " + user.LastName + } + if user.Machine != nil { + member.DisplayName = user.Machine.Name + } } func (p *ProjectMember) OnError(event *models.Event, err error) error { logging.LogWithFields("SPOOL-u73es", "id", event.AggregateID).WithError(err).Warn("something went wrong in projectmember handler") diff --git a/internal/management/repository/eventsourcing/handler/user.go b/internal/management/repository/eventsourcing/handler/user.go index d3cc26f4db..3ba2b916c4 100644 --- a/internal/management/repository/eventsourcing/handler/user.go +++ b/internal/management/repository/eventsourcing/handler/user.go @@ -55,7 +55,10 @@ func (u *User) ProcessUser(event *models.Event) (err error) { user := new(view_model.UserView) switch event.Type { case es_model.UserAdded, - es_model.UserRegistered: + es_model.UserRegistered, + es_model.HumanRegistered, + es_model.MachineAdded, + es_model.HumanAdded: err = user.AppendEvent(event) if err != nil { return err @@ -72,9 +75,20 @@ func (u *User) ProcessUser(event *models.Event) (err error) { es_model.UserReactivated, es_model.UserLocked, es_model.UserUnlocked, - es_model.MfaOtpAdded, - es_model.MfaOtpVerified, - es_model.MfaOtpRemoved: + es_model.MFAOTPAdded, + es_model.MFAOTPVerified, + es_model.MFAOTPRemoved, + es_model.HumanProfileChanged, + es_model.HumanEmailChanged, + es_model.HumanEmailVerified, + es_model.HumanPhoneChanged, + es_model.HumanPhoneVerified, + es_model.HumanPhoneRemoved, + es_model.HumanAddressChanged, + es_model.HumanMFAOTPAdded, + es_model.HumanMFAOTPVerified, + es_model.HumanMFAOTPRemoved, + es_model.MachineChanged: user, err = u.view.UserByID(event.AggregateID) if err != nil { return err diff --git a/internal/management/repository/eventsourcing/handler/user_grant.go b/internal/management/repository/eventsourcing/handler/user_grant.go index a941467f7e..ce8b1a93d6 100644 --- a/internal/management/repository/eventsourcing/handler/user_grant.go +++ b/internal/management/repository/eventsourcing/handler/user_grant.go @@ -92,7 +92,10 @@ func (u *UserGrant) processUserGrant(event *models.Event) (err error) { func (u *UserGrant) processUser(event *models.Event) (err error) { switch event.Type { case usr_es_model.UserProfileChanged, - usr_es_model.UserEmailChanged: + usr_es_model.UserEmailChanged, + usr_es_model.HumanProfileChanged, + usr_es_model.HumanEmailChanged, + usr_es_model.MachineChanged: grants, err := u.view.UserGrantsByUserID(event.AggregateID) if err != nil { return err @@ -160,10 +163,15 @@ func (u *UserGrant) fillData(grant *view_model.UserGrantView, resourceOwner stri func (u *UserGrant) fillUserData(grant *view_model.UserGrantView, user *usr_model.User) { grant.UserName = user.UserName - grant.FirstName = user.FirstName - grant.LastName = user.LastName - grant.DisplayName = user.DisplayName - grant.Email = user.EmailAddress + if user.Human != nil { + grant.FirstName = user.FirstName + grant.LastName = user.LastName + grant.DisplayName = user.FirstName + " " + user.LastName + grant.Email = user.EmailAddress + } + if user.Machine != nil { + grant.DisplayName = user.Machine.Name + } } func (u *UserGrant) fillProjectData(grant *view_model.UserGrantView, project *proj_model.Project) { diff --git a/internal/management/repository/eventsourcing/repository.go b/internal/management/repository/eventsourcing/repository.go index 98b785c91f..d304d4c9f5 100644 --- a/internal/management/repository/eventsourcing/repository.go +++ b/internal/management/repository/eventsourcing/repository.go @@ -3,12 +3,11 @@ package eventsourcing import ( "context" - es_iam "github.com/caos/zitadel/internal/iam/repository/eventsourcing" - sd "github.com/caos/zitadel/internal/config/systemdefaults" "github.com/caos/zitadel/internal/config/types" es_int "github.com/caos/zitadel/internal/eventstore" es_spol "github.com/caos/zitadel/internal/eventstore/spooler" + es_iam "github.com/caos/zitadel/internal/iam/repository/eventsourcing" "github.com/caos/zitadel/internal/management/repository/eventsourcing/eventstore" "github.com/caos/zitadel/internal/management/repository/eventsourcing/handler" "github.com/caos/zitadel/internal/management/repository/eventsourcing/spooler" diff --git a/internal/management/repository/eventsourcing/view/machine_keys.go b/internal/management/repository/eventsourcing/view/machine_keys.go new file mode 100644 index 0000000000..013183cc64 --- /dev/null +++ b/internal/management/repository/eventsourcing/view/machine_keys.go @@ -0,0 +1,67 @@ +package view + +import ( + usr_model "github.com/caos/zitadel/internal/user/model" + "github.com/caos/zitadel/internal/user/repository/view" + "github.com/caos/zitadel/internal/user/repository/view/model" + "github.com/caos/zitadel/internal/view/repository" +) + +const ( + machineKeyTable = "management.machine_keys" +) + +func (v *View) MachineKeyByIDs(userID, keyID string) (*model.MachineKeyView, error) { + return view.MachineKeyByIDs(v.Db, machineKeyTable, userID, keyID) +} + +func (v *View) MachineKeysByUserID(userID string) ([]*model.MachineKeyView, error) { + return view.MachineKeysByUserID(v.Db, machineKeyTable, userID) +} + +func (v *View) SearchMachineKeys(request *usr_model.MachineKeySearchRequest) ([]*model.MachineKeyView, uint64, error) { + return view.SearchMachineKeys(v.Db, machineKeyTable, request) +} + +func (v *View) PutMachineKey(org *model.MachineKeyView, sequence uint64) error { + err := view.PutMachineKey(v.Db, machineKeyTable, org) + if err != nil { + return err + } + if sequence != 0 { + return v.ProcessedMachineKeySequence(sequence) + } + return nil +} + +func (v *View) DeleteMachineKey(keyID string, eventSequence uint64) error { + err := view.DeleteMachineKey(v.Db, machineKeyTable, keyID) + if err != nil { + return nil + } + return v.ProcessedMachineKeySequence(eventSequence) +} + +func (v *View) DeleteMachineKeysByUserID(userID string, eventSequence uint64) error { + err := view.DeleteMachineKey(v.Db, machineKeyTable, userID) + if err != nil { + return nil + } + return v.ProcessedMachineKeySequence(eventSequence) +} + +func (v *View) GetLatestMachineKeySequence() (*repository.CurrentSequence, error) { + return v.latestSequence(machineKeyTable) +} + +func (v *View) ProcessedMachineKeySequence(eventSequence uint64) error { + return v.saveCurrentSequence(machineKeyTable, eventSequence) +} + +func (v *View) GetLatestMachineKeyFailedEvent(sequence uint64) (*repository.FailedEvent, error) { + return v.latestFailedEvent(machineKeyTable, sequence) +} + +func (v *View) ProcessedMachineKeyFailedEvent(failedEvent *repository.FailedEvent) error { + return v.saveFailedEvent(failedEvent) +} diff --git a/internal/management/repository/user.go b/internal/management/repository/user.go index b216eddf79..8cb90db9ff 100644 --- a/internal/management/repository/user.go +++ b/internal/management/repository/user.go @@ -15,10 +15,13 @@ type UserRepository interface { LockUser(ctx context.Context, id string) (*model.User, error) UnlockUser(ctx context.Context, id string) (*model.User, error) SearchUsers(ctx context.Context, request *model.UserSearchRequest) (*model.UserSearchResponse, error) - UserChanges(ctx context.Context, id string, lastSequence uint64, limit uint64, sortAscending bool) (*model.UserChanges, error) + GetUserByLoginNameGlobal(ctx context.Context, email string) (*model.UserView, error) IsUserUnique(ctx context.Context, userName, email string) (bool, error) - UserMfas(ctx context.Context, userID string) ([]*model.MultiFactor, error) + + UserChanges(ctx context.Context, id string, lastSequence uint64, limit uint64, sortAscending bool) (*model.UserChanges, error) + + ChangeUsername(ctx context.Context, id, username string) error SetOneTimePassword(ctx context.Context, password *model.Password) (*model.Password, error) RequestSetPassword(ctx context.Context, id string, notifyType model.NotificationType) error @@ -26,7 +29,13 @@ type UserRepository interface { ProfileByID(ctx context.Context, userID string) (*model.Profile, error) ChangeProfile(ctx context.Context, profile *model.Profile) (*model.Profile, error) - ChangeUsername(ctx context.Context, id, username string) error + UserMfas(ctx context.Context, userID string) ([]*model.MultiFactor, error) + + SearchMachineKeys(ctx context.Context, request *model.MachineKeySearchRequest) (*model.MachineKeySearchResponse, error) + GetMachineKey(ctx context.Context, userID, keyID string) (*model.MachineKeyView, error) + ChangeMachine(ctx context.Context, machine *model.Machine) (*model.Machine, error) + AddMachineKey(ctx context.Context, key *model.MachineKey) (*model.MachineKey, error) + RemoveMachineKey(ctx context.Context, userID, keyID string) error EmailByID(ctx context.Context, userID string) (*model.Email, error) ChangeEmail(ctx context.Context, email *model.Email) (*model.Email, error) diff --git a/internal/notification/repository/eventsourcing/handler/notification.go b/internal/notification/repository/eventsourcing/handler/notification.go index 665e379755..9991e72773 100644 --- a/internal/notification/repository/eventsourcing/handler/notification.go +++ b/internal/notification/repository/eventsourcing/handler/notification.go @@ -50,13 +50,17 @@ func (n *Notification) EventQuery() (*models.SearchQuery, error) { func (n *Notification) Reduce(event *models.Event) (err error) { switch event.Type { - case es_model.InitializedUserCodeAdded: + case es_model.InitializedUserCodeAdded, + es_model.InitializedHumanCodeAdded: err = n.handleInitUserCode(event) - case es_model.UserEmailCodeAdded: + case es_model.UserEmailCodeAdded, + es_model.HumanEmailCodeAdded: err = n.handleEmailVerificationCode(event) - case es_model.UserPhoneCodeAdded: + case es_model.UserPhoneCodeAdded, + es_model.HumanPhoneCodeAdded: err = n.handlePhoneVerificationCode(event) - case es_model.UserPasswordCodeAdded: + case es_model.UserPasswordCodeAdded, + es_model.HumanPasswordCodeAdded: err = n.handlePasswordCode(event) case es_model.DomainClaimed: err = n.handleDomainClaimed(event) diff --git a/internal/notification/repository/eventsourcing/handler/notify_user.go b/internal/notification/repository/eventsourcing/handler/notify_user.go index e16d9e367c..7c72d92205 100644 --- a/internal/notification/repository/eventsourcing/handler/notify_user.go +++ b/internal/notification/repository/eventsourcing/handler/notify_user.go @@ -55,7 +55,9 @@ func (u *NotifyUser) ProcessUser(event *models.Event) (err error) { user := new(view_model.NotifyUser) switch event.Type { case es_model.UserAdded, - es_model.UserRegistered: + es_model.UserRegistered, + es_model.HumanRegistered, + es_model.HumanAdded: user.AppendEvent(event) u.fillLoginNames(user) case es_model.UserProfileChanged, @@ -63,7 +65,14 @@ func (u *NotifyUser) ProcessUser(event *models.Event) (err error) { es_model.UserEmailVerified, es_model.UserPhoneChanged, es_model.UserPhoneVerified, - es_model.UserPhoneRemoved: + es_model.UserPhoneRemoved, + es_model.HumanProfileChanged, + es_model.HumanEmailChanged, + es_model.HumanEmailVerified, + es_model.HumanPhoneChanged, + es_model.HumanPhoneVerified, + es_model.HumanPhoneRemoved, + es_model.MachineChanged: user, err = u.view.NotifyUserByID(event.AggregateID) if err != nil { return err @@ -104,10 +113,6 @@ func (u *NotifyUser) ProcessOrg(event *models.Event) (err error) { default: return u.view.ProcessedNotifyUserSequence(event.Sequence) } - if err != nil { - return err - } - return nil } func (u *NotifyUser) fillLoginNamesOnOrgUsers(event *models.Event) error { diff --git a/internal/org/repository/eventsourcing/eventstore.go b/internal/org/repository/eventsourcing/eventstore.go index d02a286d36..083310122a 100644 --- a/internal/org/repository/eventsourcing/eventstore.go +++ b/internal/org/repository/eventsourcing/eventstore.go @@ -3,12 +3,8 @@ package eventsourcing import ( "context" "encoding/json" - iam_model "github.com/caos/zitadel/internal/iam/model" - iam_es_model "github.com/caos/zitadel/internal/iam/repository/eventsourcing/model" "github.com/caos/logging" - "github.com/golang/protobuf/ptypes" - http_utils "github.com/caos/zitadel/internal/api/http" "github.com/caos/zitadel/internal/config/systemdefaults" "github.com/caos/zitadel/internal/crypto" @@ -16,9 +12,12 @@ import ( "github.com/caos/zitadel/internal/eventstore" es_models "github.com/caos/zitadel/internal/eventstore/models" es_sdk "github.com/caos/zitadel/internal/eventstore/sdk" + iam_model "github.com/caos/zitadel/internal/iam/model" + iam_es_model "github.com/caos/zitadel/internal/iam/repository/eventsourcing/model" "github.com/caos/zitadel/internal/id" org_model "github.com/caos/zitadel/internal/org/model" "github.com/caos/zitadel/internal/org/repository/eventsourcing/model" + "github.com/golang/protobuf/ptypes" ) type OrgEventstore struct { @@ -174,11 +173,11 @@ func (es *OrgEventstore) AddOrgDomain(ctx context.Context, domain *org_model.Org if domain == nil || !domain.IsValid() { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-8sFJW", "Errors.Org.InvalidDomain") } - existing, err := es.OrgByID(ctx, org_model.NewOrg(domain.AggregateID)) + existingOrg, err := es.OrgByID(ctx, org_model.NewOrg(domain.AggregateID)) if err != nil { return nil, err } - repoOrg := model.OrgFromModel(existing) + repoOrg := model.OrgFromModel(existingOrg) repoDomain := model.OrgDomainFromModel(domain) aggregate := OrgDomainAddedAggregate(es.Eventstore.AggregateCreator(), repoOrg, repoDomain) @@ -201,11 +200,11 @@ func (es *OrgEventstore) GenerateOrgDomainValidation(ctx context.Context, domain if !ok { return "", "", errors.ThrowPreconditionFailed(nil, "EVENT-Gsw31", "Errors.Org.DomainVerificationTypeInvalid") } - existing, err := es.OrgByID(ctx, org_model.NewOrg(domain.AggregateID)) + existingOrg, err := es.OrgByID(ctx, org_model.NewOrg(domain.AggregateID)) if err != nil { return "", "", err } - _, d := existing.GetDomain(domain) + _, d := existingOrg.GetDomain(domain) if d == nil { return "", "", errors.ThrowPreconditionFailed(nil, "EVENT-AGD31", "Errors.Org.DomainNotOnOrg") } @@ -221,7 +220,7 @@ func (es *OrgEventstore) GenerateOrgDomainValidation(ctx context.Context, domain return "", "", errors.ThrowPreconditionFailed(err, "EVENT-Bae21", "Errors.Org.DomainVerificationTypeInvalid") } - repoOrg := model.OrgFromModel(existing) + repoOrg := model.OrgFromModel(existingOrg) repoDomain := model.OrgDomainFromModel(domain) aggregate := OrgDomainValidationGeneratedAggregate(es.Eventstore.AggregateCreator(), repoOrg, repoDomain) @@ -236,28 +235,28 @@ func (es *OrgEventstore) ValidateOrgDomain(ctx context.Context, domain *org_mode if domain == nil || !domain.IsValid() { return errors.ThrowPreconditionFailed(nil, "EVENT-R24hb", "Errors.Org.InvalidDomain") } - existing, err := es.OrgByID(ctx, org_model.NewOrg(domain.AggregateID)) + existingOrg, err := es.OrgByID(ctx, org_model.NewOrg(domain.AggregateID)) if err != nil { return err } - _, d := existing.GetDomain(domain) - if d == nil { + _, existingDomain := existingOrg.GetDomain(domain) + if existingDomain == nil { return errors.ThrowPreconditionFailed(nil, "EVENT-Sjdi3", "Errors.Org.DomainNotOnOrg") } - if d.Verified { + if existingDomain.Verified { return errors.ThrowPreconditionFailed(nil, "EVENT-4gT342", "Errors.Org.DomainAlreadyVerified") } - if d.ValidationCode == nil || d.ValidationType == org_model.OrgDomainValidationTypeUnspecified { + if existingDomain.ValidationCode == nil || existingDomain.ValidationType == org_model.OrgDomainValidationTypeUnspecified { return errors.ThrowPreconditionFailed(nil, "EVENT-SFBB3", "Errors.Org.DomainVerificationMissing") } - validationCode, err := crypto.DecryptString(d.ValidationCode, es.verificationAlgorithm) + validationCode, err := crypto.DecryptString(existingDomain.ValidationCode, es.verificationAlgorithm) if err != nil { return err } - repoOrg := model.OrgFromModel(existing) + repoOrg := model.OrgFromModel(existingOrg) repoDomain := model.OrgDomainFromModel(domain) - checkType, _ := d.ValidationType.CheckType() - err = es.verificationValidator(d.Domain, validationCode, validationCode, checkType) + checkType, _ := existingDomain.ValidationType.CheckType() + err = es.verificationValidator(existingDomain.Domain, validationCode, validationCode, checkType) if err == nil { orgAggregates, err := OrgDomainVerifiedAggregate(ctx, es.Eventstore.AggregateCreator(), repoOrg, repoDomain, users) if err != nil { @@ -275,18 +274,18 @@ func (es *OrgEventstore) SetPrimaryOrgDomain(ctx context.Context, domain *org_mo if domain == nil || !domain.IsValid() { return errors.ThrowPreconditionFailed(nil, "EVENT-SsDG2", "Errors.Org.InvalidDomain") } - existing, err := es.OrgByID(ctx, org_model.NewOrg(domain.AggregateID)) + existingOrg, err := es.OrgByID(ctx, org_model.NewOrg(domain.AggregateID)) if err != nil { return err } - _, d := existing.GetDomain(domain) - if d == nil { + _, existingDomain := existingOrg.GetDomain(domain) + if existingDomain == nil { return errors.ThrowPreconditionFailed(nil, "EVENT-GDfA3", "Errors.Org.DomainNotOnOrg") } - if !d.Verified { + if !existingDomain.Verified { return errors.ThrowPreconditionFailed(nil, "EVENT-Ggd32", "Errors.Org.DomainNotVerified") } - repoOrg := model.OrgFromModel(existing) + repoOrg := model.OrgFromModel(existingOrg) repoDomain := model.OrgDomainFromModel(domain) if err := es_sdk.Push(ctx, es.PushAggregates, repoOrg.AppendEvents, OrgDomainSetPrimaryAggregate(es.Eventstore.AggregateCreator(), repoOrg, repoDomain)); err != nil { return err @@ -298,18 +297,18 @@ func (es *OrgEventstore) RemoveOrgDomain(ctx context.Context, domain *org_model. if domain.Domain == "" { return errors.ThrowPreconditionFailed(nil, "EVENT-SJsK3", "Errors.Org.DomainMissing") } - existing, err := es.OrgByID(ctx, org_model.NewOrg(domain.AggregateID)) + existingOrg, err := es.OrgByID(ctx, org_model.NewOrg(domain.AggregateID)) if err != nil { return err } - _, d := existing.GetDomain(domain) - if d == nil { + _, existingDomain := existingOrg.GetDomain(domain) + if existingDomain == nil { return errors.ThrowPreconditionFailed(nil, "EVENT-Sjdi3", "Errors.Org.DomainNotOnOrg") } - if d.Primary { + if existingDomain.Primary { return errors.ThrowPreconditionFailed(nil, "EVENT-Sjdi3", "Errors.Org.PrimaryDomainNotDeletable") } - repoOrg := model.OrgFromModel(existing) + repoOrg := model.OrgFromModel(existingOrg) repoDomain := model.OrgDomainFromModel(domain) orgAggregates, err := OrgDomainRemovedAggregate(ctx, es.Eventstore.AggregateCreator(), repoOrg, repoDomain) if err != nil { @@ -400,7 +399,7 @@ func (es *OrgEventstore) OrgMemberByIDs(ctx context.Context, member *org_model.O func (es *OrgEventstore) PrepareAddOrgMember(ctx context.Context, member *org_model.OrgMember, resourceOwner string) (*model.OrgMember, *es_models.Aggregate, error) { if member == nil || !member.IsValid() { - return nil, nil, errors.ThrowPreconditionFailed(nil, "EVENT-9dk45", "Errors.Org.InvalidMember") + return nil, nil, errors.ThrowPreconditionFailed(nil, "EVENT-jRFLz", "Errors.Org.InvalidMember") } repoMember := model.OrgMemberFromModel(member) @@ -424,7 +423,7 @@ func (es *OrgEventstore) AddOrgMember(ctx context.Context, member *org_model.Org func (es *OrgEventstore) ChangeOrgMember(ctx context.Context, member *org_model.OrgMember) (*org_model.OrgMember, error) { if member == nil || !member.IsValid() { - return nil, errors.ThrowPreconditionFailed(nil, "EVENT-9dk45", "Errors.Org.InvalidMember") + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-ara6l", "Errors.Org.InvalidMember") } existingMember, err := es.OrgMemberByIDs(ctx, member) @@ -466,25 +465,25 @@ func (es *OrgEventstore) RemoveOrgMember(ctx context.Context, member *org_model. } func (es *OrgEventstore) GetOrgIAMPolicy(ctx context.Context, orgID string) (*org_model.OrgIAMPolicy, error) { - existing, err := es.OrgByID(ctx, org_model.NewOrg(orgID)) + existingOrg, err := es.OrgByID(ctx, org_model.NewOrg(orgID)) if err != nil && !errors.IsNotFound(err) { return nil, err } - if existing != nil && existing.OrgIamPolicy != nil { - return existing.OrgIamPolicy, nil + if existingOrg != nil && existingOrg.OrgIamPolicy != nil { + return existingOrg.OrgIamPolicy, nil } return es.defaultOrgIamPolicy, nil } func (es *OrgEventstore) AddOrgIAMPolicy(ctx context.Context, policy *org_model.OrgIAMPolicy) (*org_model.OrgIAMPolicy, error) { - existing, err := es.OrgByID(ctx, org_model.NewOrg(policy.AggregateID)) + existingOrg, err := es.OrgByID(ctx, org_model.NewOrg(policy.AggregateID)) if err != nil { return nil, err } - if existing.OrgIamPolicy != nil { + if existingOrg.OrgIamPolicy != nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-7Usj3", "Errors.Org.PolicyAlreadyExists") } - repoOrg := model.OrgFromModel(existing) + repoOrg := model.OrgFromModel(existingOrg) repoPolicy := model.OrgIAMPolicyFromModel(policy) orgAggregate := OrgIAMPolicyAddedAggregate(es.Eventstore.AggregateCreator(), repoOrg, repoPolicy) if err != nil { @@ -499,14 +498,14 @@ func (es *OrgEventstore) AddOrgIAMPolicy(ctx context.Context, policy *org_model. } func (es *OrgEventstore) ChangeOrgIAMPolicy(ctx context.Context, policy *org_model.OrgIAMPolicy) (*org_model.OrgIAMPolicy, error) { - existing, err := es.OrgByID(ctx, org_model.NewOrg(policy.AggregateID)) + existingOrg, err := es.OrgByID(ctx, org_model.NewOrg(policy.AggregateID)) if err != nil { return nil, err } - if existing.OrgIamPolicy == nil { + if existingOrg.OrgIamPolicy == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-8juSd", "Errors.Org.PolicyNotExisting") } - repoOrg := model.OrgFromModel(existing) + repoOrg := model.OrgFromModel(existingOrg) repoPolicy := model.OrgIAMPolicyFromModel(policy) orgAggregate := OrgIAMPolicyChangedAggregate(es.Eventstore.AggregateCreator(), repoOrg, repoPolicy) if err != nil { @@ -521,14 +520,14 @@ func (es *OrgEventstore) ChangeOrgIAMPolicy(ctx context.Context, policy *org_mod } func (es *OrgEventstore) RemoveOrgIAMPolicy(ctx context.Context, orgID string) error { - existing, err := es.OrgByID(ctx, org_model.NewOrg(orgID)) + existingOrg, err := es.OrgByID(ctx, org_model.NewOrg(orgID)) if err != nil { return err } - if existing.OrgIamPolicy == nil { + if existingOrg.OrgIamPolicy == nil { return errors.ThrowPreconditionFailed(nil, "EVENT-z6Dse", "Errors.Org.PolicyNotExisting") } - repoOrg := model.OrgFromModel(existing) + repoOrg := model.OrgFromModel(existingOrg) orgAggregate := OrgIamPolicyRemovedAggregate(es.Eventstore.AggregateCreator(), repoOrg) if err != nil { return err diff --git a/internal/org/repository/eventsourcing/model/org_test.go b/internal/org/repository/eventsourcing/model/org_test.go index e83c6f4e2e..07dd9c75f4 100644 --- a/internal/org/repository/eventsourcing/model/org_test.go +++ b/internal/org/repository/eventsourcing/model/org_test.go @@ -117,8 +117,8 @@ func TestAppendEvent(t *testing.T) { func TestChanges(t *testing.T) { type args struct { - existing *Org - new *Org + existingOrg *Org + newOrg *Org } type res struct { changesLen int @@ -131,8 +131,8 @@ func TestChanges(t *testing.T) { { name: "org name changes", args: args{ - existing: &Org{Name: "Name"}, - new: &Org{Name: "NameChanged"}, + existingOrg: &Org{Name: "Name"}, + newOrg: &Org{Name: "NameChanged"}, }, res: res{ changesLen: 1, @@ -141,8 +141,8 @@ func TestChanges(t *testing.T) { { name: "no changes", args: args{ - existing: &Org{Name: "Name"}, - new: &Org{Name: "Name"}, + existingOrg: &Org{Name: "Name"}, + newOrg: &Org{Name: "Name"}, }, res: res{ changesLen: 0, @@ -151,7 +151,7 @@ func TestChanges(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - changes := tt.args.existing.Changes(tt.args.new) + changes := tt.args.existingOrg.Changes(tt.args.newOrg) if len(changes) != tt.res.changesLen { t.Errorf("got wrong changes len: expected: %v, actual: %v ", tt.res.changesLen, len(changes)) } diff --git a/internal/org/repository/eventsourcing/org.go b/internal/org/repository/eventsourcing/org.go index 2fc8ccee82..97c6f1956e 100644 --- a/internal/org/repository/eventsourcing/org.go +++ b/internal/org/repository/eventsourcing/org.go @@ -93,14 +93,14 @@ func addDomainAggregateAndEvents(ctx context.Context, aggCreator *es_models.Aggr return aggregates, nil } -func OrgUpdateAggregates(ctx context.Context, aggCreator *es_models.AggregateCreator, existing *model.Org, updated *model.Org) ([]*es_models.Aggregate, error) { - if existing == nil { +func OrgUpdateAggregates(ctx context.Context, aggCreator *es_models.AggregateCreator, existingOrg *model.Org, updatedOrg *model.Org) ([]*es_models.Aggregate, error) { + if existingOrg == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-dk83d", "Errors.Internal") } - if updated == nil { + if updatedOrg == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-dhr74", "Errors.Internal") } - changes := existing.Changes(updated) + changes := existingOrg.Changes(updatedOrg) if len(changes) == 0 { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-E0hc5", "Errors.NoChangesFound") } @@ -113,14 +113,14 @@ func OrgUpdateAggregates(ctx context.Context, aggCreator *es_models.AggregateCre return nil, err } aggregates = append(aggregates, nameAggregate) - nameReleasedAggregate, err := releasedUniqueNameAggregate(ctx, aggCreator, "", existing.Name) + nameReleasedAggregate, err := releasedUniqueNameAggregate(ctx, aggCreator, "", existingOrg.Name) if err != nil { return nil, err } aggregates = append(aggregates, nameReleasedAggregate) } - orgAggregate, err := OrgAggregate(ctx, aggCreator, existing.AggregateID, existing.Sequence) + orgAggregate, err := OrgAggregate(ctx, aggCreator, existingOrg.AggregateID, existingOrg.Sequence) if err != nil { return nil, err } @@ -231,12 +231,12 @@ func releasedUniqueNameAggregate(ctx context.Context, aggCreator *es_models.Aggr return aggregate.SetPrecondition(OrgNameUniqueQuery(name), isEventValidation(aggregate, model.OrgNameReleased)), nil } -func OrgDomainAddedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Org, domain *model.OrgDomain) func(ctx context.Context) (*es_models.Aggregate, error) { +func OrgDomainAddedAggregate(aggCreator *es_models.AggregateCreator, existingOrg *model.Org, domain *model.OrgDomain) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if domain == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-OSid3", "Errors.Internal") } - agg, err := OrgAggregate(ctx, aggCreator, existing.AggregateID, existing.Sequence) + agg, err := OrgAggregate(ctx, aggCreator, existingOrg.AggregateID, existingOrg.Sequence) if err != nil { return nil, err } @@ -244,12 +244,12 @@ func OrgDomainAddedAggregate(aggCreator *es_models.AggregateCreator, existing *m } } -func OrgDomainValidationGeneratedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Org, domain *model.OrgDomain) func(ctx context.Context) (*es_models.Aggregate, error) { +func OrgDomainValidationGeneratedAggregate(aggCreator *es_models.AggregateCreator, existingOrg *model.Org, domain *model.OrgDomain) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if domain == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-GD2gq", "Errors.Internal") } - agg, err := OrgAggregate(ctx, aggCreator, existing.AggregateID, existing.Sequence) + agg, err := OrgAggregate(ctx, aggCreator, existingOrg.AggregateID, existingOrg.Sequence) if err != nil { return nil, err } @@ -257,12 +257,12 @@ func OrgDomainValidationGeneratedAggregate(aggCreator *es_models.AggregateCreato } } -func OrgDomainValidationFailedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Org, domain *model.OrgDomain) func(ctx context.Context) (*es_models.Aggregate, error) { +func OrgDomainValidationFailedAggregate(aggCreator *es_models.AggregateCreator, existingOrg *model.Org, domain *model.OrgDomain) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if domain == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-BHF52", "Errors.Internal") } - agg, err := OrgAggregate(ctx, aggCreator, existing.AggregateID, existing.Sequence) + agg, err := OrgAggregate(ctx, aggCreator, existingOrg.AggregateID, existingOrg.Sequence) if err != nil { return nil, err } @@ -270,28 +270,28 @@ func OrgDomainValidationFailedAggregate(aggCreator *es_models.AggregateCreator, } } -func OrgDomainVerifiedAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, existing *model.Org, domain *model.OrgDomain, users func(context.Context, string) ([]*es_models.Aggregate, error)) ([]*es_models.Aggregate, error) { +func OrgDomainVerifiedAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, existingOrg *model.Org, domain *model.OrgDomain, users func(context.Context, string) ([]*es_models.Aggregate, error)) ([]*es_models.Aggregate, error) { if domain == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-DHs7s", "Errors.Internal") } - agg, err := OrgAggregate(ctx, aggCreator, existing.AggregateID, existing.Sequence) + agg, err := OrgAggregate(ctx, aggCreator, existingOrg.AggregateID, existingOrg.Sequence) if err != nil { return nil, err } - aggregates, err := orgDomainVerified(ctx, aggCreator, agg, existing, domain, users) + aggregates, err := orgDomainVerified(ctx, aggCreator, agg, existingOrg, domain, users) if err != nil { return nil, err } return append(aggregates, agg), nil } -func orgDomainVerified(ctx context.Context, aggCreator *es_models.AggregateCreator, agg *es_models.Aggregate, existing *model.Org, domain *model.OrgDomain, users func(context.Context, string) ([]*es_models.Aggregate, error)) ([]*es_models.Aggregate, error) { +func orgDomainVerified(ctx context.Context, aggCreator *es_models.AggregateCreator, agg *es_models.Aggregate, existingOrg *model.Org, domain *model.OrgDomain, users func(context.Context, string) ([]*es_models.Aggregate, error)) ([]*es_models.Aggregate, error) { agg, err := agg.AppendEvent(model.OrgDomainVerified, domain) if err != nil { return nil, err } - domainAgregate, err := reservedUniqueDomainAggregate(ctx, aggCreator, existing.AggregateID, domain.Domain) + domainAgregate, err := reservedUniqueDomainAggregate(ctx, aggCreator, existingOrg.AggregateID, domain.Domain) if err != nil { return nil, err } @@ -306,12 +306,12 @@ func orgDomainVerified(ctx context.Context, aggCreator *es_models.AggregateCreat return aggregates, nil } -func OrgDomainSetPrimaryAggregate(aggCreator *es_models.AggregateCreator, existing *model.Org, domain *model.OrgDomain) func(ctx context.Context) (*es_models.Aggregate, error) { +func OrgDomainSetPrimaryAggregate(aggCreator *es_models.AggregateCreator, existingOrg *model.Org, domain *model.OrgDomain) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if domain == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-PSw3j", "Errors.Internal") } - agg, err := OrgAggregate(ctx, aggCreator, existing.AggregateID, existing.Sequence) + agg, err := OrgAggregate(ctx, aggCreator, existingOrg.AggregateID, existingOrg.Sequence) if err != nil { return nil, err } @@ -319,12 +319,12 @@ func OrgDomainSetPrimaryAggregate(aggCreator *es_models.AggregateCreator, existi } } -func OrgDomainRemovedAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, existing *model.Org, domain *model.OrgDomain) ([]*es_models.Aggregate, error) { +func OrgDomainRemovedAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, existingOrg *model.Org, domain *model.OrgDomain) ([]*es_models.Aggregate, error) { if domain == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-si8dW", "Errors.Internal") } aggregates := make([]*es_models.Aggregate, 0, 2) - agg, err := OrgAggregate(ctx, aggCreator, existing.AggregateID, existing.Sequence) + agg, err := OrgAggregate(ctx, aggCreator, existingOrg.AggregateID, existingOrg.Sequence) if err != nil { return nil, err } @@ -333,7 +333,7 @@ func OrgDomainRemovedAggregate(ctx context.Context, aggCreator *es_models.Aggreg return nil, err } aggregates = append(aggregates, agg) - domainAgregate, err := releasedUniqueDomainAggregate(ctx, aggCreator, existing.AggregateID, domain.Domain) + domainAgregate, err := releasedUniqueDomainAggregate(ctx, aggCreator, existingOrg.AggregateID, domain.Domain) if err != nil { return nil, err } diff --git a/internal/org/repository/eventsourcing/org_iam_policy.go b/internal/org/repository/eventsourcing/org_iam_policy.go index 95febd9dc1..274ba07998 100644 --- a/internal/org/repository/eventsourcing/org_iam_policy.go +++ b/internal/org/repository/eventsourcing/org_iam_policy.go @@ -2,17 +2,18 @@ package eventsourcing import ( "context" + "github.com/caos/zitadel/internal/errors" es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/org/repository/eventsourcing/model" ) -func OrgIAMPolicyAddedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Org, policy *model.OrgIAMPolicy) func(ctx context.Context) (*es_models.Aggregate, error) { +func OrgIAMPolicyAddedAggregate(aggCreator *es_models.AggregateCreator, org *model.Org, policy *model.OrgIAMPolicy) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if policy == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-i9sJS", "Errors.Internal") } - agg, err := OrgAggregate(ctx, aggCreator, existing.AggregateID, existing.Sequence) + agg, err := OrgAggregate(ctx, aggCreator, org.AggregateID, org.Sequence) if err != nil { return nil, err } @@ -20,16 +21,16 @@ func OrgIAMPolicyAddedAggregate(aggCreator *es_models.AggregateCreator, existing } } -func OrgIAMPolicyChangedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Org, policy *model.OrgIAMPolicy) func(ctx context.Context) (*es_models.Aggregate, error) { +func OrgIAMPolicyChangedAggregate(aggCreator *es_models.AggregateCreator, org *model.Org, policy *model.OrgIAMPolicy) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if policy == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-9Ksie", "Errors.Internal") } - agg, err := OrgAggregate(ctx, aggCreator, existing.AggregateID, existing.Sequence) + agg, err := OrgAggregate(ctx, aggCreator, org.AggregateID, org.Sequence) if err != nil { return nil, err } - changes := existing.OrgIamPolicy.Changes(policy) + changes := org.OrgIamPolicy.Changes(policy) if len(changes) == 0 { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-Js6Vs", "Errors.NoChangesFound") } @@ -37,9 +38,9 @@ func OrgIAMPolicyChangedAggregate(aggCreator *es_models.AggregateCreator, existi } } -func OrgIamPolicyRemovedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Org) func(ctx context.Context) (*es_models.Aggregate, error) { +func OrgIamPolicyRemovedAggregate(aggCreator *es_models.AggregateCreator, org *model.Org) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := OrgAggregate(ctx, aggCreator, existing.AggregateID, existing.Sequence) + agg, err := OrgAggregate(ctx, aggCreator, org.AggregateID, org.Sequence) if err != nil { return nil, err } diff --git a/internal/org/repository/eventsourcing/org_test.go b/internal/org/repository/eventsourcing/org_test.go index 1cf296c5b1..02a27dd648 100644 --- a/internal/org/repository/eventsourcing/org_test.go +++ b/internal/org/repository/eventsourcing/org_test.go @@ -367,10 +367,10 @@ func TestOrgUpdateAggregates(t *testing.T) { isErr func(error) bool } type args struct { - ctx context.Context - aggCreator *es_models.AggregateCreator - existing *model.Org - updated *model.Org + ctx context.Context + aggCreator *es_models.AggregateCreator + existingOrg *model.Org + updated *model.Org } tests := []struct { name string @@ -380,10 +380,10 @@ func TestOrgUpdateAggregates(t *testing.T) { { name: "no existing org error", args: args{ - ctx: authz.NewMockContext("org", "user"), - aggCreator: es_models.NewAggregateCreator("test"), - existing: nil, - updated: &model.Org{}, + ctx: authz.NewMockContext("org", "user"), + aggCreator: es_models.NewAggregateCreator("test"), + existingOrg: nil, + updated: &model.Org{}, }, res: res{ aggregateCount: 0, @@ -393,10 +393,10 @@ func TestOrgUpdateAggregates(t *testing.T) { { name: "no updated org error", args: args{ - ctx: authz.NewMockContext("org", "user"), - aggCreator: es_models.NewAggregateCreator("test"), - existing: &model.Org{}, - updated: nil, + ctx: authz.NewMockContext("org", "user"), + aggCreator: es_models.NewAggregateCreator("test"), + existingOrg: &model.Org{}, + updated: nil, }, res: res{ aggregateCount: 0, @@ -406,10 +406,10 @@ func TestOrgUpdateAggregates(t *testing.T) { { name: "no changes", args: args{ - ctx: authz.NewMockContext("org", "user"), - aggCreator: es_models.NewAggregateCreator("test"), - existing: &model.Org{}, - updated: &model.Org{}, + ctx: authz.NewMockContext("org", "user"), + aggCreator: es_models.NewAggregateCreator("test"), + existingOrg: &model.Org{}, + updated: &model.Org{}, }, res: res{ aggregateCount: 0, @@ -421,7 +421,7 @@ func TestOrgUpdateAggregates(t *testing.T) { args: args{ ctx: authz.NewMockContext("org", "user"), aggCreator: es_models.NewAggregateCreator("test"), - existing: &model.Org{ + existingOrg: &model.Org{ ObjectRoot: es_models.ObjectRoot{ AggregateID: "sdaf", Sequence: 5, @@ -444,7 +444,7 @@ func TestOrgUpdateAggregates(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - got, err := OrgUpdateAggregates(tt.args.ctx, tt.args.aggCreator, tt.args.existing, tt.args.updated) + got, err := OrgUpdateAggregates(tt.args.ctx, tt.args.aggCreator, tt.args.existingOrg, tt.args.updated) if tt.res.isErr == nil && err != nil { t.Errorf("no error expected got: %v", err) } diff --git a/internal/org/repository/view/model/org_member.go b/internal/org/repository/view/model/org_member.go index b990831b6a..12510cdbc2 100644 --- a/internal/org/repository/view/model/org_member.go +++ b/internal/org/repository/view/model/org_member.go @@ -2,9 +2,10 @@ package model import ( "encoding/json" - es_model "github.com/caos/zitadel/internal/org/repository/eventsourcing/model" "time" + es_model "github.com/caos/zitadel/internal/org/repository/eventsourcing/model" + "github.com/caos/logging" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore/models" @@ -36,22 +37,6 @@ type OrgMemberView struct { ChangeDate time.Time `json:"-" gorm:"column:change_date"` } -func OrgMemberViewFromModel(member *model.OrgMemberView) *OrgMemberView { - return &OrgMemberView{ - UserID: member.UserID, - OrgID: member.OrgID, - UserName: member.UserName, - Email: member.Email, - FirstName: member.FirstName, - LastName: member.LastName, - DisplayName: member.DisplayName, - Roles: member.Roles, - Sequence: member.Sequence, - CreationDate: member.CreationDate, - ChangeDate: member.ChangeDate, - } -} - func OrgMemberToModel(member *OrgMemberView) *model.OrgMemberView { return &model.OrgMemberView{ UserID: member.UserID, diff --git a/internal/policy/repository/eventsourcing/policy_age.go b/internal/policy/repository/eventsourcing/policy_age.go index b07dc88dac..61675f0d96 100644 --- a/internal/policy/repository/eventsourcing/policy_age.go +++ b/internal/policy/repository/eventsourcing/policy_age.go @@ -36,16 +36,16 @@ func PasswordAgePolicyCreateAggregate(aggCreator *es_models.AggregateCreator, po } } -func PasswordAgePolicyUpdateAggregate(aggCreator *es_models.AggregateCreator, existing *PasswordAgePolicy, new *PasswordAgePolicy) func(ctx context.Context) (*es_models.Aggregate, error) { +func PasswordAgePolicyUpdateAggregate(aggCreator *es_models.AggregateCreator, existingPolicy *PasswordAgePolicy, newPolicy *PasswordAgePolicy) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { - if new == nil { + if newPolicy == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-dhr74", "Errors.Internal") } - agg, err := PasswordAgePolicyAggregate(ctx, aggCreator, existing) + agg, err := PasswordAgePolicyAggregate(ctx, aggCreator, existingPolicy) if err != nil { return nil, err } - changes := existing.AgeChanges(new) + changes := existingPolicy.AgeChanges(newPolicy) return agg.AppendEvent(model.PasswordAgePolicyChanged, changes) } } diff --git a/internal/policy/repository/eventsourcing/policy_age_test.go b/internal/policy/repository/eventsourcing/policy_age_test.go index 3adbbadf49..407911f540 100644 --- a/internal/policy/repository/eventsourcing/policy_age_test.go +++ b/internal/policy/repository/eventsourcing/policy_age_test.go @@ -188,10 +188,10 @@ func TestPasswordAgePolicyCreateAggregate(t *testing.T) { func TestPasswordAgePolicyUpdateAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *PasswordAgePolicy - new *PasswordAgePolicy - aggCreator *models.AggregateCreator + ctx context.Context + existingPolicy *PasswordAgePolicy + newPolicy *PasswordAgePolicy + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -207,10 +207,10 @@ func TestPasswordAgePolicyUpdateAggregate(t *testing.T) { { name: "policy update aggregate ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &PasswordAgePolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "PolicyName", State: int32(policy_model.PolicyStateActive)}, - new: &PasswordAgePolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "PolicyName_Changed", State: int32(policy_model.PolicyStateActive)}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingPolicy: &PasswordAgePolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "PolicyName", State: int32(policy_model.PolicyStateActive)}, + newPolicy: &PasswordAgePolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "PolicyName_Changed", State: int32(policy_model.PolicyStateActive)}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -220,9 +220,9 @@ func TestPasswordAgePolicyUpdateAggregate(t *testing.T) { { name: "existing policy nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingPolicy: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -234,10 +234,10 @@ func TestPasswordAgePolicyUpdateAggregate(t *testing.T) { { name: "new policy nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &PasswordAgePolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "ProjectName", State: int32(policy_model.PolicyStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingPolicy: &PasswordAgePolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "ProjectName", State: int32(policy_model.PolicyStateActive)}, + newPolicy: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -249,7 +249,7 @@ func TestPasswordAgePolicyUpdateAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := PasswordAgePolicyUpdateAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := PasswordAgePolicyUpdateAggregate(tt.args.aggCreator, tt.args.existingPolicy, tt.args.newPolicy)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) diff --git a/internal/policy/repository/eventsourcing/policy_complexity.go b/internal/policy/repository/eventsourcing/policy_complexity.go index 28ca863a21..360449e226 100644 --- a/internal/policy/repository/eventsourcing/policy_complexity.go +++ b/internal/policy/repository/eventsourcing/policy_complexity.go @@ -37,16 +37,16 @@ func PasswordComplexityPolicyCreateAggregate(aggCreator *es_models.AggregateCrea } } -func PasswordComplexityPolicyUpdateAggregate(aggCreator *es_models.AggregateCreator, existing *PasswordComplexityPolicy, new *PasswordComplexityPolicy) func(ctx context.Context) (*es_models.Aggregate, error) { +func PasswordComplexityPolicyUpdateAggregate(aggCreator *es_models.AggregateCreator, existingPolicy *PasswordComplexityPolicy, newPolicy *PasswordComplexityPolicy) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { - if new == nil { + if newPolicy == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-dhr74", "Errors.Internal") } - agg, err := PasswordComplexityPolicyAggregate(ctx, aggCreator, existing) + agg, err := PasswordComplexityPolicyAggregate(ctx, aggCreator, existingPolicy) if err != nil { return nil, err } - changes := existing.ComplexityChanges(new) + changes := existingPolicy.ComplexityChanges(newPolicy) return agg.AppendEvent(model.PasswordComplexityPolicyChanged, changes) } } diff --git a/internal/policy/repository/eventsourcing/policy_complexity_test.go b/internal/policy/repository/eventsourcing/policy_complexity_test.go index 27e33a6229..b819a94bb3 100644 --- a/internal/policy/repository/eventsourcing/policy_complexity_test.go +++ b/internal/policy/repository/eventsourcing/policy_complexity_test.go @@ -188,10 +188,10 @@ func TestPasswordComplexityPolicyCreateAggregate(t *testing.T) { func TestPasswordComplexityPolicyUpdateAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *PasswordComplexityPolicy - new *PasswordComplexityPolicy - aggCreator *models.AggregateCreator + ctx context.Context + existingPolicy *PasswordComplexityPolicy + newPolicy *PasswordComplexityPolicy + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -207,10 +207,10 @@ func TestPasswordComplexityPolicyUpdateAggregate(t *testing.T) { { name: "policy update aggregate ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &PasswordComplexityPolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "PolicyName", State: int32(policy_model.PolicyStateActive)}, - new: &PasswordComplexityPolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "PolicyName_Changed", State: int32(policy_model.PolicyStateActive)}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingPolicy: &PasswordComplexityPolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "PolicyName", State: int32(policy_model.PolicyStateActive)}, + newPolicy: &PasswordComplexityPolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "PolicyName_Changed", State: int32(policy_model.PolicyStateActive)}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -220,9 +220,9 @@ func TestPasswordComplexityPolicyUpdateAggregate(t *testing.T) { { name: "existing policy nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingPolicy: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -234,10 +234,10 @@ func TestPasswordComplexityPolicyUpdateAggregate(t *testing.T) { { name: "new policy nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &PasswordComplexityPolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "ProjectName", State: int32(policy_model.PolicyStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingPolicy: &PasswordComplexityPolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "ProjectName", State: int32(policy_model.PolicyStateActive)}, + newPolicy: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -249,7 +249,7 @@ func TestPasswordComplexityPolicyUpdateAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := PasswordComplexityPolicyUpdateAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := PasswordComplexityPolicyUpdateAggregate(tt.args.aggCreator, tt.args.existingPolicy, tt.args.newPolicy)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) diff --git a/internal/policy/repository/eventsourcing/policy_lockout.go b/internal/policy/repository/eventsourcing/policy_lockout.go index 9e9cf5c735..c01715e8c8 100644 --- a/internal/policy/repository/eventsourcing/policy_lockout.go +++ b/internal/policy/repository/eventsourcing/policy_lockout.go @@ -38,16 +38,16 @@ func PasswordLockoutPolicyCreateAggregate(aggCreator *es_models.AggregateCreator } } -func PasswordLockoutPolicyUpdateAggregate(aggCreator *es_models.AggregateCreator, existing *PasswordLockoutPolicy, new *PasswordLockoutPolicy) func(ctx context.Context) (*es_models.Aggregate, error) { +func PasswordLockoutPolicyUpdateAggregate(aggCreator *es_models.AggregateCreator, existingPolicy *PasswordLockoutPolicy, newPolicy *PasswordLockoutPolicy) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { - if new == nil { + if newPolicy == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-dhr74", "Errors.Internal") } - agg, err := PasswordLockoutPolicyAggregate(ctx, aggCreator, existing) + agg, err := PasswordLockoutPolicyAggregate(ctx, aggCreator, existingPolicy) if err != nil { return nil, err } - changes := existing.LockoutChanges(new) + changes := existingPolicy.LockoutChanges(newPolicy) return agg.AppendEvent(model.PasswordLockoutPolicyChanged, changes) } } diff --git a/internal/policy/repository/eventsourcing/policy_lockout_test.go b/internal/policy/repository/eventsourcing/policy_lockout_test.go index 6d2b48072b..7caa3b394b 100644 --- a/internal/policy/repository/eventsourcing/policy_lockout_test.go +++ b/internal/policy/repository/eventsourcing/policy_lockout_test.go @@ -125,7 +125,7 @@ func TestPasswordLockoutPolicyAggregate(t *testing.T) { func TestPasswordLockoutPolicyCreateAggregate(t *testing.T) { type args struct { ctx context.Context - new *PasswordLockoutPolicy + newPolicy *PasswordLockoutPolicy aggCreator *models.AggregateCreator } type res struct { @@ -143,7 +143,7 @@ func TestPasswordLockoutPolicyCreateAggregate(t *testing.T) { name: "policy update aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - new: &PasswordLockoutPolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "PolicyName", State: int32(policy_model.PolicyStateActive)}, + newPolicy: &PasswordLockoutPolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "PolicyName", State: int32(policy_model.PolicyStateActive)}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ @@ -155,7 +155,7 @@ func TestPasswordLockoutPolicyCreateAggregate(t *testing.T) { name: "new policy nil", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - new: nil, + newPolicy: nil, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ @@ -168,7 +168,7 @@ func TestPasswordLockoutPolicyCreateAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := PasswordLockoutPolicyCreateAggregate(tt.args.aggCreator, tt.args.new)(tt.args.ctx) + agg, err := PasswordLockoutPolicyCreateAggregate(tt.args.aggCreator, tt.args.newPolicy)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -188,10 +188,10 @@ func TestPasswordLockoutPolicyCreateAggregate(t *testing.T) { func TestPasswordLockoutPolicyUpdateAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *PasswordLockoutPolicy - new *PasswordLockoutPolicy - aggCreator *models.AggregateCreator + ctx context.Context + existingPolicy *PasswordLockoutPolicy + newPolicy *PasswordLockoutPolicy + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -207,10 +207,10 @@ func TestPasswordLockoutPolicyUpdateAggregate(t *testing.T) { { name: "policy update aggregate ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &PasswordLockoutPolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "PolicyName", State: int32(policy_model.PolicyStateActive)}, - new: &PasswordLockoutPolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "PolicyName_Changed", State: int32(policy_model.PolicyStateActive)}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingPolicy: &PasswordLockoutPolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "PolicyName", State: int32(policy_model.PolicyStateActive)}, + newPolicy: &PasswordLockoutPolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "PolicyName_Changed", State: int32(policy_model.PolicyStateActive)}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -220,9 +220,9 @@ func TestPasswordLockoutPolicyUpdateAggregate(t *testing.T) { { name: "existing policy nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingPolicy: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -234,10 +234,10 @@ func TestPasswordLockoutPolicyUpdateAggregate(t *testing.T) { { name: "new policy nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &PasswordLockoutPolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "ProjectName", State: int32(policy_model.PolicyStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingPolicy: &PasswordLockoutPolicy{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Description: "ProjectName", State: int32(policy_model.PolicyStateActive)}, + newPolicy: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -249,7 +249,7 @@ func TestPasswordLockoutPolicyUpdateAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := PasswordLockoutPolicyUpdateAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := PasswordLockoutPolicyUpdateAggregate(tt.args.aggCreator, tt.args.existingPolicy, tt.args.newPolicy)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) diff --git a/internal/project/model/project_member_view.go b/internal/project/model/project_member_view.go index d3d95e04b6..fa828fe3fe 100644 --- a/internal/project/model/project_member_view.go +++ b/internal/project/model/project_member_view.go @@ -1,8 +1,9 @@ package model import ( - "github.com/caos/zitadel/internal/model" "time" + + "github.com/caos/zitadel/internal/model" ) type ProjectMemberView struct { diff --git a/internal/project/repository/eventsourcing/eventstore.go b/internal/project/repository/eventsourcing/eventstore.go index f22370f23c..c7e552e441 100644 --- a/internal/project/repository/eventsourcing/eventstore.go +++ b/internal/project/repository/eventsourcing/eventstore.go @@ -80,7 +80,7 @@ func (es *ProjectEventstore) ProjectEventsByID(ctx context.Context, id string, s func (es *ProjectEventstore) CreateProject(ctx context.Context, project *proj_model.Project) (*proj_model.Project, error) { if !project.IsValid() { - return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-9dk45", "Errors.Project.Invalid") + return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-IOVCC", "Errors.Project.Invalid") } id, err := es.idGenerator.Next() if err != nil { @@ -106,7 +106,7 @@ func (es *ProjectEventstore) CreateProject(ctx context.Context, project *proj_mo func (es *ProjectEventstore) UpdateProject(ctx context.Context, project *proj_model.Project) (*proj_model.Project, error) { if !project.IsValid() { - return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-9dk45", "Errors.Project.Invalid") + return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-7eBD6", "Errors.Project.Invalid") } existingProject, err := es.ProjectByID(ctx, project.AggregateID) if err != nil { @@ -126,15 +126,15 @@ func (es *ProjectEventstore) UpdateProject(ctx context.Context, project *proj_mo } func (es *ProjectEventstore) DeactivateProject(ctx context.Context, id string) (*proj_model.Project, error) { - existing, err := es.ProjectByID(ctx, id) + existingProject, err := es.ProjectByID(ctx, id) if err != nil { return nil, err } - if !existing.IsActive() { + if !existingProject.IsActive() { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-die45", "Errors.Project.NotActive") } - repoExisting := model.ProjectFromModel(existing) + repoExisting := model.ProjectFromModel(existingProject) aggregate := ProjectDeactivateAggregate(es.AggregateCreator(), repoExisting) err = es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, aggregate) if err != nil { @@ -145,15 +145,15 @@ func (es *ProjectEventstore) DeactivateProject(ctx context.Context, id string) ( } func (es *ProjectEventstore) ReactivateProject(ctx context.Context, id string) (*proj_model.Project, error) { - existing, err := es.ProjectByID(ctx, id) + existingProject, err := es.ProjectByID(ctx, id) if err != nil { return nil, err } - if existing.IsActive() { + if existingProject.IsActive() { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-die45", "Errors.Project.NotInactive") } - repoExisting := model.ProjectFromModel(existing) + repoExisting := model.ProjectFromModel(existingProject) aggregate := ProjectReactivateAggregate(es.AggregateCreator(), repoExisting) err = es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, aggregate) if err != nil { @@ -180,11 +180,11 @@ func (es *ProjectEventstore) PrepareRemoveProject(ctx context.Context, proj *pro if proj.AggregateID == "" { return nil, nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-Akbov", "Errors.ProjectInvalid") } - existing, err := es.ProjectByID(ctx, proj.AggregateID) + existingProject, err := es.ProjectByID(ctx, proj.AggregateID) if err != nil { return nil, nil, err } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) projectAggregate, err := ProjectRemovedAggregate(ctx, es.Eventstore.AggregateCreator(), repoProject) if err != nil { return nil, nil, err @@ -209,16 +209,16 @@ func (es *ProjectEventstore) ProjectMemberByIDs(ctx context.Context, member *pro func (es *ProjectEventstore) AddProjectMember(ctx context.Context, member *proj_model.ProjectMember) (*proj_model.ProjectMember, error) { if !member.IsValid() { - return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-9dk45", "Errors.Project.MemberInvalid") + return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-2OWkC", "Errors.Project.MemberInvalid") } - existing, err := es.ProjectByID(ctx, member.AggregateID) + existingProject, err := es.ProjectByID(ctx, member.AggregateID) if err != nil { return nil, err } - if _, m := existing.GetMember(member.UserID); m != nil { + if _, m := existingProject.GetMember(member.UserID); m != nil { return nil, caos_errs.ThrowAlreadyExists(nil, "EVENT-idke6", "Errors.Project.MemberAlreadyExists") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoMember := model.ProjectMemberFromModel(member) addAggregate := ProjectMemberAddedAggregate(es.Eventstore.AggregateCreator(), repoProject, repoMember) @@ -236,16 +236,16 @@ func (es *ProjectEventstore) AddProjectMember(ctx context.Context, member *proj_ func (es *ProjectEventstore) ChangeProjectMember(ctx context.Context, member *proj_model.ProjectMember) (*proj_model.ProjectMember, error) { if !member.IsValid() { - return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-9dk45", "Errors.Project.MemberInvalid") + return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-Buh04", "Errors.Project.MemberInvalid") } - existing, err := es.ProjectByID(ctx, member.AggregateID) + existingProject, err := es.ProjectByID(ctx, member.AggregateID) if err != nil { return nil, err } - if _, m := existing.GetMember(member.UserID); m == nil { + if _, m := existingProject.GetMember(member.UserID); m == nil { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-oe39f", "Errors.Project.MemberNotExisting") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoMember := model.ProjectMemberFromModel(member) projectAggregate := ProjectMemberChangedAggregate(es.Eventstore.AggregateCreator(), repoProject, repoMember) @@ -265,14 +265,14 @@ func (es *ProjectEventstore) RemoveProjectMember(ctx context.Context, member *pr if member.UserID == "" { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-d43fs", "Errors.Project.MemberInvalid") } - existing, err := es.ProjectByID(ctx, member.AggregateID) + existingProject, err := es.ProjectByID(ctx, member.AggregateID) if err != nil { return err } - if _, m := existing.GetMember(member.UserID); m == nil { + if _, m := existingProject.GetMember(member.UserID); m == nil { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-swf34", "Errors.Project.MemberNotExisting") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoMember := model.ProjectMemberFromModel(member) projectAggregate := ProjectMemberRemovedAggregate(es.Eventstore.AggregateCreator(), repoProject, repoMember) @@ -288,14 +288,14 @@ func (es *ProjectEventstore) PrepareRemoveProjectMember(ctx context.Context, mem if member.UserID == "" { return nil, nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-tCXHE", "Errors.Project.MemberInvalid") } - existing, err := es.ProjectByID(ctx, member.AggregateID) + existingProject, err := es.ProjectByID(ctx, member.AggregateID) if err != nil { return nil, nil, err } - if _, m := existing.GetMember(member.UserID); m == nil { + if _, m := existingProject.GetMember(member.UserID); m == nil { return nil, nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-wPcg5", "Errors.Project.MemberNotExisting") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoMember := model.ProjectMemberFromModel(member) projectAggregate := ProjectMemberRemovedAggregate(es.Eventstore.AggregateCreator(), repoProject, repoMember) @@ -316,17 +316,17 @@ func (es *ProjectEventstore) AddProjectRoles(ctx context.Context, roles ...*proj return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-idue3", "Errors.Project.MemberInvalid") } } - existing, err := es.ProjectByID(ctx, roles[0].AggregateID) + existingProject, err := es.ProjectByID(ctx, roles[0].AggregateID) if err != nil { return nil, err } for _, role := range roles { - if existing.ContainsRole(role) { + if existingProject.ContainsRole(role) { return nil, caos_errs.ThrowAlreadyExists(nil, "EVENT-sk35t", "Errors.Project.RoleAlreadyExists") } } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoRoles := model.ProjectRolesFromModel(roles) projectAggregate := ProjectRoleAddedAggregate(es.Eventstore.AggregateCreator(), repoProject, repoRoles...) err = es_sdk.Push(ctx, es.PushAggregates, repoProject.AppendEvents, projectAggregate) @@ -347,14 +347,14 @@ func (es *ProjectEventstore) ChangeProjectRole(ctx context.Context, role *proj_m if !role.IsValid() { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-9die3", "Errors.Project.RoleInvalid") } - existing, err := es.ProjectByID(ctx, role.AggregateID) + existingProject, err := es.ProjectByID(ctx, role.AggregateID) if err != nil { return nil, err } - if !existing.ContainsRole(role) { + if !existingProject.ContainsRole(role) { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-die34", "Errors.Project.RoleNotExisting") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoRole := model.ProjectRoleFromModel(role) projectAggregate := ProjectRoleChangedAggregate(es.Eventstore.AggregateCreator(), repoProject, repoRole) err = es_sdk.Push(ctx, es.PushAggregates, repoProject.AppendEvents, projectAggregate) @@ -374,14 +374,14 @@ func (es *ProjectEventstore) PrepareRemoveProjectRole(ctx context.Context, role if role.Key == "" { return nil, nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-id823", "Errors.Project.RoleInvalid") } - existing, err := es.ProjectByID(ctx, role.AggregateID) + existingProject, err := es.ProjectByID(ctx, role.AggregateID) if err != nil { return nil, nil, err } - if !existing.ContainsRole(role) { + if !existingProject.ContainsRole(role) { return nil, nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-oe823", "Errors.Project.RoleNotExisting") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoRole := model.ProjectRoleFromModel(role) grants := es.RemoveRoleFromGrants(repoProject, role.Key) projectAggregate, err := ProjectRoleRemovedAggregate(ctx, es.Eventstore.AggregateCreator(), repoProject, repoRole, grants) @@ -391,9 +391,9 @@ func (es *ProjectEventstore) PrepareRemoveProjectRole(ctx context.Context, role return repoProject, projectAggregate, nil } -func (es *ProjectEventstore) RemoveRoleFromGrants(existing *model.Project, roleKey string) []*model.ProjectGrant { - grants := make([]*model.ProjectGrant, len(existing.Grants)) - for i, grant := range existing.Grants { +func (es *ProjectEventstore) RemoveRoleFromGrants(existingProject *model.Project, roleKey string) []*model.ProjectGrant { + grants := make([]*model.ProjectGrant, len(existingProject.Grants)) + for i, grant := range existingProject.Grants { newGrant := *grant roles := make([]string, 0) for _, role := range newGrant.RoleKeys { @@ -468,7 +468,7 @@ func (es *ProjectEventstore) ProjectChanges(ctx context.Context, id string, last }, nil } -func ChangesQuery(projID string, latestSequence, limit uint64, sortAscending bool) *es_models.SearchQuery { +func ChangesQuery(projectID string, latestSequence, limit uint64, sortAscending bool) *es_models.SearchQuery { query := es_models.NewSearchQuery(). AggregateTypeFilter(model.ProjectAggregate) if !sortAscending { @@ -476,7 +476,7 @@ func ChangesQuery(projID string, latestSequence, limit uint64, sortAscending boo } query.LatestSequenceFilter(latestSequence). - AggregateIDFilter(projID). + AggregateIDFilter(projectID). SetLimit(limit) return query } @@ -500,7 +500,7 @@ func (es *ProjectEventstore) AddApplication(ctx context.Context, app *proj_model if app == nil || !app.IsValid(true) { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-9eidw", "Errors.Project.AppInvalid") } - existing, err := es.ProjectByID(ctx, app.AggregateID) + existingProject, err := es.ProjectByID(ctx, app.AggregateID) if err != nil { return nil, err } @@ -513,7 +513,7 @@ func (es *ProjectEventstore) AddApplication(ctx context.Context, app *proj_model var stringPw string if app.OIDCConfig != nil { app.OIDCConfig.AppID = id - err := app.OIDCConfig.GenerateNewClientID(es.idGenerator, existing) + err := app.OIDCConfig.GenerateNewClientID(es.idGenerator, existingProject) if err != nil { return nil, err } @@ -522,7 +522,7 @@ func (es *ProjectEventstore) AddApplication(ctx context.Context, app *proj_model return nil, err } } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoApp := model.AppFromModel(app) addAggregate := ApplicationAddedAggregate(es.Eventstore.AggregateCreator(), repoProject, repoApp) @@ -544,14 +544,14 @@ func (es *ProjectEventstore) ChangeApplication(ctx context.Context, app *proj_mo if app == nil || !app.IsValid(false) { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-dieuw", "Errors.Project.AppInvalid") } - existing, err := es.ProjectByID(ctx, app.AggregateID) + existingProject, err := es.ProjectByID(ctx, app.AggregateID) if err != nil { return nil, err } - if _, app := existing.GetApp(app.AppID); app == nil { + if _, app := existingProject.GetApp(app.AppID); app == nil { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-die83", "Errors.Project.AppNotExisting") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoApp := model.AppFromModel(app) projectAggregate := ApplicationChangedAggregate(es.Eventstore.AggregateCreator(), repoProject, repoApp) @@ -570,14 +570,14 @@ func (es *ProjectEventstore) RemoveApplication(ctx context.Context, app *proj_mo if app.AppID == "" { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-id832", "Errors.Project.IDMissing") } - existing, err := es.ProjectByID(ctx, app.AggregateID) + existingProject, err := es.ProjectByID(ctx, app.AggregateID) if err != nil { return err } - if _, app := existing.GetApp(app.AppID); app == nil { + if _, app := existingProject.GetApp(app.AppID); app == nil { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-di83s", "Errors.Project.AppNotExisting") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) appRepo := model.AppFromModel(app) projectAggregate := ApplicationRemovedAggregate(es.Eventstore.AggregateCreator(), repoProject, appRepo) err = es_sdk.Push(ctx, es.PushAggregates, repoProject.AppendEvents, projectAggregate) @@ -592,14 +592,14 @@ func (es *ProjectEventstore) PrepareRemoveApplication(ctx context.Context, app * if app.AppID == "" { return nil, nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-xu0Wy", "Errors.Project.IDMissing") } - existing, err := es.ProjectByID(ctx, app.AggregateID) + existingProject, err := es.ProjectByID(ctx, app.AggregateID) if err != nil { return nil, nil, err } - if _, app := existing.GetApp(app.AppID); app == nil { + if _, app := existingProject.GetApp(app.AppID); app == nil { return nil, nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-gaOD2", "Errors.Project.AppNotExisting") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) appRepo := model.AppFromModel(app) projectAggregate := ApplicationRemovedAggregate(es.Eventstore.AggregateCreator(), repoProject, appRepo) agg, err := projectAggregate(ctx) @@ -659,15 +659,15 @@ func (es *ProjectEventstore) DeactivateApplication(ctx context.Context, projectI if appID == "" { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-dlp9e", "Errors.Project.IDMissing") } - existing, err := es.ProjectByID(ctx, projectID) + existingProject, err := es.ProjectByID(ctx, projectID) if err != nil { return nil, err } app := &proj_model.Application{AppID: appID} - if _, app := existing.GetApp(app.AppID); app == nil { + if _, app := existingProject.GetApp(app.AppID); app == nil { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-slpe9", "Errors.Project.AppNotExisting") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoApp := model.AppFromModel(app) projectAggregate := ApplicationDeactivatedAggregate(es.Eventstore.AggregateCreator(), repoProject, repoApp) @@ -686,15 +686,15 @@ func (es *ProjectEventstore) ReactivateApplication(ctx context.Context, projectI if appID == "" { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-0odi2", "Errors.Project.IDMissing") } - existing, err := es.ProjectByID(ctx, projectID) + existingProject, err := es.ProjectByID(ctx, projectID) if err != nil { return nil, err } app := &proj_model.Application{AppID: appID} - if _, app := existing.GetApp(app.AppID); app == nil { + if _, app := existingProject.GetApp(app.AppID); app == nil { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-ld92d", "Errors.Project.AppNotExisting") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoApp := model.AppFromModel(app) projectAggregate := ApplicationReactivatedAggregate(es.Eventstore.AggregateCreator(), repoProject, repoApp) @@ -713,18 +713,18 @@ func (es *ProjectEventstore) ChangeOIDCConfig(ctx context.Context, config *proj_ if config == nil || !config.IsValid() { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-du834", "Errors.Project.OIDCConfigInvalid") } - existing, err := es.ProjectByID(ctx, config.AggregateID) + existingProject, err := es.ProjectByID(ctx, config.AggregateID) if err != nil { return nil, err } var app *proj_model.Application - if _, app = existing.GetApp(config.AppID); app == nil { + if _, app = existingProject.GetApp(config.AppID); app == nil { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-dkso8", "Errors.Project.AppNoExisting") } if app.Type != proj_model.AppTypeOIDC { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-98uje", "Errors.Project.AppIsNotOIDC") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoConfig := model.OIDCConfigFromModel(config) projectAggregate := OIDCConfigChangedAggregate(es.Eventstore.AggregateCreator(), repoProject, repoConfig) @@ -743,12 +743,12 @@ func (es *ProjectEventstore) ChangeOIDCConfigSecret(ctx context.Context, project if appID == "" { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-7ue34", "Errors.Project.OIDCConfigInvalid") } - existing, err := es.ProjectByID(ctx, projectID) + existingProject, err := es.ProjectByID(ctx, projectID) if err != nil { return nil, err } var app *proj_model.Application - if _, app = existing.GetApp(appID); app == nil { + if _, app = existingProject.GetApp(appID); app == nil { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-9odi4", "Errors.Project.AppNotExisting") } if app.Type != proj_model.AppTypeOIDC { @@ -757,7 +757,7 @@ func (es *ProjectEventstore) ChangeOIDCConfigSecret(ctx context.Context, project if app.OIDCConfig.AuthMethodType == proj_model.OIDCAuthMethodTypeNone { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-GDrg2", "Errors.Project.OIDCAuthMethodNoneSecret") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) stringPw, err := app.OIDCConfig.GenerateNewClientSecret(es.pwGenerator) if err != nil { @@ -784,12 +784,12 @@ func (es *ProjectEventstore) VerifyOIDCClientSecret(ctx context.Context, project if appID == "" { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-H3RT2", "Errors.Project.RequiredFieldsMissing") } - existing, err := es.ProjectByID(ctx, projectID) + existingProject, err := es.ProjectByID(ctx, projectID) if err != nil { return err } var app *proj_model.Application - if _, app = existing.GetApp(appID); app == nil { + if _, app = existingProject.GetApp(appID); app == nil { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-D6hba", "Errors.Project.AppNoExisting") } if app.Type != proj_model.AppTypeOIDC { @@ -797,9 +797,9 @@ func (es *ProjectEventstore) VerifyOIDCClientSecret(ctx context.Context, project } if err := crypto.CompareHash(app.OIDCConfig.ClientSecret, []byte(secret), es.passwordAlg); err == nil { - return es.setOIDCClientSecretCheckResult(ctx, existing, app.AppID, OIDCClientSecretCheckSucceededAggregate) + return es.setOIDCClientSecretCheckResult(ctx, existingProject, app.AppID, OIDCClientSecretCheckSucceededAggregate) } - if err := es.setOIDCClientSecretCheckResult(ctx, existing, app.AppID, OIDCClientSecretCheckFailedAggregate); err != nil { + if err := es.setOIDCClientSecretCheckResult(ctx, existingProject, app.AppID, OIDCClientSecretCheckFailedAggregate); err != nil { return err } return caos_errs.ThrowInvalidArgument(nil, "EVENT-wg24q", "Errors.Internal") @@ -834,14 +834,14 @@ func (es *ProjectEventstore) AddProjectGrant(ctx context.Context, grant *proj_mo if grant == nil || !grant.IsValid() { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-37dhs", "Errors.Project.GrantInvalid") } - existing, err := es.ProjectByID(ctx, grant.AggregateID) + existingProject, err := es.ProjectByID(ctx, grant.AggregateID) if err != nil { return nil, err } - if existing.ContainsGrantForOrg(grant.GrantedOrgID) { + if existingProject.ContainsGrantForOrg(grant.GrantedOrgID) { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-7ug4g", "Errors.Project.GrantAlreadyExists") } - if !existing.ContainsRoles(grant.RoleKeys) { + if !existingProject.ContainsRoles(grant.RoleKeys) { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-di83d", "Errors.Project.GrantHasNotExistingRole") } id, err := es.idGenerator.Next() @@ -850,7 +850,7 @@ func (es *ProjectEventstore) AddProjectGrant(ctx context.Context, grant *proj_mo } grant.GrantID = id - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoGrant := model.GrantFromModel(grant) addAggregate := ProjectGrantAddedAggregate(es.Eventstore.AggregateCreator(), repoProject, repoGrant) @@ -868,19 +868,19 @@ func (es *ProjectEventstore) PrepareChangeProjectGrant(ctx context.Context, gran if grant == nil && grant.GrantID == "" { return nil, nil, nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-8sie3", "Errors.Project.GrantInvalid") } - existing, err := es.ProjectByID(ctx, grant.AggregateID) + existingProject, err := es.ProjectByID(ctx, grant.AggregateID) if err != nil { return nil, nil, nil, err } - _, existingGrant := existing.GetGrant(grant.GrantID) + _, existingGrant := existingProject.GetGrant(grant.GrantID) if existingGrant == nil { return nil, nil, nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-die83", "Errors.Project.GrantNotExisting") } - if !existing.ContainsRoles(grant.RoleKeys) { + if !existingProject.ContainsRoles(grant.RoleKeys) { return nil, nil, nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-di83d", "Error.Project.GrantHasNotExistingRole") } removedRoles := existingGrant.GetRemovedRoles(grant.RoleKeys) - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoGrant := model.GrantFromModel(grant) projectAggregate := ProjectGrantChangedAggregate(es.Eventstore.AggregateCreator(), repoProject, repoGrant) @@ -920,14 +920,14 @@ func (es *ProjectEventstore) PrepareRemoveProjectGrant(ctx context.Context, gran if grant.GrantID == "" { return nil, nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-8eud6", "Errors.Project.IDMissing") } - existing, err := es.ProjectByID(ctx, grant.AggregateID) + existingProject, err := es.ProjectByID(ctx, grant.AggregateID) if err != nil { return nil, nil, err } - if _, g := existing.GetGrant(grant.GrantID); g == nil { + if _, g := existingProject.GetGrant(grant.GrantID); g == nil { return nil, nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-9ie3s", "Errors.Project.GrantNotExisting") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) grantRepo := model.GrantFromModel(grant) projectAggregate := ProjectGrantRemovedAggregate(es.Eventstore.AggregateCreator(), repoProject, grantRepo) return repoProject, projectAggregate, nil @@ -937,15 +937,15 @@ func (es *ProjectEventstore) DeactivateProjectGrant(ctx context.Context, project if grantID == "" { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-7due2", "Errors.Project.IDMissing") } - existing, err := es.ProjectByID(ctx, projectID) + existingProject, err := es.ProjectByID(ctx, projectID) if err != nil { return nil, err } grant := &proj_model.ProjectGrant{GrantID: grantID} - if _, g := existing.GetGrant(grant.GrantID); g == nil { + if _, g := existingProject.GetGrant(grant.GrantID); g == nil { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-slpe9", "Errors.Project.GrantNotExisting") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoGrant := model.GrantFromModel(grant) projectAggregate := ProjectGrantDeactivatedAggregate(es.Eventstore.AggregateCreator(), repoProject, repoGrant) @@ -964,15 +964,15 @@ func (es *ProjectEventstore) ReactivateProjectGrant(ctx context.Context, project if grantID == "" { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-d7suw", "Errors.Project.IDMissing") } - existing, err := es.ProjectByID(ctx, projectID) + existingProject, err := es.ProjectByID(ctx, projectID) if err != nil { return nil, err } grant := &proj_model.ProjectGrant{GrantID: grantID} - if _, g := existing.GetGrant(grant.GrantID); g == nil { + if _, g := existingProject.GetGrant(grant.GrantID); g == nil { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-0spew", "Errors.Project.GrantNotExisting") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoGrant := model.GrantFromModel(grant) projectAggregate := ProjectGrantReactivatedAggregate(es.Eventstore.AggregateCreator(), repoProject, repoGrant) @@ -1008,14 +1008,14 @@ func (es *ProjectEventstore) AddProjectGrantMember(ctx context.Context, member * if !member.IsValid() { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-0dor4", "Errors.Project.MemberInvalid") } - existing, err := es.ProjectByID(ctx, member.AggregateID) + existingProject, err := es.ProjectByID(ctx, member.AggregateID) if err != nil { return nil, err } - if existing.ContainsGrantMember(member) { + if existingProject.ContainsGrantMember(member) { return nil, caos_errs.ThrowAlreadyExists(nil, "EVENT-8die3", "Errors.Project.MemberAlreadyExists") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoMember := model.GrantMemberFromModel(member) addAggregate := ProjectGrantMemberAddedAggregate(es.Eventstore.AggregateCreator(), repoProject, repoMember) @@ -1036,14 +1036,14 @@ func (es *ProjectEventstore) ChangeProjectGrantMember(ctx context.Context, membe if !member.IsValid() { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-dkw35", "Errors.Project.MemberInvalid") } - existing, err := es.ProjectByID(ctx, member.AggregateID) + existingProject, err := es.ProjectByID(ctx, member.AggregateID) if err != nil { return nil, err } - if !existing.ContainsGrantMember(member) { + if !existingProject.ContainsGrantMember(member) { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-8dj4s", "Errors.Project.MemberNotExisting") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoMember := model.GrantMemberFromModel(member) projectAggregate := ProjectGrantMemberChangedAggregate(es.Eventstore.AggregateCreator(), repoProject, repoMember) @@ -1064,14 +1064,14 @@ func (es *ProjectEventstore) RemoveProjectGrantMember(ctx context.Context, membe if member.UserID == "" { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-8su4r", "Errors.Project.MemberInvalid") } - existing, err := es.ProjectByID(ctx, member.AggregateID) + existingProject, err := es.ProjectByID(ctx, member.AggregateID) if err != nil { return err } - if !existing.ContainsGrantMember(member) { + if !existingProject.ContainsGrantMember(member) { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-9ode4", "Errors.Project.MemberNotExisting") } - repoProject := model.ProjectFromModel(existing) + repoProject := model.ProjectFromModel(existingProject) repoMember := model.GrantMemberFromModel(member) projectAggregate := ProjectGrantMemberRemovedAggregate(es.Eventstore.AggregateCreator(), repoProject, repoMember) diff --git a/internal/project/repository/eventsourcing/eventstore_test.go b/internal/project/repository/eventsourcing/eventstore_test.go index b13443cdb9..6c954e589d 100644 --- a/internal/project/repository/eventsourcing/eventstore_test.go +++ b/internal/project/repository/eventsourcing/eventstore_test.go @@ -207,10 +207,10 @@ func TestUpdateProject(t *testing.T) { func TestDeactivateProject(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *ProjectEventstore - ctx context.Context - existing *model.Project - new *model.Project + es *ProjectEventstore + ctx context.Context + existingProject *model.Project + newProject *model.Project } type res struct { project *model.Project @@ -225,9 +225,9 @@ func TestDeactivateProject(t *testing.T) { { name: "deactivate project, ok", args: args{ - es: GetMockManipulateProject(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Name: "Name", State: model.ProjectStateActive}, + es: GetMockManipulateProject(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Name: "Name", State: model.ProjectStateActive}, }, res: res{ project: &model.Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Name: "NameNew", State: model.ProjectStateInactive}, @@ -236,9 +236,9 @@ func TestDeactivateProject(t *testing.T) { { name: "deactivate project with inactive state", args: args{ - es: GetMockManipulateInactiveProject(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Name: "Name", State: model.ProjectStateInactive}, + es: GetMockManipulateInactiveProject(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Name: "Name", State: model.ProjectStateInactive}, }, res: res{ wantErr: true, @@ -248,9 +248,9 @@ func TestDeactivateProject(t *testing.T) { { name: "existing not found", args: args{ - es: GetMockManipulateProjectNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Name: "Name", State: model.ProjectStateActive}, + es: GetMockManipulateProjectNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Name: "Name", State: model.ProjectStateActive}, }, res: res{ wantErr: true, @@ -260,7 +260,7 @@ func TestDeactivateProject(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - result, err := tt.args.es.DeactivateProject(tt.args.ctx, tt.args.existing.AggregateID) + result, err := tt.args.es.DeactivateProject(tt.args.ctx, tt.args.existingProject.AggregateID) if !tt.res.wantErr && result.AggregateID == "" { t.Errorf("result has no id") @@ -278,10 +278,10 @@ func TestDeactivateProject(t *testing.T) { func TestReactivateProject(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *ProjectEventstore - ctx context.Context - existing *model.Project - new *model.Project + es *ProjectEventstore + ctx context.Context + existingPolicy *model.Project + newPolicy *model.Project } type res struct { project *model.Project @@ -296,9 +296,9 @@ func TestReactivateProject(t *testing.T) { { name: "reactivate project, ok", args: args{ - es: GetMockManipulateInactiveProject(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Name: "Name", State: model.ProjectStateInactive}, + es: GetMockManipulateInactiveProject(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + existingPolicy: &model.Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Name: "Name", State: model.ProjectStateInactive}, }, res: res{ project: &model.Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Name: "NameNew", State: model.ProjectStateActive}, @@ -307,9 +307,9 @@ func TestReactivateProject(t *testing.T) { { name: "reactivate project with inactive state", args: args{ - es: GetMockManipulateProject(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Name: "Name", State: model.ProjectStateActive}, + es: GetMockManipulateProject(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + existingPolicy: &model.Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Name: "Name", State: model.ProjectStateActive}, }, res: res{ wantErr: true, @@ -319,9 +319,9 @@ func TestReactivateProject(t *testing.T) { { name: "existing not found", args: args{ - es: GetMockManipulateProjectNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Name: "Name", State: model.ProjectStateActive}, + es: GetMockManipulateProjectNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + existingPolicy: &model.Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Name: "Name", State: model.ProjectStateActive}, }, res: res{ wantErr: true, @@ -331,7 +331,7 @@ func TestReactivateProject(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - result, err := tt.args.es.ReactivateProject(tt.args.ctx, tt.args.existing.AggregateID) + result, err := tt.args.es.ReactivateProject(tt.args.ctx, tt.args.existingPolicy.AggregateID) if !tt.res.wantErr && result.AggregateID == "" { t.Errorf("result has no id") @@ -349,9 +349,9 @@ func TestReactivateProject(t *testing.T) { func TestRemoveProject(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *ProjectEventstore - ctx context.Context - existing *model.Project + es *ProjectEventstore + ctx context.Context + existingPolicy *model.Project } type res struct { result *model.Project @@ -368,10 +368,12 @@ func TestRemoveProject(t *testing.T) { args: args{ es: GetMockManipulateProject(ctrl), ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ + existingPolicy: &model.Project{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Name: "Name", - Members: []*model.ProjectMember{&model.ProjectMember{UserID: "UserID", Roles: []string{"Roles"}}}, + Members: []*model.ProjectMember{ + {UserID: "UserID", Roles: []string{"Roles"}}, + }, }, }, res: res{ @@ -383,10 +385,12 @@ func TestRemoveProject(t *testing.T) { args: args{ es: GetMockManipulateProject(ctrl), ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ + existingPolicy: &model.Project{ ObjectRoot: es_models.ObjectRoot{Sequence: 1}, Name: "Name", - Members: []*model.ProjectMember{&model.ProjectMember{UserID: "UserID", Roles: []string{"Roles"}}}, + Members: []*model.ProjectMember{ + {UserID: "UserID", Roles: []string{"Roles"}}, + }, }, }, res: res{ @@ -397,9 +401,9 @@ func TestRemoveProject(t *testing.T) { { name: "project not existing", args: args{ - es: GetMockManipulateProject(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{}, + es: GetMockManipulateProject(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + existingPolicy: &model.Project{}, }, res: res{ wantErr: true, @@ -409,9 +413,9 @@ func TestRemoveProject(t *testing.T) { { name: "existing not found", args: args{ - es: GetMockManipulateProjectNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "OtherAggregateID", Sequence: 1}}, + es: GetMockManipulateProjectNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + existingPolicy: &model.Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "OtherAggregateID", Sequence: 1}}, }, res: res{ wantErr: true, @@ -421,7 +425,7 @@ func TestRemoveProject(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - err := tt.args.es.RemoveProject(tt.args.ctx, tt.args.existing) + err := tt.args.es.RemoveProject(tt.args.ctx, tt.args.existingPolicy) if !tt.res.wantErr && err != nil { t.Errorf("should not get err") @@ -700,10 +704,10 @@ func TestChangeProjectMember(t *testing.T) { func TestRemoveProjectMember(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *ProjectEventstore - ctx context.Context - existing *model.Project - member *model.ProjectMember + es *ProjectEventstore + ctx context.Context + existingProject *model.Project + member *model.ProjectMember } type res struct { result *model.ProjectMember @@ -720,10 +724,12 @@ func TestRemoveProjectMember(t *testing.T) { args: args{ es: GetMockManipulateProjectWithMember(ctrl), ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ + existingProject: &model.Project{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Name: "Name", - Members: []*model.ProjectMember{&model.ProjectMember{UserID: "UserID", Roles: []string{"Roles"}}}, + Members: []*model.ProjectMember{ + {UserID: "UserID", Roles: []string{"Roles"}}, + }, }, member: &model.ProjectMember{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, UserID: "UserID"}, }, @@ -736,10 +742,12 @@ func TestRemoveProjectMember(t *testing.T) { args: args{ es: GetMockManipulateProject(ctrl), ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ + existingProject: &model.Project{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Name: "Name", - Members: []*model.ProjectMember{&model.ProjectMember{UserID: "UserID", Roles: []string{"Roles"}}}, + Members: []*model.ProjectMember{ + {UserID: "UserID", Roles: []string{"Roles"}}, + }, }, member: &model.ProjectMember{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Roles: []string{"ChangeRoles"}}, }, @@ -753,7 +761,7 @@ func TestRemoveProjectMember(t *testing.T) { args: args{ es: GetMockManipulateProject(ctrl), ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ + existingProject: &model.Project{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Name: "Name", }, @@ -811,9 +819,11 @@ func TestAddProjectRole(t *testing.T) { { name: "add project role, ok", args: args{ - es: GetMockManipulateProject(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - roles: []*model.ProjectRole{&model.ProjectRole{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Key: "Key", DisplayName: "DisplayName", Group: "Group"}}, + es: GetMockManipulateProject(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + roles: []*model.ProjectRole{ + {ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Key: "Key", DisplayName: "DisplayName", Group: "Group"}, + }, }, res: res{ result: &model.ProjectRole{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Key: "Key", DisplayName: "DisplayName", Group: "Group"}, @@ -822,9 +832,11 @@ func TestAddProjectRole(t *testing.T) { { name: "no key", args: args{ - es: GetMockManipulateProject(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - roles: []*model.ProjectRole{&model.ProjectRole{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, DisplayName: "DisplayName", Group: "Group"}}, + es: GetMockManipulateProject(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + roles: []*model.ProjectRole{ + {ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, DisplayName: "DisplayName", Group: "Group"}, + }, }, res: res{ wantErr: true, @@ -834,9 +846,11 @@ func TestAddProjectRole(t *testing.T) { { name: "role already existing", args: args{ - es: GetMockManipulateProjectWithRole(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - roles: []*model.ProjectRole{&model.ProjectRole{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Key: "Key", DisplayName: "DisplayName", Group: "Group"}}, + es: GetMockManipulateProjectWithRole(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + roles: []*model.ProjectRole{ + {ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Key: "Key", DisplayName: "DisplayName", Group: "Group"}, + }, }, res: res{ wantErr: true, @@ -846,9 +860,11 @@ func TestAddProjectRole(t *testing.T) { { name: "existing project not found", args: args{ - es: GetMockManipulateProjectNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - roles: []*model.ProjectRole{&model.ProjectRole{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Key: "Key", DisplayName: "DisplayName", Group: "Group"}}, + es: GetMockManipulateProjectNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + roles: []*model.ProjectRole{ + {ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Key: "Key", DisplayName: "DisplayName", Group: "Group"}, + }, }, res: res{ wantErr: true, @@ -2733,7 +2749,12 @@ func TestChangesProject(t *testing.T) { limit: 0, }, res: res{ - changes: &model.ProjectChanges{Changes: []*model.ProjectChange{&model.ProjectChange{EventType: "", Sequence: 1, ModifierId: ""}}, LastSequence: 1}, + changes: &model.ProjectChanges{ + Changes: []*model.ProjectChange{ + {EventType: "", Sequence: 1, ModifierId: ""}, + }, + LastSequence: 1, + }, project: &model.Project{Name: "MusterProject"}, }, }, @@ -2777,7 +2798,7 @@ func TestChangesApplication(t *testing.T) { type args struct { es *ProjectEventstore id string - secId string + secID string lastSequence uint64 limit uint64 } @@ -2797,13 +2818,18 @@ func TestChangesApplication(t *testing.T) { args: args{ es: GetMockChangesApplicationOK(ctrl), id: "1", - secId: "AppId", + secID: "AppId", lastSequence: 0, limit: 0, }, res: res{ - changes: &model.ApplicationChanges{Changes: []*model.ApplicationChange{&model.ApplicationChange{EventType: "", Sequence: 1, ModifierId: ""}}, LastSequence: 1}, - app: &model.Application{Name: "MusterApp", AppID: "AppId", Type: 3}, + changes: &model.ApplicationChanges{ + Changes: []*model.ApplicationChange{ + {EventType: "", Sequence: 1, ModifierId: ""}, + }, + LastSequence: 1, + }, + app: &model.Application{Name: "MusterApp", AppID: "AppId", Type: 3}, }, }, { @@ -2811,7 +2837,7 @@ func TestChangesApplication(t *testing.T) { args: args{ es: GetMockChangesApplicationNoEvents(ctrl), id: "2", - secId: "2", + secID: "2", lastSequence: 0, limit: 0, }, @@ -2823,7 +2849,7 @@ func TestChangesApplication(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - result, err := tt.args.es.ApplicationChanges(nil, tt.args.id, tt.args.secId, tt.args.lastSequence, tt.args.limit, false) + result, err := tt.args.es.ApplicationChanges(nil, tt.args.id, tt.args.secID, tt.args.lastSequence, tt.args.limit, false) app := &model.Application{} if result != nil && len(result.Changes) > 0 { diff --git a/internal/project/repository/eventsourcing/model/application_test.go b/internal/project/repository/eventsourcing/model/application_test.go index 7d8bd2294a..2be60d9c90 100644 --- a/internal/project/repository/eventsourcing/model/application_test.go +++ b/internal/project/repository/eventsourcing/model/application_test.go @@ -2,15 +2,16 @@ package model import ( "encoding/json" + "testing" + es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/project/model" - "testing" ) func TestApplicationChanges(t *testing.T) { type args struct { - existing *Application - new *Application + existingProject *Application + newProject *Application } type res struct { changesLen int @@ -23,8 +24,8 @@ func TestApplicationChanges(t *testing.T) { { name: "application name changes", args: args{ - existing: &Application{AppID: "AppID", Name: "Name"}, - new: &Application{AppID: "AppID", Name: "NameChanged"}, + existingProject: &Application{AppID: "AppID", Name: "Name"}, + newProject: &Application{AppID: "AppID", Name: "NameChanged"}, }, res: res{ changesLen: 2, @@ -33,8 +34,8 @@ func TestApplicationChanges(t *testing.T) { { name: "no changes", args: args{ - existing: &Application{AppID: "AppID", Name: "Name"}, - new: &Application{AppID: "AppID", Name: "Name"}, + existingProject: &Application{AppID: "AppID", Name: "Name"}, + newProject: &Application{AppID: "AppID", Name: "Name"}, }, res: res{ changesLen: 1, @@ -43,7 +44,7 @@ func TestApplicationChanges(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - changes := tt.args.existing.Changes(tt.args.new) + changes := tt.args.existingProject.Changes(tt.args.newProject) if len(changes) != tt.res.changesLen { t.Errorf("got wrong changes len: expected: %v, actual: %v ", tt.res.changesLen, len(changes)) } @@ -69,7 +70,11 @@ func TestAppendAddAppEvent(t *testing.T) { app: &Application{Name: "Application"}, event: &es_models.Event{}, }, - result: &Project{Applications: []*Application{&Application{Name: "Application"}}}, + result: &Project{ + Applications: []*Application{ + {Name: "Application"}, + }, + }, }, } for _, tt := range tests { @@ -103,11 +108,19 @@ func TestAppendChangeAppEvent(t *testing.T) { { name: "append change application event", args: args{ - project: &Project{Applications: []*Application{&Application{Name: "Application"}}}, - app: &Application{Name: "Application Change"}, - event: &es_models.Event{}, + project: &Project{ + Applications: []*Application{ + {Name: "Application"}, + }, + }, + app: &Application{Name: "Application Change"}, + event: &es_models.Event{}, + }, + result: &Project{ + Applications: []*Application{ + {Name: "Application Change"}, + }, }, - result: &Project{Applications: []*Application{&Application{Name: "Application Change"}}}, }, } for _, tt := range tests { @@ -141,9 +154,13 @@ func TestAppendRemoveAppEvent(t *testing.T) { { name: "append remove application event", args: args{ - project: &Project{Applications: []*Application{&Application{AppID: "AppID", Name: "Application"}}}, - app: &Application{AppID: "AppID", Name: "Application"}, - event: &es_models.Event{}, + project: &Project{ + Applications: []*Application{ + {AppID: "AppID", Name: "Application"}, + }, + }, + app: &Application{AppID: "AppID", Name: "Application"}, + event: &es_models.Event{}, }, result: &Project{Applications: []*Application{}}, }, @@ -177,22 +194,38 @@ func TestAppendAppStateEvent(t *testing.T) { { name: "append deactivate application event", args: args{ - project: &Project{Applications: []*Application{&Application{AppID: "AppID", Name: "Application", State: int32(model.AppStateActive)}}}, - app: &ApplicationID{AppID: "AppID"}, - event: &es_models.Event{}, - state: model.AppStateInactive, + project: &Project{ + Applications: []*Application{ + {AppID: "AppID", Name: "Application", State: int32(model.AppStateActive)}, + }, + }, + app: &ApplicationID{AppID: "AppID"}, + event: &es_models.Event{}, + state: model.AppStateInactive, + }, + result: &Project{ + Applications: []*Application{ + {AppID: "AppID", Name: "Application", State: int32(model.AppStateInactive)}, + }, }, - result: &Project{Applications: []*Application{&Application{AppID: "AppID", Name: "Application", State: int32(model.AppStateInactive)}}}, }, { name: "append reactivate application event", args: args{ - project: &Project{Applications: []*Application{&Application{AppID: "AppID", Name: "Application", State: int32(model.AppStateInactive)}}}, - app: &ApplicationID{AppID: "AppID"}, - event: &es_models.Event{}, - state: model.AppStateActive, + project: &Project{ + Applications: []*Application{ + {AppID: "AppID", Name: "Application", State: int32(model.AppStateInactive)}, + }, + }, + app: &ApplicationID{AppID: "AppID"}, + event: &es_models.Event{}, + state: model.AppStateActive, + }, + result: &Project{ + Applications: []*Application{ + {AppID: "AppID", Name: "Application", State: int32(model.AppStateActive)}, + }, }, - result: &Project{Applications: []*Application{&Application{AppID: "AppID", Name: "Application", State: int32(model.AppStateActive)}}}, }, } for _, tt := range tests { diff --git a/internal/project/repository/eventsourcing/model/oidc_config_test.go b/internal/project/repository/eventsourcing/model/oidc_config_test.go index 484c41fcec..311e15f7de 100644 --- a/internal/project/repository/eventsourcing/model/oidc_config_test.go +++ b/internal/project/repository/eventsourcing/model/oidc_config_test.go @@ -2,14 +2,15 @@ package model import ( "encoding/json" - es_models "github.com/caos/zitadel/internal/eventstore/models" "testing" + + es_models "github.com/caos/zitadel/internal/eventstore/models" ) func TestOIDCConfigChanges(t *testing.T) { type args struct { - existing *OIDCConfig - new *OIDCConfig + existingConfig *OIDCConfig + newConfig *OIDCConfig } type res struct { changesLen int @@ -22,7 +23,7 @@ func TestOIDCConfigChanges(t *testing.T) { { name: "all possible values change", args: args{ - existing: &OIDCConfig{ + existingConfig: &OIDCConfig{ AppID: "AppID", RedirectUris: []string{"RedirectUris"}, ResponseTypes: []int32{1}, @@ -31,7 +32,7 @@ func TestOIDCConfigChanges(t *testing.T) { AuthMethodType: 1, PostLogoutRedirectUris: []string{"PostLogoutRedirectUris"}, }, - new: &OIDCConfig{ + newConfig: &OIDCConfig{ AppID: "AppID", RedirectUris: []string{"RedirectUrisChanged"}, ResponseTypes: []int32{2}, @@ -48,7 +49,7 @@ func TestOIDCConfigChanges(t *testing.T) { { name: "no changes", args: args{ - existing: &OIDCConfig{ + existingConfig: &OIDCConfig{ AppID: "AppID", RedirectUris: []string{"RedirectUris"}, ResponseTypes: []int32{1}, @@ -57,7 +58,7 @@ func TestOIDCConfigChanges(t *testing.T) { AuthMethodType: 1, PostLogoutRedirectUris: []string{"PostLogoutRedirectUris"}, }, - new: &OIDCConfig{ + newConfig: &OIDCConfig{ AppID: "AppID", RedirectUris: []string{"RedirectUris"}, ResponseTypes: []int32{1}, @@ -74,11 +75,11 @@ func TestOIDCConfigChanges(t *testing.T) { { name: "change not changeable attributes", args: args{ - existing: &OIDCConfig{ + existingConfig: &OIDCConfig{ AppID: "AppID", ClientID: "ClientID", }, - new: &OIDCConfig{ + newConfig: &OIDCConfig{ AppID: "AppIDChange", ClientID: "ClientIDChange", }, @@ -90,7 +91,7 @@ func TestOIDCConfigChanges(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - changes := tt.args.existing.Changes(tt.args.new) + changes := tt.args.existingConfig.Changes(tt.args.newConfig) if len(changes) != tt.res.changesLen { t.Errorf("got wrong changes len: expected: %v, actual: %v ", tt.res.changesLen, len(changes)) } @@ -112,11 +113,19 @@ func TestAppendAddOIDCConfigEvent(t *testing.T) { { name: "append add application event", args: args{ - project: &Project{Applications: []*Application{&Application{AppID: "AppID"}}}, - config: &OIDCConfig{AppID: "AppID", ClientID: "ClientID"}, - event: &es_models.Event{}, + project: &Project{ + Applications: []*Application{ + {AppID: "AppID"}, + }, + }, + config: &OIDCConfig{AppID: "AppID", ClientID: "ClientID"}, + event: &es_models.Event{}, + }, + result: &Project{ + Applications: []*Application{ + {AppID: "AppID", OIDCConfig: &OIDCConfig{AppID: "AppID", ClientID: "ClientID"}}, + }, }, - result: &Project{Applications: []*Application{&Application{AppID: "AppID", OIDCConfig: &OIDCConfig{AppID: "AppID", ClientID: "ClientID"}}}}, }, } for _, tt := range tests { @@ -153,11 +162,19 @@ func TestAppendChangeOIDCConfigEvent(t *testing.T) { { name: "append change application event", args: args{ - project: &Project{Applications: []*Application{&Application{AppID: "AppID", OIDCConfig: &OIDCConfig{AppID: "AppID", ClientID: "ClientID"}}}}, - config: &OIDCConfig{AppID: "AppID", ClientID: "ClientID Changed"}, - event: &es_models.Event{}, + project: &Project{ + Applications: []*Application{ + {AppID: "AppID", OIDCConfig: &OIDCConfig{AppID: "AppID", ClientID: "ClientID"}}, + }, + }, + config: &OIDCConfig{AppID: "AppID", ClientID: "ClientID Changed"}, + event: &es_models.Event{}, + }, + result: &Project{ + Applications: []*Application{ + {AppID: "AppID", OIDCConfig: &OIDCConfig{AppID: "AppID", ClientID: "ClientID Changed"}}, + }, }, - result: &Project{Applications: []*Application{&Application{AppID: "AppID", OIDCConfig: &OIDCConfig{AppID: "AppID", ClientID: "ClientID Changed"}}}}, }, } for _, tt := range tests { diff --git a/internal/project/repository/eventsourcing/model/project_test.go b/internal/project/repository/eventsourcing/model/project_test.go index edccbcedec..51bba17c99 100644 --- a/internal/project/repository/eventsourcing/model/project_test.go +++ b/internal/project/repository/eventsourcing/model/project_test.go @@ -2,15 +2,16 @@ package model import ( "encoding/json" + "testing" + es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/project/model" - "testing" ) func TestProjectChanges(t *testing.T) { type args struct { - existing *Project - new *Project + existingProject *Project + newProject *Project } type res struct { changesLen int @@ -23,8 +24,8 @@ func TestProjectChanges(t *testing.T) { { name: "project name changes", args: args{ - existing: &Project{Name: "Name"}, - new: &Project{Name: "NameChanged"}, + existingProject: &Project{Name: "Name"}, + newProject: &Project{Name: "NameChanged"}, }, res: res{ changesLen: 1, @@ -33,8 +34,8 @@ func TestProjectChanges(t *testing.T) { { name: "no changes", args: args{ - existing: &Project{Name: "Name"}, - new: &Project{Name: "Name"}, + existingProject: &Project{Name: "Name"}, + newProject: &Project{Name: "Name"}, }, res: res{ changesLen: 0, @@ -43,7 +44,7 @@ func TestProjectChanges(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - changes := tt.args.existing.Changes(tt.args.new) + changes := tt.args.existingProject.Changes(tt.args.newProject) if len(changes) != tt.res.changesLen { t.Errorf("got wrong changes len: expected: %v, actual: %v ", tt.res.changesLen, len(changes)) } @@ -65,7 +66,7 @@ func TestProjectFromEvents(t *testing.T) { name: "project from events, ok", args: args{ event: []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: ProjectAdded}, + {AggregateID: "AggregateID", Sequence: 1, Type: ProjectAdded}, }, project: &Project{Name: "ProjectName"}, }, @@ -75,7 +76,7 @@ func TestProjectFromEvents(t *testing.T) { name: "project from events, nil project", args: args{ event: []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: ProjectAdded}, + {AggregateID: "AggregateID", Sequence: 1, Type: ProjectAdded}, }, project: nil, }, diff --git a/internal/project/repository/eventsourcing/project.go b/internal/project/repository/eventsourcing/project.go index 80ecd02f9e..3a62c87e6c 100644 --- a/internal/project/repository/eventsourcing/project.go +++ b/internal/project/repository/eventsourcing/project.go @@ -2,6 +2,7 @@ package eventsourcing import ( "context" + "github.com/caos/zitadel/internal/api/authz" "github.com/caos/zitadel/internal/crypto" @@ -59,25 +60,25 @@ func ProjectCreateAggregate(aggCreator *es_models.AggregateCreator, project *mod } } -func ProjectUpdateAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, new *model.Project) func(ctx context.Context) (*es_models.Aggregate, error) { +func ProjectUpdateAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, newProject *model.Project) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { - if new == nil { + if newProject == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-dhr74", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } - changes := existing.Changes(new) + changes := existingProject.Changes(newProject) if len(changes) == 0 { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-9soPE", "Errors.NoChangesFound") } - if existing.Name != new.Name { + if existingProject.Name != newProject.Name { validationQuery := es_models.NewSearchQuery(). AggregateTypeFilter(model.ProjectAggregate). EventTypesFilter(model.ProjectAdded, model.ProjectChanged, model.ProjectRemoved) - validation := addProjectValidation(new.Name) + validation := addProjectValidation(newProject.Name) agg.SetPrecondition(validationQuery, validation) } return agg.AppendEvent(model.ProjectChanged, changes) @@ -102,23 +103,23 @@ func projectStateAggregate(aggCreator *es_models.AggregateCreator, project *mode } } -func ProjectRemovedAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, existing *model.Project) (*es_models.Aggregate, error) { - if existing == nil { +func ProjectRemovedAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, existingProject *model.Project) (*es_models.Aggregate, error) { + if existingProject == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-Cj7lb", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } - return agg.AppendEvent(model.ProjectRemoved, existing) + return agg.AppendEvent(model.ProjectRemoved, existingProject) } -func ProjectMemberAddedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, member *model.ProjectMember) func(ctx context.Context) (*es_models.Aggregate, error) { +func ProjectMemberAddedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, member *model.ProjectMember) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if member == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-ie34f", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -131,13 +132,13 @@ func ProjectMemberAddedAggregate(aggCreator *es_models.AggregateCreator, existin } } -func ProjectMemberChangedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, member *model.ProjectMember) func(ctx context.Context) (*es_models.Aggregate, error) { +func ProjectMemberChangedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, member *model.ProjectMember) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if member == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-d34fs", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -145,12 +146,12 @@ func ProjectMemberChangedAggregate(aggCreator *es_models.AggregateCreator, exist } } -func ProjectMemberRemovedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, member *model.ProjectMember) func(ctx context.Context) (*es_models.Aggregate, error) { +func ProjectMemberRemovedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, member *model.ProjectMember) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if member == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-dieu7", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -158,12 +159,12 @@ func ProjectMemberRemovedAggregate(aggCreator *es_models.AggregateCreator, exist } } -func ProjectRoleAddedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, roles ...*model.ProjectRole) func(ctx context.Context) (*es_models.Aggregate, error) { +func ProjectRoleAddedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, roles ...*model.ProjectRole) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if roles == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-sleo9", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -177,12 +178,12 @@ func ProjectRoleAddedAggregate(aggCreator *es_models.AggregateCreator, existing } } -func ProjectRoleChangedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, role *model.ProjectRole) func(ctx context.Context) (*es_models.Aggregate, error) { +func ProjectRoleChangedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, role *model.ProjectRole) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if role == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-oe8sf", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -190,11 +191,11 @@ func ProjectRoleChangedAggregate(aggCreator *es_models.AggregateCreator, existin } } -func ProjectRoleRemovedAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, existing *model.Project, role *model.ProjectRole, grants []*model.ProjectGrant) (*es_models.Aggregate, error) { +func ProjectRoleRemovedAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, existingProject *model.Project, role *model.ProjectRole, grants []*model.ProjectGrant) (*es_models.Aggregate, error) { if role == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-d8eis", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -204,7 +205,7 @@ func ProjectRoleRemovedAggregate(ctx context.Context, aggCreator *es_models.Aggr } for _, grant := range grants { var changes map[string]interface{} - if _, g := model.GetProjectGrant(existing.Grants, grant.GrantID); grant != nil { + if _, g := model.GetProjectGrant(existingProject.Grants, grant.GrantID); grant != nil { changes = g.Changes(grant) agg, err = agg.AppendEvent(model.ProjectGrantCascadeChanged, changes) if err != nil { @@ -215,12 +216,12 @@ func ProjectRoleRemovedAggregate(ctx context.Context, aggCreator *es_models.Aggr return agg, nil } -func ApplicationAddedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, app *model.Application) func(ctx context.Context) (*es_models.Aggregate, error) { +func ApplicationAddedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, app *model.Application) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if app == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-09du7", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -232,17 +233,17 @@ func ApplicationAddedAggregate(aggCreator *es_models.AggregateCreator, existing } } -func ApplicationChangedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, app *model.Application) func(ctx context.Context) (*es_models.Aggregate, error) { +func ApplicationChangedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, app *model.Application) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if app == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-sleo9", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } var changes map[string]interface{} - for _, a := range existing.Applications { + for _, a := range existingProject.Applications { if a.AppID == app.AppID { changes = a.Changes(app) } @@ -253,12 +254,12 @@ func ApplicationChangedAggregate(aggCreator *es_models.AggregateCreator, existin } } -func ApplicationRemovedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, app *model.Application) func(ctx context.Context) (*es_models.Aggregate, error) { +func ApplicationRemovedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, app *model.Application) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if app == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-se23g", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -268,12 +269,12 @@ func ApplicationRemovedAggregate(aggCreator *es_models.AggregateCreator, existin } } -func ApplicationDeactivatedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, app *model.Application) func(ctx context.Context) (*es_models.Aggregate, error) { +func ApplicationDeactivatedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, app *model.Application) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if app == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-slfi3", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -283,12 +284,12 @@ func ApplicationDeactivatedAggregate(aggCreator *es_models.AggregateCreator, exi } } -func ApplicationReactivatedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, app *model.Application) func(ctx context.Context) (*es_models.Aggregate, error) { +func ApplicationReactivatedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, app *model.Application) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if app == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-slf32", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -298,17 +299,17 @@ func ApplicationReactivatedAggregate(aggCreator *es_models.AggregateCreator, exi } } -func OIDCConfigChangedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, config *model.OIDCConfig) func(ctx context.Context) (*es_models.Aggregate, error) { +func OIDCConfigChangedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, config *model.OIDCConfig) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if config == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-slf32", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } var changes map[string]interface{} - for _, a := range existing.Applications { + for _, a := range existingProject.Applications { if a.AppID == config.AppID { if a.OIDCConfig != nil { changes = a.OIDCConfig.Changes(config) @@ -321,9 +322,9 @@ func OIDCConfigChangedAggregate(aggCreator *es_models.AggregateCreator, existing } } -func OIDCConfigSecretChangedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, appID string, secret *crypto.CryptoValue) func(ctx context.Context) (*es_models.Aggregate, error) { +func OIDCConfigSecretChangedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, appID string, secret *crypto.CryptoValue) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -337,9 +338,9 @@ func OIDCConfigSecretChangedAggregate(aggCreator *es_models.AggregateCreator, ex } } -func OIDCClientSecretCheckSucceededAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, appID string) es_sdk.AggregateFunc { +func OIDCClientSecretCheckSucceededAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, appID string) es_sdk.AggregateFunc { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -352,9 +353,9 @@ func OIDCClientSecretCheckSucceededAggregate(aggCreator *es_models.AggregateCrea } } -func OIDCClientSecretCheckFailedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, appID string) es_sdk.AggregateFunc { +func OIDCClientSecretCheckFailedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, appID string) es_sdk.AggregateFunc { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -367,12 +368,12 @@ func OIDCClientSecretCheckFailedAggregate(aggCreator *es_models.AggregateCreator } } -func ProjectGrantAddedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, grant *model.ProjectGrant) func(ctx context.Context) (*es_models.Aggregate, error) { +func ProjectGrantAddedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, grant *model.ProjectGrant) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if grant == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-kd89w", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -386,17 +387,17 @@ func ProjectGrantAddedAggregate(aggCreator *es_models.AggregateCreator, existing } } -func ProjectGrantChangedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, grant *model.ProjectGrant) func(ctx context.Context) (*es_models.Aggregate, error) { +func ProjectGrantChangedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, grant *model.ProjectGrant) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if grant == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-d9ie2", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } var changes map[string]interface{} - for _, g := range existing.Grants { + for _, g := range existingProject.Grants { if g.GrantID == grant.GrantID { changes = g.Changes(grant) } @@ -407,12 +408,12 @@ func ProjectGrantChangedAggregate(aggCreator *es_models.AggregateCreator, existi } } -func ProjectGrantRemovedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, grant *model.ProjectGrant) func(ctx context.Context) (*es_models.Aggregate, error) { +func ProjectGrantRemovedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, grant *model.ProjectGrant) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if grant == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-kci8d", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -422,12 +423,12 @@ func ProjectGrantRemovedAggregate(aggCreator *es_models.AggregateCreator, existi } } -func ProjectGrantDeactivatedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, grant *model.ProjectGrant) func(ctx context.Context) (*es_models.Aggregate, error) { +func ProjectGrantDeactivatedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, grant *model.ProjectGrant) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if grant == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-id832", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -437,12 +438,12 @@ func ProjectGrantDeactivatedAggregate(aggCreator *es_models.AggregateCreator, ex } } -func ProjectGrantReactivatedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, grant *model.ProjectGrant) func(ctx context.Context) (*es_models.Aggregate, error) { +func ProjectGrantReactivatedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, grant *model.ProjectGrant) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if grant == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-8diw2", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -450,12 +451,12 @@ func ProjectGrantReactivatedAggregate(aggCreator *es_models.AggregateCreator, ex } } -func ProjectGrantMemberAddedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, member *model.ProjectGrantMember) func(ctx context.Context) (*es_models.Aggregate, error) { +func ProjectGrantMemberAddedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, member *model.ProjectGrantMember) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if member == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-4ufh6", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -468,13 +469,13 @@ func ProjectGrantMemberAddedAggregate(aggCreator *es_models.AggregateCreator, ex } } -func ProjectGrantMemberChangedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, member *model.ProjectGrantMember) func(ctx context.Context) (*es_models.Aggregate, error) { +func ProjectGrantMemberChangedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, member *model.ProjectGrantMember) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if member == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-d8i4h", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -487,12 +488,12 @@ func ProjectGrantMemberChangedAggregate(aggCreator *es_models.AggregateCreator, } } -func ProjectGrantMemberRemovedAggregate(aggCreator *es_models.AggregateCreator, existing *model.Project, member *model.ProjectGrantMember) func(ctx context.Context) (*es_models.Aggregate, error) { +func ProjectGrantMemberRemovedAggregate(aggCreator *es_models.AggregateCreator, existingProject *model.Project, member *model.ProjectGrantMember) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if member == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-slp0r", "Errors.Internal") } - agg, err := ProjectAggregate(ctx, aggCreator, existing) + agg, err := ProjectAggregate(ctx, aggCreator, existingProject) if err != nil { return nil, err } @@ -570,7 +571,7 @@ func checkExistsUser(events ...*es_models.Event) error { switch event.AggregateType { case usr_model.UserAggregate: switch event.Type { - case usr_model.UserAdded, usr_model.UserRegistered: + case usr_model.UserAdded, usr_model.UserRegistered, usr_model.HumanRegistered, usr_model.MachineAdded, usr_model.HumanAdded: existsUser = true case usr_model.UserRemoved: existsUser = false diff --git a/internal/project/repository/eventsourcing/project_test.go b/internal/project/repository/eventsourcing/project_test.go index a2248edf91..67bd4f915d 100644 --- a/internal/project/repository/eventsourcing/project_test.go +++ b/internal/project/repository/eventsourcing/project_test.go @@ -246,10 +246,10 @@ func TestProjectCreateAggregate(t *testing.T) { func TestProjectUpdateAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.Project - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.Project + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -265,10 +265,10 @@ func TestProjectUpdateAggregate(t *testing.T) { { name: "project update aggregate ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName_Changed", State: int32(proj_model.ProjectStateActive)}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName_Changed", State: int32(proj_model.ProjectStateActive)}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -278,9 +278,9 @@ func TestProjectUpdateAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -292,10 +292,10 @@ func TestProjectUpdateAggregate(t *testing.T) { { name: "new project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -307,7 +307,7 @@ func TestProjectUpdateAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ProjectUpdateAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := ProjectUpdateAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -327,9 +327,9 @@ func TestProjectUpdateAggregate(t *testing.T) { func TestProjectDeactivateAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -345,9 +345,9 @@ func TestProjectDeactivateAggregate(t *testing.T) { { name: "project deactivate aggregate ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -357,9 +357,9 @@ func TestProjectDeactivateAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -371,7 +371,7 @@ func TestProjectDeactivateAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ProjectDeactivateAggregate(tt.args.aggCreator, tt.args.existing)(tt.args.ctx) + agg, err := ProjectDeactivateAggregate(tt.args.aggCreator, tt.args.existingProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -388,9 +388,9 @@ func TestProjectDeactivateAggregate(t *testing.T) { func TestProjectReactivateAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -406,9 +406,9 @@ func TestProjectReactivateAggregate(t *testing.T) { { name: "project reactivate aggregate ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateInactive)}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateInactive)}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -418,9 +418,9 @@ func TestProjectReactivateAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -432,7 +432,7 @@ func TestProjectReactivateAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ProjectReactivateAggregate(tt.args.aggCreator, tt.args.existing)(tt.args.ctx) + agg, err := ProjectReactivateAggregate(tt.args.aggCreator, tt.args.existingProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -449,10 +449,10 @@ func TestProjectReactivateAggregate(t *testing.T) { func TestProjectMemberAddedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.ProjectMember - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + new *model.ProjectMember + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -468,10 +468,10 @@ func TestProjectMemberAddedAggregate(t *testing.T) { { name: "projectmember added ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: &model.ProjectMember{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, UserID: "UserID", Roles: []string{"Roles"}}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + new: &model.ProjectMember{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, UserID: "UserID", Roles: []string{"Roles"}}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -481,9 +481,9 @@ func TestProjectMemberAddedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -495,10 +495,10 @@ func TestProjectMemberAddedAggregate(t *testing.T) { { name: "member nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + new: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -510,7 +510,7 @@ func TestProjectMemberAddedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ProjectMemberAddedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := ProjectMemberAddedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.new)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -530,10 +530,10 @@ func TestProjectMemberAddedAggregate(t *testing.T) { func TestProjectMemberChangedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.ProjectMember - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.ProjectMember + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -549,10 +549,10 @@ func TestProjectMemberChangedAggregate(t *testing.T) { { name: "projectmember changed ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: &model.ProjectMember{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, UserID: "UserID", Roles: []string{"Roles"}}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: &model.ProjectMember{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, UserID: "UserID", Roles: []string{"Roles"}}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -562,9 +562,9 @@ func TestProjectMemberChangedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -576,10 +576,10 @@ func TestProjectMemberChangedAggregate(t *testing.T) { { name: "member nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -591,7 +591,7 @@ func TestProjectMemberChangedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ProjectMemberChangedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := ProjectMemberChangedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -611,10 +611,10 @@ func TestProjectMemberChangedAggregate(t *testing.T) { func TestProjectMemberRemovedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.ProjectMember - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.ProjectMember + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -630,10 +630,10 @@ func TestProjectMemberRemovedAggregate(t *testing.T) { { name: "projectmember removed ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: &model.ProjectMember{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, UserID: "UserID", Roles: []string{"Roles"}}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: &model.ProjectMember{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, UserID: "UserID", Roles: []string{"Roles"}}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -643,9 +643,9 @@ func TestProjectMemberRemovedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -657,10 +657,10 @@ func TestProjectMemberRemovedAggregate(t *testing.T) { { name: "member nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -672,7 +672,7 @@ func TestProjectMemberRemovedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ProjectMemberRemovedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := ProjectMemberRemovedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -692,10 +692,10 @@ func TestProjectMemberRemovedAggregate(t *testing.T) { func TestProjectRoleAddedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new []*model.ProjectRole - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject []*model.ProjectRole + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -711,10 +711,10 @@ func TestProjectRoleAddedAggregate(t *testing.T) { { name: "projectrole added ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: []*model.ProjectRole{{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Key: "Key"}}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: []*model.ProjectRole{{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Key: "Key"}}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -724,9 +724,9 @@ func TestProjectRoleAddedAggregate(t *testing.T) { { name: "projectrole multiple added ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: []*model.ProjectRole{ + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: []*model.ProjectRole{ {ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Key: "Key"}, {ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Key: "Key2"}, }, @@ -740,9 +740,9 @@ func TestProjectRoleAddedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -754,10 +754,10 @@ func TestProjectRoleAddedAggregate(t *testing.T) { { name: "member nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -769,7 +769,7 @@ func TestProjectRoleAddedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ProjectRoleAddedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new...)(tt.args.ctx) + agg, err := ProjectRoleAddedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject...)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -789,10 +789,10 @@ func TestProjectRoleAddedAggregate(t *testing.T) { func TestProjectRoleChangedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.ProjectRole - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.ProjectRole + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -808,10 +808,10 @@ func TestProjectRoleChangedAggregate(t *testing.T) { { name: "projectmember changed ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: &model.ProjectRole{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Key: "Key"}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: &model.ProjectRole{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Key: "Key"}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -821,9 +821,9 @@ func TestProjectRoleChangedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -835,10 +835,10 @@ func TestProjectRoleChangedAggregate(t *testing.T) { { name: "member nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -850,7 +850,7 @@ func TestProjectRoleChangedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ProjectRoleChangedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := ProjectRoleChangedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -870,11 +870,11 @@ func TestProjectRoleChangedAggregate(t *testing.T) { func TestProjectRoleRemovedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.ProjectRole - grants []*model.ProjectGrant - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.ProjectRole + grants []*model.ProjectGrant + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -890,10 +890,10 @@ func TestProjectRoleRemovedAggregate(t *testing.T) { { name: "projectrole changed ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: &model.ProjectRole{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Key: "Key"}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: &model.ProjectRole{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Key: "Key"}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -904,13 +904,13 @@ func TestProjectRoleRemovedAggregate(t *testing.T) { name: "projectrole changed with grant", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ + existingProject: &model.Project{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive), Grants: []*model.ProjectGrant{{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, GrantID: "GrantID", GrantedOrgID: "OrgID", RoleKeys: []string{"ROLE"}}}, }, - new: &model.ProjectRole{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Key: "Key"}, + newProject: &model.ProjectRole{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Key: "Key"}, grants: []*model.ProjectGrant{{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, GrantID: "GrantID", GrantedOrgID: "OrgID", RoleKeys: []string{}}}, aggCreator: models.NewAggregateCreator("Test"), }, @@ -922,9 +922,9 @@ func TestProjectRoleRemovedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -934,10 +934,10 @@ func TestProjectRoleRemovedAggregate(t *testing.T) { { name: "member nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -947,7 +947,7 @@ func TestProjectRoleRemovedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ProjectRoleRemovedAggregate(tt.args.ctx, tt.args.aggCreator, tt.args.existing, tt.args.new, tt.args.grants) + agg, err := ProjectRoleRemovedAggregate(tt.args.ctx, tt.args.aggCreator, tt.args.existingProject, tt.args.newProject, tt.args.grants) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -972,10 +972,10 @@ func TestProjectRoleRemovedAggregate(t *testing.T) { func TestProjectAppAddedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.Application - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.Application + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -991,9 +991,9 @@ func TestProjectAppAddedAggregate(t *testing.T) { { name: "add oidc application", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: &model.Application{ + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: &model.Application{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, AppID: "AppId", Name: "Name", @@ -1009,9 +1009,9 @@ func TestProjectAppAddedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1021,10 +1021,10 @@ func TestProjectAppAddedAggregate(t *testing.T) { { name: "app nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1034,7 +1034,7 @@ func TestProjectAppAddedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ApplicationAddedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := ApplicationAddedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1059,10 +1059,10 @@ func TestProjectAppAddedAggregate(t *testing.T) { func TestProjectAppChangedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.Application - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.Application + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -1079,14 +1079,14 @@ func TestProjectAppChangedAggregate(t *testing.T) { name: "change app", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ + existingProject: &model.Project{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive), Applications: []*model.Application{ {AppID: "AppID", Name: "Name"}, }}, - new: &model.Application{ + newProject: &model.Application{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, AppID: "AppId", Name: "NameChanged", @@ -1101,9 +1101,9 @@ func TestProjectAppChangedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1113,10 +1113,10 @@ func TestProjectAppChangedAggregate(t *testing.T) { { name: "app nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1126,7 +1126,7 @@ func TestProjectAppChangedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ApplicationChangedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := ApplicationChangedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1149,10 +1149,10 @@ func TestProjectAppChangedAggregate(t *testing.T) { func TestProjectAppRemovedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.Application - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.Application + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -1169,14 +1169,14 @@ func TestProjectAppRemovedAggregate(t *testing.T) { name: "remove app", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ + existingProject: &model.Project{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive), Applications: []*model.Application{ {AppID: "AppID", Name: "Name"}, }}, - new: &model.Application{ + newProject: &model.Application{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, AppID: "AppId", Name: "Name", @@ -1191,9 +1191,9 @@ func TestProjectAppRemovedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1203,10 +1203,10 @@ func TestProjectAppRemovedAggregate(t *testing.T) { { name: "app nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1216,7 +1216,7 @@ func TestProjectAppRemovedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ApplicationRemovedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := ApplicationRemovedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1239,10 +1239,10 @@ func TestProjectAppRemovedAggregate(t *testing.T) { func TestProjectAppDeactivatedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.Application - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.Application + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -1259,14 +1259,14 @@ func TestProjectAppDeactivatedAggregate(t *testing.T) { name: "deactivate app", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ + existingProject: &model.Project{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive), Applications: []*model.Application{ {AppID: "AppID", Name: "Name"}, }}, - new: &model.Application{ + newProject: &model.Application{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, AppID: "AppId", Name: "Name", @@ -1281,9 +1281,9 @@ func TestProjectAppDeactivatedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1293,10 +1293,10 @@ func TestProjectAppDeactivatedAggregate(t *testing.T) { { name: "app nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1306,7 +1306,7 @@ func TestProjectAppDeactivatedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ApplicationDeactivatedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := ApplicationDeactivatedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1329,10 +1329,10 @@ func TestProjectAppDeactivatedAggregate(t *testing.T) { func TestProjectAppReactivatedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.Application - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.Application + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -1349,14 +1349,14 @@ func TestProjectAppReactivatedAggregate(t *testing.T) { name: "deactivate app", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ + existingProject: &model.Project{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive), Applications: []*model.Application{ {AppID: "AppID", Name: "Name"}, }}, - new: &model.Application{ + newProject: &model.Application{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, AppID: "AppId", Name: "Name", @@ -1371,9 +1371,9 @@ func TestProjectAppReactivatedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1383,10 +1383,10 @@ func TestProjectAppReactivatedAggregate(t *testing.T) { { name: "app nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1396,7 +1396,7 @@ func TestProjectAppReactivatedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ApplicationReactivatedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := ApplicationReactivatedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1419,10 +1419,10 @@ func TestProjectAppReactivatedAggregate(t *testing.T) { func TestOIDCConfigchangAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.OIDCConfig - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.OIDCConfig + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -1439,14 +1439,14 @@ func TestOIDCConfigchangAggregate(t *testing.T) { name: "deactivate app", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ + existingProject: &model.Project{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive), Applications: []*model.Application{ {AppID: "AppID", Name: "Name", OIDCConfig: &model.OIDCConfig{AppID: "AppID", AuthMethodType: 1}}, }}, - new: &model.OIDCConfig{ + newProject: &model.OIDCConfig{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, AppID: "AppID", AuthMethodType: 2, @@ -1461,9 +1461,9 @@ func TestOIDCConfigchangAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1473,10 +1473,10 @@ func TestOIDCConfigchangAggregate(t *testing.T) { { name: "app nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1486,7 +1486,7 @@ func TestOIDCConfigchangAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := OIDCConfigChangedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := OIDCConfigChangedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1509,10 +1509,10 @@ func TestOIDCConfigchangAggregate(t *testing.T) { func TestOIDCConfigSecretChangeAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.OIDCConfig - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.OIDCConfig + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -1529,14 +1529,14 @@ func TestOIDCConfigSecretChangeAggregate(t *testing.T) { name: "change client secret", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ + existingProject: &model.Project{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive), Applications: []*model.Application{ {AppID: "AppID", Name: "Name", OIDCConfig: &model.OIDCConfig{AppID: "AppID", AuthMethodType: 1}}, }}, - new: &model.OIDCConfig{ + newProject: &model.OIDCConfig{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, AppID: "AppID", ClientSecret: &crypto.CryptoValue{}, @@ -1551,9 +1551,9 @@ func TestOIDCConfigSecretChangeAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - new: &model.OIDCConfig{ + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + newProject: &model.OIDCConfig{ ObjectRoot: models.ObjectRoot{AggregateID: "AggregateID"}, AppID: "AppID", }, @@ -1567,7 +1567,7 @@ func TestOIDCConfigSecretChangeAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := OIDCConfigSecretChangedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new.AppID, tt.args.new.ClientSecret)(tt.args.ctx) + agg, err := OIDCConfigSecretChangedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject.AppID, tt.args.newProject.ClientSecret)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1590,10 +1590,10 @@ func TestOIDCConfigSecretChangeAggregate(t *testing.T) { func TestProjectGrantAddedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.ProjectGrant - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.ProjectGrant + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -1609,10 +1609,10 @@ func TestProjectGrantAddedAggregate(t *testing.T) { { name: "projectgrant added ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: &model.ProjectGrant{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, GrantID: "GrantID", GrantedOrgID: "OrgID"}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: &model.ProjectGrant{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, GrantID: "GrantID", GrantedOrgID: "OrgID"}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -1622,9 +1622,9 @@ func TestProjectGrantAddedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -1636,10 +1636,10 @@ func TestProjectGrantAddedAggregate(t *testing.T) { { name: "grant nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -1651,7 +1651,7 @@ func TestProjectGrantAddedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ProjectGrantAddedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := ProjectGrantAddedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1671,10 +1671,10 @@ func TestProjectGrantAddedAggregate(t *testing.T) { func TestProjectGrantChangedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.ProjectGrant - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.ProjectGrant + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -1691,14 +1691,14 @@ func TestProjectGrantChangedAggregate(t *testing.T) { name: "change project grant", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ + existingProject: &model.Project{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive), Grants: []*model.ProjectGrant{ {GrantID: "GrantID", GrantedOrgID: "GrantedOrgID", RoleKeys: []string{"Key"}}, }}, - new: &model.ProjectGrant{ + newProject: &model.ProjectGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, GrantID: "GrantID", GrantedOrgID: "GrantedOrgID", @@ -1714,9 +1714,9 @@ func TestProjectGrantChangedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1726,10 +1726,10 @@ func TestProjectGrantChangedAggregate(t *testing.T) { { name: "projectgrant nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1739,7 +1739,7 @@ func TestProjectGrantChangedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ProjectGrantChangedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := ProjectGrantChangedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1762,10 +1762,10 @@ func TestProjectGrantChangedAggregate(t *testing.T) { func TestProjectGrantRemovedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.ProjectGrant - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.ProjectGrant + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -1782,14 +1782,14 @@ func TestProjectGrantRemovedAggregate(t *testing.T) { name: "remove app", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ + existingProject: &model.Project{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive), Grants: []*model.ProjectGrant{ {GrantID: "GrantID", GrantedOrgID: "GrantedOrgID"}, }}, - new: &model.ProjectGrant{ + newProject: &model.ProjectGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, GrantID: "GrantID", GrantedOrgID: "GrantedOrgID", @@ -1805,9 +1805,9 @@ func TestProjectGrantRemovedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1817,10 +1817,10 @@ func TestProjectGrantRemovedAggregate(t *testing.T) { { name: "projectgrant nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1830,7 +1830,7 @@ func TestProjectGrantRemovedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ProjectGrantRemovedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := ProjectGrantRemovedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1853,10 +1853,10 @@ func TestProjectGrantRemovedAggregate(t *testing.T) { func TestProjectGrantDeactivatedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.ProjectGrant - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.ProjectGrant + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -1873,14 +1873,14 @@ func TestProjectGrantDeactivatedAggregate(t *testing.T) { name: "deactivate project grant", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ + existingProject: &model.Project{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive), Grants: []*model.ProjectGrant{ {GrantID: "GrantID", GrantedOrgID: "GrantedOrgID"}, }}, - new: &model.ProjectGrant{ + newProject: &model.ProjectGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, GrantID: "GrantID", GrantedOrgID: "GrantedOrgID", @@ -1896,9 +1896,9 @@ func TestProjectGrantDeactivatedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1908,10 +1908,10 @@ func TestProjectGrantDeactivatedAggregate(t *testing.T) { { name: "grant nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1921,7 +1921,7 @@ func TestProjectGrantDeactivatedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ProjectGrantDeactivatedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := ProjectGrantDeactivatedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1944,10 +1944,10 @@ func TestProjectGrantDeactivatedAggregate(t *testing.T) { func TestProjectGrantReactivatedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.ProjectGrant - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.ProjectGrant + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -1964,14 +1964,14 @@ func TestProjectGrantReactivatedAggregate(t *testing.T) { name: "reactivate project grant", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ + existingProject: &model.Project{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateInactive), Grants: []*model.ProjectGrant{ {GrantID: "GrantID", GrantedOrgID: "GrantedOrgID"}, }}, - new: &model.ProjectGrant{ + newProject: &model.ProjectGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, GrantID: "GrantID", GrantedOrgID: "GrantedOrgID", @@ -1987,9 +1987,9 @@ func TestProjectGrantReactivatedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -1999,10 +1999,10 @@ func TestProjectGrantReactivatedAggregate(t *testing.T) { { name: "grant nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateInactive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateInactive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ wantErr: true, @@ -2012,7 +2012,7 @@ func TestProjectGrantReactivatedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ProjectGrantReactivatedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := ProjectGrantReactivatedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -2035,10 +2035,10 @@ func TestProjectGrantReactivatedAggregate(t *testing.T) { func TestProjectGrantMemberAddedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.ProjectGrantMember - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.ProjectGrantMember + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -2054,10 +2054,10 @@ func TestProjectGrantMemberAddedAggregate(t *testing.T) { { name: "project grant member added ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: &model.ProjectGrantMember{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, GrantID: "GrantID", UserID: "UserID", Roles: []string{"Roles"}}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: &model.ProjectGrantMember{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, GrantID: "GrantID", UserID: "UserID", Roles: []string{"Roles"}}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -2067,9 +2067,9 @@ func TestProjectGrantMemberAddedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -2081,10 +2081,10 @@ func TestProjectGrantMemberAddedAggregate(t *testing.T) { { name: "member nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -2096,7 +2096,7 @@ func TestProjectGrantMemberAddedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ProjectGrantMemberAddedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := ProjectGrantMemberAddedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -2116,10 +2116,10 @@ func TestProjectGrantMemberAddedAggregate(t *testing.T) { func TestProjectGrantMemberChangedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.ProjectGrantMember - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.ProjectGrantMember + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -2135,10 +2135,10 @@ func TestProjectGrantMemberChangedAggregate(t *testing.T) { { name: "project grant member changed ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: &model.ProjectGrantMember{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", Roles: []string{"RolesChanged"}}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: &model.ProjectGrantMember{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", Roles: []string{"RolesChanged"}}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -2148,9 +2148,9 @@ func TestProjectGrantMemberChangedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -2162,10 +2162,10 @@ func TestProjectGrantMemberChangedAggregate(t *testing.T) { { name: "member nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -2177,7 +2177,7 @@ func TestProjectGrantMemberChangedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ProjectGrantMemberChangedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := ProjectGrantMemberChangedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -2197,10 +2197,10 @@ func TestProjectGrantMemberChangedAggregate(t *testing.T) { func TestProjectGrantMemberRemovedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.Project - new *model.ProjectGrantMember - aggCreator *models.AggregateCreator + ctx context.Context + existingProject *model.Project + newProject *model.ProjectGrantMember + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -2216,10 +2216,10 @@ func TestProjectGrantMemberRemovedAggregate(t *testing.T) { { name: "project grant member removed ok", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: &model.ProjectGrantMember{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", Roles: []string{"Roles"}}, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: &model.ProjectGrantMember{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", Roles: []string{"Roles"}}, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -2229,9 +2229,9 @@ func TestProjectGrantMemberRemovedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -2243,10 +2243,10 @@ func TestProjectGrantMemberRemovedAggregate(t *testing.T) { { name: "member nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingProject: &model.Project{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, Name: "ProjectName", State: int32(proj_model.ProjectStateActive)}, + newProject: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, @@ -2258,7 +2258,7 @@ func TestProjectGrantMemberRemovedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ProjectGrantMemberRemovedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := ProjectGrantMemberRemovedAggregate(tt.args.aggCreator, tt.args.existingProject, tt.args.newProject)(tt.args.ctx) if !tt.res.wantErr && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) diff --git a/internal/project/repository/view/model/project_grant_member.go b/internal/project/repository/view/model/project_grant_member.go index 46714243c3..b645dd867f 100644 --- a/internal/project/repository/view/model/project_grant_member.go +++ b/internal/project/repository/view/model/project_grant_member.go @@ -38,23 +38,6 @@ type ProjectGrantMemberView struct { ChangeDate time.Time `json:"-" gorm:"column:change_date"` } -func ProjectGrantMemberViewFromModel(member *model.ProjectGrantMemberView) *ProjectGrantMemberView { - return &ProjectGrantMemberView{ - UserID: member.UserID, - GrantID: member.GrantID, - ProjectID: member.ProjectID, - UserName: member.UserName, - Email: member.Email, - FirstName: member.FirstName, - LastName: member.LastName, - DisplayName: member.DisplayName, - Roles: member.Roles, - Sequence: member.Sequence, - CreationDate: member.CreationDate, - ChangeDate: member.ChangeDate, - } -} - func ProjectGrantMemberToModel(member *ProjectGrantMemberView) *model.ProjectGrantMemberView { return &model.ProjectGrantMemberView{ UserID: member.UserID, diff --git a/internal/project/repository/view/model/project_member.go b/internal/project/repository/view/model/project_member.go index 4a7a9df9f5..47fc7b8430 100644 --- a/internal/project/repository/view/model/project_member.go +++ b/internal/project/repository/view/model/project_member.go @@ -2,13 +2,14 @@ package model import ( "encoding/json" + "time" + "github.com/caos/logging" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/project/model" es_model "github.com/caos/zitadel/internal/project/repository/eventsourcing/model" "github.com/lib/pq" - "time" ) const ( @@ -35,22 +36,6 @@ type ProjectMemberView struct { ChangeDate time.Time `json:"-" gorm:"column:change_date"` } -func ProjectMemberViewFromModel(member *model.ProjectMemberView) *ProjectMemberView { - return &ProjectMemberView{ - UserID: member.UserID, - ProjectID: member.ProjectID, - UserName: member.UserName, - Email: member.Email, - FirstName: member.FirstName, - LastName: member.LastName, - DisplayName: member.DisplayName, - Roles: member.Roles, - Sequence: member.Sequence, - CreationDate: member.CreationDate, - ChangeDate: member.ChangeDate, - } -} - func ProjectMemberToModel(member *ProjectMemberView) *model.ProjectMemberView { return &model.ProjectMemberView{ UserID: member.UserID, diff --git a/internal/protoc/protoc-base/templates.go b/internal/protoc/protoc-base/templates.go index bb0a627379..57e1c03644 100644 --- a/internal/protoc/protoc-base/templates.go +++ b/internal/protoc/protoc-base/templates.go @@ -26,7 +26,7 @@ var templateFuncs = map[string]interface{}{ } func RegisterTmplFunc(name string, f interface{}) { - if _, existing := templateFuncs[name]; existing { + if _, found := templateFuncs[name]; found { panic(fmt.Sprintf("func with name %v is already registered", name)) } diff --git a/internal/setup/setup.go b/internal/setup/setup.go index abad0c32dc..ea2f00b238 100644 --- a/internal/setup/setup.go +++ b/internal/setup/setup.go @@ -320,17 +320,19 @@ func (setUp *initializer) users(ctx context.Context, users []User, orgPolicy *or func (setUp *initializer) user(ctx context.Context, user User, orgPolicy *org_model.OrgIAMPolicy) (*usr_model.User, error) { createUser := &usr_model.User{ - Profile: &usr_model.Profile{ - UserName: user.UserName, - FirstName: user.FirstName, - LastName: user.LastName, - }, - Email: &usr_model.Email{ - EmailAddress: user.Email, - IsEmailVerified: true, - }, - Password: &usr_model.Password{ - SecretString: user.Password, + UserName: user.UserName, + Human: &usr_model.Human{ + Profile: &usr_model.Profile{ + FirstName: user.FirstName, + LastName: user.LastName, + }, + Email: &usr_model.Email{ + EmailAddress: user.Email, + IsEmailVerified: true, + }, + Password: &usr_model.Password{ + SecretString: user.Password, + }, }, } return setUp.UserEvents.CreateUser(ctx, createUser, setUp.pwComplexityPolicy, orgPolicy) diff --git a/internal/static/i18n/de.yaml b/internal/static/i18n/de.yaml index 07aa871bef..e7aaa67f41 100644 --- a/internal/static/i18n/de.yaml +++ b/internal/static/i18n/de.yaml @@ -24,6 +24,8 @@ Errors: PhoneInvalid: Telefonnummer ist ungültig PhoneAlreadyVerified: Telefonnummer bereits verifiziert AddressNotFound: Addresse nicht gefunden + NotHuman: Der Benutzer muss eine Person sein + NotMachine: Der Benutzer muss technisch sein Code: Empty: Code ist leer NotFound: Code konnte nicht gefunden werden @@ -144,6 +146,8 @@ Errors: NotFound: Token konnte nicht gefunden werden UserSession: NotFound: Benutzer Sitzung konnte nicht gefunden werden + Key: + ExpireBeforeNow: Das Ablaufdatum liegt in der Vergangenheit EventTypes: user: added: Benutzer hinzugefügt @@ -168,6 +172,66 @@ EventTypes: code: added: E-Mail Code generiert sent: E-Mail Code gesendet + machine: + machine: + added: Technischer Benutzer hinzugefügt + changed: Technischer Benutzer geändert + key: + added: Key added + removed: Key removed + human: + added: Benutzer hinzugefügt + selfregistered: Benutzer hat sich selbst registriert + initialization: + code: + added: Initialisierungscode generiert + sent: Initialiseriungscode versendet + check: + succeeded: Benutzerinitialisierung erfolgreich + failed: Benutzerinitialisierung fehlgeschlagen + username: + reserved: Benutzername reserviert + released: Benutzername freigegeben + email: + changed: E-Mail-Adresse geändert + verified: E-Mail-Adresse verifiziert + verification: + failed: Verifikation der E-Mail-Adresse fehlgeschlagen + code: + added: E-Mail Code generiert + sent: E-Mail Code gesendet + password: + changed: Passwort geändert + code: + added: Passwort Code generiert + sent: Passwort Code versendet + check: + succeeded: Passwortvalidierung erfolgreich + failed: Passwortvalidierung fehlgeschlagen + phone: + changed: Telefonnummer geändert + verified: Telefonnummer verifiziert + verification: + failed: Verifikation der Telefonnummer fehlgeschlagen + code: + added: Telefon Code hinzugefügt + sent: Telefon Code versendet + profile: + changed: Benutzerprofil geändert + address: + changed: Adresse des Benutzers geändert + mfa: + otp: + added: Multifaktor OTP hinzugefügt + verified: Multifaktor OTP verifiziert + removed: Multifaktor OTP entfernt + check: + succeeded: Multifaktor OTP Verifikation erfolgreich + failed: Multifaktor OTP Verifikation fehlgeschlagen + init: + skipped: Multifaktor Initialisierung übersprungen + signed: + out: Benutzer erfolgreich abgemeldet locked: Benutzer gesperrt unlocked: Benutzer entsperrt deactivated: Benutzer deaktiviert diff --git a/internal/static/i18n/en.yaml b/internal/static/i18n/en.yaml index 16f6f7af8d..634ea3a4d0 100644 --- a/internal/static/i18n/en.yaml +++ b/internal/static/i18n/en.yaml @@ -24,6 +24,8 @@ Errors: PhoneInvalid: Phone is invalid PhoneAlreadyVerified: Phone already verified AddressNotFound: Address not found + NotHuman: The User must be personal + NotMachine: The User must be technical Code: Empty: Code is empty NotFound: Code not found @@ -144,6 +146,8 @@ Errors: NotFound: Token not found UserSession: NotFound: UserSession not found + Key: + ExpireBeforeNow: The expiration date is in the past EventTypes: user: added: User added @@ -168,6 +172,66 @@ EventTypes: code: added: Email address verification code generated sent: Email address verification code sent + machine: + machine: + added: Technical user added + changed: Technical user changed + key: + added: Key added + removed: Key removed + human: + added: Person added + selfregistered: Person registered himself + initialization: + code: + added: Initialisation code generated + sent: Initialisation code sent + check: + succeeded: Initialisation check succeded + failed: Initialisation check failed + username: + reserved: Username reserved + released: Username released + email: + changed: Email address changed + verified: Email address verified + verification: + failed: Email address verification failed + code: + added: Email address verification code generated + sent: Email address verification code sent + password: + changed: Password changed + code: + added: Password code generated + sent: Password code sent + check: + succeeded: Password check succeeded + failed: Password check failed + phone: + changed: Phone number changed + verified: Phone number verified + verification: + failed: Phone number verification failed + code: + added: Phone number code generated + sent: Phone number code sent + profile: + changed: User profile changed + address: + changed: User address changed + mfa: + otp: + added: Multifactor OTP added + verified: Multifactor OTP verified + removed: Multifactor OTP removed + check: + succeeded: Multifactor OTP check succeeded + failed: Multifactor OTP check failed + init: + skipped: Multifactor initialisation skipped + signed: + out: User signed out locked: User locked unlocked: User unlocked deactivated: User deactivated diff --git a/internal/ui/login/handler/register_handler.go b/internal/ui/login/handler/register_handler.go index 1a055a1065..a454dfc2b7 100644 --- a/internal/ui/login/handler/register_handler.go +++ b/internal/ui/login/handler/register_handler.go @@ -139,17 +139,19 @@ func (l *Login) renderRegister(w http.ResponseWriter, r *http.Request, authReque func (d registerFormData) toUserModel() *usr_model.User { return &usr_model.User{ - Profile: &usr_model.Profile{ - FirstName: d.Firstname, - LastName: d.Lastname, - PreferredLanguage: language.Make(d.Language), - Gender: usr_model.Gender(d.Gender), - }, - Password: &usr_model.Password{ - SecretString: d.Password, - }, - Email: &usr_model.Email{ - EmailAddress: d.Email, + Human: &usr_model.Human{ + Profile: &usr_model.Profile{ + FirstName: d.Firstname, + LastName: d.Lastname, + PreferredLanguage: language.Make(d.Language), + Gender: usr_model.Gender(d.Gender), + }, + Password: &usr_model.Password{ + SecretString: d.Password, + }, + Email: &usr_model.Email{ + EmailAddress: d.Email, + }, }, } } diff --git a/internal/ui/login/handler/register_org_handler.go b/internal/ui/login/handler/register_org_handler.go index ffef342069..c7046f1a8a 100644 --- a/internal/ui/login/handler/register_org_handler.go +++ b/internal/ui/login/handler/register_org_handler.go @@ -1,9 +1,10 @@ package handler import ( - auth_model "github.com/caos/zitadel/internal/auth/model" "net/http" + auth_model "github.com/caos/zitadel/internal/auth/model" + "github.com/caos/zitadel/internal/auth_request/model" caos_errs "github.com/caos/zitadel/internal/errors" org_model "github.com/caos/zitadel/internal/org/model" @@ -122,22 +123,24 @@ func (d registerOrgFormData) toUserModel() *usr_model.User { d.Username = d.Email } return &usr_model.User{ - Profile: &usr_model.Profile{ - UserName: d.Username, - FirstName: d.Firstname, - LastName: d.Lastname, - }, - Password: &usr_model.Password{ - SecretString: d.Password, - }, - Email: &usr_model.Email{ - EmailAddress: d.Email, + UserName: d.Username, + Human: &usr_model.Human{ + Profile: &usr_model.Profile{ + FirstName: d.Firstname, + LastName: d.Lastname, + }, + Password: &usr_model.Password{ + SecretString: d.Password, + }, + Email: &usr_model.Email{ + EmailAddress: d.Email, + }, }, } } func (d registerOrgFormData) toOrgModel() *org_model.Org { return &org_model.Org{ - Name: d.OrgName, + Name: d.OrgName, } } diff --git a/internal/user/model/machine_key.go b/internal/user/model/machine_key.go new file mode 100644 index 0000000000..7f34976cb1 --- /dev/null +++ b/internal/user/model/machine_key.go @@ -0,0 +1,53 @@ +package model + +import ( + "time" + + "github.com/caos/zitadel/internal/model" +) + +type MachineKeyView struct { + ID string + UserID string + Type MachineKeyType + Sequence uint64 + CreationDate time.Time + ExpirationDate time.Time +} + +type MachineKeySearchRequest struct { + Offset uint64 + Limit uint64 + SortingColumn MachineKeySearchKey + Asc bool + Queries []*MachineKeySearchQuery +} + +type MachineKeySearchKey int32 + +const ( + MachineKeyKeyUnspecified MachineKeySearchKey = iota + MachineKeyKeyID + MachineKeyKeyUserID +) + +type MachineKeySearchQuery struct { + Key MachineKeySearchKey + Method model.SearchMethod + Value interface{} +} + +type MachineKeySearchResponse struct { + Offset uint64 + Limit uint64 + TotalResult uint64 + Result []*MachineKeyView + Sequence uint64 + Timestamp time.Time +} + +func (r *MachineKeySearchRequest) EnsureLimit(limit uint64) { + if r.Limit == 0 || r.Limit > limit { + r.Limit = limit + } +} diff --git a/internal/user/model/profile.go b/internal/user/model/profile.go index cbb51045e3..485d228e22 100644 --- a/internal/user/model/profile.go +++ b/internal/user/model/profile.go @@ -8,7 +8,6 @@ import ( type Profile struct { es_models.ObjectRoot - UserName string FirstName string LastName string NickName string diff --git a/internal/user/model/user.go b/internal/user/model/user.go index 31ca4256ae..5846d7d56c 100644 --- a/internal/user/model/user.go +++ b/internal/user/model/user.go @@ -1,51 +1,21 @@ package model import ( - caos_errors "github.com/caos/zitadel/internal/errors" - org_model "github.com/caos/zitadel/internal/org/model" - policy_model "github.com/caos/zitadel/internal/policy/model" - "github.com/golang/protobuf/ptypes/timestamp" "strings" - "time" - "github.com/caos/zitadel/internal/crypto" + caos_errors "github.com/caos/zitadel/internal/errors" es_models "github.com/caos/zitadel/internal/eventstore/models" + org_model "github.com/caos/zitadel/internal/org/model" + "github.com/golang/protobuf/ptypes/timestamp" ) type User struct { es_models.ObjectRoot + State UserState + UserName string - State UserState - *Password - *Profile - *Email - *Phone - *Address - InitCode *InitUserCode - EmailCode *EmailCode - PhoneCode *PhoneCode - PasswordCode *PasswordCode - OTP *OTP -} -type UserChanges struct { - Changes []*UserChange - LastSequence uint64 -} - -type UserChange struct { - ChangeDate *timestamp.Timestamp `json:"changeDate,omitempty"` - EventType string `json:"eventType,omitempty"` - Sequence uint64 `json:"sequence,omitempty"` - ModifierId string `json:"modifierUser,omitempty"` - ModifierName string `json:"-"` - Data interface{} `json:"data,omitempty"` -} - -type InitUserCode struct { - es_models.ObjectRoot - - Code *crypto.CryptoValue - Expiry time.Duration + *Human + *Machine } type UserState int32 @@ -60,15 +30,6 @@ const ( UserStateInitial ) -type Gender int32 - -const ( - GenderUnspecified Gender = iota - GenderFemale - GenderMale - GenderDiverse -) - func (u *User) CheckOrgIAMPolicy(policy *org_model.OrgIAMPolicy) error { if policy == nil { return caos_errors.ThrowPreconditionFailed(nil, "MODEL-zSH7j", "Errors.Users.OrgIamPolicyNil") @@ -88,12 +49,18 @@ func (u *User) SetNamesAsDisplayname() { } } -func (u *User) IsValid() bool { - return u.Profile != nil && u.FirstName != "" && u.LastName != "" && u.UserName != "" && u.Email != nil && u.Email.IsValid() && u.Phone == nil || (u.Phone != nil && u.Phone.IsValid()) +type UserChanges struct { + Changes []*UserChange + LastSequence uint64 } -func (u *User) IsInitialState() bool { - return u.Email == nil || !u.IsEmailVerified || u.Password == nil || u.SecretString == "" +type UserChange struct { + ChangeDate *timestamp.Timestamp `json:"changeDate,omitempty"` + EventType string `json:"eventType,omitempty"` + Sequence uint64 `json:"sequence,omitempty"` + ModifierID string `json:"modifierUser,omitempty"` + ModifierName string `json:"-"` + Data interface{} `json:"data,omitempty"` } func (u *User) IsActive() bool { @@ -112,47 +79,25 @@ func (u *User) IsLocked() bool { return u.State == UserStateLocked } -func (u *User) IsOTPReady() bool { - return u.OTP != nil && u.OTP.State == MfaStateReady +func (u *User) IsValid() bool { + if u.Human == nil && u.Machine == nil || u.UserName == "" { + return false + } + if u.Human != nil { + return u.Human.IsValid() + } + return u.Machine.IsValid() } -func (u *User) HashPasswordIfExisting(policy *policy_model.PasswordComplexityPolicy, passwordAlg crypto.HashAlgorithm, onetime bool) error { - if u.Password != nil { - return u.Password.HashPasswordIfExisting(policy, passwordAlg, onetime) +func (u *User) CheckOrgIamPolicy(policy *org_model.OrgIAMPolicy) error { + if policy == nil { + return caos_errors.ThrowPreconditionFailed(nil, "MODEL-zSH7j", "Errors.Users.OrgIamPolicyNil") + } + if policy.UserLoginMustBeDomain && strings.Contains(u.UserName, "@") { + return caos_errors.ThrowPreconditionFailed(nil, "MODEL-se4sJ", "Errors.User.EmailAsUsernameNotAllowed") + } + if !policy.UserLoginMustBeDomain && u.Profile != nil && u.UserName == "" && u.Email != nil { + u.UserName = u.EmailAddress } return nil } - -func (u *User) GenerateInitCodeIfNeeded(initGenerator crypto.Generator) error { - if !u.IsInitialState() { - return nil - } - u.InitCode = new(InitUserCode) - return u.InitCode.GenerateInitUserCode(initGenerator) -} - -func (u *User) GeneratePhoneCodeIfNeeded(phoneGenerator crypto.Generator) error { - if u.Phone == nil || u.IsPhoneVerified { - return nil - } - u.PhoneCode = new(PhoneCode) - return u.PhoneCode.GeneratePhoneCode(phoneGenerator) -} - -func (u *User) GenerateEmailCodeIfNeeded(emailGenerator crypto.Generator) error { - if u.Email == nil || u.IsEmailVerified { - return nil - } - u.EmailCode = new(EmailCode) - return u.EmailCode.GenerateEmailCode(emailGenerator) -} - -func (init *InitUserCode) GenerateInitUserCode(generator crypto.Generator) error { - initCodeCrypto, _, err := crypto.NewCode(generator) - if err != nil { - return err - } - init.Code = initCodeCrypto - init.Expiry = generator.Expiry() - return nil -} diff --git a/internal/user/model/user_human.go b/internal/user/model/user_human.go new file mode 100644 index 0000000000..e9f5b6ab18 --- /dev/null +++ b/internal/user/model/user_human.go @@ -0,0 +1,98 @@ +package model + +import ( + "time" + + policy_model "github.com/caos/zitadel/internal/policy/model" + + "github.com/caos/zitadel/internal/crypto" + es_models "github.com/caos/zitadel/internal/eventstore/models" +) + +type Human struct { + *Password + *Profile + *Email + *Phone + *Address + InitCode *InitUserCode + EmailCode *EmailCode + PhoneCode *PhoneCode + PasswordCode *PasswordCode + OTP *OTP +} + +type InitUserCode struct { + es_models.ObjectRoot + + Code *crypto.CryptoValue + Expiry time.Duration +} + +type Gender int32 + +const ( + GenderUnspecified Gender = iota + GenderFemale + GenderMale + GenderDiverse +) + +func (u *Human) SetNamesAsDisplayname() { + if u.Profile != nil && u.DisplayName == "" && u.FirstName != "" && u.LastName != "" { + u.DisplayName = u.FirstName + " " + u.LastName + } +} + +func (u *Human) IsValid() bool { + return u.Profile != nil && u.FirstName != "" && u.LastName != "" && u.Email != nil && u.Email.IsValid() && u.Phone == nil || (u.Phone != nil && u.Phone.IsValid()) +} + +func (u *Human) IsInitialState() bool { + return u.Email == nil || !u.IsEmailVerified || u.Password == nil || u.SecretString == "" +} + +func (u *Human) IsOTPReady() bool { + return u.OTP != nil && u.OTP.State == MfaStateReady +} + +func (u *Human) HashPasswordIfExisting(policy *policy_model.PasswordComplexityPolicy, passwordAlg crypto.HashAlgorithm, onetime bool) error { + if u.Password != nil { + return u.Password.HashPasswordIfExisting(policy, passwordAlg, onetime) + } + return nil +} + +func (u *Human) GenerateInitCodeIfNeeded(initGenerator crypto.Generator) error { + if !u.IsInitialState() { + return nil + } + u.InitCode = new(InitUserCode) + return u.InitCode.GenerateInitUserCode(initGenerator) +} + +func (u *Human) GeneratePhoneCodeIfNeeded(phoneGenerator crypto.Generator) error { + if u.Phone == nil || u.IsPhoneVerified { + return nil + } + u.PhoneCode = new(PhoneCode) + return u.PhoneCode.GeneratePhoneCode(phoneGenerator) +} + +func (u *Human) GenerateEmailCodeIfNeeded(emailGenerator crypto.Generator) error { + if u.Email == nil || u.IsEmailVerified { + return nil + } + u.EmailCode = new(EmailCode) + return u.EmailCode.GenerateEmailCode(emailGenerator) +} + +func (init *InitUserCode) GenerateInitUserCode(generator crypto.Generator) error { + initCodeCrypto, _, err := crypto.NewCode(generator) + if err != nil { + return err + } + init.Code = initCodeCrypto + init.Expiry = generator.Expiry() + return nil +} diff --git a/internal/user/model/user_test.go b/internal/user/model/user_human_test.go similarity index 90% rename from internal/user/model/user_test.go rename to internal/user/model/user_human_test.go index ecab3a7ff7..1b6c0e8dc5 100644 --- a/internal/user/model/user_test.go +++ b/internal/user/model/user_human_test.go @@ -6,7 +6,7 @@ import ( func TestIsUserValid(t *testing.T) { type args struct { - user *User + user *Human } tests := []struct { name string @@ -17,9 +17,8 @@ func TestIsUserValid(t *testing.T) { { name: "user with minimal data", args: args{ - user: &User{ + user: &Human{ Profile: &Profile{ - UserName: "UserName", FirstName: "FirstName", LastName: "LastName", }, @@ -33,9 +32,8 @@ func TestIsUserValid(t *testing.T) { { name: "user with phone data", args: args{ - user: &User{ + user: &Human{ Profile: &Profile{ - UserName: "UserName", FirstName: "FirstName", LastName: "LastName", }, @@ -52,9 +50,8 @@ func TestIsUserValid(t *testing.T) { { name: "user with address data", args: args{ - user: &User{ + user: &Human{ Profile: &Profile{ - UserName: "UserName", FirstName: "FirstName", LastName: "LastName", }, @@ -74,9 +71,8 @@ func TestIsUserValid(t *testing.T) { { name: "user with all data", args: args{ - user: &User{ + user: &Human{ Profile: &Profile{ - UserName: "UserName", FirstName: "FirstName", LastName: "LastName", }, diff --git a/internal/user/model/user_machine.go b/internal/user/model/user_machine.go new file mode 100644 index 0000000000..d635f81506 --- /dev/null +++ b/internal/user/model/user_machine.go @@ -0,0 +1,34 @@ +package model + +import ( + "time" + + "github.com/caos/zitadel/internal/eventstore/models" +) + +type Machine struct { + models.ObjectRoot + + Name string + Description string +} + +func (sa *Machine) IsValid() bool { + return sa.Name != "" +} + +type MachineKey struct { + models.ObjectRoot + + KeyID string + Type MachineKeyType + ExpirationDate time.Time + PrivateKey []byte +} + +type MachineKeyType int32 + +const ( + MachineKeyTypeNONE = iota + MachineKeyTypeJSON +) diff --git a/internal/user/model/user_view.go b/internal/user/model/user_view.go index ab0817bf9c..d4e8130e5f 100644 --- a/internal/user/model/user_view.go +++ b/internal/user/model/user_view.go @@ -3,28 +3,33 @@ package model import ( "time" - "golang.org/x/text/language" - - "github.com/caos/zitadel/internal/eventstore/models" - req_model "github.com/caos/zitadel/internal/auth_request/model" + "github.com/caos/zitadel/internal/errors" + "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/model" + "golang.org/x/text/language" ) type UserView struct { - ID string - CreationDate time.Time - ChangeDate time.Time - State UserState - ResourceOwner string + ID string + UserName string + CreationDate time.Time + ChangeDate time.Time + State UserState + Sequence uint64 + ResourceOwner string + LastLogin time.Time + PreferredLoginName string + LoginNames []string + *MachineView + *HumanView +} + +type HumanView struct { PasswordSet bool PasswordChangeRequired bool UsernameChangeRequired bool PasswordChanged time.Time - LastLogin time.Time - UserName string - PreferredLoginName string - LoginNames []string FirstName string LastName string NickName string @@ -44,7 +49,12 @@ type UserView struct { MfaMaxSetUp req_model.MfaLevel MfaInitSkipped time.Time InitRequired bool - Sequence uint64 +} + +type MachineView struct { + LastKeyAdded time.Time + Name string + Description string } type UserSearchRequest struct { @@ -69,6 +79,7 @@ const ( UserSearchKeyState UserSearchKeyResourceOwner UserSearchKeyLoginNames + UserSearchKeyType ) type UserSearchQuery struct { @@ -130,7 +141,10 @@ func (u *UserView) MfaTypesAllowed(level req_model.MfaLevel) []req_model.MfaType return types } -func (u *UserView) GetProfile() *Profile { +func (u *UserView) GetProfile() (*Profile, error) { + if u.HumanView == nil { + return nil, errors.ThrowPreconditionFailed(nil, "MODEL-WLTce", "Errors.User.NotHuman") + } return &Profile{ ObjectRoot: models.ObjectRoot{ AggregateID: u.ID, @@ -139,7 +153,6 @@ func (u *UserView) GetProfile() *Profile { CreationDate: u.CreationDate, ChangeDate: u.ChangeDate, }, - UserName: u.UserName, FirstName: u.FirstName, LastName: u.LastName, NickName: u.NickName, @@ -148,10 +161,13 @@ func (u *UserView) GetProfile() *Profile { Gender: u.Gender, PreferredLoginName: u.PreferredLoginName, LoginNames: u.LoginNames, - } + }, nil } -func (u *UserView) GetPhone() *Phone { +func (u *UserView) GetPhone() (*Phone, error) { + if u.HumanView == nil { + return nil, errors.ThrowPreconditionFailed(nil, "MODEL-him4a", "Errors.User.NotHuman") + } return &Phone{ ObjectRoot: models.ObjectRoot{ AggregateID: u.ID, @@ -162,10 +178,13 @@ func (u *UserView) GetPhone() *Phone { }, PhoneNumber: u.Phone, IsPhoneVerified: u.IsPhoneVerified, - } + }, nil } -func (u *UserView) GetEmail() *Email { +func (u *UserView) GetEmail() (*Email, error) { + if u.HumanView == nil { + return nil, errors.ThrowPreconditionFailed(nil, "MODEL-PWd6K", "Errors.User.NotHuman") + } return &Email{ ObjectRoot: models.ObjectRoot{ AggregateID: u.ID, @@ -176,10 +195,13 @@ func (u *UserView) GetEmail() *Email { }, EmailAddress: u.Email, IsEmailVerified: u.IsEmailVerified, - } + }, nil } -func (u *UserView) GetAddress() *Address { +func (u *UserView) GetAddress() (*Address, error) { + if u.HumanView == nil { + return nil, errors.ThrowPreconditionFailed(nil, "MODEL-DN61m", "Errors.User.NotHuman") + } return &Address{ ObjectRoot: models.ObjectRoot{ AggregateID: u.ID, @@ -193,5 +215,5 @@ func (u *UserView) GetAddress() *Address { PostalCode: u.PostalCode, Region: u.Region, StreetAddress: u.StreetAddress, - } + }, nil } diff --git a/internal/user/repository/eventsourcing/cache.go b/internal/user/repository/eventsourcing/cache.go index 9a20ad48ae..1ca5e0e423 100644 --- a/internal/user/repository/eventsourcing/cache.go +++ b/internal/user/repository/eventsourcing/cache.go @@ -19,9 +19,9 @@ func StartCache(conf *config.CacheConfig) (*UserCache, error) { return &UserCache{userCache: userCache}, nil } -func (c *UserCache) getUser(ID string) *model.User { - user := &model.User{ObjectRoot: models.ObjectRoot{AggregateID: ID}} - if err := c.userCache.Get(ID, user); err != nil { +func (c *UserCache) getUser(id string) *model.User { + user := &model.User{ObjectRoot: models.ObjectRoot{AggregateID: id}} + if err := c.userCache.Get(id, user); err != nil { logging.Log("EVENT-AtS0S").WithError(err).Debug("error in getting cache") } return user diff --git a/internal/user/repository/eventsourcing/eventstore.go b/internal/user/repository/eventsourcing/eventstore.go index ea2c6401f9..ec5bee1889 100644 --- a/internal/user/repository/eventsourcing/eventstore.go +++ b/internal/user/repository/eventsourcing/eventstore.go @@ -2,8 +2,8 @@ package eventsourcing import ( "context" - "encoding/json" "fmt" + "time" "github.com/caos/logging" "github.com/golang/protobuf/ptypes" @@ -28,6 +28,11 @@ import ( "github.com/caos/zitadel/internal/user/repository/eventsourcing/model" ) +const ( + yearLayout = "2006-01-02" + defaultExpirationDate = "9999-01-01" +) + type UserEventstore struct { es_int.Eventstore userCache *UserCache @@ -38,6 +43,8 @@ type UserEventstore struct { EmailVerificationCode crypto.Generator PhoneVerificationCode crypto.Generator PasswordVerificationCode crypto.Generator + MachineKeyAlg crypto.EncryptionAlgorithm + MachineKeySize int Multifactors global_model.Multifactors validateTOTP func(string, string) bool } @@ -79,8 +86,10 @@ func StartUser(conf UserConfig, systemDefaults sd.SystemDefaults) (*UserEventsto Issuer: systemDefaults.Multifactors.OTP.Issuer, }, }, - PasswordAlg: passwordAlg, - validateTOTP: totp.Validate, + PasswordAlg: passwordAlg, + validateTOTP: totp.Validate, + MachineKeyAlg: aesCrypto, + MachineKeySize: int(systemDefaults.SecretGenerators.MachineKeySize), }, nil } @@ -107,22 +116,28 @@ func (es *UserEventstore) UserEventsByID(ctx context.Context, id string, sequenc return es.FilterEvents(ctx, query) } -func (es *UserEventstore) PrepareCreateUser(ctx context.Context, user *usr_model.User, pwPolicy *policy_model.PasswordComplexityPolicy, orgIAMPolicy *org_model.OrgIAMPolicy, resourceOwner string) (*model.User, []*es_models.Aggregate, error) { +func (es *UserEventstore) prepareCreateMachine(ctx context.Context, user *usr_model.User, orgIamPolicy *org_model.OrgIAMPolicy, resourceOwner string) (*model.User, []*es_models.Aggregate, error) { + machine := model.UserFromModel(user) + + if !orgIamPolicy.UserLoginMustBeDomain { + return nil, nil, errors.ThrowPreconditionFailed(nil, "EVENT-cJlnI", "Errors.User.Invalid") + } + + createAggregates, err := MachineCreateAggregate(ctx, es.AggregateCreator(), machine, resourceOwner, true) + + return machine, createAggregates, err +} + +func (es *UserEventstore) prepareCreateHuman(ctx context.Context, user *usr_model.User, pwPolicy *policy_model.PasswordComplexityPolicy, orgIAMPolicy *org_model.OrgIAMPolicy, resourceOwner string) (*model.User, []*es_models.Aggregate, error) { err := user.CheckOrgIAMPolicy(orgIAMPolicy) if err != nil { return nil, nil, err } user.SetNamesAsDisplayname() if !user.IsValid() { - return nil, nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-9dk45", "Errors.User.Invalid") + return nil, nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-LoIxJ", "Errors.User.Invalid") } - id, err := es.idGenerator.Next() - if err != nil { - return nil, nil, err - } - user.AggregateID = id - err = user.HashPasswordIfExisting(pwPolicy, es.PasswordAlg, true) if err != nil { return nil, nil, err @@ -140,11 +155,26 @@ func (es *UserEventstore) PrepareCreateUser(ctx context.Context, user *usr_model repoInitCode := model.InitCodeFromModel(user.InitCode) repoPhoneCode := model.PhoneCodeFromModel(user.PhoneCode) - createAggregates, err := UserCreateAggregate(ctx, es.AggregateCreator(), repoUser, repoInitCode, repoPhoneCode, resourceOwner, orgIAMPolicy.UserLoginMustBeDomain) + createAggregates, err := HumanCreateAggregate(ctx, es.AggregateCreator(), repoUser, repoInitCode, repoPhoneCode, resourceOwner, orgIAMPolicy.UserLoginMustBeDomain) return repoUser, createAggregates, err } +func (es *UserEventstore) PrepareCreateUser(ctx context.Context, user *usr_model.User, pwPolicy *policy_model.PasswordComplexityPolicy, orgIAMPolicy *org_model.OrgIAMPolicy, resourceOwner string) (*model.User, []*es_models.Aggregate, error) { + id, err := es.idGenerator.Next() + if err != nil { + return nil, nil, err + } + user.AggregateID = id + + if user.Human != nil { + return es.prepareCreateHuman(ctx, user, pwPolicy, orgIAMPolicy, resourceOwner) + } else if user.Machine != nil { + return es.prepareCreateMachine(ctx, user, orgIAMPolicy, resourceOwner) + } + return nil, nil, errors.ThrowInvalidArgument(nil, "EVENT-Q29tp", "Errors.User.TypeUndefined") +} + func (es *UserEventstore) CreateUser(ctx context.Context, user *usr_model.User, pwPolicy *policy_model.PasswordComplexityPolicy, orgIAMPolicy *org_model.OrgIAMPolicy) (*usr_model.User, error) { repoUser, aggregates, err := es.PrepareCreateUser(ctx, user, pwPolicy, orgIAMPolicy, "") if err != nil { @@ -161,6 +191,9 @@ func (es *UserEventstore) CreateUser(ctx context.Context, user *usr_model.User, } func (es *UserEventstore) PrepareRegisterUser(ctx context.Context, user *usr_model.User, policy *policy_model.PasswordComplexityPolicy, orgIAMPolicy *org_model.OrgIAMPolicy, resourceOwner string) (*model.User, []*es_models.Aggregate, error) { + if user.Human == nil { + return nil, nil, caos_errs.ThrowInvalidArgument(nil, "EVENT-ht8Ux", "Errors.User.Invalid") + } err := user.CheckOrgIAMPolicy(orgIAMPolicy) if err != nil { return nil, nil, err @@ -207,79 +240,79 @@ func (es *UserEventstore) RegisterUser(ctx context.Context, user *usr_model.User } func (es *UserEventstore) DeactivateUser(ctx context.Context, id string) (*usr_model.User, error) { - existing, err := es.UserByID(ctx, id) + user, err := es.UserByID(ctx, id) if err != nil { return nil, err } - if existing.IsInactive() { + if user.IsInactive() { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-die45", "Errors.User.AlreadyInactive") } - repoExisting := model.UserFromModel(existing) - aggregate := UserDeactivateAggregate(es.AggregateCreator(), repoExisting) - err = es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, aggregate) + repoUser := model.UserFromModel(user) + aggregate := UserDeactivateAggregate(es.AggregateCreator(), repoUser) + err = es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, aggregate) if err != nil { return nil, err } - es.userCache.cacheUser(repoExisting) - return model.UserToModel(repoExisting), nil + es.userCache.cacheUser(repoUser) + return model.UserToModel(repoUser), nil } func (es *UserEventstore) ReactivateUser(ctx context.Context, id string) (*usr_model.User, error) { - existing, err := es.UserByID(ctx, id) + user, err := es.UserByID(ctx, id) if err != nil { return nil, err } - if !existing.IsInactive() { + if !user.IsInactive() { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-do94s", "Errors.User.NotInactive") } - repoExisting := model.UserFromModel(existing) - aggregate := UserReactivateAggregate(es.AggregateCreator(), repoExisting) - err = es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, aggregate) + repoUser := model.UserFromModel(user) + aggregate := UserReactivateAggregate(es.AggregateCreator(), repoUser) + err = es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, aggregate) if err != nil { return nil, err } - es.userCache.cacheUser(repoExisting) - return model.UserToModel(repoExisting), nil + es.userCache.cacheUser(repoUser) + return model.UserToModel(repoUser), nil } func (es *UserEventstore) LockUser(ctx context.Context, id string) (*usr_model.User, error) { - existing, err := es.UserByID(ctx, id) + user, err := es.UserByID(ctx, id) if err != nil { return nil, err } - if !existing.IsActive() && !existing.IsInitial() { + if !user.IsActive() && !user.IsInitial() { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-di83s", "Errors.User.ShouldBeActiveOrInitial") } - repoExisting := model.UserFromModel(existing) - aggregate := UserLockAggregate(es.AggregateCreator(), repoExisting) - err = es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, aggregate) + repoUser := model.UserFromModel(user) + aggregate := UserLockAggregate(es.AggregateCreator(), repoUser) + err = es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, aggregate) if err != nil { return nil, err } - es.userCache.cacheUser(repoExisting) - return model.UserToModel(repoExisting), nil + es.userCache.cacheUser(repoUser) + return model.UserToModel(repoUser), nil } func (es *UserEventstore) UnlockUser(ctx context.Context, id string) (*usr_model.User, error) { - existing, err := es.UserByID(ctx, id) + user, err := es.UserByID(ctx, id) if err != nil { return nil, err } - if !existing.IsLocked() { + if !user.IsLocked() { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-dks83", "Errors.User.NotLocked") } - repoExisting := model.UserFromModel(existing) - aggregate := UserUnlockAggregate(es.AggregateCreator(), repoExisting) - err = es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, aggregate) + repoUser := model.UserFromModel(user) + aggregate := UserUnlockAggregate(es.AggregateCreator(), repoUser) + err = es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, aggregate) if err != nil { return nil, err } - es.userCache.cacheUser(repoExisting) - return model.UserToModel(repoExisting), nil + es.userCache.cacheUser(repoUser) + return model.UserToModel(repoUser), nil } func (es *UserEventstore) UserChanges(ctx context.Context, id string, lastSequence uint64, limit uint64, sortAscending bool) (*usr_model.UserChanges, error) { @@ -302,16 +335,17 @@ func (es *UserEventstore) UserChanges(ctx context.Context, id string, lastSequen change := &usr_model.UserChange{ ChangeDate: creationDate, EventType: event.Type.String(), - ModifierId: event.EditorUser, + ModifierID: event.EditorUser, Sequence: event.Sequence, } - if event.Data != nil { - user := new(model.Profile) - err := json.Unmarshal(event.Data, user) - logging.Log("EVENT-Rkg7X").OnError(err).Debug("unable to unmarshal data") - change.Data = user - } + //TODO: now all types should be unmarshalled, e.g. password + // if len(event.Data) != 0 { + // user := new(model.User) + // err := json.Unmarshal(event.Data, user) + // logging.Log("EVENT-Rkg7X").OnError(err).Debug("unable to unmarshal data") + // change.Data = user + // } result[i] = change if lastSequence < event.Sequence { @@ -346,6 +380,9 @@ func (es *UserEventstore) InitializeUserCodeByID(ctx context.Context, userID str if err != nil { return nil, err } + if user.Human == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-mDPtj", "Errors.User.NotHuman") + } if user.InitCode != nil { return user.InitCode, nil @@ -361,6 +398,9 @@ func (es *UserEventstore) CreateInitializeUserCodeByID(ctx context.Context, user if err != nil { return nil, err } + if user.Human == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-9bbXj", "Errors.User.NotHuman") + } initCode := new(usr_model.InitUserCode) err = initCode.GenerateInitUserCode(es.InitializeUserCode) @@ -388,6 +428,9 @@ func (es *UserEventstore) InitCodeSent(ctx context.Context, userID string) error if err != nil { return err } + if user.Human == nil { + return errors.ThrowPreconditionFailed(nil, "EVENT-SvPa6", "Errors.User.NotHuman") + } repoUser := model.UserFromModel(user) agg := UserInitCodeSentAggregate(es.AggregateCreator(), repoUser) @@ -411,29 +454,32 @@ func (es *UserEventstore) VerifyInitCode(ctx context.Context, policy *policy_mod if err != nil { return err } - existing, err := es.UserByID(ctx, userID) + user, err := es.UserByID(ctx, userID) if err != nil { return err } - if existing.InitCode == nil { + if user.Human == nil { + return errors.ThrowPreconditionFailed(nil, "EVENT-b3xda", "Errors.User.NotHuman") + } + if user.InitCode == nil { return caos_errs.ThrowNotFound(nil, "EVENT-spo9W", "Errors.User.Code.NotFound") } repoPassword := model.PasswordFromModel(pw) - repoExisting := model.UserFromModel(existing) + repoUser := model.UserFromModel(user) var updateAggregate func(ctx context.Context) (*es_models.Aggregate, error) - if err := crypto.VerifyCode(existing.InitCode.CreationDate, existing.InitCode.Expiry, existing.InitCode.Code, verificationCode, es.InitializeUserCode); err != nil { - updateAggregate = InitCodeCheckFailedAggregate(es.AggregateCreator(), repoExisting) - es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, updateAggregate) + if err := crypto.VerifyCode(user.InitCode.CreationDate, user.InitCode.Expiry, user.InitCode.Code, verificationCode, es.InitializeUserCode); err != nil { + updateAggregate = InitCodeCheckFailedAggregate(es.AggregateCreator(), repoUser) + es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, updateAggregate) return err } else { - updateAggregate = InitCodeVerifiedAggregate(es.AggregateCreator(), repoExisting, repoPassword) + updateAggregate = InitCodeVerifiedAggregate(es.AggregateCreator(), repoUser, repoPassword) } - err = es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, updateAggregate) + err = es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, updateAggregate) if err != nil { return err } - es.userCache.cacheUser(repoExisting) + es.userCache.cacheUser(repoUser) return nil } @@ -445,6 +491,9 @@ func (es *UserEventstore) SkipMfaInit(ctx context.Context, userID string) error if err != nil { return err } + if user.Human == nil { + return errors.ThrowPreconditionFailed(nil, "EVENT-S1tdl", "Errors.User.NotHuman") + } repoUser := model.UserFromModel(user) agg := SkipMfaAggregate(es.AggregateCreator(), repoUser) @@ -464,6 +513,9 @@ func (es *UserEventstore) UserPasswordByID(ctx context.Context, userID string) ( if err != nil { return nil, err } + if user.Human == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-jLHYG", "Errors.User.NotHuman") + } if user.Password != nil { return user.Password, nil @@ -472,17 +524,20 @@ func (es *UserEventstore) UserPasswordByID(ctx context.Context, userID string) ( } func (es *UserEventstore) CheckPassword(ctx context.Context, userID, password string, authRequest *req_model.AuthRequest) error { - existing, err := es.UserByID(ctx, userID) + user, err := es.UserByID(ctx, userID) if err != nil { return err } - if existing.Password == nil { + if user.Human == nil { + return errors.ThrowPreconditionFailed(nil, "EVENT-HxcAx", "Errors.User.NotHuman") + } + if user.Password == nil { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-s35Fa", "Errors.User.Password.Empty") } - if err := crypto.CompareHash(existing.Password.SecretCrypto, []byte(password), es.PasswordAlg); err == nil { - return es.setPasswordCheckResult(ctx, existing, authRequest, PasswordCheckSucceededAggregate) + if err := crypto.CompareHash(user.Password.SecretCrypto, []byte(password), es.PasswordAlg); err == nil { + return es.setPasswordCheckResult(ctx, user, authRequest, PasswordCheckSucceededAggregate) } - if err := es.setPasswordCheckResult(ctx, existing, authRequest, PasswordCheckFailedAggregate); err != nil { + if err := es.setPasswordCheckResult(ctx, user, authRequest, PasswordCheckFailedAggregate); err != nil { return err } return caos_errs.ThrowInvalidArgument(nil, "EVENT-452ad", "Errors.User.Password.Invalid") @@ -505,6 +560,9 @@ func (es *UserEventstore) SetOneTimePassword(ctx context.Context, policy *policy if err != nil { return nil, err } + if user.Human == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-PjDfJ", "Errors.User.NotHuman") + } return es.changedPassword(ctx, user, policy, password.SecretString, true) } @@ -513,6 +571,9 @@ func (es *UserEventstore) SetPassword(ctx context.Context, policy *policy_model. if err != nil { return err } + if user.Human == nil { + return errors.ThrowPreconditionFailed(nil, "EVENT-pHkAQ", "Errors.User.NotHuman") + } if user.PasswordCode == nil { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-65sdr", "Errors.User.Code.NotFound") } @@ -523,11 +584,36 @@ func (es *UserEventstore) SetPassword(ctx context.Context, policy *policy_model. return err } +func (es *UserEventstore) ChangeMachine(ctx context.Context, machine *usr_model.Machine) (*usr_model.Machine, error) { + user, err := es.UserByID(ctx, machine.AggregateID) + if err != nil { + return nil, err + } + if user.Machine == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-OGUoz", "Errors.User.NotMachine") + } + + repoUser := model.UserFromModel(user) + repoMachine := model.MachineFromModel(machine) + + updateAggregate := MachineChangeAggregate(es.AggregateCreator(), repoUser, repoMachine) + err = es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, updateAggregate) + if err != nil { + return nil, err + } + + es.userCache.cacheUser(repoUser) + return model.MachineToModel(repoUser.Machine), nil +} + func (es *UserEventstore) ChangePassword(ctx context.Context, policy *policy_model.PasswordComplexityPolicy, userID, old, new string) (*usr_model.Password, error) { user, err := es.UserByID(ctx, userID) if err != nil { return nil, err } + if user.Human == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-9AuLE", "Errors.User.NotHuman") + } if user.Password == nil { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-Fds3s", "Errors.User.Password.Empty") } @@ -563,6 +649,9 @@ func (es *UserEventstore) RequestSetPassword(ctx context.Context, userID string, if err != nil { return err } + if user.Human == nil { + return errors.ThrowPreconditionFailed(nil, "EVENT-33ywz", "Errors.User.NotHuman") + } passwordCode := new(model.PasswordCode) err = es.generatePasswordCode(passwordCode, notifyType) @@ -588,6 +677,9 @@ func (es *UserEventstore) PasswordCodeSent(ctx context.Context, userID string) e if err != nil { return err } + if user.Human == nil { + return errors.ThrowPreconditionFailed(nil, "EVENT-tbVAo", "Errors.User.NotHuman") + } repoUser := model.UserFromModel(user) agg := PasswordCodeSentAggregate(es.AggregateCreator(), repoUser) @@ -607,6 +699,9 @@ func (es *UserEventstore) ProfileByID(ctx context.Context, userID string) (*usr_ if err != nil { return nil, err } + if user.Human == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-BaE4M", "Errors.User.NotHuman") + } if user.Profile != nil { return user.Profile, nil @@ -619,22 +714,25 @@ func (es *UserEventstore) ChangeProfile(ctx context.Context, profile *usr_model. if !profile.IsValid() { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-d82i3", "Errors.User.ProfileInvalid") } - existing, err := es.UserByID(ctx, profile.AggregateID) + user, err := es.UserByID(ctx, profile.AggregateID) + if err != nil { + return nil, err + } + if user.Human == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-Xhw8Y", "Errors.User.NotHuman") + } + + repoUser := model.UserFromModel(user) + repoProfile := model.ProfileFromModel(profile) + + updateAggregate := ProfileChangeAggregate(es.AggregateCreator(), repoUser, repoProfile) + err = es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, updateAggregate) if err != nil { return nil, err } - repoExisting := model.UserFromModel(existing) - repoNew := model.ProfileFromModel(profile) - - updateAggregate := ProfileChangeAggregate(es.AggregateCreator(), repoExisting, repoNew) - err = es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, updateAggregate) - if err != nil { - return nil, err - } - - es.userCache.cacheUser(repoExisting) - return model.ProfileToModel(repoExisting.Profile), nil + es.userCache.cacheUser(repoUser) + return model.ProfileToModel(repoUser.Profile), nil } func (es *UserEventstore) EmailByID(ctx context.Context, userID string) (*usr_model.Email, error) { @@ -645,6 +743,9 @@ func (es *UserEventstore) EmailByID(ctx context.Context, userID string) (*usr_mo if err != nil { return nil, err } + if user.Human == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-zHtOg", "Errors.User.NotHuman") + } if user.Email != nil { return user.Email, nil @@ -656,31 +757,34 @@ func (es *UserEventstore) ChangeEmail(ctx context.Context, email *usr_model.Emai if !email.IsValid() { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-lco09", "Errors.User.EmailInvalid") } - existing, err := es.UserByID(ctx, email.AggregateID) + user, err := es.UserByID(ctx, email.AggregateID) if err != nil { return nil, err } + if user.Human == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-tgBdL", "Errors.User.NotHuman") + } emailCode, err := email.GenerateEmailCodeIfNeeded(es.EmailVerificationCode) if err != nil { return nil, err } - repoExisting := model.UserFromModel(existing) - repoNew := model.EmailFromModel(email) + repoUser := model.UserFromModel(user) + repoEmail := model.EmailFromModel(email) repoEmailCode := model.EmailCodeFromModel(emailCode) - updateAggregate, err := EmailChangeAggregate(ctx, es.AggregateCreator(), repoExisting, repoNew, repoEmailCode) + updateAggregate, err := EmailChangeAggregate(ctx, es.AggregateCreator(), repoUser, repoEmail, repoEmailCode) if err != nil { return nil, err } - err = es_sdk.PushAggregates(ctx, es.PushAggregates, repoExisting.AppendEvents, updateAggregate) + err = es_sdk.PushAggregates(ctx, es.PushAggregates, repoUser.AppendEvents, updateAggregate) if err != nil { return nil, err } - es.userCache.cacheUser(repoExisting) - return model.EmailToModel(repoExisting.Email), nil + es.userCache.cacheUser(repoUser) + return model.EmailToModel(repoUser.Email), nil } func (es *UserEventstore) VerifyEmail(ctx context.Context, userID, verificationCode string) error { @@ -690,31 +794,34 @@ func (es *UserEventstore) VerifyEmail(ctx context.Context, userID, verificationC if verificationCode == "" { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-skDws", "Errors.User.Code.Empty") } - existing, err := es.UserByID(ctx, userID) + user, err := es.UserByID(ctx, userID) if err != nil { return err } - if existing.EmailCode == nil { + if user.Human == nil { + return errors.ThrowPreconditionFailed(nil, "EVENT-YgXu6", "Errors.User.NotHuman") + } + if user.EmailCode == nil { return caos_errs.ThrowNotFound(nil, "EVENT-lso9w", "Errors.User.Code.NotFound") } - err = crypto.VerifyCode(existing.EmailCode.CreationDate, existing.EmailCode.Expiry, existing.EmailCode.Code, verificationCode, es.EmailVerificationCode) + err = crypto.VerifyCode(user.EmailCode.CreationDate, user.EmailCode.Expiry, user.EmailCode.Code, verificationCode, es.EmailVerificationCode) if err == nil { - return es.setEmailVerifyResult(ctx, existing, EmailVerifiedAggregate) + return es.setEmailVerifyResult(ctx, user, EmailVerifiedAggregate) } - if err := es.setEmailVerifyResult(ctx, existing, EmailVerificationFailedAggregate); err != nil { + if err := es.setEmailVerifyResult(ctx, user, EmailVerificationFailedAggregate); err != nil { return err } return caos_errs.ThrowInvalidArgument(err, "EVENT-dtGaa", "Errors.User.Code.Invalid") } -func (es *UserEventstore) setEmailVerifyResult(ctx context.Context, existing *usr_model.User, check func(aggCreator *es_models.AggregateCreator, existing *model.User) es_sdk.AggregateFunc) error { - repoExisting := model.UserFromModel(existing) - err := es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, check(es.AggregateCreator(), repoExisting)) +func (es *UserEventstore) setEmailVerifyResult(ctx context.Context, user *usr_model.User, check func(aggCreator *es_models.AggregateCreator, user *model.User) es_sdk.AggregateFunc) error { + repoUser := model.UserFromModel(user) + err := es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, check(es.AggregateCreator(), repoUser)) if err != nil { return err } - es.userCache.cacheUser(repoExisting) + es.userCache.cacheUser(repoUser) return nil } @@ -722,14 +829,17 @@ func (es *UserEventstore) CreateEmailVerificationCode(ctx context.Context, userI if userID == "" { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-lco09", "Errors.User.UserIDMissing") } - existing, err := es.UserByID(ctx, userID) + user, err := es.UserByID(ctx, userID) if err != nil { return err } - if existing.Email == nil { + if user.Human == nil { + return errors.ThrowPreconditionFailed(nil, "EVENT-hqUZP", "Errors.User.NotHuman") + } + if user.Email == nil { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-pdo9s", "Errors.User.EmailNotFound") } - if existing.IsEmailVerified { + if user.IsEmailVerified { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-pdo9s", "Errors.User.EmailAlreadyVerified") } @@ -739,15 +849,15 @@ func (es *UserEventstore) CreateEmailVerificationCode(ctx context.Context, userI return err } - repoExisting := model.UserFromModel(existing) + repoUser := model.UserFromModel(user) repoEmailCode := model.EmailCodeFromModel(emailCode) - updateAggregate := EmailVerificationCodeAggregate(es.AggregateCreator(), repoExisting, repoEmailCode) - err = es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, updateAggregate) + updateAggregate := EmailVerificationCodeAggregate(es.AggregateCreator(), repoUser, repoEmailCode) + err = es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, updateAggregate) if err != nil { return err } - es.userCache.cacheUser(repoExisting) + es.userCache.cacheUser(repoUser) return nil } @@ -759,6 +869,9 @@ func (es *UserEventstore) EmailVerificationCodeSent(ctx context.Context, userID if err != nil { return err } + if user.Human == nil { + return errors.ThrowPreconditionFailed(nil, "EVENT-BcFVd", "Errors.User.NotHuman") + } repoUser := model.UserFromModel(user) agg := EmailCodeSentAggregate(es.AggregateCreator(), repoUser) @@ -778,6 +891,9 @@ func (es *UserEventstore) PhoneByID(ctx context.Context, userID string) (*usr_mo if err != nil { return nil, err } + if user.Human == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-LwQeA", "Errors.User.NotHuman") + } if user.Phone != nil { return user.Phone, nil @@ -789,59 +905,65 @@ func (es *UserEventstore) ChangePhone(ctx context.Context, phone *usr_model.Phon if !phone.IsValid() { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-do9s4", "Errors.User.PhoneInvalid") } - existing, err := es.UserByID(ctx, phone.AggregateID) + user, err := es.UserByID(ctx, phone.AggregateID) if err != nil { return nil, err } + if user.Human == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-oREkn", "Errors.User.NotHuman") + } phoneCode, err := phone.GeneratePhoneCodeIfNeeded(es.PhoneVerificationCode) if err != nil { return nil, err } - repoExisting := model.UserFromModel(existing) - repoNew := model.PhoneFromModel(phone) + repoUser := model.UserFromModel(user) + repoPhone := model.PhoneFromModel(phone) repoPhoneCode := model.PhoneCodeFromModel(phoneCode) - updateAggregate := PhoneChangeAggregate(es.AggregateCreator(), repoExisting, repoNew, repoPhoneCode) - err = es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, updateAggregate) + updateAggregate := PhoneChangeAggregate(es.AggregateCreator(), repoUser, repoPhone, repoPhoneCode) + err = es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, updateAggregate) if err != nil { return nil, err } - es.userCache.cacheUser(repoExisting) - return model.PhoneToModel(repoExisting.Phone), nil + es.userCache.cacheUser(repoUser) + return model.PhoneToModel(repoUser.Phone), nil } func (es *UserEventstore) VerifyPhone(ctx context.Context, userID, verificationCode string) error { if userID == "" || verificationCode == "" { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-dsi8s", "Errors.User.UserIDMissing") } - existing, err := es.UserByID(ctx, userID) + user, err := es.UserByID(ctx, userID) if err != nil { return err } - if existing.PhoneCode == nil { + if user.Human == nil { + return errors.ThrowPreconditionFailed(nil, "EVENT-UspdK", "Errors.User.NotHuman") + } + if user.PhoneCode == nil { return caos_errs.ThrowNotFound(nil, "EVENT-slp0s", "Errors.User.Code.NotFound") } - err = crypto.VerifyCode(existing.PhoneCode.CreationDate, existing.PhoneCode.Expiry, existing.PhoneCode.Code, verificationCode, es.PhoneVerificationCode) + err = crypto.VerifyCode(user.PhoneCode.CreationDate, user.PhoneCode.Expiry, user.PhoneCode.Code, verificationCode, es.PhoneVerificationCode) if err == nil { - return es.setPhoneVerifyResult(ctx, existing, PhoneVerifiedAggregate) + return es.setPhoneVerifyResult(ctx, user, PhoneVerifiedAggregate) } - if err := es.setPhoneVerifyResult(ctx, existing, PhoneVerificationFailedAggregate); err != nil { + if err := es.setPhoneVerifyResult(ctx, user, PhoneVerificationFailedAggregate); err != nil { return err } return caos_errs.ThrowInvalidArgument(err, "EVENT-dsf4G", "Errors.User.Code.Invalid") } -func (es *UserEventstore) setPhoneVerifyResult(ctx context.Context, existing *usr_model.User, check func(aggCreator *es_models.AggregateCreator, existing *model.User) es_sdk.AggregateFunc) error { - repoExisting := model.UserFromModel(existing) - err := es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, check(es.AggregateCreator(), repoExisting)) +func (es *UserEventstore) setPhoneVerifyResult(ctx context.Context, user *usr_model.User, check func(aggCreator *es_models.AggregateCreator, user *model.User) es_sdk.AggregateFunc) error { + repoUser := model.UserFromModel(user) + err := es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, check(es.AggregateCreator(), repoUser)) if err != nil { return err } - es.userCache.cacheUser(repoExisting) + es.userCache.cacheUser(repoUser) return nil } @@ -849,14 +971,17 @@ func (es *UserEventstore) CreatePhoneVerificationCode(ctx context.Context, userI if userID == "" { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-do9sw", "Errors.User.UserIDMissing") } - existing, err := es.UserByID(ctx, userID) + user, err := es.UserByID(ctx, userID) if err != nil { return err } - if existing.Phone == nil { + if user.Human == nil { + return errors.ThrowPreconditionFailed(nil, "EVENT-eEi05", "Errors.User.NotHuman") + } + if user.Phone == nil { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-sp9fs", "Errors.User.PhoneNotFound") } - if existing.IsPhoneVerified { + if user.IsPhoneVerified { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-sleis", "Errors.User.PhoneAlreadyVerified") } @@ -866,15 +991,15 @@ func (es *UserEventstore) CreatePhoneVerificationCode(ctx context.Context, userI return err } - repoExisting := model.UserFromModel(existing) + repoUser := model.UserFromModel(user) repoPhoneCode := model.PhoneCodeFromModel(phoneCode) - updateAggregate := PhoneVerificationCodeAggregate(es.AggregateCreator(), repoExisting, repoPhoneCode) - err = es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, updateAggregate) + updateAggregate := PhoneVerificationCodeAggregate(es.AggregateCreator(), repoUser, repoPhoneCode) + err = es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, updateAggregate) if err != nil { return err } - es.userCache.cacheUser(repoExisting) + es.userCache.cacheUser(repoUser) return nil } @@ -886,6 +1011,9 @@ func (es *UserEventstore) PhoneVerificationCodeSent(ctx context.Context, userID if err != nil { return err } + if user.Human == nil { + return errors.ThrowPreconditionFailed(nil, "EVENT-5bhOP", "Errors.User.NotHuman") + } repoUser := model.UserFromModel(user) agg := PhoneCodeSentAggregate(es.AggregateCreator(), repoUser) @@ -898,18 +1026,21 @@ func (es *UserEventstore) PhoneVerificationCodeSent(ctx context.Context, userID } func (es *UserEventstore) RemovePhone(ctx context.Context, userID string) error { - existing, err := es.UserByID(ctx, userID) + user, err := es.UserByID(ctx, userID) if err != nil { return err } - repoExisting := model.UserFromModel(existing) - removeAggregate := PhoneRemovedAggregate(es.AggregateCreator(), repoExisting) - err = es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, removeAggregate) + if user.Human == nil { + return errors.ThrowPreconditionFailed(nil, "EVENT-Satfl", "Errors.User.NotHuman") + } + repoUser := model.UserFromModel(user) + removeAggregate := PhoneRemovedAggregate(es.AggregateCreator(), repoUser) + err = es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, removeAggregate) if err != nil { return err } - es.userCache.cacheUser(repoExisting) + es.userCache.cacheUser(repoUser) return nil } @@ -921,6 +1052,9 @@ func (es *UserEventstore) AddressByID(ctx context.Context, userID string) (*usr_ if err != nil { return nil, err } + if user.Human == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-pHrLu", "Errors.User.NotHuman") + } if user.Address != nil { return user.Address, nil @@ -929,35 +1063,41 @@ func (es *UserEventstore) AddressByID(ctx context.Context, userID string) (*usr_ } func (es *UserEventstore) ChangeAddress(ctx context.Context, address *usr_model.Address) (*usr_model.Address, error) { - existing, err := es.UserByID(ctx, address.AggregateID) + user, err := es.UserByID(ctx, address.AggregateID) if err != nil { return nil, err } - repoExisting := model.UserFromModel(existing) - repoNew := model.AddressFromModel(address) + if user.Human == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-crpHD", "Errors.User.NotHuman") + } + repoUser := model.UserFromModel(user) + repoAddress := model.AddressFromModel(address) - updateAggregate := AddressChangeAggregate(es.AggregateCreator(), repoExisting, repoNew) - err = es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, updateAggregate) + updateAggregate := AddressChangeAggregate(es.AggregateCreator(), repoUser, repoAddress) + err = es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, updateAggregate) if err != nil { return nil, err } - es.userCache.cacheUser(repoExisting) - return model.AddressToModel(repoExisting.Address), nil + es.userCache.cacheUser(repoUser) + return model.AddressToModel(repoUser.Address), nil } func (es *UserEventstore) AddOTP(ctx context.Context, userID, accountName string) (*usr_model.OTP, error) { - existing, err := es.UserByID(ctx, userID) + user, err := es.UserByID(ctx, userID) if err != nil { return nil, err } - if existing.IsOTPReady() { + if user.Human == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-XJvu3", "Errors.User.NotHuman") + } + if user.IsOTPReady() { return nil, caos_errs.ThrowAlreadyExists(nil, "EVENT-do9se", "Errors.User.Mfa.Otp.AlreadyReady") } if accountName == "" { - accountName = existing.UserName - if existing.Email != nil { - accountName = existing.EmailAddress + accountName = user.UserName + if user.Email != nil { + accountName = user.EmailAddress } } key, err := totp.Generate(totp.GenerateOpts{Issuer: es.Multifactors.OTP.Issuer, AccountName: accountName}) @@ -968,37 +1108,40 @@ func (es *UserEventstore) AddOTP(ctx context.Context, userID, accountName string if err != nil { return nil, err } - repoOtp := &model.OTP{Secret: encryptedSecret} - repoExisting := model.UserFromModel(existing) - updateAggregate := MfaOTPAddAggregate(es.AggregateCreator(), repoExisting, repoOtp) - err = es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, updateAggregate) + repoOTP := &model.OTP{Secret: encryptedSecret} + repoUser := model.UserFromModel(user) + updateAggregate := MFAOTPAddAggregate(es.AggregateCreator(), repoUser, repoOTP) + err = es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, updateAggregate) if err != nil { return nil, err } - es.userCache.cacheUser(repoExisting) - otp := model.OTPToModel(repoExisting.OTP) + es.userCache.cacheUser(repoUser) + otp := model.OTPToModel(repoUser.OTP) otp.Url = key.URL() otp.SecretString = key.Secret() return otp, nil } func (es *UserEventstore) RemoveOTP(ctx context.Context, userID string) error { - existing, err := es.UserByID(ctx, userID) + user, err := es.UserByID(ctx, userID) if err != nil { return err } - if existing.OTP == nil { + if user.Human == nil { + return errors.ThrowPreconditionFailed(nil, "EVENT-WsBv9", "Errors.User.NotHuman") + } + if user.OTP == nil { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-sp0de", "Errors.User.Mfa.Otp.NotExisting") } - repoExisting := model.UserFromModel(existing) - updateAggregate := MfaOTPRemoveAggregate(es.AggregateCreator(), repoExisting) - err = es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, updateAggregate) + repoUser := model.UserFromModel(user) + updateAggregate := MFAOTPRemoveAggregate(es.AggregateCreator(), repoUser) + err = es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, updateAggregate) if err != nil { return err } - es.userCache.cacheUser(repoExisting) + es.userCache.cacheUser(repoUser) return nil } @@ -1007,17 +1150,20 @@ func (es *UserEventstore) CheckMfaOTPSetup(ctx context.Context, userID, code str if err != nil { return err } + if user.Human == nil { + return errors.ThrowPreconditionFailed(nil, "EVENT-7zRQM", "Errors.User.NotHuman") + } if user.OTP == nil { - return caos_errs.ThrowPreconditionFailed(nil, "EVENT-sd5NJ", "Errors.Users.Mfa.Otp.NotExisting") + return caos_errs.ThrowPreconditionFailed(nil, "EVENT-yERHV", "Errors.Users.Mfa.Otp.NotExisting") } if user.IsOTPReady() { - return caos_errs.ThrowPreconditionFailed(nil, "EVENT-sd5NJ", "Errors.Users.Mfa.Otp.AlreadyReady") + return caos_errs.ThrowPreconditionFailed(nil, "EVENT-qx4ls", "Errors.Users.Mfa.Otp.AlreadyReady") } if err := es.verifyMfaOTP(user.OTP, code); err != nil { return err } repoUser := model.UserFromModel(user) - err = es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, MfaOTPVerifyAggregate(es.AggregateCreator(), repoUser)) + err = es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, MFAOTPVerifyAggregate(es.AggregateCreator(), repoUser)) if err != nil { return err } @@ -1031,6 +1177,9 @@ func (es *UserEventstore) CheckMfaOTP(ctx context.Context, userID, code string, if err != nil { return err } + if user.Human == nil { + return errors.ThrowPreconditionFailed(nil, "EVENT-ckqn5", "Errors.User.NotHuman") + } if !user.IsOTPReady() { return caos_errs.ThrowPreconditionFailed(nil, "EVENT-sd5NJ", "Errors.User.Mfa.Otp.NotReady") } @@ -1040,9 +1189,9 @@ func (es *UserEventstore) CheckMfaOTP(ctx context.Context, userID, code string, var aggregate func(*es_models.AggregateCreator, *model.User, *model.AuthRequest) es_sdk.AggregateFunc var checkErr error if checkErr = es.verifyMfaOTP(user.OTP, code); checkErr != nil { - aggregate = MfaOTPCheckFailedAggregate + aggregate = MFAOTPCheckFailedAggregate } else { - aggregate = MfaOTPCheckSucceededAggregate + aggregate = MFAOTPCheckSucceededAggregate } err = es_sdk.Push(ctx, es.PushAggregates, repoUser.AppendEvents, aggregate(es.AggregateCreator(), repoUser, repoAuthReq)) if checkErr != nil { @@ -1161,3 +1310,78 @@ func (es *UserEventstore) generateTemporaryLoginName() (string, error) { } return fmt.Sprintf("%s@temporary.%s", id, es.domain), nil } + +func (es *UserEventstore) AddMachineKey(ctx context.Context, key *usr_model.MachineKey) (*usr_model.MachineKey, error) { + user, err := es.UserByID(ctx, key.AggregateID) + if err != nil { + return nil, err + } + if user.Machine == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-5ROh4", "Errors.User.NotMachine") + } + + id, err := es.idGenerator.Next() + if err != nil { + return nil, err + } + key.KeyID = id + + if key.ExpirationDate.IsZero() { + key.ExpirationDate, err = time.Parse(yearLayout, defaultExpirationDate) + if err != nil { + logging.Log("EVENT-vzibi").WithError(err).Warn("unable to set default date") + return nil, errors.ThrowInternal(err, "EVENT-j68fg", "Errors.Internal") + } + } + if key.ExpirationDate.Before(time.Now()) { + return nil, errors.ThrowInvalidArgument(nil, "EVENT-C6YV5", "Errors.MachineKey.ExpireBeforeNow") + } + + repoUser := model.UserFromModel(user) + repoKey := model.MachineKeyFromModel(key) + err = repoKey.GenerateMachineKeyPair(es.MachineKeySize, es.MachineKeyAlg) + if err != nil { + return nil, err + } + + userAggregate, err := UserAggregate(ctx, es.AggregateCreator(), repoUser) + if err != nil { + return nil, err + } + keyAggregate, err := userAggregate.AppendEvent(model.MachineKeyAdded, repoKey) + if err != nil { + return nil, err + } + err = es_sdk.PushAggregates(ctx, es.PushAggregates, repoKey.AppendEvents, keyAggregate) + if err != nil { + return nil, err + } + + return model.MachineKeyToModel(repoKey), nil +} + +func (es *UserEventstore) RemoveMachineKey(ctx context.Context, userID, keyID string) error { + user, err := es.UserByID(ctx, userID) + if err != nil { + return err + } + if user.Machine == nil { + return errors.ThrowPreconditionFailed(nil, "EVENT-h5Qtd", "Errors.User.NotMachine") + } + + repoUser := model.UserFromModel(user) + userAggregate, err := UserAggregate(ctx, es.AggregateCreator(), repoUser) + if err != nil { + return err + } + + keyIDPayload := struct { + KeyID string `json:"keyId"` + }{KeyID: keyID} + + keyAggregate, err := userAggregate.AppendEvent(model.MachineKeyRemoved, &keyIDPayload) + if err != nil { + return err + } + return es.PushAggregates(ctx, keyAggregate) +} diff --git a/internal/user/repository/eventsourcing/eventstore_mock_test.go b/internal/user/repository/eventsourcing/eventstore_mock_test.go index f9cff22841..0955e7eab4 100644 --- a/internal/user/repository/eventsourcing/eventstore_mock_test.go +++ b/internal/user/repository/eventsourcing/eventstore_mock_test.go @@ -69,7 +69,7 @@ func GetMockPwGenerator(ctrl *gomock.Controller) crypto.Generator { func GetMockUserByIDOK(ctrl *gomock.Controller, user model.User) *UserEventstore { data, _ := json.Marshal(user) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: data}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: data}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -85,13 +85,16 @@ func GetMockUserByIDNoEvents(ctrl *gomock.Controller) *UserEventstore { func GetMockManipulateUser(ctrl *gomock.Controller) *UserEventstore { user := model.User{ - Profile: &model.Profile{ - UserName: "UserName", + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{ + DisplayName: "DisplayName", + }, }, } data, _ := json.Marshal(user) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: data}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: data}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -101,9 +104,9 @@ func GetMockManipulateUser(ctrl *gomock.Controller) *UserEventstore { } func GetMockManipulateUserWithPWGenerator(ctrl *gomock.Controller, init, email, phone, password bool) *UserEventstore { - user := model.User{ + user := model.Human{ Profile: &model.Profile{ - UserName: "UserName", + DisplayName: "DisplayName", }, Email: &model.Email{ EmailAddress: "EmailAddress", @@ -114,7 +117,7 @@ func GetMockManipulateUserWithPWGenerator(ctrl *gomock.Controller, init, email, } data, _ := json.Marshal(user) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: data}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: data}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -126,7 +129,7 @@ func GetMockManipulateUserWithPWGenerator(ctrl *gomock.Controller, init, email, func GetMockManipulateUserWithInitCodeGen(ctrl *gomock.Controller, user model.User) *UserEventstore { data, _ := json.Marshal(user) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: data}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: data}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -138,7 +141,7 @@ func GetMockManipulateUserWithInitCodeGen(ctrl *gomock.Controller, user model.Us func GetMockManipulateUserWithPasswordInitCodeGen(ctrl *gomock.Controller, user model.User) *UserEventstore { data, _ := json.Marshal(user) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: data}, + &es_models.Event{AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: data}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -150,7 +153,7 @@ func GetMockManipulateUserWithPasswordInitCodeGen(ctrl *gomock.Controller, user func GetMockManipulateUserWithPasswordAndEmailCodeGen(ctrl *gomock.Controller, user model.User) *UserEventstore { data, _ := json.Marshal(user) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: data}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: data}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -162,7 +165,7 @@ func GetMockManipulateUserWithPasswordAndEmailCodeGen(ctrl *gomock.Controller, u func GetMockManipulateUserWithEmailCodeGen(ctrl *gomock.Controller, user model.User) *UserEventstore { data, _ := json.Marshal(user) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: data}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: data}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -174,7 +177,7 @@ func GetMockManipulateUserWithEmailCodeGen(ctrl *gomock.Controller, user model.U func GetMockManipulateUserWithPhoneCodeGen(ctrl *gomock.Controller, user model.User) *UserEventstore { data, _ := json.Marshal(user) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: data}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: data}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -187,8 +190,8 @@ func GetMockManipulateUserWithPasswordCodeGen(ctrl *gomock.Controller, user mode data, _ := json.Marshal(user) code, _ := json.Marshal(user.PasswordCode) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: data}, - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserPasswordCodeAdded, Data: code}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: data}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserPasswordCodeAdded, Data: code}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -199,13 +202,16 @@ func GetMockManipulateUserWithPasswordCodeGen(ctrl *gomock.Controller, user mode func GetMockManipulateUserWithOTPGen(ctrl *gomock.Controller) *UserEventstore { user := model.User{ - Profile: &model.Profile{ - UserName: "UserName", + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{ + DisplayName: "DisplayName", + }, }, } data, _ := json.Marshal(user) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: data}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: data}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -224,15 +230,15 @@ func GetMockManipulateUserWithOTPGen(ctrl *gomock.Controller) *UserEventstore { } func GetMockManipulateInactiveUser(ctrl *gomock.Controller) *UserEventstore { - user := model.User{ + user := model.Human{ Profile: &model.Profile{ - UserName: "UserName", + DisplayName: "DisplayName", }, } data, _ := json.Marshal(user) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: data}, - &es_models.Event{AggregateID: "AggregateID", Sequence: 2, Type: model.UserDeactivated}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: data}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 2, Type: model.UserDeactivated}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -242,15 +248,15 @@ func GetMockManipulateInactiveUser(ctrl *gomock.Controller) *UserEventstore { } func GetMockManipulateLockedUser(ctrl *gomock.Controller) *UserEventstore { - user := model.User{ + user := model.Human{ Profile: &model.Profile{ - UserName: "UserName", + DisplayName: "DisplayName", }, } data, _ := json.Marshal(user) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: data}, - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserLocked}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: data}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserLocked}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -269,8 +275,8 @@ func GetMockManipulateUserWithInitCode(ctrl *gomock.Controller, user model.User) dataUser, _ := json.Marshal(user) dataCode, _ := json.Marshal(code) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: dataUser}, - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.InitializedUserCodeAdded, Data: dataCode}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: dataUser}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.InitializedUserCodeAdded, Data: dataCode}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -280,9 +286,9 @@ func GetMockManipulateUserWithInitCode(ctrl *gomock.Controller, user model.User) } func GetMockManipulateUserWithEmailCode(ctrl *gomock.Controller) *UserEventstore { - user := model.User{ + user := model.Human{ Profile: &model.Profile{ - UserName: "UserName", + DisplayName: "DisplayName", }, Email: &model.Email{ EmailAddress: "EmailAddress", @@ -297,8 +303,8 @@ func GetMockManipulateUserWithEmailCode(ctrl *gomock.Controller) *UserEventstore dataUser, _ := json.Marshal(user) dataCode, _ := json.Marshal(code) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: dataUser}, - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserEmailCodeAdded, Data: dataCode}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: dataUser}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserEmailCodeAdded, Data: dataCode}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -307,9 +313,9 @@ func GetMockManipulateUserWithEmailCode(ctrl *gomock.Controller) *UserEventstore return GetMockedEventstoreWithPw(ctrl, mockEs, false, true, false, false) } func GetMockManipulateUserVerifiedEmail(ctrl *gomock.Controller) *UserEventstore { - user := model.User{ + user := model.Human{ Profile: &model.Profile{ - UserName: "UserName", + DisplayName: "DisplayName", }, Email: &model.Email{ EmailAddress: "EmailAddress", @@ -317,8 +323,8 @@ func GetMockManipulateUserVerifiedEmail(ctrl *gomock.Controller) *UserEventstore } dataUser, _ := json.Marshal(user) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: dataUser}, - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserEmailVerified}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: dataUser}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserEmailVerified}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -328,9 +334,9 @@ func GetMockManipulateUserVerifiedEmail(ctrl *gomock.Controller) *UserEventstore } func GetMockManipulateUserWithPhoneCode(ctrl *gomock.Controller) *UserEventstore { - user := model.User{ + user := model.Human{ Profile: &model.Profile{ - UserName: "UserName", + DisplayName: "DisplayName", }, Phone: &model.Phone{ PhoneNumber: "PhoneNumber", @@ -345,8 +351,8 @@ func GetMockManipulateUserWithPhoneCode(ctrl *gomock.Controller) *UserEventstore dataUser, _ := json.Marshal(user) dataCode, _ := json.Marshal(code) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: dataUser}, - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserPhoneCodeAdded, Data: dataCode}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: dataUser}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserPhoneCodeAdded, Data: dataCode}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -356,9 +362,9 @@ func GetMockManipulateUserWithPhoneCode(ctrl *gomock.Controller) *UserEventstore } func GetMockManipulateUserVerifiedPhone(ctrl *gomock.Controller) *UserEventstore { - user := model.User{ + user := model.Human{ Profile: &model.Profile{ - UserName: "UserName", + DisplayName: "DisplayName", }, Phone: &model.Phone{ PhoneNumber: "PhoneNumber", @@ -366,8 +372,8 @@ func GetMockManipulateUserVerifiedPhone(ctrl *gomock.Controller) *UserEventstore } dataUser, _ := json.Marshal(user) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: dataUser}, - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserPhoneVerified}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: dataUser}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserPhoneVerified}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -377,11 +383,11 @@ func GetMockManipulateUserVerifiedPhone(ctrl *gomock.Controller) *UserEventstore } func GetMockManipulateUserFull(ctrl *gomock.Controller) *UserEventstore { - user := model.User{ + user := model.Human{ Profile: &model.Profile{ - UserName: "UserName", - FirstName: "FirstName", - LastName: "LastName", + DisplayName: "DisplayName", + FirstName: "FirstName", + LastName: "LastName", }, Password: &model.Password{ Secret: &crypto.CryptoValue{Algorithm: "bcrypt", KeyID: "KeyID"}, @@ -399,7 +405,7 @@ func GetMockManipulateUserFull(ctrl *gomock.Controller) *UserEventstore { } dataUser, _ := json.Marshal(user) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: dataUser}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: dataUser}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -409,9 +415,9 @@ func GetMockManipulateUserFull(ctrl *gomock.Controller) *UserEventstore { } func GetMockManipulateUserWithOTP(ctrl *gomock.Controller, decrypt, verified bool) *UserEventstore { - user := model.User{ + user := model.Human{ Profile: &model.Profile{ - UserName: "UserName", + DisplayName: "DisplayName", }, } otp := model.OTP{ @@ -425,11 +431,11 @@ func GetMockManipulateUserWithOTP(ctrl *gomock.Controller, decrypt, verified boo dataUser, _ := json.Marshal(user) dataOtp, _ := json.Marshal(otp) events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.UserAdded, Data: dataUser}, - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.MfaOtpAdded, Data: dataOtp}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.UserAdded, Data: dataUser}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.MFAOTPAdded, Data: dataOtp}, } if verified { - events = append(events, &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.MfaOtpVerified}) + events = append(events, &es_models.Event{AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, Type: model.MFAOTPVerified}) } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) @@ -478,16 +484,16 @@ func GetMockedEventstoreComplexity(ctrl *gomock.Controller, mockEs *mock.MockEve func GetMockChangesUserOK(ctrl *gomock.Controller) *UserEventstore { user := model.Profile{ - FirstName: "Hans", - LastName: "Muster", - UserName: "HansMuster", + FirstName: "Hans", + LastName: "Muster", + DisplayName: "DisplayName", } data, err := json.Marshal(user) if err != nil { } events := []*es_models.Event{ - &es_models.Event{AggregateID: "AggregateID", Sequence: 1, AggregateType: model.UserAggregate, Data: data}, + {AggregateID: "AggregateID", AggregateVersion: "v1", Sequence: 1, AggregateType: model.UserAggregate, Data: data}, } mockEs := mock.NewMockEventstore(ctrl) mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil) diff --git a/internal/user/repository/eventsourcing/eventstore_test.go b/internal/user/repository/eventsourcing/eventstore_test.go index 12f4c0388c..d264325641 100644 --- a/internal/user/repository/eventsourcing/eventstore_test.go +++ b/internal/user/repository/eventsourcing/eventstore_test.go @@ -38,11 +38,17 @@ func TestUserByID(t *testing.T) { { name: "user from events, ok", args: args{ - es: GetMockUserByIDOK(ctrl, repo_model.User{Profile: &repo_model.Profile{UserName: "UserName"}}), + es: GetMockUserByIDOK(ctrl, repo_model.User{Human: &repo_model.Human{Profile: &repo_model.Profile{DisplayName: "DisplayName"}}, UserName: "UserName"}), user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ - user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Profile: &model.Profile{UserName: "UserName"}}, + user: &model.User{ + ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + }, + }, }, }, { @@ -104,33 +110,46 @@ func TestCreateUser(t *testing.T) { { name: "init mail because no pw", args: args{ - es: GetMockManipulateUserWithInitCodeGen(ctrl, repo_model.User{Profile: &repo_model.Profile{UserName: "UserName", FirstName: "FirstName", LastName: "LastName"}, Email: &repo_model.Email{EmailAddress: "EmailAddress", IsEmailVerified: true}}), + es: GetMockManipulateUserWithInitCodeGen(ctrl, repo_model.User{ + UserName: "", + Human: &repo_model.Human{ + Profile: &repo_model.Profile{DisplayName: "DisplayName", FirstName: "FirstName", LastName: "LastName"}, + Email: &repo_model.Email{EmailAddress: "EmailAddress", IsEmailVerified: true}, + }, + }), ctx: authz.NewMockContext("orgID", "userID"), user: &model.User{ ObjectRoot: es_models.ObjectRoot{Sequence: 1}, - Profile: &model.Profile{ - UserName: "UserName", - FirstName: "FirstName", - LastName: "LastName", - }, - Email: &model.Email{ - EmailAddress: "EmailAddress", - IsEmailVerified: true, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{ + FirstName: "FirstName", + LastName: "LastName", + DisplayName: "DisplayName", + }, + Email: &model.Email{ + EmailAddress: "EmailAddress", + IsEmailVerified: true, + }, }, }, policy: &policy_model.PasswordComplexityPolicy{}, orgPolicy: &org_model.OrgIAMPolicy{}, }, res: res{ - user: &model.User{ObjectRoot: es_models.ObjectRoot{Sequence: 1}, - Profile: &model.Profile{ - UserName: "UserName", - FirstName: "FirstName", - LastName: "LastName", - }, - Email: &model.Email{ - EmailAddress: "EmailAddress", - IsEmailVerified: true, + user: &model.User{ + ObjectRoot: es_models.ObjectRoot{Sequence: 1}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{ + FirstName: "FirstName", + LastName: "LastName", + DisplayName: "DisplayName", + }, + Email: &model.Email{ + EmailAddress: "EmailAddress", + IsEmailVerified: true, + }, }, }, }, @@ -138,16 +157,23 @@ func TestCreateUser(t *testing.T) { { name: "email as username", args: args{ - es: GetMockManipulateUserWithInitCodeGen(ctrl, repo_model.User{Profile: &repo_model.Profile{UserName: "EmailAddress", FirstName: "FirstName", LastName: "LastName"}, Email: &repo_model.Email{EmailAddress: "EmailAddress", IsEmailVerified: true}}), + es: GetMockManipulateUserWithInitCodeGen(ctrl, repo_model.User{ + Human: &repo_model.Human{ + Profile: &repo_model.Profile{DisplayName: "DisplayName", FirstName: "FirstName", LastName: "LastName"}, + Email: &repo_model.Email{EmailAddress: "EmailAddress", IsEmailVerified: true}, + }, + }), ctx: authz.NewMockContext("orgID", "userID"), user: &model.User{ObjectRoot: es_models.ObjectRoot{Sequence: 1}, - Profile: &model.Profile{ - FirstName: "FirstName", - LastName: "LastName", - }, - Email: &model.Email{ - EmailAddress: "EmailAddress", - IsEmailVerified: true, + Human: &model.Human{ + Profile: &model.Profile{ + FirstName: "FirstName", + LastName: "LastName", + }, + Email: &model.Email{ + EmailAddress: "EmailAddress", + IsEmailVerified: true, + }, }, }, policy: &policy_model.PasswordComplexityPolicy{}, @@ -155,14 +181,17 @@ func TestCreateUser(t *testing.T) { }, res: res{ user: &model.User{ObjectRoot: es_models.ObjectRoot{Sequence: 1}, - Profile: &model.Profile{ - UserName: "EmailAddress", - FirstName: "FirstName", - LastName: "LastName", - }, - Email: &model.Email{ - EmailAddress: "EmailAddress", - IsEmailVerified: true, + UserName: "EmailAddress", + Human: &model.Human{ + Profile: &model.Profile{ + FirstName: "FirstName", + LastName: "LastName", + DisplayName: "DisplayName", + }, + Email: &model.Email{ + EmailAddress: "EmailAddress", + IsEmailVerified: true, + }, }, }, }, @@ -170,21 +199,31 @@ func TestCreateUser(t *testing.T) { { name: "with verified phone number", args: args{ - es: GetMockManipulateUserWithInitCodeGen(ctrl, repo_model.User{Profile: &repo_model.Profile{UserName: "EmailAddress", FirstName: "FirstName", LastName: "LastName"}, Email: &repo_model.Email{EmailAddress: "EmailAddress", IsEmailVerified: true}, Phone: &repo_model.Phone{PhoneNumber: "+41711234567", IsPhoneVerified: true}}), + es: GetMockManipulateUserWithInitCodeGen(ctrl, repo_model.User{ + UserName: "EmailAddress", + Human: &repo_model.Human{ + Profile: &repo_model.Profile{DisplayName: "DisplayName", FirstName: "FirstName", LastName: "LastName"}, + Email: &repo_model.Email{EmailAddress: "EmailAddress", IsEmailVerified: true}, + Phone: &repo_model.Phone{PhoneNumber: "+41711234567", IsPhoneVerified: true}, + }, + }), ctx: authz.NewMockContext("orgID", "userID"), user: &model.User{ObjectRoot: es_models.ObjectRoot{Sequence: 1}, - Profile: &model.Profile{ - FirstName: "FirstName", - LastName: "LastName", - UserName: "UserName", - }, - Email: &model.Email{ - EmailAddress: "UserName", - IsEmailVerified: true, - }, - Phone: &model.Phone{ - PhoneNumber: "+41711234567", - IsPhoneVerified: true, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{ + FirstName: "FirstName", + LastName: "LastName", + DisplayName: "DisplayName", + }, + Email: &model.Email{ + EmailAddress: "UserName", + IsEmailVerified: true, + }, + Phone: &model.Phone{ + PhoneNumber: "+41711234567", + IsPhoneVerified: true, + }, }, }, policy: &policy_model.PasswordComplexityPolicy{}, @@ -192,18 +231,21 @@ func TestCreateUser(t *testing.T) { }, res: res{ user: &model.User{ObjectRoot: es_models.ObjectRoot{Sequence: 1}, - Profile: &model.Profile{ - UserName: "UserName", - FirstName: "FirstName", - LastName: "LastName", - }, - Email: &model.Email{ - EmailAddress: "EmailAddress", - IsEmailVerified: true, - }, - Phone: &model.Phone{ - PhoneNumber: "+41711234567", - IsPhoneVerified: true, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{ + FirstName: "FirstName", + LastName: "LastName", + DisplayName: "DisplayName", + }, + Email: &model.Email{ + EmailAddress: "EmailAddress", + IsEmailVerified: true, + }, + Phone: &model.Phone{ + PhoneNumber: "+41711234567", + IsPhoneVerified: true, + }, }, }, }, @@ -211,18 +253,26 @@ func TestCreateUser(t *testing.T) { { name: "with password", args: args{ - es: GetMockManipulateUserWithPasswordAndEmailCodeGen(ctrl, repo_model.User{Profile: &repo_model.Profile{UserName: "UserName", FirstName: "FirstName", LastName: "LastName"}, Email: &repo_model.Email{EmailAddress: "EmailAddress", IsEmailVerified: true}}), + es: GetMockManipulateUserWithPasswordAndEmailCodeGen(ctrl, repo_model.User{ + UserName: "UserName", + Human: &repo_model.Human{ + Profile: &repo_model.Profile{DisplayName: "DisplayName", FirstName: "FirstName", LastName: "LastName"}, + Email: &repo_model.Email{EmailAddress: "EmailAddress", IsEmailVerified: true}}, + }), ctx: authz.NewMockContext("orgID", "userID"), user: &model.User{ObjectRoot: es_models.ObjectRoot{Sequence: 1}, - Profile: &model.Profile{ - FirstName: "FirstName", - LastName: "LastName", - UserName: "UserName", - }, - Password: &model.Password{SecretString: "Password"}, - Email: &model.Email{ - EmailAddress: "UserName", - IsEmailVerified: true, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{ + FirstName: "FirstName", + LastName: "LastName", + DisplayName: "DisplayName", + }, + Password: &model.Password{SecretString: "Password"}, + Email: &model.Email{ + EmailAddress: "UserName", + IsEmailVerified: true, + }, }, }, policy: &policy_model.PasswordComplexityPolicy{}, @@ -230,14 +280,17 @@ func TestCreateUser(t *testing.T) { }, res: res{ user: &model.User{ObjectRoot: es_models.ObjectRoot{Sequence: 1}, - Profile: &model.Profile{ - UserName: "UserName", - FirstName: "FirstName", - LastName: "LastName", - }, - Email: &model.Email{ - EmailAddress: "EmailAddress", - IsEmailVerified: true, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{ + FirstName: "FirstName", + LastName: "LastName", + DisplayName: "DisplayName", + }, + Email: &model.Email{ + EmailAddress: "EmailAddress", + IsEmailVerified: true, + }, }, }, }, @@ -247,7 +300,7 @@ func TestCreateUser(t *testing.T) { args: args{ es: GetMockManipulateUser(ctrl), ctx: authz.NewMockContext("orgID", "userID"), - user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Human: &model.Human{}}, policy: &policy_model.PasswordComplexityPolicy{}, orgPolicy: &org_model.OrgIAMPolicy{}, }, @@ -260,7 +313,7 @@ func TestCreateUser(t *testing.T) { args: args{ es: GetMockManipulateUser(ctrl), ctx: authz.NewMockContext("orgID", "userID"), - user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Human: &model.Human{}}, orgPolicy: &org_model.OrgIAMPolicy{}, }, res: res{ @@ -272,7 +325,7 @@ func TestCreateUser(t *testing.T) { args: args{ es: GetMockManipulateUser(ctrl), ctx: authz.NewMockContext("orgID", "userID"), - user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Human: &model.Human{}}, policy: &policy_model.PasswordComplexityPolicy{}, }, res: res{ @@ -329,20 +382,28 @@ func TestRegisterUser(t *testing.T) { { name: "register user, ok", args: args{ - es: GetMockManipulateUserWithPasswordInitCodeGen(ctrl, repo_model.User{Profile: &repo_model.Profile{UserName: "UserName", FirstName: "FirstName", LastName: "LastName"}, Email: &repo_model.Email{EmailAddress: "EmailAddress"}}), + es: GetMockManipulateUserWithPasswordInitCodeGen(ctrl, repo_model.User{ + UserName: "UserName", + Human: &repo_model.Human{ + Profile: &repo_model.Profile{DisplayName: "DisplayName", FirstName: "FirstName", LastName: "LastName"}, + Email: &repo_model.Email{EmailAddress: "EmailAddress"}}}, + ), ctx: authz.NewMockContext("orgID", "userID"), user: &model.User{ ObjectRoot: es_models.ObjectRoot{Sequence: 1}, - Profile: &model.Profile{ - UserName: "UserName", - FirstName: "FirstName", - LastName: "LastName", - }, - Email: &model.Email{ - EmailAddress: "EmailAddress", - }, - Password: &model.Password{ - SecretString: "Password", + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{ + FirstName: "FirstName", + LastName: "LastName", + DisplayName: "DisplayName", + }, + Email: &model.Email{ + EmailAddress: "EmailAddress", + }, + Password: &model.Password{ + SecretString: "Password", + }, }, }, policy: &policy_model.PasswordComplexityPolicy{}, @@ -351,13 +412,16 @@ func TestRegisterUser(t *testing.T) { }, res: res{ user: &model.User{ObjectRoot: es_models.ObjectRoot{Sequence: 1}, - Profile: &model.Profile{ - UserName: "UserName", - FirstName: "FirstName", - LastName: "LastName", - }, - Email: &model.Email{ - EmailAddress: "EmailAddress", + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{ + FirstName: "FirstName", + LastName: "LastName", + DisplayName: "DisplayName", + }, + Email: &model.Email{ + EmailAddress: "EmailAddress", + }, }, }, }, @@ -365,18 +429,25 @@ func TestRegisterUser(t *testing.T) { { name: "email as username", args: args{ - es: GetMockManipulateUserWithPasswordInitCodeGen(ctrl, repo_model.User{Profile: &repo_model.Profile{UserName: "EmailAddress", FirstName: "FirstName", LastName: "LastName"}, Email: &repo_model.Email{EmailAddress: "EmailAddress"}}), + es: GetMockManipulateUserWithPasswordInitCodeGen(ctrl, repo_model.User{ + UserName: "UserName", + Human: &repo_model.Human{ + Profile: &repo_model.Profile{DisplayName: "DisplayName", FirstName: "FirstName", LastName: "LastName"}, + Email: &repo_model.Email{EmailAddress: "EmailAddress"}}}, + ), ctx: authz.NewMockContext("orgID", "userID"), user: &model.User{ObjectRoot: es_models.ObjectRoot{Sequence: 1}, - Profile: &model.Profile{ - FirstName: "FirstName", - LastName: "LastName", - }, - Email: &model.Email{ - EmailAddress: "EmailAddress", - }, - Password: &model.Password{ - SecretString: "Password", + Human: &model.Human{ + Profile: &model.Profile{ + FirstName: "FirstName", + LastName: "LastName", + }, + Email: &model.Email{ + EmailAddress: "EmailAddress", + }, + Password: &model.Password{ + SecretString: "Password", + }, }, }, policy: &policy_model.PasswordComplexityPolicy{}, @@ -385,13 +456,16 @@ func TestRegisterUser(t *testing.T) { }, res: res{ user: &model.User{ObjectRoot: es_models.ObjectRoot{Sequence: 1}, - Profile: &model.Profile{ - UserName: "EmailAddress", - FirstName: "FirstName", - LastName: "LastName", - }, - Email: &model.Email{ - EmailAddress: "EmailAddress", + UserName: "EmailAddress", + Human: &model.Human{ + Profile: &model.Profile{ + FirstName: "FirstName", + LastName: "LastName", + DisplayName: "DisplayName", + }, + Email: &model.Email{ + EmailAddress: "EmailAddress", + }, }, }, }, @@ -401,7 +475,7 @@ func TestRegisterUser(t *testing.T) { args: args{ es: GetMockManipulateUser(ctrl), ctx: authz.NewMockContext("orgID", "userID"), - user: &model.User{ObjectRoot: es_models.ObjectRoot{Sequence: 1}}, + user: &model.User{ObjectRoot: es_models.ObjectRoot{Sequence: 1}, Human: &model.Human{}}, policy: &policy_model.PasswordComplexityPolicy{}, orgPolicy: &org_model.OrgIAMPolicy{}, resourceOwner: "ResourceOwner", @@ -416,13 +490,16 @@ func TestRegisterUser(t *testing.T) { es: GetMockManipulateUser(ctrl), ctx: authz.NewMockContext("orgID", "userID"), user: &model.User{ObjectRoot: es_models.ObjectRoot{Sequence: 1}, - Profile: &model.Profile{ - UserName: "EmailAddress", - FirstName: "FirstName", - LastName: "LastName", - }, - Email: &model.Email{ - EmailAddress: "EmailAddress", + UserName: "EmailAddress", + Human: &model.Human{ + Profile: &model.Profile{ + FirstName: "FirstName", + LastName: "LastName", + DisplayName: "DisplayName", + }, + Email: &model.Email{ + EmailAddress: "EmailAddress", + }, }, }, policy: &policy_model.PasswordComplexityPolicy{}, @@ -439,13 +516,16 @@ func TestRegisterUser(t *testing.T) { es: GetMockManipulateUser(ctrl), ctx: authz.NewMockContext("orgID", "userID"), user: &model.User{ObjectRoot: es_models.ObjectRoot{Sequence: 1}, - Profile: &model.Profile{ - UserName: "EmailAddress", - FirstName: "FirstName", - LastName: "LastName", - }, - Email: &model.Email{ - EmailAddress: "EmailAddress", + UserName: "EmailAddress", + Human: &model.Human{ + Profile: &model.Profile{ + FirstName: "FirstName", + LastName: "LastName", + DisplayName: "DisplayName", + }, + Email: &model.Email{ + EmailAddress: "EmailAddress", + }, }, }, policy: &policy_model.PasswordComplexityPolicy{}, @@ -461,13 +541,16 @@ func TestRegisterUser(t *testing.T) { es: GetMockManipulateUser(ctrl), ctx: authz.NewMockContext("orgID", "userID"), user: &model.User{ObjectRoot: es_models.ObjectRoot{Sequence: 1}, - Profile: &model.Profile{ - UserName: "EmailAddress", - FirstName: "FirstName", - LastName: "LastName", - }, - Email: &model.Email{ - EmailAddress: "EmailAddress", + UserName: "EmailAddress", + Human: &model.Human{ + Profile: &model.Profile{ + FirstName: "FirstName", + LastName: "LastName", + DisplayName: "DisplayName", + }, + Email: &model.Email{ + EmailAddress: "EmailAddress", + }, }, }, orgPolicy: &org_model.OrgIAMPolicy{}, @@ -482,13 +565,16 @@ func TestRegisterUser(t *testing.T) { es: GetMockManipulateUser(ctrl), ctx: authz.NewMockContext("orgID", "userID"), user: &model.User{ObjectRoot: es_models.ObjectRoot{Sequence: 1}, - Profile: &model.Profile{ - UserName: "EmailAddress", - FirstName: "FirstName", - LastName: "LastName", - }, - Email: &model.Email{ - EmailAddress: "EmailAddress", + UserName: "EmailAddress", + Human: &model.Human{ + Profile: &model.Profile{ + FirstName: "FirstName", + LastName: "LastName", + DisplayName: "DisplayName", + }, + Email: &model.Email{ + EmailAddress: "EmailAddress", + }, }, }, policy: &policy_model.PasswordComplexityPolicy{}, @@ -518,9 +604,9 @@ func TestRegisterUser(t *testing.T) { func TestDeactivateUser(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *UserEventstore - ctx context.Context - existing *model.User + es *UserEventstore + ctx context.Context + user *model.User } type res struct { user *model.User @@ -534,9 +620,9 @@ func TestDeactivateUser(t *testing.T) { { name: "deactivate user, ok", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, State: model.UserStateInactive}, @@ -545,9 +631,9 @@ func TestDeactivateUser(t *testing.T) { { name: "deactivate user with inactive state", args: args{ - es: GetMockManipulateInactiveUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateInactiveUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -556,9 +642,9 @@ func TestDeactivateUser(t *testing.T) { { name: "existing not found", args: args{ - es: GetMockManipulateUserNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsNotFound, @@ -567,7 +653,7 @@ func TestDeactivateUser(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - result, err := tt.args.es.DeactivateUser(tt.args.ctx, tt.args.existing.AggregateID) + result, err := tt.args.es.DeactivateUser(tt.args.ctx, tt.args.user.AggregateID) if tt.res.errFunc == nil && result.AggregateID == "" { t.Errorf("result has no id") @@ -585,9 +671,9 @@ func TestDeactivateUser(t *testing.T) { func TestReactivateUser(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *UserEventstore - ctx context.Context - existing *model.User + es *UserEventstore + ctx context.Context + user *model.User } type res struct { user *model.User @@ -601,9 +687,9 @@ func TestReactivateUser(t *testing.T) { { name: "reactivate user, ok", args: args{ - es: GetMockManipulateInactiveUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateInactiveUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, State: model.UserStateActive}, @@ -612,9 +698,9 @@ func TestReactivateUser(t *testing.T) { { name: "reactivate user with inital state", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -623,9 +709,9 @@ func TestReactivateUser(t *testing.T) { { name: "existing user not found", args: args{ - es: GetMockManipulateUserNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsNotFound, @@ -634,7 +720,7 @@ func TestReactivateUser(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - result, err := tt.args.es.ReactivateUser(tt.args.ctx, tt.args.existing.AggregateID) + result, err := tt.args.es.ReactivateUser(tt.args.ctx, tt.args.user.AggregateID) if tt.res.errFunc == nil && result.AggregateID == "" { t.Errorf("result has no id") @@ -652,9 +738,9 @@ func TestReactivateUser(t *testing.T) { func TestLockUser(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *UserEventstore - ctx context.Context - existing *model.User + es *UserEventstore + ctx context.Context + user *model.User } type res struct { user *model.User @@ -668,9 +754,9 @@ func TestLockUser(t *testing.T) { { name: "lock user, ok", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, State: model.UserStateLocked}, @@ -679,9 +765,9 @@ func TestLockUser(t *testing.T) { { name: "lock user with locked state", args: args{ - es: GetMockManipulateLockedUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateLockedUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -690,9 +776,9 @@ func TestLockUser(t *testing.T) { { name: "existing user not found", args: args{ - es: GetMockManipulateUserNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsNotFound, @@ -701,7 +787,7 @@ func TestLockUser(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - result, err := tt.args.es.LockUser(tt.args.ctx, tt.args.existing.AggregateID) + result, err := tt.args.es.LockUser(tt.args.ctx, tt.args.user.AggregateID) if tt.res.errFunc == nil && result.AggregateID == "" { t.Errorf("result has no id") @@ -719,9 +805,9 @@ func TestLockUser(t *testing.T) { func TestUnlockUser(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *UserEventstore - ctx context.Context - existing *model.User + es *UserEventstore + ctx context.Context + user *model.User } type res struct { user *model.User @@ -735,9 +821,9 @@ func TestUnlockUser(t *testing.T) { { name: "unlock user, ok", args: args{ - es: GetMockManipulateLockedUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateLockedUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, State: model.UserStateActive}, @@ -746,9 +832,9 @@ func TestUnlockUser(t *testing.T) { { name: "unlock user not locked state", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -757,9 +843,9 @@ func TestUnlockUser(t *testing.T) { { name: "existing user not found", args: args{ - es: GetMockManipulateUserNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsNotFound, @@ -768,7 +854,7 @@ func TestUnlockUser(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - result, err := tt.args.es.UnlockUser(tt.args.ctx, tt.args.existing.AggregateID) + result, err := tt.args.es.UnlockUser(tt.args.ctx, tt.args.user.AggregateID) if tt.res.errFunc == nil && result.AggregateID == "" { t.Errorf("result has no id") @@ -786,9 +872,9 @@ func TestUnlockUser(t *testing.T) { func TestGetInitCodeByID(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *UserEventstore - ctx context.Context - existing *model.User + es *UserEventstore + ctx context.Context + user *model.User } type res struct { code *model.InitUserCode @@ -805,12 +891,15 @@ func TestGetInitCodeByID(t *testing.T) { es: GetMockManipulateUserWithInitCode(ctrl, repo_model.User{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, - Profile: &repo_model.Profile{ - UserName: "UserName", + UserName: "UserName", + Human: &repo_model.Human{ + Profile: &repo_model.Profile{ + DisplayName: "DisplayName", + }, }, }), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ code: &model.InitUserCode{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Expiry: time.Hour * 30}, @@ -819,9 +908,9 @@ func TestGetInitCodeByID(t *testing.T) { { name: "empty userid", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -830,9 +919,9 @@ func TestGetInitCodeByID(t *testing.T) { { name: "existing user not found", args: args{ - es: GetMockManipulateUserNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsNotFound, @@ -841,7 +930,7 @@ func TestGetInitCodeByID(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - result, err := tt.args.es.InitializeUserCodeByID(tt.args.ctx, tt.args.existing.AggregateID) + result, err := tt.args.es.InitializeUserCodeByID(tt.args.ctx, tt.args.user.AggregateID) if tt.res.errFunc == nil && result.AggregateID == "" { t.Errorf("result has no id") @@ -859,9 +948,9 @@ func TestGetInitCodeByID(t *testing.T) { func TestCreateInitCode(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *UserEventstore - ctx context.Context - existing *model.User + es *UserEventstore + ctx context.Context + user *model.User } type res struct { code *model.InitUserCode @@ -875,9 +964,9 @@ func TestCreateInitCode(t *testing.T) { { name: "create init code", args: args{ - es: GetMockManipulateUserWithPasswordInitCodeGen(ctrl, repo_model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserWithPasswordInitCodeGen(ctrl, repo_model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Human: &model.Human{}}, }, res: res{ code: &model.InitUserCode{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Expiry: time.Hour * 1}, @@ -886,9 +975,9 @@ func TestCreateInitCode(t *testing.T) { { name: "empty userid", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}, Human: &model.Human{}}, }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -897,9 +986,9 @@ func TestCreateInitCode(t *testing.T) { { name: "existing user not found", args: args{ - es: GetMockManipulateUserNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Human: &model.Human{}}, }, res: res{ errFunc: caos_errs.IsNotFound, @@ -908,7 +997,7 @@ func TestCreateInitCode(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - result, err := tt.args.es.CreateInitializeUserCodeByID(tt.args.ctx, tt.args.existing.AggregateID) + result, err := tt.args.es.CreateInitializeUserCodeByID(tt.args.ctx, tt.args.user.AggregateID) if tt.res.errFunc == nil && result.AggregateID == "" { t.Errorf("result has no id") @@ -926,9 +1015,9 @@ func TestCreateInitCode(t *testing.T) { func TestInitCodeSent(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *UserEventstore - ctx context.Context - existing *model.User + es *UserEventstore + ctx context.Context + user *model.User } type res struct { errFunc func(err error) bool @@ -941,18 +1030,18 @@ func TestInitCodeSent(t *testing.T) { { name: "sent init", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{}, }, { name: "empty userid", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -961,9 +1050,9 @@ func TestInitCodeSent(t *testing.T) { { name: "existing user not found", args: args{ - es: GetMockManipulateUserNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsNotFound, @@ -972,7 +1061,7 @@ func TestInitCodeSent(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - err := tt.args.es.InitCodeSent(tt.args.ctx, tt.args.existing.AggregateID) + err := tt.args.es.InitCodeSent(tt.args.ctx, tt.args.user.AggregateID) if tt.res.errFunc == nil && err != nil { t.Errorf("rshould not get err") @@ -1008,8 +1097,10 @@ func TestInitCodeVerify(t *testing.T) { es: GetMockManipulateUserWithInitCode(ctrl, repo_model.User{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, - Email: &repo_model.Email{ - EmailAddress: "EmailAddress", + Human: &repo_model.Human{ + Email: &repo_model.Email{ + EmailAddress: "EmailAddress", + }, }, }, ), @@ -1025,9 +1116,11 @@ func TestInitCodeVerify(t *testing.T) { es: GetMockManipulateUserWithInitCode(ctrl, repo_model.User{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, - Email: &repo_model.Email{ - EmailAddress: "EmailAddress", - IsEmailVerified: true, + Human: &repo_model.Human{ + Email: &repo_model.Email{ + EmailAddress: "EmailAddress", + IsEmailVerified: true, + }, }, }, ), @@ -1044,8 +1137,10 @@ func TestInitCodeVerify(t *testing.T) { es: GetMockManipulateUserWithInitCode(ctrl, repo_model.User{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, - Email: &repo_model.Email{ - EmailAddress: "EmailAddress", + Human: &repo_model.Human{ + Email: &repo_model.Email{ + EmailAddress: "EmailAddress", + }, }, }, ), @@ -1116,9 +1211,9 @@ func TestInitCodeVerify(t *testing.T) { func TestSkipMfaInit(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *UserEventstore - ctx context.Context - existing *model.User + es *UserEventstore + ctx context.Context + user *model.User } type res struct { errFunc func(err error) bool @@ -1131,18 +1226,18 @@ func TestSkipMfaInit(t *testing.T) { { name: "skip mfa init", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{}, }, { name: "empty userid", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -1151,9 +1246,9 @@ func TestSkipMfaInit(t *testing.T) { { name: "existing user not found", args: args{ - es: GetMockManipulateUserNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsNotFound, @@ -1162,7 +1257,7 @@ func TestSkipMfaInit(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - err := tt.args.es.SkipMfaInit(tt.args.ctx, tt.args.existing.AggregateID) + err := tt.args.es.SkipMfaInit(tt.args.ctx, tt.args.user.AggregateID) if tt.res.errFunc == nil && err != nil { t.Errorf("rshould not get err") @@ -1177,9 +1272,9 @@ func TestSkipMfaInit(t *testing.T) { func TestPasswordID(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *UserEventstore - ctx context.Context - existing *model.User + es *UserEventstore + ctx context.Context + user *model.User } type res struct { password *model.Password @@ -1193,9 +1288,9 @@ func TestPasswordID(t *testing.T) { { name: "get by id, ok", args: args{ - es: GetMockManipulateUserFull(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserFull(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ password: &model.Password{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, ChangeRequired: true}, @@ -1204,9 +1299,9 @@ func TestPasswordID(t *testing.T) { { name: "empty userid", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -1215,9 +1310,9 @@ func TestPasswordID(t *testing.T) { { name: "existing user not found", args: args{ - es: GetMockManipulateUserNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsNotFound, @@ -1226,9 +1321,9 @@ func TestPasswordID(t *testing.T) { { name: "existing pw not found", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsNotFound, @@ -1237,7 +1332,7 @@ func TestPasswordID(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - result, err := tt.args.es.UserPasswordByID(tt.args.ctx, tt.args.existing.AggregateID) + result, err := tt.args.es.UserPasswordByID(tt.args.ctx, tt.args.user.AggregateID) if tt.res.errFunc == nil && result.AggregateID == "" { t.Errorf("result has no id") @@ -1272,7 +1367,7 @@ func TestSetOneTimePassword(t *testing.T) { { name: "create one time pw", args: args{ - es: GetMockManipulateUserWithPasswordCodeGen(ctrl, repo_model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}}), + es: GetMockManipulateUserWithPasswordCodeGen(ctrl, repo_model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, Human: &repo_model.Human{}}), ctx: authz.NewMockContext("orgID", "userID"), policy: &policy_model.PasswordComplexityPolicy{}, password: &model.Password{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, SecretString: "Password"}, @@ -1346,11 +1441,13 @@ func TestCheckPassword(t *testing.T) { es: GetMockManipulateUserWithPasswordAndEmailCodeGen(ctrl, repo_model.User{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, - Password: &repo_model.Password{Secret: &crypto.CryptoValue{ - CryptoType: crypto.TypeHash, - Algorithm: "hash", - Crypted: []byte("password"), - }}, + Human: &repo_model.Human{ + Password: &repo_model.Password{Secret: &crypto.CryptoValue{ + CryptoType: crypto.TypeHash, + Algorithm: "hash", + Crypted: []byte("password"), + }}, + }, }, ), ctx: authz.NewMockContext("orgID", "userID"), @@ -1414,11 +1511,13 @@ func TestCheckPassword(t *testing.T) { es: GetMockManipulateUserWithPasswordCodeGen(ctrl, repo_model.User{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, - Password: &repo_model.Password{Secret: &crypto.CryptoValue{ - CryptoType: crypto.TypeHash, - Algorithm: "hash", - Crypted: []byte("password"), - }}, + Human: &repo_model.Human{ + Password: &repo_model.Password{Secret: &crypto.CryptoValue{ + CryptoType: crypto.TypeHash, + Algorithm: "hash", + Crypted: []byte("password"), + }}, + }, }, ), ctx: authz.NewMockContext("orgID", "userID"), @@ -1477,12 +1576,14 @@ func TestSetPassword(t *testing.T) { es: GetMockManipulateUserWithPasswordCodeGen(ctrl, repo_model.User{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, - PasswordCode: &repo_model.PasswordCode{Code: &crypto.CryptoValue{ - CryptoType: crypto.TypeEncryption, - Algorithm: "enc", - KeyID: "id", - Crypted: []byte("code"), - }}, + Human: &repo_model.Human{ + PasswordCode: &repo_model.PasswordCode{Code: &crypto.CryptoValue{ + CryptoType: crypto.TypeEncryption, + Algorithm: "enc", + KeyID: "id", + Crypted: []byte("code"), + }}, + }, }, ), ctx: authz.NewMockContext("orgID", "userID"), @@ -1527,6 +1628,7 @@ func TestSetPassword(t *testing.T) { es: GetMockManipulateUserWithPasswordCodeGen(ctrl, repo_model.User{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, + Human: &repo_model.Human{}, }, ), ctx: authz.NewMockContext("orgID", "userID"), @@ -1545,12 +1647,14 @@ func TestSetPassword(t *testing.T) { es: GetMockManipulateUserWithPasswordCodeGen(ctrl, repo_model.User{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, - PasswordCode: &repo_model.PasswordCode{Code: &crypto.CryptoValue{ - CryptoType: crypto.TypeEncryption, - Algorithm: "enc2", - KeyID: "id", - Crypted: []byte("code2"), - }}, + Human: &repo_model.Human{ + PasswordCode: &repo_model.PasswordCode{Code: &crypto.CryptoValue{ + CryptoType: crypto.TypeEncryption, + Algorithm: "enc2", + KeyID: "id", + Crypted: []byte("code2"), + }}, + }, }, ), ctx: authz.NewMockContext("orgID", "userID"), @@ -1603,11 +1707,13 @@ func TestChangePassword(t *testing.T) { es: GetMockManipulateUserWithPasswordAndEmailCodeGen(ctrl, repo_model.User{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, - Password: &repo_model.Password{Secret: &crypto.CryptoValue{ - CryptoType: crypto.TypeHash, - Algorithm: "hash", - Crypted: []byte("old"), - }}, + Human: &repo_model.Human{ + Password: &repo_model.Password{Secret: &crypto.CryptoValue{ + CryptoType: crypto.TypeHash, + Algorithm: "hash", + Crypted: []byte("old"), + }}, + }, }, ), ctx: authz.NewMockContext("orgID", "userID"), @@ -1654,6 +1760,7 @@ func TestChangePassword(t *testing.T) { es: GetMockManipulateUserWithPasswordCodeGen(ctrl, repo_model.User{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, + Human: &repo_model.Human{}, }, ), ctx: authz.NewMockContext("orgID", "userID"), @@ -1672,11 +1779,13 @@ func TestChangePassword(t *testing.T) { es: GetMockManipulateUserWithPasswordCodeGen(ctrl, repo_model.User{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, - Password: &repo_model.Password{Secret: &crypto.CryptoValue{ - CryptoType: crypto.TypeHash, - Algorithm: "hash", - Crypted: []byte("older"), - }}, + Human: &repo_model.Human{ + Password: &repo_model.Password{Secret: &crypto.CryptoValue{ + CryptoType: crypto.TypeHash, + Algorithm: "hash", + Crypted: []byte("older"), + }}, + }, }, ), ctx: authz.NewMockContext("orgID", "userID"), @@ -1695,11 +1804,13 @@ func TestChangePassword(t *testing.T) { es: GetMockManipulateUserWithPasswordAndEmailCodeGen(ctrl, repo_model.User{ ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, - Password: &repo_model.Password{Secret: &crypto.CryptoValue{ - CryptoType: crypto.TypeHash, - Algorithm: "hash", - Crypted: []byte("old"), - }}, + Human: &repo_model.Human{ + Password: &repo_model.Password{Secret: &crypto.CryptoValue{ + CryptoType: crypto.TypeHash, + Algorithm: "hash", + Crypted: []byte("old"), + }}, + }, }, ), ctx: authz.NewMockContext("orgID", "userID"), @@ -1749,7 +1860,7 @@ func TestRequestSetPassword(t *testing.T) { { name: "create pw", args: args{ - es: GetMockManipulateUserWithPasswordCodeGen(ctrl, repo_model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}}), + es: GetMockManipulateUserWithPasswordCodeGen(ctrl, repo_model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, Human: &repo_model.Human{}}), ctx: authz.NewMockContext("orgID", "userID"), userID: "AggregateID", notifyType: model.NotificationTypeEmail, @@ -1798,9 +1909,9 @@ func TestRequestSetPassword(t *testing.T) { func TestPasswordCodeSent(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *UserEventstore - ctx context.Context - existing *model.User + es *UserEventstore + ctx context.Context + user *model.User } type res struct { errFunc func(err error) bool @@ -1813,18 +1924,18 @@ func TestPasswordCodeSent(t *testing.T) { { name: "sent password code", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Human: &model.Human{}}, }, res: res{}, }, { name: "empty userid", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -1833,9 +1944,9 @@ func TestPasswordCodeSent(t *testing.T) { { name: "existing user not found", args: args{ - es: GetMockManipulateUserNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsNotFound, @@ -1844,7 +1955,7 @@ func TestPasswordCodeSent(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - err := tt.args.es.PasswordCodeSent(tt.args.ctx, tt.args.existing.AggregateID) + err := tt.args.es.PasswordCodeSent(tt.args.ctx, tt.args.user.AggregateID) if tt.res.errFunc == nil && err != nil { t.Errorf("rshould not get err") @@ -1859,9 +1970,9 @@ func TestPasswordCodeSent(t *testing.T) { func TestProfileByID(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *UserEventstore - ctx context.Context - existing *model.User + es *UserEventstore + ctx context.Context + user *model.User } type res struct { profile *model.Profile @@ -1875,20 +1986,20 @@ func TestProfileByID(t *testing.T) { { name: "get by id, ok", args: args{ - es: GetMockManipulateUserFull(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserFull(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Human: &model.Human{}}, }, res: res{ - profile: &model.Profile{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, UserName: "UserName"}, + profile: &model.Profile{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, DisplayName: "DisplayName"}, }, }, { name: "empty userid", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -1897,9 +2008,9 @@ func TestProfileByID(t *testing.T) { { name: "existing user not found", args: args{ - es: GetMockManipulateUserNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsNotFound, @@ -1908,13 +2019,13 @@ func TestProfileByID(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - result, err := tt.args.es.ProfileByID(tt.args.ctx, tt.args.existing.AggregateID) + profile, err := tt.args.es.ProfileByID(tt.args.ctx, tt.args.user.AggregateID) - if tt.res.errFunc == nil && result.AggregateID == "" { + if tt.res.errFunc == nil && profile.AggregateID == "" { t.Errorf("result has no id") } - if tt.res.errFunc == nil && result.UserName != tt.res.profile.UserName { - t.Errorf("got wrong result change required: expected: %v, actual: %v ", tt.res.profile.UserName, result.UserName) + if tt.res.errFunc == nil && profile.DisplayName != tt.res.profile.DisplayName { + t.Errorf("got wrong result change required: expected: %v, actual: %v ", tt.res.profile.DisplayName, profile.DisplayName) } if tt.res.errFunc != nil && !tt.res.errFunc(err) { t.Errorf("got wrong err: %v ", err) @@ -1993,9 +2104,9 @@ func TestChangeProfile(t *testing.T) { func TestEmailByID(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *UserEventstore - ctx context.Context - existing *model.User + es *UserEventstore + ctx context.Context + user *model.User } type res struct { email *model.Email @@ -2009,9 +2120,9 @@ func TestEmailByID(t *testing.T) { { name: "get by id, ok", args: args{ - es: GetMockManipulateUserFull(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserFull(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ email: &model.Email{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, EmailAddress: "EmailAddress"}, @@ -2020,9 +2131,9 @@ func TestEmailByID(t *testing.T) { { name: "empty userid", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -2031,9 +2142,9 @@ func TestEmailByID(t *testing.T) { { name: "existing user not found", args: args{ - es: GetMockManipulateUserNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsNotFound, @@ -2042,7 +2153,7 @@ func TestEmailByID(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - result, err := tt.args.es.EmailByID(tt.args.ctx, tt.args.existing.AggregateID) + result, err := tt.args.es.EmailByID(tt.args.ctx, tt.args.user.AggregateID) if tt.res.errFunc == nil && result.AggregateID == "" { t.Errorf("result has no id") @@ -2087,7 +2198,14 @@ func TestChangeEmail(t *testing.T) { { name: "change email not verified, getting code", args: args{ - es: GetMockManipulateUserWithEmailCodeGen(ctrl, repo_model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Profile: &repo_model.Profile{UserName: "UserName"}, Email: &repo_model.Email{EmailAddress: "EmailAddress"}}), + es: GetMockManipulateUserWithEmailCodeGen(ctrl, repo_model.User{ + ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, + UserName: "UserName", + Human: &repo_model.Human{ + Profile: &repo_model.Profile{DisplayName: "DisplayName"}, + Email: &repo_model.Email{EmailAddress: "EmailAddress"}, + }, + }), ctx: authz.NewMockContext("orgID", "userID"), email: &model.Email{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, EmailAddress: "EmailAddressChanged", IsEmailVerified: false}, }, @@ -2243,7 +2361,13 @@ func TestCreateEmailVerificationCode(t *testing.T) { { name: "create email verification code ok", args: args{ - es: GetMockManipulateUserWithEmailCodeGen(ctrl, repo_model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Profile: &repo_model.Profile{UserName: "UserName"}, Email: &repo_model.Email{EmailAddress: "EmailAddress"}}), + es: GetMockManipulateUserWithEmailCodeGen(ctrl, repo_model.User{ + ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, + UserName: "UserName", + Human: &repo_model.Human{ + Profile: &repo_model.Profile{DisplayName: "DisplayName"}, + Email: &repo_model.Email{EmailAddress: "EmailAddress"}, + }}), ctx: authz.NewMockContext("orgID", "userID"), userID: "userID", }, @@ -2310,9 +2434,9 @@ func TestCreateEmailVerificationCode(t *testing.T) { func TestEmailVerificationCodeSent(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *UserEventstore - ctx context.Context - existing *model.User + es *UserEventstore + ctx context.Context + user *model.User } type res struct { errFunc func(err error) bool @@ -2325,18 +2449,18 @@ func TestEmailVerificationCodeSent(t *testing.T) { { name: "sent email verify code", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{}, }, { name: "empty userid", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -2345,9 +2469,9 @@ func TestEmailVerificationCodeSent(t *testing.T) { { name: "existing user not found", args: args{ - es: GetMockManipulateUserNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsNotFound, @@ -2356,7 +2480,7 @@ func TestEmailVerificationCodeSent(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - err := tt.args.es.EmailVerificationCodeSent(tt.args.ctx, tt.args.existing.AggregateID) + err := tt.args.es.EmailVerificationCodeSent(tt.args.ctx, tt.args.user.AggregateID) if tt.res.errFunc == nil && err != nil { t.Errorf("rshould not get err") @@ -2371,9 +2495,9 @@ func TestEmailVerificationCodeSent(t *testing.T) { func TestPhoneByID(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *UserEventstore - ctx context.Context - existing *model.User + es *UserEventstore + ctx context.Context + user *model.User } type res struct { phone *model.Phone @@ -2387,9 +2511,9 @@ func TestPhoneByID(t *testing.T) { { name: "get by id, ok", args: args{ - es: GetMockManipulateUserFull(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserFull(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ phone: &model.Phone{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, PhoneNumber: "PhoneNumber"}, @@ -2398,9 +2522,9 @@ func TestPhoneByID(t *testing.T) { { name: "empty userid", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -2409,9 +2533,9 @@ func TestPhoneByID(t *testing.T) { { name: "existing user not found", args: args{ - es: GetMockManipulateUserNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsNotFound, @@ -2420,7 +2544,7 @@ func TestPhoneByID(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - result, err := tt.args.es.PhoneByID(tt.args.ctx, tt.args.existing.AggregateID) + result, err := tt.args.es.PhoneByID(tt.args.ctx, tt.args.user.AggregateID) if tt.res.errFunc == nil && result.AggregateID == "" { t.Errorf("result has no id") @@ -2465,7 +2589,13 @@ func TestChangePhone(t *testing.T) { { name: "change phone not verified, getting code", args: args{ - es: GetMockManipulateUserWithPhoneCodeGen(ctrl, repo_model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Profile: &repo_model.Profile{UserName: "UserName"}, Phone: &repo_model.Phone{PhoneNumber: "PhoneNumber"}}), + es: GetMockManipulateUserWithPhoneCodeGen(ctrl, repo_model.User{ + ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, + UserName: "UserName", + Human: &repo_model.Human{ + Profile: &repo_model.Profile{DisplayName: "DisplayName"}, + Phone: &repo_model.Phone{PhoneNumber: "PhoneNumber"}}, + }), ctx: authz.NewMockContext("orgID", "userID"), phone: &model.Phone{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, PhoneNumber: "+41711234567", IsPhoneVerified: false}, }, @@ -2685,7 +2815,13 @@ func TestCreatePhoneVerificationCode(t *testing.T) { { name: "create phone verification code okk", args: args{ - es: GetMockManipulateUserWithPhoneCodeGen(ctrl, repo_model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Profile: &repo_model.Profile{UserName: "UserName"}, Phone: &repo_model.Phone{PhoneNumber: "PhoneNumber"}}), + es: GetMockManipulateUserWithPhoneCodeGen(ctrl, repo_model.User{ + ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, + UserName: "UserName", + Human: &repo_model.Human{ + Profile: &repo_model.Profile{DisplayName: "DisplayName"}, + Phone: &repo_model.Phone{PhoneNumber: "PhoneNumber"}, + }}), ctx: authz.NewMockContext("orgID", "userID"), userID: "userID", }, @@ -2752,9 +2888,9 @@ func TestCreatePhoneVerificationCode(t *testing.T) { func TestPhoneVerificationCodeSent(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *UserEventstore - ctx context.Context - existing *model.User + es *UserEventstore + ctx context.Context + user *model.User } type res struct { errFunc func(err error) bool @@ -2767,18 +2903,18 @@ func TestPhoneVerificationCodeSent(t *testing.T) { { name: "sent phone verification code", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{}, }, { name: "empty userid", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -2787,9 +2923,9 @@ func TestPhoneVerificationCodeSent(t *testing.T) { { name: "existing user not found", args: args{ - es: GetMockManipulateUserNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsNotFound, @@ -2798,7 +2934,7 @@ func TestPhoneVerificationCodeSent(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - err := tt.args.es.PhoneVerificationCodeSent(tt.args.ctx, tt.args.existing.AggregateID) + err := tt.args.es.PhoneVerificationCodeSent(tt.args.ctx, tt.args.user.AggregateID) if tt.res.errFunc == nil && err != nil { t.Errorf("rshould not get err") @@ -2813,9 +2949,9 @@ func TestPhoneVerificationCodeSent(t *testing.T) { func TestAddressByID(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *UserEventstore - ctx context.Context - existing *model.User + es *UserEventstore + ctx context.Context + user *model.User } type res struct { address *model.Address @@ -2829,9 +2965,9 @@ func TestAddressByID(t *testing.T) { { name: "get by id, ok", args: args{ - es: GetMockManipulateUserFull(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserFull(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ address: &model.Address{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}, Country: "Country"}, @@ -2840,9 +2976,9 @@ func TestAddressByID(t *testing.T) { { name: "empty userid", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -2851,9 +2987,9 @@ func TestAddressByID(t *testing.T) { { name: "existing user not found", args: args{ - es: GetMockManipulateUserNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsNotFound, @@ -2862,7 +2998,7 @@ func TestAddressByID(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - result, err := tt.args.es.AddressByID(tt.args.ctx, tt.args.existing.AggregateID) + result, err := tt.args.es.AddressByID(tt.args.ctx, tt.args.user.AggregateID) if tt.res.errFunc == nil && result.AggregateID == "" { t.Errorf("result has no id") @@ -3259,9 +3395,9 @@ func TestCheckMfaOTP(t *testing.T) { func TestRemoveOTP(t *testing.T) { ctrl := gomock.NewController(t) type args struct { - es *UserEventstore - ctx context.Context - existing *model.User + es *UserEventstore + ctx context.Context + user *model.User } type res struct { errFunc func(err error) bool @@ -3274,17 +3410,17 @@ func TestRemoveOTP(t *testing.T) { { name: "remove ok", args: args{ - es: GetMockManipulateUserWithOTP(ctrl, false, true), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserWithOTP(ctrl, false, true), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, }, { name: "empty userid", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -3293,9 +3429,9 @@ func TestRemoveOTP(t *testing.T) { { name: "existing user not found", args: args{ - es: GetMockManipulateUserNoEvents(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUserNoEvents(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsNotFound, @@ -3304,9 +3440,9 @@ func TestRemoveOTP(t *testing.T) { { name: "user has no otp", args: args{ - es: GetMockManipulateUser(ctrl), - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, + es: GetMockManipulateUser(ctrl), + ctx: authz.NewMockContext("orgID", "userID"), + user: &model.User{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID", Sequence: 1}}, }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -3315,7 +3451,7 @@ func TestRemoveOTP(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - err := tt.args.es.RemoveOTP(tt.args.ctx, tt.args.existing.AggregateID) + err := tt.args.es.RemoveOTP(tt.args.ctx, tt.args.user.AggregateID) if tt.res.errFunc == nil && err != nil { t.Errorf("result should not get err") @@ -3332,13 +3468,13 @@ func TestChangesUser(t *testing.T) { type args struct { es *UserEventstore id string - secId string + secID string lastSequence uint64 limit uint64 } type res struct { changes *model.UserChanges - user *model.Profile + profile *model.Profile wantErr bool errFunc func(err error) bool } @@ -3356,8 +3492,8 @@ func TestChangesUser(t *testing.T) { limit: 0, }, res: res{ - changes: &model.UserChanges{Changes: []*model.UserChange{{EventType: "", Sequence: 1, ModifierId: ""}}, LastSequence: 1}, - user: &model.Profile{FirstName: "Hans", LastName: "Muster", UserName: "HansMuster"}, + changes: &model.UserChanges{Changes: []*model.UserChange{{EventType: "", Sequence: 1, ModifierID: ""}}, LastSequence: 1}, + profile: &model.Profile{FirstName: "Hans", LastName: "Muster"}, }, }, { @@ -3378,14 +3514,14 @@ func TestChangesUser(t *testing.T) { t.Run(tt.name, func(t *testing.T) { result, err := tt.args.es.UserChanges(nil, tt.args.id, tt.args.lastSequence, tt.args.limit, false) - user := &model.Profile{} + profile := &model.Profile{} if result != nil && len(result.Changes) > 0 { b, err := json.Marshal(result.Changes[0].Data) - json.Unmarshal(b, user) + json.Unmarshal(b, profile) if err != nil { } } - if !tt.res.wantErr && result.LastSequence != tt.res.changes.LastSequence && user.UserName != tt.res.user.UserName { + if !tt.res.wantErr && result.LastSequence != tt.res.changes.LastSequence && profile.DisplayName != tt.res.profile.DisplayName { t.Errorf("got wrong result name: expected: %v, actual: %v ", tt.res.changes.LastSequence, result.LastSequence) } if tt.res.wantErr && !tt.res.errFunc(err) { diff --git a/internal/user/repository/eventsourcing/model/address.go b/internal/user/repository/eventsourcing/model/address.go index b014b86c84..3888d06a4e 100644 --- a/internal/user/repository/eventsourcing/model/address.go +++ b/internal/user/repository/eventsourcing/model/address.go @@ -2,6 +2,7 @@ package model import ( "encoding/json" + "github.com/caos/logging" caos_errs "github.com/caos/zitadel/internal/errors" es_models "github.com/caos/zitadel/internal/eventstore/models" @@ -60,7 +61,7 @@ func AddressToModel(address *Address) *model.Address { } } -func (u *User) appendUserAddressChangedEvent(event *es_models.Event) error { +func (u *Human) appendUserAddressChangedEvent(event *es_models.Event) error { if u.Address == nil { u.Address = new(Address) } diff --git a/internal/user/repository/eventsourcing/model/address_test.go b/internal/user/repository/eventsourcing/model/address_test.go index d349c883e3..9339482abe 100644 --- a/internal/user/repository/eventsourcing/model/address_test.go +++ b/internal/user/repository/eventsourcing/model/address_test.go @@ -2,14 +2,15 @@ package model import ( "encoding/json" - es_models "github.com/caos/zitadel/internal/eventstore/models" "testing" + + es_models "github.com/caos/zitadel/internal/eventstore/models" ) func TestAddressChanges(t *testing.T) { type args struct { - existing *Address - new *Address + existingAddress *Address + newAddress *Address } type res struct { changesLen int @@ -22,8 +23,8 @@ func TestAddressChanges(t *testing.T) { { name: "all fields changed", args: args{ - existing: &Address{Country: "Country", Locality: "Locality", PostalCode: "PostalCode", Region: "Region", StreetAddress: "StreetAddress"}, - new: &Address{Country: "CountryChanged", Locality: "LocalityChanged", PostalCode: "PostalCodeChanged", Region: "RegionChanged", StreetAddress: "StreetAddressChanged"}, + existingAddress: &Address{Country: "Country", Locality: "Locality", PostalCode: "PostalCode", Region: "Region", StreetAddress: "StreetAddress"}, + newAddress: &Address{Country: "CountryChanged", Locality: "LocalityChanged", PostalCode: "PostalCodeChanged", Region: "RegionChanged", StreetAddress: "StreetAddressChanged"}, }, res: res{ changesLen: 5, @@ -32,8 +33,8 @@ func TestAddressChanges(t *testing.T) { { name: "no fields changed", args: args{ - existing: &Address{Country: "Country", Locality: "Locality", PostalCode: "PostalCode", Region: "Region", StreetAddress: "StreetAddress"}, - new: &Address{Country: "Country", Locality: "Locality", PostalCode: "PostalCode", Region: "Region", StreetAddress: "StreetAddress"}, + existingAddress: &Address{Country: "Country", Locality: "Locality", PostalCode: "PostalCode", Region: "Region", StreetAddress: "StreetAddress"}, + newAddress: &Address{Country: "Country", Locality: "Locality", PostalCode: "PostalCode", Region: "Region", StreetAddress: "StreetAddress"}, }, res: res{ changesLen: 0, @@ -42,7 +43,7 @@ func TestAddressChanges(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - changes := tt.args.existing.Changes(tt.args.new) + changes := tt.args.existingAddress.Changes(tt.args.newAddress) if len(changes) != tt.res.changesLen { t.Errorf("got wrong changes len: expected: %v, actual: %v ", tt.res.changesLen, len(changes)) } @@ -52,23 +53,23 @@ func TestAddressChanges(t *testing.T) { func TestAppendUserAddressChangedEvent(t *testing.T) { type args struct { - user *User + user *Human address *Address event *es_models.Event } tests := []struct { name string args args - result *User + result *Human }{ { name: "append user address event", args: args{ - user: &User{Address: &Address{Locality: "Locality", Country: "Country"}}, + user: &Human{Address: &Address{Locality: "Locality", Country: "Country"}}, address: &Address{Locality: "LocalityChanged", PostalCode: "PostalCode"}, event: &es_models.Event{}, }, - result: &User{Address: &Address{Locality: "LocalityChanged", Country: "Country", PostalCode: "PostalCode"}}, + result: &Human{Address: &Address{Locality: "LocalityChanged", Country: "Country", PostalCode: "PostalCode"}}, }, } for _, tt := range tests { diff --git a/internal/user/repository/eventsourcing/model/email.go b/internal/user/repository/eventsourcing/model/email.go index 099365953a..40aa598ddb 100644 --- a/internal/user/repository/eventsourcing/model/email.go +++ b/internal/user/repository/eventsourcing/model/email.go @@ -2,12 +2,13 @@ package model import ( "encoding/json" + "time" + "github.com/caos/logging" "github.com/caos/zitadel/internal/crypto" caos_errs "github.com/caos/zitadel/internal/errors" es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/user/model" - "time" ) type Email struct { @@ -69,17 +70,17 @@ func EmailCodeToModel(code *EmailCode) *model.EmailCode { } } -func (u *User) appendUserEmailChangedEvent(event *es_models.Event) error { +func (u *Human) appendUserEmailChangedEvent(event *es_models.Event) error { u.Email = new(Email) return u.Email.setData(event) } -func (u *User) appendUserEmailCodeAddedEvent(event *es_models.Event) error { +func (u *Human) appendUserEmailCodeAddedEvent(event *es_models.Event) error { u.EmailCode = new(EmailCode) return u.EmailCode.SetData(event) } -func (u *User) appendUserEmailVerifiedEvent() { +func (u *Human) appendUserEmailVerifiedEvent() { u.IsEmailVerified = true } diff --git a/internal/user/repository/eventsourcing/model/email_test.go b/internal/user/repository/eventsourcing/model/email_test.go index b9ea04db12..861796d162 100644 --- a/internal/user/repository/eventsourcing/model/email_test.go +++ b/internal/user/repository/eventsourcing/model/email_test.go @@ -2,15 +2,16 @@ package model import ( "encoding/json" - es_models "github.com/caos/zitadel/internal/eventstore/models" "testing" "time" + + es_models "github.com/caos/zitadel/internal/eventstore/models" ) func TestEmailChanges(t *testing.T) { type args struct { - existing *Email - new *Email + existingEmail *Email + new *Email } type res struct { changesLen int @@ -23,8 +24,8 @@ func TestEmailChanges(t *testing.T) { { name: "all fields changed", args: args{ - existing: &Email{EmailAddress: "Email", IsEmailVerified: true}, - new: &Email{EmailAddress: "EmailChanged", IsEmailVerified: false}, + existingEmail: &Email{EmailAddress: "Email", IsEmailVerified: true}, + new: &Email{EmailAddress: "EmailChanged", IsEmailVerified: false}, }, res: res{ changesLen: 1, @@ -33,8 +34,8 @@ func TestEmailChanges(t *testing.T) { { name: "no fields changed", args: args{ - existing: &Email{EmailAddress: "Email", IsEmailVerified: true}, - new: &Email{EmailAddress: "Email", IsEmailVerified: false}, + existingEmail: &Email{EmailAddress: "Email", IsEmailVerified: true}, + new: &Email{EmailAddress: "Email", IsEmailVerified: false}, }, res: res{ changesLen: 0, @@ -43,7 +44,7 @@ func TestEmailChanges(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - changes := tt.args.existing.Changes(tt.args.new) + changes := tt.args.existingEmail.Changes(tt.args.new) if len(changes) != tt.res.changesLen { t.Errorf("got wrong changes len: expected: %v, actual: %v ", tt.res.changesLen, len(changes)) } @@ -53,23 +54,23 @@ func TestEmailChanges(t *testing.T) { func TestAppendUserEmailChangedEvent(t *testing.T) { type args struct { - user *User + user *Human email *Email event *es_models.Event } tests := []struct { name string args args - result *User + result *Human }{ { name: "append user email event", args: args{ - user: &User{Email: &Email{EmailAddress: "EmailAddress"}}, + user: &Human{Email: &Email{EmailAddress: "EmailAddress"}}, email: &Email{EmailAddress: "EmailAddressChanged"}, event: &es_models.Event{}, }, - result: &User{Email: &Email{EmailAddress: "EmailAddressChanged"}}, + result: &Human{Email: &Email{EmailAddress: "EmailAddressChanged"}}, }, } for _, tt := range tests { @@ -88,23 +89,23 @@ func TestAppendUserEmailChangedEvent(t *testing.T) { func TestAppendUserEmailCodeAddedEvent(t *testing.T) { type args struct { - user *User + user *Human code *EmailCode event *es_models.Event } tests := []struct { name string args args - result *User + result *Human }{ { name: "append user email code added event", args: args{ - user: &User{Email: &Email{EmailAddress: "EmailAddress"}}, + user: &Human{Email: &Email{EmailAddress: "EmailAddress"}}, code: &EmailCode{Expiry: time.Hour * 1}, event: &es_models.Event{}, }, - result: &User{EmailCode: &EmailCode{Expiry: time.Hour * 1}}, + result: &Human{EmailCode: &EmailCode{Expiry: time.Hour * 1}}, }, } for _, tt := range tests { @@ -123,21 +124,21 @@ func TestAppendUserEmailCodeAddedEvent(t *testing.T) { func TestAppendUserEmailVerifiedEvent(t *testing.T) { type args struct { - user *User + user *Human event *es_models.Event } tests := []struct { name string args args - result *User + result *Human }{ { name: "append user email event", args: args{ - user: &User{Email: &Email{EmailAddress: "EmailAddress"}}, + user: &Human{Email: &Email{EmailAddress: "EmailAddress"}}, event: &es_models.Event{}, }, - result: &User{Email: &Email{EmailAddress: "EmailAddress", IsEmailVerified: true}}, + result: &Human{Email: &Email{EmailAddress: "EmailAddress", IsEmailVerified: true}}, }, } for _, tt := range tests { diff --git a/internal/user/repository/eventsourcing/model/mfa.go b/internal/user/repository/eventsourcing/model/mfa.go index 1fe059a6e1..f5b18137ee 100644 --- a/internal/user/repository/eventsourcing/model/mfa.go +++ b/internal/user/repository/eventsourcing/model/mfa.go @@ -2,6 +2,7 @@ package model import ( "encoding/json" + "github.com/caos/logging" "github.com/caos/zitadel/internal/crypto" caos_errs "github.com/caos/zitadel/internal/errors" @@ -32,18 +33,18 @@ func OTPToModel(otp *OTP) *model.OTP { } } -func (u *User) appendOtpAddedEvent(event *es_models.Event) error { +func (u *Human) appendOTPAddedEvent(event *es_models.Event) error { u.OTP = &OTP{ State: int32(model.MfaStateNotReady), } return u.OTP.setData(event) } -func (u *User) appendOtpVerifiedEvent() { +func (u *Human) appendOTPVerifiedEvent() { u.OTP.State = int32(model.MfaStateReady) } -func (u *User) appendOtpRemovedEvent() { +func (u *Human) appendOTPRemovedEvent() { u.OTP = nil } diff --git a/internal/user/repository/eventsourcing/model/mfa_test.go b/internal/user/repository/eventsourcing/model/mfa_test.go index 23e0fab3e5..3a298036e7 100644 --- a/internal/user/repository/eventsourcing/model/mfa_test.go +++ b/internal/user/repository/eventsourcing/model/mfa_test.go @@ -2,31 +2,32 @@ package model import ( "encoding/json" + "testing" + "github.com/caos/zitadel/internal/crypto" es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/user/model" - "testing" ) func TestAppendMfaOTPAddedEvent(t *testing.T) { type args struct { - user *User + user *Human otp *OTP event *es_models.Event } tests := []struct { name string args args - result *User + result *Human }{ { name: "append user otp event", args: args{ - user: &User{}, + user: &Human{}, otp: &OTP{Secret: &crypto.CryptoValue{KeyID: "KeyID"}}, event: &es_models.Event{}, }, - result: &User{OTP: &OTP{Secret: &crypto.CryptoValue{KeyID: "KeyID"}, State: int32(model.MfaStateNotReady)}}, + result: &Human{OTP: &OTP{Secret: &crypto.CryptoValue{KeyID: "KeyID"}, State: int32(model.MfaStateNotReady)}}, }, } for _, tt := range tests { @@ -35,7 +36,7 @@ func TestAppendMfaOTPAddedEvent(t *testing.T) { data, _ := json.Marshal(tt.args.otp) tt.args.event.Data = data } - tt.args.user.appendOtpAddedEvent(tt.args.event) + tt.args.user.appendOTPAddedEvent(tt.args.event) if tt.args.user.OTP.State != tt.result.OTP.State { t.Errorf("got wrong result: expected: %v, actual: %v ", tt.result.OTP.State, tt.args.user.OTP.State) } @@ -45,23 +46,23 @@ func TestAppendMfaOTPAddedEvent(t *testing.T) { func TestAppendMfaOTPVerifyEvent(t *testing.T) { type args struct { - user *User + user *Human otp *OTP event *es_models.Event } tests := []struct { name string args args - result *User + result *Human }{ { name: "append otp verify event", args: args{ - user: &User{OTP: &OTP{Secret: &crypto.CryptoValue{KeyID: "KeyID"}}}, + user: &Human{OTP: &OTP{Secret: &crypto.CryptoValue{KeyID: "KeyID"}}}, otp: &OTP{Secret: &crypto.CryptoValue{KeyID: "KeyID"}}, event: &es_models.Event{}, }, - result: &User{OTP: &OTP{Secret: &crypto.CryptoValue{KeyID: "KeyID"}, State: int32(model.MfaStateReady)}}, + result: &Human{OTP: &OTP{Secret: &crypto.CryptoValue{KeyID: "KeyID"}, State: int32(model.MfaStateReady)}}, }, } for _, tt := range tests { @@ -70,7 +71,7 @@ func TestAppendMfaOTPVerifyEvent(t *testing.T) { data, _ := json.Marshal(tt.args.otp) tt.args.event.Data = data } - tt.args.user.appendOtpVerifiedEvent() + tt.args.user.appendOTPVerifiedEvent() if tt.args.user.OTP.State != tt.result.OTP.State { t.Errorf("got wrong result: expected: %v, actual: %v ", tt.result.OTP.State, tt.args.user.OTP.State) } @@ -80,27 +81,27 @@ func TestAppendMfaOTPVerifyEvent(t *testing.T) { func TestAppendMfaOTPRemoveEvent(t *testing.T) { type args struct { - user *User + user *Human otp *OTP event *es_models.Event } tests := []struct { name string args args - result *User + result *Human }{ { name: "append otp verify event", args: args{ - user: &User{OTP: &OTP{Secret: &crypto.CryptoValue{KeyID: "KeyID"}}}, + user: &Human{OTP: &OTP{Secret: &crypto.CryptoValue{KeyID: "KeyID"}}}, event: &es_models.Event{}, }, - result: &User{}, + result: &Human{}, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - tt.args.user.appendOtpRemovedEvent() + tt.args.user.appendOTPRemovedEvent() if tt.args.user.OTP != nil { t.Errorf("got wrong result: actual: %v ", tt.result.OTP) } diff --git a/internal/user/repository/eventsourcing/model/password.go b/internal/user/repository/eventsourcing/model/password.go index 591f68a574..3eadce508d 100644 --- a/internal/user/repository/eventsourcing/model/password.go +++ b/internal/user/repository/eventsourcing/model/password.go @@ -2,12 +2,13 @@ package model import ( "encoding/json" + "time" + "github.com/caos/logging" "github.com/caos/zitadel/internal/crypto" caos_errs "github.com/caos/zitadel/internal/errors" es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/user/model" - "time" ) type Password struct { @@ -50,7 +51,7 @@ func PasswordCodeToModel(code *PasswordCode) *model.PasswordCode { } } -func (u *User) appendUserPasswordChangedEvent(event *es_models.Event) error { +func (u *Human) appendUserPasswordChangedEvent(event *es_models.Event) error { u.Password = new(Password) err := u.Password.setData(event) if err != nil { @@ -60,7 +61,7 @@ func (u *User) appendUserPasswordChangedEvent(event *es_models.Event) error { return nil } -func (u *User) appendPasswordSetRequestedEvent(event *es_models.Event) error { +func (u *Human) appendPasswordSetRequestedEvent(event *es_models.Event) error { u.PasswordCode = new(PasswordCode) return u.PasswordCode.SetData(event) } diff --git a/internal/user/repository/eventsourcing/model/password_test.go b/internal/user/repository/eventsourcing/model/password_test.go index 5dd5077a58..e6b01a2e0a 100644 --- a/internal/user/repository/eventsourcing/model/password_test.go +++ b/internal/user/repository/eventsourcing/model/password_test.go @@ -2,30 +2,31 @@ package model import ( "encoding/json" - es_models "github.com/caos/zitadel/internal/eventstore/models" "testing" "time" + + es_models "github.com/caos/zitadel/internal/eventstore/models" ) func TestAppendUserPasswordChangedEvent(t *testing.T) { type args struct { - user *User + user *Human pw *Password event *es_models.Event } tests := []struct { name string args args - result *User + result *Human }{ { name: "append init user code event", args: args{ - user: &User{}, + user: &Human{}, pw: &Password{ChangeRequired: true}, event: &es_models.Event{}, }, - result: &User{Password: &Password{ChangeRequired: true}}, + result: &Human{Password: &Password{ChangeRequired: true}}, }, } for _, tt := range tests { @@ -44,23 +45,23 @@ func TestAppendUserPasswordChangedEvent(t *testing.T) { func TestAppendPasswordSetRequestedEvent(t *testing.T) { type args struct { - user *User + user *Human code *PasswordCode event *es_models.Event } tests := []struct { name string args args - result *User + result *Human }{ { name: "append user phone code added event", args: args{ - user: &User{Phone: &Phone{PhoneNumber: "PhoneNumber"}}, + user: &Human{Phone: &Phone{PhoneNumber: "PhoneNumber"}}, code: &PasswordCode{Expiry: time.Hour * 1}, event: &es_models.Event{}, }, - result: &User{PasswordCode: &PasswordCode{Expiry: time.Hour * 1}}, + result: &Human{PasswordCode: &PasswordCode{Expiry: time.Hour * 1}}, }, } for _, tt := range tests { diff --git a/internal/user/repository/eventsourcing/model/phone.go b/internal/user/repository/eventsourcing/model/phone.go index e454052022..0515923029 100644 --- a/internal/user/repository/eventsourcing/model/phone.go +++ b/internal/user/repository/eventsourcing/model/phone.go @@ -2,12 +2,13 @@ package model import ( "encoding/json" + "time" + "github.com/caos/logging" "github.com/caos/zitadel/internal/crypto" caos_errs "github.com/caos/zitadel/internal/errors" es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/user/model" - "time" ) type Phone struct { @@ -67,21 +68,21 @@ func PhoneCodeToModel(code *PhoneCode) *model.PhoneCode { } } -func (u *User) appendUserPhoneChangedEvent(event *es_models.Event) error { +func (u *Human) appendUserPhoneChangedEvent(event *es_models.Event) error { u.Phone = new(Phone) return u.Phone.setData(event) } -func (u *User) appendUserPhoneCodeAddedEvent(event *es_models.Event) error { +func (u *Human) appendUserPhoneCodeAddedEvent(event *es_models.Event) error { u.PhoneCode = new(PhoneCode) return u.PhoneCode.SetData(event) } -func (u *User) appendUserPhoneVerifiedEvent() { +func (u *Human) appendUserPhoneVerifiedEvent() { u.IsPhoneVerified = true } -func (u *User) appendUserPhoneRemovedEvent() { +func (u *Human) appendUserPhoneRemovedEvent() { u.Phone = nil u.PhoneCode = nil } diff --git a/internal/user/repository/eventsourcing/model/phone_test.go b/internal/user/repository/eventsourcing/model/phone_test.go index 6f5c8a51ff..432c2a501c 100644 --- a/internal/user/repository/eventsourcing/model/phone_test.go +++ b/internal/user/repository/eventsourcing/model/phone_test.go @@ -2,15 +2,16 @@ package model import ( "encoding/json" - es_models "github.com/caos/zitadel/internal/eventstore/models" "testing" "time" + + es_models "github.com/caos/zitadel/internal/eventstore/models" ) func TestPhoneChanges(t *testing.T) { type args struct { - existing *Phone - new *Phone + existingPhone *Phone + newPhone *Phone } type res struct { changesLen int @@ -23,8 +24,8 @@ func TestPhoneChanges(t *testing.T) { { name: "all fields changed", args: args{ - existing: &Phone{PhoneNumber: "Phone", IsPhoneVerified: true}, - new: &Phone{PhoneNumber: "PhoneChanged", IsPhoneVerified: false}, + existingPhone: &Phone{PhoneNumber: "Phone", IsPhoneVerified: true}, + newPhone: &Phone{PhoneNumber: "PhoneChanged", IsPhoneVerified: false}, }, res: res{ changesLen: 1, @@ -33,8 +34,8 @@ func TestPhoneChanges(t *testing.T) { { name: "no fields changed", args: args{ - existing: &Phone{PhoneNumber: "Phone", IsPhoneVerified: true}, - new: &Phone{PhoneNumber: "Phone", IsPhoneVerified: false}, + existingPhone: &Phone{PhoneNumber: "Phone", IsPhoneVerified: true}, + newPhone: &Phone{PhoneNumber: "Phone", IsPhoneVerified: false}, }, res: res{ changesLen: 0, @@ -43,7 +44,7 @@ func TestPhoneChanges(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - changes := tt.args.existing.Changes(tt.args.new) + changes := tt.args.existingPhone.Changes(tt.args.newPhone) if len(changes) != tt.res.changesLen { t.Errorf("got wrong changes len: expected: %v, actual: %v ", tt.res.changesLen, len(changes)) } @@ -53,23 +54,23 @@ func TestPhoneChanges(t *testing.T) { func TestAppendUserPhoneChangedEvent(t *testing.T) { type args struct { - user *User + user *Human phone *Phone event *es_models.Event } tests := []struct { name string args args - result *User + result *Human }{ { name: "append user phone event", args: args{ - user: &User{Phone: &Phone{PhoneNumber: "PhoneNumber"}}, + user: &Human{Phone: &Phone{PhoneNumber: "PhoneNumber"}}, phone: &Phone{PhoneNumber: "PhoneNumberChanged"}, event: &es_models.Event{}, }, - result: &User{Phone: &Phone{PhoneNumber: "PhoneNumberChanged"}}, + result: &Human{Phone: &Phone{PhoneNumber: "PhoneNumberChanged"}}, }, } for _, tt := range tests { @@ -88,23 +89,23 @@ func TestAppendUserPhoneChangedEvent(t *testing.T) { func TestAppendUserPhoneCodeAddedEvent(t *testing.T) { type args struct { - user *User + user *Human code *PhoneCode event *es_models.Event } tests := []struct { name string args args - result *User + result *Human }{ { name: "append user phone code added event", args: args{ - user: &User{Phone: &Phone{PhoneNumber: "PhoneNumber"}}, + user: &Human{Phone: &Phone{PhoneNumber: "PhoneNumber"}}, code: &PhoneCode{Expiry: time.Hour * 1}, event: &es_models.Event{}, }, - result: &User{PhoneCode: &PhoneCode{Expiry: time.Hour * 1}}, + result: &Human{PhoneCode: &PhoneCode{Expiry: time.Hour * 1}}, }, } for _, tt := range tests { @@ -123,21 +124,21 @@ func TestAppendUserPhoneCodeAddedEvent(t *testing.T) { func TestAppendUserPhoneVerifiedEvent(t *testing.T) { type args struct { - user *User + user *Human event *es_models.Event } tests := []struct { name string args args - result *User + result *Human }{ { name: "append user phone event", args: args{ - user: &User{Phone: &Phone{PhoneNumber: "PhoneNumber"}}, + user: &Human{Phone: &Phone{PhoneNumber: "PhoneNumber"}}, event: &es_models.Event{}, }, - result: &User{Phone: &Phone{PhoneNumber: "PhoneNumber", IsPhoneVerified: true}}, + result: &Human{Phone: &Phone{PhoneNumber: "PhoneNumber", IsPhoneVerified: true}}, }, } for _, tt := range tests { diff --git a/internal/user/repository/eventsourcing/model/profile.go b/internal/user/repository/eventsourcing/model/profile.go index be9c992927..71637831e6 100644 --- a/internal/user/repository/eventsourcing/model/profile.go +++ b/internal/user/repository/eventsourcing/model/profile.go @@ -10,7 +10,6 @@ import ( type Profile struct { es_models.ObjectRoot - UserName string `json:"userName,omitempty"` FirstName string `json:"firstName,omitempty"` LastName string `json:"lastName,omitempty"` NickName string `json:"nickName,omitempty"` @@ -18,7 +17,7 @@ type Profile struct { PreferredLanguage language.Tag `json:"preferredLanguage,omitempty"` Gender int32 `json:"gender,omitempty"` - isUserNameUnique bool `json:"-"` + isUserNameUnique bool } func (p *Profile) Changes(changed *Profile) map[string]interface{} { @@ -47,7 +46,6 @@ func (p *Profile) Changes(changed *Profile) map[string]interface{} { func ProfileFromModel(profile *model.Profile) *Profile { return &Profile{ ObjectRoot: profile.ObjectRoot, - UserName: profile.UserName, FirstName: profile.FirstName, LastName: profile.LastName, NickName: profile.NickName, @@ -60,7 +58,6 @@ func ProfileFromModel(profile *model.Profile) *Profile { func ProfileToModel(profile *Profile) *model.Profile { return &model.Profile{ ObjectRoot: profile.ObjectRoot, - UserName: profile.UserName, FirstName: profile.FirstName, LastName: profile.LastName, NickName: profile.NickName, diff --git a/internal/user/repository/eventsourcing/model/profile_test.go b/internal/user/repository/eventsourcing/model/profile_test.go index 1a58efed70..53970abd0d 100644 --- a/internal/user/repository/eventsourcing/model/profile_test.go +++ b/internal/user/repository/eventsourcing/model/profile_test.go @@ -1,15 +1,16 @@ package model import ( + "testing" + user_model "github.com/caos/zitadel/internal/user/model" "golang.org/x/text/language" - "testing" ) func TestProfileChanges(t *testing.T) { type args struct { - existing *Profile - new *Profile + existingProfile *Profile + newProfile *Profile } type res struct { changesLen int @@ -22,8 +23,8 @@ func TestProfileChanges(t *testing.T) { { name: "all attributes changed", args: args{ - existing: &Profile{UserName: "UserName", FirstName: "FirstName", LastName: "LastName", NickName: "NickName", DisplayName: "DisplayName", PreferredLanguage: language.German, Gender: int32(user_model.GenderFemale)}, - new: &Profile{UserName: "UserNameChanged", FirstName: "FirstNameChanged", LastName: "LastNameChanged", NickName: "NickNameChanged", DisplayName: "DisplayNameChanged", PreferredLanguage: language.English, Gender: int32(user_model.GenderMale)}, + existingProfile: &Profile{FirstName: "FirstName", LastName: "LastName", NickName: "NickName", DisplayName: "DisplayName", PreferredLanguage: language.German, Gender: int32(user_model.GenderFemale)}, + newProfile: &Profile{FirstName: "FirstNameChanged", LastName: "LastNameChanged", NickName: "NickNameChanged", DisplayName: "DisplayNameChanged", PreferredLanguage: language.English, Gender: int32(user_model.GenderMale)}, }, res: res{ changesLen: 6, @@ -32,18 +33,8 @@ func TestProfileChanges(t *testing.T) { { name: "no changes", args: args{ - existing: &Profile{UserName: "UserName", FirstName: "FirstName", LastName: "LastName", NickName: "NickName", DisplayName: "DisplayName", PreferredLanguage: language.German, Gender: int32(user_model.GenderFemale)}, - new: &Profile{UserName: "UserName", FirstName: "FirstName", LastName: "LastName", NickName: "NickName", DisplayName: "DisplayName", PreferredLanguage: language.German, Gender: int32(user_model.GenderFemale)}, - }, - res: res{ - changesLen: 0, - }, - }, - { - name: "username changed", - args: args{ - existing: &Profile{UserName: "UserName", FirstName: "FirstName", LastName: "LastName", NickName: "NickName", DisplayName: "DisplayName", PreferredLanguage: language.German, Gender: int32(user_model.GenderFemale)}, - new: &Profile{UserName: "UserNameChanged", FirstName: "FirstName", LastName: "LastName", NickName: "NickName", DisplayName: "DisplayName", PreferredLanguage: language.German, Gender: int32(user_model.GenderFemale)}, + existingProfile: &Profile{FirstName: "FirstName", LastName: "LastName", NickName: "NickName", DisplayName: "DisplayName", PreferredLanguage: language.German, Gender: int32(user_model.GenderFemale)}, + newProfile: &Profile{FirstName: "FirstName", LastName: "LastName", NickName: "NickName", DisplayName: "DisplayName", PreferredLanguage: language.German, Gender: int32(user_model.GenderFemale)}, }, res: res{ changesLen: 0, @@ -52,8 +43,8 @@ func TestProfileChanges(t *testing.T) { { name: "empty names", args: args{ - existing: &Profile{UserName: "UserName", FirstName: "FirstName", LastName: "LastName", NickName: "NickName", DisplayName: "DisplayName", PreferredLanguage: language.German, Gender: int32(user_model.GenderFemale)}, - new: &Profile{UserName: "UserName", FirstName: "", LastName: "", NickName: "NickName", DisplayName: "DisplayName", PreferredLanguage: language.German, Gender: int32(user_model.GenderFemale)}, + existingProfile: &Profile{FirstName: "FirstName", LastName: "LastName", NickName: "NickName", DisplayName: "DisplayName", PreferredLanguage: language.German, Gender: int32(user_model.GenderFemale)}, + newProfile: &Profile{FirstName: "", LastName: "", NickName: "NickName", DisplayName: "DisplayName", PreferredLanguage: language.German, Gender: int32(user_model.GenderFemale)}, }, res: res{ changesLen: 0, @@ -62,7 +53,7 @@ func TestProfileChanges(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - changes := tt.args.existing.Changes(tt.args.new) + changes := tt.args.existingProfile.Changes(tt.args.newProfile) if len(changes) != tt.res.changesLen { t.Errorf("got wrong changes len: expected: %v, actual: %v ", tt.res.changesLen, len(changes)) } diff --git a/internal/user/repository/eventsourcing/model/types.go b/internal/user/repository/eventsourcing/model/types.go index ea330efe23..ea3dd3e1bc 100644 --- a/internal/user/repository/eventsourcing/model/types.go +++ b/internal/user/repository/eventsourcing/model/types.go @@ -2,10 +2,14 @@ package model import "github.com/caos/zitadel/internal/eventstore/models" +//aggregates const ( UserAggregate models.AggregateType = "user" UserUserNameAggregate models.AggregateType = "user.username" +) +// the following consts are for user v1 events +const ( UserAdded models.EventType = "user.added" UserRegistered models.EventType = "user.selfregistered" InitializedUserCodeAdded models.EventType = "user.initialization.code.added" @@ -16,12 +20,6 @@ const ( UserUserNameReserved models.EventType = "user.username.reserved" UserUserNameReleased models.EventType = "user.username.released" - UserLocked models.EventType = "user.locked" - UserUnlocked models.EventType = "user.unlocked" - UserDeactivated models.EventType = "user.deactivated" - UserReactivated models.EventType = "user.reactivated" - UserRemoved models.EventType = "user.removed" - UserPasswordChanged models.EventType = "user.password.changed" UserPasswordCodeAdded models.EventType = "user.password.code.added" UserPasswordCodeSent models.EventType = "user.password.code.sent" @@ -45,15 +43,77 @@ const ( UserAddressChanged models.EventType = "user.address.changed" UserUserNameChanged models.EventType = "user.username.changed" - MfaOtpAdded models.EventType = "user.mfa.otp.added" - MfaOtpVerified models.EventType = "user.mfa.otp.verified" - MfaOtpRemoved models.EventType = "user.mfa.otp.removed" + MFAOTPAdded models.EventType = "user.mfa.otp.added" + MFAOTPVerified models.EventType = "user.mfa.otp.verified" + MFAOTPRemoved models.EventType = "user.mfa.otp.removed" MfaOtpCheckSucceeded models.EventType = "user.mfa.otp.check.succeeded" MfaOtpCheckFailed models.EventType = "user.mfa.otp.check.failed" - MfaInitSkipped models.EventType = "user.mfa.init.skipped" + MFAInitSkipped models.EventType = "user.mfa.init.skipped" SignedOut models.EventType = "user.signed.out" DomainClaimed models.EventType = "user.domain.claimed" DomainClaimedSent models.EventType = "user.domain.claimed.sent" ) + +//the following consts are for user(v2) +const ( + UserNameReserved models.EventType = "user.username.reserved" + UserNameReleased models.EventType = "user.username.released" + + UserLocked models.EventType = "user.locked" + UserUnlocked models.EventType = "user.unlocked" + UserDeactivated models.EventType = "user.deactivated" + UserReactivated models.EventType = "user.reactivated" + UserRemoved models.EventType = "user.removed" +) + +// the following consts are for user(v2).human +const ( + HumanAdded models.EventType = "user.human.added" + HumanRegistered models.EventType = "user.human.selfregistered" + InitializedHumanCodeAdded models.EventType = "user.human.initialization.code.added" + InitializedHumanCodeSent models.EventType = "user.human.initialization.code.sent" + InitializedHumanCheckSucceeded models.EventType = "user.human.initialization.check.succeeded" + InitializedHumanCheckFailed models.EventType = "user.human.initialization.check.failed" + + HumanPasswordChanged models.EventType = "user.human.password.changed" + HumanPasswordCodeAdded models.EventType = "user.human.password.code.added" + HumanPasswordCodeSent models.EventType = "user.human.password.code.sent" + HumanPasswordCheckSucceeded models.EventType = "user.human.password.check.succeeded" + HumanPasswordCheckFailed models.EventType = "user.human.password.check.failed" + + HumanEmailChanged models.EventType = "user.human.email.changed" + HumanEmailVerified models.EventType = "user.human.email.verified" + HumanEmailVerificationFailed models.EventType = "user.human.email.verification.failed" + HumanEmailCodeAdded models.EventType = "user.human.email.code.added" + HumanEmailCodeSent models.EventType = "user.human.email.code.sent" + + HumanPhoneChanged models.EventType = "user.human.phone.changed" + HumanPhoneRemoved models.EventType = "user.human.phone.removed" + HumanPhoneVerified models.EventType = "user.human.phone.verified" + HumanPhoneVerificationFailed models.EventType = "user.human.phone.verification.failed" + HumanPhoneCodeAdded models.EventType = "user.human.phone.code.added" + HumanPhoneCodeSent models.EventType = "user.human.phone.code.sent" + + HumanProfileChanged models.EventType = "user.human.profile.changed" + HumanAddressChanged models.EventType = "user.human.address.changed" + + HumanMFAOTPAdded models.EventType = "user.human.mfa.otp.added" + HumanMFAOTPVerified models.EventType = "user.human.mfa.otp.verified" + HumanMFAOTPRemoved models.EventType = "user.human.mfa.otp.removed" + HumanMfaOtpCheckSucceeded models.EventType = "user.human.mfa.otp.check.succeeded" + HumanMfaOtpCheckFailed models.EventType = "user.human.mfa.otp.check.failed" + HumanMfaInitSkipped models.EventType = "user.human.mfa.init.skipped" + + HumanSignedOut models.EventType = "user.human.signed.out" +) + +// the following consts are for user(v2).machines +const ( + MachineAdded models.EventType = "user.machine.added" + MachineChanged models.EventType = "user.machine.changed" + + MachineKeyAdded models.EventType = "user.machine.key.added" + MachineKeyRemoved models.EventType = "user.machine.key.removed" +) diff --git a/internal/user/repository/eventsourcing/model/user.go b/internal/user/repository/eventsourcing/model/user.go index 32d4838aed..02127bbf72 100644 --- a/internal/user/repository/eventsourcing/model/user.go +++ b/internal/user/repository/eventsourcing/model/user.go @@ -2,141 +2,90 @@ package model import ( "encoding/json" - "time" + "strings" "github.com/caos/logging" - "github.com/caos/zitadel/internal/crypto" + "github.com/caos/zitadel/internal/errors" caos_errs "github.com/caos/zitadel/internal/errors" es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/user/model" ) const ( - UserVersion = "v1" + UserVersion = "v2" ) type User struct { es_models.ObjectRoot - State int32 `json:"-"` - *Password - *Profile - *Email - *Phone - *Address - InitCode *InitUserCode `json:"-"` - EmailCode *EmailCode `json:"-"` - PhoneCode *PhoneCode `json:"-"` - PasswordCode *PasswordCode `json:"-"` - OTP *OTP `json:"-"` -} + State int32 `json:"-"` + UserName string `json:"userName"` -type InitUserCode struct { - es_models.ObjectRoot - Code *crypto.CryptoValue `json:"code,omitempty"` - Expiry time.Duration `json:"expiry,omitempty"` + *Human + *Machine } func UserFromModel(user *model.User) *User { - converted := &User{ + var human *Human + if user.Human != nil { + human = HumanFromModel(user.Human) + } + var machine *Machine + if user.Machine != nil { + machine = MachineFromModel(user.Machine) + } + return &User{ ObjectRoot: user.ObjectRoot, State: int32(user.State), + UserName: user.UserName, + Human: human, + Machine: machine, } - if user.Password != nil { - converted.Password = PasswordFromModel(user.Password) - } - if user.Profile != nil { - converted.Profile = ProfileFromModel(user.Profile) - } - if user.Email != nil { - converted.Email = EmailFromModel(user.Email) - } - if user.Phone != nil { - converted.Phone = PhoneFromModel(user.Phone) - } - if user.Address != nil { - converted.Address = AddressFromModel(user.Address) - } - if user.OTP != nil { - converted.OTP = OTPFromModel(user.OTP) - } - return converted } func UserToModel(user *User) *model.User { - converted := &model.User{ + var human *model.Human + if user.Human != nil { + human = HumanToModel(user.Human) + } + var machine *model.Machine + if user.Machine != nil { + machine = MachineToModel(user.Machine) + } + return &model.User{ ObjectRoot: user.ObjectRoot, State: model.UserState(user.State), - } - if user.Password != nil { - converted.Password = PasswordToModel(user.Password) - } - if user.Profile != nil { - converted.Profile = ProfileToModel(user.Profile) - } - if user.Email != nil { - converted.Email = EmailToModel(user.Email) - } - if user.Phone != nil { - converted.Phone = PhoneToModel(user.Phone) - } - if user.Address != nil { - converted.Address = AddressToModel(user.Address) - } - if user.InitCode != nil { - converted.InitCode = InitCodeToModel(user.InitCode) - } - if user.EmailCode != nil { - converted.EmailCode = EmailCodeToModel(user.EmailCode) - } - if user.PhoneCode != nil { - converted.PhoneCode = PhoneCodeToModel(user.PhoneCode) - } - if user.PasswordCode != nil { - converted.PasswordCode = PasswordCodeToModel(user.PasswordCode) - } - if user.OTP != nil { - converted.OTP = OTPToModel(user.OTP) - } - return converted -} - -func InitCodeFromModel(code *model.InitUserCode) *InitUserCode { - if code == nil { - return nil - } - return &InitUserCode{ - ObjectRoot: code.ObjectRoot, - Expiry: code.Expiry, - Code: code.Code, + UserName: user.UserName, + Human: human, + Machine: machine, } } -func InitCodeToModel(code *InitUserCode) *model.InitUserCode { - return &model.InitUserCode{ - ObjectRoot: code.ObjectRoot, - Expiry: code.Expiry, - Code: code.Code, - } -} - -func (p *User) AppendEvents(events ...*es_models.Event) error { +func (u *User) AppendEvents(events ...*es_models.Event) error { for _, event := range events { - if err := p.AppendEvent(event); err != nil { + if err := u.AppendEvent(event); err != nil { return err } } + return nil } -func (u *User) AppendEvent(event *es_models.Event) (err error) { +func (u *User) AppendEvent(event *es_models.Event) error { u.ObjectRoot.AppendEvent(event) + switch event.Type { case UserAdded, + HumanAdded, + MachineAdded, UserRegistered, + HumanRegistered, UserProfileChanged, DomainClaimed, UserUserNameChanged: - u.setData(event) + err := u.setData(event) + if err != nil { + return err + } case UserDeactivated: u.appendDeactivatedEvent() case UserReactivated: @@ -145,71 +94,31 @@ func (u *User) AppendEvent(event *es_models.Event) (err error) { u.appendLockedEvent() case UserUnlocked: u.appendUnlockedEvent() - case InitializedUserCodeAdded: - u.appendInitUsercodeCreatedEvent(event) - case UserPasswordChanged: - err = u.appendUserPasswordChangedEvent(event) - case UserPasswordCodeAdded: - err = u.appendPasswordSetRequestedEvent(event) - case UserEmailChanged: - err = u.appendUserEmailChangedEvent(event) - case UserEmailCodeAdded: - err = u.appendUserEmailCodeAddedEvent(event) - case UserEmailVerified: - u.appendUserEmailVerifiedEvent() - case UserPhoneChanged: - err = u.appendUserPhoneChangedEvent(event) - case UserPhoneCodeAdded: - err = u.appendUserPhoneCodeAddedEvent(event) - case UserPhoneVerified: - u.appendUserPhoneVerifiedEvent() - case UserPhoneRemoved: - u.appendUserPhoneRemovedEvent() - case UserAddressChanged: - err = u.appendUserAddressChangedEvent(event) - case MfaOtpAdded: - err = u.appendOtpAddedEvent(event) - case MfaOtpVerified: - u.appendOtpVerifiedEvent() - case MfaOtpRemoved: - u.appendOtpRemovedEvent() } - if err != nil { - return err - } - u.ComputeObject() - return nil -} -func (u *User) ComputeObject() { - if u.State == 0 { - if u.Email != nil && u.IsEmailVerified { - u.State = int32(model.UserStateActive) - } else { - u.State = int32(model.UserStateInitial) - } + if u.Human != nil { + u.Human.User = u + return u.Human.AppendEvent(event) + } else if u.Machine != nil { + u.Machine.User = u + return u.Machine.AppendEvent(event) } - if u.Password != nil && u.Password.ObjectRoot.IsZero() { - u.Password.ObjectRoot = u.ObjectRoot + if strings.HasPrefix(string(event.Type), "user.human") || event.AggregateVersion == "v1" { + u.Human = &Human{User: u} + return u.Human.AppendEvent(event) } - if u.Profile != nil && u.Profile.ObjectRoot.IsZero() { - u.Profile.ObjectRoot = u.ObjectRoot - } - if u.Email != nil && u.Email.ObjectRoot.IsZero() { - u.Email.ObjectRoot = u.ObjectRoot - } - if u.Phone != nil && u.Phone.ObjectRoot.IsZero() { - u.Phone.ObjectRoot = u.ObjectRoot - } - if u.Address != nil && u.Address.ObjectRoot.IsZero() { - u.Address.ObjectRoot = u.ObjectRoot + if strings.HasPrefix(string(event.Type), "user.machine") { + u.Machine = &Machine{User: u} + return u.Machine.AppendEvent(event) } + + return errors.ThrowNotFound(nil, "MODEL-x9TaX", "Errors.UserType.Undefined") } func (u *User) setData(event *es_models.Event) error { if err := json.Unmarshal(event.Data, u); err != nil { - logging.Log("EVEN-8ujgd").WithError(err).Error("could not unmarshal event data") - return caos_errs.ThrowInternal(err, "MODEL-sj4jd", "could not unmarshal event") + logging.Log("EVEN-ZDzQy").WithError(err).Error("could not unmarshal event data") + return caos_errs.ThrowInternal(err, "MODEL-yGmhh", "could not unmarshal event") } return nil } @@ -229,23 +138,3 @@ func (u *User) appendLockedEvent() { func (u *User) appendUnlockedEvent() { u.State = int32(model.UserStateActive) } - -func (u *User) appendInitUsercodeCreatedEvent(event *es_models.Event) error { - initCode := new(InitUserCode) - err := initCode.SetData(event) - if err != nil { - return err - } - initCode.ObjectRoot.CreationDate = event.CreationDate - u.InitCode = initCode - return nil -} - -func (c *InitUserCode) SetData(event *es_models.Event) error { - c.ObjectRoot.AppendEvent(event) - if err := json.Unmarshal(event.Data, c); err != nil { - logging.Log("EVEN-7duwe").WithError(err).Error("could not unmarshal event data") - return caos_errs.ThrowInternal(err, "MODEL-lo34s", "could not unmarshal event") - } - return nil -} diff --git a/internal/user/repository/eventsourcing/model/user_human.go b/internal/user/repository/eventsourcing/model/user_human.go new file mode 100644 index 0000000000..7324356eca --- /dev/null +++ b/internal/user/repository/eventsourcing/model/user_human.go @@ -0,0 +1,231 @@ +package model + +import ( + "encoding/json" + "time" + + "github.com/caos/logging" + "github.com/caos/zitadel/internal/crypto" + caos_errs "github.com/caos/zitadel/internal/errors" + es_models "github.com/caos/zitadel/internal/eventstore/models" + "github.com/caos/zitadel/internal/user/model" +) + +type Human struct { + *User `json:"-"` + + *Password + *Profile + *Email + *Phone + *Address + InitCode *InitUserCode `json:"-"` + EmailCode *EmailCode `json:"-"` + PhoneCode *PhoneCode `json:"-"` + PasswordCode *PasswordCode `json:"-"` + OTP *OTP `json:"-"` +} + +type InitUserCode struct { + es_models.ObjectRoot + Code *crypto.CryptoValue `json:"code,omitempty"` + Expiry time.Duration `json:"expiry,omitempty"` +} + +func HumanFromModel(user *model.Human) *Human { + human := new(Human) + if user.Password != nil { + human.Password = PasswordFromModel(user.Password) + } + if user.Profile != nil { + human.Profile = ProfileFromModel(user.Profile) + } + if user.Email != nil { + human.Email = EmailFromModel(user.Email) + } + if user.Phone != nil { + human.Phone = PhoneFromModel(user.Phone) + } + if user.Address != nil { + human.Address = AddressFromModel(user.Address) + } + if user.OTP != nil { + human.OTP = OTPFromModel(user.OTP) + } + return human +} + +func HumanToModel(user *Human) *model.Human { + human := new(model.Human) + if user.Password != nil { + human.Password = PasswordToModel(user.Password) + } + if user.Profile != nil { + human.Profile = ProfileToModel(user.Profile) + } + if user.Email != nil { + human.Email = EmailToModel(user.Email) + } + if user.Phone != nil { + human.Phone = PhoneToModel(user.Phone) + } + if user.Address != nil { + human.Address = AddressToModel(user.Address) + } + if user.InitCode != nil { + human.InitCode = InitCodeToModel(user.InitCode) + } + if user.EmailCode != nil { + human.EmailCode = EmailCodeToModel(user.EmailCode) + } + if user.PhoneCode != nil { + human.PhoneCode = PhoneCodeToModel(user.PhoneCode) + } + if user.PasswordCode != nil { + human.PasswordCode = PasswordCodeToModel(user.PasswordCode) + } + if user.OTP != nil { + human.OTP = OTPToModel(user.OTP) + } + return human +} + +func InitCodeFromModel(code *model.InitUserCode) *InitUserCode { + if code == nil { + return nil + } + return &InitUserCode{ + ObjectRoot: code.ObjectRoot, + Expiry: code.Expiry, + Code: code.Code, + } +} + +func InitCodeToModel(code *InitUserCode) *model.InitUserCode { + return &model.InitUserCode{ + ObjectRoot: code.ObjectRoot, + Expiry: code.Expiry, + Code: code.Code, + } +} + +func (p *Human) AppendEvents(events ...*es_models.Event) error { + for _, event := range events { + if err := p.AppendEvent(event); err != nil { + return err + } + } + return nil +} + +func (h *Human) AppendEvent(event *es_models.Event) (err error) { + switch event.Type { + case UserAdded, + UserRegistered, + UserProfileChanged, + HumanAdded, + HumanRegistered, + HumanProfileChanged: + h.setData(event) + case InitializedUserCodeAdded, + InitializedHumanCodeAdded: + h.appendInitUsercodeCreatedEvent(event) + case UserPasswordChanged, + HumanPasswordChanged: + err = h.appendUserPasswordChangedEvent(event) + case UserPasswordCodeAdded, + HumanPasswordCodeAdded: + err = h.appendPasswordSetRequestedEvent(event) + case UserEmailChanged, + HumanEmailChanged: + err = h.appendUserEmailChangedEvent(event) + case UserEmailCodeAdded, + HumanEmailCodeAdded: + err = h.appendUserEmailCodeAddedEvent(event) + case UserEmailVerified, + HumanEmailVerified: + h.appendUserEmailVerifiedEvent() + case UserPhoneChanged, + HumanPhoneChanged: + err = h.appendUserPhoneChangedEvent(event) + case UserPhoneCodeAdded, + HumanPhoneCodeAdded: + err = h.appendUserPhoneCodeAddedEvent(event) + case UserPhoneVerified, + HumanPhoneVerified: + h.appendUserPhoneVerifiedEvent() + case UserPhoneRemoved, + HumanPhoneRemoved: + h.appendUserPhoneRemovedEvent() + case UserAddressChanged, + HumanAddressChanged: + err = h.appendUserAddressChangedEvent(event) + case MFAOTPAdded, + HumanMFAOTPAdded: + err = h.appendOTPAddedEvent(event) + case MFAOTPVerified, + HumanMFAOTPVerified: + h.appendOTPVerifiedEvent() + case MFAOTPRemoved, + HumanMFAOTPRemoved: + h.appendOTPRemovedEvent() + } + if err != nil { + return err + } + h.ComputeObject() + return nil +} + +func (h *Human) ComputeObject() { + if h.State == int32(model.UserStateUnspecified) { + if h.Email != nil && h.IsEmailVerified { + h.State = int32(model.UserStateActive) + } else { + h.State = int32(model.UserStateInitial) + } + } + if h.Password != nil && h.Password.ObjectRoot.IsZero() { + h.Password.ObjectRoot = h.User.ObjectRoot + } + if h.Profile != nil && h.Profile.ObjectRoot.IsZero() { + h.Profile.ObjectRoot = h.User.ObjectRoot + } + if h.Email != nil && h.Email.ObjectRoot.IsZero() { + h.Email.ObjectRoot = h.User.ObjectRoot + } + if h.Phone != nil && h.Phone.ObjectRoot.IsZero() { + h.Phone.ObjectRoot = h.User.ObjectRoot + } + if h.Address != nil && h.Address.ObjectRoot.IsZero() { + h.Address.ObjectRoot = h.User.ObjectRoot + } +} + +func (u *Human) setData(event *es_models.Event) error { + if err := json.Unmarshal(event.Data, u); err != nil { + logging.Log("EVEN-8ujgd").WithError(err).Error("could not unmarshal event data") + return caos_errs.ThrowInternal(err, "MODEL-sj4jd", "could not unmarshal event") + } + return nil +} + +func (u *Human) appendInitUsercodeCreatedEvent(event *es_models.Event) error { + initCode := new(InitUserCode) + err := initCode.SetData(event) + if err != nil { + return err + } + initCode.ObjectRoot.CreationDate = event.CreationDate + u.InitCode = initCode + return nil +} + +func (c *InitUserCode) SetData(event *es_models.Event) error { + c.ObjectRoot.AppendEvent(event) + if err := json.Unmarshal(event.Data, c); err != nil { + logging.Log("EVEN-7duwe").WithError(err).Error("could not unmarshal event data") + return caos_errs.ThrowInternal(err, "MODEL-lo34s", "could not unmarshal event") + } + return nil +} diff --git a/internal/user/repository/eventsourcing/model/user_test.go b/internal/user/repository/eventsourcing/model/user_human_test.go similarity index 96% rename from internal/user/repository/eventsourcing/model/user_test.go rename to internal/user/repository/eventsourcing/model/user_human_test.go index 1b14d194ed..fe090d57bb 100644 --- a/internal/user/repository/eventsourcing/model/user_test.go +++ b/internal/user/repository/eventsourcing/model/user_human_test.go @@ -2,10 +2,11 @@ package model import ( "encoding/json" - es_models "github.com/caos/zitadel/internal/eventstore/models" - "github.com/caos/zitadel/internal/user/model" "testing" "time" + + es_models "github.com/caos/zitadel/internal/eventstore/models" + "github.com/caos/zitadel/internal/user/model" ) func TestAppendDeactivatedEvent(t *testing.T) { @@ -118,23 +119,23 @@ func TestAppendUnlockEvent(t *testing.T) { func TestAppendInitUserCodeEvent(t *testing.T) { type args struct { - user *User + user *Human code *InitUserCode event *es_models.Event } tests := []struct { name string args args - result *User + result *Human }{ { name: "append init user code event", args: args{ - user: &User{}, + user: &Human{}, code: &InitUserCode{Expiry: time.Hour * 30}, event: &es_models.Event{}, }, - result: &User{InitCode: &InitUserCode{Expiry: time.Hour * 30}}, + result: &Human{InitCode: &InitUserCode{Expiry: time.Hour * 30}}, }, } for _, tt := range tests { diff --git a/internal/user/repository/eventsourcing/model/user_machine.go b/internal/user/repository/eventsourcing/model/user_machine.go new file mode 100644 index 0000000000..1f6e0cc347 --- /dev/null +++ b/internal/user/repository/eventsourcing/model/user_machine.go @@ -0,0 +1,134 @@ +package model + +import ( + "encoding/json" + "time" + + "github.com/caos/logging" + "github.com/caos/zitadel/internal/crypto" + "github.com/caos/zitadel/internal/errors" + "github.com/caos/zitadel/internal/eventstore/models" + es_models "github.com/caos/zitadel/internal/eventstore/models" + "github.com/caos/zitadel/internal/user/model" +) + +type Machine struct { + *User `json:"-"` + + Name string `json:"name,omitempty"` + Description string `json:"description,omitempty"` +} + +func (sa *Machine) AppendEvents(events ...*models.Event) error { + for _, event := range events { + if err := sa.AppendEvent(event); err != nil { + return err + } + } + return nil +} + +func (sa *Machine) AppendEvent(event *models.Event) (err error) { + switch event.Type { + case MachineAdded, MachineChanged: + err = sa.setData(event) + case MachineKeyAdded: + fallthrough + case MachineKeyRemoved: + logging.Log("MODEL-iBgOc").Warn("key unimplemented") + } + + return err +} + +func (sa *Machine) setData(event *models.Event) error { + if err := json.Unmarshal(event.Data, sa); err != nil { + logging.Log("EVEN-8ujgd").WithError(err).Error("could not unmarshal event data") + return errors.ThrowInternal(err, "MODEL-GwjY9", "could not unmarshal event") + } + return nil +} + +func (sa *Machine) Changes(updatedAccount *Machine) map[string]interface{} { + changes := make(map[string]interface{}) + if updatedAccount.Description != "" && updatedAccount.Description != sa.Description { + changes["description"] = updatedAccount.Description + } + return changes +} + +func MachineFromModel(machine *model.Machine) *Machine { + return &Machine{ + Description: machine.Description, + Name: machine.Name, + } +} + +func MachineToModel(machine *Machine) *model.Machine { + return &model.Machine{ + Description: machine.Description, + Name: machine.Name, + } +} + +type MachineKey struct { + es_models.ObjectRoot `json:"-"` + KeyID string `json:"keyId,omitempty"` + Type int32 `json:"type,omitempty"` + ExpirationDate time.Time `json:"expirationDate,omitempty"` + PublicKey *crypto.CryptoValue `json:"publicKey,omitempty"` + privateKey []byte +} + +func (key *MachineKey) AppendEvents(events ...*es_models.Event) error { + for _, event := range events { + err := key.AppendEvent(event) + if err != nil { + return err + } + } + return nil +} + +func (key *MachineKey) AppendEvent(event *es_models.Event) error { + switch event.Type { + case MachineKeyAdded: + } + return nil +} + +func MachineKeyFromModel(machine *model.MachineKey) *MachineKey { + return &MachineKey{ + ObjectRoot: machine.ObjectRoot, + ExpirationDate: machine.ExpirationDate, + KeyID: machine.KeyID, + Type: int32(machine.Type), + } +} + +func MachineKeyToModel(machine *MachineKey) *model.MachineKey { + return &model.MachineKey{ + ObjectRoot: machine.ObjectRoot, + ExpirationDate: machine.ExpirationDate, + KeyID: machine.KeyID, + PrivateKey: machine.privateKey, + Type: model.MachineKeyType(machine.Type), + } +} + +func (key *MachineKey) GenerateMachineKeyPair(keySize int, alg crypto.EncryptionAlgorithm) error { + privateKey, publicKey, err := crypto.GenerateKeyPair(keySize) + if err != nil { + return err + } + publicKeyBytes, err := crypto.PublicKeyToBytes(publicKey) + if err != nil { + return err + } + key.PublicKey, err = crypto.Encrypt(publicKeyBytes, alg) + if err != nil { + return err + } + key.privateKey = crypto.PrivateKeyToBytes(privateKey) + return nil +} diff --git a/internal/user/repository/eventsourcing/user.go b/internal/user/repository/eventsourcing/user.go index 2b873d7761..9be02b496f 100644 --- a/internal/user/repository/eventsourcing/user.go +++ b/internal/user/repository/eventsourcing/user.go @@ -48,8 +48,8 @@ func UserAggregateOverwriteContext(ctx context.Context, aggCreator *es_models.Ag return aggCreator.NewAggregate(ctx, user.AggregateID, model.UserAggregate, model.UserVersion, user.Sequence, es_models.OverwriteResourceOwner(resourceOwnerID), es_models.OverwriteEditorUser(userID)) } -func UserCreateAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, user *model.User, initCode *model.InitUserCode, phoneCode *model.PhoneCode, resourceOwner string, userLoginMustBeDomain bool) (_ []*es_models.Aggregate, err error) { - if user == nil { +func MachineCreateAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, user *model.User, resourceOwner string, userLoginMustBeDomain bool) (_ []*es_models.Aggregate, err error) { + if user == nil || user.Machine == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-duxk2", "Errors.Internal") } @@ -71,7 +71,45 @@ func UserCreateAggregate(ctx context.Context, aggCreator *es_models.AggregateCre agg.SetPrecondition(validationQuery, validation) } - agg, err = agg.AppendEvent(model.UserAdded, user) + agg, err = agg.AppendEvent(model.MachineAdded, user) + if err != nil { + return nil, err + } + + userNameAggregate, err := reservedUniqueUserNameAggregate(ctx, aggCreator, resourceOwner, user.UserName, userLoginMustBeDomain) + if err != nil { + return nil, err + } + return []*es_models.Aggregate{ + agg, + userNameAggregate, + }, nil +} + +func HumanCreateAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, user *model.User, initCode *model.InitUserCode, phoneCode *model.PhoneCode, resourceOwner string, userLoginMustBeDomain bool) (_ []*es_models.Aggregate, err error) { + if user == nil || user.Human == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-duxk2", "Errors.Internal") + } + + var agg *es_models.Aggregate + if resourceOwner != "" { + agg, err = UserAggregateOverwriteContext(ctx, aggCreator, user, resourceOwner, user.AggregateID) + } else { + agg, err = UserAggregate(ctx, aggCreator, user) + } + if err != nil { + return nil, err + } + if !userLoginMustBeDomain { + validationQuery := es_models.NewSearchQuery(). + AggregateTypeFilter(org_es_model.OrgAggregate). + AggregateIDsFilter() + + validation := addUserNameValidation(user.UserName) + agg.SetPrecondition(validationQuery, validation) + } + + agg, err = agg.AppendEvent(model.HumanAdded, user) if err != nil { return nil, err } @@ -99,7 +137,8 @@ func UserCreateAggregate(ctx context.Context, aggCreator *es_models.AggregateCre return nil, err } } - uniqueAggregates, err := getUniqueUserAggregates(ctx, aggCreator, user, resourceOwner, userLoginMustBeDomain) + + uniqueAggregates, err := getUniqueUserAggregates(ctx, aggCreator, user.UserName, user.EmailAddress, resourceOwner, userLoginMustBeDomain) if err != nil { return nil, err } @@ -108,7 +147,11 @@ func UserCreateAggregate(ctx context.Context, aggCreator *es_models.AggregateCre func UserRegisterAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, user *model.User, resourceOwner string, initCode *model.InitUserCode, userLoginMustBeDomain bool) ([]*es_models.Aggregate, error) { if user == nil || resourceOwner == "" || initCode == nil { - return nil, errors.ThrowPreconditionFailed(nil, "EVENT-duxk2", "user, resourceowner, initcode should not be nothing") + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-duxk2", "user, resourceowner, initcode must be set") + } + + if user.Human == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-ekuEA", "user must be type human") } agg, err := UserAggregateOverwriteContext(ctx, aggCreator, user, resourceOwner, user.AggregateID) @@ -124,23 +167,23 @@ func UserRegisterAggregate(ctx context.Context, aggCreator *es_models.AggregateC validation := addUserNameValidation(user.UserName) agg.SetPrecondition(validationQuery, validation) } - agg, err = agg.AppendEvent(model.UserRegistered, user) + agg, err = agg.AppendEvent(model.HumanRegistered, user) if err != nil { return nil, err } - agg, err = agg.AppendEvent(model.InitializedUserCodeAdded, initCode) + agg, err = agg.AppendEvent(model.InitializedHumanCodeAdded, initCode) if err != nil { return nil, err } - uniqueAggregates, err := getUniqueUserAggregates(ctx, aggCreator, user, resourceOwner, userLoginMustBeDomain) + uniqueAggregates, err := getUniqueUserAggregates(ctx, aggCreator, user.UserName, user.EmailAddress, resourceOwner, userLoginMustBeDomain) if err != nil { return nil, err } return append(uniqueAggregates, agg), nil } -func getUniqueUserAggregates(ctx context.Context, aggCreator *es_models.AggregateCreator, user *model.User, resourceOwner string, userLoginMustBeDomain bool) ([]*es_models.Aggregate, error) { - userNameAggregate, err := reservedUniqueUserNameAggregate(ctx, aggCreator, resourceOwner, user.UserName, userLoginMustBeDomain) +func getUniqueUserAggregates(ctx context.Context, aggCreator *es_models.AggregateCreator, userName, emailAddress, resourceOwner string, userLoginMustBeDomain bool) ([]*es_models.Aggregate, error) { + userNameAggregate, err := reservedUniqueUserNameAggregate(ctx, aggCreator, resourceOwner, userName, userLoginMustBeDomain) if err != nil { return nil, err } @@ -149,11 +192,13 @@ func getUniqueUserAggregates(ctx context.Context, aggCreator *es_models.Aggregat userNameAggregate, }, nil } + func reservedUniqueUserNameAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, resourceOwner, userName string, userLoginMustBeDomain bool) (*es_models.Aggregate, error) { uniqueUserName := userName if userLoginMustBeDomain { uniqueUserName = userName + resourceOwner } + aggregate, err := aggCreator.NewAggregate(ctx, uniqueUserName, model.UserUserNameAggregate, model.UserVersion, 0) if resourceOwner != "" { aggregate, err = aggCreator.NewAggregate(ctx, uniqueUserName, model.UserUserNameAggregate, model.UserVersion, 0, es_models.OverwriteResourceOwner(resourceOwner)) @@ -225,173 +270,190 @@ func userStateAggregate(aggCreator *es_models.AggregateCreator, user *model.User } } -func UserInitCodeAggregate(aggCreator *es_models.AggregateCreator, existing *model.User, code *model.InitUserCode) func(ctx context.Context) (*es_models.Aggregate, error) { +func UserInitCodeAggregate(aggCreator *es_models.AggregateCreator, user *model.User, code *model.InitUserCode) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if code == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-d8i23", "code should not be nil") } - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.InitializedUserCodeAdded, code) + return agg.AppendEvent(model.InitializedHumanCodeAdded, code) } } -func UserInitCodeSentAggregate(aggCreator *es_models.AggregateCreator, existing *model.User) func(ctx context.Context) (*es_models.Aggregate, error) { +func UserInitCodeSentAggregate(aggCreator *es_models.AggregateCreator, user *model.User) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.InitializedUserCodeSent, nil) + return agg.AppendEvent(model.InitializedHumanCodeSent, nil) } } -func InitCodeVerifiedAggregate(aggCreator *es_models.AggregateCreator, existing *model.User, password *model.Password) func(ctx context.Context) (*es_models.Aggregate, error) { +func InitCodeVerifiedAggregate(aggCreator *es_models.AggregateCreator, user *model.User, password *model.Password) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - if existing.Email != nil && !existing.Email.IsEmailVerified { - agg, err = agg.AppendEvent(model.UserEmailVerified, nil) + if user.Email != nil && !user.Email.IsEmailVerified { + agg, err = agg.AppendEvent(model.HumanEmailVerified, nil) if err != nil { return nil, err } } if password != nil && password.Secret != nil { - agg, err = agg.AppendEvent(model.UserPasswordChanged, password) + agg, err = agg.AppendEvent(model.HumanPasswordChanged, password) if err != nil { return nil, err } } - return agg.AppendEvent(model.InitializedUserCheckSucceeded, nil) + return agg.AppendEvent(model.InitializedHumanCheckSucceeded, nil) } } -func InitCodeCheckFailedAggregate(aggCreator *es_models.AggregateCreator, existing *model.User) func(ctx context.Context) (*es_models.Aggregate, error) { +func InitCodeCheckFailedAggregate(aggCreator *es_models.AggregateCreator, user *model.User) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.InitializedUserCheckFailed, nil) + return agg.AppendEvent(model.InitializedHumanCheckFailed, nil) } } -func SkipMfaAggregate(aggCreator *es_models.AggregateCreator, existing *model.User) func(ctx context.Context) (*es_models.Aggregate, error) { +func SkipMfaAggregate(aggCreator *es_models.AggregateCreator, user *model.User) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.MfaInitSkipped, nil) + return agg.AppendEvent(model.HumanMfaInitSkipped, nil) } } -func PasswordChangeAggregate(aggCreator *es_models.AggregateCreator, existing *model.User, password *model.Password) func(ctx context.Context) (*es_models.Aggregate, error) { +func PasswordChangeAggregate(aggCreator *es_models.AggregateCreator, user *model.User, password *model.Password) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if password == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-d9832", "Errors.Internal") } - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.UserPasswordChanged, password) + return agg.AppendEvent(model.HumanPasswordChanged, password) } } -func PasswordCheckSucceededAggregate(aggCreator *es_models.AggregateCreator, existing *model.User, check *model.AuthRequest) es_sdk.AggregateFunc { +func PasswordCheckSucceededAggregate(aggCreator *es_models.AggregateCreator, user *model.User, check *model.AuthRequest) es_sdk.AggregateFunc { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.UserPasswordCheckSucceeded, check) + return agg.AppendEvent(model.HumanPasswordCheckSucceeded, check) } } -func PasswordCheckFailedAggregate(aggCreator *es_models.AggregateCreator, existing *model.User, check *model.AuthRequest) es_sdk.AggregateFunc { +func PasswordCheckFailedAggregate(aggCreator *es_models.AggregateCreator, user *model.User, check *model.AuthRequest) es_sdk.AggregateFunc { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.UserPasswordCheckFailed, check) + return agg.AppendEvent(model.HumanPasswordCheckFailed, check) } } -func RequestSetPassword(aggCreator *es_models.AggregateCreator, existing *model.User, request *model.PasswordCode) func(ctx context.Context) (*es_models.Aggregate, error) { +func RequestSetPassword(aggCreator *es_models.AggregateCreator, user *model.User, request *model.PasswordCode) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if request == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-d8ei2", "Errors.Internal") } - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.UserPasswordCodeAdded, request) + return agg.AppendEvent(model.HumanPasswordCodeAdded, request) } } -func PasswordCodeSentAggregate(aggCreator *es_models.AggregateCreator, existing *model.User) func(ctx context.Context) (*es_models.Aggregate, error) { +func PasswordCodeSentAggregate(aggCreator *es_models.AggregateCreator, user *model.User) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.UserPasswordCodeSent, nil) + return agg.AppendEvent(model.HumanPasswordCodeSent, nil) } } -func ProfileChangeAggregate(aggCreator *es_models.AggregateCreator, existing *model.User, profile *model.Profile) func(ctx context.Context) (*es_models.Aggregate, error) { +func MachineChangeAggregate(aggCreator *es_models.AggregateCreator, user *model.User, machine *model.Machine) func(ctx context.Context) (*es_models.Aggregate, error) { + return func(ctx context.Context) (*es_models.Aggregate, error) { + if machine == nil { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-dhr74", "Errors.Internal") + } + agg, err := UserAggregate(ctx, aggCreator, user) + if err != nil { + return nil, err + } + changes := user.Machine.Changes(machine) + if len(changes) == 0 { + return nil, errors.ThrowPreconditionFailed(nil, "EVENT-0spow", "Errors.NoChangesFound") + } + return agg.AppendEvent(model.MachineChanged, changes) + } +} + +func ProfileChangeAggregate(aggCreator *es_models.AggregateCreator, user *model.User, profile *model.Profile) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if profile == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-dhr74", "Errors.Internal") } - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - changes := existing.Profile.Changes(profile) + changes := user.Profile.Changes(profile) if len(changes) == 0 { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-0spow", "Errors.NoChangesFound") } - return agg.AppendEvent(model.UserProfileChanged, changes) + return agg.AppendEvent(model.HumanProfileChanged, changes) } } -func EmailChangeAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, existing *model.User, email *model.Email, code *model.EmailCode) (*es_models.Aggregate, error) { +func EmailChangeAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, user *model.User, email *model.Email, code *model.EmailCode) (*es_models.Aggregate, error) { if email == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-dki8s", "Errors.Internal") } if (!email.IsEmailVerified && code == nil) || (email.IsEmailVerified && code != nil) { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-id934", "Errors.Internal") } - changes := existing.Email.Changes(email) + changes := user.Email.Changes(email) if len(changes) == 0 { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-s90pw", "Errors.NoChangesFound") } - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - agg, err = agg.AppendEvent(model.UserEmailChanged, changes) + agg, err = agg.AppendEvent(model.HumanEmailChanged, changes) if err != nil { return nil, err } - if existing.Email == nil { - existing.Email = new(model.Email) + if user.Email == nil { + user.Email = new(model.Email) } if email.IsEmailVerified { - agg, err = agg.AppendEvent(model.UserEmailVerified, code) + agg, err = agg.AppendEvent(model.HumanEmailVerified, code) if err != nil { return nil, err } } if code != nil { - agg, err = agg.AppendEvent(model.UserEmailCodeAdded, code) + agg, err = agg.AppendEvent(model.HumanEmailCodeAdded, code) if err != nil { return nil, err } @@ -399,50 +461,50 @@ func EmailChangeAggregate(ctx context.Context, aggCreator *es_models.AggregateCr return agg, nil } -func EmailVerifiedAggregate(aggCreator *es_models.AggregateCreator, existing *model.User) es_sdk.AggregateFunc { +func EmailVerifiedAggregate(aggCreator *es_models.AggregateCreator, user *model.User) es_sdk.AggregateFunc { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.UserEmailVerified, nil) + return agg.AppendEvent(model.HumanEmailVerified, nil) } } -func EmailVerificationFailedAggregate(aggCreator *es_models.AggregateCreator, existing *model.User) es_sdk.AggregateFunc { +func EmailVerificationFailedAggregate(aggCreator *es_models.AggregateCreator, user *model.User) es_sdk.AggregateFunc { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.UserEmailVerificationFailed, nil) + return agg.AppendEvent(model.HumanEmailVerificationFailed, nil) } } -func EmailVerificationCodeAggregate(aggCreator *es_models.AggregateCreator, existing *model.User, code *model.EmailCode) func(ctx context.Context) (*es_models.Aggregate, error) { +func EmailVerificationCodeAggregate(aggCreator *es_models.AggregateCreator, user *model.User, code *model.EmailCode) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if code == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-dki8s", "Errors.Internal") } - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.UserEmailCodeAdded, code) + return agg.AppendEvent(model.HumanEmailCodeAdded, code) } } -func EmailCodeSentAggregate(aggCreator *es_models.AggregateCreator, existing *model.User) func(ctx context.Context) (*es_models.Aggregate, error) { +func EmailCodeSentAggregate(aggCreator *es_models.AggregateCreator, user *model.User) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.UserEmailCodeSent, nil) + return agg.AppendEvent(model.HumanEmailCodeSent, nil) } } -func PhoneChangeAggregate(aggCreator *es_models.AggregateCreator, existing *model.User, phone *model.Phone, code *model.PhoneCode) func(ctx context.Context) (*es_models.Aggregate, error) { +func PhoneChangeAggregate(aggCreator *es_models.AggregateCreator, user *model.User, phone *model.Phone, code *model.PhoneCode) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if phone == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-dkso3", "Errors.Internal") @@ -450,184 +512,184 @@ func PhoneChangeAggregate(aggCreator *es_models.AggregateCreator, existing *mode if (!phone.IsPhoneVerified && code == nil) || (phone.IsPhoneVerified && code != nil) { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-dksi8", "Errors.Internal") } - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - if existing.Phone == nil { - existing.Phone = new(model.Phone) + if user.Phone == nil { + user.Phone = new(model.Phone) } - changes := existing.Phone.Changes(phone) + changes := user.Phone.Changes(phone) if len(changes) == 0 { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-sp0oc", "Errors.NoChangesFound") } - agg, err = agg.AppendEvent(model.UserPhoneChanged, changes) + agg, err = agg.AppendEvent(model.HumanPhoneChanged, changes) if err != nil { return nil, err } if phone.IsPhoneVerified { - return agg.AppendEvent(model.UserPhoneVerified, code) + return agg.AppendEvent(model.HumanPhoneVerified, code) } if code != nil { - return agg.AppendEvent(model.UserPhoneCodeAdded, code) + return agg.AppendEvent(model.HumanPhoneCodeAdded, code) } return agg, nil } } -func PhoneRemovedAggregate(aggCreator *es_models.AggregateCreator, existing *model.User) es_sdk.AggregateFunc { +func PhoneRemovedAggregate(aggCreator *es_models.AggregateCreator, user *model.User) es_sdk.AggregateFunc { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.UserPhoneRemoved, nil) + return agg.AppendEvent(model.HumanPhoneRemoved, nil) } } -func PhoneVerifiedAggregate(aggCreator *es_models.AggregateCreator, existing *model.User) es_sdk.AggregateFunc { +func PhoneVerifiedAggregate(aggCreator *es_models.AggregateCreator, user *model.User) es_sdk.AggregateFunc { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.UserPhoneVerified, nil) + return agg.AppendEvent(model.HumanPhoneVerified, nil) } } -func PhoneVerificationFailedAggregate(aggCreator *es_models.AggregateCreator, existing *model.User) es_sdk.AggregateFunc { +func PhoneVerificationFailedAggregate(aggCreator *es_models.AggregateCreator, user *model.User) es_sdk.AggregateFunc { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.UserPhoneVerificationFailed, nil) + return agg.AppendEvent(model.HumanPhoneVerificationFailed, nil) } } -func PhoneVerificationCodeAggregate(aggCreator *es_models.AggregateCreator, existing *model.User, code *model.PhoneCode) func(ctx context.Context) (*es_models.Aggregate, error) { +func PhoneVerificationCodeAggregate(aggCreator *es_models.AggregateCreator, user *model.User, code *model.PhoneCode) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if code == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-dsue2", "Errors.Internal") } - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.UserPhoneCodeAdded, code) + return agg.AppendEvent(model.HumanPhoneCodeAdded, code) } } -func PhoneCodeSentAggregate(aggCreator *es_models.AggregateCreator, existing *model.User) func(ctx context.Context) (*es_models.Aggregate, error) { +func PhoneCodeSentAggregate(aggCreator *es_models.AggregateCreator, user *model.User) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.UserPhoneCodeSent, nil) + return agg.AppendEvent(model.HumanPhoneCodeSent, nil) } } -func AddressChangeAggregate(aggCreator *es_models.AggregateCreator, existing *model.User, address *model.Address) func(ctx context.Context) (*es_models.Aggregate, error) { +func AddressChangeAggregate(aggCreator *es_models.AggregateCreator, user *model.User, address *model.Address) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if address == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-dkx9s", "Errors.Internal") } - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - if existing.Address == nil { - existing.Address = new(model.Address) + if user.Address == nil { + user.Address = new(model.Address) } - changes := existing.Address.Changes(address) + changes := user.Address.Changes(address) if len(changes) == 0 { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-2tszw", "Errors.NoChangesFound") } - return agg.AppendEvent(model.UserAddressChanged, changes) + return agg.AppendEvent(model.HumanAddressChanged, changes) } } -func MfaOTPAddAggregate(aggCreator *es_models.AggregateCreator, existing *model.User, otp *model.OTP) func(ctx context.Context) (*es_models.Aggregate, error) { +func MFAOTPAddAggregate(aggCreator *es_models.AggregateCreator, user *model.User, otp *model.OTP) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if otp == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-dkx9s", "Errors.Internal") } - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.MfaOtpAdded, otp) + return agg.AppendEvent(model.HumanMFAOTPAdded, otp) } } -func MfaOTPVerifyAggregate(aggCreator *es_models.AggregateCreator, existing *model.User) func(ctx context.Context) (*es_models.Aggregate, error) { +func MFAOTPVerifyAggregate(aggCreator *es_models.AggregateCreator, user *model.User) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.MfaOtpVerified, nil) + return agg.AppendEvent(model.HumanMFAOTPVerified, nil) } } -func MfaOTPCheckSucceededAggregate(aggCreator *es_models.AggregateCreator, existing *model.User, authReq *model.AuthRequest) es_sdk.AggregateFunc { +func MFAOTPCheckSucceededAggregate(aggCreator *es_models.AggregateCreator, user *model.User, authReq *model.AuthRequest) es_sdk.AggregateFunc { return func(ctx context.Context) (*es_models.Aggregate, error) { if authReq == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-sd5DA", "Errors.Internal") } - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.MfaOtpCheckSucceeded, authReq) + return agg.AppendEvent(model.HumanMfaOtpCheckSucceeded, authReq) } } -func MfaOTPCheckFailedAggregate(aggCreator *es_models.AggregateCreator, existing *model.User, authReq *model.AuthRequest) es_sdk.AggregateFunc { +func MFAOTPCheckFailedAggregate(aggCreator *es_models.AggregateCreator, user *model.User, authReq *model.AuthRequest) es_sdk.AggregateFunc { return func(ctx context.Context) (*es_models.Aggregate, error) { if authReq == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-64sd6", "Errors.Internal") } - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.MfaOtpCheckFailed, authReq) + return agg.AppendEvent(model.HumanMfaOtpCheckFailed, authReq) } } -func MfaOTPRemoveAggregate(aggCreator *es_models.AggregateCreator, existing *model.User) func(ctx context.Context) (*es_models.Aggregate, error) { +func MFAOTPRemoveAggregate(aggCreator *es_models.AggregateCreator, user *model.User) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregate(ctx, aggCreator, user) if err != nil { return nil, err } - return agg.AppendEvent(model.MfaOtpRemoved, nil) + return agg.AppendEvent(model.HumanMFAOTPRemoved, nil) } } -func SignOutAggregates(aggCreator *es_models.AggregateCreator, existingUsers []*model.User, agentID string) func(ctx context.Context) ([]*es_models.Aggregate, error) { +func SignOutAggregates(aggCreator *es_models.AggregateCreator, users []*model.User, agentID string) func(ctx context.Context) ([]*es_models.Aggregate, error) { return func(ctx context.Context) ([]*es_models.Aggregate, error) { - aggregates := make([]*es_models.Aggregate, len(existingUsers)) - for i, existing := range existingUsers { - agg, err := UserAggregateOverwriteContext(ctx, aggCreator, existing, existing.ResourceOwner, existing.AggregateID) + aggregates := make([]*es_models.Aggregate, len(users)) + for i, user := range users { + agg, err := UserAggregateOverwriteContext(ctx, aggCreator, user, user.ResourceOwner, user.AggregateID) if err != nil { return nil, err } - agg.AppendEvent(model.SignedOut, map[string]interface{}{"userAgentID": agentID}) + agg.AppendEvent(model.HumanSignedOut, map[string]interface{}{"userAgentID": agentID}) aggregates[i] = agg } return aggregates, nil } } -func DomainClaimedAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, existingUser *model.User, tempName string) ([]*es_models.Aggregate, error) { - aggregates, err := changeUniqueUserNameAggregate(ctx, aggCreator, existingUser.ResourceOwner, existingUser.UserName, tempName, false) +func DomainClaimedAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, user *model.User, tempName string) ([]*es_models.Aggregate, error) { + aggregates, err := changeUniqueUserNameAggregate(ctx, aggCreator, user.ResourceOwner, user.UserName, tempName, false) if err != nil { return nil, err } - userAggregate, err := UserAggregateOverwriteContext(ctx, aggCreator, existingUser, existingUser.ResourceOwner, existingUser.AggregateID) + userAggregate, err := UserAggregateOverwriteContext(ctx, aggCreator, user, user.ResourceOwner, user.AggregateID) if err != nil { return nil, err } diff --git a/internal/user/repository/eventsourcing/user_test.go b/internal/user/repository/eventsourcing/user_test.go index e4cf5beebf..20e9b7be75 100644 --- a/internal/user/repository/eventsourcing/user_test.go +++ b/internal/user/repository/eventsourcing/user_test.go @@ -126,15 +126,19 @@ func TestUserCreateAggregate(t *testing.T) { name: "user create aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - new: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, - Email: &model.Email{EmailAddress: "EmailAddress"}, + new: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + Email: &model.Email{EmailAddress: "EmailAddress"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventTypes: []models.EventType{model.UserAdded}, + eventTypes: []models.EventType{model.HumanAdded}, checkData: []bool{true}, aggregatesLen: 2, }, @@ -155,16 +159,20 @@ func TestUserCreateAggregate(t *testing.T) { name: "create with init code", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - new: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, - Email: &model.Email{EmailAddress: "EmailAddress"}, + new: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + Email: &model.Email{EmailAddress: "EmailAddress"}, + }, }, initCode: &model.InitUserCode{}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 2, - eventTypes: []models.EventType{model.UserAdded, model.InitializedUserCodeAdded}, + eventTypes: []models.EventType{model.HumanAdded, model.InitializedUserCodeAdded}, checkData: []bool{true, true}, aggregatesLen: 2, }, @@ -173,16 +181,20 @@ func TestUserCreateAggregate(t *testing.T) { name: "create with phone code", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - new: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, - Email: &model.Email{EmailAddress: "EmailAddress"}, + new: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + Email: &model.Email{EmailAddress: "EmailAddress"}, + }, }, phoneCode: &model.PhoneCode{}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 2, - eventTypes: []models.EventType{model.UserAdded, model.UserPhoneCodeAdded}, + eventTypes: []models.EventType{model.HumanAdded, model.UserPhoneCodeAdded}, checkData: []bool{true, true}, aggregatesLen: 2, }, @@ -191,15 +203,19 @@ func TestUserCreateAggregate(t *testing.T) { name: "create with email verified", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - new: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, - Email: &model.Email{EmailAddress: "EmailAddress", IsEmailVerified: true}, + new: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + Email: &model.Email{EmailAddress: "EmailAddress", IsEmailVerified: true}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 2, - eventTypes: []models.EventType{model.UserAdded, model.UserEmailVerified}, + eventTypes: []models.EventType{model.HumanAdded, model.UserEmailVerified}, checkData: []bool{true, false}, aggregatesLen: 2, }, @@ -208,16 +224,20 @@ func TestUserCreateAggregate(t *testing.T) { name: "create with phone verified", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - new: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, - Email: &model.Email{EmailAddress: "EmailAddress"}, - Phone: &model.Phone{PhoneNumber: "PhoneNumber", IsPhoneVerified: true}, + new: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + Email: &model.Email{EmailAddress: "EmailAddress"}, + Phone: &model.Phone{PhoneNumber: "PhoneNumber", IsPhoneVerified: true}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 2, - eventTypes: []models.EventType{model.UserAdded, model.UserPhoneVerified}, + eventTypes: []models.EventType{model.HumanAdded, model.UserPhoneVerified}, checkData: []bool{true, false}, aggregatesLen: 2, }, @@ -225,7 +245,7 @@ func TestUserCreateAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - aggregates, err := UserCreateAggregate(tt.args.ctx, tt.args.aggCreator, tt.args.new, tt.args.initCode, tt.args.phoneCode, "", true) + aggregates, err := HumanCreateAggregate(tt.args.ctx, tt.args.aggCreator, tt.args.new, tt.args.initCode, tt.args.phoneCode, "", true) if !tt.res.wantErr && len(aggregates) != tt.res.aggregatesLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.aggregatesLen, len(aggregates)) @@ -274,9 +294,13 @@ func TestUserRegisterAggregate(t *testing.T) { name: "user register aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - new: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, - Email: &model.Email{EmailAddress: "EmailAddress"}, + new: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + Email: &model.Email{EmailAddress: "EmailAddress"}, + }, }, initCode: &model.InitUserCode{}, resourceOwner: "newResourceowner", @@ -284,7 +308,7 @@ func TestUserRegisterAggregate(t *testing.T) { }, res: res{ eventLen: 2, - eventTypes: []models.EventType{model.UserRegistered, model.InitializedUserCodeAdded}, + eventTypes: []models.EventType{model.HumanRegistered, model.InitializedHumanCodeAdded}, }, }, { @@ -305,9 +329,13 @@ func TestUserRegisterAggregate(t *testing.T) { args: args{ ctx: authz.NewMockContext("orgID", "userID"), resourceOwner: "newResourceowner", - new: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, - Email: &model.Email{EmailAddress: "EmailAddress"}, + new: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + Email: &model.Email{EmailAddress: "EmailAddress"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, @@ -319,9 +347,13 @@ func TestUserRegisterAggregate(t *testing.T) { name: "create with init code", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - new: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, - Email: &model.Email{EmailAddress: "EmailAddress"}, + new: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + Email: &model.Email{EmailAddress: "EmailAddress"}, + }, }, resourceOwner: "newResourceowner", initCode: &model.InitUserCode{}, @@ -329,16 +361,20 @@ func TestUserRegisterAggregate(t *testing.T) { }, res: res{ eventLen: 2, - eventTypes: []models.EventType{model.UserRegistered, model.InitializedUserCodeAdded}, + eventTypes: []models.EventType{model.HumanRegistered, model.InitializedHumanCodeAdded}, }, }, { name: "create no resourceowner", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - new: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, - Email: &model.Email{EmailAddress: "EmailAddress"}, + new: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + Email: &model.Email{EmailAddress: "EmailAddress"}, + }, }, initCode: &model.InitUserCode{}, aggCreator: models.NewAggregateCreator("Test"), @@ -390,8 +426,12 @@ func TestUserDeactivateAggregate(t *testing.T) { name: "user deactivate aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - new: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, + new: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, @@ -449,8 +489,12 @@ func TestUserReactivateAggregate(t *testing.T) { name: "user reactivate aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - new: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, + new: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, @@ -508,8 +552,12 @@ func TestUserLockedAggregate(t *testing.T) { name: "user locked aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - new: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, + new: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, @@ -567,8 +615,12 @@ func TestUserUnlockedAggregate(t *testing.T) { name: "user unlocked aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - new: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, + new: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, @@ -608,9 +660,9 @@ func TestUserUnlockedAggregate(t *testing.T) { func TestUserInitCodeAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.User - code *model.InitUserCode + ctx context.Context + user *model.User + code *model.InitUserCode aggCreator *models.AggregateCreator } @@ -628,23 +680,31 @@ func TestUserInitCodeAggregate(t *testing.T) { name: "user unlocked aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, + user: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + }, }, code: &model.InitUserCode{Expiry: time.Hour * 1}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventType: model.InitializedUserCodeAdded, + eventType: model.InitializedHumanCodeAdded, }, }, { name: "code nil", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, + user: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, @@ -655,7 +715,7 @@ func TestUserInitCodeAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := UserInitCodeAggregate(tt.args.aggCreator, tt.args.existing, tt.args.code)(tt.args.ctx) + agg, err := UserInitCodeAggregate(tt.args.aggCreator, tt.args.user, tt.args.code)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -673,7 +733,7 @@ func TestUserInitCodeAggregate(t *testing.T) { func TestInitCodeSentAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User aggCreator *models.AggregateCreator } type res struct { @@ -690,18 +750,18 @@ func TestInitCodeSentAggregate(t *testing.T) { name: "user init code sent aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventTypes: []models.EventType{model.InitializedUserCodeSent}, + eventTypes: []models.EventType{model.InitializedHumanCodeSent}, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := UserInitCodeSentAggregate(tt.args.aggCreator, tt.args.existing)(tt.args.ctx) + agg, err := UserInitCodeSentAggregate(tt.args.aggCreator, tt.args.user)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -721,7 +781,7 @@ func TestInitCodeSentAggregate(t *testing.T) { func TestInitCodeVerifiedAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User password *model.Password aggCreator *models.AggregateCreator } @@ -739,52 +799,64 @@ func TestInitCodeVerifiedAggregate(t *testing.T) { name: "user init code only email verify", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, - Email: &model.Email{EmailAddress: "EmailAddress"}, + user: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + Email: &model.Email{EmailAddress: "EmailAddress"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 2, - eventTypes: []models.EventType{model.UserEmailVerified, model.InitializedUserCheckSucceeded}, + eventTypes: []models.EventType{model.HumanEmailVerified, model.InitializedHumanCheckSucceeded}, }, }, { name: "user init code only password", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, - Email: &model.Email{EmailAddress: "EmailAddress", IsEmailVerified: true}, + user: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + Email: &model.Email{EmailAddress: "EmailAddress", IsEmailVerified: true}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventTypes: []models.EventType{model.InitializedUserCheckSucceeded}, + eventTypes: []models.EventType{model.InitializedHumanCheckSucceeded}, }, }, { name: "user init code email and pw", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, - Email: &model.Email{EmailAddress: "EmailAddress"}, + user: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + Email: &model.Email{EmailAddress: "EmailAddress"}, + }, }, password: &model.Password{Secret: &crypto.CryptoValue{}, ChangeRequired: false}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 3, - eventTypes: []models.EventType{model.UserEmailVerified, model.UserPasswordChanged, model.InitializedUserCheckSucceeded}, + eventTypes: []models.EventType{model.HumanEmailVerified, model.HumanPasswordChanged, model.InitializedHumanCheckSucceeded}, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := InitCodeVerifiedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.password)(tt.args.ctx) + agg, err := InitCodeVerifiedAggregate(tt.args.aggCreator, tt.args.user, tt.args.password)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -804,7 +876,7 @@ func TestInitCodeVerifiedAggregate(t *testing.T) { func TestInitCodeCheckFailedAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User aggCreator *models.AggregateCreator } type res struct { @@ -821,20 +893,24 @@ func TestInitCodeCheckFailedAggregate(t *testing.T) { name: "mfa skipped init ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, + user: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventType: model.MfaInitSkipped, + eventType: model.HumanMfaInitSkipped, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := SkipMfaAggregate(tt.args.aggCreator, tt.args.existing)(tt.args.ctx) + agg, err := SkipMfaAggregate(tt.args.aggCreator, tt.args.user)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -852,7 +928,7 @@ func TestInitCodeCheckFailedAggregate(t *testing.T) { func TestSkipMfaAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User aggCreator *models.AggregateCreator } type res struct { @@ -869,20 +945,24 @@ func TestSkipMfaAggregate(t *testing.T) { name: "init code check failed", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, + user: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventType: model.InitializedUserCheckFailed, + eventType: model.InitializedHumanCheckFailed, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := InitCodeCheckFailedAggregate(tt.args.aggCreator, tt.args.existing)(tt.args.ctx) + agg, err := InitCodeCheckFailedAggregate(tt.args.aggCreator, tt.args.user)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -900,7 +980,7 @@ func TestSkipMfaAggregate(t *testing.T) { func TestChangePasswordAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User password *model.Password aggCreator *models.AggregateCreator } @@ -918,23 +998,30 @@ func TestChangePasswordAggregate(t *testing.T) { name: "user password aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, + user: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + }, }, password: &model.Password{ChangeRequired: true}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventType: model.UserPasswordChanged, + eventType: model.HumanPasswordChanged, }, }, { name: "password nil", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, @@ -945,7 +1032,7 @@ func TestChangePasswordAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := PasswordChangeAggregate(tt.args.aggCreator, tt.args.existing, tt.args.password)(tt.args.ctx) + agg, err := PasswordChangeAggregate(tt.args.aggCreator, tt.args.user, tt.args.password)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -963,7 +1050,7 @@ func TestChangePasswordAggregate(t *testing.T) { func TestRequestSetPasswordAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User request *model.PasswordCode aggCreator *models.AggregateCreator } @@ -981,23 +1068,31 @@ func TestRequestSetPasswordAggregate(t *testing.T) { name: "user password aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, + user: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + }, }, request: &model.PasswordCode{Expiry: time.Hour * 1}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventType: model.UserPasswordCodeAdded, + eventType: model.HumanPasswordCodeAdded, }, }, { name: "request nil", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, + user: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, @@ -1008,7 +1103,7 @@ func TestRequestSetPasswordAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := RequestSetPassword(tt.args.aggCreator, tt.args.existing, tt.args.request)(tt.args.ctx) + agg, err := RequestSetPassword(tt.args.aggCreator, tt.args.user, tt.args.request)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1026,7 +1121,7 @@ func TestRequestSetPasswordAggregate(t *testing.T) { func TestPasswordCodeSentAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User aggCreator *models.AggregateCreator } type res struct { @@ -1043,18 +1138,18 @@ func TestPasswordCodeSentAggregate(t *testing.T) { name: "user password code sent aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventTypes: []models.EventType{model.UserPasswordCodeSent}, + eventTypes: []models.EventType{model.HumanPasswordCodeSent}, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := PasswordCodeSentAggregate(tt.args.aggCreator, tt.args.existing)(tt.args.ctx) + agg, err := PasswordCodeSentAggregate(tt.args.aggCreator, tt.args.user)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1074,7 +1169,7 @@ func TestPasswordCodeSentAggregate(t *testing.T) { func TestChangeProfileAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User profile *model.Profile aggCreator *models.AggregateCreator } @@ -1092,23 +1187,29 @@ func TestChangeProfileAggregate(t *testing.T) { name: "user profile aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{FirstName: "FirstName"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Profile: &model.Profile{FirstName: "FirstName"}, + }, }, profile: &model.Profile{FirstName: "FirstNameChanged"}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventType: model.UserProfileChanged, + eventType: model.HumanProfileChanged, }, }, { name: "profile nil", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Profile: &model.Profile{UserName: "UserName"}, + user: &model.User{ + ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + UserName: "UserName", + Human: &model.Human{ + Profile: &model.Profile{DisplayName: "DisplayName"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, @@ -1119,7 +1220,7 @@ func TestChangeProfileAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := ProfileChangeAggregate(tt.args.aggCreator, tt.args.existing, tt.args.profile)(tt.args.ctx) + agg, err := ProfileChangeAggregate(tt.args.aggCreator, tt.args.user, tt.args.profile)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1137,7 +1238,7 @@ func TestChangeProfileAggregate(t *testing.T) { func TestChangeEmailAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User email *model.Email code *model.EmailCode aggCreator *models.AggregateCreator @@ -1156,23 +1257,27 @@ func TestChangeEmailAggregate(t *testing.T) { name: "change email aggregate, verified email", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Email: &model.Email{EmailAddress: "EmailAddress"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Email: &model.Email{EmailAddress: "EmailAddress"}, + }, }, email: &model.Email{EmailAddress: "Changed", IsEmailVerified: true}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 2, - eventTypes: []models.EventType{model.UserEmailChanged, model.UserEmailVerified}, + eventTypes: []models.EventType{model.HumanEmailChanged, model.HumanEmailVerified}, }, }, { name: "with code", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Email: &model.Email{EmailAddress: "EmailAddress"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Email: &model.Email{EmailAddress: "EmailAddress"}, + }, }, email: &model.Email{EmailAddress: "Changed"}, code: &model.EmailCode{Expiry: time.Hour * 1}, @@ -1180,15 +1285,17 @@ func TestChangeEmailAggregate(t *testing.T) { }, res: res{ eventLen: 2, - eventTypes: []models.EventType{model.UserEmailChanged, model.UserEmailCodeAdded}, + eventTypes: []models.EventType{model.HumanEmailChanged, model.HumanEmailCodeAdded}, }, }, { name: "email nil", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Email: &model.Email{EmailAddress: "Changed"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Email: &model.Email{EmailAddress: "Changed"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, @@ -1200,8 +1307,10 @@ func TestChangeEmailAggregate(t *testing.T) { name: "email verified and code not nil", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Email: &model.Email{EmailAddress: "Changed", IsEmailVerified: true}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Email: &model.Email{EmailAddress: "Changed", IsEmailVerified: true}, + }, }, code: &model.EmailCode{Expiry: time.Hour * 1}, aggCreator: models.NewAggregateCreator("Test"), @@ -1214,8 +1323,10 @@ func TestChangeEmailAggregate(t *testing.T) { name: "email not verified and code nil", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Email: &model.Email{EmailAddress: "Changed"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Email: &model.Email{EmailAddress: "Changed"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, @@ -1226,7 +1337,7 @@ func TestChangeEmailAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - aggregate, err := EmailChangeAggregate(tt.args.ctx, tt.args.aggCreator, tt.args.existing, tt.args.email, tt.args.code) + aggregate, err := EmailChangeAggregate(tt.args.ctx, tt.args.aggCreator, tt.args.user, tt.args.email, tt.args.code) if tt.res.errFunc == nil && len(aggregate.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(aggregate.Events)) @@ -1249,7 +1360,7 @@ func TestChangeEmailAggregate(t *testing.T) { func TestVerifyEmailAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User aggCreator *models.AggregateCreator } type res struct { @@ -1266,18 +1377,18 @@ func TestVerifyEmailAggregate(t *testing.T) { name: "user email verified aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventTypes: []models.EventType{model.UserEmailVerified}, + eventTypes: []models.EventType{model.HumanEmailVerified}, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := EmailVerifiedAggregate(tt.args.aggCreator, tt.args.existing)(tt.args.ctx) + agg, err := EmailVerifiedAggregate(tt.args.aggCreator, tt.args.user)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1297,7 +1408,7 @@ func TestVerifyEmailAggregate(t *testing.T) { func TestVerificationFailedEmailAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User aggCreator *models.AggregateCreator } type res struct { @@ -1314,18 +1425,18 @@ func TestVerificationFailedEmailAggregate(t *testing.T) { name: "user email verification failed aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventTypes: []models.EventType{model.UserEmailVerificationFailed}, + eventTypes: []models.EventType{model.HumanEmailVerificationFailed}, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := EmailVerificationFailedAggregate(tt.args.aggCreator, tt.args.existing)(tt.args.ctx) + agg, err := EmailVerificationFailedAggregate(tt.args.aggCreator, tt.args.user)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1345,7 +1456,7 @@ func TestVerificationFailedEmailAggregate(t *testing.T) { func TestCreateEmailCodeAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User code *model.EmailCode aggCreator *models.AggregateCreator } @@ -1363,23 +1474,27 @@ func TestCreateEmailCodeAggregate(t *testing.T) { name: "with code", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Email: &model.Email{EmailAddress: "EmailAddress"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Email: &model.Email{EmailAddress: "EmailAddress"}, + }, }, code: &model.EmailCode{Expiry: time.Hour * 1}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventTypes: []models.EventType{model.UserEmailCodeAdded}, + eventTypes: []models.EventType{model.HumanEmailCodeAdded}, }, }, { name: "code nil", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Email: &model.Email{EmailAddress: "Changed"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Email: &model.Email{EmailAddress: "Changed"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, @@ -1390,7 +1505,7 @@ func TestCreateEmailCodeAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := EmailVerificationCodeAggregate(tt.args.aggCreator, tt.args.existing, tt.args.code)(tt.args.ctx) + agg, err := EmailVerificationCodeAggregate(tt.args.aggCreator, tt.args.user, tt.args.code)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1413,7 +1528,7 @@ func TestCreateEmailCodeAggregate(t *testing.T) { func TestEmailCodeSentAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User aggCreator *models.AggregateCreator } type res struct { @@ -1430,18 +1545,18 @@ func TestEmailCodeSentAggregate(t *testing.T) { name: "user email code sent aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventTypes: []models.EventType{model.UserEmailCodeSent}, + eventTypes: []models.EventType{model.HumanEmailCodeSent}, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := EmailCodeSentAggregate(tt.args.aggCreator, tt.args.existing)(tt.args.ctx) + agg, err := EmailCodeSentAggregate(tt.args.aggCreator, tt.args.user)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1461,7 +1576,7 @@ func TestEmailCodeSentAggregate(t *testing.T) { func TestChangePhoneAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User phone *model.Phone code *model.PhoneCode aggCreator *models.AggregateCreator @@ -1480,23 +1595,27 @@ func TestChangePhoneAggregate(t *testing.T) { name: "phone change aggregate verified phone", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Phone: &model.Phone{PhoneNumber: "+41791234567"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Phone: &model.Phone{PhoneNumber: "+41791234567"}, + }, }, phone: &model.Phone{PhoneNumber: "+41799876543", IsPhoneVerified: true}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 2, - eventTypes: []models.EventType{model.UserPhoneChanged, model.UserPhoneVerified}, + eventTypes: []models.EventType{model.HumanPhoneChanged, model.HumanPhoneVerified}, }, }, { name: "with code", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Phone: &model.Phone{PhoneNumber: "PhoneNumber"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Phone: &model.Phone{PhoneNumber: "PhoneNumber"}, + }, }, phone: &model.Phone{PhoneNumber: "Changed"}, code: &model.PhoneCode{Expiry: time.Hour * 1}, @@ -1504,15 +1623,17 @@ func TestChangePhoneAggregate(t *testing.T) { }, res: res{ eventLen: 2, - eventTypes: []models.EventType{model.UserPhoneChanged, model.UserPhoneCodeAdded}, + eventTypes: []models.EventType{model.HumanPhoneChanged, model.HumanPhoneCodeAdded}, }, }, { name: "phone nil", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Phone: &model.Phone{PhoneNumber: "Changed"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Phone: &model.Phone{PhoneNumber: "Changed"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, @@ -1524,8 +1645,10 @@ func TestChangePhoneAggregate(t *testing.T) { name: "phone verified and code not nil", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Phone: &model.Phone{PhoneNumber: "Changed"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Phone: &model.Phone{PhoneNumber: "Changed"}, + }, }, phone: &model.Phone{PhoneNumber: "Changed", IsPhoneVerified: true}, code: &model.PhoneCode{Expiry: time.Hour * 1}, @@ -1539,8 +1662,10 @@ func TestChangePhoneAggregate(t *testing.T) { name: "phone not verified and code nil", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Phone: &model.Phone{PhoneNumber: "Changed"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Phone: &model.Phone{PhoneNumber: "Changed"}, + }, }, phone: &model.Phone{PhoneNumber: "Changed"}, aggCreator: models.NewAggregateCreator("Test"), @@ -1552,7 +1677,7 @@ func TestChangePhoneAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := PhoneChangeAggregate(tt.args.aggCreator, tt.args.existing, tt.args.phone, tt.args.code)(tt.args.ctx) + agg, err := PhoneChangeAggregate(tt.args.aggCreator, tt.args.user, tt.args.phone, tt.args.code)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1575,7 +1700,7 @@ func TestChangePhoneAggregate(t *testing.T) { func TestVerifyPhoneAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User aggCreator *models.AggregateCreator } type res struct { @@ -1592,20 +1717,22 @@ func TestVerifyPhoneAggregate(t *testing.T) { name: "user phone verified aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Phone: &model.Phone{PhoneNumber: "PhoneNumber"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Phone: &model.Phone{PhoneNumber: "PhoneNumber"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventTypes: []models.EventType{model.UserPhoneVerified}, + eventTypes: []models.EventType{model.HumanPhoneVerified}, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := PhoneVerifiedAggregate(tt.args.aggCreator, tt.args.existing)(tt.args.ctx) + agg, err := PhoneVerifiedAggregate(tt.args.aggCreator, tt.args.user)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1625,7 +1752,7 @@ func TestVerifyPhoneAggregate(t *testing.T) { func TestRemovePhoneAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User aggCreator *models.AggregateCreator } type res struct { @@ -1642,20 +1769,22 @@ func TestRemovePhoneAggregate(t *testing.T) { name: "user phone removed aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Phone: &model.Phone{PhoneNumber: "PhoneNumber"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Phone: &model.Phone{PhoneNumber: "PhoneNumber"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventTypes: []models.EventType{model.UserPhoneRemoved}, + eventTypes: []models.EventType{model.HumanPhoneRemoved}, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := PhoneRemovedAggregate(tt.args.aggCreator, tt.args.existing)(tt.args.ctx) + agg, err := PhoneRemovedAggregate(tt.args.aggCreator, tt.args.user)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1675,7 +1804,7 @@ func TestRemovePhoneAggregate(t *testing.T) { func TestVerificationFailedPhoneAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User aggCreator *models.AggregateCreator } type res struct { @@ -1692,20 +1821,22 @@ func TestVerificationFailedPhoneAggregate(t *testing.T) { name: "user phone verification failed aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Phone: &model.Phone{PhoneNumber: "PhoneNumber"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Phone: &model.Phone{PhoneNumber: "PhoneNumber"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventTypes: []models.EventType{model.UserPhoneVerificationFailed}, + eventTypes: []models.EventType{model.HumanPhoneVerificationFailed}, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := PhoneVerificationFailedAggregate(tt.args.aggCreator, tt.args.existing)(tt.args.ctx) + agg, err := PhoneVerificationFailedAggregate(tt.args.aggCreator, tt.args.user)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1725,7 +1856,7 @@ func TestVerificationFailedPhoneAggregate(t *testing.T) { func TestCreatePhoneCodeAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User code *model.PhoneCode aggCreator *models.AggregateCreator } @@ -1743,23 +1874,27 @@ func TestCreatePhoneCodeAggregate(t *testing.T) { name: "with code", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Email: &model.Email{EmailAddress: "EmailAddress"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Email: &model.Email{EmailAddress: "EmailAddress"}, + }, }, code: &model.PhoneCode{Expiry: time.Hour * 1}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventTypes: []models.EventType{model.UserPhoneCodeAdded}, + eventTypes: []models.EventType{model.HumanPhoneCodeAdded}, }, }, { name: "code nil", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Email: &model.Email{EmailAddress: "Changed"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Email: &model.Email{EmailAddress: "Changed"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, @@ -1770,7 +1905,7 @@ func TestCreatePhoneCodeAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := PhoneVerificationCodeAggregate(tt.args.aggCreator, tt.args.existing, tt.args.code)(tt.args.ctx) + agg, err := PhoneVerificationCodeAggregate(tt.args.aggCreator, tt.args.user, tt.args.code)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1793,7 +1928,7 @@ func TestCreatePhoneCodeAggregate(t *testing.T) { func TestPhoneCodeSentAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User aggCreator *models.AggregateCreator } type res struct { @@ -1810,18 +1945,18 @@ func TestPhoneCodeSentAggregate(t *testing.T) { name: "user phone code sent aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventTypes: []models.EventType{model.UserPhoneCodeSent}, + eventTypes: []models.EventType{model.HumanPhoneCodeSent}, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := PhoneCodeSentAggregate(tt.args.aggCreator, tt.args.existing)(tt.args.ctx) + agg, err := PhoneCodeSentAggregate(tt.args.aggCreator, tt.args.user)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1841,7 +1976,7 @@ func TestPhoneCodeSentAggregate(t *testing.T) { func TestChangeAddressAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User address *model.Address aggCreator *models.AggregateCreator } @@ -1859,23 +1994,27 @@ func TestChangeAddressAggregate(t *testing.T) { name: "user address change aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Address: &model.Address{Locality: "Locality"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Address: &model.Address{Locality: "Locality"}, + }, }, address: &model.Address{Locality: "Changed"}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventTypes: []models.EventType{model.UserAddressChanged}, + eventTypes: []models.EventType{model.HumanAddressChanged}, }, }, { name: "address nil", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, - Address: &model.Address{Locality: "Changed"}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, + Human: &model.Human{ + Address: &model.Address{Locality: "Changed"}, + }, }, aggCreator: models.NewAggregateCreator("Test"), }, @@ -1886,7 +2025,7 @@ func TestChangeAddressAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := AddressChangeAggregate(tt.args.aggCreator, tt.args.existing, tt.args.address)(tt.args.ctx) + agg, err := AddressChangeAggregate(tt.args.aggCreator, tt.args.user, tt.args.address)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1909,7 +2048,7 @@ func TestChangeAddressAggregate(t *testing.T) { func TestOtpAddAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User otp *model.OTP aggCreator *models.AggregateCreator } @@ -1927,20 +2066,20 @@ func TestOtpAddAggregate(t *testing.T) { name: "user otp change aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, otp: &model.OTP{}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventTypes: []models.EventType{model.MfaOtpAdded}, + eventTypes: []models.EventType{model.HumanMFAOTPAdded}, }, }, { name: "otp nil", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ @@ -1950,7 +2089,7 @@ func TestOtpAddAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := MfaOTPAddAggregate(tt.args.aggCreator, tt.args.existing, tt.args.otp)(tt.args.ctx) + agg, err := MFAOTPAddAggregate(tt.args.aggCreator, tt.args.user, tt.args.otp)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -1973,7 +2112,7 @@ func TestOtpAddAggregate(t *testing.T) { func TestOtpVerifyAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User aggCreator *models.AggregateCreator } type res struct { @@ -1990,18 +2129,18 @@ func TestOtpVerifyAggregate(t *testing.T) { name: "user otp change aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventTypes: []models.EventType{model.MfaOtpVerified}, + eventTypes: []models.EventType{model.HumanMFAOTPVerified}, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := MfaOTPVerifyAggregate(tt.args.aggCreator, tt.args.existing)(tt.args.ctx) + agg, err := MFAOTPVerifyAggregate(tt.args.aggCreator, tt.args.user)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -2021,7 +2160,7 @@ func TestOtpVerifyAggregate(t *testing.T) { func TestOtpRemoveAggregate(t *testing.T) { type args struct { ctx context.Context - existing *model.User + user *model.User aggCreator *models.AggregateCreator } type res struct { @@ -2038,18 +2177,18 @@ func TestOtpRemoveAggregate(t *testing.T) { name: "user otp change aggregate ok", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, + user: &model.User{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ eventLen: 1, - eventTypes: []models.EventType{model.MfaOtpRemoved}, + eventTypes: []models.EventType{model.HumanMFAOTPRemoved}, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := MfaOTPRemoveAggregate(tt.args.aggCreator, tt.args.existing)(tt.args.ctx) + agg, err := MFAOTPRemoveAggregate(tt.args.aggCreator, tt.args.user)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) diff --git a/internal/user/repository/view/machine_key_view.go b/internal/user/repository/view/machine_key_view.go new file mode 100644 index 0000000000..bfd3aa655b --- /dev/null +++ b/internal/user/repository/view/machine_key_view.go @@ -0,0 +1,65 @@ +package view + +import ( + caos_errs "github.com/caos/zitadel/internal/errors" + global_model "github.com/caos/zitadel/internal/model" + usr_model "github.com/caos/zitadel/internal/user/model" + "github.com/caos/zitadel/internal/user/repository/view/model" + "github.com/caos/zitadel/internal/view/repository" + "github.com/jinzhu/gorm" +) + +func MachineKeyByIDs(db *gorm.DB, table, userID, keyID string) (*model.MachineKeyView, error) { + key := new(model.MachineKeyView) + query := repository.PrepareGetByQuery(table, + model.MachineKeySearchQuery{Key: usr_model.MachineKeyKeyUserID, Method: global_model.SearchMethodEquals, Value: userID}, + model.MachineKeySearchQuery{Key: usr_model.MachineKeyKeyID, Method: global_model.SearchMethodEquals, Value: keyID}, + ) + err := query(db, key) + if caos_errs.IsNotFound(err) { + return nil, caos_errs.ThrowNotFound(nil, "VIEW-3Dk9s", "Errors.User.KeyNotFound") + } + return key, err +} + +func SearchMachineKeys(db *gorm.DB, table string, req *usr_model.MachineKeySearchRequest) ([]*model.MachineKeyView, uint64, error) { + members := make([]*model.MachineKeyView, 0) + query := repository.PrepareSearchQuery(table, model.MachineKeySearchRequest{Limit: req.Limit, Offset: req.Offset, Queries: req.Queries}) + count, err := query(db, &members) + if err != nil { + return nil, 0, err + } + return members, count, nil +} + +func MachineKeysByUserID(db *gorm.DB, table string, userID string) ([]*model.MachineKeyView, error) { + keys := make([]*model.MachineKeyView, 0) + queries := []*usr_model.MachineKeySearchQuery{ + { + Key: usr_model.MachineKeyKeyUserID, + Value: userID, + Method: global_model.SearchMethodEquals, + }, + } + query := repository.PrepareSearchQuery(table, model.MachineKeySearchRequest{Queries: queries}) + _, err := query(db, &keys) + if err != nil { + return nil, err + } + return keys, nil +} + +func PutMachineKey(db *gorm.DB, table string, role *model.MachineKeyView) error { + save := repository.PrepareSave(table) + return save(db, role) +} + +func DeleteMachineKey(db *gorm.DB, table, keyID string) error { + delete := repository.PrepareDeleteByKey(table, model.MachineKeySearchKey(usr_model.MachineKeyKeyID), keyID) + return delete(db) +} + +func DeleteMachineKeysByUserID(db *gorm.DB, table, userID string) error { + delete := repository.PrepareDeleteByKey(table, model.MachineKeySearchKey(usr_model.MachineKeyKeyUserID), userID) + return delete(db) +} diff --git a/internal/user/repository/view/model/machine_key.go b/internal/user/repository/view/model/machine_key.go new file mode 100644 index 0000000000..fbac535f3f --- /dev/null +++ b/internal/user/repository/view/model/machine_key.go @@ -0,0 +1,81 @@ +package model + +import ( + "encoding/json" + "time" + + "github.com/caos/logging" + + caos_errs "github.com/caos/zitadel/internal/errors" + "github.com/caos/zitadel/internal/eventstore/models" + "github.com/caos/zitadel/internal/user/model" + es_model "github.com/caos/zitadel/internal/user/repository/eventsourcing/model" +) + +const ( + MachineKeyKeyID = "id" + MachineKeyKeyUserID = "user_id" +) + +type MachineKeyView struct { + ID string `json:"keyId" gorm:"column:id;primary_key"` + UserID string `json:"-" gorm:"column:user_id;primary_key"` + Type int32 `json:"type" gorm:"column:machine_type"` + ExpirationDate time.Time `json:"expirationDate" gorm:"column:expiration_date"` + Sequence uint64 `json:"-" gorm:"column:sequence"` + + CreationDate time.Time `json:"-" gorm:"column:creation_date"` +} + +func MachineKeyViewFromModel(key *model.MachineKeyView) *MachineKeyView { + return &MachineKeyView{ + ID: key.ID, + UserID: key.UserID, + Type: int32(key.Type), + ExpirationDate: key.ExpirationDate, + Sequence: key.Sequence, + CreationDate: key.CreationDate, + } +} + +func MachineKeyToModel(key *MachineKeyView) *model.MachineKeyView { + return &model.MachineKeyView{ + ID: key.ID, + UserID: key.UserID, + Type: model.MachineKeyType(key.Type), + ExpirationDate: key.ExpirationDate, + Sequence: key.Sequence, + CreationDate: key.CreationDate, + } +} + +func MachineKeysToModel(keys []*MachineKeyView) []*model.MachineKeyView { + result := make([]*model.MachineKeyView, len(keys)) + for i, key := range keys { + result[i] = MachineKeyToModel(key) + } + return result +} + +func (k *MachineKeyView) AppendEvent(event *models.Event) (err error) { + k.Sequence = event.Sequence + switch event.Type { + case es_model.MachineKeyAdded: + k.setRootData(event) + k.CreationDate = event.CreationDate + err = k.SetData(event) + } + return err +} + +func (k *MachineKeyView) setRootData(event *models.Event) { + k.UserID = event.AggregateID +} + +func (r *MachineKeyView) SetData(event *models.Event) error { + if err := json.Unmarshal(event.Data, r); err != nil { + logging.Log("EVEN-Sj90d").WithError(err).Error("could not unmarshal event data") + return caos_errs.ThrowInternal(err, "MODEL-lub6s", "Could not unmarshal data") + } + return nil +} diff --git a/internal/user/repository/view/model/machine_key_query.go b/internal/user/repository/view/model/machine_key_query.go new file mode 100644 index 0000000000..c5a876ce53 --- /dev/null +++ b/internal/user/repository/view/model/machine_key_query.go @@ -0,0 +1,61 @@ +package model + +import ( + global_model "github.com/caos/zitadel/internal/model" + usr_model "github.com/caos/zitadel/internal/user/model" + "github.com/caos/zitadel/internal/view/repository" +) + +type MachineKeySearchRequest usr_model.MachineKeySearchRequest +type MachineKeySearchQuery usr_model.MachineKeySearchQuery +type MachineKeySearchKey usr_model.MachineKeySearchKey + +func (req MachineKeySearchRequest) GetLimit() uint64 { + return req.Limit +} + +func (req MachineKeySearchRequest) GetOffset() uint64 { + return req.Offset +} + +func (req MachineKeySearchRequest) GetSortingColumn() repository.ColumnKey { + if req.SortingColumn == usr_model.MachineKeyKeyUnspecified { + return nil + } + return MachineKeySearchKey(req.SortingColumn) +} + +func (req MachineKeySearchRequest) GetAsc() bool { + return req.Asc +} + +func (req MachineKeySearchRequest) GetQueries() []repository.SearchQuery { + result := make([]repository.SearchQuery, len(req.Queries)) + for i, q := range req.Queries { + result[i] = MachineKeySearchQuery{Key: q.Key, Value: q.Value, Method: q.Method} + } + return result +} + +func (req MachineKeySearchQuery) GetKey() repository.ColumnKey { + return MachineKeySearchKey(req.Key) +} + +func (req MachineKeySearchQuery) GetMethod() global_model.SearchMethod { + return req.Method +} + +func (req MachineKeySearchQuery) GetValue() interface{} { + return req.Value +} + +func (key MachineKeySearchKey) ToColumnName() string { + switch usr_model.MachineKeySearchKey(key) { + case usr_model.MachineKeyKeyID: + return MachineKeyKeyID + case usr_model.MachineKeyKeyUserID: + return MachineKeyKeyUserID + default: + return "" + } +} diff --git a/internal/user/repository/view/model/notify_user.go b/internal/user/repository/view/model/notify_user.go index a0e1c28e15..51260ef903 100644 --- a/internal/user/repository/view/model/notify_user.go +++ b/internal/user/repository/view/model/notify_user.go @@ -2,6 +2,8 @@ package model import ( "encoding/json" + "time" + "github.com/caos/logging" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore/models" @@ -9,7 +11,6 @@ import ( "github.com/caos/zitadel/internal/user/model" es_model "github.com/caos/zitadel/internal/user/repository/eventsourcing/model" "github.com/lib/pq" - "time" ) const ( @@ -112,7 +113,9 @@ func (u *NotifyUser) AppendEvent(event *models.Event) (err error) { u.Sequence = event.Sequence switch event.Type { case es_model.UserAdded, - es_model.UserRegistered: + es_model.UserRegistered, + es_model.HumanRegistered, + es_model.HumanAdded: u.CreationDate = event.CreationDate u.setRootData(event) err = u.setData(event) @@ -120,20 +123,25 @@ func (u *NotifyUser) AppendEvent(event *models.Event) (err error) { return err } err = u.setPasswordData(event) - case es_model.UserProfileChanged: + case es_model.UserProfileChanged, + es_model.UserEmailChanged, + es_model.UserPhoneChanged, + es_model.HumanProfileChanged, + es_model.HumanEmailChanged, + es_model.HumanPhoneChanged: err = u.setData(event) - case es_model.UserEmailChanged: - err = u.setData(event) - case es_model.UserEmailVerified: + case es_model.UserEmailVerified, + es_model.HumanEmailVerified: u.VerifiedEmail = u.LastEmail - case es_model.UserPhoneChanged: - err = u.setData(event) - case es_model.UserPhoneRemoved: + case es_model.UserPhoneRemoved, + es_model.HumanPhoneRemoved: u.VerifiedPhone = "" u.LastPhone = "" - case es_model.UserPhoneVerified: + case es_model.UserPhoneVerified, + es_model.HumanPhoneVerified: u.VerifiedPhone = u.LastPhone - case es_model.UserPasswordChanged: + case es_model.UserPasswordChanged, + es_model.HumanPasswordChanged: err = u.setPasswordData(event) } return err diff --git a/internal/user/repository/view/model/user.go b/internal/user/repository/view/model/user.go index 9a423f7557..6ce9eff5e5 100644 --- a/internal/user/repository/view/model/user.go +++ b/internal/user/repository/view/model/user.go @@ -2,9 +2,10 @@ package model import ( "encoding/json" + "time" + org_model "github.com/caos/zitadel/internal/org/model" "github.com/lib/pq" - "time" "github.com/caos/logging" @@ -26,118 +27,131 @@ const ( UserKeyState = "user_state" UserKeyResourceOwner = "resource_owner" UserKeyLoginNames = "login_names" + UserKeyType = "user_type" +) + +type userType string + +const ( + userTypeHuman = "human" + userTypeMachine = "machine" ) type UserView struct { - ID string `json:"-" gorm:"column:id;primary_key"` - CreationDate time.Time `json:"-" gorm:"column:creation_date"` - ChangeDate time.Time `json:"-" gorm:"column:change_date"` - ResourceOwner string `json:"-" gorm:"column:resource_owner"` - State int32 `json:"-" gorm:"column:user_state"` - PasswordSet bool `json:"-" gorm:"column:password_set"` - PasswordChangeRequired bool `json:"-" gorm:"column:password_change_required"` - UsernameChangeRequired bool `json:"-" gorm:"column:username_change_required"` - PasswordChanged time.Time `json:"-" gorm:"column:password_change"` - LastLogin time.Time `json:"-" gorm:"column:last_login"` - UserName string `json:"userName" gorm:"column:user_name"` - LoginNames pq.StringArray `json:"-" gorm:"column:login_names"` - PreferredLoginName string `json:"-" gorm:"column:preferred_login_name"` - FirstName string `json:"firstName" gorm:"column:first_name"` - LastName string `json:"lastName" gorm:"column:last_name"` - NickName string `json:"nickName" gorm:"column:nick_name"` - DisplayName string `json:"displayName" gorm:"column:display_name"` - PreferredLanguage string `json:"preferredLanguage" gorm:"column:preferred_language"` - Gender int32 `json:"gender" gorm:"column:gender"` - Email string `json:"email" gorm:"column:email"` - IsEmailVerified bool `json:"-" gorm:"column:is_email_verified"` - Phone string `json:"phone" gorm:"column:phone"` - IsPhoneVerified bool `json:"-" gorm:"column:is_phone_verified"` - Country string `json:"country" gorm:"column:country"` - Locality string `json:"locality" gorm:"column:locality"` - PostalCode string `json:"postalCode" gorm:"column:postal_code"` - Region string `json:"region" gorm:"column:region"` - StreetAddress string `json:"streetAddress" gorm:"column:street_address"` - OTPState int32 `json:"-" gorm:"column:otp_state"` - MfaMaxSetUp int32 `json:"-" gorm:"column:mfa_max_set_up"` - MfaInitSkipped time.Time `json:"-" gorm:"column:mfa_init_skipped"` - InitRequired bool `json:"-" gorm:"column:init_required"` - Sequence uint64 `json:"-" gorm:"column:sequence"` + ID string `json:"-" gorm:"column:id;primary_key"` + CreationDate time.Time `json:"-" gorm:"column:creation_date"` + ChangeDate time.Time `json:"-" gorm:"column:change_date"` + ResourceOwner string `json:"-" gorm:"column:resource_owner"` + State int32 `json:"-" gorm:"column:user_state"` + LastLogin time.Time `json:"-" gorm:"column:last_login"` + LoginNames pq.StringArray `json:"-" gorm:"column:login_names"` + PreferredLoginName string `json:"-" gorm:"column:preferred_login_name"` + Sequence uint64 `json:"-" gorm:"column:sequence"` + Type userType `json:"-" gorm:"column:user_type"` + UserName string `json:"userName" gorm:"column:user_name"` + *MachineView + *HumanView } -func UserFromModel(user *model.UserView) *UserView { - return &UserView{ - ID: user.ID, - ChangeDate: user.ChangeDate, - CreationDate: user.CreationDate, - ResourceOwner: user.ResourceOwner, - State: int32(user.State), - PasswordSet: user.PasswordSet, - PasswordChangeRequired: user.PasswordChangeRequired, - UsernameChangeRequired: user.UsernameChangeRequired, - PasswordChanged: user.PasswordChanged, - LastLogin: user.LastLogin, - UserName: user.UserName, - LoginNames: user.LoginNames, - PreferredLoginName: user.PreferredLoginName, - FirstName: user.FirstName, - LastName: user.LastName, - NickName: user.NickName, - DisplayName: user.DisplayName, - PreferredLanguage: user.PreferredLanguage, - Gender: int32(user.Gender), - Email: user.Email, - IsEmailVerified: user.IsEmailVerified, - Phone: user.Phone, - IsPhoneVerified: user.IsPhoneVerified, - Country: user.Country, - Locality: user.Locality, - PostalCode: user.PostalCode, - Region: user.Region, - StreetAddress: user.StreetAddress, - OTPState: int32(user.OTPState), - MfaMaxSetUp: int32(user.MfaMaxSetUp), - MfaInitSkipped: user.MfaInitSkipped, - InitRequired: user.InitRequired, - Sequence: user.Sequence, - } +type UserState int32 + +const ( + UserStateUnspecified UserState = iota + UserStateActive + UserStateInactive + UserStateDeleted + UserStateLocked + UserStateSuspend + UserStateInitial +) + +type HumanView struct { + FirstName string `json:"firstName" gorm:"column:first_name"` + LastName string `json:"lastName" gorm:"column:last_name"` + NickName string `json:"nickName" gorm:"column:nick_name"` + DisplayName string `json:"displayName" gorm:"column:display_name"` + PreferredLanguage string `json:"preferredLanguage" gorm:"column:preferred_language"` + Gender int32 `json:"gender" gorm:"column:gender"` + Email string `json:"email" gorm:"column:email"` + IsEmailVerified bool `json:"-" gorm:"column:is_email_verified"` + Phone string `json:"phone" gorm:"column:phone"` + IsPhoneVerified bool `json:"-" gorm:"column:is_phone_verified"` + Country string `json:"country" gorm:"column:country"` + Locality string `json:"locality" gorm:"column:locality"` + PostalCode string `json:"postalCode" gorm:"column:postal_code"` + Region string `json:"region" gorm:"column:region"` + StreetAddress string `json:"streetAddress" gorm:"column:street_address"` + OTPState int32 `json:"-" gorm:"column:otp_state"` + MfaMaxSetUp int32 `json:"-" gorm:"column:mfa_max_set_up"` + MfaInitSkipped time.Time `json:"-" gorm:"column:mfa_init_skipped"` + InitRequired bool `json:"-" gorm:"column:init_required"` + + PasswordSet bool `json:"-" gorm:"column:password_set"` + PasswordChangeRequired bool `json:"-" gorm:"column:password_change_required"` + UsernameChangeRequired bool `json:"-" gorm:"column:username_change_required"` + PasswordChanged time.Time `json:"-" gorm:"column:password_change"` +} + +func (h *HumanView) IsZero() bool { + return h == nil || h.FirstName == "" +} + +type MachineView struct { + Name string `json:"name" gorm:"column:machine_name"` + Description string `json:"description" gorm:"column:machine_description"` +} + +func (m *MachineView) IsZero() bool { + return m == nil || m.Name == "" } func UserToModel(user *UserView) *model.UserView { - return &model.UserView{ - ID: user.ID, - ChangeDate: user.ChangeDate, - CreationDate: user.CreationDate, - ResourceOwner: user.ResourceOwner, - State: model.UserState(user.State), - PasswordSet: user.PasswordSet, - PasswordChangeRequired: user.PasswordChangeRequired, - UsernameChangeRequired: user.UsernameChangeRequired, - PasswordChanged: user.PasswordChanged, - LastLogin: user.LastLogin, - PreferredLoginName: user.PreferredLoginName, - LoginNames: user.LoginNames, - UserName: user.UserName, - FirstName: user.FirstName, - LastName: user.LastName, - NickName: user.NickName, - DisplayName: user.DisplayName, - PreferredLanguage: user.PreferredLanguage, - Gender: model.Gender(user.Gender), - Email: user.Email, - IsEmailVerified: user.IsEmailVerified, - Phone: user.Phone, - IsPhoneVerified: user.IsPhoneVerified, - Country: user.Country, - Locality: user.Locality, - PostalCode: user.PostalCode, - Region: user.Region, - StreetAddress: user.StreetAddress, - OTPState: model.MfaState(user.OTPState), - MfaMaxSetUp: req_model.MfaLevel(user.MfaMaxSetUp), - MfaInitSkipped: user.MfaInitSkipped, - InitRequired: user.InitRequired, - Sequence: user.Sequence, + userView := &model.UserView{ + ID: user.ID, + UserName: user.UserName, + ChangeDate: user.ChangeDate, + CreationDate: user.CreationDate, + ResourceOwner: user.ResourceOwner, + State: model.UserState(user.State), + LastLogin: user.LastLogin, + PreferredLoginName: user.PreferredLoginName, + LoginNames: user.LoginNames, + Sequence: user.Sequence, } + if !user.HumanView.IsZero() { + userView.HumanView = &model.HumanView{ + PasswordSet: user.PasswordSet, + PasswordChangeRequired: user.PasswordChangeRequired, + PasswordChanged: user.PasswordChanged, + FirstName: user.FirstName, + LastName: user.LastName, + NickName: user.NickName, + DisplayName: user.DisplayName, + PreferredLanguage: user.PreferredLanguage, + Gender: model.Gender(user.Gender), + Email: user.Email, + IsEmailVerified: user.IsEmailVerified, + Phone: user.Phone, + IsPhoneVerified: user.IsPhoneVerified, + Country: user.Country, + Locality: user.Locality, + PostalCode: user.PostalCode, + Region: user.Region, + StreetAddress: user.StreetAddress, + OTPState: model.MfaState(user.OTPState), + MfaMaxSetUp: req_model.MfaLevel(user.MfaMaxSetUp), + MfaInitSkipped: user.MfaInitSkipped, + InitRequired: user.InitRequired, + } + } + + if !user.MachineView.IsZero() { + userView.MachineView = &model.MachineView{ + Description: user.MachineView.Description, + Name: user.MachineView.Name, + } + } + return userView } func UsersToModel(users []*UserView) []*model.UserView { @@ -172,19 +186,34 @@ func (u *UserView) AppendEvent(event *models.Event) (err error) { u.ChangeDate = event.CreationDate u.Sequence = event.Sequence switch event.Type { - case es_model.UserAdded, - es_model.UserRegistered: + case es_model.MachineAdded: u.CreationDate = event.CreationDate u.setRootData(event) + u.Type = userTypeMachine + err = u.setData(event) + if err != nil { + return err + } + case es_model.UserAdded, + es_model.UserRegistered, + es_model.HumanRegistered, + es_model.HumanAdded: + u.CreationDate = event.CreationDate + u.setRootData(event) + u.Type = userTypeHuman err = u.setData(event) if err != nil { return err } err = u.setPasswordData(event) - case es_model.UserPasswordChanged: + case es_model.UserPasswordChanged, + es_model.HumanPasswordChanged: err = u.setPasswordData(event) case es_model.UserProfileChanged, - es_model.UserAddressChanged: + es_model.HumanProfileChanged, + es_model.UserAddressChanged, + es_model.HumanAddressChanged, + es_model.MachineChanged: err = u.setData(event) case es_model.DomainClaimed: u.UsernameChangeRequired = true @@ -192,17 +221,22 @@ func (u *UserView) AppendEvent(event *models.Event) (err error) { case es_model.UserUserNameChanged: u.UsernameChangeRequired = false err = u.setData(event) - case es_model.UserEmailChanged: + case es_model.UserEmailChanged, + es_model.HumanEmailChanged: u.IsEmailVerified = false err = u.setData(event) - case es_model.UserEmailVerified: + case es_model.UserEmailVerified, + es_model.HumanEmailVerified: u.IsEmailVerified = true - case es_model.UserPhoneChanged: + case es_model.UserPhoneChanged, + es_model.HumanPhoneChanged: u.IsPhoneVerified = false err = u.setData(event) - case es_model.UserPhoneVerified: + case es_model.UserPhoneVerified, + es_model.HumanPhoneVerified: u.IsPhoneVerified = true - case es_model.UserPhoneRemoved: + case es_model.UserPhoneRemoved, + es_model.HumanPhoneRemoved: u.Phone = "" u.IsPhoneVerified = false case es_model.UserDeactivated: @@ -212,18 +246,24 @@ func (u *UserView) AppendEvent(event *models.Event) (err error) { u.State = int32(model.UserStateActive) case es_model.UserLocked: u.State = int32(model.UserStateLocked) - case es_model.MfaOtpAdded: + case es_model.MFAOTPAdded, + es_model.HumanMFAOTPAdded: u.OTPState = int32(model.MfaStateNotReady) - case es_model.MfaOtpVerified: + case es_model.MFAOTPVerified, + es_model.HumanMFAOTPVerified: u.OTPState = int32(model.MfaStateReady) u.MfaInitSkipped = time.Time{} - case es_model.MfaOtpRemoved: + case es_model.MFAOTPRemoved, + es_model.HumanMFAOTPRemoved: u.OTPState = int32(model.MfaStateUnspecified) - case es_model.MfaInitSkipped: + case es_model.MFAInitSkipped, + es_model.HumanMfaInitSkipped: u.MfaInitSkipped = event.CreationDate - case es_model.InitializedUserCodeAdded: + case es_model.InitializedUserCodeAdded, + es_model.InitializedHumanCodeAdded: u.InitRequired = true - case es_model.InitializedUserCheckSucceeded: + case es_model.InitializedUserCheckSucceeded, + es_model.InitializedHumanCheckSucceeded: u.InitRequired = false } u.ComputeObject() @@ -256,6 +296,12 @@ func (u *UserView) setPasswordData(event *models.Event) error { } func (u *UserView) ComputeObject() { + if u.MachineView != nil { + if u.State == int32(model.UserStateUnspecified) { + u.State = int32(model.UserStateActive) + } + return + } if u.State == int32(model.UserStateUnspecified) || u.State == int32(model.UserStateInitial) { if u.IsEmailVerified { u.State = int32(model.UserStateActive) diff --git a/internal/user/repository/view/model/user_membership.go b/internal/user/repository/view/model/user_membership.go index 7170702f07..66ca18ec90 100644 --- a/internal/user/repository/view/model/user_membership.go +++ b/internal/user/repository/view/model/user_membership.go @@ -2,6 +2,8 @@ package model import ( "encoding/json" + "time" + "github.com/caos/logging" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore/models" @@ -10,7 +12,6 @@ import ( proj_es_model "github.com/caos/zitadel/internal/project/repository/eventsourcing/model" "github.com/caos/zitadel/internal/user/model" "github.com/lib/pq" - "time" ) const ( diff --git a/internal/user/repository/view/model/user_query.go b/internal/user/repository/view/model/user_query.go index a59755d3c8..cf6ae30e84 100644 --- a/internal/user/repository/view/model/user_query.go +++ b/internal/user/repository/view/model/user_query.go @@ -71,6 +71,8 @@ func (key UserSearchKey) ToColumnName() string { return UserKeyResourceOwner case usr_model.UserSearchKeyLoginNames: return UserKeyLoginNames + case usr_model.UserSearchKeyType: + return UserKeyType default: return "" } diff --git a/internal/user/repository/view/model/user_session.go b/internal/user/repository/view/model/user_session.go index 61be619be4..7499abf405 100644 --- a/internal/user/repository/view/model/user_session.go +++ b/internal/user/repository/view/model/user_session.go @@ -79,20 +79,27 @@ func (v *UserSessionView) AppendEvent(event *models.Event) { v.Sequence = event.Sequence v.ChangeDate = event.CreationDate switch event.Type { - case es_model.UserPasswordCheckSucceeded: + case es_model.UserPasswordCheckSucceeded, + es_model.HumanPasswordCheckSucceeded: v.PasswordVerification = event.CreationDate v.State = int32(req_model.UserSessionStateActive) case es_model.UserPasswordCheckFailed, - es_model.UserPasswordChanged: + es_model.UserPasswordChanged, + es_model.HumanPasswordCheckFailed, + es_model.HumanPasswordChanged: v.PasswordVerification = time.Time{} - case es_model.MfaOtpCheckSucceeded: + case es_model.MfaOtpCheckSucceeded, + es_model.HumanMfaOtpCheckSucceeded: v.MfaSoftwareVerification = event.CreationDate v.MfaSoftwareVerificationType = int32(req_model.MfaTypeOTP) v.State = int32(req_model.UserSessionStateActive) case es_model.MfaOtpCheckFailed, - es_model.MfaOtpRemoved: + es_model.MFAOTPRemoved, + es_model.HumanMfaOtpCheckFailed, + es_model.HumanMFAOTPRemoved: v.MfaSoftwareVerification = time.Time{} case es_model.SignedOut, + es_model.HumanSignedOut, es_model.UserLocked, es_model.UserDeactivated: v.PasswordVerification = time.Time{} diff --git a/internal/user/repository/view/model/user_test.go b/internal/user/repository/view/model/user_test.go index 7a3f4e3c0e..090c165de0 100644 --- a/internal/user/repository/view/model/user_test.go +++ b/internal/user/repository/view/model/user_test.go @@ -11,7 +11,7 @@ import ( es_model "github.com/caos/zitadel/internal/user/repository/eventsourcing/model" ) -func mockUserData(user *es_model.User) []byte { +func mockUserData(user *es_model.Human) []byte { data, _ := json.Marshal(user) return data } @@ -41,10 +41,9 @@ func mockAddressData(address *es_model.Address) []byte { return data } -func getFullUser(password *es_model.Password) *es_model.User { - return &es_model.User{ +func getFullUser(password *es_model.Password) *es_model.Human { + return &es_model.Human{ Profile: &es_model.Profile{ - UserName: "UserName", FirstName: "FirstName", LastName: "LastName", }, @@ -77,7 +76,7 @@ func TestUserAppendEvent(t *testing.T) { event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.UserAdded, ResourceOwner: "OrgID", Data: mockUserData(getFullUser(nil))}, user: &UserView{}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateInitial)}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country"}, State: int32(model.UserStateInitial)}, }, { name: "append added user with password event", @@ -85,7 +84,7 @@ func TestUserAppendEvent(t *testing.T) { event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.UserAdded, ResourceOwner: "OrgID", Data: mockUserData(getFullUser(&es_model.Password{Secret: &crypto.CryptoValue{}}))}, user: &UserView{}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateInitial), PasswordSet: true}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", PasswordSet: true}, State: int32(model.UserStateInitial)}, }, { name: "append added user with password but change required event", @@ -93,135 +92,135 @@ func TestUserAppendEvent(t *testing.T) { event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.UserAdded, ResourceOwner: "OrgID", Data: mockUserData(getFullUser(&es_model.Password{ChangeRequired: true, Secret: &crypto.CryptoValue{}}))}, user: &UserView{}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateInitial), PasswordSet: true, PasswordChangeRequired: true}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", PasswordSet: true, PasswordChangeRequired: true}, State: int32(model.UserStateInitial)}, }, { name: "append password change event", args: args{ event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.UserPasswordChanged, ResourceOwner: "OrgID", Data: mockPasswordData(&es_model.Password{Secret: &crypto.CryptoValue{}})}, - user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "Phone", Country: "Country", State: int32(model.UserStateActive)}, + user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "Phone", Country: "Country"}, State: int32(model.UserStateActive)}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "Phone", Country: "Country", State: int32(model.UserStateActive), PasswordSet: true}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "Phone", Country: "Country", PasswordSet: true}, State: int32(model.UserStateActive)}, }, { name: "append password change with change required event", args: args{ event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.UserPasswordChanged, ResourceOwner: "OrgID", Data: mockPasswordData(&es_model.Password{ChangeRequired: true, Secret: &crypto.CryptoValue{}})}, - user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "Phone", Country: "Country", State: int32(model.UserStateActive)}, + user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "Phone", Country: "Country"}, State: int32(model.UserStateActive)}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "Phone", Country: "Country", State: int32(model.UserStateActive), PasswordSet: true, PasswordChangeRequired: true}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "Phone", Country: "Country", PasswordSet: true, PasswordChangeRequired: true}, State: int32(model.UserStateActive)}, }, { name: "append change user profile event", args: args{ event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.UserProfileChanged, ResourceOwner: "OrgID", Data: mockProfileData(&es_model.Profile{FirstName: "FirstNameChanged"})}, - user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateInitial)}, + user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country"}, State: int32(model.UserStateInitial)}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstNameChanged", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateInitial)}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstNameChanged", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country"}, State: int32(model.UserStateInitial)}, }, { name: "append change user email event", args: args{ event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.UserEmailChanged, ResourceOwner: "OrgID", Data: mockEmailData(&es_model.Email{EmailAddress: "EmailChanged"})}, - user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "Phone", Country: "Country", State: int32(model.UserStateActive)}, + user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "Phone", Country: "Country"}, State: int32(model.UserStateActive)}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "EmailChanged", Phone: "Phone", Country: "Country", State: int32(model.UserStateActive)}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "EmailChanged", Phone: "Phone", Country: "Country"}, State: int32(model.UserStateActive)}, }, { name: "append verify user email event", args: args{ event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.UserEmailVerified, ResourceOwner: "OrgID"}, - user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateInitial)}, + user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country"}, State: int32(model.UserStateInitial)}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "Phone", Country: "Country", State: int32(model.UserStateActive)}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "Phone", Country: "Country"}, State: int32(model.UserStateActive)}, }, { name: "append change user phone event", args: args{ event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.UserPhoneChanged, ResourceOwner: "OrgID", Data: mockPhoneData(&es_model.Phone{PhoneNumber: "PhoneChanged"})}, - user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "Phone", Country: "Country", State: int32(model.UserStateActive)}, + user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "Phone", Country: "Country"}, State: int32(model.UserStateActive)}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "PhoneChanged", Country: "Country", State: int32(model.UserStateActive)}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "PhoneChanged", Country: "Country"}, State: int32(model.UserStateActive)}, }, { name: "append verify user phone event", args: args{ event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.UserPhoneVerified, ResourceOwner: "OrgID"}, - user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateActive)}, + user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country"}, State: int32(model.UserStateActive)}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", IsPhoneVerified: true, Country: "Country", State: int32(model.UserStateActive)}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", IsPhoneVerified: true, Country: "Country"}, State: int32(model.UserStateActive)}, }, { name: "append change user address event", args: args{ event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.UserAddressChanged, ResourceOwner: "OrgID", Data: mockAddressData(&es_model.Address{Country: "CountryChanged"})}, - user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "Phone", Country: "Country", State: int32(model.UserStateActive)}, + user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "Phone", Country: "Country"}, State: int32(model.UserStateActive)}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "Phone", Country: "CountryChanged", State: int32(model.UserStateActive)}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", IsEmailVerified: true, Phone: "Phone", Country: "CountryChanged"}, State: int32(model.UserStateActive)}, }, { name: "append user deactivate event", args: args{ event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.UserDeactivated, ResourceOwner: "OrgID"}, - user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateActive)}, + user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country"}, State: int32(model.UserStateActive)}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateInactive)}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country"}, State: int32(model.UserStateInactive)}, }, { name: "append user reactivate event", args: args{ event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.UserReactivated, ResourceOwner: "OrgID"}, - user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateInactive)}, + user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country"}, State: int32(model.UserStateInactive)}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateActive)}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country"}, State: int32(model.UserStateActive)}, }, { name: "append user lock event", args: args{ event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.UserLocked, ResourceOwner: "OrgID"}, - user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateActive)}, + user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country"}, State: int32(model.UserStateActive)}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateLocked)}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country"}, State: int32(model.UserStateLocked)}, }, { name: "append user unlock event", args: args{ event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.UserUnlocked, ResourceOwner: "OrgID"}, - user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateLocked)}, + user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country"}, State: int32(model.UserStateLocked)}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateActive)}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country"}, State: int32(model.UserStateActive)}, }, { name: "append user add otp event", args: args{ - event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.MfaOtpAdded, ResourceOwner: "OrgID"}, - user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateActive)}, + event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.MFAOTPAdded, ResourceOwner: "OrgID"}, + user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country"}, State: int32(model.UserStateActive)}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateActive), OTPState: int32(model.MfaStateNotReady)}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", OTPState: int32(model.MfaStateNotReady)}, State: int32(model.UserStateActive)}, }, { name: "append user verify otp event", args: args{ - event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.MfaOtpVerified, ResourceOwner: "OrgID"}, - user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateActive), OTPState: int32(model.MfaStateNotReady)}, + event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.MFAOTPVerified, ResourceOwner: "OrgID"}, + user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", OTPState: int32(model.MfaStateNotReady)}, State: int32(model.UserStateActive)}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateActive), OTPState: int32(model.MfaStateReady)}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", OTPState: int32(model.MfaStateReady)}, State: int32(model.UserStateActive)}, }, { name: "append user remove otp event", args: args{ - event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.MfaOtpRemoved, ResourceOwner: "OrgID"}, - user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateActive), OTPState: int32(model.MfaStateReady)}, + event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: es_model.MFAOTPRemoved, ResourceOwner: "OrgID"}, + user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", OTPState: int32(model.MfaStateReady)}, State: int32(model.UserStateActive)}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateActive), OTPState: int32(model.MfaStateUnspecified)}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", OTPState: int32(model.MfaStateUnspecified)}, State: int32(model.UserStateActive)}, }, { name: "append mfa init skipped event", args: args{ - event: &es_models.Event{Sequence: 1, CreationDate: time.Now().UTC(), Type: es_model.MfaInitSkipped, AggregateID: "AggregateID", ResourceOwner: "OrgID"}, - user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateActive)}, + event: &es_models.Event{Sequence: 1, CreationDate: time.Now().UTC(), Type: es_model.MFAInitSkipped, AggregateID: "AggregateID", ResourceOwner: "OrgID"}, + user: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country"}, State: int32(model.UserStateActive)}, }, - result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", State: int32(model.UserStateActive), MfaInitSkipped: time.Now().UTC()}, + result: &UserView{ID: "AggregateID", ResourceOwner: "OrgID", UserName: "UserName", HumanView: &HumanView{FirstName: "FirstName", LastName: "LastName", Email: "Email", Phone: "Phone", Country: "Country", MfaInitSkipped: time.Now().UTC()}, State: int32(model.UserStateActive)}, }, } for _, tt := range tests { diff --git a/internal/user/repository/view/user_view.go b/internal/user/repository/view/user_view.go index b9d7ebed39..65c8e97192 100644 --- a/internal/user/repository/view/user_view.go +++ b/internal/user/repository/view/user_view.go @@ -111,15 +111,15 @@ func IsUserUnique(db *gorm.DB, table, userName, email string) (bool, error) { if err != nil && !caos_errs.IsNotFound(err) { return false, err } - if user != nil { + if user.UserName != "" { return false, nil } - query = repository.PrepareGetByKey(table, model.UserSearchKey(usr_model.UserSearchKeyUserName), email) + query = repository.PrepareGetByKey(table, model.UserSearchKey(usr_model.UserSearchKeyUserName), userName) err = query(db, user) if err != nil && !caos_errs.IsNotFound(err) { return false, err } - return user == nil, nil + return user.UserName == "", nil } func UserMfas(db *gorm.DB, table, userID string) ([]*usr_model.MultiFactor, error) { diff --git a/internal/usergrant/repository/eventsourcing/eventstore.go b/internal/usergrant/repository/eventsourcing/eventstore.go index 03bf61da27..1ae08d905d 100644 --- a/internal/usergrant/repository/eventsourcing/eventstore.go +++ b/internal/usergrant/repository/eventsourcing/eventstore.go @@ -2,6 +2,7 @@ package eventsourcing import ( "context" + "github.com/caos/zitadel/internal/cache/config" caos_errs "github.com/caos/zitadel/internal/errors" es_int "github.com/caos/zitadel/internal/eventstore" @@ -103,33 +104,33 @@ func (es *UserGrantEventStore) PrepareChangeUserGrant(ctx context.Context, grant if grant == nil { return nil, nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-lo0s9", "Errors.UserGrant.Invalid") } - existing, err := es.UserGrantByID(ctx, grant.AggregateID) + existingGrant, err := es.UserGrantByID(ctx, grant.AggregateID) if err != nil { return nil, nil, err } - repoExisting := model.UserGrantFromModel(existing) + repoExistingGrant := model.UserGrantFromModel(existingGrant) repoGrant := model.UserGrantFromModel(grant) - aggFunc := UserGrantChangedAggregate(es.Eventstore.AggregateCreator(), repoExisting, repoGrant, cascade) + aggFunc := UserGrantChangedAggregate(es.Eventstore.AggregateCreator(), repoExistingGrant, repoGrant, cascade) projectAggregate, err := aggFunc(ctx) if err != nil { return nil, nil, err } - return repoExisting, projectAggregate, err + return repoExistingGrant, projectAggregate, err } func (es *UserGrantEventStore) ChangeUserGrant(ctx context.Context, grant *grant_model.UserGrant) (*grant_model.UserGrant, error) { - repoExisting, agg, err := es.PrepareChangeUserGrant(ctx, grant, false) + repoGrant, agg, err := es.PrepareChangeUserGrant(ctx, grant, false) if err != nil { return nil, err } - err = es_sdk.PushAggregates(ctx, es.PushAggregates, repoExisting.AppendEvents, agg) + err = es_sdk.PushAggregates(ctx, es.PushAggregates, repoGrant.AppendEvents, agg) if err != nil { return nil, err } - es.userGrantCache.cacheUserGrant(repoExisting) - return model.UserGrantToModel(repoExisting), nil + es.userGrantCache.cacheUserGrant(repoGrant) + return model.UserGrantToModel(repoGrant), nil } func (es *UserGrantEventStore) ChangeUserGrants(ctx context.Context, grants ...*grant_model.UserGrant) error { @@ -145,15 +146,15 @@ func (es *UserGrantEventStore) ChangeUserGrants(ctx context.Context, grants ...* } func (es *UserGrantEventStore) RemoveUserGrant(ctx context.Context, grantID string) error { - existing, projectAggregates, err := es.PrepareRemoveUserGrant(ctx, grantID, false) + grant, projectAggregates, err := es.PrepareRemoveUserGrant(ctx, grantID, false) if err != nil { return err } - err = es_sdk.PushAggregates(ctx, es.PushAggregates, existing.AppendEvents, projectAggregates...) + err = es_sdk.PushAggregates(ctx, es.PushAggregates, grant.AppendEvents, projectAggregates...) if err != nil { return err } - es.userGrantCache.cacheUserGrant(existing) + es.userGrantCache.cacheUserGrant(grant) return nil } @@ -172,11 +173,11 @@ func (es *UserGrantEventStore) RemoveUserGrants(ctx context.Context, grantIDs .. } func (es *UserGrantEventStore) PrepareRemoveUserGrant(ctx context.Context, grantID string, cascade bool) (*model.UserGrant, []*es_models.Aggregate, error) { - existing, err := es.UserGrantByID(ctx, grantID) + grant, err := es.UserGrantByID(ctx, grantID) if err != nil { return nil, nil, err } - repoExisting := model.UserGrantFromModel(existing) + repoExisting := model.UserGrantFromModel(grant) repoGrant := &model.UserGrant{ObjectRoot: models.ObjectRoot{AggregateID: grantID}} projectAggregates, err := UserGrantRemovedAggregate(ctx, es.Eventstore.AggregateCreator(), repoExisting, repoGrant, cascade) if err != nil { @@ -189,44 +190,44 @@ func (es *UserGrantEventStore) DeactivateUserGrant(ctx context.Context, grantID if grantID == "" { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-8si34", "Errors.UserGrant.IDMissing") } - existing, err := es.UserGrantByID(ctx, grantID) + grant, err := es.UserGrantByID(ctx, grantID) if err != nil { return nil, err } - if !existing.IsActive() { + if !grant.IsActive() { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-lo9sw", "Errors.UserGrant.NotActive") } - repoExisting := model.UserGrantFromModel(existing) + repoExistingGrant := model.UserGrantFromModel(grant) repoGrant := &model.UserGrant{ObjectRoot: models.ObjectRoot{AggregateID: grantID}} - projectAggregate := UserGrantDeactivatedAggregate(es.Eventstore.AggregateCreator(), repoExisting, repoGrant) - err = es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, projectAggregate) + projectAggregate := UserGrantDeactivatedAggregate(es.Eventstore.AggregateCreator(), repoExistingGrant, repoGrant) + err = es_sdk.Push(ctx, es.PushAggregates, repoExistingGrant.AppendEvents, projectAggregate) if err != nil { return nil, err } es.userGrantCache.cacheUserGrant(repoGrant) - return model.UserGrantToModel(repoExisting), nil + return model.UserGrantToModel(repoExistingGrant), nil } func (es *UserGrantEventStore) ReactivateUserGrant(ctx context.Context, grantID string) (*grant_model.UserGrant, error) { if grantID == "" { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-sksiw", "Errors.UserGrant.IDMissing") } - existing, err := es.UserGrantByID(ctx, grantID) + grant, err := es.UserGrantByID(ctx, grantID) if err != nil { return nil, err } - if !existing.IsInactive() { + if !grant.IsInactive() { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-lo9sw", "Errors.UserGrant.NotInactive") } - repoExisting := model.UserGrantFromModel(existing) + repoExistingGrant := model.UserGrantFromModel(grant) repoGrant := &model.UserGrant{ObjectRoot: models.ObjectRoot{AggregateID: grantID}} - projectAggregate := UserGrantReactivatedAggregate(es.Eventstore.AggregateCreator(), repoExisting, repoGrant) - err = es_sdk.Push(ctx, es.PushAggregates, repoExisting.AppendEvents, projectAggregate) + projectAggregate := UserGrantReactivatedAggregate(es.Eventstore.AggregateCreator(), repoExistingGrant, repoGrant) + err = es_sdk.Push(ctx, es.PushAggregates, repoExistingGrant.AppendEvents, projectAggregate) if err != nil { return nil, err } - es.userGrantCache.cacheUserGrant(repoExisting) - return model.UserGrantToModel(repoExisting), nil + es.userGrantCache.cacheUserGrant(repoExistingGrant) + return model.UserGrantToModel(repoExistingGrant), nil } diff --git a/internal/usergrant/repository/eventsourcing/model/user_grant_test.go b/internal/usergrant/repository/eventsourcing/model/user_grant_test.go index b83cafa86e..46415b5d90 100644 --- a/internal/usergrant/repository/eventsourcing/model/user_grant_test.go +++ b/internal/usergrant/repository/eventsourcing/model/user_grant_test.go @@ -1,17 +1,18 @@ package model import ( + "testing" + es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/usergrant/model" - "testing" ) func TestAppendGrantStateEvent(t *testing.T) { type args struct { - existing *UserGrant - grant *UserGrantID - event *es_models.Event - state model.UserGrantState + grant *UserGrant + grantID *UserGrantID + event *es_models.Event + state model.UserGrantState } tests := []struct { name string @@ -21,39 +22,39 @@ func TestAppendGrantStateEvent(t *testing.T) { { name: "append deactivate grant event", args: args{ - existing: &UserGrant{ObjectRoot: es_models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", ProjectID: "ProjectID", RoleKeys: []string{"Key"}}, - grant: &UserGrantID{GrantID: "GrantID"}, - event: &es_models.Event{}, - state: model.UserGrantStateInactive, + grant: &UserGrant{ObjectRoot: es_models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", ProjectID: "ProjectID", RoleKeys: []string{"Key"}}, + grantID: &UserGrantID{GrantID: "GrantID"}, + event: &es_models.Event{}, + state: model.UserGrantStateInactive, }, result: &UserGrant{ObjectRoot: es_models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", ProjectID: "ProjectID", RoleKeys: []string{"Key"}, State: int32(model.UserGrantStateInactive)}, }, { name: "append reactivate grant event", args: args{ - existing: &UserGrant{ObjectRoot: es_models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", ProjectID: "ProjectID", RoleKeys: []string{"Key"}}, - grant: &UserGrantID{GrantID: "GrantID"}, - event: &es_models.Event{}, - state: model.UserGrantStateActive, + grant: &UserGrant{ObjectRoot: es_models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", ProjectID: "ProjectID", RoleKeys: []string{"Key"}}, + grantID: &UserGrantID{GrantID: "GrantID"}, + event: &es_models.Event{}, + state: model.UserGrantStateActive, }, result: &UserGrant{ObjectRoot: es_models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", ProjectID: "ProjectID", RoleKeys: []string{"Key"}, State: int32(model.UserGrantStateActive)}, }, { name: "append remove grant event", args: args{ - existing: &UserGrant{ObjectRoot: es_models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", ProjectID: "ProjectID", RoleKeys: []string{"Key"}}, - grant: &UserGrantID{GrantID: "GrantID"}, - event: &es_models.Event{}, - state: model.UserGrantStateRemoved, + grant: &UserGrant{ObjectRoot: es_models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", ProjectID: "ProjectID", RoleKeys: []string{"Key"}}, + grantID: &UserGrantID{GrantID: "GrantID"}, + event: &es_models.Event{}, + state: model.UserGrantStateRemoved, }, result: &UserGrant{ObjectRoot: es_models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", ProjectID: "ProjectID", RoleKeys: []string{"Key"}, State: int32(model.UserGrantStateRemoved)}, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - tt.args.existing.appendGrantStateEvent(tt.args.state) - if tt.args.existing.State != tt.result.State { - t.Errorf("got wrong result: actual: %v, expected: %v ", tt.result.State, tt.args.existing.State) + tt.args.grant.appendGrantStateEvent(tt.args.state) + if tt.args.grant.State != tt.result.State { + t.Errorf("got wrong result: actual: %v, expected: %v ", tt.result.State, tt.args.grant.State) } }) } diff --git a/internal/usergrant/repository/eventsourcing/user_grant.go b/internal/usergrant/repository/eventsourcing/user_grant.go index 4b8417a9eb..e348d7d349 100644 --- a/internal/usergrant/repository/eventsourcing/user_grant.go +++ b/internal/usergrant/repository/eventsourcing/user_grant.go @@ -96,16 +96,16 @@ func releasedUniqueUserGrantAggregate(ctx context.Context, aggCreator *es_models return aggregate.SetPrecondition(UserGrantUniqueQuery(grant.ResourceOwner, grant.ProjectID, grant.UserID), isEventValidation(aggregate, model.UserGrantReleased)), nil } -func UserGrantChangedAggregate(aggCreator *es_models.AggregateCreator, existing *model.UserGrant, grant *model.UserGrant, cascade bool) func(ctx context.Context) (*es_models.Aggregate, error) { +func UserGrantChangedAggregate(aggCreator *es_models.AggregateCreator, existingGrant *model.UserGrant, grant *model.UserGrant, cascade bool) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if grant == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-osl8x", "grant should not be nil") } - agg, err := UserGrantAggregate(ctx, aggCreator, existing) + agg, err := UserGrantAggregate(ctx, aggCreator, existingGrant) if err != nil { return nil, err } - changes := existing.Changes(grant) + changes := existingGrant.Changes(grant) if !cascade { return agg.AppendEvent(model.UserGrantChanged, changes) } @@ -113,12 +113,12 @@ func UserGrantChangedAggregate(aggCreator *es_models.AggregateCreator, existing } } -func UserGrantDeactivatedAggregate(aggCreator *es_models.AggregateCreator, existing *model.UserGrant, grant *model.UserGrant) func(ctx context.Context) (*es_models.Aggregate, error) { +func UserGrantDeactivatedAggregate(aggCreator *es_models.AggregateCreator, existingGrant *model.UserGrant, grant *model.UserGrant) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if grant == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-lo21s", "grant should not be nil") } - agg, err := UserGrantAggregate(ctx, aggCreator, existing) + agg, err := UserGrantAggregate(ctx, aggCreator, existingGrant) if err != nil { return nil, err } @@ -126,12 +126,12 @@ func UserGrantDeactivatedAggregate(aggCreator *es_models.AggregateCreator, exist } } -func UserGrantReactivatedAggregate(aggCreator *es_models.AggregateCreator, existing *model.UserGrant, grant *model.UserGrant) func(ctx context.Context) (*es_models.Aggregate, error) { +func UserGrantReactivatedAggregate(aggCreator *es_models.AggregateCreator, existingGrant *model.UserGrant, grant *model.UserGrant) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { if grant == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-mks34", "grant should not be nil") } - agg, err := UserGrantAggregate(ctx, aggCreator, existing) + agg, err := UserGrantAggregate(ctx, aggCreator, existingGrant) if err != nil { return nil, err } @@ -139,11 +139,11 @@ func UserGrantReactivatedAggregate(aggCreator *es_models.AggregateCreator, exist } } -func UserGrantRemovedAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, existing *model.UserGrant, grant *model.UserGrant, cascade bool) ([]*es_models.Aggregate, error) { +func UserGrantRemovedAggregate(ctx context.Context, aggCreator *es_models.AggregateCreator, existingGrant *model.UserGrant, grant *model.UserGrant, cascade bool) ([]*es_models.Aggregate, error) { if grant == nil { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-lo21s", "grant should not be nil") } - agg, err := UserGrantAggregate(ctx, aggCreator, existing) + agg, err := UserGrantAggregate(ctx, aggCreator, existingGrant) if err != nil { return nil, err } @@ -155,7 +155,7 @@ func UserGrantRemovedAggregate(ctx context.Context, aggCreator *es_models.Aggreg if err != nil { return nil, err } - uniqueAggregate, err := releasedUniqueUserGrantAggregate(ctx, aggCreator, existing) + uniqueAggregate, err := releasedUniqueUserGrantAggregate(ctx, aggCreator, existingGrant) if err != nil { return nil, err } @@ -188,7 +188,7 @@ func addUserGrantValidation(resourceOwner string, grant *model.UserGrant) func(. switch event.AggregateType { case usr_model.UserAggregate: switch event.Type { - case usr_model.UserAdded, usr_model.UserRegistered: + case usr_model.UserAdded, usr_model.UserRegistered, usr_model.HumanRegistered, usr_model.HumanAdded, usr_model.MachineAdded: existsUser = true case usr_model.UserRemoved: existsUser = false @@ -232,19 +232,19 @@ func checkProjectConditions(resourceOwner string, grant *model.UserGrant, projec return nil } -func checkIfProjectHasRoles(roles []string, existing []*proj_es_model.ProjectRole) error { +func checkIfProjectHasRoles(roles []string, existingRoles []*proj_es_model.ProjectRole) error { for _, roleKey := range roles { - if _, role := proj_es_model.GetProjectRole(existing, roleKey); role == nil { + if _, role := proj_es_model.GetProjectRole(existingRoles, roleKey); role == nil { return errors.ThrowPreconditionFailedf(nil, "EVENT-Lxp0s", "project doesn't have role %v", roleKey) } } return nil } -func checkIfProjectGrantHasRoles(roles []string, existing []string) error { +func checkIfProjectGrantHasRoles(roles []string, existingRoles []string) error { roleExists := false for _, roleKey := range roles { - for _, existingRoleKey := range existing { + for _, existingRoleKey := range existingRoles { if roleKey == existingRoleKey { roleExists = true continue diff --git a/internal/usergrant/repository/eventsourcing/user_grant_test.go b/internal/usergrant/repository/eventsourcing/user_grant_test.go index 42fef00b10..a2f57fdc16 100644 --- a/internal/usergrant/repository/eventsourcing/user_grant_test.go +++ b/internal/usergrant/repository/eventsourcing/user_grant_test.go @@ -72,11 +72,11 @@ func TestUserGrantAddedAggregate(t *testing.T) { func TestUserGrantChangedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.UserGrant - new *model.UserGrant - cascade bool - aggCreator *models.AggregateCreator + ctx context.Context + existingGrant *model.UserGrant + newGrant *model.UserGrant + cascade bool + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -92,12 +92,12 @@ func TestUserGrantChangedAggregate(t *testing.T) { name: "change project grant", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.UserGrant{ + existingGrant: &model.UserGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", ProjectID: "ProjectID", RoleKeys: []string{"Key"}}, - new: &model.UserGrant{ + newGrant: &model.UserGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", ProjectID: "ProjectID", @@ -114,12 +114,12 @@ func TestUserGrantChangedAggregate(t *testing.T) { name: "change project grant cascade", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.UserGrant{ + existingGrant: &model.UserGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", ProjectID: "ProjectID", RoleKeys: []string{"Key"}}, - new: &model.UserGrant{ + newGrant: &model.UserGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", ProjectID: "ProjectID", @@ -136,9 +136,9 @@ func TestUserGrantChangedAggregate(t *testing.T) { { name: "existing grant nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - new: &model.UserGrant{ + ctx: authz.NewMockContext("orgID", "userID"), + existingGrant: nil, + newGrant: &model.UserGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", ProjectID: "ProjectID", @@ -153,12 +153,12 @@ func TestUserGrantChangedAggregate(t *testing.T) { name: "grant nil", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.UserGrant{ + existingGrant: &model.UserGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", ProjectID: "ProjectID", RoleKeys: []string{"Key"}}, - new: nil, + newGrant: nil, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ @@ -168,7 +168,7 @@ func TestUserGrantChangedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := UserGrantChangedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new, tt.args.cascade)(tt.args.ctx) + agg, err := UserGrantChangedAggregate(tt.args.aggCreator, tt.args.existingGrant, tt.args.newGrant, tt.args.cascade)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -191,11 +191,11 @@ func TestUserGrantChangedAggregate(t *testing.T) { func TestUserGrantRemovedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.UserGrant - new *model.UserGrant - cascade bool - aggCreator *models.AggregateCreator + ctx context.Context + existingGrant *model.UserGrant + newGrant *model.UserGrant + cascade bool + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -211,12 +211,12 @@ func TestUserGrantRemovedAggregate(t *testing.T) { name: "remove app", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.UserGrant{ + existingGrant: &model.UserGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", ProjectID: "ProjectID", RoleKeys: []string{"Key"}}, - new: &model.UserGrant{ + newGrant: &model.UserGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, }, aggCreator: models.NewAggregateCreator("Test"), @@ -230,12 +230,12 @@ func TestUserGrantRemovedAggregate(t *testing.T) { name: "remove app cascade", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.UserGrant{ + existingGrant: &model.UserGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", ProjectID: "ProjectID", RoleKeys: []string{"Key"}}, - new: &model.UserGrant{ + newGrant: &model.UserGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, }, cascade: true, @@ -249,9 +249,9 @@ func TestUserGrantRemovedAggregate(t *testing.T) { { name: "existing project nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingGrant: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -261,12 +261,12 @@ func TestUserGrantRemovedAggregate(t *testing.T) { name: "grant nil", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.UserGrant{ + existingGrant: &model.UserGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, UserID: "UserID", ProjectID: "ProjectID", RoleKeys: []string{"Key"}}, - new: nil, + newGrant: nil, aggCreator: models.NewAggregateCreator("Test"), }, res: res{ @@ -276,7 +276,7 @@ func TestUserGrantRemovedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - aggregates, err := UserGrantRemovedAggregate(tt.args.ctx, tt.args.aggCreator, tt.args.existing, tt.args.new, tt.args.cascade) + aggregates, err := UserGrantRemovedAggregate(tt.args.ctx, tt.args.aggCreator, tt.args.existingGrant, tt.args.newGrant, tt.args.cascade) if tt.res.errFunc == nil && len(aggregates[0].Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(aggregates[0].Events)) @@ -296,10 +296,10 @@ func TestUserGrantRemovedAggregate(t *testing.T) { func TestUserGrantDeactivatedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.UserGrant - new *model.UserGrant - aggCreator *models.AggregateCreator + ctx context.Context + existingGrant *model.UserGrant + newGrant *model.UserGrant + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -315,10 +315,10 @@ func TestUserGrantDeactivatedAggregate(t *testing.T) { name: "deactivate project grant", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.UserGrant{ + existingGrant: &model.UserGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, }, - new: &model.UserGrant{ + newGrant: &model.UserGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, }, aggCreator: models.NewAggregateCreator("Test"), @@ -331,9 +331,9 @@ func TestUserGrantDeactivatedAggregate(t *testing.T) { { name: "existing grant nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingGrant: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -342,10 +342,10 @@ func TestUserGrantDeactivatedAggregate(t *testing.T) { { name: "grant nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.UserGrant{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingGrant: &model.UserGrant{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, + newGrant: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -354,7 +354,7 @@ func TestUserGrantDeactivatedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := UserGrantDeactivatedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := UserGrantDeactivatedAggregate(tt.args.aggCreator, tt.args.existingGrant, tt.args.newGrant)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) @@ -374,10 +374,10 @@ func TestUserGrantDeactivatedAggregate(t *testing.T) { func TestUserGrantReactivatedAggregate(t *testing.T) { type args struct { - ctx context.Context - existing *model.UserGrant - new *model.UserGrant - aggCreator *models.AggregateCreator + ctx context.Context + existingGrant *model.UserGrant + newGrant *model.UserGrant + aggCreator *models.AggregateCreator } type res struct { eventLen int @@ -393,10 +393,10 @@ func TestUserGrantReactivatedAggregate(t *testing.T) { name: "reactivate project grant", args: args{ ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.UserGrant{ + existingGrant: &model.UserGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, }, - new: &model.UserGrant{ + newGrant: &model.UserGrant{ ObjectRoot: models.ObjectRoot{AggregateID: "ID"}, }, aggCreator: models.NewAggregateCreator("Test"), @@ -409,9 +409,9 @@ func TestUserGrantReactivatedAggregate(t *testing.T) { { name: "existing grant nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingGrant: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -420,10 +420,10 @@ func TestUserGrantReactivatedAggregate(t *testing.T) { { name: "grant nil", args: args{ - ctx: authz.NewMockContext("orgID", "userID"), - existing: &model.UserGrant{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, - new: nil, - aggCreator: models.NewAggregateCreator("Test"), + ctx: authz.NewMockContext("orgID", "userID"), + existingGrant: &model.UserGrant{ObjectRoot: models.ObjectRoot{AggregateID: "ID"}}, + newGrant: nil, + aggCreator: models.NewAggregateCreator("Test"), }, res: res{ errFunc: caos_errs.IsPreconditionFailed, @@ -432,7 +432,7 @@ func TestUserGrantReactivatedAggregate(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - agg, err := UserGrantReactivatedAggregate(tt.args.aggCreator, tt.args.existing, tt.args.new)(tt.args.ctx) + agg, err := UserGrantReactivatedAggregate(tt.args.aggCreator, tt.args.existingGrant, tt.args.newGrant)(tt.args.ctx) if tt.res.errFunc == nil && len(agg.Events) != tt.res.eventLen { t.Errorf("got wrong event len: expected: %v, actual: %v ", tt.res.eventLen, len(agg.Events)) diff --git a/internal/usergrant/repository/view/model/user_grant.go b/internal/usergrant/repository/view/model/user_grant.go index de34682bc0..b65436b0da 100644 --- a/internal/usergrant/repository/view/model/user_grant.go +++ b/internal/usergrant/repository/view/model/user_grant.go @@ -45,28 +45,6 @@ type UserGrantView struct { Sequence uint64 `json:"-" gorm:"column:sequence"` } -func UserGrantFromModel(grant *model.UserGrantView) *UserGrantView { - return &UserGrantView{ - ID: grant.ID, - ResourceOwner: grant.ResourceOwner, - UserID: grant.UserID, - ProjectID: grant.ProjectID, - GrantID: grant.GrantID, - ChangeDate: grant.ChangeDate, - CreationDate: grant.CreationDate, - State: int32(grant.State), - UserName: grant.UserName, - FirstName: grant.FirstName, - LastName: grant.LastName, - DisplayName: grant.DisplayName, - Email: grant.Email, - ProjectName: grant.ProjectName, - OrgName: grant.OrgName, - RoleKeys: grant.RoleKeys, - Sequence: grant.Sequence, - } -} - func UserGrantToModel(grant *UserGrantView) *model.UserGrantView { return &model.UserGrantView{ ID: grant.ID, diff --git a/internal/usergrant/repository/view/user_grant_view.go b/internal/usergrant/repository/view/user_grant_view.go index 6aa4a7ee69..5704747936 100644 --- a/internal/usergrant/repository/view/user_grant_view.go +++ b/internal/usergrant/repository/view/user_grant_view.go @@ -46,7 +46,7 @@ func SearchUserGrants(db *gorm.DB, table string, req *grant_model.UserGrantSearc func UserGrantsByUserID(db *gorm.DB, table, userID string) ([]*model.UserGrantView, error) { users := make([]*model.UserGrantView, 0) queries := []*grant_model.UserGrantSearchQuery{ - &grant_model.UserGrantSearchQuery{Key: grant_model.UserGrantSearchKeyUserID, Value: userID, Method: global_model.SearchMethodEquals}, + {Key: grant_model.UserGrantSearchKeyUserID, Value: userID, Method: global_model.SearchMethodEquals}, } query := repository.PrepareSearchQuery(table, model.UserGrantSearchRequest{Queries: queries}) _, err := query(db, &users) @@ -59,7 +59,7 @@ func UserGrantsByUserID(db *gorm.DB, table, userID string) ([]*model.UserGrantVi func UserGrantsByProjectID(db *gorm.DB, table, projectID string) ([]*model.UserGrantView, error) { users := make([]*model.UserGrantView, 0) queries := []*grant_model.UserGrantSearchQuery{ - &grant_model.UserGrantSearchQuery{Key: grant_model.UserGrantSearchKeyProjectID, Value: projectID, Method: global_model.SearchMethodEquals}, + {Key: grant_model.UserGrantSearchKeyProjectID, Value: projectID, Method: global_model.SearchMethodEquals}, } query := repository.PrepareSearchQuery(table, model.UserGrantSearchRequest{Queries: queries}) _, err := query(db, &users) @@ -72,8 +72,8 @@ func UserGrantsByProjectID(db *gorm.DB, table, projectID string) ([]*model.UserG func UserGrantsByProjectAndUserID(db *gorm.DB, table, projectID, userID string) ([]*model.UserGrantView, error) { users := make([]*model.UserGrantView, 0) queries := []*grant_model.UserGrantSearchQuery{ - &grant_model.UserGrantSearchQuery{Key: grant_model.UserGrantSearchKeyProjectID, Value: projectID, Method: global_model.SearchMethodEquals}, - &grant_model.UserGrantSearchQuery{Key: grant_model.UserGrantSearchKeyUserID, Value: userID, Method: global_model.SearchMethodEquals}, + {Key: grant_model.UserGrantSearchKeyProjectID, Value: projectID, Method: global_model.SearchMethodEquals}, + {Key: grant_model.UserGrantSearchKeyUserID, Value: userID, Method: global_model.SearchMethodEquals}, } query := repository.PrepareSearchQuery(table, model.UserGrantSearchRequest{Queries: queries}) _, err := query(db, &users) @@ -86,8 +86,8 @@ func UserGrantsByProjectAndUserID(db *gorm.DB, table, projectID, userID string) func UserGrantsByProjectIDAndRole(db *gorm.DB, table, projectID, roleKey string) ([]*model.UserGrantView, error) { users := make([]*model.UserGrantView, 0) queries := []*grant_model.UserGrantSearchQuery{ - &grant_model.UserGrantSearchQuery{Key: grant_model.UserGrantSearchKeyProjectID, Value: projectID, Method: global_model.SearchMethodEquals}, - &grant_model.UserGrantSearchQuery{Key: grant_model.UserGrantSearchKeyRoleKey, Value: roleKey, Method: global_model.SearchMethodListContains}, + {Key: grant_model.UserGrantSearchKeyProjectID, Value: projectID, Method: global_model.SearchMethodEquals}, + {Key: grant_model.UserGrantSearchKeyRoleKey, Value: roleKey, Method: global_model.SearchMethodListContains}, } query := repository.PrepareSearchQuery(table, model.UserGrantSearchRequest{Queries: queries}) _, err := query(db, &users) @@ -100,8 +100,8 @@ func UserGrantsByProjectIDAndRole(db *gorm.DB, table, projectID, roleKey string) func UserGrantsByOrgIDAndProjectID(db *gorm.DB, table, orgID, projectID string) ([]*model.UserGrantView, error) { users := make([]*model.UserGrantView, 0) queries := []*grant_model.UserGrantSearchQuery{ - &grant_model.UserGrantSearchQuery{Key: grant_model.UserGrantSearchKeyResourceOwner, Value: orgID, Method: global_model.SearchMethodEquals}, - &grant_model.UserGrantSearchQuery{Key: grant_model.UserGrantSearchKeyProjectID, Value: projectID, Method: global_model.SearchMethodEquals}, + {Key: grant_model.UserGrantSearchKeyResourceOwner, Value: orgID, Method: global_model.SearchMethodEquals}, + {Key: grant_model.UserGrantSearchKeyProjectID, Value: projectID, Method: global_model.SearchMethodEquals}, } query := repository.PrepareSearchQuery(table, model.UserGrantSearchRequest{Queries: queries}) _, err := query(db, &users) @@ -114,7 +114,7 @@ func UserGrantsByOrgIDAndProjectID(db *gorm.DB, table, orgID, projectID string) func UserGrantsByOrgID(db *gorm.DB, table, orgID string) ([]*model.UserGrantView, error) { users := make([]*model.UserGrantView, 0) queries := []*grant_model.UserGrantSearchQuery{ - &grant_model.UserGrantSearchQuery{Key: grant_model.UserGrantSearchKeyResourceOwner, Value: orgID, Method: global_model.SearchMethodEquals}, + {Key: grant_model.UserGrantSearchKeyResourceOwner, Value: orgID, Method: global_model.SearchMethodEquals}, } query := repository.PrepareSearchQuery(table, model.UserGrantSearchRequest{Queries: queries}) _, err := query(db, &users) diff --git a/migrations/cockroach/V1.10__user_machine.sql b/migrations/cockroach/V1.10__user_machine.sql new file mode 100644 index 0000000000..534d4a5397 --- /dev/null +++ b/migrations/cockroach/V1.10__user_machine.sql @@ -0,0 +1,15 @@ +ALTER TABLE management.users ADD COLUMN machine_name STRING, ADD COLUMN machine_description STRING, ADD COLUMN user_type STRING; +ALTER TABLE adminapi.users ADD COLUMN machine_name STRING, ADD COLUMN machine_description STRING, ADD COLUMN user_type STRING; +ALTER TABLE auth.users ADD COLUMN machine_name STRING, ADD COLUMN machine_description STRING, ADD COLUMN user_type STRING; + +CREATE TABLE management.machine_keys ( + id TEXT, + user_id TEXT, + + machine_type SMALLINT, + expiration_date TIMESTAMPTZ, + sequence BIGINT, + creation_date TIMESTAMPTZ, + + PRIMARY KEY (id, user_id) +) \ No newline at end of file diff --git a/pkg/grpc/admin/admin.pb.go b/pkg/grpc/admin/admin.pb.go index 1ed4e50c53..adaa8ff12a 100644 --- a/pkg/grpc/admin/admin.pb.go +++ b/pkg/grpc/admin/admin.pb.go @@ -1,13 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.20.1 -// protoc v3.11.3 // source: admin.proto package admin import ( context "context" + fmt "fmt" _ "github.com/caos/zitadel/internal/protoc/protoc-gen-authoption/authoption" _ "github.com/envoyproxy/protoc-gen-validate/validate" proto "github.com/golang/protobuf/proto" @@ -19,22 +17,19 @@ import ( grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" + math "math" ) -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf -// This is a compile-time assertion that a sufficiently up-to-date version -// of the legacy proto package is being used. -const _ = proto.ProtoPackageIsVersion4 +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package type OrgState int32 @@ -44,97 +39,55 @@ const ( OrgState_ORGSTATE_INACTIVE OrgState = 2 ) -// Enum value maps for OrgState. -var ( - OrgState_name = map[int32]string{ - 0: "ORGSTATE_UNSPECIFIED", - 1: "ORGSTATE_ACTIVE", - 2: "ORGSTATE_INACTIVE", - } - OrgState_value = map[string]int32{ - "ORGSTATE_UNSPECIFIED": 0, - "ORGSTATE_ACTIVE": 1, - "ORGSTATE_INACTIVE": 2, - } -) +var OrgState_name = map[int32]string{ + 0: "ORGSTATE_UNSPECIFIED", + 1: "ORGSTATE_ACTIVE", + 2: "ORGSTATE_INACTIVE", +} -func (x OrgState) Enum() *OrgState { - p := new(OrgState) - *p = x - return p +var OrgState_value = map[string]int32{ + "ORGSTATE_UNSPECIFIED": 0, + "ORGSTATE_ACTIVE": 1, + "ORGSTATE_INACTIVE": 2, } func (x OrgState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(OrgState_name, int32(x)) } -func (OrgState) Descriptor() protoreflect.EnumDescriptor { - return file_admin_proto_enumTypes[0].Descriptor() -} - -func (OrgState) Type() protoreflect.EnumType { - return &file_admin_proto_enumTypes[0] -} - -func (x OrgState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use OrgState.Descriptor instead. func (OrgState) EnumDescriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{0} + return fileDescriptor_73a7fc70dcc2027c, []int{0} } type OrgSearchKey int32 const ( OrgSearchKey_ORGSEARCHKEY_UNSPECIFIED OrgSearchKey = 0 - OrgSearchKey_ORGSEARCHKEY_ORG_NAME OrgSearchKey = 1 + OrgSearchKey_ORGSEARCHKEY_NAME OrgSearchKey = 1 OrgSearchKey_ORGSEARCHKEY_DOMAIN OrgSearchKey = 2 OrgSearchKey_ORGSEARCHKEY_STATE OrgSearchKey = 3 ) -// Enum value maps for OrgSearchKey. -var ( - OrgSearchKey_name = map[int32]string{ - 0: "ORGSEARCHKEY_UNSPECIFIED", - 1: "ORGSEARCHKEY_ORG_NAME", - 2: "ORGSEARCHKEY_DOMAIN", - 3: "ORGSEARCHKEY_STATE", - } - OrgSearchKey_value = map[string]int32{ - "ORGSEARCHKEY_UNSPECIFIED": 0, - "ORGSEARCHKEY_ORG_NAME": 1, - "ORGSEARCHKEY_DOMAIN": 2, - "ORGSEARCHKEY_STATE": 3, - } -) +var OrgSearchKey_name = map[int32]string{ + 0: "ORGSEARCHKEY_UNSPECIFIED", + 1: "ORGSEARCHKEY_NAME", + 2: "ORGSEARCHKEY_DOMAIN", + 3: "ORGSEARCHKEY_STATE", +} -func (x OrgSearchKey) Enum() *OrgSearchKey { - p := new(OrgSearchKey) - *p = x - return p +var OrgSearchKey_value = map[string]int32{ + "ORGSEARCHKEY_UNSPECIFIED": 0, + "ORGSEARCHKEY_NAME": 1, + "ORGSEARCHKEY_DOMAIN": 2, + "ORGSEARCHKEY_STATE": 3, } func (x OrgSearchKey) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(OrgSearchKey_name, int32(x)) } -func (OrgSearchKey) Descriptor() protoreflect.EnumDescriptor { - return file_admin_proto_enumTypes[1].Descriptor() -} - -func (OrgSearchKey) Type() protoreflect.EnumType { - return &file_admin_proto_enumTypes[1] -} - -func (x OrgSearchKey) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use OrgSearchKey.Descriptor instead. func (OrgSearchKey) EnumDescriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{1} + return fileDescriptor_73a7fc70dcc2027c, []int{1} } type OrgSearchMethod int32 @@ -145,45 +98,24 @@ const ( OrgSearchMethod_ORGSEARCHMETHOD_CONTAINS OrgSearchMethod = 2 ) -// Enum value maps for OrgSearchMethod. -var ( - OrgSearchMethod_name = map[int32]string{ - 0: "ORGSEARCHMETHOD_EQUALS", - 1: "ORGSEARCHMETHOD_STARTS_WITH", - 2: "ORGSEARCHMETHOD_CONTAINS", - } - OrgSearchMethod_value = map[string]int32{ - "ORGSEARCHMETHOD_EQUALS": 0, - "ORGSEARCHMETHOD_STARTS_WITH": 1, - "ORGSEARCHMETHOD_CONTAINS": 2, - } -) +var OrgSearchMethod_name = map[int32]string{ + 0: "ORGSEARCHMETHOD_EQUALS", + 1: "ORGSEARCHMETHOD_STARTS_WITH", + 2: "ORGSEARCHMETHOD_CONTAINS", +} -func (x OrgSearchMethod) Enum() *OrgSearchMethod { - p := new(OrgSearchMethod) - *p = x - return p +var OrgSearchMethod_value = map[string]int32{ + "ORGSEARCHMETHOD_EQUALS": 0, + "ORGSEARCHMETHOD_STARTS_WITH": 1, + "ORGSEARCHMETHOD_CONTAINS": 2, } func (x OrgSearchMethod) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(OrgSearchMethod_name, int32(x)) } -func (OrgSearchMethod) Descriptor() protoreflect.EnumDescriptor { - return file_admin_proto_enumTypes[2].Descriptor() -} - -func (OrgSearchMethod) Type() protoreflect.EnumType { - return &file_admin_proto_enumTypes[2] -} - -func (x OrgSearchMethod) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use OrgSearchMethod.Descriptor instead. func (OrgSearchMethod) EnumDescriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{2} + return fileDescriptor_73a7fc70dcc2027c, []int{2} } type UserState int32 @@ -198,53 +130,32 @@ const ( UserState_USERSTATE_INITIAL UserState = 6 ) -// Enum value maps for UserState. -var ( - UserState_name = map[int32]string{ - 0: "USERSTATE_UNSPECIFIED", - 1: "USERSTATE_ACTIVE", - 2: "USERSTATE_INACTIVE", - 3: "USERSTATE_DELETED", - 4: "USERSTATE_LOCKED", - 5: "USERSTATE_SUSPEND", - 6: "USERSTATE_INITIAL", - } - UserState_value = map[string]int32{ - "USERSTATE_UNSPECIFIED": 0, - "USERSTATE_ACTIVE": 1, - "USERSTATE_INACTIVE": 2, - "USERSTATE_DELETED": 3, - "USERSTATE_LOCKED": 4, - "USERSTATE_SUSPEND": 5, - "USERSTATE_INITIAL": 6, - } -) +var UserState_name = map[int32]string{ + 0: "USERSTATE_UNSPECIFIED", + 1: "USERSTATE_ACTIVE", + 2: "USERSTATE_INACTIVE", + 3: "USERSTATE_DELETED", + 4: "USERSTATE_LOCKED", + 5: "USERSTATE_SUSPEND", + 6: "USERSTATE_INITIAL", +} -func (x UserState) Enum() *UserState { - p := new(UserState) - *p = x - return p +var UserState_value = map[string]int32{ + "USERSTATE_UNSPECIFIED": 0, + "USERSTATE_ACTIVE": 1, + "USERSTATE_INACTIVE": 2, + "USERSTATE_DELETED": 3, + "USERSTATE_LOCKED": 4, + "USERSTATE_SUSPEND": 5, + "USERSTATE_INITIAL": 6, } func (x UserState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(UserState_name, int32(x)) } -func (UserState) Descriptor() protoreflect.EnumDescriptor { - return file_admin_proto_enumTypes[3].Descriptor() -} - -func (UserState) Type() protoreflect.EnumType { - return &file_admin_proto_enumTypes[3] -} - -func (x UserState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use UserState.Descriptor instead. func (UserState) EnumDescriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{3} + return fileDescriptor_73a7fc70dcc2027c, []int{3} } type Gender int32 @@ -256,47 +167,51 @@ const ( Gender_GENDER_DIVERSE Gender = 3 ) -// Enum value maps for Gender. -var ( - Gender_name = map[int32]string{ - 0: "GENDER_UNSPECIFIED", - 1: "GENDER_FEMALE", - 2: "GENDER_MALE", - 3: "GENDER_DIVERSE", - } - Gender_value = map[string]int32{ - "GENDER_UNSPECIFIED": 0, - "GENDER_FEMALE": 1, - "GENDER_MALE": 2, - "GENDER_DIVERSE": 3, - } -) +var Gender_name = map[int32]string{ + 0: "GENDER_UNSPECIFIED", + 1: "GENDER_FEMALE", + 2: "GENDER_MALE", + 3: "GENDER_DIVERSE", +} -func (x Gender) Enum() *Gender { - p := new(Gender) - *p = x - return p +var Gender_value = map[string]int32{ + "GENDER_UNSPECIFIED": 0, + "GENDER_FEMALE": 1, + "GENDER_MALE": 2, + "GENDER_DIVERSE": 3, } func (x Gender) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(Gender_name, int32(x)) } -func (Gender) Descriptor() protoreflect.EnumDescriptor { - return file_admin_proto_enumTypes[4].Descriptor() -} - -func (Gender) Type() protoreflect.EnumType { - return &file_admin_proto_enumTypes[4] -} - -func (x Gender) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Gender.Descriptor instead. func (Gender) EnumDescriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{4} + return fileDescriptor_73a7fc70dcc2027c, []int{4} +} + +type MachineKeyType int32 + +const ( + MachineKeyType_MACHINEKEY_UNSPECIFIED MachineKeyType = 0 + MachineKeyType_MACHINEKEY_JSON MachineKeyType = 1 +) + +var MachineKeyType_name = map[int32]string{ + 0: "MACHINEKEY_UNSPECIFIED", + 1: "MACHINEKEY_JSON", +} + +var MachineKeyType_value = map[string]int32{ + "MACHINEKEY_UNSPECIFIED": 0, + "MACHINEKEY_JSON": 1, +} + +func (x MachineKeyType) String() string { + return proto.EnumName(MachineKeyType_name, int32(x)) +} + +func (MachineKeyType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_73a7fc70dcc2027c, []int{5} } type IamMemberSearchKey int32 @@ -309,49 +224,28 @@ const ( IamMemberSearchKey_IAMMEMBERSEARCHKEY_USER_ID IamMemberSearchKey = 4 ) -// Enum value maps for IamMemberSearchKey. -var ( - IamMemberSearchKey_name = map[int32]string{ - 0: "IAMMEMBERSEARCHKEY_UNSPECIFIED", - 1: "IAMMEMBERSEARCHKEY_FIRST_NAME", - 2: "IAMMEMBERSEARCHKEY_LAST_NAME", - 3: "IAMMEMBERSEARCHKEY_EMAIL", - 4: "IAMMEMBERSEARCHKEY_USER_ID", - } - IamMemberSearchKey_value = map[string]int32{ - "IAMMEMBERSEARCHKEY_UNSPECIFIED": 0, - "IAMMEMBERSEARCHKEY_FIRST_NAME": 1, - "IAMMEMBERSEARCHKEY_LAST_NAME": 2, - "IAMMEMBERSEARCHKEY_EMAIL": 3, - "IAMMEMBERSEARCHKEY_USER_ID": 4, - } -) +var IamMemberSearchKey_name = map[int32]string{ + 0: "IAMMEMBERSEARCHKEY_UNSPECIFIED", + 1: "IAMMEMBERSEARCHKEY_FIRST_NAME", + 2: "IAMMEMBERSEARCHKEY_LAST_NAME", + 3: "IAMMEMBERSEARCHKEY_EMAIL", + 4: "IAMMEMBERSEARCHKEY_USER_ID", +} -func (x IamMemberSearchKey) Enum() *IamMemberSearchKey { - p := new(IamMemberSearchKey) - *p = x - return p +var IamMemberSearchKey_value = map[string]int32{ + "IAMMEMBERSEARCHKEY_UNSPECIFIED": 0, + "IAMMEMBERSEARCHKEY_FIRST_NAME": 1, + "IAMMEMBERSEARCHKEY_LAST_NAME": 2, + "IAMMEMBERSEARCHKEY_EMAIL": 3, + "IAMMEMBERSEARCHKEY_USER_ID": 4, } func (x IamMemberSearchKey) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(IamMemberSearchKey_name, int32(x)) } -func (IamMemberSearchKey) Descriptor() protoreflect.EnumDescriptor { - return file_admin_proto_enumTypes[5].Descriptor() -} - -func (IamMemberSearchKey) Type() protoreflect.EnumType { - return &file_admin_proto_enumTypes[5] -} - -func (x IamMemberSearchKey) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use IamMemberSearchKey.Descriptor instead. func (IamMemberSearchKey) EnumDescriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{5} + return fileDescriptor_73a7fc70dcc2027c, []int{6} } type SearchMethod int32 @@ -370,61 +264,40 @@ const ( SearchMethod_SEARCHMETHOD_LIST_CONTAINS SearchMethod = 10 ) -// Enum value maps for SearchMethod. -var ( - SearchMethod_name = map[int32]string{ - 0: "SEARCHMETHOD_EQUALS", - 1: "SEARCHMETHOD_STARTS_WITH", - 2: "SEARCHMETHOD_CONTAINS", - 3: "SEARCHMETHOD_EQUALS_IGNORE_CASE", - 4: "SEARCHMETHOD_STARTS_WITH_IGNORE_CASE", - 5: "SEARCHMETHOD_CONTAINS_IGNORE_CASE", - 6: "SEARCHMETHOD_NOT_EQUALS", - 7: "SEARCHMETHOD_GREATER_THAN", - 8: "SEARCHMETHOD_LESS_THAN", - 9: "SEARCHMETHOD_IS_ONE_OF", - 10: "SEARCHMETHOD_LIST_CONTAINS", - } - SearchMethod_value = map[string]int32{ - "SEARCHMETHOD_EQUALS": 0, - "SEARCHMETHOD_STARTS_WITH": 1, - "SEARCHMETHOD_CONTAINS": 2, - "SEARCHMETHOD_EQUALS_IGNORE_CASE": 3, - "SEARCHMETHOD_STARTS_WITH_IGNORE_CASE": 4, - "SEARCHMETHOD_CONTAINS_IGNORE_CASE": 5, - "SEARCHMETHOD_NOT_EQUALS": 6, - "SEARCHMETHOD_GREATER_THAN": 7, - "SEARCHMETHOD_LESS_THAN": 8, - "SEARCHMETHOD_IS_ONE_OF": 9, - "SEARCHMETHOD_LIST_CONTAINS": 10, - } -) +var SearchMethod_name = map[int32]string{ + 0: "SEARCHMETHOD_EQUALS", + 1: "SEARCHMETHOD_STARTS_WITH", + 2: "SEARCHMETHOD_CONTAINS", + 3: "SEARCHMETHOD_EQUALS_IGNORE_CASE", + 4: "SEARCHMETHOD_STARTS_WITH_IGNORE_CASE", + 5: "SEARCHMETHOD_CONTAINS_IGNORE_CASE", + 6: "SEARCHMETHOD_NOT_EQUALS", + 7: "SEARCHMETHOD_GREATER_THAN", + 8: "SEARCHMETHOD_LESS_THAN", + 9: "SEARCHMETHOD_IS_ONE_OF", + 10: "SEARCHMETHOD_LIST_CONTAINS", +} -func (x SearchMethod) Enum() *SearchMethod { - p := new(SearchMethod) - *p = x - return p +var SearchMethod_value = map[string]int32{ + "SEARCHMETHOD_EQUALS": 0, + "SEARCHMETHOD_STARTS_WITH": 1, + "SEARCHMETHOD_CONTAINS": 2, + "SEARCHMETHOD_EQUALS_IGNORE_CASE": 3, + "SEARCHMETHOD_STARTS_WITH_IGNORE_CASE": 4, + "SEARCHMETHOD_CONTAINS_IGNORE_CASE": 5, + "SEARCHMETHOD_NOT_EQUALS": 6, + "SEARCHMETHOD_GREATER_THAN": 7, + "SEARCHMETHOD_LESS_THAN": 8, + "SEARCHMETHOD_IS_ONE_OF": 9, + "SEARCHMETHOD_LIST_CONTAINS": 10, } func (x SearchMethod) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(SearchMethod_name, int32(x)) } -func (SearchMethod) Descriptor() protoreflect.EnumDescriptor { - return file_admin_proto_enumTypes[6].Descriptor() -} - -func (SearchMethod) Type() protoreflect.EnumType { - return &file_admin_proto_enumTypes[6] -} - -func (x SearchMethod) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SearchMethod.Descriptor instead. func (SearchMethod) EnumDescriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{6} + return fileDescriptor_73a7fc70dcc2027c, []int{7} } type IdpState int32 @@ -435,45 +308,24 @@ const ( IdpState_IDPCONFIGSTATE_INACTIVE IdpState = 2 ) -// Enum value maps for IdpState. -var ( - IdpState_name = map[int32]string{ - 0: "IDPCONFIGSTATE_UNSPECIFIED", - 1: "IDPCONFIGSTATE_ACTIVE", - 2: "IDPCONFIGSTATE_INACTIVE", - } - IdpState_value = map[string]int32{ - "IDPCONFIGSTATE_UNSPECIFIED": 0, - "IDPCONFIGSTATE_ACTIVE": 1, - "IDPCONFIGSTATE_INACTIVE": 2, - } -) +var IdpState_name = map[int32]string{ + 0: "IDPCONFIGSTATE_UNSPECIFIED", + 1: "IDPCONFIGSTATE_ACTIVE", + 2: "IDPCONFIGSTATE_INACTIVE", +} -func (x IdpState) Enum() *IdpState { - p := new(IdpState) - *p = x - return p +var IdpState_value = map[string]int32{ + "IDPCONFIGSTATE_UNSPECIFIED": 0, + "IDPCONFIGSTATE_ACTIVE": 1, + "IDPCONFIGSTATE_INACTIVE": 2, } func (x IdpState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(IdpState_name, int32(x)) } -func (IdpState) Descriptor() protoreflect.EnumDescriptor { - return file_admin_proto_enumTypes[7].Descriptor() -} - -func (IdpState) Type() protoreflect.EnumType { - return &file_admin_proto_enumTypes[7] -} - -func (x IdpState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use IdpState.Descriptor instead. func (IdpState) EnumDescriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{7} + return fileDescriptor_73a7fc70dcc2027c, []int{8} } type IdpSearchKey int32 @@ -484,45 +336,24 @@ const ( IdpSearchKey_IDPSEARCHKEY_NAME IdpSearchKey = 2 ) -// Enum value maps for IdpSearchKey. -var ( - IdpSearchKey_name = map[int32]string{ - 0: "IDPSEARCHKEY_UNSPECIFIED", - 1: "IDPSEARCHKEY_IDP_CONFIG_ID", - 2: "IDPSEARCHKEY_NAME", - } - IdpSearchKey_value = map[string]int32{ - "IDPSEARCHKEY_UNSPECIFIED": 0, - "IDPSEARCHKEY_IDP_CONFIG_ID": 1, - "IDPSEARCHKEY_NAME": 2, - } -) +var IdpSearchKey_name = map[int32]string{ + 0: "IDPSEARCHKEY_UNSPECIFIED", + 1: "IDPSEARCHKEY_IDP_CONFIG_ID", + 2: "IDPSEARCHKEY_NAME", +} -func (x IdpSearchKey) Enum() *IdpSearchKey { - p := new(IdpSearchKey) - *p = x - return p +var IdpSearchKey_value = map[string]int32{ + "IDPSEARCHKEY_UNSPECIFIED": 0, + "IDPSEARCHKEY_IDP_CONFIG_ID": 1, + "IDPSEARCHKEY_NAME": 2, } func (x IdpSearchKey) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(IdpSearchKey_name, int32(x)) } -func (IdpSearchKey) Descriptor() protoreflect.EnumDescriptor { - return file_admin_proto_enumTypes[8].Descriptor() -} - -func (IdpSearchKey) Type() protoreflect.EnumType { - return &file_admin_proto_enumTypes[8] -} - -func (x IdpSearchKey) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use IdpSearchKey.Descriptor instead. func (IdpSearchKey) EnumDescriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{8} + return fileDescriptor_73a7fc70dcc2027c, []int{9} } type IdpType int32 @@ -533,1056 +364,1268 @@ const ( IdpType_IDPTYPE_SAML IdpType = 2 ) -// Enum value maps for IdpType. -var ( - IdpType_name = map[int32]string{ - 0: "IDPTYPE_UNSPECIFIED", - 1: "IDPTYPE_OIDC", - 2: "IDPTYPE_SAML", - } - IdpType_value = map[string]int32{ - "IDPTYPE_UNSPECIFIED": 0, - "IDPTYPE_OIDC": 1, - "IDPTYPE_SAML": 2, - } -) +var IdpType_name = map[int32]string{ + 0: "IDPTYPE_UNSPECIFIED", + 1: "IDPTYPE_OIDC", + 2: "IDPTYPE_SAML", +} -func (x IdpType) Enum() *IdpType { - p := new(IdpType) - *p = x - return p +var IdpType_value = map[string]int32{ + "IDPTYPE_UNSPECIFIED": 0, + "IDPTYPE_OIDC": 1, + "IDPTYPE_SAML": 2, } func (x IdpType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(IdpType_name, int32(x)) } -func (IdpType) Descriptor() protoreflect.EnumDescriptor { - return file_admin_proto_enumTypes[9].Descriptor() -} - -func (IdpType) Type() protoreflect.EnumType { - return &file_admin_proto_enumTypes[9] -} - -func (x IdpType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use IdpType.Descriptor instead. func (IdpType) EnumDescriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{9} + return fileDescriptor_73a7fc70dcc2027c, []int{10} } type OrgID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgID) Reset() { - *x = OrgID{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgID) ProtoMessage() {} - -func (x *OrgID) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgID.ProtoReflect.Descriptor instead. +func (m *OrgID) Reset() { *m = OrgID{} } +func (m *OrgID) String() string { return proto.CompactTextString(m) } +func (*OrgID) ProtoMessage() {} func (*OrgID) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{0} + return fileDescriptor_73a7fc70dcc2027c, []int{0} } -func (x *OrgID) GetId() string { - if x != nil { - return x.Id +func (m *OrgID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgID.Unmarshal(m, b) +} +func (m *OrgID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgID.Marshal(b, m, deterministic) +} +func (m *OrgID) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgID.Merge(m, src) +} +func (m *OrgID) XXX_Size() int { + return xxx_messageInfo_OrgID.Size(m) +} +func (m *OrgID) XXX_DiscardUnknown() { + xxx_messageInfo_OrgID.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgID proto.InternalMessageInfo + +func (m *OrgID) GetId() string { + if m != nil { + return m.Id } return "" } type UniqueOrgRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UniqueOrgRequest) Reset() { - *x = UniqueOrgRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UniqueOrgRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UniqueOrgRequest) ProtoMessage() {} - -func (x *UniqueOrgRequest) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UniqueOrgRequest.ProtoReflect.Descriptor instead. +func (m *UniqueOrgRequest) Reset() { *m = UniqueOrgRequest{} } +func (m *UniqueOrgRequest) String() string { return proto.CompactTextString(m) } +func (*UniqueOrgRequest) ProtoMessage() {} func (*UniqueOrgRequest) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{1} + return fileDescriptor_73a7fc70dcc2027c, []int{1} } -func (x *UniqueOrgRequest) GetName() string { - if x != nil { - return x.Name +func (m *UniqueOrgRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UniqueOrgRequest.Unmarshal(m, b) +} +func (m *UniqueOrgRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UniqueOrgRequest.Marshal(b, m, deterministic) +} +func (m *UniqueOrgRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UniqueOrgRequest.Merge(m, src) +} +func (m *UniqueOrgRequest) XXX_Size() int { + return xxx_messageInfo_UniqueOrgRequest.Size(m) +} +func (m *UniqueOrgRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UniqueOrgRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UniqueOrgRequest proto.InternalMessageInfo + +func (m *UniqueOrgRequest) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *UniqueOrgRequest) GetDomain() string { - if x != nil { - return x.Domain +func (m *UniqueOrgRequest) GetDomain() string { + if m != nil { + return m.Domain } return "" } type UniqueOrgResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsUnique bool `protobuf:"varint,1,opt,name=is_unique,json=isUnique,proto3" json:"is_unique,omitempty"` + IsUnique bool `protobuf:"varint,1,opt,name=is_unique,json=isUnique,proto3" json:"is_unique,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UniqueOrgResponse) Reset() { - *x = UniqueOrgResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UniqueOrgResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UniqueOrgResponse) ProtoMessage() {} - -func (x *UniqueOrgResponse) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UniqueOrgResponse.ProtoReflect.Descriptor instead. +func (m *UniqueOrgResponse) Reset() { *m = UniqueOrgResponse{} } +func (m *UniqueOrgResponse) String() string { return proto.CompactTextString(m) } +func (*UniqueOrgResponse) ProtoMessage() {} func (*UniqueOrgResponse) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{2} + return fileDescriptor_73a7fc70dcc2027c, []int{2} } -func (x *UniqueOrgResponse) GetIsUnique() bool { - if x != nil { - return x.IsUnique +func (m *UniqueOrgResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UniqueOrgResponse.Unmarshal(m, b) +} +func (m *UniqueOrgResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UniqueOrgResponse.Marshal(b, m, deterministic) +} +func (m *UniqueOrgResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_UniqueOrgResponse.Merge(m, src) +} +func (m *UniqueOrgResponse) XXX_Size() int { + return xxx_messageInfo_UniqueOrgResponse.Size(m) +} +func (m *UniqueOrgResponse) XXX_DiscardUnknown() { + xxx_messageInfo_UniqueOrgResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_UniqueOrgResponse proto.InternalMessageInfo + +func (m *UniqueOrgResponse) GetIsUnique() bool { + if m != nil { + return m.IsUnique } return false } type Org struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - State OrgState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.admin.api.v1.OrgState" json:"state,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` - Domain string `protobuf:"bytes,6,opt,name=domain,proto3" json:"domain,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + State OrgState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.admin.api.v1.OrgState" json:"state,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + Domain string `protobuf:"bytes,6,opt,name=domain,proto3" json:"domain,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *Org) Reset() { - *x = Org{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Org) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Org) ProtoMessage() {} - -func (x *Org) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Org.ProtoReflect.Descriptor instead. +func (m *Org) Reset() { *m = Org{} } +func (m *Org) String() string { return proto.CompactTextString(m) } +func (*Org) ProtoMessage() {} func (*Org) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{3} + return fileDescriptor_73a7fc70dcc2027c, []int{3} } -func (x *Org) GetId() string { - if x != nil { - return x.Id +func (m *Org) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Org.Unmarshal(m, b) +} +func (m *Org) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Org.Marshal(b, m, deterministic) +} +func (m *Org) XXX_Merge(src proto.Message) { + xxx_messageInfo_Org.Merge(m, src) +} +func (m *Org) XXX_Size() int { + return xxx_messageInfo_Org.Size(m) +} +func (m *Org) XXX_DiscardUnknown() { + xxx_messageInfo_Org.DiscardUnknown(m) +} + +var xxx_messageInfo_Org proto.InternalMessageInfo + +func (m *Org) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *Org) GetState() OrgState { - if x != nil { - return x.State +func (m *Org) GetState() OrgState { + if m != nil { + return m.State } return OrgState_ORGSTATE_UNSPECIFIED } -func (x *Org) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *Org) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *Org) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *Org) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *Org) GetName() string { - if x != nil { - return x.Name +func (m *Org) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *Org) GetDomain() string { - if x != nil { - return x.Domain +func (m *Org) GetDomain() string { + if m != nil { + return m.Domain } return "" } type OrgSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - SortingColumn OrgSearchKey `protobuf:"varint,3,opt,name=sorting_column,json=sortingColumn,proto3,enum=caos.zitadel.admin.api.v1.OrgSearchKey" json:"sorting_column,omitempty"` - Asc bool `protobuf:"varint,4,opt,name=asc,proto3" json:"asc,omitempty"` - Queries []*OrgSearchQuery `protobuf:"bytes,5,rep,name=queries,proto3" json:"queries,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + SortingColumn OrgSearchKey `protobuf:"varint,3,opt,name=sorting_column,json=sortingColumn,proto3,enum=caos.zitadel.admin.api.v1.OrgSearchKey" json:"sorting_column,omitempty"` + Asc bool `protobuf:"varint,4,opt,name=asc,proto3" json:"asc,omitempty"` + Queries []*OrgSearchQuery `protobuf:"bytes,5,rep,name=queries,proto3" json:"queries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgSearchRequest) Reset() { - *x = OrgSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgSearchRequest) ProtoMessage() {} - -func (x *OrgSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgSearchRequest.ProtoReflect.Descriptor instead. +func (m *OrgSearchRequest) Reset() { *m = OrgSearchRequest{} } +func (m *OrgSearchRequest) String() string { return proto.CompactTextString(m) } +func (*OrgSearchRequest) ProtoMessage() {} func (*OrgSearchRequest) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{4} + return fileDescriptor_73a7fc70dcc2027c, []int{4} } -func (x *OrgSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *OrgSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgSearchRequest.Unmarshal(m, b) +} +func (m *OrgSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgSearchRequest.Marshal(b, m, deterministic) +} +func (m *OrgSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgSearchRequest.Merge(m, src) +} +func (m *OrgSearchRequest) XXX_Size() int { + return xxx_messageInfo_OrgSearchRequest.Size(m) +} +func (m *OrgSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_OrgSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgSearchRequest proto.InternalMessageInfo + +func (m *OrgSearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *OrgSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *OrgSearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *OrgSearchRequest) GetSortingColumn() OrgSearchKey { - if x != nil { - return x.SortingColumn +func (m *OrgSearchRequest) GetSortingColumn() OrgSearchKey { + if m != nil { + return m.SortingColumn } return OrgSearchKey_ORGSEARCHKEY_UNSPECIFIED } -func (x *OrgSearchRequest) GetAsc() bool { - if x != nil { - return x.Asc +func (m *OrgSearchRequest) GetAsc() bool { + if m != nil { + return m.Asc } return false } -func (x *OrgSearchRequest) GetQueries() []*OrgSearchQuery { - if x != nil { - return x.Queries +func (m *OrgSearchRequest) GetQueries() []*OrgSearchQuery { + if m != nil { + return m.Queries } return nil } type OrgSearchQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key OrgSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.admin.api.v1.OrgSearchKey" json:"key,omitempty"` - Method OrgSearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.admin.api.v1.OrgSearchMethod" json:"method,omitempty"` - Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + Key OrgSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.admin.api.v1.OrgSearchKey" json:"key,omitempty"` + Method OrgSearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.admin.api.v1.OrgSearchMethod" json:"method,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgSearchQuery) Reset() { - *x = OrgSearchQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgSearchQuery) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgSearchQuery) ProtoMessage() {} - -func (x *OrgSearchQuery) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgSearchQuery.ProtoReflect.Descriptor instead. +func (m *OrgSearchQuery) Reset() { *m = OrgSearchQuery{} } +func (m *OrgSearchQuery) String() string { return proto.CompactTextString(m) } +func (*OrgSearchQuery) ProtoMessage() {} func (*OrgSearchQuery) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{5} + return fileDescriptor_73a7fc70dcc2027c, []int{5} } -func (x *OrgSearchQuery) GetKey() OrgSearchKey { - if x != nil { - return x.Key +func (m *OrgSearchQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgSearchQuery.Unmarshal(m, b) +} +func (m *OrgSearchQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgSearchQuery.Marshal(b, m, deterministic) +} +func (m *OrgSearchQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgSearchQuery.Merge(m, src) +} +func (m *OrgSearchQuery) XXX_Size() int { + return xxx_messageInfo_OrgSearchQuery.Size(m) +} +func (m *OrgSearchQuery) XXX_DiscardUnknown() { + xxx_messageInfo_OrgSearchQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgSearchQuery proto.InternalMessageInfo + +func (m *OrgSearchQuery) GetKey() OrgSearchKey { + if m != nil { + return m.Key } return OrgSearchKey_ORGSEARCHKEY_UNSPECIFIED } -func (x *OrgSearchQuery) GetMethod() OrgSearchMethod { - if x != nil { - return x.Method +func (m *OrgSearchQuery) GetMethod() OrgSearchMethod { + if m != nil { + return m.Method } return OrgSearchMethod_ORGSEARCHMETHOD_EQUALS } -func (x *OrgSearchQuery) GetValue() string { - if x != nil { - return x.Value +func (m *OrgSearchQuery) GetValue() string { + if m != nil { + return m.Value } return "" } type OrgSearchResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` - Result []*Org `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` - ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` - ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` + Result []*Org `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgSearchResponse) Reset() { - *x = OrgSearchResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgSearchResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgSearchResponse) ProtoMessage() {} - -func (x *OrgSearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgSearchResponse.ProtoReflect.Descriptor instead. +func (m *OrgSearchResponse) Reset() { *m = OrgSearchResponse{} } +func (m *OrgSearchResponse) String() string { return proto.CompactTextString(m) } +func (*OrgSearchResponse) ProtoMessage() {} func (*OrgSearchResponse) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{6} + return fileDescriptor_73a7fc70dcc2027c, []int{6} } -func (x *OrgSearchResponse) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *OrgSearchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgSearchResponse.Unmarshal(m, b) +} +func (m *OrgSearchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgSearchResponse.Marshal(b, m, deterministic) +} +func (m *OrgSearchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgSearchResponse.Merge(m, src) +} +func (m *OrgSearchResponse) XXX_Size() int { + return xxx_messageInfo_OrgSearchResponse.Size(m) +} +func (m *OrgSearchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_OrgSearchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgSearchResponse proto.InternalMessageInfo + +func (m *OrgSearchResponse) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *OrgSearchResponse) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *OrgSearchResponse) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *OrgSearchResponse) GetTotalResult() uint64 { - if x != nil { - return x.TotalResult +func (m *OrgSearchResponse) GetTotalResult() uint64 { + if m != nil { + return m.TotalResult } return 0 } -func (x *OrgSearchResponse) GetResult() []*Org { - if x != nil { - return x.Result +func (m *OrgSearchResponse) GetResult() []*Org { + if m != nil { + return m.Result } return nil } -func (x *OrgSearchResponse) GetProcessedSequence() uint64 { - if x != nil { - return x.ProcessedSequence +func (m *OrgSearchResponse) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence } return 0 } -func (x *OrgSearchResponse) GetViewTimestamp() *timestamp.Timestamp { - if x != nil { - return x.ViewTimestamp +func (m *OrgSearchResponse) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp } return nil } type OrgSetUpRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Org *CreateOrgRequest `protobuf:"bytes,1,opt,name=org,proto3" json:"org,omitempty"` - User *CreateUserRequest `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` + Org *CreateOrgRequest `protobuf:"bytes,1,opt,name=org,proto3" json:"org,omitempty"` + User *CreateUserRequest `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgSetUpRequest) Reset() { - *x = OrgSetUpRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgSetUpRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgSetUpRequest) ProtoMessage() {} - -func (x *OrgSetUpRequest) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgSetUpRequest.ProtoReflect.Descriptor instead. +func (m *OrgSetUpRequest) Reset() { *m = OrgSetUpRequest{} } +func (m *OrgSetUpRequest) String() string { return proto.CompactTextString(m) } +func (*OrgSetUpRequest) ProtoMessage() {} func (*OrgSetUpRequest) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{7} + return fileDescriptor_73a7fc70dcc2027c, []int{7} } -func (x *OrgSetUpRequest) GetOrg() *CreateOrgRequest { - if x != nil { - return x.Org +func (m *OrgSetUpRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgSetUpRequest.Unmarshal(m, b) +} +func (m *OrgSetUpRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgSetUpRequest.Marshal(b, m, deterministic) +} +func (m *OrgSetUpRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgSetUpRequest.Merge(m, src) +} +func (m *OrgSetUpRequest) XXX_Size() int { + return xxx_messageInfo_OrgSetUpRequest.Size(m) +} +func (m *OrgSetUpRequest) XXX_DiscardUnknown() { + xxx_messageInfo_OrgSetUpRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgSetUpRequest proto.InternalMessageInfo + +func (m *OrgSetUpRequest) GetOrg() *CreateOrgRequest { + if m != nil { + return m.Org } return nil } -func (x *OrgSetUpRequest) GetUser() *CreateUserRequest { - if x != nil { - return x.User +func (m *OrgSetUpRequest) GetUser() *CreateUserRequest { + if m != nil { + return m.User } return nil } type OrgSetUpResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Org *Org `protobuf:"bytes,1,opt,name=org,proto3" json:"org,omitempty"` - User *User `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` + Org *Org `protobuf:"bytes,1,opt,name=org,proto3" json:"org,omitempty"` + User *UserResponse `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgSetUpResponse) Reset() { - *x = OrgSetUpResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgSetUpResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgSetUpResponse) ProtoMessage() {} - -func (x *OrgSetUpResponse) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgSetUpResponse.ProtoReflect.Descriptor instead. +func (m *OrgSetUpResponse) Reset() { *m = OrgSetUpResponse{} } +func (m *OrgSetUpResponse) String() string { return proto.CompactTextString(m) } +func (*OrgSetUpResponse) ProtoMessage() {} func (*OrgSetUpResponse) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{8} + return fileDescriptor_73a7fc70dcc2027c, []int{8} } -func (x *OrgSetUpResponse) GetOrg() *Org { - if x != nil { - return x.Org +func (m *OrgSetUpResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgSetUpResponse.Unmarshal(m, b) +} +func (m *OrgSetUpResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgSetUpResponse.Marshal(b, m, deterministic) +} +func (m *OrgSetUpResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgSetUpResponse.Merge(m, src) +} +func (m *OrgSetUpResponse) XXX_Size() int { + return xxx_messageInfo_OrgSetUpResponse.Size(m) +} +func (m *OrgSetUpResponse) XXX_DiscardUnknown() { + xxx_messageInfo_OrgSetUpResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgSetUpResponse proto.InternalMessageInfo + +func (m *OrgSetUpResponse) GetOrg() *Org { + if m != nil { + return m.Org } return nil } -func (x *OrgSetUpResponse) GetUser() *User { - if x != nil { - return x.User +func (m *OrgSetUpResponse) GetUser() *UserResponse { + if m != nil { + return m.User } return nil } type CreateUserRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserName string `protobuf:"bytes,1,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` - FirstName string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` - LastName string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` - NickName string `protobuf:"bytes,4,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` - PreferredLanguage string `protobuf:"bytes,5,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` - Gender Gender `protobuf:"varint,6,opt,name=gender,proto3,enum=caos.zitadel.admin.api.v1.Gender" json:"gender,omitempty"` - Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"` - IsEmailVerified bool `protobuf:"varint,8,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` - Phone string `protobuf:"bytes,9,opt,name=phone,proto3" json:"phone,omitempty"` - IsPhoneVerified bool `protobuf:"varint,10,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` - Country string `protobuf:"bytes,11,opt,name=country,proto3" json:"country,omitempty"` - Locality string `protobuf:"bytes,12,opt,name=locality,proto3" json:"locality,omitempty"` - PostalCode string `protobuf:"bytes,13,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` - Region string `protobuf:"bytes,14,opt,name=region,proto3" json:"region,omitempty"` - StreetAddress string `protobuf:"bytes,15,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` - Password string `protobuf:"bytes,16,opt,name=password,proto3" json:"password,omitempty"` + UserName string `protobuf:"bytes,1,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` + // Types that are valid to be assigned to User: + // *CreateUserRequest_Human + // *CreateUserRequest_Machine + User isCreateUserRequest_User `protobuf_oneof:"user"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *CreateUserRequest) Reset() { - *x = CreateUserRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateUserRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateUserRequest) ProtoMessage() {} - -func (x *CreateUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateUserRequest.ProtoReflect.Descriptor instead. +func (m *CreateUserRequest) Reset() { *m = CreateUserRequest{} } +func (m *CreateUserRequest) String() string { return proto.CompactTextString(m) } +func (*CreateUserRequest) ProtoMessage() {} func (*CreateUserRequest) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{9} + return fileDescriptor_73a7fc70dcc2027c, []int{9} } -func (x *CreateUserRequest) GetUserName() string { - if x != nil { - return x.UserName +func (m *CreateUserRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateUserRequest.Unmarshal(m, b) +} +func (m *CreateUserRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateUserRequest.Marshal(b, m, deterministic) +} +func (m *CreateUserRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateUserRequest.Merge(m, src) +} +func (m *CreateUserRequest) XXX_Size() int { + return xxx_messageInfo_CreateUserRequest.Size(m) +} +func (m *CreateUserRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CreateUserRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CreateUserRequest proto.InternalMessageInfo + +func (m *CreateUserRequest) GetUserName() string { + if m != nil { + return m.UserName } return "" } -func (x *CreateUserRequest) GetFirstName() string { - if x != nil { - return x.FirstName +type isCreateUserRequest_User interface { + isCreateUserRequest_User() +} + +type CreateUserRequest_Human struct { + Human *CreateHumanRequest `protobuf:"bytes,2,opt,name=human,proto3,oneof"` +} + +type CreateUserRequest_Machine struct { + Machine *CreateMachineRequest `protobuf:"bytes,3,opt,name=machine,proto3,oneof"` +} + +func (*CreateUserRequest_Human) isCreateUserRequest_User() {} + +func (*CreateUserRequest_Machine) isCreateUserRequest_User() {} + +func (m *CreateUserRequest) GetUser() isCreateUserRequest_User { + if m != nil { + return m.User + } + return nil +} + +func (m *CreateUserRequest) GetHuman() *CreateHumanRequest { + if x, ok := m.GetUser().(*CreateUserRequest_Human); ok { + return x.Human + } + return nil +} + +func (m *CreateUserRequest) GetMachine() *CreateMachineRequest { + if x, ok := m.GetUser().(*CreateUserRequest_Machine); ok { + return x.Machine + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*CreateUserRequest) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*CreateUserRequest_Human)(nil), + (*CreateUserRequest_Machine)(nil), + } +} + +type CreateHumanRequest struct { + FirstName string `protobuf:"bytes,1,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,2,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + NickName string `protobuf:"bytes,3,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` + PreferredLanguage string `protobuf:"bytes,4,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` + Gender Gender `protobuf:"varint,5,opt,name=gender,proto3,enum=caos.zitadel.admin.api.v1.Gender" json:"gender,omitempty"` + Email string `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"` + IsEmailVerified bool `protobuf:"varint,7,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` + Phone string `protobuf:"bytes,8,opt,name=phone,proto3" json:"phone,omitempty"` + IsPhoneVerified bool `protobuf:"varint,9,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` + Country string `protobuf:"bytes,10,opt,name=country,proto3" json:"country,omitempty"` + Locality string `protobuf:"bytes,11,opt,name=locality,proto3" json:"locality,omitempty"` + PostalCode string `protobuf:"bytes,12,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` + Region string `protobuf:"bytes,13,opt,name=region,proto3" json:"region,omitempty"` + StreetAddress string `protobuf:"bytes,14,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` + Password string `protobuf:"bytes,15,opt,name=password,proto3" json:"password,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CreateHumanRequest) Reset() { *m = CreateHumanRequest{} } +func (m *CreateHumanRequest) String() string { return proto.CompactTextString(m) } +func (*CreateHumanRequest) ProtoMessage() {} +func (*CreateHumanRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_73a7fc70dcc2027c, []int{10} +} + +func (m *CreateHumanRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateHumanRequest.Unmarshal(m, b) +} +func (m *CreateHumanRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateHumanRequest.Marshal(b, m, deterministic) +} +func (m *CreateHumanRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateHumanRequest.Merge(m, src) +} +func (m *CreateHumanRequest) XXX_Size() int { + return xxx_messageInfo_CreateHumanRequest.Size(m) +} +func (m *CreateHumanRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CreateHumanRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CreateHumanRequest proto.InternalMessageInfo + +func (m *CreateHumanRequest) GetFirstName() string { + if m != nil { + return m.FirstName } return "" } -func (x *CreateUserRequest) GetLastName() string { - if x != nil { - return x.LastName +func (m *CreateHumanRequest) GetLastName() string { + if m != nil { + return m.LastName } return "" } -func (x *CreateUserRequest) GetNickName() string { - if x != nil { - return x.NickName +func (m *CreateHumanRequest) GetNickName() string { + if m != nil { + return m.NickName } return "" } -func (x *CreateUserRequest) GetPreferredLanguage() string { - if x != nil { - return x.PreferredLanguage +func (m *CreateHumanRequest) GetPreferredLanguage() string { + if m != nil { + return m.PreferredLanguage } return "" } -func (x *CreateUserRequest) GetGender() Gender { - if x != nil { - return x.Gender +func (m *CreateHumanRequest) GetGender() Gender { + if m != nil { + return m.Gender } return Gender_GENDER_UNSPECIFIED } -func (x *CreateUserRequest) GetEmail() string { - if x != nil { - return x.Email +func (m *CreateHumanRequest) GetEmail() string { + if m != nil { + return m.Email } return "" } -func (x *CreateUserRequest) GetIsEmailVerified() bool { - if x != nil { - return x.IsEmailVerified +func (m *CreateHumanRequest) GetIsEmailVerified() bool { + if m != nil { + return m.IsEmailVerified } return false } -func (x *CreateUserRequest) GetPhone() string { - if x != nil { - return x.Phone +func (m *CreateHumanRequest) GetPhone() string { + if m != nil { + return m.Phone } return "" } -func (x *CreateUserRequest) GetIsPhoneVerified() bool { - if x != nil { - return x.IsPhoneVerified +func (m *CreateHumanRequest) GetIsPhoneVerified() bool { + if m != nil { + return m.IsPhoneVerified } return false } -func (x *CreateUserRequest) GetCountry() string { - if x != nil { - return x.Country +func (m *CreateHumanRequest) GetCountry() string { + if m != nil { + return m.Country } return "" } -func (x *CreateUserRequest) GetLocality() string { - if x != nil { - return x.Locality +func (m *CreateHumanRequest) GetLocality() string { + if m != nil { + return m.Locality } return "" } -func (x *CreateUserRequest) GetPostalCode() string { - if x != nil { - return x.PostalCode +func (m *CreateHumanRequest) GetPostalCode() string { + if m != nil { + return m.PostalCode } return "" } -func (x *CreateUserRequest) GetRegion() string { - if x != nil { - return x.Region +func (m *CreateHumanRequest) GetRegion() string { + if m != nil { + return m.Region } return "" } -func (x *CreateUserRequest) GetStreetAddress() string { - if x != nil { - return x.StreetAddress +func (m *CreateHumanRequest) GetStreetAddress() string { + if m != nil { + return m.StreetAddress } return "" } -func (x *CreateUserRequest) GetPassword() string { - if x != nil { - return x.Password +func (m *CreateHumanRequest) GetPassword() string { + if m != nil { + return m.Password } return "" } -type User struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - State UserState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.admin.api.v1.UserState" json:"state,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - UserName string `protobuf:"bytes,5,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` - FirstName string `protobuf:"bytes,6,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` - LastName string `protobuf:"bytes,7,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` - NickName string `protobuf:"bytes,8,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` - DisplayName string `protobuf:"bytes,9,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - PreferredLanguage string `protobuf:"bytes,10,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` - Gender Gender `protobuf:"varint,11,opt,name=gender,proto3,enum=caos.zitadel.admin.api.v1.Gender" json:"gender,omitempty"` - Email string `protobuf:"bytes,12,opt,name=email,proto3" json:"email,omitempty"` - IsEmailVerified bool `protobuf:"varint,13,opt,name=isEmailVerified,proto3" json:"isEmailVerified,omitempty"` - Phone string `protobuf:"bytes,14,opt,name=phone,proto3" json:"phone,omitempty"` - IsPhoneVerified bool `protobuf:"varint,15,opt,name=isPhoneVerified,proto3" json:"isPhoneVerified,omitempty"` - Country string `protobuf:"bytes,16,opt,name=country,proto3" json:"country,omitempty"` - Locality string `protobuf:"bytes,17,opt,name=locality,proto3" json:"locality,omitempty"` - PostalCode string `protobuf:"bytes,18,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` - Region string `protobuf:"bytes,19,opt,name=region,proto3" json:"region,omitempty"` - StreetAddress string `protobuf:"bytes,20,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` - Sequence uint64 `protobuf:"varint,21,opt,name=sequence,proto3" json:"sequence,omitempty"` +type CreateMachineRequest struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *User) Reset() { - *x = User{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *CreateMachineRequest) Reset() { *m = CreateMachineRequest{} } +func (m *CreateMachineRequest) String() string { return proto.CompactTextString(m) } +func (*CreateMachineRequest) ProtoMessage() {} +func (*CreateMachineRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_73a7fc70dcc2027c, []int{11} } -func (x *User) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *CreateMachineRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateMachineRequest.Unmarshal(m, b) +} +func (m *CreateMachineRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateMachineRequest.Marshal(b, m, deterministic) +} +func (m *CreateMachineRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateMachineRequest.Merge(m, src) +} +func (m *CreateMachineRequest) XXX_Size() int { + return xxx_messageInfo_CreateMachineRequest.Size(m) +} +func (m *CreateMachineRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CreateMachineRequest.DiscardUnknown(m) } -func (*User) ProtoMessage() {} +var xxx_messageInfo_CreateMachineRequest proto.InternalMessageInfo -func (x *User) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use User.ProtoReflect.Descriptor instead. -func (*User) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{10} -} - -func (x *User) GetId() string { - if x != nil { - return x.Id +func (m *CreateMachineRequest) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *User) GetState() UserState { - if x != nil { - return x.State +func (m *CreateMachineRequest) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +type UserResponse struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + State UserState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.admin.api.v1.UserState" json:"state,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` + UserName string `protobuf:"bytes,6,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` + // Types that are valid to be assigned to User: + // *UserResponse_Human + // *UserResponse_Machine + User isUserResponse_User `protobuf_oneof:"user"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UserResponse) Reset() { *m = UserResponse{} } +func (m *UserResponse) String() string { return proto.CompactTextString(m) } +func (*UserResponse) ProtoMessage() {} +func (*UserResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_73a7fc70dcc2027c, []int{12} +} + +func (m *UserResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserResponse.Unmarshal(m, b) +} +func (m *UserResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserResponse.Marshal(b, m, deterministic) +} +func (m *UserResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserResponse.Merge(m, src) +} +func (m *UserResponse) XXX_Size() int { + return xxx_messageInfo_UserResponse.Size(m) +} +func (m *UserResponse) XXX_DiscardUnknown() { + xxx_messageInfo_UserResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_UserResponse proto.InternalMessageInfo + +func (m *UserResponse) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +func (m *UserResponse) GetState() UserState { + if m != nil { + return m.State } return UserState_USERSTATE_UNSPECIFIED } -func (x *User) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *UserResponse) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *User) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *UserResponse) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *User) GetUserName() string { - if x != nil { - return x.UserName - } - return "" -} - -func (x *User) GetFirstName() string { - if x != nil { - return x.FirstName - } - return "" -} - -func (x *User) GetLastName() string { - if x != nil { - return x.LastName - } - return "" -} - -func (x *User) GetNickName() string { - if x != nil { - return x.NickName - } - return "" -} - -func (x *User) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *User) GetPreferredLanguage() string { - if x != nil { - return x.PreferredLanguage - } - return "" -} - -func (x *User) GetGender() Gender { - if x != nil { - return x.Gender - } - return Gender_GENDER_UNSPECIFIED -} - -func (x *User) GetEmail() string { - if x != nil { - return x.Email - } - return "" -} - -func (x *User) GetIsEmailVerified() bool { - if x != nil { - return x.IsEmailVerified - } - return false -} - -func (x *User) GetPhone() string { - if x != nil { - return x.Phone - } - return "" -} - -func (x *User) GetIsPhoneVerified() bool { - if x != nil { - return x.IsPhoneVerified - } - return false -} - -func (x *User) GetCountry() string { - if x != nil { - return x.Country - } - return "" -} - -func (x *User) GetLocality() string { - if x != nil { - return x.Locality - } - return "" -} - -func (x *User) GetPostalCode() string { - if x != nil { - return x.PostalCode - } - return "" -} - -func (x *User) GetRegion() string { - if x != nil { - return x.Region - } - return "" -} - -func (x *User) GetStreetAddress() string { - if x != nil { - return x.StreetAddress - } - return "" -} - -func (x *User) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *UserResponse) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -type CreateOrgRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` -} - -func (x *CreateOrgRequest) Reset() { - *x = CreateOrgRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateOrgRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateOrgRequest) ProtoMessage() {} - -func (x *CreateOrgRequest) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateOrgRequest.ProtoReflect.Descriptor instead. -func (*CreateOrgRequest) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{11} -} - -func (x *CreateOrgRequest) GetName() string { - if x != nil { - return x.Name +func (m *UserResponse) GetUserName() string { + if m != nil { + return m.UserName } return "" } -func (x *CreateOrgRequest) GetDomain() string { - if x != nil { - return x.Domain +type isUserResponse_User interface { + isUserResponse_User() +} + +type UserResponse_Human struct { + Human *HumanResponse `protobuf:"bytes,7,opt,name=human,proto3,oneof"` +} + +type UserResponse_Machine struct { + Machine *MachineResponse `protobuf:"bytes,8,opt,name=machine,proto3,oneof"` +} + +func (*UserResponse_Human) isUserResponse_User() {} + +func (*UserResponse_Machine) isUserResponse_User() {} + +func (m *UserResponse) GetUser() isUserResponse_User { + if m != nil { + return m.User + } + return nil +} + +func (m *UserResponse) GetHuman() *HumanResponse { + if x, ok := m.GetUser().(*UserResponse_Human); ok { + return x.Human + } + return nil +} + +func (m *UserResponse) GetMachine() *MachineResponse { + if x, ok := m.GetUser().(*UserResponse_Machine); ok { + return x.Machine + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*UserResponse) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*UserResponse_Human)(nil), + (*UserResponse_Machine)(nil), + } +} + +type HumanResponse struct { + FirstName string `protobuf:"bytes,1,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,2,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + NickName string `protobuf:"bytes,4,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` + PreferredLanguage string `protobuf:"bytes,5,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` + Gender Gender `protobuf:"varint,6,opt,name=gender,proto3,enum=caos.zitadel.admin.api.v1.Gender" json:"gender,omitempty"` + Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"` + IsEmailVerified bool `protobuf:"varint,8,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` + Phone string `protobuf:"bytes,9,opt,name=phone,proto3" json:"phone,omitempty"` + IsPhoneVerified bool `protobuf:"varint,10,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` + Country string `protobuf:"bytes,11,opt,name=country,proto3" json:"country,omitempty"` + Locality string `protobuf:"bytes,12,opt,name=locality,proto3" json:"locality,omitempty"` + PostalCode string `protobuf:"bytes,13,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` + Region string `protobuf:"bytes,14,opt,name=region,proto3" json:"region,omitempty"` + StreetAddress string `protobuf:"bytes,15,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HumanResponse) Reset() { *m = HumanResponse{} } +func (m *HumanResponse) String() string { return proto.CompactTextString(m) } +func (*HumanResponse) ProtoMessage() {} +func (*HumanResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_73a7fc70dcc2027c, []int{13} +} + +func (m *HumanResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HumanResponse.Unmarshal(m, b) +} +func (m *HumanResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HumanResponse.Marshal(b, m, deterministic) +} +func (m *HumanResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_HumanResponse.Merge(m, src) +} +func (m *HumanResponse) XXX_Size() int { + return xxx_messageInfo_HumanResponse.Size(m) +} +func (m *HumanResponse) XXX_DiscardUnknown() { + xxx_messageInfo_HumanResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_HumanResponse proto.InternalMessageInfo + +func (m *HumanResponse) GetFirstName() string { + if m != nil { + return m.FirstName + } + return "" +} + +func (m *HumanResponse) GetLastName() string { + if m != nil { + return m.LastName + } + return "" +} + +func (m *HumanResponse) GetDisplayName() string { + if m != nil { + return m.DisplayName + } + return "" +} + +func (m *HumanResponse) GetNickName() string { + if m != nil { + return m.NickName + } + return "" +} + +func (m *HumanResponse) GetPreferredLanguage() string { + if m != nil { + return m.PreferredLanguage + } + return "" +} + +func (m *HumanResponse) GetGender() Gender { + if m != nil { + return m.Gender + } + return Gender_GENDER_UNSPECIFIED +} + +func (m *HumanResponse) GetEmail() string { + if m != nil { + return m.Email + } + return "" +} + +func (m *HumanResponse) GetIsEmailVerified() bool { + if m != nil { + return m.IsEmailVerified + } + return false +} + +func (m *HumanResponse) GetPhone() string { + if m != nil { + return m.Phone + } + return "" +} + +func (m *HumanResponse) GetIsPhoneVerified() bool { + if m != nil { + return m.IsPhoneVerified + } + return false +} + +func (m *HumanResponse) GetCountry() string { + if m != nil { + return m.Country + } + return "" +} + +func (m *HumanResponse) GetLocality() string { + if m != nil { + return m.Locality + } + return "" +} + +func (m *HumanResponse) GetPostalCode() string { + if m != nil { + return m.PostalCode + } + return "" +} + +func (m *HumanResponse) GetRegion() string { + if m != nil { + return m.Region + } + return "" +} + +func (m *HumanResponse) GetStreetAddress() string { + if m != nil { + return m.StreetAddress + } + return "" +} + +type MachineResponse struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + Keys []*MachineKeyResponse `protobuf:"bytes,3,rep,name=keys,proto3" json:"keys,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MachineResponse) Reset() { *m = MachineResponse{} } +func (m *MachineResponse) String() string { return proto.CompactTextString(m) } +func (*MachineResponse) ProtoMessage() {} +func (*MachineResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_73a7fc70dcc2027c, []int{14} +} + +func (m *MachineResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MachineResponse.Unmarshal(m, b) +} +func (m *MachineResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MachineResponse.Marshal(b, m, deterministic) +} +func (m *MachineResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MachineResponse.Merge(m, src) +} +func (m *MachineResponse) XXX_Size() int { + return xxx_messageInfo_MachineResponse.Size(m) +} +func (m *MachineResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MachineResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MachineResponse proto.InternalMessageInfo + +func (m *MachineResponse) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *MachineResponse) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +func (m *MachineResponse) GetKeys() []*MachineKeyResponse { + if m != nil { + return m.Keys + } + return nil +} + +type MachineKeyResponse struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Type MachineKeyType `protobuf:"varint,2,opt,name=type,proto3,enum=caos.zitadel.admin.api.v1.MachineKeyType" json:"type,omitempty"` + Sequence uint64 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ExpirationDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=expiration_date,json=expirationDate,proto3" json:"expiration_date,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MachineKeyResponse) Reset() { *m = MachineKeyResponse{} } +func (m *MachineKeyResponse) String() string { return proto.CompactTextString(m) } +func (*MachineKeyResponse) ProtoMessage() {} +func (*MachineKeyResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_73a7fc70dcc2027c, []int{15} +} + +func (m *MachineKeyResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MachineKeyResponse.Unmarshal(m, b) +} +func (m *MachineKeyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MachineKeyResponse.Marshal(b, m, deterministic) +} +func (m *MachineKeyResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MachineKeyResponse.Merge(m, src) +} +func (m *MachineKeyResponse) XXX_Size() int { + return xxx_messageInfo_MachineKeyResponse.Size(m) +} +func (m *MachineKeyResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MachineKeyResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MachineKeyResponse proto.InternalMessageInfo + +func (m *MachineKeyResponse) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +func (m *MachineKeyResponse) GetType() MachineKeyType { + if m != nil { + return m.Type + } + return MachineKeyType_MACHINEKEY_UNSPECIFIED +} + +func (m *MachineKeyResponse) GetSequence() uint64 { + if m != nil { + return m.Sequence + } + return 0 +} + +func (m *MachineKeyResponse) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate + } + return nil +} + +func (m *MachineKeyResponse) GetExpirationDate() *timestamp.Timestamp { + if m != nil { + return m.ExpirationDate + } + return nil +} + +type CreateOrgRequest struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CreateOrgRequest) Reset() { *m = CreateOrgRequest{} } +func (m *CreateOrgRequest) String() string { return proto.CompactTextString(m) } +func (*CreateOrgRequest) ProtoMessage() {} +func (*CreateOrgRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_73a7fc70dcc2027c, []int{16} +} + +func (m *CreateOrgRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateOrgRequest.Unmarshal(m, b) +} +func (m *CreateOrgRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateOrgRequest.Marshal(b, m, deterministic) +} +func (m *CreateOrgRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateOrgRequest.Merge(m, src) +} +func (m *CreateOrgRequest) XXX_Size() int { + return xxx_messageInfo_CreateOrgRequest.Size(m) +} +func (m *CreateOrgRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CreateOrgRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CreateOrgRequest proto.InternalMessageInfo + +func (m *CreateOrgRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *CreateOrgRequest) GetDomain() string { + if m != nil { + return m.Domain } return "" } type OrgIamPolicy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` UserLoginMustBeDomain bool `protobuf:"varint,3,opt,name=user_login_must_be_domain,json=userLoginMustBeDomain,proto3" json:"user_login_must_be_domain,omitempty"` @@ -1590,1335 +1633,1158 @@ type OrgIamPolicy struct { Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,6,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgIamPolicy) Reset() { - *x = OrgIamPolicy{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgIamPolicy) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgIamPolicy) ProtoMessage() {} - -func (x *OrgIamPolicy) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgIamPolicy.ProtoReflect.Descriptor instead. +func (m *OrgIamPolicy) Reset() { *m = OrgIamPolicy{} } +func (m *OrgIamPolicy) String() string { return proto.CompactTextString(m) } +func (*OrgIamPolicy) ProtoMessage() {} func (*OrgIamPolicy) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{12} + return fileDescriptor_73a7fc70dcc2027c, []int{17} } -func (x *OrgIamPolicy) GetOrgId() string { - if x != nil { - return x.OrgId +func (m *OrgIamPolicy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgIamPolicy.Unmarshal(m, b) +} +func (m *OrgIamPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgIamPolicy.Marshal(b, m, deterministic) +} +func (m *OrgIamPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgIamPolicy.Merge(m, src) +} +func (m *OrgIamPolicy) XXX_Size() int { + return xxx_messageInfo_OrgIamPolicy.Size(m) +} +func (m *OrgIamPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_OrgIamPolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgIamPolicy proto.InternalMessageInfo + +func (m *OrgIamPolicy) GetOrgId() string { + if m != nil { + return m.OrgId } return "" } -func (x *OrgIamPolicy) GetDescription() string { - if x != nil { - return x.Description +func (m *OrgIamPolicy) GetDescription() string { + if m != nil { + return m.Description } return "" } -func (x *OrgIamPolicy) GetUserLoginMustBeDomain() bool { - if x != nil { - return x.UserLoginMustBeDomain +func (m *OrgIamPolicy) GetUserLoginMustBeDomain() bool { + if m != nil { + return m.UserLoginMustBeDomain } return false } -func (x *OrgIamPolicy) GetDefault() bool { - if x != nil { - return x.Default +func (m *OrgIamPolicy) GetDefault() bool { + if m != nil { + return m.Default } return false } -func (x *OrgIamPolicy) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *OrgIamPolicy) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *OrgIamPolicy) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *OrgIamPolicy) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *OrgIamPolicy) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *OrgIamPolicy) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } type OrgIamPolicyRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - UserLoginMustBeDomain bool `protobuf:"varint,3,opt,name=user_login_must_be_domain,json=userLoginMustBeDomain,proto3" json:"user_login_must_be_domain,omitempty"` + OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + UserLoginMustBeDomain bool `protobuf:"varint,3,opt,name=user_login_must_be_domain,json=userLoginMustBeDomain,proto3" json:"user_login_must_be_domain,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgIamPolicyRequest) Reset() { - *x = OrgIamPolicyRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgIamPolicyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgIamPolicyRequest) ProtoMessage() {} - -func (x *OrgIamPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgIamPolicyRequest.ProtoReflect.Descriptor instead. +func (m *OrgIamPolicyRequest) Reset() { *m = OrgIamPolicyRequest{} } +func (m *OrgIamPolicyRequest) String() string { return proto.CompactTextString(m) } +func (*OrgIamPolicyRequest) ProtoMessage() {} func (*OrgIamPolicyRequest) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{13} + return fileDescriptor_73a7fc70dcc2027c, []int{18} } -func (x *OrgIamPolicyRequest) GetOrgId() string { - if x != nil { - return x.OrgId +func (m *OrgIamPolicyRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgIamPolicyRequest.Unmarshal(m, b) +} +func (m *OrgIamPolicyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgIamPolicyRequest.Marshal(b, m, deterministic) +} +func (m *OrgIamPolicyRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgIamPolicyRequest.Merge(m, src) +} +func (m *OrgIamPolicyRequest) XXX_Size() int { + return xxx_messageInfo_OrgIamPolicyRequest.Size(m) +} +func (m *OrgIamPolicyRequest) XXX_DiscardUnknown() { + xxx_messageInfo_OrgIamPolicyRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgIamPolicyRequest proto.InternalMessageInfo + +func (m *OrgIamPolicyRequest) GetOrgId() string { + if m != nil { + return m.OrgId } return "" } -func (x *OrgIamPolicyRequest) GetDescription() string { - if x != nil { - return x.Description +func (m *OrgIamPolicyRequest) GetDescription() string { + if m != nil { + return m.Description } return "" } -func (x *OrgIamPolicyRequest) GetUserLoginMustBeDomain() bool { - if x != nil { - return x.UserLoginMustBeDomain +func (m *OrgIamPolicyRequest) GetUserLoginMustBeDomain() bool { + if m != nil { + return m.UserLoginMustBeDomain } return false } type OrgIamPolicyID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` + OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgIamPolicyID) Reset() { - *x = OrgIamPolicyID{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgIamPolicyID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgIamPolicyID) ProtoMessage() {} - -func (x *OrgIamPolicyID) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgIamPolicyID.ProtoReflect.Descriptor instead. +func (m *OrgIamPolicyID) Reset() { *m = OrgIamPolicyID{} } +func (m *OrgIamPolicyID) String() string { return proto.CompactTextString(m) } +func (*OrgIamPolicyID) ProtoMessage() {} func (*OrgIamPolicyID) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{14} + return fileDescriptor_73a7fc70dcc2027c, []int{19} } -func (x *OrgIamPolicyID) GetOrgId() string { - if x != nil { - return x.OrgId +func (m *OrgIamPolicyID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgIamPolicyID.Unmarshal(m, b) +} +func (m *OrgIamPolicyID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgIamPolicyID.Marshal(b, m, deterministic) +} +func (m *OrgIamPolicyID) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgIamPolicyID.Merge(m, src) +} +func (m *OrgIamPolicyID) XXX_Size() int { + return xxx_messageInfo_OrgIamPolicyID.Size(m) +} +func (m *OrgIamPolicyID) XXX_DiscardUnknown() { + xxx_messageInfo_OrgIamPolicyID.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgIamPolicyID proto.InternalMessageInfo + +func (m *OrgIamPolicyID) GetOrgId() string { + if m != nil { + return m.OrgId } return "" } type IamMemberRoles struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Roles []string `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` + Roles []string `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IamMemberRoles) Reset() { - *x = IamMemberRoles{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IamMemberRoles) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IamMemberRoles) ProtoMessage() {} - -func (x *IamMemberRoles) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IamMemberRoles.ProtoReflect.Descriptor instead. +func (m *IamMemberRoles) Reset() { *m = IamMemberRoles{} } +func (m *IamMemberRoles) String() string { return proto.CompactTextString(m) } +func (*IamMemberRoles) ProtoMessage() {} func (*IamMemberRoles) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{15} + return fileDescriptor_73a7fc70dcc2027c, []int{20} } -func (x *IamMemberRoles) GetRoles() []string { - if x != nil { - return x.Roles +func (m *IamMemberRoles) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IamMemberRoles.Unmarshal(m, b) +} +func (m *IamMemberRoles) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IamMemberRoles.Marshal(b, m, deterministic) +} +func (m *IamMemberRoles) XXX_Merge(src proto.Message) { + xxx_messageInfo_IamMemberRoles.Merge(m, src) +} +func (m *IamMemberRoles) XXX_Size() int { + return xxx_messageInfo_IamMemberRoles.Size(m) +} +func (m *IamMemberRoles) XXX_DiscardUnknown() { + xxx_messageInfo_IamMemberRoles.DiscardUnknown(m) +} + +var xxx_messageInfo_IamMemberRoles proto.InternalMessageInfo + +func (m *IamMemberRoles) GetRoles() []string { + if m != nil { + return m.Roles } return nil } type IamMember struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IamMember) Reset() { - *x = IamMember{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IamMember) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IamMember) ProtoMessage() {} - -func (x *IamMember) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IamMember.ProtoReflect.Descriptor instead. +func (m *IamMember) Reset() { *m = IamMember{} } +func (m *IamMember) String() string { return proto.CompactTextString(m) } +func (*IamMember) ProtoMessage() {} func (*IamMember) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{16} + return fileDescriptor_73a7fc70dcc2027c, []int{21} } -func (x *IamMember) GetUserId() string { - if x != nil { - return x.UserId +func (m *IamMember) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IamMember.Unmarshal(m, b) +} +func (m *IamMember) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IamMember.Marshal(b, m, deterministic) +} +func (m *IamMember) XXX_Merge(src proto.Message) { + xxx_messageInfo_IamMember.Merge(m, src) +} +func (m *IamMember) XXX_Size() int { + return xxx_messageInfo_IamMember.Size(m) +} +func (m *IamMember) XXX_DiscardUnknown() { + xxx_messageInfo_IamMember.DiscardUnknown(m) +} + +var xxx_messageInfo_IamMember proto.InternalMessageInfo + +func (m *IamMember) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *IamMember) GetRoles() []string { - if x != nil { - return x.Roles +func (m *IamMember) GetRoles() []string { + if m != nil { + return m.Roles } return nil } -func (x *IamMember) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *IamMember) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *IamMember) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *IamMember) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *IamMember) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *IamMember) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } type AddIamMemberRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *AddIamMemberRequest) Reset() { - *x = AddIamMemberRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddIamMemberRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddIamMemberRequest) ProtoMessage() {} - -func (x *AddIamMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddIamMemberRequest.ProtoReflect.Descriptor instead. +func (m *AddIamMemberRequest) Reset() { *m = AddIamMemberRequest{} } +func (m *AddIamMemberRequest) String() string { return proto.CompactTextString(m) } +func (*AddIamMemberRequest) ProtoMessage() {} func (*AddIamMemberRequest) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{17} + return fileDescriptor_73a7fc70dcc2027c, []int{22} } -func (x *AddIamMemberRequest) GetUserId() string { - if x != nil { - return x.UserId +func (m *AddIamMemberRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddIamMemberRequest.Unmarshal(m, b) +} +func (m *AddIamMemberRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddIamMemberRequest.Marshal(b, m, deterministic) +} +func (m *AddIamMemberRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddIamMemberRequest.Merge(m, src) +} +func (m *AddIamMemberRequest) XXX_Size() int { + return xxx_messageInfo_AddIamMemberRequest.Size(m) +} +func (m *AddIamMemberRequest) XXX_DiscardUnknown() { + xxx_messageInfo_AddIamMemberRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_AddIamMemberRequest proto.InternalMessageInfo + +func (m *AddIamMemberRequest) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *AddIamMemberRequest) GetRoles() []string { - if x != nil { - return x.Roles +func (m *AddIamMemberRequest) GetRoles() []string { + if m != nil { + return m.Roles } return nil } type ChangeIamMemberRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ChangeIamMemberRequest) Reset() { - *x = ChangeIamMemberRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChangeIamMemberRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChangeIamMemberRequest) ProtoMessage() {} - -func (x *ChangeIamMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChangeIamMemberRequest.ProtoReflect.Descriptor instead. +func (m *ChangeIamMemberRequest) Reset() { *m = ChangeIamMemberRequest{} } +func (m *ChangeIamMemberRequest) String() string { return proto.CompactTextString(m) } +func (*ChangeIamMemberRequest) ProtoMessage() {} func (*ChangeIamMemberRequest) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{18} + return fileDescriptor_73a7fc70dcc2027c, []int{23} } -func (x *ChangeIamMemberRequest) GetUserId() string { - if x != nil { - return x.UserId +func (m *ChangeIamMemberRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChangeIamMemberRequest.Unmarshal(m, b) +} +func (m *ChangeIamMemberRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChangeIamMemberRequest.Marshal(b, m, deterministic) +} +func (m *ChangeIamMemberRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChangeIamMemberRequest.Merge(m, src) +} +func (m *ChangeIamMemberRequest) XXX_Size() int { + return xxx_messageInfo_ChangeIamMemberRequest.Size(m) +} +func (m *ChangeIamMemberRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ChangeIamMemberRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ChangeIamMemberRequest proto.InternalMessageInfo + +func (m *ChangeIamMemberRequest) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *ChangeIamMemberRequest) GetRoles() []string { - if x != nil { - return x.Roles +func (m *ChangeIamMemberRequest) GetRoles() []string { + if m != nil { + return m.Roles } return nil } type RemoveIamMemberRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *RemoveIamMemberRequest) Reset() { - *x = RemoveIamMemberRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RemoveIamMemberRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RemoveIamMemberRequest) ProtoMessage() {} - -func (x *RemoveIamMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RemoveIamMemberRequest.ProtoReflect.Descriptor instead. +func (m *RemoveIamMemberRequest) Reset() { *m = RemoveIamMemberRequest{} } +func (m *RemoveIamMemberRequest) String() string { return proto.CompactTextString(m) } +func (*RemoveIamMemberRequest) ProtoMessage() {} func (*RemoveIamMemberRequest) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{19} + return fileDescriptor_73a7fc70dcc2027c, []int{24} } -func (x *RemoveIamMemberRequest) GetUserId() string { - if x != nil { - return x.UserId +func (m *RemoveIamMemberRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveIamMemberRequest.Unmarshal(m, b) +} +func (m *RemoveIamMemberRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveIamMemberRequest.Marshal(b, m, deterministic) +} +func (m *RemoveIamMemberRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveIamMemberRequest.Merge(m, src) +} +func (m *RemoveIamMemberRequest) XXX_Size() int { + return xxx_messageInfo_RemoveIamMemberRequest.Size(m) +} +func (m *RemoveIamMemberRequest) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveIamMemberRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_RemoveIamMemberRequest proto.InternalMessageInfo + +func (m *RemoveIamMemberRequest) GetUserId() string { + if m != nil { + return m.UserId } return "" } type IamMemberSearchResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` - Result []*IamMemberView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` - ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` - ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` + Result []*IamMemberView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IamMemberSearchResponse) Reset() { - *x = IamMemberSearchResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IamMemberSearchResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IamMemberSearchResponse) ProtoMessage() {} - -func (x *IamMemberSearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IamMemberSearchResponse.ProtoReflect.Descriptor instead. +func (m *IamMemberSearchResponse) Reset() { *m = IamMemberSearchResponse{} } +func (m *IamMemberSearchResponse) String() string { return proto.CompactTextString(m) } +func (*IamMemberSearchResponse) ProtoMessage() {} func (*IamMemberSearchResponse) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{20} + return fileDescriptor_73a7fc70dcc2027c, []int{25} } -func (x *IamMemberSearchResponse) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *IamMemberSearchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IamMemberSearchResponse.Unmarshal(m, b) +} +func (m *IamMemberSearchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IamMemberSearchResponse.Marshal(b, m, deterministic) +} +func (m *IamMemberSearchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_IamMemberSearchResponse.Merge(m, src) +} +func (m *IamMemberSearchResponse) XXX_Size() int { + return xxx_messageInfo_IamMemberSearchResponse.Size(m) +} +func (m *IamMemberSearchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_IamMemberSearchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_IamMemberSearchResponse proto.InternalMessageInfo + +func (m *IamMemberSearchResponse) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *IamMemberSearchResponse) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *IamMemberSearchResponse) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *IamMemberSearchResponse) GetTotalResult() uint64 { - if x != nil { - return x.TotalResult +func (m *IamMemberSearchResponse) GetTotalResult() uint64 { + if m != nil { + return m.TotalResult } return 0 } -func (x *IamMemberSearchResponse) GetResult() []*IamMemberView { - if x != nil { - return x.Result +func (m *IamMemberSearchResponse) GetResult() []*IamMemberView { + if m != nil { + return m.Result } return nil } -func (x *IamMemberSearchResponse) GetProcessedSequence() uint64 { - if x != nil { - return x.ProcessedSequence +func (m *IamMemberSearchResponse) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence } return 0 } -func (x *IamMemberSearchResponse) GetViewTimestamp() *timestamp.Timestamp { - if x != nil { - return x.ViewTimestamp +func (m *IamMemberSearchResponse) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp } return nil } type IamMemberView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` - UserName string `protobuf:"bytes,6,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` - Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"` - FirstName string `protobuf:"bytes,8,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` - LastName string `protobuf:"bytes,9,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` - DisplayName string `protobuf:"bytes,10,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` + UserName string `protobuf:"bytes,6,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` + Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"` + FirstName string `protobuf:"bytes,8,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,9,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + DisplayName string `protobuf:"bytes,10,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IamMemberView) Reset() { - *x = IamMemberView{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IamMemberView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IamMemberView) ProtoMessage() {} - -func (x *IamMemberView) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IamMemberView.ProtoReflect.Descriptor instead. +func (m *IamMemberView) Reset() { *m = IamMemberView{} } +func (m *IamMemberView) String() string { return proto.CompactTextString(m) } +func (*IamMemberView) ProtoMessage() {} func (*IamMemberView) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{21} + return fileDescriptor_73a7fc70dcc2027c, []int{26} } -func (x *IamMemberView) GetUserId() string { - if x != nil { - return x.UserId +func (m *IamMemberView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IamMemberView.Unmarshal(m, b) +} +func (m *IamMemberView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IamMemberView.Marshal(b, m, deterministic) +} +func (m *IamMemberView) XXX_Merge(src proto.Message) { + xxx_messageInfo_IamMemberView.Merge(m, src) +} +func (m *IamMemberView) XXX_Size() int { + return xxx_messageInfo_IamMemberView.Size(m) +} +func (m *IamMemberView) XXX_DiscardUnknown() { + xxx_messageInfo_IamMemberView.DiscardUnknown(m) +} + +var xxx_messageInfo_IamMemberView proto.InternalMessageInfo + +func (m *IamMemberView) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *IamMemberView) GetRoles() []string { - if x != nil { - return x.Roles +func (m *IamMemberView) GetRoles() []string { + if m != nil { + return m.Roles } return nil } -func (x *IamMemberView) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *IamMemberView) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *IamMemberView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *IamMemberView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *IamMemberView) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *IamMemberView) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *IamMemberView) GetUserName() string { - if x != nil { - return x.UserName +func (m *IamMemberView) GetUserName() string { + if m != nil { + return m.UserName } return "" } -func (x *IamMemberView) GetEmail() string { - if x != nil { - return x.Email +func (m *IamMemberView) GetEmail() string { + if m != nil { + return m.Email } return "" } -func (x *IamMemberView) GetFirstName() string { - if x != nil { - return x.FirstName +func (m *IamMemberView) GetFirstName() string { + if m != nil { + return m.FirstName } return "" } -func (x *IamMemberView) GetLastName() string { - if x != nil { - return x.LastName +func (m *IamMemberView) GetLastName() string { + if m != nil { + return m.LastName } return "" } -func (x *IamMemberView) GetDisplayName() string { - if x != nil { - return x.DisplayName +func (m *IamMemberView) GetDisplayName() string { + if m != nil { + return m.DisplayName } return "" } type IamMemberSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - Queries []*IamMemberSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + Queries []*IamMemberSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IamMemberSearchRequest) Reset() { - *x = IamMemberSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IamMemberSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IamMemberSearchRequest) ProtoMessage() {} - -func (x *IamMemberSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IamMemberSearchRequest.ProtoReflect.Descriptor instead. +func (m *IamMemberSearchRequest) Reset() { *m = IamMemberSearchRequest{} } +func (m *IamMemberSearchRequest) String() string { return proto.CompactTextString(m) } +func (*IamMemberSearchRequest) ProtoMessage() {} func (*IamMemberSearchRequest) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{22} + return fileDescriptor_73a7fc70dcc2027c, []int{27} } -func (x *IamMemberSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *IamMemberSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IamMemberSearchRequest.Unmarshal(m, b) +} +func (m *IamMemberSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IamMemberSearchRequest.Marshal(b, m, deterministic) +} +func (m *IamMemberSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_IamMemberSearchRequest.Merge(m, src) +} +func (m *IamMemberSearchRequest) XXX_Size() int { + return xxx_messageInfo_IamMemberSearchRequest.Size(m) +} +func (m *IamMemberSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_IamMemberSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_IamMemberSearchRequest proto.InternalMessageInfo + +func (m *IamMemberSearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *IamMemberSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *IamMemberSearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *IamMemberSearchRequest) GetQueries() []*IamMemberSearchQuery { - if x != nil { - return x.Queries +func (m *IamMemberSearchRequest) GetQueries() []*IamMemberSearchQuery { + if m != nil { + return m.Queries } return nil } type IamMemberSearchQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key IamMemberSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.admin.api.v1.IamMemberSearchKey" json:"key,omitempty"` - Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.admin.api.v1.SearchMethod" json:"method,omitempty"` - Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + Key IamMemberSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.admin.api.v1.IamMemberSearchKey" json:"key,omitempty"` + Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.admin.api.v1.SearchMethod" json:"method,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IamMemberSearchQuery) Reset() { - *x = IamMemberSearchQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IamMemberSearchQuery) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IamMemberSearchQuery) ProtoMessage() {} - -func (x *IamMemberSearchQuery) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IamMemberSearchQuery.ProtoReflect.Descriptor instead. +func (m *IamMemberSearchQuery) Reset() { *m = IamMemberSearchQuery{} } +func (m *IamMemberSearchQuery) String() string { return proto.CompactTextString(m) } +func (*IamMemberSearchQuery) ProtoMessage() {} func (*IamMemberSearchQuery) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{23} + return fileDescriptor_73a7fc70dcc2027c, []int{28} } -func (x *IamMemberSearchQuery) GetKey() IamMemberSearchKey { - if x != nil { - return x.Key +func (m *IamMemberSearchQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IamMemberSearchQuery.Unmarshal(m, b) +} +func (m *IamMemberSearchQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IamMemberSearchQuery.Marshal(b, m, deterministic) +} +func (m *IamMemberSearchQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_IamMemberSearchQuery.Merge(m, src) +} +func (m *IamMemberSearchQuery) XXX_Size() int { + return xxx_messageInfo_IamMemberSearchQuery.Size(m) +} +func (m *IamMemberSearchQuery) XXX_DiscardUnknown() { + xxx_messageInfo_IamMemberSearchQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_IamMemberSearchQuery proto.InternalMessageInfo + +func (m *IamMemberSearchQuery) GetKey() IamMemberSearchKey { + if m != nil { + return m.Key } return IamMemberSearchKey_IAMMEMBERSEARCHKEY_UNSPECIFIED } -func (x *IamMemberSearchQuery) GetMethod() SearchMethod { - if x != nil { - return x.Method +func (m *IamMemberSearchQuery) GetMethod() SearchMethod { + if m != nil { + return m.Method } return SearchMethod_SEARCHMETHOD_EQUALS } -func (x *IamMemberSearchQuery) GetValue() string { - if x != nil { - return x.Value +func (m *IamMemberSearchQuery) GetValue() string { + if m != nil { + return m.Value } return "" } type FailedEventID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` - ViewName string `protobuf:"bytes,2,opt,name=view_name,json=viewName,proto3" json:"view_name,omitempty"` - FailedSequence uint64 `protobuf:"varint,3,opt,name=failed_sequence,json=failedSequence,proto3" json:"failed_sequence,omitempty"` + Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` + ViewName string `protobuf:"bytes,2,opt,name=view_name,json=viewName,proto3" json:"view_name,omitempty"` + FailedSequence uint64 `protobuf:"varint,3,opt,name=failed_sequence,json=failedSequence,proto3" json:"failed_sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *FailedEventID) Reset() { - *x = FailedEventID{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FailedEventID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FailedEventID) ProtoMessage() {} - -func (x *FailedEventID) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FailedEventID.ProtoReflect.Descriptor instead. +func (m *FailedEventID) Reset() { *m = FailedEventID{} } +func (m *FailedEventID) String() string { return proto.CompactTextString(m) } +func (*FailedEventID) ProtoMessage() {} func (*FailedEventID) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{24} + return fileDescriptor_73a7fc70dcc2027c, []int{29} } -func (x *FailedEventID) GetDatabase() string { - if x != nil { - return x.Database +func (m *FailedEventID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FailedEventID.Unmarshal(m, b) +} +func (m *FailedEventID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FailedEventID.Marshal(b, m, deterministic) +} +func (m *FailedEventID) XXX_Merge(src proto.Message) { + xxx_messageInfo_FailedEventID.Merge(m, src) +} +func (m *FailedEventID) XXX_Size() int { + return xxx_messageInfo_FailedEventID.Size(m) +} +func (m *FailedEventID) XXX_DiscardUnknown() { + xxx_messageInfo_FailedEventID.DiscardUnknown(m) +} + +var xxx_messageInfo_FailedEventID proto.InternalMessageInfo + +func (m *FailedEventID) GetDatabase() string { + if m != nil { + return m.Database } return "" } -func (x *FailedEventID) GetViewName() string { - if x != nil { - return x.ViewName +func (m *FailedEventID) GetViewName() string { + if m != nil { + return m.ViewName } return "" } -func (x *FailedEventID) GetFailedSequence() uint64 { - if x != nil { - return x.FailedSequence +func (m *FailedEventID) GetFailedSequence() uint64 { + if m != nil { + return m.FailedSequence } return 0 } type FailedEvents struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FailedEvents []*FailedEvent `protobuf:"bytes,1,rep,name=failed_events,json=failedEvents,proto3" json:"failed_events,omitempty"` + FailedEvents []*FailedEvent `protobuf:"bytes,1,rep,name=failed_events,json=failedEvents,proto3" json:"failed_events,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *FailedEvents) Reset() { - *x = FailedEvents{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FailedEvents) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FailedEvents) ProtoMessage() {} - -func (x *FailedEvents) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FailedEvents.ProtoReflect.Descriptor instead. +func (m *FailedEvents) Reset() { *m = FailedEvents{} } +func (m *FailedEvents) String() string { return proto.CompactTextString(m) } +func (*FailedEvents) ProtoMessage() {} func (*FailedEvents) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{25} + return fileDescriptor_73a7fc70dcc2027c, []int{30} } -func (x *FailedEvents) GetFailedEvents() []*FailedEvent { - if x != nil { - return x.FailedEvents +func (m *FailedEvents) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FailedEvents.Unmarshal(m, b) +} +func (m *FailedEvents) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FailedEvents.Marshal(b, m, deterministic) +} +func (m *FailedEvents) XXX_Merge(src proto.Message) { + xxx_messageInfo_FailedEvents.Merge(m, src) +} +func (m *FailedEvents) XXX_Size() int { + return xxx_messageInfo_FailedEvents.Size(m) +} +func (m *FailedEvents) XXX_DiscardUnknown() { + xxx_messageInfo_FailedEvents.DiscardUnknown(m) +} + +var xxx_messageInfo_FailedEvents proto.InternalMessageInfo + +func (m *FailedEvents) GetFailedEvents() []*FailedEvent { + if m != nil { + return m.FailedEvents } return nil } type FailedEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` - ViewName string `protobuf:"bytes,2,opt,name=view_name,json=viewName,proto3" json:"view_name,omitempty"` - FailedSequence uint64 `protobuf:"varint,3,opt,name=failed_sequence,json=failedSequence,proto3" json:"failed_sequence,omitempty"` - FailureCount uint64 `protobuf:"varint,4,opt,name=failure_count,json=failureCount,proto3" json:"failure_count,omitempty"` - ErrorMessage string `protobuf:"bytes,5,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` + ViewName string `protobuf:"bytes,2,opt,name=view_name,json=viewName,proto3" json:"view_name,omitempty"` + FailedSequence uint64 `protobuf:"varint,3,opt,name=failed_sequence,json=failedSequence,proto3" json:"failed_sequence,omitempty"` + FailureCount uint64 `protobuf:"varint,4,opt,name=failure_count,json=failureCount,proto3" json:"failure_count,omitempty"` + ErrorMessage string `protobuf:"bytes,5,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *FailedEvent) Reset() { - *x = FailedEvent{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FailedEvent) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FailedEvent) ProtoMessage() {} - -func (x *FailedEvent) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FailedEvent.ProtoReflect.Descriptor instead. +func (m *FailedEvent) Reset() { *m = FailedEvent{} } +func (m *FailedEvent) String() string { return proto.CompactTextString(m) } +func (*FailedEvent) ProtoMessage() {} func (*FailedEvent) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{26} + return fileDescriptor_73a7fc70dcc2027c, []int{31} } -func (x *FailedEvent) GetDatabase() string { - if x != nil { - return x.Database +func (m *FailedEvent) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FailedEvent.Unmarshal(m, b) +} +func (m *FailedEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FailedEvent.Marshal(b, m, deterministic) +} +func (m *FailedEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_FailedEvent.Merge(m, src) +} +func (m *FailedEvent) XXX_Size() int { + return xxx_messageInfo_FailedEvent.Size(m) +} +func (m *FailedEvent) XXX_DiscardUnknown() { + xxx_messageInfo_FailedEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_FailedEvent proto.InternalMessageInfo + +func (m *FailedEvent) GetDatabase() string { + if m != nil { + return m.Database } return "" } -func (x *FailedEvent) GetViewName() string { - if x != nil { - return x.ViewName +func (m *FailedEvent) GetViewName() string { + if m != nil { + return m.ViewName } return "" } -func (x *FailedEvent) GetFailedSequence() uint64 { - if x != nil { - return x.FailedSequence +func (m *FailedEvent) GetFailedSequence() uint64 { + if m != nil { + return m.FailedSequence } return 0 } -func (x *FailedEvent) GetFailureCount() uint64 { - if x != nil { - return x.FailureCount +func (m *FailedEvent) GetFailureCount() uint64 { + if m != nil { + return m.FailureCount } return 0 } -func (x *FailedEvent) GetErrorMessage() string { - if x != nil { - return x.ErrorMessage +func (m *FailedEvent) GetErrorMessage() string { + if m != nil { + return m.ErrorMessage } return "" } type ViewID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` - ViewName string `protobuf:"bytes,2,opt,name=view_name,json=viewName,proto3" json:"view_name,omitempty"` + Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` + ViewName string `protobuf:"bytes,2,opt,name=view_name,json=viewName,proto3" json:"view_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ViewID) Reset() { - *x = ViewID{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ViewID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ViewID) ProtoMessage() {} - -func (x *ViewID) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ViewID.ProtoReflect.Descriptor instead. +func (m *ViewID) Reset() { *m = ViewID{} } +func (m *ViewID) String() string { return proto.CompactTextString(m) } +func (*ViewID) ProtoMessage() {} func (*ViewID) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{27} + return fileDescriptor_73a7fc70dcc2027c, []int{32} } -func (x *ViewID) GetDatabase() string { - if x != nil { - return x.Database +func (m *ViewID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ViewID.Unmarshal(m, b) +} +func (m *ViewID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ViewID.Marshal(b, m, deterministic) +} +func (m *ViewID) XXX_Merge(src proto.Message) { + xxx_messageInfo_ViewID.Merge(m, src) +} +func (m *ViewID) XXX_Size() int { + return xxx_messageInfo_ViewID.Size(m) +} +func (m *ViewID) XXX_DiscardUnknown() { + xxx_messageInfo_ViewID.DiscardUnknown(m) +} + +var xxx_messageInfo_ViewID proto.InternalMessageInfo + +func (m *ViewID) GetDatabase() string { + if m != nil { + return m.Database } return "" } -func (x *ViewID) GetViewName() string { - if x != nil { - return x.ViewName +func (m *ViewID) GetViewName() string { + if m != nil { + return m.ViewName } return "" } type Views struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Views []*View `protobuf:"bytes,1,rep,name=views,proto3" json:"views,omitempty"` + Views []*View `protobuf:"bytes,1,rep,name=views,proto3" json:"views,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *Views) Reset() { - *x = Views{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Views) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Views) ProtoMessage() {} - -func (x *Views) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Views.ProtoReflect.Descriptor instead. +func (m *Views) Reset() { *m = Views{} } +func (m *Views) String() string { return proto.CompactTextString(m) } +func (*Views) ProtoMessage() {} func (*Views) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{28} + return fileDescriptor_73a7fc70dcc2027c, []int{33} } -func (x *Views) GetViews() []*View { - if x != nil { - return x.Views +func (m *Views) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Views.Unmarshal(m, b) +} +func (m *Views) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Views.Marshal(b, m, deterministic) +} +func (m *Views) XXX_Merge(src proto.Message) { + xxx_messageInfo_Views.Merge(m, src) +} +func (m *Views) XXX_Size() int { + return xxx_messageInfo_Views.Size(m) +} +func (m *Views) XXX_DiscardUnknown() { + xxx_messageInfo_Views.DiscardUnknown(m) +} + +var xxx_messageInfo_Views proto.InternalMessageInfo + +func (m *Views) GetViews() []*View { + if m != nil { + return m.Views } return nil } type View struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` - ViewName string `protobuf:"bytes,2,opt,name=view_name,json=viewName,proto3" json:"view_name,omitempty"` - ProcessedSequence uint64 `protobuf:"varint,3,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` - ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,4,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` + ViewName string `protobuf:"bytes,2,opt,name=view_name,json=viewName,proto3" json:"view_name,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,3,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,4,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *View) Reset() { - *x = View{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *View) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*View) ProtoMessage() {} - -func (x *View) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use View.ProtoReflect.Descriptor instead. +func (m *View) Reset() { *m = View{} } +func (m *View) String() string { return proto.CompactTextString(m) } +func (*View) ProtoMessage() {} func (*View) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{29} + return fileDescriptor_73a7fc70dcc2027c, []int{34} } -func (x *View) GetDatabase() string { - if x != nil { - return x.Database +func (m *View) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_View.Unmarshal(m, b) +} +func (m *View) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_View.Marshal(b, m, deterministic) +} +func (m *View) XXX_Merge(src proto.Message) { + xxx_messageInfo_View.Merge(m, src) +} +func (m *View) XXX_Size() int { + return xxx_messageInfo_View.Size(m) +} +func (m *View) XXX_DiscardUnknown() { + xxx_messageInfo_View.DiscardUnknown(m) +} + +var xxx_messageInfo_View proto.InternalMessageInfo + +func (m *View) GetDatabase() string { + if m != nil { + return m.Database } return "" } -func (x *View) GetViewName() string { - if x != nil { - return x.ViewName +func (m *View) GetViewName() string { + if m != nil { + return m.ViewName } return "" } -func (x *View) GetProcessedSequence() uint64 { - if x != nil { - return x.ProcessedSequence +func (m *View) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence } return 0 } -func (x *View) GetViewTimestamp() *timestamp.Timestamp { - if x != nil { - return x.ViewTimestamp +func (m *View) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp } return nil } type IdpID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpID) Reset() { - *x = IdpID{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpID) ProtoMessage() {} - -func (x *IdpID) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpID.ProtoReflect.Descriptor instead. +func (m *IdpID) Reset() { *m = IdpID{} } +func (m *IdpID) String() string { return proto.CompactTextString(m) } +func (*IdpID) ProtoMessage() {} func (*IdpID) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{30} + return fileDescriptor_73a7fc70dcc2027c, []int{35} } -func (x *IdpID) GetId() string { - if x != nil { - return x.Id +func (m *IdpID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpID.Unmarshal(m, b) +} +func (m *IdpID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpID.Marshal(b, m, deterministic) +} +func (m *IdpID) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpID.Merge(m, src) +} +func (m *IdpID) XXX_Size() int { + return xxx_messageInfo_IdpID.Size(m) +} +func (m *IdpID) XXX_DiscardUnknown() { + xxx_messageInfo_IdpID.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpID proto.InternalMessageInfo + +func (m *IdpID) GetId() string { + if m != nil { + return m.Id } return "" } type Idp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` State IdpState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.admin.api.v1.IdpState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` LogoSrc []byte `protobuf:"bytes,6,opt,name=logo_src,json=logoSrc,proto3" json:"logo_src,omitempty"` - // Types that are assignable to IdpConfig: + // Types that are valid to be assigned to IdpConfig: // *Idp_OidcConfig - IdpConfig isIdp_IdpConfig `protobuf_oneof:"idp_config"` - Sequence uint64 `protobuf:"varint,8,opt,name=sequence,proto3" json:"sequence,omitempty"` + IdpConfig isIdp_IdpConfig `protobuf_oneof:"idp_config"` + Sequence uint64 `protobuf:"varint,8,opt,name=sequence,proto3" json:"sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *Idp) Reset() { - *x = Idp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Idp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Idp) ProtoMessage() {} - -func (x *Idp) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Idp.ProtoReflect.Descriptor instead. +func (m *Idp) Reset() { *m = Idp{} } +func (m *Idp) String() string { return proto.CompactTextString(m) } +func (*Idp) ProtoMessage() {} func (*Idp) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{31} + return fileDescriptor_73a7fc70dcc2027c, []int{36} } -func (x *Idp) GetId() string { - if x != nil { - return x.Id +func (m *Idp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Idp.Unmarshal(m, b) +} +func (m *Idp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Idp.Marshal(b, m, deterministic) +} +func (m *Idp) XXX_Merge(src proto.Message) { + xxx_messageInfo_Idp.Merge(m, src) +} +func (m *Idp) XXX_Size() int { + return xxx_messageInfo_Idp.Size(m) +} +func (m *Idp) XXX_DiscardUnknown() { + xxx_messageInfo_Idp.DiscardUnknown(m) +} + +var xxx_messageInfo_Idp proto.InternalMessageInfo + +func (m *Idp) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *Idp) GetState() IdpState { - if x != nil { - return x.State +func (m *Idp) GetState() IdpState { + if m != nil { + return m.State } return IdpState_IDPCONFIGSTATE_UNSPECIFIED } -func (x *Idp) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *Idp) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *Idp) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *Idp) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *Idp) GetName() string { - if x != nil { - return x.Name +func (m *Idp) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *Idp) GetLogoSrc() []byte { - if x != nil { - return x.LogoSrc - } - return nil -} - -func (m *Idp) GetIdpConfig() isIdp_IdpConfig { +func (m *Idp) GetLogoSrc() []byte { if m != nil { - return m.IdpConfig + return m.LogoSrc } return nil } -func (x *Idp) GetOidcConfig() *OidcIdpConfig { - if x, ok := x.GetIdpConfig().(*Idp_OidcConfig); ok { - return x.OidcConfig - } - return nil -} - -func (x *Idp) GetSequence() uint64 { - if x != nil { - return x.Sequence - } - return 0 -} - type isIdp_IdpConfig interface { isIdp_IdpConfig() } @@ -2929,505 +2795,464 @@ type Idp_OidcConfig struct { func (*Idp_OidcConfig) isIdp_IdpConfig() {} +func (m *Idp) GetIdpConfig() isIdp_IdpConfig { + if m != nil { + return m.IdpConfig + } + return nil +} + +func (m *Idp) GetOidcConfig() *OidcIdpConfig { + if x, ok := m.GetIdpConfig().(*Idp_OidcConfig); ok { + return x.OidcConfig + } + return nil +} + +func (m *Idp) GetSequence() uint64 { + if m != nil { + return m.Sequence + } + return 0 +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*Idp) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*Idp_OidcConfig)(nil), + } +} + type IdpUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - LogoSrc []byte `protobuf:"bytes,3,opt,name=logo_src,json=logoSrc,proto3" json:"logo_src,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + LogoSrc []byte `protobuf:"bytes,3,opt,name=logo_src,json=logoSrc,proto3" json:"logo_src,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpUpdate) Reset() { - *x = IdpUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpUpdate) ProtoMessage() {} - -func (x *IdpUpdate) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpUpdate.ProtoReflect.Descriptor instead. +func (m *IdpUpdate) Reset() { *m = IdpUpdate{} } +func (m *IdpUpdate) String() string { return proto.CompactTextString(m) } +func (*IdpUpdate) ProtoMessage() {} func (*IdpUpdate) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{32} + return fileDescriptor_73a7fc70dcc2027c, []int{37} } -func (x *IdpUpdate) GetId() string { - if x != nil { - return x.Id +func (m *IdpUpdate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpUpdate.Unmarshal(m, b) +} +func (m *IdpUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpUpdate.Marshal(b, m, deterministic) +} +func (m *IdpUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpUpdate.Merge(m, src) +} +func (m *IdpUpdate) XXX_Size() int { + return xxx_messageInfo_IdpUpdate.Size(m) +} +func (m *IdpUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_IdpUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpUpdate proto.InternalMessageInfo + +func (m *IdpUpdate) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *IdpUpdate) GetName() string { - if x != nil { - return x.Name +func (m *IdpUpdate) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *IdpUpdate) GetLogoSrc() []byte { - if x != nil { - return x.LogoSrc +func (m *IdpUpdate) GetLogoSrc() []byte { + if m != nil { + return m.LogoSrc } return nil } type OidcIdpConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` - ClientSecret string `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` - Issuer string `protobuf:"bytes,3,opt,name=issuer,proto3" json:"issuer,omitempty"` - Scopes []string `protobuf:"bytes,4,rep,name=scopes,proto3" json:"scopes,omitempty"` + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + ClientSecret string `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + Issuer string `protobuf:"bytes,3,opt,name=issuer,proto3" json:"issuer,omitempty"` + Scopes []string `protobuf:"bytes,4,rep,name=scopes,proto3" json:"scopes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OidcIdpConfig) Reset() { - *x = OidcIdpConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OidcIdpConfig) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OidcIdpConfig) ProtoMessage() {} - -func (x *OidcIdpConfig) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OidcIdpConfig.ProtoReflect.Descriptor instead. +func (m *OidcIdpConfig) Reset() { *m = OidcIdpConfig{} } +func (m *OidcIdpConfig) String() string { return proto.CompactTextString(m) } +func (*OidcIdpConfig) ProtoMessage() {} func (*OidcIdpConfig) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{33} + return fileDescriptor_73a7fc70dcc2027c, []int{38} } -func (x *OidcIdpConfig) GetClientId() string { - if x != nil { - return x.ClientId +func (m *OidcIdpConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OidcIdpConfig.Unmarshal(m, b) +} +func (m *OidcIdpConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OidcIdpConfig.Marshal(b, m, deterministic) +} +func (m *OidcIdpConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_OidcIdpConfig.Merge(m, src) +} +func (m *OidcIdpConfig) XXX_Size() int { + return xxx_messageInfo_OidcIdpConfig.Size(m) +} +func (m *OidcIdpConfig) XXX_DiscardUnknown() { + xxx_messageInfo_OidcIdpConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_OidcIdpConfig proto.InternalMessageInfo + +func (m *OidcIdpConfig) GetClientId() string { + if m != nil { + return m.ClientId } return "" } -func (x *OidcIdpConfig) GetClientSecret() string { - if x != nil { - return x.ClientSecret +func (m *OidcIdpConfig) GetClientSecret() string { + if m != nil { + return m.ClientSecret } return "" } -func (x *OidcIdpConfig) GetIssuer() string { - if x != nil { - return x.Issuer +func (m *OidcIdpConfig) GetIssuer() string { + if m != nil { + return m.Issuer } return "" } -func (x *OidcIdpConfig) GetScopes() []string { - if x != nil { - return x.Scopes +func (m *OidcIdpConfig) GetScopes() []string { + if m != nil { + return m.Scopes } return nil } type OidcIdpConfigCreate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - LogoSrc []byte `protobuf:"bytes,2,opt,name=logo_src,json=logoSrc,proto3" json:"logo_src,omitempty"` - ClientId string `protobuf:"bytes,3,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` - ClientSecret string `protobuf:"bytes,4,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` - Issuer string `protobuf:"bytes,5,opt,name=issuer,proto3" json:"issuer,omitempty"` - Scopes []string `protobuf:"bytes,6,rep,name=scopes,proto3" json:"scopes,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + LogoSrc []byte `protobuf:"bytes,2,opt,name=logo_src,json=logoSrc,proto3" json:"logo_src,omitempty"` + ClientId string `protobuf:"bytes,3,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + ClientSecret string `protobuf:"bytes,4,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + Issuer string `protobuf:"bytes,5,opt,name=issuer,proto3" json:"issuer,omitempty"` + Scopes []string `protobuf:"bytes,6,rep,name=scopes,proto3" json:"scopes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OidcIdpConfigCreate) Reset() { - *x = OidcIdpConfigCreate{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OidcIdpConfigCreate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OidcIdpConfigCreate) ProtoMessage() {} - -func (x *OidcIdpConfigCreate) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OidcIdpConfigCreate.ProtoReflect.Descriptor instead. +func (m *OidcIdpConfigCreate) Reset() { *m = OidcIdpConfigCreate{} } +func (m *OidcIdpConfigCreate) String() string { return proto.CompactTextString(m) } +func (*OidcIdpConfigCreate) ProtoMessage() {} func (*OidcIdpConfigCreate) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{34} + return fileDescriptor_73a7fc70dcc2027c, []int{39} } -func (x *OidcIdpConfigCreate) GetName() string { - if x != nil { - return x.Name +func (m *OidcIdpConfigCreate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OidcIdpConfigCreate.Unmarshal(m, b) +} +func (m *OidcIdpConfigCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OidcIdpConfigCreate.Marshal(b, m, deterministic) +} +func (m *OidcIdpConfigCreate) XXX_Merge(src proto.Message) { + xxx_messageInfo_OidcIdpConfigCreate.Merge(m, src) +} +func (m *OidcIdpConfigCreate) XXX_Size() int { + return xxx_messageInfo_OidcIdpConfigCreate.Size(m) +} +func (m *OidcIdpConfigCreate) XXX_DiscardUnknown() { + xxx_messageInfo_OidcIdpConfigCreate.DiscardUnknown(m) +} + +var xxx_messageInfo_OidcIdpConfigCreate proto.InternalMessageInfo + +func (m *OidcIdpConfigCreate) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *OidcIdpConfigCreate) GetLogoSrc() []byte { - if x != nil { - return x.LogoSrc +func (m *OidcIdpConfigCreate) GetLogoSrc() []byte { + if m != nil { + return m.LogoSrc } return nil } -func (x *OidcIdpConfigCreate) GetClientId() string { - if x != nil { - return x.ClientId +func (m *OidcIdpConfigCreate) GetClientId() string { + if m != nil { + return m.ClientId } return "" } -func (x *OidcIdpConfigCreate) GetClientSecret() string { - if x != nil { - return x.ClientSecret +func (m *OidcIdpConfigCreate) GetClientSecret() string { + if m != nil { + return m.ClientSecret } return "" } -func (x *OidcIdpConfigCreate) GetIssuer() string { - if x != nil { - return x.Issuer +func (m *OidcIdpConfigCreate) GetIssuer() string { + if m != nil { + return m.Issuer } return "" } -func (x *OidcIdpConfigCreate) GetScopes() []string { - if x != nil { - return x.Scopes +func (m *OidcIdpConfigCreate) GetScopes() []string { + if m != nil { + return m.Scopes } return nil } type OidcIdpConfigUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IdpId string `protobuf:"bytes,1,opt,name=idp_id,json=idpId,proto3" json:"idp_id,omitempty"` - ClientId string `protobuf:"bytes,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` - ClientSecret string `protobuf:"bytes,3,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` - Issuer string `protobuf:"bytes,4,opt,name=issuer,proto3" json:"issuer,omitempty"` - Scopes []string `protobuf:"bytes,5,rep,name=scopes,proto3" json:"scopes,omitempty"` + IdpId string `protobuf:"bytes,1,opt,name=idp_id,json=idpId,proto3" json:"idp_id,omitempty"` + ClientId string `protobuf:"bytes,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + ClientSecret string `protobuf:"bytes,3,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + Issuer string `protobuf:"bytes,4,opt,name=issuer,proto3" json:"issuer,omitempty"` + Scopes []string `protobuf:"bytes,5,rep,name=scopes,proto3" json:"scopes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OidcIdpConfigUpdate) Reset() { - *x = OidcIdpConfigUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OidcIdpConfigUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OidcIdpConfigUpdate) ProtoMessage() {} - -func (x *OidcIdpConfigUpdate) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OidcIdpConfigUpdate.ProtoReflect.Descriptor instead. +func (m *OidcIdpConfigUpdate) Reset() { *m = OidcIdpConfigUpdate{} } +func (m *OidcIdpConfigUpdate) String() string { return proto.CompactTextString(m) } +func (*OidcIdpConfigUpdate) ProtoMessage() {} func (*OidcIdpConfigUpdate) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{35} + return fileDescriptor_73a7fc70dcc2027c, []int{40} } -func (x *OidcIdpConfigUpdate) GetIdpId() string { - if x != nil { - return x.IdpId +func (m *OidcIdpConfigUpdate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OidcIdpConfigUpdate.Unmarshal(m, b) +} +func (m *OidcIdpConfigUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OidcIdpConfigUpdate.Marshal(b, m, deterministic) +} +func (m *OidcIdpConfigUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_OidcIdpConfigUpdate.Merge(m, src) +} +func (m *OidcIdpConfigUpdate) XXX_Size() int { + return xxx_messageInfo_OidcIdpConfigUpdate.Size(m) +} +func (m *OidcIdpConfigUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_OidcIdpConfigUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_OidcIdpConfigUpdate proto.InternalMessageInfo + +func (m *OidcIdpConfigUpdate) GetIdpId() string { + if m != nil { + return m.IdpId } return "" } -func (x *OidcIdpConfigUpdate) GetClientId() string { - if x != nil { - return x.ClientId +func (m *OidcIdpConfigUpdate) GetClientId() string { + if m != nil { + return m.ClientId } return "" } -func (x *OidcIdpConfigUpdate) GetClientSecret() string { - if x != nil { - return x.ClientSecret +func (m *OidcIdpConfigUpdate) GetClientSecret() string { + if m != nil { + return m.ClientSecret } return "" } -func (x *OidcIdpConfigUpdate) GetIssuer() string { - if x != nil { - return x.Issuer +func (m *OidcIdpConfigUpdate) GetIssuer() string { + if m != nil { + return m.Issuer } return "" } -func (x *OidcIdpConfigUpdate) GetScopes() []string { - if x != nil { - return x.Scopes +func (m *OidcIdpConfigUpdate) GetScopes() []string { + if m != nil { + return m.Scopes } return nil } type IdpSearchResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` - Result []*IdpView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` - ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` - ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` + Result []*IdpView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpSearchResponse) Reset() { - *x = IdpSearchResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpSearchResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpSearchResponse) ProtoMessage() {} - -func (x *IdpSearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpSearchResponse.ProtoReflect.Descriptor instead. +func (m *IdpSearchResponse) Reset() { *m = IdpSearchResponse{} } +func (m *IdpSearchResponse) String() string { return proto.CompactTextString(m) } +func (*IdpSearchResponse) ProtoMessage() {} func (*IdpSearchResponse) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{36} + return fileDescriptor_73a7fc70dcc2027c, []int{41} } -func (x *IdpSearchResponse) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *IdpSearchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpSearchResponse.Unmarshal(m, b) +} +func (m *IdpSearchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpSearchResponse.Marshal(b, m, deterministic) +} +func (m *IdpSearchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpSearchResponse.Merge(m, src) +} +func (m *IdpSearchResponse) XXX_Size() int { + return xxx_messageInfo_IdpSearchResponse.Size(m) +} +func (m *IdpSearchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_IdpSearchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpSearchResponse proto.InternalMessageInfo + +func (m *IdpSearchResponse) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *IdpSearchResponse) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *IdpSearchResponse) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *IdpSearchResponse) GetTotalResult() uint64 { - if x != nil { - return x.TotalResult +func (m *IdpSearchResponse) GetTotalResult() uint64 { + if m != nil { + return m.TotalResult } return 0 } -func (x *IdpSearchResponse) GetResult() []*IdpView { - if x != nil { - return x.Result +func (m *IdpSearchResponse) GetResult() []*IdpView { + if m != nil { + return m.Result } return nil } -func (x *IdpSearchResponse) GetProcessedSequence() uint64 { - if x != nil { - return x.ProcessedSequence +func (m *IdpSearchResponse) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence } return 0 } -func (x *IdpSearchResponse) GetViewTimestamp() *timestamp.Timestamp { - if x != nil { - return x.ViewTimestamp +func (m *IdpSearchResponse) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp } return nil } type IdpView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` State IdpState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.admin.api.v1.IdpState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` LogoSrc []byte `protobuf:"bytes,6,opt,name=logo_src,json=logoSrc,proto3" json:"logo_src,omitempty"` - // Types that are assignable to IdpConfigView: + // Types that are valid to be assigned to IdpConfigView: // *IdpView_OidcConfig - IdpConfigView isIdpView_IdpConfigView `protobuf_oneof:"idp_config_view"` - Sequence uint64 `protobuf:"varint,8,opt,name=sequence,proto3" json:"sequence,omitempty"` + IdpConfigView isIdpView_IdpConfigView `protobuf_oneof:"idp_config_view"` + Sequence uint64 `protobuf:"varint,8,opt,name=sequence,proto3" json:"sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpView) Reset() { - *x = IdpView{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpView) ProtoMessage() {} - -func (x *IdpView) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpView.ProtoReflect.Descriptor instead. +func (m *IdpView) Reset() { *m = IdpView{} } +func (m *IdpView) String() string { return proto.CompactTextString(m) } +func (*IdpView) ProtoMessage() {} func (*IdpView) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{37} + return fileDescriptor_73a7fc70dcc2027c, []int{42} } -func (x *IdpView) GetId() string { - if x != nil { - return x.Id +func (m *IdpView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpView.Unmarshal(m, b) +} +func (m *IdpView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpView.Marshal(b, m, deterministic) +} +func (m *IdpView) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpView.Merge(m, src) +} +func (m *IdpView) XXX_Size() int { + return xxx_messageInfo_IdpView.Size(m) +} +func (m *IdpView) XXX_DiscardUnknown() { + xxx_messageInfo_IdpView.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpView proto.InternalMessageInfo + +func (m *IdpView) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *IdpView) GetState() IdpState { - if x != nil { - return x.State +func (m *IdpView) GetState() IdpState { + if m != nil { + return m.State } return IdpState_IDPCONFIGSTATE_UNSPECIFIED } -func (x *IdpView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *IdpView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *IdpView) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *IdpView) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *IdpView) GetName() string { - if x != nil { - return x.Name +func (m *IdpView) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *IdpView) GetLogoSrc() []byte { - if x != nil { - return x.LogoSrc - } - return nil -} - -func (m *IdpView) GetIdpConfigView() isIdpView_IdpConfigView { +func (m *IdpView) GetLogoSrc() []byte { if m != nil { - return m.IdpConfigView + return m.LogoSrc } return nil } -func (x *IdpView) GetOidcConfig() *OidcIdpConfigView { - if x, ok := x.GetIdpConfigView().(*IdpView_OidcConfig); ok { - return x.OidcConfig - } - return nil -} - -func (x *IdpView) GetSequence() uint64 { - if x != nil { - return x.Sequence - } - return 0 -} - type isIdpView_IdpConfigView interface { isIdpView_IdpConfigView() } @@ -3438,2395 +3263,872 @@ type IdpView_OidcConfig struct { func (*IdpView_OidcConfig) isIdpView_IdpConfigView() {} +func (m *IdpView) GetIdpConfigView() isIdpView_IdpConfigView { + if m != nil { + return m.IdpConfigView + } + return nil +} + +func (m *IdpView) GetOidcConfig() *OidcIdpConfigView { + if x, ok := m.GetIdpConfigView().(*IdpView_OidcConfig); ok { + return x.OidcConfig + } + return nil +} + +func (m *IdpView) GetSequence() uint64 { + if m != nil { + return m.Sequence + } + return 0 +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*IdpView) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*IdpView_OidcConfig)(nil), + } +} + type OidcIdpConfigView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` - Issuer string `protobuf:"bytes,2,opt,name=issuer,proto3" json:"issuer,omitempty"` - Scopes []string `protobuf:"bytes,3,rep,name=scopes,proto3" json:"scopes,omitempty"` + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + Issuer string `protobuf:"bytes,2,opt,name=issuer,proto3" json:"issuer,omitempty"` + Scopes []string `protobuf:"bytes,3,rep,name=scopes,proto3" json:"scopes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OidcIdpConfigView) Reset() { - *x = OidcIdpConfigView{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OidcIdpConfigView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OidcIdpConfigView) ProtoMessage() {} - -func (x *OidcIdpConfigView) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OidcIdpConfigView.ProtoReflect.Descriptor instead. +func (m *OidcIdpConfigView) Reset() { *m = OidcIdpConfigView{} } +func (m *OidcIdpConfigView) String() string { return proto.CompactTextString(m) } +func (*OidcIdpConfigView) ProtoMessage() {} func (*OidcIdpConfigView) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{38} + return fileDescriptor_73a7fc70dcc2027c, []int{43} } -func (x *OidcIdpConfigView) GetClientId() string { - if x != nil { - return x.ClientId +func (m *OidcIdpConfigView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OidcIdpConfigView.Unmarshal(m, b) +} +func (m *OidcIdpConfigView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OidcIdpConfigView.Marshal(b, m, deterministic) +} +func (m *OidcIdpConfigView) XXX_Merge(src proto.Message) { + xxx_messageInfo_OidcIdpConfigView.Merge(m, src) +} +func (m *OidcIdpConfigView) XXX_Size() int { + return xxx_messageInfo_OidcIdpConfigView.Size(m) +} +func (m *OidcIdpConfigView) XXX_DiscardUnknown() { + xxx_messageInfo_OidcIdpConfigView.DiscardUnknown(m) +} + +var xxx_messageInfo_OidcIdpConfigView proto.InternalMessageInfo + +func (m *OidcIdpConfigView) GetClientId() string { + if m != nil { + return m.ClientId } return "" } -func (x *OidcIdpConfigView) GetIssuer() string { - if x != nil { - return x.Issuer +func (m *OidcIdpConfigView) GetIssuer() string { + if m != nil { + return m.Issuer } return "" } -func (x *OidcIdpConfigView) GetScopes() []string { - if x != nil { - return x.Scopes +func (m *OidcIdpConfigView) GetScopes() []string { + if m != nil { + return m.Scopes } return nil } type IdpSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - Queries []*IdpSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + Queries []*IdpSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpSearchRequest) Reset() { - *x = IdpSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpSearchRequest) ProtoMessage() {} - -func (x *IdpSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpSearchRequest.ProtoReflect.Descriptor instead. +func (m *IdpSearchRequest) Reset() { *m = IdpSearchRequest{} } +func (m *IdpSearchRequest) String() string { return proto.CompactTextString(m) } +func (*IdpSearchRequest) ProtoMessage() {} func (*IdpSearchRequest) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{39} + return fileDescriptor_73a7fc70dcc2027c, []int{44} } -func (x *IdpSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *IdpSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpSearchRequest.Unmarshal(m, b) +} +func (m *IdpSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpSearchRequest.Marshal(b, m, deterministic) +} +func (m *IdpSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpSearchRequest.Merge(m, src) +} +func (m *IdpSearchRequest) XXX_Size() int { + return xxx_messageInfo_IdpSearchRequest.Size(m) +} +func (m *IdpSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_IdpSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpSearchRequest proto.InternalMessageInfo + +func (m *IdpSearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *IdpSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *IdpSearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *IdpSearchRequest) GetQueries() []*IdpSearchQuery { - if x != nil { - return x.Queries +func (m *IdpSearchRequest) GetQueries() []*IdpSearchQuery { + if m != nil { + return m.Queries } return nil } type IdpSearchQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key IdpSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.admin.api.v1.IdpSearchKey" json:"key,omitempty"` - Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.admin.api.v1.SearchMethod" json:"method,omitempty"` - Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + Key IdpSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.admin.api.v1.IdpSearchKey" json:"key,omitempty"` + Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.admin.api.v1.SearchMethod" json:"method,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpSearchQuery) Reset() { - *x = IdpSearchQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpSearchQuery) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpSearchQuery) ProtoMessage() {} - -func (x *IdpSearchQuery) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpSearchQuery.ProtoReflect.Descriptor instead. +func (m *IdpSearchQuery) Reset() { *m = IdpSearchQuery{} } +func (m *IdpSearchQuery) String() string { return proto.CompactTextString(m) } +func (*IdpSearchQuery) ProtoMessage() {} func (*IdpSearchQuery) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{40} + return fileDescriptor_73a7fc70dcc2027c, []int{45} } -func (x *IdpSearchQuery) GetKey() IdpSearchKey { - if x != nil { - return x.Key +func (m *IdpSearchQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpSearchQuery.Unmarshal(m, b) +} +func (m *IdpSearchQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpSearchQuery.Marshal(b, m, deterministic) +} +func (m *IdpSearchQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpSearchQuery.Merge(m, src) +} +func (m *IdpSearchQuery) XXX_Size() int { + return xxx_messageInfo_IdpSearchQuery.Size(m) +} +func (m *IdpSearchQuery) XXX_DiscardUnknown() { + xxx_messageInfo_IdpSearchQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpSearchQuery proto.InternalMessageInfo + +func (m *IdpSearchQuery) GetKey() IdpSearchKey { + if m != nil { + return m.Key } return IdpSearchKey_IDPSEARCHKEY_UNSPECIFIED } -func (x *IdpSearchQuery) GetMethod() SearchMethod { - if x != nil { - return x.Method +func (m *IdpSearchQuery) GetMethod() SearchMethod { + if m != nil { + return m.Method } return SearchMethod_SEARCHMETHOD_EQUALS } -func (x *IdpSearchQuery) GetValue() string { - if x != nil { - return x.Value +func (m *IdpSearchQuery) GetValue() string { + if m != nil { + return m.Value } return "" } type DefaultLoginPolicy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AllowUsernamePassword bool `protobuf:"varint,1,opt,name=allow_username_password,json=allowUsernamePassword,proto3" json:"allow_username_password,omitempty"` - AllowRegister bool `protobuf:"varint,2,opt,name=allow_register,json=allowRegister,proto3" json:"allow_register,omitempty"` - AllowExternalIdp bool `protobuf:"varint,3,opt,name=allow_external_idp,json=allowExternalIdp,proto3" json:"allow_external_idp,omitempty"` + AllowUsernamePassword bool `protobuf:"varint,1,opt,name=allow_username_password,json=allowUsernamePassword,proto3" json:"allow_username_password,omitempty"` + AllowRegister bool `protobuf:"varint,2,opt,name=allow_register,json=allowRegister,proto3" json:"allow_register,omitempty"` + AllowExternalIdp bool `protobuf:"varint,3,opt,name=allow_external_idp,json=allowExternalIdp,proto3" json:"allow_external_idp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *DefaultLoginPolicy) Reset() { - *x = DefaultLoginPolicy{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DefaultLoginPolicy) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DefaultLoginPolicy) ProtoMessage() {} - -func (x *DefaultLoginPolicy) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DefaultLoginPolicy.ProtoReflect.Descriptor instead. +func (m *DefaultLoginPolicy) Reset() { *m = DefaultLoginPolicy{} } +func (m *DefaultLoginPolicy) String() string { return proto.CompactTextString(m) } +func (*DefaultLoginPolicy) ProtoMessage() {} func (*DefaultLoginPolicy) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{41} + return fileDescriptor_73a7fc70dcc2027c, []int{46} } -func (x *DefaultLoginPolicy) GetAllowUsernamePassword() bool { - if x != nil { - return x.AllowUsernamePassword +func (m *DefaultLoginPolicy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DefaultLoginPolicy.Unmarshal(m, b) +} +func (m *DefaultLoginPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DefaultLoginPolicy.Marshal(b, m, deterministic) +} +func (m *DefaultLoginPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_DefaultLoginPolicy.Merge(m, src) +} +func (m *DefaultLoginPolicy) XXX_Size() int { + return xxx_messageInfo_DefaultLoginPolicy.Size(m) +} +func (m *DefaultLoginPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_DefaultLoginPolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_DefaultLoginPolicy proto.InternalMessageInfo + +func (m *DefaultLoginPolicy) GetAllowUsernamePassword() bool { + if m != nil { + return m.AllowUsernamePassword } return false } -func (x *DefaultLoginPolicy) GetAllowRegister() bool { - if x != nil { - return x.AllowRegister +func (m *DefaultLoginPolicy) GetAllowRegister() bool { + if m != nil { + return m.AllowRegister } return false } -func (x *DefaultLoginPolicy) GetAllowExternalIdp() bool { - if x != nil { - return x.AllowExternalIdp +func (m *DefaultLoginPolicy) GetAllowExternalIdp() bool { + if m != nil { + return m.AllowExternalIdp } return false } type IdpProviderID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IdpConfigId string `protobuf:"bytes,1,opt,name=idp_config_id,json=idpConfigId,proto3" json:"idp_config_id,omitempty"` + IdpConfigId string `protobuf:"bytes,1,opt,name=idp_config_id,json=idpConfigId,proto3" json:"idp_config_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpProviderID) Reset() { - *x = IdpProviderID{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpProviderID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpProviderID) ProtoMessage() {} - -func (x *IdpProviderID) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpProviderID.ProtoReflect.Descriptor instead. +func (m *IdpProviderID) Reset() { *m = IdpProviderID{} } +func (m *IdpProviderID) String() string { return proto.CompactTextString(m) } +func (*IdpProviderID) ProtoMessage() {} func (*IdpProviderID) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{42} + return fileDescriptor_73a7fc70dcc2027c, []int{47} } -func (x *IdpProviderID) GetIdpConfigId() string { - if x != nil { - return x.IdpConfigId +func (m *IdpProviderID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpProviderID.Unmarshal(m, b) +} +func (m *IdpProviderID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpProviderID.Marshal(b, m, deterministic) +} +func (m *IdpProviderID) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpProviderID.Merge(m, src) +} +func (m *IdpProviderID) XXX_Size() int { + return xxx_messageInfo_IdpProviderID.Size(m) +} +func (m *IdpProviderID) XXX_DiscardUnknown() { + xxx_messageInfo_IdpProviderID.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpProviderID proto.InternalMessageInfo + +func (m *IdpProviderID) GetIdpConfigId() string { + if m != nil { + return m.IdpConfigId } return "" } type DefaultLoginPolicyView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AllowUsernamePassword bool `protobuf:"varint,1,opt,name=allow_username_password,json=allowUsernamePassword,proto3" json:"allow_username_password,omitempty"` - AllowRegister bool `protobuf:"varint,2,opt,name=allow_register,json=allowRegister,proto3" json:"allow_register,omitempty"` - AllowExternalIdp bool `protobuf:"varint,3,opt,name=allow_external_idp,json=allowExternalIdp,proto3" json:"allow_external_idp,omitempty"` + AllowUsernamePassword bool `protobuf:"varint,1,opt,name=allow_username_password,json=allowUsernamePassword,proto3" json:"allow_username_password,omitempty"` + AllowRegister bool `protobuf:"varint,2,opt,name=allow_register,json=allowRegister,proto3" json:"allow_register,omitempty"` + AllowExternalIdp bool `protobuf:"varint,3,opt,name=allow_external_idp,json=allowExternalIdp,proto3" json:"allow_external_idp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *DefaultLoginPolicyView) Reset() { - *x = DefaultLoginPolicyView{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DefaultLoginPolicyView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DefaultLoginPolicyView) ProtoMessage() {} - -func (x *DefaultLoginPolicyView) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DefaultLoginPolicyView.ProtoReflect.Descriptor instead. +func (m *DefaultLoginPolicyView) Reset() { *m = DefaultLoginPolicyView{} } +func (m *DefaultLoginPolicyView) String() string { return proto.CompactTextString(m) } +func (*DefaultLoginPolicyView) ProtoMessage() {} func (*DefaultLoginPolicyView) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{43} + return fileDescriptor_73a7fc70dcc2027c, []int{48} } -func (x *DefaultLoginPolicyView) GetAllowUsernamePassword() bool { - if x != nil { - return x.AllowUsernamePassword +func (m *DefaultLoginPolicyView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DefaultLoginPolicyView.Unmarshal(m, b) +} +func (m *DefaultLoginPolicyView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DefaultLoginPolicyView.Marshal(b, m, deterministic) +} +func (m *DefaultLoginPolicyView) XXX_Merge(src proto.Message) { + xxx_messageInfo_DefaultLoginPolicyView.Merge(m, src) +} +func (m *DefaultLoginPolicyView) XXX_Size() int { + return xxx_messageInfo_DefaultLoginPolicyView.Size(m) +} +func (m *DefaultLoginPolicyView) XXX_DiscardUnknown() { + xxx_messageInfo_DefaultLoginPolicyView.DiscardUnknown(m) +} + +var xxx_messageInfo_DefaultLoginPolicyView proto.InternalMessageInfo + +func (m *DefaultLoginPolicyView) GetAllowUsernamePassword() bool { + if m != nil { + return m.AllowUsernamePassword } return false } -func (x *DefaultLoginPolicyView) GetAllowRegister() bool { - if x != nil { - return x.AllowRegister +func (m *DefaultLoginPolicyView) GetAllowRegister() bool { + if m != nil { + return m.AllowRegister } return false } -func (x *DefaultLoginPolicyView) GetAllowExternalIdp() bool { - if x != nil { - return x.AllowExternalIdp +func (m *DefaultLoginPolicyView) GetAllowExternalIdp() bool { + if m != nil { + return m.AllowExternalIdp } return false } -type IdpProviderViews struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Providers []*IdpProviderView `protobuf:"bytes,1,rep,name=providers,proto3" json:"providers,omitempty"` -} - -func (x *IdpProviderViews) Reset() { - *x = IdpProviderViews{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpProviderViews) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpProviderViews) ProtoMessage() {} - -func (x *IdpProviderViews) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpProviderViews.ProtoReflect.Descriptor instead. -func (*IdpProviderViews) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{44} -} - -func (x *IdpProviderViews) GetProviders() []*IdpProviderView { - if x != nil { - return x.Providers - } - return nil -} - type IdpProviderView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IdpConfigId string `protobuf:"bytes,1,opt,name=idp_config_id,json=idpConfigId,proto3" json:"idp_config_id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Type IdpType `protobuf:"varint,3,opt,name=type,proto3,enum=caos.zitadel.admin.api.v1.IdpType" json:"type,omitempty"` + IdpConfigId string `protobuf:"bytes,1,opt,name=idp_config_id,json=idpConfigId,proto3" json:"idp_config_id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Type IdpType `protobuf:"varint,3,opt,name=type,proto3,enum=caos.zitadel.admin.api.v1.IdpType" json:"type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpProviderView) Reset() { - *x = IdpProviderView{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpProviderView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpProviderView) ProtoMessage() {} - -func (x *IdpProviderView) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpProviderView.ProtoReflect.Descriptor instead. +func (m *IdpProviderView) Reset() { *m = IdpProviderView{} } +func (m *IdpProviderView) String() string { return proto.CompactTextString(m) } +func (*IdpProviderView) ProtoMessage() {} func (*IdpProviderView) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{45} + return fileDescriptor_73a7fc70dcc2027c, []int{49} } -func (x *IdpProviderView) GetIdpConfigId() string { - if x != nil { - return x.IdpConfigId +func (m *IdpProviderView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpProviderView.Unmarshal(m, b) +} +func (m *IdpProviderView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpProviderView.Marshal(b, m, deterministic) +} +func (m *IdpProviderView) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpProviderView.Merge(m, src) +} +func (m *IdpProviderView) XXX_Size() int { + return xxx_messageInfo_IdpProviderView.Size(m) +} +func (m *IdpProviderView) XXX_DiscardUnknown() { + xxx_messageInfo_IdpProviderView.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpProviderView proto.InternalMessageInfo + +func (m *IdpProviderView) GetIdpConfigId() string { + if m != nil { + return m.IdpConfigId } return "" } -func (x *IdpProviderView) GetName() string { - if x != nil { - return x.Name +func (m *IdpProviderView) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *IdpProviderView) GetType() IdpType { - if x != nil { - return x.Type +func (m *IdpProviderView) GetType() IdpType { + if m != nil { + return m.Type } return IdpType_IDPTYPE_UNSPECIFIED } type IdpProviderSearchResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` - Result []*IdpProviderView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` - ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` - ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` + Result []*IdpProviderView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpProviderSearchResponse) Reset() { - *x = IdpProviderSearchResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpProviderSearchResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpProviderSearchResponse) ProtoMessage() {} - -func (x *IdpProviderSearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[46] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpProviderSearchResponse.ProtoReflect.Descriptor instead. +func (m *IdpProviderSearchResponse) Reset() { *m = IdpProviderSearchResponse{} } +func (m *IdpProviderSearchResponse) String() string { return proto.CompactTextString(m) } +func (*IdpProviderSearchResponse) ProtoMessage() {} func (*IdpProviderSearchResponse) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{46} + return fileDescriptor_73a7fc70dcc2027c, []int{50} } -func (x *IdpProviderSearchResponse) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *IdpProviderSearchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpProviderSearchResponse.Unmarshal(m, b) +} +func (m *IdpProviderSearchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpProviderSearchResponse.Marshal(b, m, deterministic) +} +func (m *IdpProviderSearchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpProviderSearchResponse.Merge(m, src) +} +func (m *IdpProviderSearchResponse) XXX_Size() int { + return xxx_messageInfo_IdpProviderSearchResponse.Size(m) +} +func (m *IdpProviderSearchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_IdpProviderSearchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpProviderSearchResponse proto.InternalMessageInfo + +func (m *IdpProviderSearchResponse) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *IdpProviderSearchResponse) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *IdpProviderSearchResponse) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *IdpProviderSearchResponse) GetTotalResult() uint64 { - if x != nil { - return x.TotalResult +func (m *IdpProviderSearchResponse) GetTotalResult() uint64 { + if m != nil { + return m.TotalResult } return 0 } -func (x *IdpProviderSearchResponse) GetResult() []*IdpProviderView { - if x != nil { - return x.Result +func (m *IdpProviderSearchResponse) GetResult() []*IdpProviderView { + if m != nil { + return m.Result } return nil } -func (x *IdpProviderSearchResponse) GetProcessedSequence() uint64 { - if x != nil { - return x.ProcessedSequence +func (m *IdpProviderSearchResponse) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence } return 0 } -func (x *IdpProviderSearchResponse) GetViewTimestamp() *timestamp.Timestamp { - if x != nil { - return x.ViewTimestamp +func (m *IdpProviderSearchResponse) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp } return nil } type IdpProviderSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpProviderSearchRequest) Reset() { - *x = IdpProviderSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpProviderSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpProviderSearchRequest) ProtoMessage() {} - -func (x *IdpProviderSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_admin_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpProviderSearchRequest.ProtoReflect.Descriptor instead. +func (m *IdpProviderSearchRequest) Reset() { *m = IdpProviderSearchRequest{} } +func (m *IdpProviderSearchRequest) String() string { return proto.CompactTextString(m) } +func (*IdpProviderSearchRequest) ProtoMessage() {} func (*IdpProviderSearchRequest) Descriptor() ([]byte, []int) { - return file_admin_proto_rawDescGZIP(), []int{47} + return fileDescriptor_73a7fc70dcc2027c, []int{51} } -func (x *IdpProviderSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *IdpProviderSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpProviderSearchRequest.Unmarshal(m, b) +} +func (m *IdpProviderSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpProviderSearchRequest.Marshal(b, m, deterministic) +} +func (m *IdpProviderSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpProviderSearchRequest.Merge(m, src) +} +func (m *IdpProviderSearchRequest) XXX_Size() int { + return xxx_messageInfo_IdpProviderSearchRequest.Size(m) +} +func (m *IdpProviderSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_IdpProviderSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpProviderSearchRequest proto.InternalMessageInfo + +func (m *IdpProviderSearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *IdpProviderSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *IdpProviderSearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -var File_admin_proto protoreflect.FileDescriptor - -var file_admin_proto_rawDesc = []byte{ - 0x0a, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2f, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0x17, 0x0a, 0x05, 0x4f, 0x72, 0x67, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x50, 0x0a, 0x10, - 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x4f, 0x72, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, - 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, - 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, - 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x30, - 0x0a, 0x11, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x4f, 0x72, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, - 0x22, 0xfa, 0x01, 0x0a, 0x03, 0x4f, 0x72, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0xf1, 0x01, - 0x0a, 0x10, 0x4f, 0x72, 0x67, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x12, 0x58, 0x0a, 0x0e, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, - 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x0d, 0x73, 0x6f, 0x72, - 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, - 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x73, 0x63, 0x12, 0x43, 0x0a, 0x07, - 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, - 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x0e, 0x4f, 0x72, 0x67, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x12, 0x43, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, - 0x67, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, - 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x42, 0x0a, 0x06, 0x6d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x22, 0x8e, 0x02, 0x0a, 0x11, 0x4f, 0x72, 0x67, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, - 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, - 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, - 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x22, 0x92, 0x01, 0x0a, 0x0f, 0x4f, 0x72, 0x67, 0x53, 0x65, 0x74, 0x55, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x40, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x79, 0x0a, 0x10, 0x4f, 0x72, 0x67, - 0x53, 0x65, 0x74, 0x55, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, - 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, - 0x33, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, - 0x75, 0x73, 0x65, 0x72, 0x22, 0xb3, 0x05, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x09, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, - 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, - 0x18, 0xc8, 0x01, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, - 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x6c, - 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, - 0x03, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, - 0x0a, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, - 0x03, 0x18, 0xc8, 0x01, 0x52, 0x11, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x12, 0x22, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x72, 0x07, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x60, 0x01, 0x52, - 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0f, 0x69, 0x73, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x18, 0x14, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, - 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x65, - 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, - 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x22, 0x0a, - 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, - 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x24, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x61, - 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, - 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x20, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, - 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x18, 0x48, - 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x85, 0x06, 0x0a, 0x04, 0x55, - 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, - 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, - 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, - 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x11, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x73, 0x45, 0x6d, 0x61, 0x69, - 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0f, 0x69, 0x73, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, - 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0f, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, - 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x73, - 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, - 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x22, 0x47, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0xb5, 0x02, 0x0a, 0x0c, - 0x4f, 0x72, 0x67, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x15, 0x0a, 0x06, - 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, - 0x67, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x19, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x6f, - 0x67, 0x69, 0x6e, 0x5f, 0x6d, 0x75, 0x73, 0x74, 0x5f, 0x62, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x6f, - 0x67, 0x69, 0x6e, 0x4d, 0x75, 0x73, 0x74, 0x42, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, - 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, - 0x61, 0x74, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x13, 0x4f, 0x72, 0x67, 0x49, 0x61, 0x6d, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6f, - 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, - 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x19, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, - 0x69, 0x6e, 0x5f, 0x6d, 0x75, 0x73, 0x74, 0x5f, 0x62, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, - 0x69, 0x6e, 0x4d, 0x75, 0x73, 0x74, 0x42, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x27, - 0x0a, 0x0e, 0x4f, 0x72, 0x67, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x44, - 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x0e, 0x49, 0x61, 0x6d, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, - 0xd4, 0x01, 0x0a, 0x09, 0x49, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x17, 0x0a, - 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x44, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x49, 0x61, 0x6d, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, - 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x47, 0x0a, 0x16, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, - 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x31, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, - 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x9e, 0x02, 0x0a, 0x17, 0x49, 0x61, 0x6d, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x76, 0x69, 0x65, 0x77, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xea, 0x02, 0x0a, 0x0d, 0x49, 0x61, - 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x12, 0x17, 0x0a, 0x07, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, - 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x16, 0x49, 0x61, 0x6d, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x49, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x61, 0x6d, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xb8, 0x01, 0x0a, 0x14, 0x49, - 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x12, 0x49, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x61, 0x6d, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, - 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3f, - 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x71, 0x0a, 0x0d, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x27, 0x0a, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x5b, 0x0a, 0x0c, 0x46, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x4b, 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xb9, 0x01, 0x0a, 0x0b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, - 0x0a, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x75, - 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, - 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x22, 0x41, 0x0a, 0x06, 0x56, 0x69, 0x65, 0x77, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, - 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x0a, 0x05, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x35, 0x0a, - 0x05, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x52, 0x05, 0x76, - 0x69, 0x65, 0x77, 0x73, 0x22, 0xb1, 0x01, 0x0a, 0x04, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1a, 0x0a, - 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x69, 0x65, - 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, - 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x17, 0x0a, 0x05, 0x49, 0x64, 0x70, 0x49, - 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x22, 0xf4, 0x02, 0x0a, 0x03, 0x49, 0x64, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, - 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x73, - 0x72, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x6f, 0x53, 0x72, - 0x63, 0x12, 0x4b, 0x0a, 0x0b, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x69, 0x64, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, - 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x69, 0x64, - 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x4a, 0x0a, 0x09, 0x49, 0x64, 0x70, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, - 0x6f, 0x5f, 0x73, 0x72, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6c, 0x6f, 0x67, - 0x6f, 0x53, 0x72, 0x63, 0x22, 0x81, 0x01, 0x0a, 0x0d, 0x4f, 0x69, 0x64, 0x63, 0x49, 0x64, 0x70, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, - 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x13, 0x4f, 0x69, 0x64, - 0x63, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, - 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x73, 0x72, 0x63, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x6f, 0x53, 0x72, 0x63, 0x12, 0x27, 0x0a, 0x09, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, - 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, - 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, - 0x01, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, - 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, - 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x13, 0x4f, 0x69, 0x64, 0x63, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x64, 0x70, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x64, 0x70, 0x49, 0x64, - 0x12, 0x27, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, - 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x22, - 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, - 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, - 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x92, 0x02, 0x0a, 0x11, 0x49, - 0x64, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, - 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, - 0x70, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, - 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, - 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, - 0x76, 0x69, 0x65, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, - 0x81, 0x03, 0x0a, 0x07, 0x49, 0x64, 0x70, 0x56, 0x69, 0x65, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x6f, - 0x5f, 0x73, 0x72, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x6f, - 0x53, 0x72, 0x63, 0x12, 0x4f, 0x0a, 0x0b, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x56, 0x69, 0x65, 0x77, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x69, 0x64, 0x63, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x42, 0x11, 0x0a, 0x0f, 0x69, 0x64, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, - 0x69, 0x65, 0x77, 0x22, 0x60, 0x0a, 0x11, 0x4f, 0x69, 0x64, 0x63, 0x49, 0x64, 0x70, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x63, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x85, 0x01, 0x0a, 0x10, 0x49, 0x64, 0x70, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, - 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xac, 0x01, - 0x0a, 0x0e, 0x49, 0x64, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x12, 0x43, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, - 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa1, 0x01, 0x0a, - 0x12, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0x36, 0x0a, 0x17, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x75, 0x73, 0x65, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x55, 0x73, 0x65, 0x72, 0x6e, - 0x61, 0x6d, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x70, - 0x22, 0x33, 0x0a, 0x0d, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, - 0x44, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x64, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x64, 0x70, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x49, 0x64, 0x22, 0xa5, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x69, 0x65, 0x77, - 0x12, 0x36, 0x0a, 0x17, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, - 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, - 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, - 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x5f, 0x69, 0x64, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x70, 0x22, 0x5c, 0x0a, - 0x10, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, - 0x73, 0x12, 0x48, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, - 0x52, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x0f, - 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x12, - 0x22, 0x0a, 0x0d, 0x69, 0x64, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x64, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, - 0xa2, 0x02, 0x0a, 0x19, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, - 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x42, - 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, - 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, - 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x22, 0x48, 0x0a, 0x18, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2a, 0x50, - 0x0a, 0x08, 0x4f, 0x72, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x52, - 0x47, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x52, 0x47, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x52, 0x47, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, - 0x2a, 0x78, 0x0a, 0x0c, 0x4f, 0x72, 0x67, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, - 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x52, 0x47, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, - 0x0a, 0x15, 0x4f, 0x52, 0x47, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x4f, - 0x52, 0x47, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x52, 0x47, - 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, - 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x52, 0x47, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, - 0x45, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x03, 0x2a, 0x6c, 0x0a, 0x0f, 0x4f, 0x72, - 0x67, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1a, 0x0a, - 0x16, 0x4f, 0x52, 0x47, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, - 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x4f, 0x52, 0x47, - 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x41, - 0x52, 0x54, 0x53, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x52, - 0x47, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x43, 0x4f, - 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, 0x02, 0x2a, 0xaf, 0x01, 0x0a, 0x09, 0x55, 0x73, 0x65, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x53, 0x45, 0x52, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, - 0x15, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x4c, - 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, - 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, - 0x44, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x10, 0x06, 0x2a, 0x58, 0x0a, 0x06, 0x47, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, - 0x47, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x46, 0x45, 0x4d, 0x41, 0x4c, 0x45, 0x10, 0x01, 0x12, - 0x0f, 0x0a, 0x0b, 0x47, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x4c, 0x45, 0x10, 0x02, - 0x12, 0x12, 0x0a, 0x0e, 0x47, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x56, 0x45, 0x52, - 0x53, 0x45, 0x10, 0x03, 0x2a, 0xbb, 0x01, 0x0a, 0x12, 0x49, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x1e, 0x49, - 0x41, 0x4d, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, - 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x21, 0x0a, 0x1d, 0x49, 0x41, 0x4d, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, - 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, - 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x49, 0x41, 0x4d, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, - 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x4e, 0x41, - 0x4d, 0x45, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x41, 0x4d, 0x4d, 0x45, 0x4d, 0x42, 0x45, - 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, - 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x49, 0x41, 0x4d, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, - 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, 0x44, - 0x10, 0x04, 0x2a, 0xea, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, - 0x48, 0x4f, 0x44, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, - 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x41, - 0x52, 0x54, 0x53, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, - 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, - 0x49, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, - 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x5f, 0x49, 0x47, 0x4e, - 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x53, 0x45, - 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, - 0x53, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x41, - 0x53, 0x45, 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, - 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x5f, 0x49, 0x47, - 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x53, - 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, - 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x06, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x45, 0x41, 0x52, - 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, - 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45, 0x41, 0x52, 0x43, - 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, - 0x4e, 0x10, 0x08, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, - 0x48, 0x4f, 0x44, 0x5f, 0x49, 0x53, 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x4f, 0x46, 0x10, 0x09, 0x12, - 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, - 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, 0x0a, 0x2a, - 0x62, 0x0a, 0x08, 0x49, 0x64, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x49, - 0x44, 0x50, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x49, - 0x44, 0x50, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, - 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x44, 0x50, 0x43, 0x4f, 0x4e, - 0x46, 0x49, 0x47, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, - 0x45, 0x10, 0x02, 0x2a, 0x63, 0x0a, 0x0c, 0x49, 0x64, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x44, 0x50, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, - 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x49, 0x44, 0x50, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, - 0x59, 0x5f, 0x49, 0x44, 0x50, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x49, 0x44, 0x10, - 0x01, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x44, 0x50, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, - 0x59, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x02, 0x2a, 0x46, 0x0a, 0x07, 0x49, 0x64, 0x70, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x44, 0x50, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, - 0x49, 0x44, 0x50, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x49, 0x44, 0x43, 0x10, 0x01, 0x12, 0x10, - 0x0a, 0x0c, 0x49, 0x44, 0x50, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x41, 0x4d, 0x4c, 0x10, 0x02, - 0x32, 0x86, 0x25, 0x0a, 0x0c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x4b, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x7a, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x10, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x0a, 0x12, 0x08, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x7a, 0x12, 0x47, - 0x0a, 0x05, 0x52, 0x65, 0x61, 0x64, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x0e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x08, 0x12, - 0x06, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x12, 0x4e, 0x0a, 0x08, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x0b, 0x49, 0x73, 0x4f, 0x72, - 0x67, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x4f, 0x72, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x4f, 0x72, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x6f, 0x72, 0x67, - 0x73, 0x2f, 0x5f, 0x69, 0x73, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x82, 0xb5, 0x18, 0x0a, 0x0a, - 0x08, 0x69, 0x61, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x70, 0x0a, 0x0a, 0x47, 0x65, 0x74, - 0x4f, 0x72, 0x67, 0x42, 0x79, 0x49, 0x44, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x49, 0x44, 0x1a, 0x1e, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x0c, 0x12, 0x0a, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, - 0x0a, 0x0a, 0x08, 0x69, 0x61, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x8f, 0x01, 0x0a, 0x0a, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x72, 0x67, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x22, 0x0d, 0x2f, - 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, - 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x69, 0x61, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x8b, 0x01, - 0x0a, 0x08, 0x53, 0x65, 0x74, 0x55, 0x70, 0x4f, 0x72, 0x67, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x53, 0x65, 0x74, 0x55, 0x70, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x53, 0x65, 0x74, 0x55, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x22, 0x0c, 0x2f, 0x6f, 0x72, - 0x67, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x74, 0x75, 0x70, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0b, - 0x0a, 0x09, 0x69, 0x61, 0x6d, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x9c, 0x01, 0x0a, 0x0f, - 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x49, - 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x44, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x6f, 0x72, - 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x61, 0x6d, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xb5, 0x18, 0x11, 0x0a, 0x0f, 0x69, 0x61, 0x6d, 0x2e, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xa8, 0x01, 0x0a, 0x12, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, - 0x67, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, - 0x67, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x5f, 0x69, - 0x64, 0x7d, 0x2f, 0x69, 0x61, 0x6d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x01, 0x2a, 0x82, - 0xb5, 0x18, 0x12, 0x0a, 0x10, 0x69, 0x61, 0x6d, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xa8, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4f, 0x72, 0x67, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2e, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x49, 0x61, 0x6d, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x49, 0x61, 0x6d, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x1a, 0x18, 0x2f, - 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x61, - 0x6d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x10, - 0x69, 0x61, 0x6d, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x12, 0x90, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x49, 0x61, - 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1a, 0x2a, 0x18, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x5f, 0x69, - 0x64, 0x7d, 0x2f, 0x69, 0x61, 0x6d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xb5, 0x18, 0x13, - 0x0a, 0x11, 0x69, 0x61, 0x6d, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x64, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x61, - 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x2b, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x72, - 0x6f, 0x6c, 0x65, 0x73, 0x82, 0xb5, 0x18, 0x11, 0x0a, 0x0f, 0x69, 0x61, 0x6d, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x8f, 0x01, 0x0a, 0x0c, 0x41, 0x64, - 0x64, 0x49, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x49, 0x61, 0x6d, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x22, 0x08, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x10, 0x69, 0x61, 0x6d, 0x2e, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x9f, 0x01, 0x0a, 0x0f, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x49, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, - 0x1a, 0x12, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x10, 0x69, 0x61, 0x6d, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x8f, 0x01, - 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x31, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x14, 0x2a, 0x12, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x13, 0x0a, 0x11, 0x69, 0x61, - 0x6d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, - 0xab, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x61, 0x6d, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x15, 0x22, 0x10, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x5f, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x11, 0x0a, 0x0f, 0x69, 0x61, - 0x6d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x62, 0x0a, - 0x08, 0x47, 0x65, 0x74, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x1a, 0x20, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, - 0x65, 0x77, 0x73, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x08, 0x12, 0x06, 0x2f, 0x76, 0x69, - 0x65, 0x77, 0x73, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x69, 0x61, 0x6d, 0x2e, 0x72, 0x65, 0x61, - 0x64, 0x12, 0x7c, 0x0a, 0x09, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x56, 0x69, 0x65, 0x77, 0x12, 0x21, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x49, - 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1f, 0x22, 0x1d, 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x7d, 0x2f, 0x7b, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, - 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x69, 0x61, 0x6d, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, - 0x77, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x12, 0x0d, 0x2f, 0x66, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, - 0x69, 0x61, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xa4, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x28, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x22, 0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x2a, 0x36, 0x2f, 0x66, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x7d, 0x2f, 0x7b, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x7b, - 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x7d, - 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x69, 0x61, 0x6d, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, - 0x75, 0x0a, 0x07, 0x49, 0x64, 0x70, 0x42, 0x79, 0x49, 0x44, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x49, 0x44, 0x1a, 0x22, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x56, 0x69, 0x65, 0x77, - 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0c, 0x12, 0x0a, 0x2f, 0x69, 0x64, 0x70, 0x73, 0x2f, - 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x69, 0x61, 0x6d, 0x2e, 0x69, 0x64, - 0x70, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x89, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4f, 0x69, 0x64, 0x63, 0x49, 0x64, 0x70, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x1e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, - 0x22, 0x0a, 0x2f, 0x69, 0x64, 0x70, 0x73, 0x2f, 0x6f, 0x69, 0x64, 0x63, 0x3a, 0x01, 0x2a, 0x82, - 0xb5, 0x18, 0x0f, 0x0a, 0x0d, 0x69, 0x61, 0x6d, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x64, 0x70, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x1e, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x22, 0x28, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x0f, 0x1a, 0x0a, 0x2f, 0x69, 0x64, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, - 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x0d, 0x69, 0x61, 0x6d, 0x2e, 0x69, 0x64, 0x70, - 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x49, 0x44, - 0x1a, 0x1e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, - 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x1a, 0x16, 0x2f, 0x69, 0x64, 0x70, 0x73, 0x2f, - 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x0d, 0x69, 0x61, 0x6d, 0x2e, 0x69, 0x64, 0x70, - 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x49, 0x44, - 0x1a, 0x1e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, - 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x1a, 0x16, 0x2f, 0x69, 0x64, 0x70, 0x73, 0x2f, - 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x0d, 0x69, 0x61, 0x6d, 0x2e, 0x69, 0x64, 0x70, - 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x72, 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0c, 0x2a, 0x0a, 0x2f, 0x69, 0x64, - 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x0d, 0x69, 0x61, 0x6d, - 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xa8, 0x01, 0x0a, 0x13, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x69, 0x64, 0x63, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x69, 0x64, 0x63, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x69, 0x64, 0x63, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x37, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1e, 0x1a, 0x19, 0x2f, 0x69, 0x64, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x70, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6f, 0x69, 0x64, 0x63, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, - 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x0d, 0x69, 0x61, 0x6d, 0x2e, 0x69, 0x64, 0x70, 0x2e, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x49, 0x64, 0x70, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x64, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, - 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x22, 0x0d, 0x2f, 0x69, 0x64, 0x70, 0x73, 0x2f, 0x5f, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x69, - 0x61, 0x6d, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x90, 0x01, 0x0a, 0x15, - 0x47, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x31, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x69, 0x65, 0x77, - 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x82, 0xb5, 0x18, 0x11, 0x0a, 0x0f, 0x69, - 0x61, 0x6d, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xaa, - 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2d, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4c, - 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4c, 0x6f, - 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x14, 0x1a, 0x0f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x6c, 0x6f, 0x67, - 0x69, 0x6e, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x10, 0x69, 0x61, 0x6d, 0x2e, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xd4, 0x01, 0x0a, 0x21, - 0x47, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x73, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, - 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x29, 0x22, 0x24, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, - 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2f, 0x69, 0x64, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, - 0x11, 0x0a, 0x0f, 0x69, 0x61, 0x6d, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x72, 0x65, - 0x61, 0x64, 0x12, 0xb7, 0x01, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4c, 0x6f, - 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x49, 0x44, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x44, 0x22, 0x3d, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2f, 0x69, 0x64, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x10, 0x69, 0x61, 0x6d, 0x2e, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xba, 0x01, 0x0a, - 0x27, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4c, 0x6f, 0x67, - 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x4d, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x31, 0x22, 0x2c, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x6c, 0x6f, - 0x67, 0x69, 0x6e, 0x2f, 0x69, 0x64, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, - 0x2f, 0x7b, 0x69, 0x64, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x7d, - 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x10, 0x69, 0x61, 0x6d, 0x2e, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0xba, 0x01, 0x5a, 0x26, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x61, 0x6f, 0x73, 0x2f, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x92, 0x41, 0x8e, 0x01, 0x12, 0x41, 0x0a, 0x0d, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x2b, 0x12, 0x29, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x63, 0x61, 0x6f, 0x73, 0x2f, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x70, 0x6b, 0x67, - 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x32, 0x03, 0x30, 0x2e, 0x31, 0x2a, 0x01, 0x02, 0x32, 0x10, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, - 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x72, - 0x70, 0x63, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, - 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +func init() { + proto.RegisterEnum("caos.zitadel.admin.api.v1.OrgState", OrgState_name, OrgState_value) + proto.RegisterEnum("caos.zitadel.admin.api.v1.OrgSearchKey", OrgSearchKey_name, OrgSearchKey_value) + proto.RegisterEnum("caos.zitadel.admin.api.v1.OrgSearchMethod", OrgSearchMethod_name, OrgSearchMethod_value) + proto.RegisterEnum("caos.zitadel.admin.api.v1.UserState", UserState_name, UserState_value) + proto.RegisterEnum("caos.zitadel.admin.api.v1.Gender", Gender_name, Gender_value) + proto.RegisterEnum("caos.zitadel.admin.api.v1.MachineKeyType", MachineKeyType_name, MachineKeyType_value) + proto.RegisterEnum("caos.zitadel.admin.api.v1.IamMemberSearchKey", IamMemberSearchKey_name, IamMemberSearchKey_value) + proto.RegisterEnum("caos.zitadel.admin.api.v1.SearchMethod", SearchMethod_name, SearchMethod_value) + proto.RegisterEnum("caos.zitadel.admin.api.v1.IdpState", IdpState_name, IdpState_value) + proto.RegisterEnum("caos.zitadel.admin.api.v1.IdpSearchKey", IdpSearchKey_name, IdpSearchKey_value) + proto.RegisterEnum("caos.zitadel.admin.api.v1.IdpType", IdpType_name, IdpType_value) + proto.RegisterType((*OrgID)(nil), "caos.zitadel.admin.api.v1.OrgID") + proto.RegisterType((*UniqueOrgRequest)(nil), "caos.zitadel.admin.api.v1.UniqueOrgRequest") + proto.RegisterType((*UniqueOrgResponse)(nil), "caos.zitadel.admin.api.v1.UniqueOrgResponse") + proto.RegisterType((*Org)(nil), "caos.zitadel.admin.api.v1.Org") + proto.RegisterType((*OrgSearchRequest)(nil), "caos.zitadel.admin.api.v1.OrgSearchRequest") + proto.RegisterType((*OrgSearchQuery)(nil), "caos.zitadel.admin.api.v1.OrgSearchQuery") + proto.RegisterType((*OrgSearchResponse)(nil), "caos.zitadel.admin.api.v1.OrgSearchResponse") + proto.RegisterType((*OrgSetUpRequest)(nil), "caos.zitadel.admin.api.v1.OrgSetUpRequest") + proto.RegisterType((*OrgSetUpResponse)(nil), "caos.zitadel.admin.api.v1.OrgSetUpResponse") + proto.RegisterType((*CreateUserRequest)(nil), "caos.zitadel.admin.api.v1.CreateUserRequest") + proto.RegisterType((*CreateHumanRequest)(nil), "caos.zitadel.admin.api.v1.CreateHumanRequest") + proto.RegisterType((*CreateMachineRequest)(nil), "caos.zitadel.admin.api.v1.CreateMachineRequest") + proto.RegisterType((*UserResponse)(nil), "caos.zitadel.admin.api.v1.UserResponse") + proto.RegisterType((*HumanResponse)(nil), "caos.zitadel.admin.api.v1.HumanResponse") + proto.RegisterType((*MachineResponse)(nil), "caos.zitadel.admin.api.v1.MachineResponse") + proto.RegisterType((*MachineKeyResponse)(nil), "caos.zitadel.admin.api.v1.MachineKeyResponse") + proto.RegisterType((*CreateOrgRequest)(nil), "caos.zitadel.admin.api.v1.CreateOrgRequest") + proto.RegisterType((*OrgIamPolicy)(nil), "caos.zitadel.admin.api.v1.OrgIamPolicy") + proto.RegisterType((*OrgIamPolicyRequest)(nil), "caos.zitadel.admin.api.v1.OrgIamPolicyRequest") + proto.RegisterType((*OrgIamPolicyID)(nil), "caos.zitadel.admin.api.v1.OrgIamPolicyID") + proto.RegisterType((*IamMemberRoles)(nil), "caos.zitadel.admin.api.v1.IamMemberRoles") + proto.RegisterType((*IamMember)(nil), "caos.zitadel.admin.api.v1.IamMember") + proto.RegisterType((*AddIamMemberRequest)(nil), "caos.zitadel.admin.api.v1.AddIamMemberRequest") + proto.RegisterType((*ChangeIamMemberRequest)(nil), "caos.zitadel.admin.api.v1.ChangeIamMemberRequest") + proto.RegisterType((*RemoveIamMemberRequest)(nil), "caos.zitadel.admin.api.v1.RemoveIamMemberRequest") + proto.RegisterType((*IamMemberSearchResponse)(nil), "caos.zitadel.admin.api.v1.IamMemberSearchResponse") + proto.RegisterType((*IamMemberView)(nil), "caos.zitadel.admin.api.v1.IamMemberView") + proto.RegisterType((*IamMemberSearchRequest)(nil), "caos.zitadel.admin.api.v1.IamMemberSearchRequest") + proto.RegisterType((*IamMemberSearchQuery)(nil), "caos.zitadel.admin.api.v1.IamMemberSearchQuery") + proto.RegisterType((*FailedEventID)(nil), "caos.zitadel.admin.api.v1.FailedEventID") + proto.RegisterType((*FailedEvents)(nil), "caos.zitadel.admin.api.v1.FailedEvents") + proto.RegisterType((*FailedEvent)(nil), "caos.zitadel.admin.api.v1.FailedEvent") + proto.RegisterType((*ViewID)(nil), "caos.zitadel.admin.api.v1.ViewID") + proto.RegisterType((*Views)(nil), "caos.zitadel.admin.api.v1.Views") + proto.RegisterType((*View)(nil), "caos.zitadel.admin.api.v1.View") + proto.RegisterType((*IdpID)(nil), "caos.zitadel.admin.api.v1.IdpID") + proto.RegisterType((*Idp)(nil), "caos.zitadel.admin.api.v1.Idp") + proto.RegisterType((*IdpUpdate)(nil), "caos.zitadel.admin.api.v1.IdpUpdate") + proto.RegisterType((*OidcIdpConfig)(nil), "caos.zitadel.admin.api.v1.OidcIdpConfig") + proto.RegisterType((*OidcIdpConfigCreate)(nil), "caos.zitadel.admin.api.v1.OidcIdpConfigCreate") + proto.RegisterType((*OidcIdpConfigUpdate)(nil), "caos.zitadel.admin.api.v1.OidcIdpConfigUpdate") + proto.RegisterType((*IdpSearchResponse)(nil), "caos.zitadel.admin.api.v1.IdpSearchResponse") + proto.RegisterType((*IdpView)(nil), "caos.zitadel.admin.api.v1.IdpView") + proto.RegisterType((*OidcIdpConfigView)(nil), "caos.zitadel.admin.api.v1.OidcIdpConfigView") + proto.RegisterType((*IdpSearchRequest)(nil), "caos.zitadel.admin.api.v1.IdpSearchRequest") + proto.RegisterType((*IdpSearchQuery)(nil), "caos.zitadel.admin.api.v1.IdpSearchQuery") + proto.RegisterType((*DefaultLoginPolicy)(nil), "caos.zitadel.admin.api.v1.DefaultLoginPolicy") + proto.RegisterType((*IdpProviderID)(nil), "caos.zitadel.admin.api.v1.IdpProviderID") + proto.RegisterType((*DefaultLoginPolicyView)(nil), "caos.zitadel.admin.api.v1.DefaultLoginPolicyView") + proto.RegisterType((*IdpProviderView)(nil), "caos.zitadel.admin.api.v1.IdpProviderView") + proto.RegisterType((*IdpProviderSearchResponse)(nil), "caos.zitadel.admin.api.v1.IdpProviderSearchResponse") + proto.RegisterType((*IdpProviderSearchRequest)(nil), "caos.zitadel.admin.api.v1.IdpProviderSearchRequest") } -var ( - file_admin_proto_rawDescOnce sync.Once - file_admin_proto_rawDescData = file_admin_proto_rawDesc -) +func init() { proto.RegisterFile("admin.proto", fileDescriptor_73a7fc70dcc2027c) } -func file_admin_proto_rawDescGZIP() []byte { - file_admin_proto_rawDescOnce.Do(func() { - file_admin_proto_rawDescData = protoimpl.X.CompressGZIP(file_admin_proto_rawDescData) - }) - return file_admin_proto_rawDescData -} - -var file_admin_proto_enumTypes = make([]protoimpl.EnumInfo, 10) -var file_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 48) -var file_admin_proto_goTypes = []interface{}{ - (OrgState)(0), // 0: caos.zitadel.admin.api.v1.OrgState - (OrgSearchKey)(0), // 1: caos.zitadel.admin.api.v1.OrgSearchKey - (OrgSearchMethod)(0), // 2: caos.zitadel.admin.api.v1.OrgSearchMethod - (UserState)(0), // 3: caos.zitadel.admin.api.v1.UserState - (Gender)(0), // 4: caos.zitadel.admin.api.v1.Gender - (IamMemberSearchKey)(0), // 5: caos.zitadel.admin.api.v1.IamMemberSearchKey - (SearchMethod)(0), // 6: caos.zitadel.admin.api.v1.SearchMethod - (IdpState)(0), // 7: caos.zitadel.admin.api.v1.IdpState - (IdpSearchKey)(0), // 8: caos.zitadel.admin.api.v1.IdpSearchKey - (IdpType)(0), // 9: caos.zitadel.admin.api.v1.IdpType - (*OrgID)(nil), // 10: caos.zitadel.admin.api.v1.OrgID - (*UniqueOrgRequest)(nil), // 11: caos.zitadel.admin.api.v1.UniqueOrgRequest - (*UniqueOrgResponse)(nil), // 12: caos.zitadel.admin.api.v1.UniqueOrgResponse - (*Org)(nil), // 13: caos.zitadel.admin.api.v1.Org - (*OrgSearchRequest)(nil), // 14: caos.zitadel.admin.api.v1.OrgSearchRequest - (*OrgSearchQuery)(nil), // 15: caos.zitadel.admin.api.v1.OrgSearchQuery - (*OrgSearchResponse)(nil), // 16: caos.zitadel.admin.api.v1.OrgSearchResponse - (*OrgSetUpRequest)(nil), // 17: caos.zitadel.admin.api.v1.OrgSetUpRequest - (*OrgSetUpResponse)(nil), // 18: caos.zitadel.admin.api.v1.OrgSetUpResponse - (*CreateUserRequest)(nil), // 19: caos.zitadel.admin.api.v1.CreateUserRequest - (*User)(nil), // 20: caos.zitadel.admin.api.v1.User - (*CreateOrgRequest)(nil), // 21: caos.zitadel.admin.api.v1.CreateOrgRequest - (*OrgIamPolicy)(nil), // 22: caos.zitadel.admin.api.v1.OrgIamPolicy - (*OrgIamPolicyRequest)(nil), // 23: caos.zitadel.admin.api.v1.OrgIamPolicyRequest - (*OrgIamPolicyID)(nil), // 24: caos.zitadel.admin.api.v1.OrgIamPolicyID - (*IamMemberRoles)(nil), // 25: caos.zitadel.admin.api.v1.IamMemberRoles - (*IamMember)(nil), // 26: caos.zitadel.admin.api.v1.IamMember - (*AddIamMemberRequest)(nil), // 27: caos.zitadel.admin.api.v1.AddIamMemberRequest - (*ChangeIamMemberRequest)(nil), // 28: caos.zitadel.admin.api.v1.ChangeIamMemberRequest - (*RemoveIamMemberRequest)(nil), // 29: caos.zitadel.admin.api.v1.RemoveIamMemberRequest - (*IamMemberSearchResponse)(nil), // 30: caos.zitadel.admin.api.v1.IamMemberSearchResponse - (*IamMemberView)(nil), // 31: caos.zitadel.admin.api.v1.IamMemberView - (*IamMemberSearchRequest)(nil), // 32: caos.zitadel.admin.api.v1.IamMemberSearchRequest - (*IamMemberSearchQuery)(nil), // 33: caos.zitadel.admin.api.v1.IamMemberSearchQuery - (*FailedEventID)(nil), // 34: caos.zitadel.admin.api.v1.FailedEventID - (*FailedEvents)(nil), // 35: caos.zitadel.admin.api.v1.FailedEvents - (*FailedEvent)(nil), // 36: caos.zitadel.admin.api.v1.FailedEvent - (*ViewID)(nil), // 37: caos.zitadel.admin.api.v1.ViewID - (*Views)(nil), // 38: caos.zitadel.admin.api.v1.Views - (*View)(nil), // 39: caos.zitadel.admin.api.v1.View - (*IdpID)(nil), // 40: caos.zitadel.admin.api.v1.IdpID - (*Idp)(nil), // 41: caos.zitadel.admin.api.v1.Idp - (*IdpUpdate)(nil), // 42: caos.zitadel.admin.api.v1.IdpUpdate - (*OidcIdpConfig)(nil), // 43: caos.zitadel.admin.api.v1.OidcIdpConfig - (*OidcIdpConfigCreate)(nil), // 44: caos.zitadel.admin.api.v1.OidcIdpConfigCreate - (*OidcIdpConfigUpdate)(nil), // 45: caos.zitadel.admin.api.v1.OidcIdpConfigUpdate - (*IdpSearchResponse)(nil), // 46: caos.zitadel.admin.api.v1.IdpSearchResponse - (*IdpView)(nil), // 47: caos.zitadel.admin.api.v1.IdpView - (*OidcIdpConfigView)(nil), // 48: caos.zitadel.admin.api.v1.OidcIdpConfigView - (*IdpSearchRequest)(nil), // 49: caos.zitadel.admin.api.v1.IdpSearchRequest - (*IdpSearchQuery)(nil), // 50: caos.zitadel.admin.api.v1.IdpSearchQuery - (*DefaultLoginPolicy)(nil), // 51: caos.zitadel.admin.api.v1.DefaultLoginPolicy - (*IdpProviderID)(nil), // 52: caos.zitadel.admin.api.v1.IdpProviderID - (*DefaultLoginPolicyView)(nil), // 53: caos.zitadel.admin.api.v1.DefaultLoginPolicyView - (*IdpProviderViews)(nil), // 54: caos.zitadel.admin.api.v1.IdpProviderViews - (*IdpProviderView)(nil), // 55: caos.zitadel.admin.api.v1.IdpProviderView - (*IdpProviderSearchResponse)(nil), // 56: caos.zitadel.admin.api.v1.IdpProviderSearchResponse - (*IdpProviderSearchRequest)(nil), // 57: caos.zitadel.admin.api.v1.IdpProviderSearchRequest - (*timestamp.Timestamp)(nil), // 58: google.protobuf.Timestamp - (*empty.Empty)(nil), // 59: google.protobuf.Empty - (*_struct.Struct)(nil), // 60: google.protobuf.Struct -} -var file_admin_proto_depIdxs = []int32{ - 0, // 0: caos.zitadel.admin.api.v1.Org.state:type_name -> caos.zitadel.admin.api.v1.OrgState - 58, // 1: caos.zitadel.admin.api.v1.Org.creation_date:type_name -> google.protobuf.Timestamp - 58, // 2: caos.zitadel.admin.api.v1.Org.change_date:type_name -> google.protobuf.Timestamp - 1, // 3: caos.zitadel.admin.api.v1.OrgSearchRequest.sorting_column:type_name -> caos.zitadel.admin.api.v1.OrgSearchKey - 15, // 4: caos.zitadel.admin.api.v1.OrgSearchRequest.queries:type_name -> caos.zitadel.admin.api.v1.OrgSearchQuery - 1, // 5: caos.zitadel.admin.api.v1.OrgSearchQuery.key:type_name -> caos.zitadel.admin.api.v1.OrgSearchKey - 2, // 6: caos.zitadel.admin.api.v1.OrgSearchQuery.method:type_name -> caos.zitadel.admin.api.v1.OrgSearchMethod - 13, // 7: caos.zitadel.admin.api.v1.OrgSearchResponse.result:type_name -> caos.zitadel.admin.api.v1.Org - 58, // 8: caos.zitadel.admin.api.v1.OrgSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp - 21, // 9: caos.zitadel.admin.api.v1.OrgSetUpRequest.org:type_name -> caos.zitadel.admin.api.v1.CreateOrgRequest - 19, // 10: caos.zitadel.admin.api.v1.OrgSetUpRequest.user:type_name -> caos.zitadel.admin.api.v1.CreateUserRequest - 13, // 11: caos.zitadel.admin.api.v1.OrgSetUpResponse.org:type_name -> caos.zitadel.admin.api.v1.Org - 20, // 12: caos.zitadel.admin.api.v1.OrgSetUpResponse.user:type_name -> caos.zitadel.admin.api.v1.User - 4, // 13: caos.zitadel.admin.api.v1.CreateUserRequest.gender:type_name -> caos.zitadel.admin.api.v1.Gender - 3, // 14: caos.zitadel.admin.api.v1.User.state:type_name -> caos.zitadel.admin.api.v1.UserState - 58, // 15: caos.zitadel.admin.api.v1.User.creation_date:type_name -> google.protobuf.Timestamp - 58, // 16: caos.zitadel.admin.api.v1.User.change_date:type_name -> google.protobuf.Timestamp - 4, // 17: caos.zitadel.admin.api.v1.User.gender:type_name -> caos.zitadel.admin.api.v1.Gender - 58, // 18: caos.zitadel.admin.api.v1.OrgIamPolicy.creation_date:type_name -> google.protobuf.Timestamp - 58, // 19: caos.zitadel.admin.api.v1.OrgIamPolicy.change_date:type_name -> google.protobuf.Timestamp - 58, // 20: caos.zitadel.admin.api.v1.IamMember.change_date:type_name -> google.protobuf.Timestamp - 58, // 21: caos.zitadel.admin.api.v1.IamMember.creation_date:type_name -> google.protobuf.Timestamp - 31, // 22: caos.zitadel.admin.api.v1.IamMemberSearchResponse.result:type_name -> caos.zitadel.admin.api.v1.IamMemberView - 58, // 23: caos.zitadel.admin.api.v1.IamMemberSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp - 58, // 24: caos.zitadel.admin.api.v1.IamMemberView.change_date:type_name -> google.protobuf.Timestamp - 58, // 25: caos.zitadel.admin.api.v1.IamMemberView.creation_date:type_name -> google.protobuf.Timestamp - 33, // 26: caos.zitadel.admin.api.v1.IamMemberSearchRequest.queries:type_name -> caos.zitadel.admin.api.v1.IamMemberSearchQuery - 5, // 27: caos.zitadel.admin.api.v1.IamMemberSearchQuery.key:type_name -> caos.zitadel.admin.api.v1.IamMemberSearchKey - 6, // 28: caos.zitadel.admin.api.v1.IamMemberSearchQuery.method:type_name -> caos.zitadel.admin.api.v1.SearchMethod - 36, // 29: caos.zitadel.admin.api.v1.FailedEvents.failed_events:type_name -> caos.zitadel.admin.api.v1.FailedEvent - 39, // 30: caos.zitadel.admin.api.v1.Views.views:type_name -> caos.zitadel.admin.api.v1.View - 58, // 31: caos.zitadel.admin.api.v1.View.view_timestamp:type_name -> google.protobuf.Timestamp - 7, // 32: caos.zitadel.admin.api.v1.Idp.state:type_name -> caos.zitadel.admin.api.v1.IdpState - 58, // 33: caos.zitadel.admin.api.v1.Idp.creation_date:type_name -> google.protobuf.Timestamp - 58, // 34: caos.zitadel.admin.api.v1.Idp.change_date:type_name -> google.protobuf.Timestamp - 43, // 35: caos.zitadel.admin.api.v1.Idp.oidc_config:type_name -> caos.zitadel.admin.api.v1.OidcIdpConfig - 47, // 36: caos.zitadel.admin.api.v1.IdpSearchResponse.result:type_name -> caos.zitadel.admin.api.v1.IdpView - 58, // 37: caos.zitadel.admin.api.v1.IdpSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp - 7, // 38: caos.zitadel.admin.api.v1.IdpView.state:type_name -> caos.zitadel.admin.api.v1.IdpState - 58, // 39: caos.zitadel.admin.api.v1.IdpView.creation_date:type_name -> google.protobuf.Timestamp - 58, // 40: caos.zitadel.admin.api.v1.IdpView.change_date:type_name -> google.protobuf.Timestamp - 48, // 41: caos.zitadel.admin.api.v1.IdpView.oidc_config:type_name -> caos.zitadel.admin.api.v1.OidcIdpConfigView - 50, // 42: caos.zitadel.admin.api.v1.IdpSearchRequest.queries:type_name -> caos.zitadel.admin.api.v1.IdpSearchQuery - 8, // 43: caos.zitadel.admin.api.v1.IdpSearchQuery.key:type_name -> caos.zitadel.admin.api.v1.IdpSearchKey - 6, // 44: caos.zitadel.admin.api.v1.IdpSearchQuery.method:type_name -> caos.zitadel.admin.api.v1.SearchMethod - 55, // 45: caos.zitadel.admin.api.v1.IdpProviderViews.providers:type_name -> caos.zitadel.admin.api.v1.IdpProviderView - 9, // 46: caos.zitadel.admin.api.v1.IdpProviderView.type:type_name -> caos.zitadel.admin.api.v1.IdpType - 55, // 47: caos.zitadel.admin.api.v1.IdpProviderSearchResponse.result:type_name -> caos.zitadel.admin.api.v1.IdpProviderView - 58, // 48: caos.zitadel.admin.api.v1.IdpProviderSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp - 59, // 49: caos.zitadel.admin.api.v1.AdminService.Healthz:input_type -> google.protobuf.Empty - 59, // 50: caos.zitadel.admin.api.v1.AdminService.Ready:input_type -> google.protobuf.Empty - 59, // 51: caos.zitadel.admin.api.v1.AdminService.Validate:input_type -> google.protobuf.Empty - 11, // 52: caos.zitadel.admin.api.v1.AdminService.IsOrgUnique:input_type -> caos.zitadel.admin.api.v1.UniqueOrgRequest - 10, // 53: caos.zitadel.admin.api.v1.AdminService.GetOrgByID:input_type -> caos.zitadel.admin.api.v1.OrgID - 14, // 54: caos.zitadel.admin.api.v1.AdminService.SearchOrgs:input_type -> caos.zitadel.admin.api.v1.OrgSearchRequest - 17, // 55: caos.zitadel.admin.api.v1.AdminService.SetUpOrg:input_type -> caos.zitadel.admin.api.v1.OrgSetUpRequest - 24, // 56: caos.zitadel.admin.api.v1.AdminService.GetOrgIamPolicy:input_type -> caos.zitadel.admin.api.v1.OrgIamPolicyID - 23, // 57: caos.zitadel.admin.api.v1.AdminService.CreateOrgIamPolicy:input_type -> caos.zitadel.admin.api.v1.OrgIamPolicyRequest - 23, // 58: caos.zitadel.admin.api.v1.AdminService.UpdateOrgIamPolicy:input_type -> caos.zitadel.admin.api.v1.OrgIamPolicyRequest - 24, // 59: caos.zitadel.admin.api.v1.AdminService.DeleteOrgIamPolicy:input_type -> caos.zitadel.admin.api.v1.OrgIamPolicyID - 59, // 60: caos.zitadel.admin.api.v1.AdminService.GetIamMemberRoles:input_type -> google.protobuf.Empty - 27, // 61: caos.zitadel.admin.api.v1.AdminService.AddIamMember:input_type -> caos.zitadel.admin.api.v1.AddIamMemberRequest - 28, // 62: caos.zitadel.admin.api.v1.AdminService.ChangeIamMember:input_type -> caos.zitadel.admin.api.v1.ChangeIamMemberRequest - 29, // 63: caos.zitadel.admin.api.v1.AdminService.RemoveIamMember:input_type -> caos.zitadel.admin.api.v1.RemoveIamMemberRequest - 32, // 64: caos.zitadel.admin.api.v1.AdminService.SearchIamMembers:input_type -> caos.zitadel.admin.api.v1.IamMemberSearchRequest - 59, // 65: caos.zitadel.admin.api.v1.AdminService.GetViews:input_type -> google.protobuf.Empty - 37, // 66: caos.zitadel.admin.api.v1.AdminService.ClearView:input_type -> caos.zitadel.admin.api.v1.ViewID - 59, // 67: caos.zitadel.admin.api.v1.AdminService.GetFailedEvents:input_type -> google.protobuf.Empty - 34, // 68: caos.zitadel.admin.api.v1.AdminService.RemoveFailedEvent:input_type -> caos.zitadel.admin.api.v1.FailedEventID - 40, // 69: caos.zitadel.admin.api.v1.AdminService.IdpByID:input_type -> caos.zitadel.admin.api.v1.IdpID - 44, // 70: caos.zitadel.admin.api.v1.AdminService.CreateOidcIdp:input_type -> caos.zitadel.admin.api.v1.OidcIdpConfigCreate - 42, // 71: caos.zitadel.admin.api.v1.AdminService.UpdateIdpConfig:input_type -> caos.zitadel.admin.api.v1.IdpUpdate - 40, // 72: caos.zitadel.admin.api.v1.AdminService.DeactivateIdpConfig:input_type -> caos.zitadel.admin.api.v1.IdpID - 40, // 73: caos.zitadel.admin.api.v1.AdminService.ReactivateIdpConfig:input_type -> caos.zitadel.admin.api.v1.IdpID - 40, // 74: caos.zitadel.admin.api.v1.AdminService.RemoveIdpConfig:input_type -> caos.zitadel.admin.api.v1.IdpID - 45, // 75: caos.zitadel.admin.api.v1.AdminService.UpdateOidcIdpConfig:input_type -> caos.zitadel.admin.api.v1.OidcIdpConfigUpdate - 49, // 76: caos.zitadel.admin.api.v1.AdminService.SearchIdps:input_type -> caos.zitadel.admin.api.v1.IdpSearchRequest - 59, // 77: caos.zitadel.admin.api.v1.AdminService.GetDefaultLoginPolicy:input_type -> google.protobuf.Empty - 51, // 78: caos.zitadel.admin.api.v1.AdminService.UpdateDefaultLoginPolicy:input_type -> caos.zitadel.admin.api.v1.DefaultLoginPolicy - 57, // 79: caos.zitadel.admin.api.v1.AdminService.GetDefaultLoginPolicyIdpProviders:input_type -> caos.zitadel.admin.api.v1.IdpProviderSearchRequest - 52, // 80: caos.zitadel.admin.api.v1.AdminService.AddIdpProviderToDefaultLoginPolicy:input_type -> caos.zitadel.admin.api.v1.IdpProviderID - 52, // 81: caos.zitadel.admin.api.v1.AdminService.RemoveIdpProviderFromDefaultLoginPolicy:input_type -> caos.zitadel.admin.api.v1.IdpProviderID - 59, // 82: caos.zitadel.admin.api.v1.AdminService.Healthz:output_type -> google.protobuf.Empty - 59, // 83: caos.zitadel.admin.api.v1.AdminService.Ready:output_type -> google.protobuf.Empty - 60, // 84: caos.zitadel.admin.api.v1.AdminService.Validate:output_type -> google.protobuf.Struct - 12, // 85: caos.zitadel.admin.api.v1.AdminService.IsOrgUnique:output_type -> caos.zitadel.admin.api.v1.UniqueOrgResponse - 13, // 86: caos.zitadel.admin.api.v1.AdminService.GetOrgByID:output_type -> caos.zitadel.admin.api.v1.Org - 16, // 87: caos.zitadel.admin.api.v1.AdminService.SearchOrgs:output_type -> caos.zitadel.admin.api.v1.OrgSearchResponse - 18, // 88: caos.zitadel.admin.api.v1.AdminService.SetUpOrg:output_type -> caos.zitadel.admin.api.v1.OrgSetUpResponse - 22, // 89: caos.zitadel.admin.api.v1.AdminService.GetOrgIamPolicy:output_type -> caos.zitadel.admin.api.v1.OrgIamPolicy - 22, // 90: caos.zitadel.admin.api.v1.AdminService.CreateOrgIamPolicy:output_type -> caos.zitadel.admin.api.v1.OrgIamPolicy - 22, // 91: caos.zitadel.admin.api.v1.AdminService.UpdateOrgIamPolicy:output_type -> caos.zitadel.admin.api.v1.OrgIamPolicy - 59, // 92: caos.zitadel.admin.api.v1.AdminService.DeleteOrgIamPolicy:output_type -> google.protobuf.Empty - 25, // 93: caos.zitadel.admin.api.v1.AdminService.GetIamMemberRoles:output_type -> caos.zitadel.admin.api.v1.IamMemberRoles - 26, // 94: caos.zitadel.admin.api.v1.AdminService.AddIamMember:output_type -> caos.zitadel.admin.api.v1.IamMember - 26, // 95: caos.zitadel.admin.api.v1.AdminService.ChangeIamMember:output_type -> caos.zitadel.admin.api.v1.IamMember - 59, // 96: caos.zitadel.admin.api.v1.AdminService.RemoveIamMember:output_type -> google.protobuf.Empty - 30, // 97: caos.zitadel.admin.api.v1.AdminService.SearchIamMembers:output_type -> caos.zitadel.admin.api.v1.IamMemberSearchResponse - 38, // 98: caos.zitadel.admin.api.v1.AdminService.GetViews:output_type -> caos.zitadel.admin.api.v1.Views - 59, // 99: caos.zitadel.admin.api.v1.AdminService.ClearView:output_type -> google.protobuf.Empty - 35, // 100: caos.zitadel.admin.api.v1.AdminService.GetFailedEvents:output_type -> caos.zitadel.admin.api.v1.FailedEvents - 59, // 101: caos.zitadel.admin.api.v1.AdminService.RemoveFailedEvent:output_type -> google.protobuf.Empty - 47, // 102: caos.zitadel.admin.api.v1.AdminService.IdpByID:output_type -> caos.zitadel.admin.api.v1.IdpView - 41, // 103: caos.zitadel.admin.api.v1.AdminService.CreateOidcIdp:output_type -> caos.zitadel.admin.api.v1.Idp - 41, // 104: caos.zitadel.admin.api.v1.AdminService.UpdateIdpConfig:output_type -> caos.zitadel.admin.api.v1.Idp - 41, // 105: caos.zitadel.admin.api.v1.AdminService.DeactivateIdpConfig:output_type -> caos.zitadel.admin.api.v1.Idp - 41, // 106: caos.zitadel.admin.api.v1.AdminService.ReactivateIdpConfig:output_type -> caos.zitadel.admin.api.v1.Idp - 59, // 107: caos.zitadel.admin.api.v1.AdminService.RemoveIdpConfig:output_type -> google.protobuf.Empty - 43, // 108: caos.zitadel.admin.api.v1.AdminService.UpdateOidcIdpConfig:output_type -> caos.zitadel.admin.api.v1.OidcIdpConfig - 46, // 109: caos.zitadel.admin.api.v1.AdminService.SearchIdps:output_type -> caos.zitadel.admin.api.v1.IdpSearchResponse - 53, // 110: caos.zitadel.admin.api.v1.AdminService.GetDefaultLoginPolicy:output_type -> caos.zitadel.admin.api.v1.DefaultLoginPolicyView - 51, // 111: caos.zitadel.admin.api.v1.AdminService.UpdateDefaultLoginPolicy:output_type -> caos.zitadel.admin.api.v1.DefaultLoginPolicy - 56, // 112: caos.zitadel.admin.api.v1.AdminService.GetDefaultLoginPolicyIdpProviders:output_type -> caos.zitadel.admin.api.v1.IdpProviderSearchResponse - 52, // 113: caos.zitadel.admin.api.v1.AdminService.AddIdpProviderToDefaultLoginPolicy:output_type -> caos.zitadel.admin.api.v1.IdpProviderID - 59, // 114: caos.zitadel.admin.api.v1.AdminService.RemoveIdpProviderFromDefaultLoginPolicy:output_type -> google.protobuf.Empty - 82, // [82:115] is the sub-list for method output_type - 49, // [49:82] is the sub-list for method input_type - 49, // [49:49] is the sub-list for extension type_name - 49, // [49:49] is the sub-list for extension extendee - 0, // [0:49] is the sub-list for field type_name -} - -func init() { file_admin_proto_init() } -func file_admin_proto_init() { - if File_admin_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_admin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UniqueOrgRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UniqueOrgResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Org); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgSearchQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgSearchResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgSetUpRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgSetUpResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateUserRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*User); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateOrgRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgIamPolicy); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgIamPolicyRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgIamPolicyID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IamMemberRoles); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IamMember); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddIamMemberRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChangeIamMemberRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveIamMemberRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IamMemberSearchResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IamMemberView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IamMemberSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IamMemberSearchQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FailedEventID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FailedEvents); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FailedEvent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ViewID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Views); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*View); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Idp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OidcIdpConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OidcIdpConfigCreate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OidcIdpConfigUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpSearchResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OidcIdpConfigView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpSearchQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DefaultLoginPolicy); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpProviderID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DefaultLoginPolicyView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpProviderViews); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpProviderView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpProviderSearchResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpProviderSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_admin_proto_msgTypes[31].OneofWrappers = []interface{}{ - (*Idp_OidcConfig)(nil), - } - file_admin_proto_msgTypes[37].OneofWrappers = []interface{}{ - (*IdpView_OidcConfig)(nil), - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_admin_proto_rawDesc, - NumEnums: 10, - NumMessages: 48, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_admin_proto_goTypes, - DependencyIndexes: file_admin_proto_depIdxs, - EnumInfos: file_admin_proto_enumTypes, - MessageInfos: file_admin_proto_msgTypes, - }.Build() - File_admin_proto = out.File - file_admin_proto_rawDesc = nil - file_admin_proto_goTypes = nil - file_admin_proto_depIdxs = nil +var fileDescriptor_73a7fc70dcc2027c = []byte{ + // 4209 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0xcd, 0x73, 0x1b, 0xc9, + 0x75, 0xd7, 0xe0, 0x83, 0x04, 0x1e, 0x3e, 0x08, 0x36, 0xbf, 0x40, 0xe8, 0x8b, 0x1a, 0x49, 0x2b, + 0x89, 0x92, 0x08, 0x89, 0xbb, 0x5e, 0x7b, 0xe5, 0x38, 0x36, 0x08, 0x40, 0xe4, 0x58, 0x24, 0x41, + 0x0f, 0x20, 0xc5, 0xce, 0x96, 0x0d, 0x8f, 0x30, 0x4d, 0x70, 0xb2, 0x00, 0x66, 0x76, 0x66, 0x40, + 0x99, 0x56, 0x74, 0x90, 0x5c, 0x4e, 0x55, 0xec, 0x8a, 0xd7, 0xb1, 0xaf, 0xa9, 0xa4, 0x92, 0x4a, + 0x52, 0x5b, 0x49, 0xaa, 0x5c, 0x39, 0xa8, 0x92, 0x38, 0x87, 0x5c, 0x73, 0x8f, 0xff, 0x84, 0x54, + 0x0e, 0xbe, 0xa4, 0x52, 0xe5, 0x43, 0x4a, 0xa7, 0x54, 0x77, 0xcf, 0x37, 0x06, 0x03, 0x50, 0xda, + 0xcd, 0x6e, 0x25, 0x27, 0x12, 0xfd, 0x5e, 0xbf, 0xfe, 0xbd, 0xd7, 0x6f, 0x7e, 0xfd, 0xfa, 0x03, + 0x32, 0x92, 0xdc, 0x57, 0x06, 0x1b, 0x9a, 0xae, 0x9a, 0x2a, 0x5a, 0xed, 0x48, 0xaa, 0xb1, 0xf1, + 0x7d, 0xc5, 0x94, 0x64, 0xdc, 0xdb, 0x60, 0x12, 0x49, 0x53, 0x36, 0x8e, 0xef, 0x96, 0xce, 0x75, + 0x55, 0xb5, 0xdb, 0xc3, 0x65, 0x49, 0x53, 0xca, 0xd2, 0x60, 0xa0, 0x9a, 0x92, 0xa9, 0xa8, 0x03, + 0x83, 0x75, 0x2c, 0x9d, 0xb5, 0xa4, 0xf4, 0xd7, 0xe3, 0xe1, 0x61, 0x19, 0xf7, 0x35, 0xf3, 0xc4, + 0x12, 0x5e, 0x0c, 0x0a, 0x4d, 0xa5, 0x8f, 0x0d, 0x53, 0xea, 0x6b, 0x96, 0xc2, 0xb9, 0xa0, 0x82, + 0x61, 0xea, 0xc3, 0x8e, 0x69, 0x49, 0x57, 0x8e, 0xa5, 0x9e, 0x22, 0x4b, 0x26, 0x2e, 0xdb, 0xff, + 0x58, 0x82, 0x5b, 0xf4, 0x4f, 0xe7, 0x76, 0x17, 0x0f, 0x6e, 0x1b, 0x4f, 0xa4, 0x6e, 0x17, 0xeb, + 0x65, 0x55, 0xa3, 0xb0, 0x42, 0x20, 0x16, 0xa5, 0xa1, 0x79, 0xc4, 0xc4, 0xb6, 0x16, 0x93, 0xf0, + 0x6b, 0x90, 0x6c, 0xe8, 0x5d, 0xa1, 0x86, 0x56, 0x20, 0xa6, 0xc8, 0x45, 0x6e, 0x8d, 0xbb, 0x9e, + 0xde, 0x9a, 0x7d, 0xb5, 0x95, 0xd0, 0x63, 0x05, 0x4e, 0x8c, 0x29, 0x32, 0x7f, 0x00, 0x85, 0x87, + 0x03, 0xe5, 0xc3, 0x21, 0x6e, 0xe8, 0x5d, 0x11, 0x7f, 0x38, 0xc4, 0x86, 0x89, 0xce, 0x42, 0x62, + 0x20, 0xf5, 0x71, 0x50, 0x9d, 0x36, 0xa2, 0x8b, 0x30, 0x23, 0xab, 0x7d, 0x49, 0x19, 0x14, 0x63, + 0x7e, 0xb1, 0xd5, 0xcc, 0xdf, 0x81, 0x79, 0x8f, 0x45, 0x43, 0x53, 0x07, 0x06, 0x46, 0x67, 0x21, + 0xad, 0x18, 0xed, 0x21, 0x6d, 0xa7, 0x76, 0x53, 0x62, 0x4a, 0x31, 0x98, 0x1e, 0xff, 0x8a, 0x83, + 0x78, 0x43, 0xef, 0xa2, 0xbc, 0x0b, 0x92, 0x60, 0x43, 0xef, 0x41, 0xd2, 0x30, 0x25, 0x13, 0xd3, + 0x91, 0xf2, 0x9b, 0x97, 0x37, 0xc6, 0xce, 0xe1, 0x46, 0x43, 0xef, 0x36, 0x89, 0xaa, 0xc8, 0x7a, + 0xa0, 0xaf, 0x42, 0xae, 0xa3, 0x63, 0x1a, 0xa5, 0x36, 0x89, 0x6b, 0x31, 0xbe, 0xc6, 0x5d, 0xcf, + 0x6c, 0x96, 0x36, 0xd8, 0x7c, 0x6c, 0xd8, 0xf3, 0xb1, 0xd1, 0xb2, 0x27, 0x4c, 0xcc, 0xda, 0x1d, + 0x6a, 0xc4, 0xc0, 0x97, 0x21, 0xd3, 0x39, 0x92, 0x06, 0x5d, 0xcc, 0xba, 0x27, 0x26, 0x76, 0x07, + 0xa6, 0x4e, 0x3b, 0x23, 0x2b, 0x80, 0x49, 0xea, 0x0a, 0x8b, 0xdb, 0xb2, 0x13, 0xb7, 0x19, 0xda, + 0x6a, 0x87, 0xeb, 0xbf, 0x38, 0x28, 0x10, 0xf4, 0x58, 0xd2, 0x3b, 0x47, 0xf6, 0x0c, 0x2c, 0xc3, + 0x8c, 0x7a, 0x78, 0x68, 0x60, 0x93, 0x46, 0x23, 0x21, 0x5a, 0xbf, 0xd0, 0x22, 0x24, 0x7b, 0x4a, + 0x5f, 0x31, 0x69, 0x44, 0x12, 0x22, 0xfb, 0x81, 0xbe, 0x09, 0x79, 0x43, 0xd5, 0x4d, 0x65, 0xd0, + 0x6d, 0x77, 0xd4, 0xde, 0xb0, 0x3f, 0xa0, 0xde, 0xe6, 0x37, 0xaf, 0x4d, 0x08, 0x18, 0x1d, 0xf2, + 0x01, 0x3e, 0xd9, 0x4a, 0xbd, 0xda, 0x4a, 0xbe, 0xe0, 0x62, 0x6b, 0x67, 0xc4, 0x9c, 0x65, 0xa8, + 0x4a, 0xed, 0xa0, 0x02, 0xc4, 0x25, 0xa3, 0x43, 0xbd, 0x4f, 0x89, 0xe4, 0x5f, 0x54, 0x85, 0xd9, + 0x0f, 0x87, 0x58, 0x57, 0xb0, 0x51, 0x4c, 0xae, 0xc5, 0xaf, 0x67, 0x36, 0x6f, 0x4c, 0x33, 0xc8, + 0x37, 0x86, 0x58, 0x3f, 0x11, 0xed, 0x9e, 0xfc, 0x2f, 0x38, 0xc8, 0xfb, 0x65, 0xa8, 0x0a, 0xf1, + 0x0f, 0xf0, 0x09, 0x75, 0xf7, 0xb5, 0x80, 0x93, 0xde, 0x68, 0x0b, 0x66, 0xfa, 0xd8, 0x3c, 0x52, + 0x65, 0x2b, 0x63, 0xd6, 0xa7, 0xb1, 0xb3, 0x47, 0x7b, 0x88, 0x56, 0x4f, 0x12, 0xe2, 0x63, 0xa9, + 0x37, 0x64, 0x19, 0x93, 0x16, 0xd9, 0x0f, 0xfe, 0x27, 0x31, 0x98, 0xf7, 0xcc, 0x92, 0x95, 0xd5, + 0xa7, 0x9b, 0xa6, 0x4b, 0x90, 0x35, 0x55, 0x53, 0xea, 0xb5, 0x75, 0x6c, 0x0c, 0x7b, 0x26, 0x1d, + 0x20, 0x21, 0x66, 0x68, 0x9b, 0x48, 0x9b, 0xd0, 0xbb, 0x30, 0x63, 0x09, 0x13, 0x34, 0xb8, 0x17, + 0xa2, 0x1d, 0x10, 0x2d, 0x6d, 0x74, 0x1b, 0x90, 0xa6, 0xab, 0x1d, 0x6c, 0x18, 0x58, 0x6e, 0x1b, + 0x24, 0x89, 0x06, 0x1d, 0x96, 0x7e, 0x09, 0x71, 0xde, 0x91, 0x34, 0x2d, 0x01, 0xaa, 0x40, 0xfe, + 0x58, 0xc1, 0x4f, 0xda, 0x0e, 0x5b, 0xd1, 0x9c, 0x8c, 0xce, 0xef, 0x1c, 0xe9, 0xe1, 0xfc, 0xe4, + 0xff, 0x9a, 0x83, 0x39, 0x1a, 0x10, 0xf3, 0xa1, 0x66, 0x67, 0xed, 0x36, 0xc4, 0x55, 0xbd, 0x4b, + 0x63, 0x91, 0xd9, 0xbc, 0x19, 0x01, 0xbd, 0x4a, 0xbe, 0x34, 0x0f, 0xe3, 0xd0, 0x79, 0xfc, 0x11, + 0x47, 0x58, 0x84, 0x58, 0x40, 0x5f, 0x87, 0xc4, 0xd0, 0xc0, 0x3a, 0x0d, 0x5f, 0x66, 0xf3, 0xd6, + 0x44, 0x4b, 0x0f, 0x0d, 0xac, 0x8f, 0x9a, 0xa2, 0x36, 0xf8, 0xe7, 0xf6, 0xf7, 0x45, 0x81, 0x5a, + 0x13, 0x77, 0xc7, 0x8b, 0x74, 0x52, 0x90, 0x29, 0xa4, 0x2f, 0xfb, 0x20, 0x45, 0x25, 0x28, 0x03, + 0xc3, 0x06, 0xb2, 0x30, 0xfc, 0x27, 0x07, 0xf3, 0x23, 0x48, 0xd1, 0x7b, 0x90, 0x26, 0xd2, 0xb6, + 0x87, 0x6b, 0xcf, 0xbd, 0xda, 0x5a, 0xd5, 0x57, 0x36, 0x97, 0xbe, 0xf3, 0xfe, 0x77, 0xde, 0xbf, + 0x67, 0x68, 0x52, 0x07, 0xdf, 0xfb, 0xf6, 0xb7, 0x9f, 0xde, 0xbd, 0xb5, 0x79, 0xe7, 0xce, 0xb3, + 0x2b, 0x62, 0x8a, 0xa8, 0xef, 0x13, 0x32, 0xa9, 0x43, 0xf2, 0x68, 0xd8, 0x97, 0x06, 0x16, 0x9c, + 0xdb, 0x13, 0x23, 0xb4, 0x43, 0xb4, 0xad, 0x81, 0x77, 0xce, 0x88, 0xac, 0x37, 0x7a, 0x00, 0xb3, + 0x7d, 0xa9, 0x73, 0xa4, 0x0c, 0x6c, 0x7e, 0x2c, 0x4f, 0x34, 0xb4, 0xc7, 0xf4, 0x5d, 0x53, 0xb6, + 0x85, 0xad, 0x0c, 0x8b, 0x10, 0x8a, 0xff, 0xf7, 0x16, 0xc7, 0xff, 0x38, 0x09, 0x68, 0x74, 0x64, + 0x74, 0x03, 0xe0, 0x50, 0xd1, 0x0d, 0xd3, 0xeb, 0x33, 0xbc, 0xda, 0x9a, 0xd5, 0x93, 0x05, 0xae, + 0xf8, 0xaf, 0x9c, 0x98, 0xa6, 0x52, 0xea, 0xe2, 0x35, 0x48, 0xf7, 0x24, 0x5b, 0x33, 0x36, 0xa2, + 0x99, 0x22, 0x42, 0xaa, 0x78, 0x15, 0xd2, 0x03, 0xa5, 0xf3, 0x01, 0x53, 0xa4, 0x1f, 0x2d, 0xcd, + 0x01, 0x3d, 0x4e, 0xd5, 0x88, 0x88, 0xaa, 0x7d, 0x91, 0x7c, 0x22, 0xf8, 0x10, 0xeb, 0x3a, 0x96, + 0xdb, 0x3d, 0x69, 0xd0, 0x1d, 0x4a, 0x5d, 0xc6, 0xeb, 0x5e, 0xfd, 0x79, 0x47, 0x67, 0xd7, 0x52, + 0x41, 0xef, 0xc1, 0x4c, 0x17, 0x0f, 0x64, 0xac, 0xd3, 0xef, 0x29, 0xbf, 0x79, 0x29, 0x22, 0x46, + 0xdb, 0x54, 0x51, 0xb4, 0x3a, 0x20, 0x1e, 0x92, 0xb8, 0x2f, 0x29, 0x3d, 0x46, 0xf9, 0x5b, 0xd9, + 0x57, 0x5b, 0x69, 0x7d, 0x96, 0xe2, 0xff, 0x2e, 0x27, 0x32, 0x11, 0x5a, 0x87, 0x79, 0xc5, 0x68, + 0xd3, 0xff, 0xdb, 0xc7, 0x58, 0x57, 0x0e, 0x15, 0x2c, 0x17, 0x67, 0x29, 0xe1, 0xce, 0x29, 0x46, + 0x9d, 0xb4, 0x3f, 0xb2, 0x9a, 0xd1, 0x79, 0x48, 0x6a, 0x47, 0xea, 0x00, 0x17, 0x53, 0x9e, 0xa5, + 0xb7, 0xb8, 0x28, 0xb2, 0x56, 0xcb, 0x14, 0xfd, 0xdf, 0x35, 0x95, 0xb6, 0x4d, 0x1d, 0x90, 0x76, + 0xc7, 0x14, 0x0f, 0xb3, 0x1d, 0x75, 0x38, 0x30, 0xf5, 0x93, 0x22, 0x04, 0x62, 0x60, 0x0b, 0xd0, + 0x15, 0x48, 0xf5, 0xd4, 0x8e, 0xd4, 0x53, 0xcc, 0x93, 0x62, 0x26, 0x18, 0x58, 0x5b, 0x82, 0x6e, + 0x40, 0x46, 0x53, 0x0d, 0xc2, 0x6b, 0x1d, 0x55, 0xc6, 0xc5, 0x6c, 0x40, 0x11, 0x98, 0xb0, 0xaa, + 0xca, 0x18, 0xad, 0x11, 0x7a, 0xeb, 0x2a, 0xea, 0xa0, 0x98, 0x0b, 0x68, 0x59, 0xed, 0xa8, 0x0c, + 0x79, 0xc3, 0xd4, 0x31, 0x36, 0xdb, 0x92, 0x2c, 0xeb, 0xd8, 0x30, 0x8a, 0xf9, 0x80, 0x66, 0x8e, + 0xc9, 0x2b, 0x4c, 0x8c, 0x2e, 0x43, 0x4a, 0x93, 0x0c, 0xe3, 0x89, 0xaa, 0xcb, 0xc5, 0x39, 0x6f, + 0x54, 0x76, 0x44, 0x47, 0xc0, 0xcb, 0xb0, 0x18, 0x96, 0xbd, 0xe8, 0x82, 0xaf, 0xd0, 0xf1, 0xa6, + 0x17, 0x5b, 0xb3, 0x6f, 0x41, 0x46, 0xc6, 0x46, 0x47, 0x57, 0x68, 0x51, 0x15, 0xcc, 0xc2, 0xdf, + 0xc4, 0x45, 0xaf, 0x98, 0xff, 0x38, 0x0e, 0x59, 0xef, 0xc7, 0x3f, 0x52, 0xcf, 0xdc, 0xf3, 0xd7, + 0x33, 0x57, 0x26, 0x90, 0xc8, 0xe7, 0xa8, 0xa0, 0x29, 0x41, 0x2a, 0xb0, 0xaa, 0x38, 0xbf, 0x49, + 0x69, 0xe7, 0xd2, 0x18, 0xab, 0x6d, 0x5c, 0xa2, 0xfa, 0x9a, 0x4d, 0x54, 0xb3, 0x74, 0xbc, 0xeb, + 0x11, 0x2e, 0x5b, 0x44, 0xc1, 0x62, 0xe7, 0x72, 0xd4, 0x7d, 0x97, 0xa3, 0x52, 0xd4, 0x46, 0xd4, + 0xa2, 0xee, 0xcc, 0xaf, 0x63, 0x25, 0x9c, 0x9e, 0x3e, 0x4a, 0x40, 0xce, 0x37, 0x1e, 0x3a, 0x3f, + 0xca, 0x4c, 0x5e, 0x36, 0x3a, 0x3b, 0xc2, 0x46, 0x1e, 0x06, 0xba, 0x04, 0x59, 0x59, 0x31, 0xb4, + 0x9e, 0x74, 0xe2, 0x21, 0x21, 0x31, 0x63, 0xb5, 0xd9, 0xfd, 0x5d, 0x92, 0x4a, 0xb0, 0xfe, 0x0e, + 0x35, 0xdd, 0x0e, 0xa5, 0x26, 0x56, 0x3c, 0x46, 0x12, 0xd2, 0xcc, 0x69, 0x09, 0x69, 0xd1, 0x26, + 0xa4, 0x59, 0x56, 0xdc, 0x44, 0x50, 0x50, 0x2a, 0x9c, 0x82, 0x16, 0x6d, 0x0a, 0x4a, 0x33, 0x0b, + 0x11, 0xcc, 0x03, 0xe1, 0xcc, 0x53, 0x74, 0x99, 0x87, 0x92, 0x8a, 0xcb, 0x37, 0x25, 0x0f, 0xdf, + 0x64, 0xad, 0x18, 0xdb, 0x2c, 0x73, 0xd1, 0xcf, 0x32, 0x94, 0x3f, 0x7c, 0xdc, 0xb2, 0xec, 0x70, + 0x4b, 0x9e, 0xd5, 0xd7, 0x16, 0xa3, 0x5c, 0x1d, 0x61, 0x14, 0x4a, 0x13, 0x01, 0x1e, 0xe1, 0x7f, + 0xc4, 0xc1, 0x5c, 0x20, 0x7b, 0x9c, 0x32, 0x9e, 0xf3, 0x94, 0xf1, 0x6b, 0x21, 0x94, 0xe0, 0xa3, + 0x01, 0x54, 0x81, 0xc4, 0x07, 0xf8, 0xc4, 0x28, 0xc6, 0x69, 0x05, 0x77, 0x7b, 0x72, 0xb6, 0x3e, + 0xc0, 0x27, 0x6e, 0xbd, 0x40, 0xba, 0xf2, 0x3f, 0x8c, 0x01, 0x1a, 0x15, 0x8e, 0xf0, 0xc9, 0x57, + 0x20, 0x61, 0x9e, 0x68, 0x36, 0x9d, 0xdc, 0x98, 0x6a, 0xa4, 0xd6, 0x89, 0x86, 0x45, 0xda, 0xcd, + 0xf7, 0x51, 0xc7, 0x03, 0x1f, 0xf5, 0x08, 0xdd, 0x24, 0x4e, 0x49, 0x37, 0x55, 0x98, 0xc3, 0xdf, + 0xd3, 0x14, 0xdd, 0x63, 0x22, 0x39, 0xd1, 0x44, 0xde, 0xed, 0x42, 0x8c, 0xf0, 0xdb, 0x50, 0x08, + 0x96, 0x8a, 0xd1, 0x9b, 0xd3, 0x65, 0xff, 0xe6, 0xd4, 0xd9, 0x64, 0xbd, 0x8c, 0x41, 0x96, 0x6c, + 0x84, 0xa5, 0xfe, 0x81, 0xda, 0x53, 0x3a, 0x27, 0x68, 0x09, 0x66, 0x54, 0xbd, 0xdb, 0x76, 0xc2, + 0x99, 0x54, 0xf5, 0xae, 0x20, 0x4f, 0x31, 0xbb, 0x5f, 0x82, 0x55, 0xca, 0x76, 0x3d, 0xb5, 0xab, + 0x0c, 0xda, 0xfd, 0xa1, 0x61, 0xb6, 0x1f, 0xe3, 0xb6, 0x35, 0x68, 0x9c, 0x66, 0xfc, 0x12, 0x51, + 0xd8, 0x25, 0xf2, 0xbd, 0xa1, 0x61, 0x6e, 0xe1, 0x1a, 0x15, 0x92, 0xbc, 0x97, 0xf1, 0xa1, 0xc4, + 0x8a, 0x7b, 0xa2, 0x67, 0xff, 0x8c, 0x64, 0xd7, 0x91, 0x89, 0x98, 0x79, 0x33, 0xde, 0x9f, 0x3d, + 0x0d, 0xef, 0xf3, 0x7f, 0xcc, 0xc1, 0x82, 0x37, 0x6e, 0xee, 0xc2, 0xe9, 0x0b, 0x9f, 0x3b, 0x0d, + 0x9f, 0x7e, 0x1c, 0xf9, 0x3b, 0x74, 0xef, 0xe8, 0x40, 0x12, 0x6a, 0x93, 0xd0, 0xf0, 0x6f, 0x41, + 0x5e, 0x90, 0xfa, 0x7b, 0xb8, 0xff, 0x18, 0xeb, 0xa2, 0xda, 0xc3, 0x06, 0x61, 0x31, 0x9d, 0xfc, + 0x53, 0xe4, 0xd6, 0xe2, 0x64, 0xf6, 0xe9, 0x0f, 0xfe, 0x57, 0x1c, 0xa4, 0x1d, 0x45, 0xb4, 0x02, + 0xb3, 0x14, 0xa1, 0x93, 0x23, 0x33, 0xe4, 0xa7, 0x20, 0xbb, 0x9d, 0x63, 0x9e, 0xce, 0xc1, 0x38, + 0xc7, 0x4f, 0xb5, 0xbe, 0xbe, 0xf1, 0xe7, 0x16, 0x91, 0x42, 0xfc, 0x1e, 0x2c, 0x54, 0x64, 0xd9, + 0x8d, 0x80, 0x35, 0x87, 0x6b, 0x01, 0xff, 0x3c, 0x27, 0x39, 0x51, 0x8e, 0xf2, 0x07, 0xb0, 0x5c, + 0xa5, 0xc8, 0x3f, 0x31, 0x8b, 0xf7, 0x60, 0x59, 0xc4, 0x7d, 0xf5, 0xf8, 0x35, 0x2c, 0xf2, 0x7f, + 0x1a, 0x83, 0x15, 0xa7, 0xdb, 0xa7, 0xbd, 0x3d, 0xff, 0x5a, 0x60, 0x7b, 0x1e, 0x55, 0xce, 0x38, + 0xa0, 0x1e, 0x29, 0xf8, 0xc9, 0x67, 0xb8, 0x51, 0xff, 0x75, 0x0c, 0x72, 0x3e, 0x2c, 0xff, 0x67, + 0x12, 0x3b, 0xba, 0xf2, 0x0c, 0x2f, 0x75, 0xfc, 0x65, 0x5e, 0x2a, 0xb2, 0xcc, 0x4b, 0x4f, 0x28, + 0xf3, 0x60, 0xa4, 0xcc, 0x23, 0x7c, 0xb9, 0x3c, 0x92, 0x8d, 0xaf, 0x73, 0xa4, 0x27, 0xb8, 0xc7, + 0x6c, 0xac, 0x8e, 0x28, 0x4f, 0x93, 0x6a, 0xa1, 0x87, 0x6d, 0xff, 0xc8, 0xc1, 0x62, 0x98, 0x06, + 0x12, 0xbc, 0x47, 0x6e, 0xb7, 0xa7, 0xb7, 0x1f, 0x72, 0xf0, 0xf6, 0xd5, 0xc0, 0xc1, 0x5b, 0xd4, + 0xf9, 0xc8, 0x29, 0x4e, 0xdd, 0x7e, 0xc0, 0x41, 0xee, 0xbe, 0xa4, 0xf4, 0xb0, 0x5c, 0x3f, 0xc6, + 0x03, 0x53, 0xa8, 0x91, 0xed, 0x9e, 0x2c, 0x99, 0xd2, 0x63, 0xc9, 0x18, 0xa9, 0x00, 0x1c, 0x01, + 0xba, 0x02, 0x69, 0xfa, 0xd5, 0x78, 0x8e, 0x0e, 0x5c, 0x2d, 0x22, 0xb1, 0x0e, 0x18, 0xe6, 0x0e, + 0xa9, 0xed, 0x76, 0xa0, 0x0a, 0xca, 0xb3, 0x66, 0xfb, 0x23, 0xe4, 0xdf, 0x87, 0xac, 0x07, 0x84, + 0x81, 0x1e, 0x40, 0xce, 0xea, 0x88, 0x69, 0x03, 0x5d, 0x44, 0x32, 0x9b, 0x6f, 0x45, 0xf8, 0xec, + 0xe9, 0x2f, 0x66, 0x0f, 0x3d, 0xc6, 0xf8, 0x7f, 0xe2, 0x20, 0xe3, 0x91, 0x92, 0x7c, 0xf7, 0x3b, + 0xe8, 0xf1, 0xeb, 0xec, 0x88, 0x5f, 0xaf, 0xe1, 0x0e, 0xba, 0xcc, 0xe0, 0x0f, 0x75, 0xdc, 0xa6, + 0x85, 0x37, 0xfd, 0x24, 0x13, 0x0c, 0xd6, 0x50, 0xc7, 0x55, 0xd2, 0x46, 0x94, 0xb0, 0xae, 0xab, + 0x7a, 0xbb, 0x8f, 0x0d, 0xc3, 0xdd, 0x8d, 0x64, 0x69, 0xe3, 0x1e, 0x6b, 0xe3, 0x9b, 0x30, 0x43, + 0x08, 0xe5, 0x13, 0x9d, 0x16, 0xfe, 0xb7, 0x21, 0x49, 0x8c, 0x1a, 0xe8, 0x0b, 0x90, 0x24, 0x8d, + 0x76, 0x78, 0x2f, 0x46, 0x84, 0x97, 0x52, 0x2c, 0xd3, 0xe6, 0xff, 0x9e, 0x83, 0x04, 0xa5, 0xb9, + 0xd7, 0x8e, 0x64, 0x38, 0x47, 0xc7, 0xa7, 0xe7, 0xe8, 0xc4, 0x69, 0x39, 0x7a, 0x0d, 0x92, 0x82, + 0xac, 0x45, 0x5d, 0xd3, 0xfc, 0x26, 0x06, 0x71, 0x41, 0xd6, 0xde, 0xe4, 0x8a, 0x44, 0x90, 0xb5, + 0xcf, 0xf9, 0x15, 0xc9, 0x2a, 0xd9, 0xff, 0x75, 0xd5, 0xb6, 0xa1, 0x77, 0x28, 0x9d, 0x67, 0xc5, + 0x59, 0xf2, 0xbb, 0xa9, 0x77, 0xd0, 0x03, 0xc8, 0xa8, 0x8a, 0xdc, 0x69, 0x77, 0xd4, 0xc1, 0xa1, + 0xd2, 0x9d, 0xe2, 0x34, 0xa1, 0xa1, 0xc8, 0x1d, 0x41, 0xd6, 0xaa, 0x54, 0x7f, 0xe7, 0x8c, 0x08, + 0xa4, 0x3b, 0xfb, 0xe5, 0x5b, 0x53, 0x52, 0xfe, 0x35, 0x65, 0x2b, 0x0b, 0xa0, 0xc8, 0x9a, 0x35, + 0x0e, 0xdf, 0x84, 0xb4, 0x20, 0x6b, 0x0f, 0x35, 0xe2, 0xe0, 0xd8, 0xc9, 0x71, 0x7c, 0x89, 0x8d, + 0xf1, 0x25, 0xee, 0xf3, 0x85, 0x7f, 0xce, 0x41, 0xce, 0x07, 0x8f, 0xa4, 0x63, 0xa7, 0xa7, 0xe0, + 0x81, 0xe9, 0xae, 0xc9, 0x29, 0xd6, 0x20, 0xc8, 0xe4, 0x53, 0xb4, 0x84, 0x06, 0xee, 0xe8, 0xd8, + 0xb4, 0x86, 0xc9, 0xb2, 0xc6, 0x26, 0x6d, 0x23, 0xab, 0x8b, 0x62, 0x18, 0x43, 0xac, 0x5b, 0x04, + 0x6a, 0xfd, 0x22, 0xed, 0x46, 0x47, 0xd5, 0xb0, 0x41, 0x2b, 0x96, 0xb4, 0x68, 0xfd, 0xe2, 0xff, + 0x83, 0x14, 0xf6, 0x5e, 0x0c, 0x6c, 0x9f, 0x35, 0xf1, 0x44, 0xcc, 0xeb, 0x56, 0xcc, 0x3f, 0x45, + 0xd7, 0xbc, 0x4e, 0xc4, 0x47, 0x0f, 0x6c, 0x1d, 0x87, 0xca, 0x41, 0x87, 0x12, 0x23, 0xca, 0x7e, + 0xe7, 0x78, 0xc7, 0xb9, 0xe4, 0x88, 0xe6, 0xa8, 0xa3, 0x33, 0x3e, 0x47, 0xff, 0x25, 0xe8, 0xa8, + 0x35, 0x99, 0x17, 0x60, 0x86, 0xcc, 0x73, 0xc8, 0x9e, 0x41, 0x91, 0x35, 0x41, 0xf6, 0x7b, 0x13, + 0x8b, 0xf0, 0x66, 0x64, 0x7a, 0xe2, 0x21, 0xd3, 0xe3, 0x7a, 0x90, 0x98, 0xc2, 0x83, 0xa4, 0xcf, + 0x83, 0x9f, 0xc5, 0x60, 0x9e, 0x7c, 0xbb, 0x9f, 0x72, 0x6d, 0x7b, 0x2f, 0x50, 0xdb, 0xf2, 0xd1, + 0x54, 0xf2, 0x19, 0x57, 0xb5, 0xcf, 0xe3, 0x30, 0x6b, 0xa1, 0xf8, 0x7f, 0xcb, 0x89, 0x8d, 0x30, + 0x4e, 0xbc, 0x35, 0x2d, 0x27, 0x92, 0xd0, 0x9d, 0x82, 0x17, 0xe7, 0x61, 0xce, 0xe5, 0xc5, 0x36, + 0x99, 0x0c, 0xfe, 0xbb, 0x30, 0x3f, 0x62, 0x31, 0x9a, 0xca, 0x5c, 0x96, 0x8a, 0x8d, 0x61, 0xa9, + 0xb8, 0x2f, 0xf5, 0x7f, 0xc8, 0x41, 0xc1, 0x93, 0xfa, 0xaf, 0x53, 0x48, 0x57, 0x83, 0x85, 0xf4, + 0x8d, 0x09, 0xe9, 0x10, 0x56, 0x42, 0xff, 0x1d, 0x07, 0x79, 0xbf, 0x6c, 0xfa, 0xfb, 0x6a, 0xa7, + 0xdf, 0xff, 0x5e, 0xd9, 0xfc, 0xe7, 0x1c, 0xa0, 0x1a, 0x3b, 0x5b, 0xa2, 0xc7, 0x27, 0xd6, 0x99, + 0xd7, 0xbb, 0xb0, 0x22, 0xf5, 0x7a, 0xea, 0x93, 0x36, 0xd9, 0x23, 0x91, 0xe4, 0x6a, 0x3b, 0x37, + 0x27, 0xec, 0x45, 0xc6, 0x12, 0x15, 0x3f, 0xb4, 0xa4, 0x07, 0x96, 0x10, 0x5d, 0x85, 0x3c, 0xeb, + 0xa7, 0xe3, 0xae, 0x62, 0x98, 0xd6, 0xec, 0xa5, 0xc4, 0x1c, 0x6d, 0x15, 0xad, 0x46, 0x74, 0x0b, + 0x10, 0x53, 0xc3, 0xdf, 0x33, 0x89, 0x85, 0x5e, 0x5b, 0x91, 0x35, 0xeb, 0x28, 0xa7, 0x40, 0x25, + 0x75, 0x4b, 0x20, 0xc8, 0x1a, 0xff, 0x5b, 0x90, 0x13, 0x64, 0xed, 0x40, 0x57, 0x8f, 0x15, 0x19, + 0xeb, 0x42, 0x0d, 0xdd, 0x84, 0x9c, 0x27, 0xc1, 0x46, 0x79, 0x39, 0xa3, 0xd8, 0x79, 0x26, 0xc8, + 0xfc, 0x5f, 0x71, 0xb0, 0x3c, 0xea, 0x21, 0x4d, 0xc0, 0xcf, 0x95, 0x97, 0xcf, 0x39, 0x98, 0xf3, + 0xb8, 0x49, 0x01, 0xf2, 0xa1, 0x8e, 0xfa, 0xfc, 0x0b, 0xad, 0x28, 0xde, 0xb5, 0x4e, 0x7b, 0xd9, + 0xdb, 0x8e, 0x09, 0xf4, 0xec, 0x1e, 0xf3, 0xf2, 0x7f, 0x11, 0x83, 0x55, 0x0f, 0x86, 0x4f, 0x7b, + 0x1d, 0xd9, 0x0a, 0xac, 0x23, 0xeb, 0xd1, 0x40, 0xbd, 0xa1, 0xf9, 0x0c, 0xd7, 0x93, 0x1d, 0x28, + 0x86, 0xc4, 0xe8, 0x35, 0x08, 0x67, 0xfd, 0x00, 0x52, 0xf6, 0x63, 0x24, 0x54, 0x84, 0xc5, 0x86, + 0xb8, 0xdd, 0x6c, 0x55, 0x5a, 0xf5, 0xf6, 0xc3, 0xfd, 0xe6, 0x41, 0xbd, 0x2a, 0xdc, 0x17, 0xea, + 0xb5, 0xc2, 0x19, 0xb4, 0x00, 0x73, 0x8e, 0xa4, 0x52, 0x6d, 0x09, 0x8f, 0xea, 0x05, 0x0e, 0x2d, + 0xc1, 0xbc, 0xd3, 0x28, 0xec, 0x5b, 0xcd, 0xb1, 0x75, 0x93, 0x9e, 0x5d, 0x3b, 0x24, 0x82, 0xce, + 0x41, 0x91, 0xa8, 0xd5, 0x2b, 0x62, 0x75, 0xe7, 0x41, 0xfd, 0x5b, 0x01, 0xcb, 0x96, 0x11, 0x47, + 0xba, 0x5f, 0xd9, 0x23, 0xb6, 0x57, 0x60, 0xc1, 0xd7, 0x5c, 0x6b, 0xec, 0x55, 0x84, 0xfd, 0x42, + 0x0c, 0x2d, 0x03, 0xf2, 0x09, 0xe8, 0xf0, 0x85, 0xf8, 0x7a, 0xcf, 0x7a, 0xdf, 0xe1, 0xb2, 0x0e, + 0x2a, 0xc1, 0xb2, 0xa3, 0xba, 0x57, 0x6f, 0xed, 0x34, 0x6a, 0xed, 0xfa, 0x37, 0x1e, 0x56, 0x76, + 0x9b, 0x85, 0x33, 0xe8, 0x22, 0x9c, 0x0d, 0xca, 0x9a, 0xad, 0x8a, 0xd8, 0x6a, 0xb6, 0x7f, 0x47, + 0x68, 0xed, 0x14, 0x38, 0x1f, 0x6a, 0x4b, 0xa1, 0xda, 0xd8, 0x6f, 0x55, 0x84, 0xfd, 0x66, 0x21, + 0xb6, 0xfe, 0x0b, 0x0e, 0xd2, 0xce, 0x9d, 0x27, 0x5a, 0x85, 0xa5, 0x87, 0xcd, 0xba, 0x18, 0x16, + 0xb8, 0x45, 0x28, 0xb8, 0x22, 0x27, 0x72, 0xcb, 0x80, 0xdc, 0x56, 0x37, 0x74, 0x24, 0x18, 0x6e, + 0x7b, 0xad, 0xbe, 0x5b, 0x6f, 0xd5, 0x6b, 0x85, 0xb8, 0xdf, 0xc8, 0x6e, 0xa3, 0xfa, 0xa0, 0x5e, + 0x2b, 0x24, 0xfc, 0xca, 0xcd, 0x87, 0xcd, 0x83, 0xfa, 0x7e, 0xad, 0x90, 0xf4, 0x37, 0x0b, 0xfb, + 0x42, 0x4b, 0xa8, 0xec, 0x16, 0x66, 0xd6, 0xbf, 0x09, 0x33, 0xec, 0x72, 0x8d, 0x0c, 0xbe, 0x5d, + 0xdf, 0xaf, 0xd5, 0xc5, 0x00, 0xd4, 0x79, 0xc8, 0x59, 0xed, 0xf7, 0xeb, 0x7b, 0x95, 0x5d, 0x82, + 0x73, 0x0e, 0x32, 0x56, 0x13, 0x6d, 0x88, 0x21, 0x04, 0x79, 0xab, 0xa1, 0x26, 0x3c, 0xaa, 0x8b, + 0x4d, 0x12, 0xf9, 0x0a, 0xe4, 0xfd, 0xf7, 0x35, 0x24, 0xf0, 0x7b, 0x95, 0xea, 0x8e, 0xb0, 0x5f, + 0x1f, 0x9d, 0xef, 0x05, 0x98, 0xf3, 0xc8, 0xbe, 0xde, 0x6c, 0xec, 0x17, 0xb8, 0xf5, 0x7f, 0xe6, + 0x00, 0x8d, 0x9e, 0xda, 0x20, 0x1e, 0x2e, 0x08, 0x95, 0xbd, 0xbd, 0xfa, 0xde, 0x16, 0x19, 0x2a, + 0x3c, 0x7f, 0x2e, 0xc1, 0xf9, 0x10, 0x9d, 0xfb, 0x82, 0xd8, 0x6c, 0xd9, 0xb9, 0xb4, 0x06, 0xe7, + 0x42, 0x54, 0x76, 0x2b, 0xb6, 0x46, 0x8c, 0x4c, 0x76, 0x88, 0x46, 0x7d, 0xaf, 0x22, 0xec, 0x16, + 0xe2, 0xe8, 0x02, 0x94, 0xc2, 0x60, 0x34, 0xeb, 0x62, 0x5b, 0xa8, 0x15, 0x12, 0xeb, 0xbf, 0x8e, + 0x41, 0xd6, 0x97, 0x78, 0x2b, 0xb0, 0x10, 0x9e, 0x75, 0xe7, 0xa0, 0x18, 0x91, 0x72, 0xab, 0xb0, + 0x34, 0x26, 0xdf, 0xd0, 0x65, 0xb8, 0x18, 0x62, 0xb1, 0x2d, 0x6c, 0xef, 0x37, 0xc4, 0x7a, 0xbb, + 0x5a, 0x21, 0x13, 0x81, 0xae, 0xc3, 0x95, 0x71, 0xd6, 0x7d, 0x9a, 0x09, 0x74, 0x15, 0x2e, 0x85, + 0x8e, 0xe4, 0x53, 0x4b, 0xa2, 0xb3, 0xb0, 0xe2, 0x53, 0xdb, 0x6f, 0xb4, 0x6c, 0x5f, 0x66, 0xd0, + 0x79, 0x58, 0xf5, 0x09, 0xb7, 0xc5, 0x7a, 0xa5, 0x55, 0x17, 0xdb, 0xad, 0x9d, 0xca, 0x7e, 0x61, + 0x96, 0xe4, 0x80, 0x4f, 0xbc, 0x5b, 0x6f, 0x36, 0x99, 0x2c, 0x35, 0x22, 0x13, 0x9a, 0xed, 0xc6, + 0x7e, 0xbd, 0xdd, 0xb8, 0x5f, 0x48, 0x93, 0x60, 0xfb, 0xfb, 0x09, 0xcd, 0x96, 0x1b, 0x09, 0x58, + 0x7f, 0x0c, 0x29, 0xbb, 0x0a, 0xa6, 0x13, 0x53, 0x3b, 0xa8, 0x36, 0xf6, 0xef, 0x0b, 0xa1, 0xac, + 0xb5, 0x0a, 0x4b, 0x01, 0xb9, 0xf3, 0x05, 0x9e, 0x85, 0x95, 0x80, 0xc8, 0xc3, 0x60, 0x1d, 0xc8, + 0x7a, 0xcb, 0x20, 0x9a, 0x1e, 0xb5, 0x83, 0x71, 0x19, 0xc8, 0x50, 0xb8, 0x52, 0xa1, 0x76, 0xd0, + 0x66, 0x86, 0x49, 0x7a, 0x50, 0x9a, 0xf4, 0xc9, 0x59, 0xce, 0xad, 0xdf, 0xa7, 0x3b, 0x02, 0xfa, + 0xbd, 0xac, 0xc0, 0x82, 0x50, 0x3b, 0x68, 0x7d, 0xeb, 0x20, 0xe8, 0x40, 0x01, 0xb2, 0xb6, 0xa0, + 0x21, 0xd4, 0xaa, 0x05, 0xce, 0xdb, 0xd2, 0xac, 0xec, 0xed, 0x16, 0x62, 0x9b, 0x7f, 0x70, 0x15, + 0xb2, 0x15, 0xb2, 0x4a, 0x35, 0xb1, 0x7e, 0xac, 0x74, 0x30, 0x7a, 0x00, 0xb3, 0x3b, 0x58, 0xea, + 0x99, 0x47, 0xdf, 0x47, 0xcb, 0x23, 0x2b, 0x4a, 0xbd, 0xaf, 0x99, 0x27, 0xa5, 0x31, 0xed, 0x7c, + 0xe1, 0xc5, 0xbf, 0xfd, 0xfb, 0xcf, 0x63, 0x80, 0x52, 0xe5, 0x23, 0xcb, 0xc2, 0x36, 0x24, 0x45, + 0x2c, 0xc9, 0x27, 0xa7, 0x36, 0x95, 0xa7, 0xa6, 0x52, 0x68, 0xa6, 0xac, 0xd3, 0xfe, 0xfb, 0x90, + 0x7a, 0x64, 0x3d, 0x1a, 0x1e, 0x6b, 0x6b, 0x65, 0xa4, 0xbd, 0x49, 0x9f, 0x1f, 0xf3, 0xf3, 0xd4, + 0x58, 0x06, 0xa5, 0x9d, 0x87, 0xc7, 0xe8, 0x23, 0x0e, 0x32, 0x82, 0xd1, 0xd0, 0xbb, 0xec, 0x51, + 0x2e, 0x8a, 0x7a, 0xbf, 0x17, 0x7c, 0x31, 0x5c, 0xba, 0x35, 0x9d, 0x32, 0xab, 0x39, 0xf8, 0xab, + 0x2f, 0x5e, 0x16, 0x01, 0x52, 0x8a, 0xd4, 0xdf, 0x20, 0xbe, 0x50, 0x2c, 0xf3, 0x68, 0xae, 0xac, + 0xea, 0x5d, 0xa3, 0xdc, 0x56, 0x0c, 0xf6, 0x4c, 0x18, 0x69, 0x00, 0xdb, 0xd8, 0x6c, 0xe8, 0xdd, + 0xad, 0x13, 0xa1, 0x86, 0xd6, 0xa2, 0x5f, 0xe9, 0x09, 0xb5, 0xd2, 0x84, 0x77, 0x7c, 0xfc, 0x5a, + 0xc8, 0xb0, 0x59, 0x04, 0x6c, 0xd8, 0xa7, 0x8a, 0xfc, 0x8c, 0xc4, 0x00, 0x58, 0x96, 0x36, 0xf4, + 0xae, 0x11, 0x19, 0x82, 0xe0, 0x93, 0xdd, 0xc8, 0x10, 0x8c, 0xbc, 0x1c, 0xe5, 0xdf, 0x0a, 0xc1, + 0x82, 0xf8, 0x9c, 0x15, 0x02, 0x83, 0x2a, 0xdf, 0xe3, 0xd6, 0xd1, 0x8f, 0x39, 0x48, 0xd1, 0xa7, + 0x8b, 0x0d, 0xbd, 0x8b, 0x26, 0x3e, 0x67, 0x75, 0xdf, 0x62, 0x96, 0x6e, 0x4e, 0xa5, 0xeb, 0x41, + 0x93, 0x81, 0x34, 0x41, 0xf3, 0x44, 0x57, 0x4c, 0xcc, 0x66, 0x84, 0xcf, 0x3a, 0x70, 0xcc, 0xa1, + 0x46, 0xd0, 0xfc, 0x09, 0x07, 0x73, 0x6c, 0x4a, 0xdc, 0x9b, 0xf4, 0x09, 0xef, 0x7f, 0x3d, 0xf7, + 0xb4, 0xa5, 0x6b, 0x53, 0xaa, 0xf2, 0x5f, 0x78, 0xf1, 0xb2, 0x48, 0x36, 0x9c, 0x52, 0x7f, 0x43, + 0xa3, 0x2d, 0x6e, 0x90, 0x4a, 0xa8, 0x68, 0x4d, 0x18, 0xbb, 0xf2, 0x7d, 0x56, 0x56, 0xa4, 0x3e, + 0x53, 0x42, 0x1f, 0x73, 0xf6, 0xa3, 0x43, 0x1f, 0xc2, 0x8d, 0x29, 0x87, 0xb5, 0x43, 0x37, 0x35, + 0xcc, 0xf7, 0x5e, 0xbc, 0x2c, 0x22, 0x28, 0x78, 0x60, 0xba, 0xd1, 0x3b, 0xcf, 0x8f, 0xc5, 0x49, + 0x22, 0x49, 0xa0, 0xb2, 0x93, 0xa8, 0xcf, 0x01, 0xd4, 0x52, 0x24, 0xd4, 0x9f, 0xd2, 0xdd, 0x64, + 0x0f, 0x07, 0xa0, 0x9e, 0x62, 0xde, 0xc7, 0x51, 0xda, 0x17, 0x5f, 0xbc, 0x2c, 0x2e, 0xc0, 0xbc, + 0x07, 0x94, 0x4c, 0xc7, 0x61, 0x13, 0xbd, 0x3e, 0x7e, 0xa2, 0x7f, 0xc0, 0xc1, 0xfc, 0x36, 0x36, + 0x03, 0x97, 0xfa, 0xe3, 0x58, 0xf0, 0xc6, 0x34, 0x57, 0x5b, 0xd4, 0x04, 0x7f, 0xd3, 0x4d, 0xbc, + 0x3e, 0x6d, 0x76, 0x13, 0xaf, 0x80, 0xf2, 0x65, 0xd6, 0x66, 0x94, 0xd9, 0xc5, 0xe8, 0x47, 0x1c, + 0x59, 0x28, 0xdc, 0x8b, 0xf5, 0xc8, 0xd9, 0x0b, 0xb9, 0x81, 0x2f, 0x5d, 0x99, 0x06, 0x18, 0x7f, + 0xc3, 0x9d, 0x3a, 0x0b, 0x93, 0x3b, 0x75, 0x39, 0x3e, 0x65, 0x83, 0x22, 0x53, 0xf5, 0x67, 0x1c, + 0xcc, 0x05, 0xee, 0xe6, 0xd1, 0xdd, 0xa8, 0x27, 0xbd, 0xa1, 0xf7, 0xf8, 0x53, 0xe2, 0x7a, 0x3b, + 0x02, 0xd7, 0x4a, 0x09, 0x39, 0xc1, 0x7a, 0x6a, 0x5d, 0x36, 0x3f, 0x23, 0x08, 0x3f, 0xe2, 0x60, + 0x2e, 0x70, 0xd7, 0x1f, 0x89, 0x30, 0xfc, 0x5d, 0xc0, 0xd8, 0x8c, 0xba, 0xeb, 0x66, 0x94, 0x85, + 0xc9, 0x93, 0x51, 0x8b, 0xeb, 0x21, 0xa0, 0xd0, 0xdf, 0x72, 0x50, 0x60, 0xe4, 0xec, 0x8c, 0x62, + 0x44, 0x42, 0x0a, 0xbf, 0xdf, 0x2d, 0x6d, 0x9e, 0xa6, 0x8b, 0xc5, 0xbb, 0x77, 0xc6, 0xa7, 0xdb, + 0x12, 0x5f, 0x70, 0xc0, 0x7a, 0xd6, 0x83, 0xc7, 0x90, 0xda, 0xc6, 0x26, 0xbb, 0x20, 0x1b, 0x97, + 0xef, 0x6b, 0x13, 0x6e, 0xca, 0x0c, 0xfe, 0x5c, 0xc8, 0xea, 0x43, 0x2a, 0x0b, 0x7a, 0x83, 0x86, + 0x7e, 0x1f, 0xd2, 0xd5, 0x1e, 0x96, 0xd8, 0x69, 0xc5, 0xa5, 0x09, 0xc6, 0x22, 0x3e, 0xef, 0x77, + 0xc2, 0x56, 0x95, 0x8b, 0xfc, 0x79, 0x36, 0x4c, 0xf9, 0xa9, 0x7d, 0x1b, 0xf7, 0xac, 0xfc, 0xd4, + 0xb9, 0x8c, 0x7b, 0x86, 0x9e, 0xd0, 0x25, 0xc6, 0x77, 0xe1, 0x3a, 0xce, 0xd1, 0x6b, 0xd3, 0xdd, + 0xb8, 0x1a, 0xfc, 0xe5, 0x10, 0x7f, 0xe7, 0x50, 0xae, 0xcc, 0x6e, 0x46, 0xd9, 0x2d, 0x2e, 0xfa, + 0x4b, 0x0e, 0xe6, 0x59, 0xba, 0x79, 0xef, 0x63, 0xaf, 0x4f, 0x37, 0x46, 0x44, 0x18, 0xf6, 0xc2, + 0xc2, 0xf0, 0xa5, 0xf5, 0x77, 0x7d, 0xa3, 0x8f, 0x89, 0x46, 0xf9, 0x69, 0xe0, 0x4e, 0xf7, 0x19, + 0x1a, 0xd2, 0x32, 0x77, 0x62, 0x49, 0x44, 0xef, 0x13, 0x4b, 0x53, 0x1c, 0xe2, 0xf3, 0x57, 0x5e, + 0xbc, 0x2c, 0xe6, 0x21, 0x4b, 0xf0, 0x29, 0xb2, 0xe6, 0x2f, 0x8d, 0x14, 0x59, 0xb3, 0x4a, 0xa3, + 0x3f, 0xe4, 0x20, 0x67, 0xad, 0xad, 0xec, 0xcc, 0x37, 0x7a, 0xad, 0x1a, 0xbd, 0x5a, 0x8a, 0x2c, + 0xcf, 0x04, 0x59, 0xe3, 0xaf, 0xbf, 0x78, 0x59, 0x9c, 0x83, 0x9c, 0x8d, 0xc3, 0x8d, 0xd5, 0x1c, + 0x6f, 0x01, 0x51, 0x15, 0xb9, 0x43, 0x3e, 0x82, 0xe7, 0x1c, 0xcc, 0xb1, 0xc5, 0xd3, 0xbd, 0x42, + 0xbb, 0x12, 0x6d, 0x9d, 0xa9, 0xbf, 0x01, 0x86, 0x92, 0x27, 0x18, 0x04, 0xc3, 0x1f, 0x71, 0xb0, + 0x50, 0xc3, 0x52, 0xc7, 0x54, 0x8e, 0x7d, 0x38, 0x26, 0xcf, 0xc9, 0x24, 0x0c, 0xef, 0x8c, 0xc3, + 0x70, 0xb6, 0xb4, 0xec, 0x62, 0x28, 0xb7, 0x65, 0x67, 0x74, 0x1b, 0x8f, 0xf8, 0x99, 0xe2, 0xd1, + 0x7d, 0x78, 0x74, 0x87, 0xe7, 0x4f, 0x01, 0x65, 0xdc, 0x27, 0x74, 0x75, 0x1c, 0x84, 0xec, 0xba, + 0x37, 0x47, 0x3f, 0xe6, 0x60, 0xc1, 0x2a, 0xaa, 0x7c, 0xd7, 0xab, 0x53, 0x67, 0xaa, 0x95, 0x25, + 0x53, 0xdf, 0x2b, 0xd3, 0x0a, 0x26, 0x14, 0xd8, 0x85, 0xd2, 0xaa, 0x03, 0x4c, 0xa3, 0xd5, 0x0b, + 0x49, 0x5e, 0x76, 0xe6, 0x4b, 0xc2, 0xf3, 0x73, 0x67, 0xa7, 0x21, 0xc8, 0x5a, 0xf4, 0x4e, 0x23, + 0x78, 0x01, 0x12, 0xb9, 0xd3, 0x18, 0xb9, 0x28, 0xe4, 0xd7, 0xc7, 0x7c, 0xde, 0x64, 0xb7, 0x41, + 0x11, 0x7a, 0x56, 0x97, 0x9f, 0x72, 0xb0, 0xb4, 0x8d, 0xcd, 0x90, 0xbb, 0x83, 0x71, 0x14, 0x1c, + 0xb5, 0x50, 0x86, 0x1f, 0xd0, 0xf3, 0xb7, 0xc6, 0x17, 0xf7, 0x64, 0x13, 0x48, 0xdb, 0x14, 0x6c, + 0x94, 0xe9, 0xcb, 0x50, 0xf4, 0x37, 0x1c, 0x14, 0xd9, 0xb4, 0x84, 0xa0, 0xba, 0x7d, 0xaa, 0xd1, + 0x4b, 0xa7, 0x53, 0xa7, 0xab, 0xf3, 0xb8, 0x9a, 0x79, 0xb1, 0x14, 0x44, 0x4a, 0xe2, 0xf7, 0x2b, + 0x0e, 0x2e, 0x85, 0xc6, 0xcf, 0x73, 0xb6, 0x6c, 0xa0, 0xb7, 0xa7, 0x3b, 0x11, 0xf7, 0x4f, 0xfa, + 0x3b, 0xa7, 0xeb, 0x64, 0x4d, 0x7e, 0x6d, 0x7c, 0xac, 0x6f, 0xf0, 0x57, 0x02, 0x1e, 0x90, 0x74, + 0xd0, 0x6c, 0x94, 0xde, 0xb4, 0xf8, 0x07, 0x0e, 0x78, 0x52, 0xbf, 0xba, 0xc3, 0xb4, 0xd4, 0x90, + 0xd9, 0xb8, 0x3e, 0x1d, 0x44, 0xa1, 0x56, 0x9a, 0x5a, 0x93, 0xff, 0x4a, 0xc4, 0x1c, 0x5c, 0xe2, + 0xcf, 0x45, 0x79, 0x40, 0x90, 0xff, 0x92, 0x83, 0x6b, 0x0e, 0x0d, 0xd9, 0x66, 0xef, 0xeb, 0x6a, + 0xff, 0x8d, 0xe0, 0x47, 0xad, 0xf4, 0xe3, 0xc0, 0xde, 0xe5, 0x6f, 0x45, 0x86, 0xfb, 0xa9, 0xef, + 0x4e, 0x88, 0x2c, 0x31, 0x5b, 0xbf, 0xe4, 0x7e, 0x56, 0xf9, 0x09, 0x87, 0x2a, 0x90, 0xa3, 0x58, + 0xd6, 0x0c, 0x76, 0x1e, 0xc5, 0xdf, 0x44, 0x37, 0x8e, 0x4c, 0x53, 0x33, 0xee, 0x95, 0xcb, 0x5d, + 0xc5, 0x3c, 0x1a, 0x3e, 0xde, 0xe8, 0xa8, 0xfd, 0x32, 0x01, 0x5f, 0xb6, 0xc0, 0x97, 0xb5, 0x0f, + 0xba, 0x65, 0xda, 0x69, 0x33, 0x7e, 0x67, 0xe3, 0xee, 0x3a, 0x17, 0xdb, 0x2c, 0x48, 0x9a, 0xd6, + 0x53, 0x3a, 0xf4, 0xa6, 0xba, 0xfc, 0x7b, 0x86, 0x3a, 0xf0, 0xb7, 0x74, 0x75, 0xad, 0x73, 0x6f, + 0x44, 0xe7, 0xde, 0x88, 0xce, 0xef, 0xbe, 0x15, 0x35, 0x24, 0xd1, 0x60, 0xe3, 0x3e, 0x9e, 0xa1, + 0xb1, 0x79, 0xfb, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xd2, 0xbb, 0xe7, 0xda, 0x85, 0x3f, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context -var _ grpc.ClientConnInterface +var _ grpc.ClientConn // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 +const _ = grpc.SupportPackageIsVersion4 // AdminServiceClient is the client API for AdminService service. // @@ -5872,10 +4174,10 @@ type AdminServiceClient interface { } type adminServiceClient struct { - cc grpc.ClientConnInterface + cc *grpc.ClientConn } -func NewAdminServiceClient(cc grpc.ClientConnInterface) AdminServiceClient { +func NewAdminServiceClient(cc *grpc.ClientConn) AdminServiceClient { return &adminServiceClient{cc} } @@ -6221,103 +4523,103 @@ type AdminServiceServer interface { type UnimplementedAdminServiceServer struct { } -func (*UnimplementedAdminServiceServer) Healthz(context.Context, *empty.Empty) (*empty.Empty, error) { +func (*UnimplementedAdminServiceServer) Healthz(ctx context.Context, req *empty.Empty) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Healthz not implemented") } -func (*UnimplementedAdminServiceServer) Ready(context.Context, *empty.Empty) (*empty.Empty, error) { +func (*UnimplementedAdminServiceServer) Ready(ctx context.Context, req *empty.Empty) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Ready not implemented") } -func (*UnimplementedAdminServiceServer) Validate(context.Context, *empty.Empty) (*_struct.Struct, error) { +func (*UnimplementedAdminServiceServer) Validate(ctx context.Context, req *empty.Empty) (*_struct.Struct, error) { return nil, status.Errorf(codes.Unimplemented, "method Validate not implemented") } -func (*UnimplementedAdminServiceServer) IsOrgUnique(context.Context, *UniqueOrgRequest) (*UniqueOrgResponse, error) { +func (*UnimplementedAdminServiceServer) IsOrgUnique(ctx context.Context, req *UniqueOrgRequest) (*UniqueOrgResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method IsOrgUnique not implemented") } -func (*UnimplementedAdminServiceServer) GetOrgByID(context.Context, *OrgID) (*Org, error) { +func (*UnimplementedAdminServiceServer) GetOrgByID(ctx context.Context, req *OrgID) (*Org, error) { return nil, status.Errorf(codes.Unimplemented, "method GetOrgByID not implemented") } -func (*UnimplementedAdminServiceServer) SearchOrgs(context.Context, *OrgSearchRequest) (*OrgSearchResponse, error) { +func (*UnimplementedAdminServiceServer) SearchOrgs(ctx context.Context, req *OrgSearchRequest) (*OrgSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchOrgs not implemented") } -func (*UnimplementedAdminServiceServer) SetUpOrg(context.Context, *OrgSetUpRequest) (*OrgSetUpResponse, error) { +func (*UnimplementedAdminServiceServer) SetUpOrg(ctx context.Context, req *OrgSetUpRequest) (*OrgSetUpResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SetUpOrg not implemented") } -func (*UnimplementedAdminServiceServer) GetOrgIamPolicy(context.Context, *OrgIamPolicyID) (*OrgIamPolicy, error) { +func (*UnimplementedAdminServiceServer) GetOrgIamPolicy(ctx context.Context, req *OrgIamPolicyID) (*OrgIamPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method GetOrgIamPolicy not implemented") } -func (*UnimplementedAdminServiceServer) CreateOrgIamPolicy(context.Context, *OrgIamPolicyRequest) (*OrgIamPolicy, error) { +func (*UnimplementedAdminServiceServer) CreateOrgIamPolicy(ctx context.Context, req *OrgIamPolicyRequest) (*OrgIamPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateOrgIamPolicy not implemented") } -func (*UnimplementedAdminServiceServer) UpdateOrgIamPolicy(context.Context, *OrgIamPolicyRequest) (*OrgIamPolicy, error) { +func (*UnimplementedAdminServiceServer) UpdateOrgIamPolicy(ctx context.Context, req *OrgIamPolicyRequest) (*OrgIamPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateOrgIamPolicy not implemented") } -func (*UnimplementedAdminServiceServer) DeleteOrgIamPolicy(context.Context, *OrgIamPolicyID) (*empty.Empty, error) { +func (*UnimplementedAdminServiceServer) DeleteOrgIamPolicy(ctx context.Context, req *OrgIamPolicyID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteOrgIamPolicy not implemented") } -func (*UnimplementedAdminServiceServer) GetIamMemberRoles(context.Context, *empty.Empty) (*IamMemberRoles, error) { +func (*UnimplementedAdminServiceServer) GetIamMemberRoles(ctx context.Context, req *empty.Empty) (*IamMemberRoles, error) { return nil, status.Errorf(codes.Unimplemented, "method GetIamMemberRoles not implemented") } -func (*UnimplementedAdminServiceServer) AddIamMember(context.Context, *AddIamMemberRequest) (*IamMember, error) { +func (*UnimplementedAdminServiceServer) AddIamMember(ctx context.Context, req *AddIamMemberRequest) (*IamMember, error) { return nil, status.Errorf(codes.Unimplemented, "method AddIamMember not implemented") } -func (*UnimplementedAdminServiceServer) ChangeIamMember(context.Context, *ChangeIamMemberRequest) (*IamMember, error) { +func (*UnimplementedAdminServiceServer) ChangeIamMember(ctx context.Context, req *ChangeIamMemberRequest) (*IamMember, error) { return nil, status.Errorf(codes.Unimplemented, "method ChangeIamMember not implemented") } -func (*UnimplementedAdminServiceServer) RemoveIamMember(context.Context, *RemoveIamMemberRequest) (*empty.Empty, error) { +func (*UnimplementedAdminServiceServer) RemoveIamMember(ctx context.Context, req *RemoveIamMemberRequest) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveIamMember not implemented") } -func (*UnimplementedAdminServiceServer) SearchIamMembers(context.Context, *IamMemberSearchRequest) (*IamMemberSearchResponse, error) { +func (*UnimplementedAdminServiceServer) SearchIamMembers(ctx context.Context, req *IamMemberSearchRequest) (*IamMemberSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchIamMembers not implemented") } -func (*UnimplementedAdminServiceServer) GetViews(context.Context, *empty.Empty) (*Views, error) { +func (*UnimplementedAdminServiceServer) GetViews(ctx context.Context, req *empty.Empty) (*Views, error) { return nil, status.Errorf(codes.Unimplemented, "method GetViews not implemented") } -func (*UnimplementedAdminServiceServer) ClearView(context.Context, *ViewID) (*empty.Empty, error) { +func (*UnimplementedAdminServiceServer) ClearView(ctx context.Context, req *ViewID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method ClearView not implemented") } -func (*UnimplementedAdminServiceServer) GetFailedEvents(context.Context, *empty.Empty) (*FailedEvents, error) { +func (*UnimplementedAdminServiceServer) GetFailedEvents(ctx context.Context, req *empty.Empty) (*FailedEvents, error) { return nil, status.Errorf(codes.Unimplemented, "method GetFailedEvents not implemented") } -func (*UnimplementedAdminServiceServer) RemoveFailedEvent(context.Context, *FailedEventID) (*empty.Empty, error) { +func (*UnimplementedAdminServiceServer) RemoveFailedEvent(ctx context.Context, req *FailedEventID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveFailedEvent not implemented") } -func (*UnimplementedAdminServiceServer) IdpByID(context.Context, *IdpID) (*IdpView, error) { +func (*UnimplementedAdminServiceServer) IdpByID(ctx context.Context, req *IdpID) (*IdpView, error) { return nil, status.Errorf(codes.Unimplemented, "method IdpByID not implemented") } -func (*UnimplementedAdminServiceServer) CreateOidcIdp(context.Context, *OidcIdpConfigCreate) (*Idp, error) { +func (*UnimplementedAdminServiceServer) CreateOidcIdp(ctx context.Context, req *OidcIdpConfigCreate) (*Idp, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateOidcIdp not implemented") } -func (*UnimplementedAdminServiceServer) UpdateIdpConfig(context.Context, *IdpUpdate) (*Idp, error) { +func (*UnimplementedAdminServiceServer) UpdateIdpConfig(ctx context.Context, req *IdpUpdate) (*Idp, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateIdpConfig not implemented") } -func (*UnimplementedAdminServiceServer) DeactivateIdpConfig(context.Context, *IdpID) (*Idp, error) { +func (*UnimplementedAdminServiceServer) DeactivateIdpConfig(ctx context.Context, req *IdpID) (*Idp, error) { return nil, status.Errorf(codes.Unimplemented, "method DeactivateIdpConfig not implemented") } -func (*UnimplementedAdminServiceServer) ReactivateIdpConfig(context.Context, *IdpID) (*Idp, error) { +func (*UnimplementedAdminServiceServer) ReactivateIdpConfig(ctx context.Context, req *IdpID) (*Idp, error) { return nil, status.Errorf(codes.Unimplemented, "method ReactivateIdpConfig not implemented") } -func (*UnimplementedAdminServiceServer) RemoveIdpConfig(context.Context, *IdpID) (*empty.Empty, error) { +func (*UnimplementedAdminServiceServer) RemoveIdpConfig(ctx context.Context, req *IdpID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveIdpConfig not implemented") } -func (*UnimplementedAdminServiceServer) UpdateOidcIdpConfig(context.Context, *OidcIdpConfigUpdate) (*OidcIdpConfig, error) { +func (*UnimplementedAdminServiceServer) UpdateOidcIdpConfig(ctx context.Context, req *OidcIdpConfigUpdate) (*OidcIdpConfig, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateOidcIdpConfig not implemented") } -func (*UnimplementedAdminServiceServer) SearchIdps(context.Context, *IdpSearchRequest) (*IdpSearchResponse, error) { +func (*UnimplementedAdminServiceServer) SearchIdps(ctx context.Context, req *IdpSearchRequest) (*IdpSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchIdps not implemented") } -func (*UnimplementedAdminServiceServer) GetDefaultLoginPolicy(context.Context, *empty.Empty) (*DefaultLoginPolicyView, error) { +func (*UnimplementedAdminServiceServer) GetDefaultLoginPolicy(ctx context.Context, req *empty.Empty) (*DefaultLoginPolicyView, error) { return nil, status.Errorf(codes.Unimplemented, "method GetDefaultLoginPolicy not implemented") } -func (*UnimplementedAdminServiceServer) UpdateDefaultLoginPolicy(context.Context, *DefaultLoginPolicy) (*DefaultLoginPolicy, error) { +func (*UnimplementedAdminServiceServer) UpdateDefaultLoginPolicy(ctx context.Context, req *DefaultLoginPolicy) (*DefaultLoginPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateDefaultLoginPolicy not implemented") } -func (*UnimplementedAdminServiceServer) GetDefaultLoginPolicyIdpProviders(context.Context, *IdpProviderSearchRequest) (*IdpProviderSearchResponse, error) { +func (*UnimplementedAdminServiceServer) GetDefaultLoginPolicyIdpProviders(ctx context.Context, req *IdpProviderSearchRequest) (*IdpProviderSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetDefaultLoginPolicyIdpProviders not implemented") } -func (*UnimplementedAdminServiceServer) AddIdpProviderToDefaultLoginPolicy(context.Context, *IdpProviderID) (*IdpProviderID, error) { +func (*UnimplementedAdminServiceServer) AddIdpProviderToDefaultLoginPolicy(ctx context.Context, req *IdpProviderID) (*IdpProviderID, error) { return nil, status.Errorf(codes.Unimplemented, "method AddIdpProviderToDefaultLoginPolicy not implemented") } -func (*UnimplementedAdminServiceServer) RemoveIdpProviderFromDefaultLoginPolicy(context.Context, *IdpProviderID) (*empty.Empty, error) { +func (*UnimplementedAdminServiceServer) RemoveIdpProviderFromDefaultLoginPolicy(ctx context.Context, req *IdpProviderID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveIdpProviderFromDefaultLoginPolicy not implemented") } diff --git a/pkg/grpc/admin/admin.pb.gw.go b/pkg/grpc/admin/admin.pb.gw.go index 48ded0b111..cb5531804c 100644 --- a/pkg/grpc/admin/admin.pb.gw.go +++ b/pkg/grpc/admin/admin.pb.gw.go @@ -13,6 +13,7 @@ import ( "io" "net/http" + "github.com/golang/protobuf/descriptor" "github.com/golang/protobuf/proto" "github.com/golang/protobuf/ptypes/empty" "github.com/grpc-ecosystem/grpc-gateway/runtime" @@ -23,11 +24,13 @@ import ( "google.golang.org/grpc/status" ) +// Suppress "imported and not used" errors var _ codes.Code var _ io.Reader var _ status.Status var _ = runtime.String var _ = utilities.NewDoubleArray +var _ = descriptor.ForMessage func request_AdminService_Healthz_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty @@ -38,6 +41,15 @@ func request_AdminService_Healthz_0(ctx context.Context, marshaler runtime.Marsh } +func local_request_AdminService_Healthz_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.Healthz(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_Ready_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -47,6 +59,15 @@ func request_AdminService_Ready_0(ctx context.Context, marshaler runtime.Marshal } +func local_request_AdminService_Ready_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.Ready(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_Validate_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -56,6 +77,15 @@ func request_AdminService_Validate_0(ctx context.Context, marshaler runtime.Mars } +func local_request_AdminService_Validate_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.Validate(ctx, &protoReq) + return msg, metadata, err + +} + var ( filter_AdminService_IsOrgUnique_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) @@ -64,7 +94,10 @@ func request_AdminService_IsOrgUnique_0(ctx context.Context, marshaler runtime.M var protoReq UniqueOrgRequest var metadata runtime.ServerMetadata - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_AdminService_IsOrgUnique_0); err != nil { + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_IsOrgUnique_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -73,6 +106,19 @@ func request_AdminService_IsOrgUnique_0(ctx context.Context, marshaler runtime.M } +func local_request_AdminService_IsOrgUnique_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UniqueOrgRequest + var metadata runtime.ServerMetadata + + if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_AdminService_IsOrgUnique_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.IsOrgUnique(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_GetOrgByID_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OrgID var metadata runtime.ServerMetadata @@ -100,6 +146,33 @@ func request_AdminService_GetOrgByID_0(ctx context.Context, marshaler runtime.Ma } +func local_request_AdminService_GetOrgByID_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrgID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.GetOrgByID(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_SearchOrgs_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OrgSearchRequest var metadata runtime.ServerMetadata @@ -117,6 +190,23 @@ func request_AdminService_SearchOrgs_0(ctx context.Context, marshaler runtime.Ma } +func local_request_AdminService_SearchOrgs_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrgSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SearchOrgs(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_SetUpOrg_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OrgSetUpRequest var metadata runtime.ServerMetadata @@ -134,6 +224,23 @@ func request_AdminService_SetUpOrg_0(ctx context.Context, marshaler runtime.Mars } +func local_request_AdminService_SetUpOrg_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrgSetUpRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SetUpOrg(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_GetOrgIamPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OrgIamPolicyID var metadata runtime.ServerMetadata @@ -161,6 +268,33 @@ func request_AdminService_GetOrgIamPolicy_0(ctx context.Context, marshaler runti } +func local_request_AdminService_GetOrgIamPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrgIamPolicyID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["org_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org_id") + } + + protoReq.OrgId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org_id", err) + } + + msg, err := server.GetOrgIamPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_CreateOrgIamPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OrgIamPolicyRequest var metadata runtime.ServerMetadata @@ -196,6 +330,41 @@ func request_AdminService_CreateOrgIamPolicy_0(ctx context.Context, marshaler ru } +func local_request_AdminService_CreateOrgIamPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrgIamPolicyRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["org_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org_id") + } + + protoReq.OrgId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org_id", err) + } + + msg, err := server.CreateOrgIamPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_UpdateOrgIamPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OrgIamPolicyRequest var metadata runtime.ServerMetadata @@ -231,6 +400,41 @@ func request_AdminService_UpdateOrgIamPolicy_0(ctx context.Context, marshaler ru } +func local_request_AdminService_UpdateOrgIamPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrgIamPolicyRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["org_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org_id") + } + + protoReq.OrgId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org_id", err) + } + + msg, err := server.UpdateOrgIamPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_DeleteOrgIamPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OrgIamPolicyID var metadata runtime.ServerMetadata @@ -258,6 +462,33 @@ func request_AdminService_DeleteOrgIamPolicy_0(ctx context.Context, marshaler ru } +func local_request_AdminService_DeleteOrgIamPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrgIamPolicyID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["org_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org_id") + } + + protoReq.OrgId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org_id", err) + } + + msg, err := server.DeleteOrgIamPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_GetIamMemberRoles_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -267,6 +498,15 @@ func request_AdminService_GetIamMemberRoles_0(ctx context.Context, marshaler run } +func local_request_AdminService_GetIamMemberRoles_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetIamMemberRoles(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_AddIamMember_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq AddIamMemberRequest var metadata runtime.ServerMetadata @@ -284,6 +524,23 @@ func request_AdminService_AddIamMember_0(ctx context.Context, marshaler runtime. } +func local_request_AdminService_AddIamMember_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AddIamMemberRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.AddIamMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_ChangeIamMember_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ChangeIamMemberRequest var metadata runtime.ServerMetadata @@ -319,6 +576,41 @@ func request_AdminService_ChangeIamMember_0(ctx context.Context, marshaler runti } +func local_request_AdminService_ChangeIamMember_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ChangeIamMemberRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.ChangeIamMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_RemoveIamMember_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq RemoveIamMemberRequest var metadata runtime.ServerMetadata @@ -346,6 +638,33 @@ func request_AdminService_RemoveIamMember_0(ctx context.Context, marshaler runti } +func local_request_AdminService_RemoveIamMember_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RemoveIamMemberRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.RemoveIamMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_SearchIamMembers_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IamMemberSearchRequest var metadata runtime.ServerMetadata @@ -363,6 +682,23 @@ func request_AdminService_SearchIamMembers_0(ctx context.Context, marshaler runt } +func local_request_AdminService_SearchIamMembers_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IamMemberSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SearchIamMembers(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_GetViews_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -372,6 +708,15 @@ func request_AdminService_GetViews_0(ctx context.Context, marshaler runtime.Mars } +func local_request_AdminService_GetViews_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetViews(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_ClearView_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ViewID var metadata runtime.ServerMetadata @@ -410,6 +755,44 @@ func request_AdminService_ClearView_0(ctx context.Context, marshaler runtime.Mar } +func local_request_AdminService_ClearView_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ViewID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["database"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "database") + } + + protoReq.Database, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "database", err) + } + + val, ok = pathParams["view_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "view_name") + } + + protoReq.ViewName, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "view_name", err) + } + + msg, err := server.ClearView(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_GetFailedEvents_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -419,6 +802,15 @@ func request_AdminService_GetFailedEvents_0(ctx context.Context, marshaler runti } +func local_request_AdminService_GetFailedEvents_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetFailedEvents(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_RemoveFailedEvent_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq FailedEventID var metadata runtime.ServerMetadata @@ -468,6 +860,55 @@ func request_AdminService_RemoveFailedEvent_0(ctx context.Context, marshaler run } +func local_request_AdminService_RemoveFailedEvent_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq FailedEventID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["database"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "database") + } + + protoReq.Database, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "database", err) + } + + val, ok = pathParams["view_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "view_name") + } + + protoReq.ViewName, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "view_name", err) + } + + val, ok = pathParams["failed_sequence"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "failed_sequence") + } + + protoReq.FailedSequence, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "failed_sequence", err) + } + + msg, err := server.RemoveFailedEvent(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_IdpByID_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IdpID var metadata runtime.ServerMetadata @@ -495,6 +936,33 @@ func request_AdminService_IdpByID_0(ctx context.Context, marshaler runtime.Marsh } +func local_request_AdminService_IdpByID_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IdpID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.IdpByID(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_CreateOidcIdp_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OidcIdpConfigCreate var metadata runtime.ServerMetadata @@ -512,6 +980,23 @@ func request_AdminService_CreateOidcIdp_0(ctx context.Context, marshaler runtime } +func local_request_AdminService_CreateOidcIdp_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OidcIdpConfigCreate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateOidcIdp(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_UpdateIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IdpUpdate var metadata runtime.ServerMetadata @@ -547,6 +1032,41 @@ func request_AdminService_UpdateIdpConfig_0(ctx context.Context, marshaler runti } +func local_request_AdminService_UpdateIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IdpUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdateIdpConfig(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_DeactivateIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IdpID var metadata runtime.ServerMetadata @@ -582,6 +1102,41 @@ func request_AdminService_DeactivateIdpConfig_0(ctx context.Context, marshaler r } +func local_request_AdminService_DeactivateIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IdpID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeactivateIdpConfig(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_ReactivateIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IdpID var metadata runtime.ServerMetadata @@ -617,6 +1172,41 @@ func request_AdminService_ReactivateIdpConfig_0(ctx context.Context, marshaler r } +func local_request_AdminService_ReactivateIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IdpID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ReactivateIdpConfig(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_RemoveIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IdpID var metadata runtime.ServerMetadata @@ -644,6 +1234,33 @@ func request_AdminService_RemoveIdpConfig_0(ctx context.Context, marshaler runti } +func local_request_AdminService_RemoveIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IdpID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.RemoveIdpConfig(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_UpdateOidcIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OidcIdpConfigUpdate var metadata runtime.ServerMetadata @@ -679,6 +1296,41 @@ func request_AdminService_UpdateOidcIdpConfig_0(ctx context.Context, marshaler r } +func local_request_AdminService_UpdateOidcIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OidcIdpConfigUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["idp_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "idp_id") + } + + protoReq.IdpId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "idp_id", err) + } + + msg, err := server.UpdateOidcIdpConfig(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_SearchIdps_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IdpSearchRequest var metadata runtime.ServerMetadata @@ -696,6 +1348,23 @@ func request_AdminService_SearchIdps_0(ctx context.Context, marshaler runtime.Ma } +func local_request_AdminService_SearchIdps_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IdpSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SearchIdps(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_GetDefaultLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -705,6 +1374,15 @@ func request_AdminService_GetDefaultLoginPolicy_0(ctx context.Context, marshaler } +func local_request_AdminService_GetDefaultLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetDefaultLoginPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_UpdateDefaultLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq DefaultLoginPolicy var metadata runtime.ServerMetadata @@ -722,6 +1400,23 @@ func request_AdminService_UpdateDefaultLoginPolicy_0(ctx context.Context, marsha } +func local_request_AdminService_UpdateDefaultLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DefaultLoginPolicy + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateDefaultLoginPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_GetDefaultLoginPolicyIdpProviders_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IdpProviderSearchRequest var metadata runtime.ServerMetadata @@ -739,6 +1434,23 @@ func request_AdminService_GetDefaultLoginPolicyIdpProviders_0(ctx context.Contex } +func local_request_AdminService_GetDefaultLoginPolicyIdpProviders_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IdpProviderSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetDefaultLoginPolicyIdpProviders(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_AddIdpProviderToDefaultLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IdpProviderID var metadata runtime.ServerMetadata @@ -756,6 +1468,23 @@ func request_AdminService_AddIdpProviderToDefaultLoginPolicy_0(ctx context.Conte } +func local_request_AdminService_AddIdpProviderToDefaultLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IdpProviderID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.AddIdpProviderToDefaultLoginPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_RemoveIdpProviderFromDefaultLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IdpProviderID var metadata runtime.ServerMetadata @@ -791,6 +1520,709 @@ func request_AdminService_RemoveIdpProviderFromDefaultLoginPolicy_0(ctx context. } +func local_request_AdminService_RemoveIdpProviderFromDefaultLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IdpProviderID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["idp_config_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "idp_config_id") + } + + protoReq.IdpConfigId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "idp_config_id", err) + } + + msg, err := server.RemoveIdpProviderFromDefaultLoginPolicy(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterAdminServiceHandlerServer registers the http handlers for service AdminService to "mux". +// UnaryRPC :call AdminServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +func RegisterAdminServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server AdminServiceServer) error { + + mux.Handle("GET", pattern_AdminService_Healthz_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_Healthz_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_Healthz_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_Ready_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_Ready_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_Ready_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_Validate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_Validate_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_Validate_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_IsOrgUnique_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_IsOrgUnique_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_IsOrgUnique_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_GetOrgByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_GetOrgByID_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_GetOrgByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AdminService_SearchOrgs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_SearchOrgs_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_SearchOrgs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AdminService_SetUpOrg_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_SetUpOrg_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_SetUpOrg_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_GetOrgIamPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_GetOrgIamPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_GetOrgIamPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AdminService_CreateOrgIamPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_CreateOrgIamPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_CreateOrgIamPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_AdminService_UpdateOrgIamPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_UpdateOrgIamPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_UpdateOrgIamPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_AdminService_DeleteOrgIamPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_DeleteOrgIamPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_DeleteOrgIamPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_GetIamMemberRoles_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_GetIamMemberRoles_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_GetIamMemberRoles_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AdminService_AddIamMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_AddIamMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_AddIamMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_AdminService_ChangeIamMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_ChangeIamMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ChangeIamMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_AdminService_RemoveIamMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_RemoveIamMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_RemoveIamMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AdminService_SearchIamMembers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_SearchIamMembers_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_SearchIamMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_GetViews_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_GetViews_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_GetViews_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AdminService_ClearView_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_ClearView_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ClearView_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_GetFailedEvents_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_GetFailedEvents_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_GetFailedEvents_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_AdminService_RemoveFailedEvent_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_RemoveFailedEvent_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_RemoveFailedEvent_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_IdpByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_IdpByID_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_IdpByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AdminService_CreateOidcIdp_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_CreateOidcIdp_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_CreateOidcIdp_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_AdminService_UpdateIdpConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_UpdateIdpConfig_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_UpdateIdpConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_AdminService_DeactivateIdpConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_DeactivateIdpConfig_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_DeactivateIdpConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_AdminService_ReactivateIdpConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_ReactivateIdpConfig_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ReactivateIdpConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_AdminService_RemoveIdpConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_RemoveIdpConfig_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_RemoveIdpConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_AdminService_UpdateOidcIdpConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_UpdateOidcIdpConfig_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_UpdateOidcIdpConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AdminService_SearchIdps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_SearchIdps_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_SearchIdps_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_GetDefaultLoginPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_GetDefaultLoginPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_GetDefaultLoginPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_AdminService_UpdateDefaultLoginPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_UpdateDefaultLoginPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_UpdateDefaultLoginPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AdminService_GetDefaultLoginPolicyIdpProviders_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_GetDefaultLoginPolicyIdpProviders_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_GetDefaultLoginPolicyIdpProviders_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AdminService_AddIdpProviderToDefaultLoginPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_AddIdpProviderToDefaultLoginPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_AddIdpProviderToDefaultLoginPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AdminService_RemoveIdpProviderFromDefaultLoginPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_RemoveIdpProviderFromDefaultLoginPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_RemoveIdpProviderFromDefaultLoginPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + // RegisterAdminServiceHandlerFromEndpoint is same as RegisterAdminServiceHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterAdminServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { @@ -1493,71 +2925,71 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu } var ( - pattern_AdminService_Healthz_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"healthz"}, "")) + pattern_AdminService_Healthz_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"healthz"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_Ready_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"ready"}, "")) + pattern_AdminService_Ready_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"ready"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_Validate_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"validate"}, "")) + pattern_AdminService_Validate_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"validate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_IsOrgUnique_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"orgs", "_isunique"}, "")) + pattern_AdminService_IsOrgUnique_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"orgs", "_isunique"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_GetOrgByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"orgs", "id"}, "")) + pattern_AdminService_GetOrgByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"orgs", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_SearchOrgs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"orgs", "_search"}, "")) + pattern_AdminService_SearchOrgs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"orgs", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_SetUpOrg_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"orgs", "_setup"}, "")) + pattern_AdminService_SetUpOrg_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"orgs", "_setup"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_GetOrgIamPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"orgs", "org_id", "iampolicy"}, "")) + pattern_AdminService_GetOrgIamPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"orgs", "org_id", "iampolicy"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_CreateOrgIamPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"orgs", "org_id", "iampolicy"}, "")) + pattern_AdminService_CreateOrgIamPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"orgs", "org_id", "iampolicy"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_UpdateOrgIamPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"orgs", "org_id", "iampolicy"}, "")) + pattern_AdminService_UpdateOrgIamPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"orgs", "org_id", "iampolicy"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_DeleteOrgIamPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"orgs", "org_id", "iampolicy"}, "")) + pattern_AdminService_DeleteOrgIamPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"orgs", "org_id", "iampolicy"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_GetIamMemberRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"members", "roles"}, "")) + pattern_AdminService_GetIamMemberRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"members", "roles"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_AddIamMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"members"}, "")) + pattern_AdminService_AddIamMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"members"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_ChangeIamMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"members", "user_id"}, "")) + pattern_AdminService_ChangeIamMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"members", "user_id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_RemoveIamMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"members", "user_id"}, "")) + pattern_AdminService_RemoveIamMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"members", "user_id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_SearchIamMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"members", "_search"}, "")) + pattern_AdminService_SearchIamMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"members", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_GetViews_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"views"}, "")) + pattern_AdminService_GetViews_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"views"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_ClearView_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 1, 0, 4, 1, 5, 2}, []string{"views", "database", "view_name"}, "")) + pattern_AdminService_ClearView_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 1, 0, 4, 1, 5, 2}, []string{"views", "database", "view_name"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_GetFailedEvents_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"failedevents"}, "")) + pattern_AdminService_GetFailedEvents_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"failedevents"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_RemoveFailedEvent_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 1, 0, 4, 1, 5, 2, 1, 0, 4, 1, 5, 3}, []string{"failedevents", "database", "view_name", "failed_sequence"}, "")) + pattern_AdminService_RemoveFailedEvent_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 1, 0, 4, 1, 5, 2, 1, 0, 4, 1, 5, 3}, []string{"failedevents", "database", "view_name", "failed_sequence"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_IdpByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"idps", "id"}, "")) + pattern_AdminService_IdpByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"idps", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_CreateOidcIdp_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"idps", "oidc"}, "")) + pattern_AdminService_CreateOidcIdp_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"idps", "oidc"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_UpdateIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"idps", "id"}, "")) + pattern_AdminService_UpdateIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"idps", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_DeactivateIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"idps", "id", "_deactivate"}, "")) + pattern_AdminService_DeactivateIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"idps", "id", "_deactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_ReactivateIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"idps", "id", "_reactivate"}, "")) + pattern_AdminService_ReactivateIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"idps", "id", "_reactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_RemoveIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"idps", "id"}, "")) + pattern_AdminService_RemoveIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"idps", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_UpdateOidcIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"idps", "idp_id", "oidcconfig"}, "")) + pattern_AdminService_UpdateOidcIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"idps", "idp_id", "oidcconfig"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_SearchIdps_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"idps", "_search"}, "")) + pattern_AdminService_SearchIdps_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"idps", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_GetDefaultLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"policies", "login"}, "")) + pattern_AdminService_GetDefaultLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"policies", "login"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_UpdateDefaultLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"policies", "login"}, "")) + pattern_AdminService_UpdateDefaultLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"policies", "login"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_GetDefaultLoginPolicyIdpProviders_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"policies", "login", "idpproviders", "_search"}, "")) + pattern_AdminService_GetDefaultLoginPolicyIdpProviders_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"policies", "login", "idpproviders", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_AddIdpProviderToDefaultLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "login", "idpproviders"}, "")) + pattern_AdminService_AddIdpProviderToDefaultLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "login", "idpproviders"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AdminService_RemoveIdpProviderFromDefaultLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"policies", "login", "idpproviders", "idp_config_id"}, "")) + pattern_AdminService_RemoveIdpProviderFromDefaultLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"policies", "login", "idpproviders", "idp_config_id"}, "", runtime.AssumeColonVerbOpt(true))) ) var ( diff --git a/pkg/grpc/admin/admin.pb.validate.go b/pkg/grpc/admin/admin.pb.validate.go new file mode 100644 index 0000000000..a3b9940a67 --- /dev/null +++ b/pkg/grpc/admin/admin.pb.validate.go @@ -0,0 +1,4567 @@ +// Code generated by protoc-gen-validate. DO NOT EDIT. +// source: admin.proto + +package admin + +import ( + "bytes" + "errors" + "fmt" + "net" + "net/mail" + "net/url" + "regexp" + "strings" + "time" + "unicode/utf8" + + "github.com/golang/protobuf/ptypes" +) + +// ensure the imports are used +var ( + _ = bytes.MinRead + _ = errors.New("") + _ = fmt.Print + _ = utf8.UTFMax + _ = (*regexp.Regexp)(nil) + _ = (*strings.Reader)(nil) + _ = net.IPv4len + _ = time.Duration(0) + _ = (*url.URL)(nil) + _ = (*mail.Address)(nil) + _ = ptypes.DynamicAny{} +) + +// define the regex for a UUID once up-front +var _admin_uuidPattern = regexp.MustCompile("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$") + +// Validate checks the field values on OrgID with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *OrgID) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return OrgIDValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// OrgIDValidationError is the validation error returned by OrgID.Validate if +// the designated constraints aren't met. +type OrgIDValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgIDValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgIDValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgIDValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgIDValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgIDValidationError) ErrorName() string { return "OrgIDValidationError" } + +// Error satisfies the builtin error interface +func (e OrgIDValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgID.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgIDValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgIDValidationError{} + +// Validate checks the field values on UniqueOrgRequest with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *UniqueOrgRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetName()) < 1 { + return UniqueOrgRequestValidationError{ + field: "Name", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetDomain()) < 1 { + return UniqueOrgRequestValidationError{ + field: "Domain", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// UniqueOrgRequestValidationError is the validation error returned by +// UniqueOrgRequest.Validate if the designated constraints aren't met. +type UniqueOrgRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UniqueOrgRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UniqueOrgRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UniqueOrgRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UniqueOrgRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UniqueOrgRequestValidationError) ErrorName() string { return "UniqueOrgRequestValidationError" } + +// Error satisfies the builtin error interface +func (e UniqueOrgRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUniqueOrgRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UniqueOrgRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UniqueOrgRequestValidationError{} + +// Validate checks the field values on UniqueOrgResponse with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *UniqueOrgResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for IsUnique + + return nil +} + +// UniqueOrgResponseValidationError is the validation error returned by +// UniqueOrgResponse.Validate if the designated constraints aren't met. +type UniqueOrgResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UniqueOrgResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UniqueOrgResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UniqueOrgResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UniqueOrgResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UniqueOrgResponseValidationError) ErrorName() string { + return "UniqueOrgResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e UniqueOrgResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUniqueOrgResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UniqueOrgResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UniqueOrgResponseValidationError{} + +// Validate checks the field values on Org with the rules defined in the proto +// definition for this message. If any rules are violated, an error is returned. +func (m *Org) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Name + + // no validation rules for Domain + + return nil +} + +// OrgValidationError is the validation error returned by Org.Validate if the +// designated constraints aren't met. +type OrgValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgValidationError) ErrorName() string { return "OrgValidationError" } + +// Error satisfies the builtin error interface +func (e OrgValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrg.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgValidationError{} + +// Validate checks the field values on OrgSearchRequest with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *OrgSearchRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + if _, ok := _OrgSearchRequest_SortingColumn_NotInLookup[m.GetSortingColumn()]; ok { + return OrgSearchRequestValidationError{ + field: "SortingColumn", + reason: "value must not be in list [0]", + } + } + + // no validation rules for Asc + + for idx, item := range m.GetQueries() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgSearchRequestValidationError{ + field: fmt.Sprintf("Queries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// OrgSearchRequestValidationError is the validation error returned by +// OrgSearchRequest.Validate if the designated constraints aren't met. +type OrgSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgSearchRequestValidationError) ErrorName() string { return "OrgSearchRequestValidationError" } + +// Error satisfies the builtin error interface +func (e OrgSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgSearchRequestValidationError{} + +var _OrgSearchRequest_SortingColumn_NotInLookup = map[OrgSearchKey]struct{}{ + 0: {}, +} + +// Validate checks the field values on OrgSearchQuery with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *OrgSearchQuery) Validate() error { + if m == nil { + return nil + } + + if _, ok := _OrgSearchQuery_Key_NotInLookup[m.GetKey()]; ok { + return OrgSearchQueryValidationError{ + field: "Key", + reason: "value must not be in list [0]", + } + } + + // no validation rules for Method + + // no validation rules for Value + + return nil +} + +// OrgSearchQueryValidationError is the validation error returned by +// OrgSearchQuery.Validate if the designated constraints aren't met. +type OrgSearchQueryValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgSearchQueryValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgSearchQueryValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgSearchQueryValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgSearchQueryValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgSearchQueryValidationError) ErrorName() string { return "OrgSearchQueryValidationError" } + +// Error satisfies the builtin error interface +func (e OrgSearchQueryValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgSearchQuery.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgSearchQueryValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgSearchQueryValidationError{} + +var _OrgSearchQuery_Key_NotInLookup = map[OrgSearchKey]struct{}{ + 0: {}, +} + +// Validate checks the field values on OrgSearchResponse with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *OrgSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgSearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// OrgSearchResponseValidationError is the validation error returned by +// OrgSearchResponse.Validate if the designated constraints aren't met. +type OrgSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgSearchResponseValidationError) ErrorName() string { + return "OrgSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e OrgSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgSearchResponseValidationError{} + +// Validate checks the field values on OrgSetUpRequest with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *OrgSetUpRequest) Validate() error { + if m == nil { + return nil + } + + if m.GetOrg() == nil { + return OrgSetUpRequestValidationError{ + field: "Org", + reason: "value is required", + } + } + + if v, ok := interface{}(m.GetOrg()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgSetUpRequestValidationError{ + field: "Org", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if m.GetUser() == nil { + return OrgSetUpRequestValidationError{ + field: "User", + reason: "value is required", + } + } + + if v, ok := interface{}(m.GetUser()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgSetUpRequestValidationError{ + field: "User", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// OrgSetUpRequestValidationError is the validation error returned by +// OrgSetUpRequest.Validate if the designated constraints aren't met. +type OrgSetUpRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgSetUpRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgSetUpRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgSetUpRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgSetUpRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgSetUpRequestValidationError) ErrorName() string { return "OrgSetUpRequestValidationError" } + +// Error satisfies the builtin error interface +func (e OrgSetUpRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgSetUpRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgSetUpRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgSetUpRequestValidationError{} + +// Validate checks the field values on OrgSetUpResponse with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *OrgSetUpResponse) Validate() error { + if m == nil { + return nil + } + + if v, ok := interface{}(m.GetOrg()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgSetUpResponseValidationError{ + field: "Org", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetUser()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgSetUpResponseValidationError{ + field: "User", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// OrgSetUpResponseValidationError is the validation error returned by +// OrgSetUpResponse.Validate if the designated constraints aren't met. +type OrgSetUpResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgSetUpResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgSetUpResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgSetUpResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgSetUpResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgSetUpResponseValidationError) ErrorName() string { return "OrgSetUpResponseValidationError" } + +// Error satisfies the builtin error interface +func (e OrgSetUpResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgSetUpResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgSetUpResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgSetUpResponseValidationError{} + +// Validate checks the field values on CreateUserRequest with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *CreateUserRequest) Validate() error { + if m == nil { + return nil + } + + if !_CreateUserRequest_UserName_Pattern.MatchString(m.GetUserName()) { + return CreateUserRequestValidationError{ + field: "UserName", + reason: "value does not match regex pattern \"^[^[:space:]]{1,200}$\"", + } + } + + switch m.User.(type) { + + case *CreateUserRequest_Human: + + if v, ok := interface{}(m.GetHuman()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return CreateUserRequestValidationError{ + field: "Human", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *CreateUserRequest_Machine: + + if v, ok := interface{}(m.GetMachine()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return CreateUserRequestValidationError{ + field: "Machine", + reason: "embedded message failed validation", + cause: err, + } + } + } + + default: + return CreateUserRequestValidationError{ + field: "User", + reason: "value is required", + } + + } + + return nil +} + +// CreateUserRequestValidationError is the validation error returned by +// CreateUserRequest.Validate if the designated constraints aren't met. +type CreateUserRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e CreateUserRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e CreateUserRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e CreateUserRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e CreateUserRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e CreateUserRequestValidationError) ErrorName() string { + return "CreateUserRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e CreateUserRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sCreateUserRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = CreateUserRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = CreateUserRequestValidationError{} + +var _CreateUserRequest_UserName_Pattern = regexp.MustCompile("^[^[:space:]]{1,200}$") + +// Validate checks the field values on CreateHumanRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *CreateHumanRequest) Validate() error { + if m == nil { + return nil + } + + if l := utf8.RuneCountInString(m.GetFirstName()); l < 1 || l > 200 { + return CreateHumanRequestValidationError{ + field: "FirstName", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + if l := utf8.RuneCountInString(m.GetLastName()); l < 1 || l > 200 { + return CreateHumanRequestValidationError{ + field: "LastName", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + if utf8.RuneCountInString(m.GetNickName()) > 200 { + return CreateHumanRequestValidationError{ + field: "NickName", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetPreferredLanguage()) > 200 { + return CreateHumanRequestValidationError{ + field: "PreferredLanguage", + reason: "value length must be at most 200 runes", + } + } + + // no validation rules for Gender + + if l := utf8.RuneCountInString(m.GetEmail()); l < 1 || l > 200 { + return CreateHumanRequestValidationError{ + field: "Email", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + if err := m._validateEmail(m.GetEmail()); err != nil { + return CreateHumanRequestValidationError{ + field: "Email", + reason: "value must be a valid email address", + cause: err, + } + } + + // no validation rules for IsEmailVerified + + if utf8.RuneCountInString(m.GetPhone()) > 20 { + return CreateHumanRequestValidationError{ + field: "Phone", + reason: "value length must be at most 20 runes", + } + } + + // no validation rules for IsPhoneVerified + + if utf8.RuneCountInString(m.GetCountry()) > 200 { + return CreateHumanRequestValidationError{ + field: "Country", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetLocality()) > 200 { + return CreateHumanRequestValidationError{ + field: "Locality", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetPostalCode()) > 200 { + return CreateHumanRequestValidationError{ + field: "PostalCode", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetRegion()) > 200 { + return CreateHumanRequestValidationError{ + field: "Region", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetStreetAddress()) > 200 { + return CreateHumanRequestValidationError{ + field: "StreetAddress", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetPassword()) > 72 { + return CreateHumanRequestValidationError{ + field: "Password", + reason: "value length must be at most 72 runes", + } + } + + return nil +} + +func (m *CreateHumanRequest) _validateHostname(host string) error { + s := strings.ToLower(strings.TrimSuffix(host, ".")) + + if len(host) > 253 { + return errors.New("hostname cannot exceed 253 characters") + } + + for _, part := range strings.Split(s, ".") { + if l := len(part); l == 0 || l > 63 { + return errors.New("hostname part must be non-empty and cannot exceed 63 characters") + } + + if part[0] == '-' { + return errors.New("hostname parts cannot begin with hyphens") + } + + if part[len(part)-1] == '-' { + return errors.New("hostname parts cannot end with hyphens") + } + + for _, r := range part { + if (r < 'a' || r > 'z') && (r < '0' || r > '9') && r != '-' { + return fmt.Errorf("hostname parts can only contain alphanumeric characters or hyphens, got %q", string(r)) + } + } + } + + return nil +} + +func (m *CreateHumanRequest) _validateEmail(addr string) error { + a, err := mail.ParseAddress(addr) + if err != nil { + return err + } + addr = a.Address + + if len(addr) > 254 { + return errors.New("email addresses cannot exceed 254 characters") + } + + parts := strings.SplitN(addr, "@", 2) + + if len(parts[0]) > 64 { + return errors.New("email address local phrase cannot exceed 64 characters") + } + + return m._validateHostname(parts[1]) +} + +// CreateHumanRequestValidationError is the validation error returned by +// CreateHumanRequest.Validate if the designated constraints aren't met. +type CreateHumanRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e CreateHumanRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e CreateHumanRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e CreateHumanRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e CreateHumanRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e CreateHumanRequestValidationError) ErrorName() string { + return "CreateHumanRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e CreateHumanRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sCreateHumanRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = CreateHumanRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = CreateHumanRequestValidationError{} + +// Validate checks the field values on CreateMachineRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *CreateMachineRequest) Validate() error { + if m == nil { + return nil + } + + if l := utf8.RuneCountInString(m.GetName()); l < 1 || l > 200 { + return CreateMachineRequestValidationError{ + field: "Name", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + if l := utf8.RuneCountInString(m.GetDescription()); l < 1 || l > 500 { + return CreateMachineRequestValidationError{ + field: "Description", + reason: "value length must be between 1 and 500 runes, inclusive", + } + } + + return nil +} + +// CreateMachineRequestValidationError is the validation error returned by +// CreateMachineRequest.Validate if the designated constraints aren't met. +type CreateMachineRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e CreateMachineRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e CreateMachineRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e CreateMachineRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e CreateMachineRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e CreateMachineRequestValidationError) ErrorName() string { + return "CreateMachineRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e CreateMachineRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sCreateMachineRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = CreateMachineRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = CreateMachineRequestValidationError{} + +// Validate checks the field values on UserResponse with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *UserResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserResponseValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserResponseValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + // no validation rules for UserName + + switch m.User.(type) { + + case *UserResponse_Human: + + if v, ok := interface{}(m.GetHuman()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserResponseValidationError{ + field: "Human", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *UserResponse_Machine: + + if v, ok := interface{}(m.GetMachine()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserResponseValidationError{ + field: "Machine", + reason: "embedded message failed validation", + cause: err, + } + } + } + + default: + return UserResponseValidationError{ + field: "User", + reason: "value is required", + } + + } + + return nil +} + +// UserResponseValidationError is the validation error returned by +// UserResponse.Validate if the designated constraints aren't met. +type UserResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserResponseValidationError) ErrorName() string { return "UserResponseValidationError" } + +// Error satisfies the builtin error interface +func (e UserResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserResponseValidationError{} + +// Validate checks the field values on HumanResponse with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *HumanResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for FirstName + + // no validation rules for LastName + + // no validation rules for DisplayName + + // no validation rules for NickName + + // no validation rules for PreferredLanguage + + // no validation rules for Gender + + // no validation rules for Email + + // no validation rules for IsEmailVerified + + // no validation rules for Phone + + // no validation rules for IsPhoneVerified + + // no validation rules for Country + + // no validation rules for Locality + + // no validation rules for PostalCode + + // no validation rules for Region + + // no validation rules for StreetAddress + + return nil +} + +// HumanResponseValidationError is the validation error returned by +// HumanResponse.Validate if the designated constraints aren't met. +type HumanResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e HumanResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e HumanResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e HumanResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e HumanResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e HumanResponseValidationError) ErrorName() string { return "HumanResponseValidationError" } + +// Error satisfies the builtin error interface +func (e HumanResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sHumanResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = HumanResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = HumanResponseValidationError{} + +// Validate checks the field values on MachineResponse with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *MachineResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Name + + // no validation rules for Description + + for idx, item := range m.GetKeys() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MachineResponseValidationError{ + field: fmt.Sprintf("Keys[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// MachineResponseValidationError is the validation error returned by +// MachineResponse.Validate if the designated constraints aren't met. +type MachineResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MachineResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MachineResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MachineResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MachineResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MachineResponseValidationError) ErrorName() string { return "MachineResponseValidationError" } + +// Error satisfies the builtin error interface +func (e MachineResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMachineResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MachineResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MachineResponseValidationError{} + +// Validate checks the field values on MachineKeyResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *MachineKeyResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Type + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MachineKeyResponseValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetExpirationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MachineKeyResponseValidationError{ + field: "ExpirationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// MachineKeyResponseValidationError is the validation error returned by +// MachineKeyResponse.Validate if the designated constraints aren't met. +type MachineKeyResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MachineKeyResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MachineKeyResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MachineKeyResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MachineKeyResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MachineKeyResponseValidationError) ErrorName() string { + return "MachineKeyResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e MachineKeyResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMachineKeyResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MachineKeyResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MachineKeyResponseValidationError{} + +// Validate checks the field values on CreateOrgRequest with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *CreateOrgRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetName()) < 1 { + return CreateOrgRequestValidationError{ + field: "Name", + reason: "value length must be at least 1 runes", + } + } + + // no validation rules for Domain + + return nil +} + +// CreateOrgRequestValidationError is the validation error returned by +// CreateOrgRequest.Validate if the designated constraints aren't met. +type CreateOrgRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e CreateOrgRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e CreateOrgRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e CreateOrgRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e CreateOrgRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e CreateOrgRequestValidationError) ErrorName() string { return "CreateOrgRequestValidationError" } + +// Error satisfies the builtin error interface +func (e CreateOrgRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sCreateOrgRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = CreateOrgRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = CreateOrgRequestValidationError{} + +// Validate checks the field values on OrgIamPolicy with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *OrgIamPolicy) Validate() error { + if m == nil { + return nil + } + + // no validation rules for OrgId + + // no validation rules for Description + + // no validation rules for UserLoginMustBeDomain + + // no validation rules for Default + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgIamPolicyValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgIamPolicyValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// OrgIamPolicyValidationError is the validation error returned by +// OrgIamPolicy.Validate if the designated constraints aren't met. +type OrgIamPolicyValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgIamPolicyValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgIamPolicyValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgIamPolicyValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgIamPolicyValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgIamPolicyValidationError) ErrorName() string { return "OrgIamPolicyValidationError" } + +// Error satisfies the builtin error interface +func (e OrgIamPolicyValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgIamPolicy.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgIamPolicyValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgIamPolicyValidationError{} + +// Validate checks the field values on OrgIamPolicyRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *OrgIamPolicyRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetOrgId()) < 1 { + return OrgIamPolicyRequestValidationError{ + field: "OrgId", + reason: "value length must be at least 1 runes", + } + } + + // no validation rules for Description + + // no validation rules for UserLoginMustBeDomain + + return nil +} + +// OrgIamPolicyRequestValidationError is the validation error returned by +// OrgIamPolicyRequest.Validate if the designated constraints aren't met. +type OrgIamPolicyRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgIamPolicyRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgIamPolicyRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgIamPolicyRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgIamPolicyRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgIamPolicyRequestValidationError) ErrorName() string { + return "OrgIamPolicyRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e OrgIamPolicyRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgIamPolicyRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgIamPolicyRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgIamPolicyRequestValidationError{} + +// Validate checks the field values on OrgIamPolicyID with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *OrgIamPolicyID) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetOrgId()) < 1 { + return OrgIamPolicyIDValidationError{ + field: "OrgId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// OrgIamPolicyIDValidationError is the validation error returned by +// OrgIamPolicyID.Validate if the designated constraints aren't met. +type OrgIamPolicyIDValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgIamPolicyIDValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgIamPolicyIDValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgIamPolicyIDValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgIamPolicyIDValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgIamPolicyIDValidationError) ErrorName() string { return "OrgIamPolicyIDValidationError" } + +// Error satisfies the builtin error interface +func (e OrgIamPolicyIDValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgIamPolicyID.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgIamPolicyIDValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgIamPolicyIDValidationError{} + +// Validate checks the field values on IamMemberRoles with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *IamMemberRoles) Validate() error { + if m == nil { + return nil + } + + return nil +} + +// IamMemberRolesValidationError is the validation error returned by +// IamMemberRoles.Validate if the designated constraints aren't met. +type IamMemberRolesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IamMemberRolesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IamMemberRolesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IamMemberRolesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IamMemberRolesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IamMemberRolesValidationError) ErrorName() string { return "IamMemberRolesValidationError" } + +// Error satisfies the builtin error interface +func (e IamMemberRolesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIamMemberRoles.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IamMemberRolesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IamMemberRolesValidationError{} + +// Validate checks the field values on IamMember with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *IamMember) Validate() error { + if m == nil { + return nil + } + + // no validation rules for UserId + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IamMemberValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IamMemberValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + return nil +} + +// IamMemberValidationError is the validation error returned by +// IamMember.Validate if the designated constraints aren't met. +type IamMemberValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IamMemberValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IamMemberValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IamMemberValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IamMemberValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IamMemberValidationError) ErrorName() string { return "IamMemberValidationError" } + +// Error satisfies the builtin error interface +func (e IamMemberValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIamMember.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IamMemberValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IamMemberValidationError{} + +// Validate checks the field values on AddIamMemberRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *AddIamMemberRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return AddIamMemberRequestValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// AddIamMemberRequestValidationError is the validation error returned by +// AddIamMemberRequest.Validate if the designated constraints aren't met. +type AddIamMemberRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e AddIamMemberRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e AddIamMemberRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e AddIamMemberRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e AddIamMemberRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e AddIamMemberRequestValidationError) ErrorName() string { + return "AddIamMemberRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e AddIamMemberRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sAddIamMemberRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = AddIamMemberRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = AddIamMemberRequestValidationError{} + +// Validate checks the field values on ChangeIamMemberRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ChangeIamMemberRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return ChangeIamMemberRequestValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// ChangeIamMemberRequestValidationError is the validation error returned by +// ChangeIamMemberRequest.Validate if the designated constraints aren't met. +type ChangeIamMemberRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ChangeIamMemberRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ChangeIamMemberRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ChangeIamMemberRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ChangeIamMemberRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ChangeIamMemberRequestValidationError) ErrorName() string { + return "ChangeIamMemberRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ChangeIamMemberRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sChangeIamMemberRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ChangeIamMemberRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ChangeIamMemberRequestValidationError{} + +// Validate checks the field values on RemoveIamMemberRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *RemoveIamMemberRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return RemoveIamMemberRequestValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// RemoveIamMemberRequestValidationError is the validation error returned by +// RemoveIamMemberRequest.Validate if the designated constraints aren't met. +type RemoveIamMemberRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e RemoveIamMemberRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e RemoveIamMemberRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e RemoveIamMemberRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e RemoveIamMemberRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e RemoveIamMemberRequestValidationError) ErrorName() string { + return "RemoveIamMemberRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e RemoveIamMemberRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sRemoveIamMemberRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = RemoveIamMemberRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = RemoveIamMemberRequestValidationError{} + +// Validate checks the field values on IamMemberSearchResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *IamMemberSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IamMemberSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IamMemberSearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// IamMemberSearchResponseValidationError is the validation error returned by +// IamMemberSearchResponse.Validate if the designated constraints aren't met. +type IamMemberSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IamMemberSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IamMemberSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IamMemberSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IamMemberSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IamMemberSearchResponseValidationError) ErrorName() string { + return "IamMemberSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e IamMemberSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIamMemberSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IamMemberSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IamMemberSearchResponseValidationError{} + +// Validate checks the field values on IamMemberView with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *IamMemberView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for UserId + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IamMemberViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IamMemberViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + // no validation rules for UserName + + // no validation rules for Email + + // no validation rules for FirstName + + // no validation rules for LastName + + // no validation rules for DisplayName + + return nil +} + +// IamMemberViewValidationError is the validation error returned by +// IamMemberView.Validate if the designated constraints aren't met. +type IamMemberViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IamMemberViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IamMemberViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IamMemberViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IamMemberViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IamMemberViewValidationError) ErrorName() string { return "IamMemberViewValidationError" } + +// Error satisfies the builtin error interface +func (e IamMemberViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIamMemberView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IamMemberViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IamMemberViewValidationError{} + +// Validate checks the field values on IamMemberSearchRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *IamMemberSearchRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + for idx, item := range m.GetQueries() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IamMemberSearchRequestValidationError{ + field: fmt.Sprintf("Queries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// IamMemberSearchRequestValidationError is the validation error returned by +// IamMemberSearchRequest.Validate if the designated constraints aren't met. +type IamMemberSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IamMemberSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IamMemberSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IamMemberSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IamMemberSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IamMemberSearchRequestValidationError) ErrorName() string { + return "IamMemberSearchRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e IamMemberSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIamMemberSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IamMemberSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IamMemberSearchRequestValidationError{} + +// Validate checks the field values on IamMemberSearchQuery with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *IamMemberSearchQuery) Validate() error { + if m == nil { + return nil + } + + if _, ok := _IamMemberSearchQuery_Key_NotInLookup[m.GetKey()]; ok { + return IamMemberSearchQueryValidationError{ + field: "Key", + reason: "value must not be in list [0]", + } + } + + // no validation rules for Method + + // no validation rules for Value + + return nil +} + +// IamMemberSearchQueryValidationError is the validation error returned by +// IamMemberSearchQuery.Validate if the designated constraints aren't met. +type IamMemberSearchQueryValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IamMemberSearchQueryValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IamMemberSearchQueryValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IamMemberSearchQueryValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IamMemberSearchQueryValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IamMemberSearchQueryValidationError) ErrorName() string { + return "IamMemberSearchQueryValidationError" +} + +// Error satisfies the builtin error interface +func (e IamMemberSearchQueryValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIamMemberSearchQuery.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IamMemberSearchQueryValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IamMemberSearchQueryValidationError{} + +var _IamMemberSearchQuery_Key_NotInLookup = map[IamMemberSearchKey]struct{}{ + 0: {}, +} + +// Validate checks the field values on FailedEventID with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *FailedEventID) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetDatabase()) < 1 { + return FailedEventIDValidationError{ + field: "Database", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetViewName()) < 1 { + return FailedEventIDValidationError{ + field: "ViewName", + reason: "value length must be at least 1 runes", + } + } + + // no validation rules for FailedSequence + + return nil +} + +// FailedEventIDValidationError is the validation error returned by +// FailedEventID.Validate if the designated constraints aren't met. +type FailedEventIDValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e FailedEventIDValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e FailedEventIDValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e FailedEventIDValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e FailedEventIDValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e FailedEventIDValidationError) ErrorName() string { return "FailedEventIDValidationError" } + +// Error satisfies the builtin error interface +func (e FailedEventIDValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sFailedEventID.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = FailedEventIDValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = FailedEventIDValidationError{} + +// Validate checks the field values on FailedEvents with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *FailedEvents) Validate() error { + if m == nil { + return nil + } + + for idx, item := range m.GetFailedEvents() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FailedEventsValidationError{ + field: fmt.Sprintf("FailedEvents[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// FailedEventsValidationError is the validation error returned by +// FailedEvents.Validate if the designated constraints aren't met. +type FailedEventsValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e FailedEventsValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e FailedEventsValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e FailedEventsValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e FailedEventsValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e FailedEventsValidationError) ErrorName() string { return "FailedEventsValidationError" } + +// Error satisfies the builtin error interface +func (e FailedEventsValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sFailedEvents.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = FailedEventsValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = FailedEventsValidationError{} + +// Validate checks the field values on FailedEvent with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *FailedEvent) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Database + + // no validation rules for ViewName + + // no validation rules for FailedSequence + + // no validation rules for FailureCount + + // no validation rules for ErrorMessage + + return nil +} + +// FailedEventValidationError is the validation error returned by +// FailedEvent.Validate if the designated constraints aren't met. +type FailedEventValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e FailedEventValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e FailedEventValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e FailedEventValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e FailedEventValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e FailedEventValidationError) ErrorName() string { return "FailedEventValidationError" } + +// Error satisfies the builtin error interface +func (e FailedEventValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sFailedEvent.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = FailedEventValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = FailedEventValidationError{} + +// Validate checks the field values on ViewID with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *ViewID) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetDatabase()) < 1 { + return ViewIDValidationError{ + field: "Database", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetViewName()) < 1 { + return ViewIDValidationError{ + field: "ViewName", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// ViewIDValidationError is the validation error returned by ViewID.Validate if +// the designated constraints aren't met. +type ViewIDValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ViewIDValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ViewIDValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ViewIDValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ViewIDValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ViewIDValidationError) ErrorName() string { return "ViewIDValidationError" } + +// Error satisfies the builtin error interface +func (e ViewIDValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sViewID.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ViewIDValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ViewIDValidationError{} + +// Validate checks the field values on Views with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *Views) Validate() error { + if m == nil { + return nil + } + + for idx, item := range m.GetViews() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ViewsValidationError{ + field: fmt.Sprintf("Views[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// ViewsValidationError is the validation error returned by Views.Validate if +// the designated constraints aren't met. +type ViewsValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ViewsValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ViewsValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ViewsValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ViewsValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ViewsValidationError) ErrorName() string { return "ViewsValidationError" } + +// Error satisfies the builtin error interface +func (e ViewsValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sViews.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ViewsValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ViewsValidationError{} + +// Validate checks the field values on View with the rules defined in the proto +// definition for this message. If any rules are violated, an error is returned. +func (m *View) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Database + + // no validation rules for ViewName + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ViewValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// ViewValidationError is the validation error returned by View.Validate if the +// designated constraints aren't met. +type ViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ViewValidationError) ErrorName() string { return "ViewValidationError" } + +// Error satisfies the builtin error interface +func (e ViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ViewValidationError{} + +// Validate checks the field values on IdpID with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *IdpID) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return IdpIDValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// IdpIDValidationError is the validation error returned by IdpID.Validate if +// the designated constraints aren't met. +type IdpIDValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpIDValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpIDValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpIDValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpIDValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpIDValidationError) ErrorName() string { return "IdpIDValidationError" } + +// Error satisfies the builtin error interface +func (e IdpIDValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpID.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpIDValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpIDValidationError{} + +// Validate checks the field values on Idp with the rules defined in the proto +// definition for this message. If any rules are violated, an error is returned. +func (m *Idp) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Name + + // no validation rules for LogoSrc + + // no validation rules for Sequence + + switch m.IdpConfig.(type) { + + case *Idp_OidcConfig: + + if v, ok := interface{}(m.GetOidcConfig()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpValidationError{ + field: "OidcConfig", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// IdpValidationError is the validation error returned by Idp.Validate if the +// designated constraints aren't met. +type IdpValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpValidationError) ErrorName() string { return "IdpValidationError" } + +// Error satisfies the builtin error interface +func (e IdpValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpValidationError{} + +// Validate checks the field values on IdpUpdate with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *IdpUpdate) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return IdpUpdateValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + // no validation rules for Name + + // no validation rules for LogoSrc + + return nil +} + +// IdpUpdateValidationError is the validation error returned by +// IdpUpdate.Validate if the designated constraints aren't met. +type IdpUpdateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpUpdateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpUpdateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpUpdateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpUpdateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpUpdateValidationError) ErrorName() string { return "IdpUpdateValidationError" } + +// Error satisfies the builtin error interface +func (e IdpUpdateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpUpdate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpUpdateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpUpdateValidationError{} + +// Validate checks the field values on OidcIdpConfig with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *OidcIdpConfig) Validate() error { + if m == nil { + return nil + } + + // no validation rules for ClientId + + // no validation rules for ClientSecret + + // no validation rules for Issuer + + return nil +} + +// OidcIdpConfigValidationError is the validation error returned by +// OidcIdpConfig.Validate if the designated constraints aren't met. +type OidcIdpConfigValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OidcIdpConfigValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OidcIdpConfigValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OidcIdpConfigValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OidcIdpConfigValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OidcIdpConfigValidationError) ErrorName() string { return "OidcIdpConfigValidationError" } + +// Error satisfies the builtin error interface +func (e OidcIdpConfigValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOidcIdpConfig.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OidcIdpConfigValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OidcIdpConfigValidationError{} + +// Validate checks the field values on OidcIdpConfigCreate with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *OidcIdpConfigCreate) Validate() error { + if m == nil { + return nil + } + + if l := utf8.RuneCountInString(m.GetName()); l < 1 || l > 200 { + return OidcIdpConfigCreateValidationError{ + field: "Name", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + // no validation rules for LogoSrc + + if l := utf8.RuneCountInString(m.GetClientId()); l < 1 || l > 200 { + return OidcIdpConfigCreateValidationError{ + field: "ClientId", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + if l := utf8.RuneCountInString(m.GetClientSecret()); l < 1 || l > 200 { + return OidcIdpConfigCreateValidationError{ + field: "ClientSecret", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + if l := utf8.RuneCountInString(m.GetIssuer()); l < 1 || l > 200 { + return OidcIdpConfigCreateValidationError{ + field: "Issuer", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + return nil +} + +// OidcIdpConfigCreateValidationError is the validation error returned by +// OidcIdpConfigCreate.Validate if the designated constraints aren't met. +type OidcIdpConfigCreateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OidcIdpConfigCreateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OidcIdpConfigCreateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OidcIdpConfigCreateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OidcIdpConfigCreateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OidcIdpConfigCreateValidationError) ErrorName() string { + return "OidcIdpConfigCreateValidationError" +} + +// Error satisfies the builtin error interface +func (e OidcIdpConfigCreateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOidcIdpConfigCreate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OidcIdpConfigCreateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OidcIdpConfigCreateValidationError{} + +// Validate checks the field values on OidcIdpConfigUpdate with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *OidcIdpConfigUpdate) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetIdpId()) < 1 { + return OidcIdpConfigUpdateValidationError{ + field: "IdpId", + reason: "value length must be at least 1 runes", + } + } + + if l := utf8.RuneCountInString(m.GetClientId()); l < 1 || l > 200 { + return OidcIdpConfigUpdateValidationError{ + field: "ClientId", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + // no validation rules for ClientSecret + + if l := utf8.RuneCountInString(m.GetIssuer()); l < 1 || l > 200 { + return OidcIdpConfigUpdateValidationError{ + field: "Issuer", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + return nil +} + +// OidcIdpConfigUpdateValidationError is the validation error returned by +// OidcIdpConfigUpdate.Validate if the designated constraints aren't met. +type OidcIdpConfigUpdateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OidcIdpConfigUpdateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OidcIdpConfigUpdateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OidcIdpConfigUpdateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OidcIdpConfigUpdateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OidcIdpConfigUpdateValidationError) ErrorName() string { + return "OidcIdpConfigUpdateValidationError" +} + +// Error satisfies the builtin error interface +func (e OidcIdpConfigUpdateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOidcIdpConfigUpdate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OidcIdpConfigUpdateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OidcIdpConfigUpdateValidationError{} + +// Validate checks the field values on IdpSearchResponse with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *IdpSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpSearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// IdpSearchResponseValidationError is the validation error returned by +// IdpSearchResponse.Validate if the designated constraints aren't met. +type IdpSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpSearchResponseValidationError) ErrorName() string { + return "IdpSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e IdpSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpSearchResponseValidationError{} + +// Validate checks the field values on IdpView with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *IdpView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Name + + // no validation rules for LogoSrc + + // no validation rules for Sequence + + switch m.IdpConfigView.(type) { + + case *IdpView_OidcConfig: + + if v, ok := interface{}(m.GetOidcConfig()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpViewValidationError{ + field: "OidcConfig", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// IdpViewValidationError is the validation error returned by IdpView.Validate +// if the designated constraints aren't met. +type IdpViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpViewValidationError) ErrorName() string { return "IdpViewValidationError" } + +// Error satisfies the builtin error interface +func (e IdpViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpViewValidationError{} + +// Validate checks the field values on OidcIdpConfigView with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *OidcIdpConfigView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for ClientId + + // no validation rules for Issuer + + return nil +} + +// OidcIdpConfigViewValidationError is the validation error returned by +// OidcIdpConfigView.Validate if the designated constraints aren't met. +type OidcIdpConfigViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OidcIdpConfigViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OidcIdpConfigViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OidcIdpConfigViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OidcIdpConfigViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OidcIdpConfigViewValidationError) ErrorName() string { + return "OidcIdpConfigViewValidationError" +} + +// Error satisfies the builtin error interface +func (e OidcIdpConfigViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOidcIdpConfigView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OidcIdpConfigViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OidcIdpConfigViewValidationError{} + +// Validate checks the field values on IdpSearchRequest with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *IdpSearchRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + for idx, item := range m.GetQueries() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpSearchRequestValidationError{ + field: fmt.Sprintf("Queries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// IdpSearchRequestValidationError is the validation error returned by +// IdpSearchRequest.Validate if the designated constraints aren't met. +type IdpSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpSearchRequestValidationError) ErrorName() string { return "IdpSearchRequestValidationError" } + +// Error satisfies the builtin error interface +func (e IdpSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpSearchRequestValidationError{} + +// Validate checks the field values on IdpSearchQuery with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *IdpSearchQuery) Validate() error { + if m == nil { + return nil + } + + if _, ok := _IdpSearchQuery_Key_NotInLookup[m.GetKey()]; ok { + return IdpSearchQueryValidationError{ + field: "Key", + reason: "value must not be in list [0]", + } + } + + // no validation rules for Method + + // no validation rules for Value + + return nil +} + +// IdpSearchQueryValidationError is the validation error returned by +// IdpSearchQuery.Validate if the designated constraints aren't met. +type IdpSearchQueryValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpSearchQueryValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpSearchQueryValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpSearchQueryValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpSearchQueryValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpSearchQueryValidationError) ErrorName() string { return "IdpSearchQueryValidationError" } + +// Error satisfies the builtin error interface +func (e IdpSearchQueryValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpSearchQuery.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpSearchQueryValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpSearchQueryValidationError{} + +var _IdpSearchQuery_Key_NotInLookup = map[IdpSearchKey]struct{}{ + 0: {}, +} + +// Validate checks the field values on DefaultLoginPolicy with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *DefaultLoginPolicy) Validate() error { + if m == nil { + return nil + } + + // no validation rules for AllowUsernamePassword + + // no validation rules for AllowRegister + + // no validation rules for AllowExternalIdp + + return nil +} + +// DefaultLoginPolicyValidationError is the validation error returned by +// DefaultLoginPolicy.Validate if the designated constraints aren't met. +type DefaultLoginPolicyValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e DefaultLoginPolicyValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e DefaultLoginPolicyValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e DefaultLoginPolicyValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e DefaultLoginPolicyValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e DefaultLoginPolicyValidationError) ErrorName() string { + return "DefaultLoginPolicyValidationError" +} + +// Error satisfies the builtin error interface +func (e DefaultLoginPolicyValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sDefaultLoginPolicy.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = DefaultLoginPolicyValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = DefaultLoginPolicyValidationError{} + +// Validate checks the field values on IdpProviderID with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *IdpProviderID) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetIdpConfigId()) < 1 { + return IdpProviderIDValidationError{ + field: "IdpConfigId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// IdpProviderIDValidationError is the validation error returned by +// IdpProviderID.Validate if the designated constraints aren't met. +type IdpProviderIDValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpProviderIDValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpProviderIDValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpProviderIDValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpProviderIDValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpProviderIDValidationError) ErrorName() string { return "IdpProviderIDValidationError" } + +// Error satisfies the builtin error interface +func (e IdpProviderIDValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpProviderID.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpProviderIDValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpProviderIDValidationError{} + +// Validate checks the field values on DefaultLoginPolicyView with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *DefaultLoginPolicyView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for AllowUsernamePassword + + // no validation rules for AllowRegister + + // no validation rules for AllowExternalIdp + + return nil +} + +// DefaultLoginPolicyViewValidationError is the validation error returned by +// DefaultLoginPolicyView.Validate if the designated constraints aren't met. +type DefaultLoginPolicyViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e DefaultLoginPolicyViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e DefaultLoginPolicyViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e DefaultLoginPolicyViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e DefaultLoginPolicyViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e DefaultLoginPolicyViewValidationError) ErrorName() string { + return "DefaultLoginPolicyViewValidationError" +} + +// Error satisfies the builtin error interface +func (e DefaultLoginPolicyViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sDefaultLoginPolicyView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = DefaultLoginPolicyViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = DefaultLoginPolicyViewValidationError{} + +// Validate checks the field values on IdpProviderView with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *IdpProviderView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for IdpConfigId + + // no validation rules for Name + + // no validation rules for Type + + return nil +} + +// IdpProviderViewValidationError is the validation error returned by +// IdpProviderView.Validate if the designated constraints aren't met. +type IdpProviderViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpProviderViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpProviderViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpProviderViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpProviderViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpProviderViewValidationError) ErrorName() string { return "IdpProviderViewValidationError" } + +// Error satisfies the builtin error interface +func (e IdpProviderViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpProviderView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpProviderViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpProviderViewValidationError{} + +// Validate checks the field values on IdpProviderSearchResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *IdpProviderSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpProviderSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpProviderSearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// IdpProviderSearchResponseValidationError is the validation error returned by +// IdpProviderSearchResponse.Validate if the designated constraints aren't met. +type IdpProviderSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpProviderSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpProviderSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpProviderSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpProviderSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpProviderSearchResponseValidationError) ErrorName() string { + return "IdpProviderSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e IdpProviderSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpProviderSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpProviderSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpProviderSearchResponseValidationError{} + +// Validate checks the field values on IdpProviderSearchRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *IdpProviderSearchRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + return nil +} + +// IdpProviderSearchRequestValidationError is the validation error returned by +// IdpProviderSearchRequest.Validate if the designated constraints aren't met. +type IdpProviderSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpProviderSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpProviderSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpProviderSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpProviderSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpProviderSearchRequestValidationError) ErrorName() string { + return "IdpProviderSearchRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e IdpProviderSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpProviderSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpProviderSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpProviderSearchRequestValidationError{} diff --git a/pkg/grpc/admin/admin.swagger.json b/pkg/grpc/admin/admin.swagger.json index e97b3aefc8..bb7d195b21 100644 --- a/pkg/grpc/admin/admin.swagger.json +++ b/pkg/grpc/admin/admin.swagger.json @@ -797,7 +797,7 @@ "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/protobufStruct" + "type": "object" } } }, @@ -854,19 +854,6 @@ } }, "definitions": { - "protobufListValue": { - "type": "object", - "properties": { - "values": { - "type": "array", - "items": { - "$ref": "#/definitions/protobufValue" - }, - "description": "Repeated field of dynamically typed values." - } - }, - "description": "`ListValue` is a wrapper around a repeated field of values.\n\nThe JSON representation for `ListValue` is JSON array." - }, "protobufNullValue": { "type": "string", "enum": [ @@ -875,51 +862,6 @@ "default": "NULL_VALUE", "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." }, - "protobufStruct": { - "type": "object", - "properties": { - "fields": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/protobufValue" - }, - "description": "Unordered map of dynamically typed values." - } - }, - "description": "`Struct` represents a structured data value, consisting of fields\nwhich map to dynamically typed values. In some languages, `Struct`\nmight be supported by a native representation. For example, in\nscripting languages like JS a struct is represented as an\nobject. The details of that representation are described together\nwith the proto support for the language.\n\nThe JSON representation for `Struct` is JSON object." - }, - "protobufValue": { - "type": "object", - "properties": { - "null_value": { - "$ref": "#/definitions/protobufNullValue", - "description": "Represents a null value." - }, - "number_value": { - "type": "number", - "format": "double", - "description": "Represents a double value." - }, - "string_value": { - "type": "string", - "description": "Represents a string value." - }, - "bool_value": { - "type": "boolean", - "format": "boolean", - "description": "Represents a boolean value." - }, - "struct_value": { - "$ref": "#/definitions/protobufStruct", - "description": "Represents a structured value." - }, - "list_value": { - "$ref": "#/definitions/protobufListValue", - "description": "Represents a repeated `Value`." - } - }, - "description": "`Value` represents a dynamically typed value which can be either\nnull, a number, a string, a boolean, a recursive struct value, or a\nlist of values. A producer of value is expected to set one of that\nvariants, absence of any variant indicates an error.\n\nThe JSON representation for `Value` is JSON value." - }, "v1AddIamMemberRequest": { "type": "object", "properties": { @@ -948,23 +890,9 @@ } } }, - "v1CreateOrgRequest": { + "v1CreateHumanRequest": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "domain": { - "type": "string" - } - } - }, - "v1CreateUserRequest": { - "type": "object", - "properties": { - "user_name": { - "type": "string" - }, "first_name": { "type": "string" }, @@ -1014,6 +942,42 @@ } } }, + "v1CreateMachineRequest": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + } + } + }, + "v1CreateOrgRequest": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "domain": { + "type": "string" + } + } + }, + "v1CreateUserRequest": { + "type": "object", + "properties": { + "user_name": { + "type": "string" + }, + "human": { + "$ref": "#/definitions/v1CreateHumanRequest" + }, + "machine": { + "$ref": "#/definitions/v1CreateMachineRequest" + } + } + }, "v1DefaultLoginPolicy": { "type": "object", "properties": { @@ -1091,6 +1055,58 @@ ], "default": "GENDER_UNSPECIFIED" }, + "v1HumanResponse": { + "type": "object", + "properties": { + "first_name": { + "type": "string" + }, + "last_name": { + "type": "string" + }, + "display_name": { + "type": "string" + }, + "nick_name": { + "type": "string" + }, + "preferred_language": { + "type": "string" + }, + "gender": { + "$ref": "#/definitions/v1Gender" + }, + "email": { + "type": "string" + }, + "is_email_verified": { + "type": "boolean", + "format": "boolean" + }, + "phone": { + "type": "string" + }, + "is_phone_verified": { + "type": "boolean", + "format": "boolean" + }, + "country": { + "type": "string" + }, + "locality": { + "type": "string" + }, + "postal_code": { + "type": "string" + }, + "region": { + "type": "string" + }, + "street_address": { + "type": "string" + } + } + }, "v1IamMember": { "type": "object", "properties": { @@ -1490,6 +1506,54 @@ } } }, + "v1MachineKeyResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/v1MachineKeyType" + }, + "sequence": { + "type": "string", + "format": "uint64" + }, + "creation_date": { + "type": "string", + "format": "date-time" + }, + "expiration_date": { + "type": "string", + "format": "date-time" + } + } + }, + "v1MachineKeyType": { + "type": "string", + "enum": [ + "MACHINEKEY_UNSPECIFIED", + "MACHINEKEY_JSON" + ], + "default": "MACHINEKEY_UNSPECIFIED" + }, + "v1MachineResponse": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "keys": { + "type": "array", + "items": { + "$ref": "#/definitions/v1MachineKeyResponse" + } + } + } + }, "v1OidcIdpConfig": { "type": "object", "properties": { @@ -1652,7 +1716,7 @@ "type": "string", "enum": [ "ORGSEARCHKEY_UNSPECIFIED", - "ORGSEARCHKEY_ORG_NAME", + "ORGSEARCHKEY_NAME", "ORGSEARCHKEY_DOMAIN", "ORGSEARCHKEY_STATE" ], @@ -1756,7 +1820,7 @@ "$ref": "#/definitions/v1Org" }, "user": { - "$ref": "#/definitions/v1User" + "$ref": "#/definitions/v1UserResponse" } } }, @@ -1795,7 +1859,7 @@ } } }, - "v1User": { + "v1UserResponse": { "type": "object", "properties": { "id": { @@ -1812,59 +1876,18 @@ "type": "string", "format": "date-time" }, - "user_name": { - "type": "string" - }, - "first_name": { - "type": "string" - }, - "last_name": { - "type": "string" - }, - "nick_name": { - "type": "string" - }, - "display_name": { - "type": "string" - }, - "preferred_language": { - "type": "string" - }, - "gender": { - "$ref": "#/definitions/v1Gender" - }, - "email": { - "type": "string" - }, - "isEmailVerified": { - "type": "boolean", - "format": "boolean" - }, - "phone": { - "type": "string" - }, - "isPhoneVerified": { - "type": "boolean", - "format": "boolean" - }, - "country": { - "type": "string" - }, - "locality": { - "type": "string" - }, - "postal_code": { - "type": "string" - }, - "region": { - "type": "string" - }, - "street_address": { - "type": "string" - }, "sequence": { "type": "string", "format": "uint64" + }, + "user_name": { + "type": "string" + }, + "human": { + "$ref": "#/definitions/v1HumanResponse" + }, + "machine": { + "$ref": "#/definitions/v1MachineResponse" } } }, diff --git a/pkg/grpc/admin/proto/admin.proto b/pkg/grpc/admin/proto/admin.proto index 32f8ef6326..68ddf9c08c 100644 --- a/pkg/grpc/admin/proto/admin.proto +++ b/pkg/grpc/admin/proto/admin.proto @@ -377,7 +377,7 @@ service AdminService { } message OrgID { - string id = 1; + string id = 1 [(validate.rules).string = {min_len: 1}]; } message UniqueOrgRequest { @@ -420,7 +420,7 @@ message OrgSearchQuery { enum OrgSearchKey { ORGSEARCHKEY_UNSPECIFIED = 0; - ORGSEARCHKEY_ORG_NAME = 1; + ORGSEARCHKEY_NAME = 1; ORGSEARCHKEY_DOMAIN = 2; ORGSEARCHKEY_STATE = 3; } @@ -441,56 +441,63 @@ enum OrgSearchMethod { } message OrgSetUpRequest { - CreateOrgRequest org = 1; - CreateUserRequest user = 2; + CreateOrgRequest org = 1 [(validate.rules).message.required = true]; + CreateUserRequest user = 2 [(validate.rules).message.required = true]; } message OrgSetUpResponse { Org org = 1; - User user = 2; + UserResponse user = 2; } message CreateUserRequest { - string user_name = 1 [(validate.rules).string = {min_len: 1, max_len: 200}]; - string first_name = 2 [(validate.rules).string = {min_len: 1, max_len: 200}]; - string last_name = 3 [(validate.rules).string = {min_len: 1, max_len: 200}]; - string nick_name = 4 [(validate.rules).string = {max_len: 200}]; - string preferred_language = 5 [(validate.rules).string = {max_len: 200}]; - Gender gender = 6; - string email = 7 [(validate.rules).string = {min_len: 1, max_len: 200, email: true}]; - bool is_email_verified = 8; - string phone = 9 [(validate.rules).string = {max_len: 20}]; - bool is_phone_verified = 10; - string country = 11 [(validate.rules).string = {max_len: 200}]; - string locality = 12 [(validate.rules).string = {max_len: 200}]; - string postal_code = 13 [(validate.rules).string = {max_len: 200}]; - string region = 14 [(validate.rules).string = {max_len: 200}]; - string street_address = 15 [(validate.rules).string = {max_len: 200}]; - string password = 16 [(validate.rules).string = {max_len: 72}]; + string user_name = 1 [(validate.rules).string.pattern = "^[^[:space:]]{1,200}$"]; + + oneof user { + option (validate.required) = true; + + CreateHumanRequest human = 2; + CreateMachineRequest machine = 3; + } } -message User { +message CreateHumanRequest { + string first_name = 1 [(validate.rules).string = {min_len: 1, max_len: 200}]; + string last_name = 2 [(validate.rules).string = {min_len: 1, max_len: 200}]; + string nick_name = 3 [(validate.rules).string = {max_len: 200}]; + string preferred_language = 4 [(validate.rules).string = {max_len: 200}]; + Gender gender = 5; + string email = 6 [(validate.rules).string = {min_len: 1, max_len: 200, email: true}]; + bool is_email_verified = 7; + string phone = 8 [(validate.rules).string = {max_len: 20}]; + bool is_phone_verified = 9; + string country = 10 [(validate.rules).string = {max_len: 200}]; + string locality = 11 [(validate.rules).string = {max_len: 200}]; + string postal_code = 12 [(validate.rules).string = {max_len: 200}]; + string region = 13 [(validate.rules).string = {max_len: 200}]; + string street_address = 14 [(validate.rules).string = {max_len: 200}]; + string password = 15 [(validate.rules).string = {max_len: 72}]; +} + +message CreateMachineRequest { + string name = 1 [(validate.rules).string = {min_len: 1, max_len: 200}]; + string description = 2 [(validate.rules).string = {min_len: 1, max_len: 500}]; + } + +message UserResponse { string id = 1; UserState state = 2; google.protobuf.Timestamp creation_date = 3; google.protobuf.Timestamp change_date = 4; - string user_name = 5; - string first_name = 6; - string last_name = 7; - string nick_name = 8; - string display_name = 9; - string preferred_language = 10; - Gender gender = 11; - string email = 12; - bool isEmailVerified = 13; - string phone = 14; - bool isPhoneVerified = 15; - string country = 16; - string locality = 17; - string postal_code = 18; - string region = 19; - string street_address = 20; - uint64 sequence = 21; + uint64 sequence = 5; + string user_name = 6; + + oneof user { + option (validate.required) = true; + + HumanResponse human = 7; + MachineResponse machine = 8; + } } enum UserState { @@ -510,6 +517,44 @@ enum Gender { GENDER_DIVERSE = 3; } +message HumanResponse { + string first_name = 1; + string last_name = 2; + string display_name = 3; + string nick_name = 4; + string preferred_language = 5; + Gender gender = 6; + string email = 7; + bool is_email_verified = 8; + string phone = 9; + bool is_phone_verified = 10; + string country = 11; + string locality = 12; + string postal_code = 13; + string region = 14; + string street_address = 15; + } + + message MachineResponse { + string name = 1; + string description = 2; + repeated MachineKeyResponse keys = 3; + } + + message MachineKeyResponse { + string id = 1; + MachineKeyType type = 2; + uint64 sequence = 3; + + google.protobuf.Timestamp creation_date = 4; + google.protobuf.Timestamp expiration_date = 5; + } + + enum MachineKeyType { + MACHINEKEY_UNSPECIFIED = 0; + MACHINEKEY_JSON = 1; + } + message CreateOrgRequest { string name = 1 [(validate.rules).string.min_len = 1]; string domain = 2; @@ -526,13 +571,13 @@ message OrgIamPolicy { } message OrgIamPolicyRequest { - string org_id = 1; + string org_id = 1 [(validate.rules).string = {min_len: 1}]; string description = 2; bool user_login_must_be_domain = 3; } message OrgIamPolicyID { - string org_id = 1; + string org_id = 1 [(validate.rules).string = {min_len: 1}]; } message IamMemberRoles { @@ -548,17 +593,17 @@ message IamMember { } message AddIamMemberRequest { - string user_id = 1; + string user_id = 1 [(validate.rules).string = {min_len: 1}]; repeated string roles = 2; } message ChangeIamMemberRequest { - string user_id = 1; + string user_id = 1 [(validate.rules).string = {min_len: 1}]; repeated string roles = 2; } message RemoveIamMemberRequest { - string user_id = 1; + string user_id = 1 [(validate.rules).string = {min_len: 1}]; } message IamMemberSearchResponse { @@ -618,8 +663,8 @@ enum SearchMethod { } message FailedEventID { - string database = 1; - string view_name = 2; + string database = 1 [(validate.rules).string = {min_len: 1}]; + string view_name = 2 [(validate.rules).string = {min_len: 1}]; uint64 failed_sequence = 3; } @@ -636,8 +681,8 @@ message FailedEvent { } message ViewID { - string database = 1; - string view_name = 2; + string database = 1 [(validate.rules).string = {min_len: 1}]; + string view_name = 2 [(validate.rules).string = {min_len: 1}]; } message Views { @@ -652,7 +697,7 @@ message View { } message IdpID { - string id = 1; + string id = 1 [(validate.rules).string = {min_len: 1}]; } message Idp { @@ -669,7 +714,7 @@ message Idp { } message IdpUpdate { - string id = 1; + string id = 1 [(validate.rules).string = {min_len: 1}]; string name = 2; bytes logo_src = 3; } @@ -680,6 +725,7 @@ message OidcIdpConfig { string issuer = 3; repeated string scopes = 4; } + enum IdpState { IDPCONFIGSTATE_UNSPECIFIED = 0; IDPCONFIGSTATE_ACTIVE = 1; @@ -696,7 +742,7 @@ message OidcIdpConfigCreate { } message OidcIdpConfigUpdate { - string idp_id = 1; + string idp_id = 1 [(validate.rules).string = {min_len: 1}]; string client_id = 2 [(validate.rules).string = {min_len: 1, max_len: 200}]; string client_secret = 3; string issuer = 4 [(validate.rules).string = {min_len: 1, max_len: 200}]; @@ -756,7 +802,7 @@ message DefaultLoginPolicy { } message IdpProviderID { - string idp_config_id = 1; + string idp_config_id = 1 [(validate.rules).string = {min_len: 1}]; } message DefaultLoginPolicyView { @@ -765,10 +811,6 @@ message DefaultLoginPolicyView { bool allow_external_idp = 3; } -message IdpProviderViews { - repeated IdpProviderView providers = 1; -} - message IdpProviderView { string idp_config_id = 1; string name = 2; diff --git a/pkg/grpc/admin/proto/generate.go b/pkg/grpc/admin/proto/generate.go index 2df5cbd6a0..48a0259c55 100644 --- a/pkg/grpc/admin/proto/generate.go +++ b/pkg/grpc/admin/proto/generate.go @@ -1,4 +1,4 @@ package proto -//go:generate protoc -I$GOPATH/src -I../proto -I$GOPATH/src/github.com/grpc-ecosystem/grpc-gateway -I$GOPATH/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis -I$GOPATH/src/github.com/envoyproxy/protoc-gen-validate -I$GOPATH/src/github.com/caos/zitadel/internal/protoc/protoc-gen-authoption --go_out=plugins=grpc:$GOPATH/src --grpc-gateway_out=logtostderr=true:$GOPATH/src --swagger_out=logtostderr=true:.. --authoption_out=.. admin.proto +//go:generate protoc -I$GOPATH/src -I../proto -I$GOPATH/src/github.com/grpc-ecosystem/grpc-gateway -I$GOPATH/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis -I$GOPATH/src/github.com/envoyproxy/protoc-gen-validate -I$GOPATH/src/github.com/caos/zitadel/internal/protoc/protoc-gen-authoption --go_out=plugins=grpc:$GOPATH/src --grpc-gateway_out=logtostderr=true:$GOPATH/src --swagger_out=logtostderr=true:.. --authoption_out=.. --validate_out=lang=go:${GOPATH}/src admin.proto //go:generate mockgen -package api -destination ../mock/admin.proto.mock.go github.com/caos/zitadel/pkg/grpc/admin AdminServiceClient diff --git a/pkg/grpc/auth/auth.pb.go b/pkg/grpc/auth/auth.pb.go index 0e8a0087fb..58313e2068 100644 --- a/pkg/grpc/auth/auth.pb.go +++ b/pkg/grpc/auth/auth.pb.go @@ -60,31 +60,28 @@ func (UserSessionState) EnumDescriptor() ([]byte, []int) { return fileDescriptor_8bbd6f3875b0e874, []int{0} } -type OIDCResponseType int32 +type MachineKeyType int32 const ( - OIDCResponseType_OIDCRESPONSETYPE_CODE OIDCResponseType = 0 - OIDCResponseType_OIDCRESPONSETYPE_ID_TOKEN OIDCResponseType = 1 - OIDCResponseType_OIDCRESPONSETYPE_ID_TOKEN_TOKEN OIDCResponseType = 2 + MachineKeyType_MACHINEKEY_UNSPECIFIED MachineKeyType = 0 + MachineKeyType_MACHINEKEY_JSON MachineKeyType = 1 ) -var OIDCResponseType_name = map[int32]string{ - 0: "OIDCRESPONSETYPE_CODE", - 1: "OIDCRESPONSETYPE_ID_TOKEN", - 2: "OIDCRESPONSETYPE_ID_TOKEN_TOKEN", +var MachineKeyType_name = map[int32]string{ + 0: "MACHINEKEY_UNSPECIFIED", + 1: "MACHINEKEY_JSON", } -var OIDCResponseType_value = map[string]int32{ - "OIDCRESPONSETYPE_CODE": 0, - "OIDCRESPONSETYPE_ID_TOKEN": 1, - "OIDCRESPONSETYPE_ID_TOKEN_TOKEN": 2, +var MachineKeyType_value = map[string]int32{ + "MACHINEKEY_UNSPECIFIED": 0, + "MACHINEKEY_JSON": 1, } -func (x OIDCResponseType) String() string { - return proto.EnumName(OIDCResponseType_name, int32(x)) +func (x MachineKeyType) String() string { + return proto.EnumName(MachineKeyType_name, int32(x)) } -func (OIDCResponseType) EnumDescriptor() ([]byte, []int) { +func (MachineKeyType) EnumDescriptor() ([]byte, []int) { return fileDescriptor_8bbd6f3875b0e874, []int{1} } @@ -443,35 +440,23 @@ func (m *UserSessionView) GetDisplayName() string { } type UserView struct { - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - State UserState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.auth.api.v1.UserState" json:"state,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - LastLogin *timestamp.Timestamp `protobuf:"bytes,5,opt,name=last_login,json=lastLogin,proto3" json:"last_login,omitempty"` - PasswordChanged *timestamp.Timestamp `protobuf:"bytes,6,opt,name=password_changed,json=passwordChanged,proto3" json:"password_changed,omitempty"` - UserName string `protobuf:"bytes,7,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` - FirstName string `protobuf:"bytes,8,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` - LastName string `protobuf:"bytes,9,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` - DisplayName string `protobuf:"bytes,10,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - NickName string `protobuf:"bytes,11,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` - PreferredLanguage string `protobuf:"bytes,12,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` - Gender Gender `protobuf:"varint,13,opt,name=gender,proto3,enum=caos.zitadel.auth.api.v1.Gender" json:"gender,omitempty"` - Email string `protobuf:"bytes,14,opt,name=email,proto3" json:"email,omitempty"` - IsEmailVerified bool `protobuf:"varint,15,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` - Phone string `protobuf:"bytes,16,opt,name=phone,proto3" json:"phone,omitempty"` - IsPhoneVerified bool `protobuf:"varint,17,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` - Country string `protobuf:"bytes,18,opt,name=country,proto3" json:"country,omitempty"` - Locality string `protobuf:"bytes,19,opt,name=locality,proto3" json:"locality,omitempty"` - PostalCode string `protobuf:"bytes,20,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` - Region string `protobuf:"bytes,21,opt,name=region,proto3" json:"region,omitempty"` - StreetAddress string `protobuf:"bytes,22,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` - Sequence uint64 `protobuf:"varint,23,opt,name=sequence,proto3" json:"sequence,omitempty"` - ResourceOwner string `protobuf:"bytes,24,opt,name=resource_owner,json=resourceOwner,proto3" json:"resource_owner,omitempty"` - LoginNames []string `protobuf:"bytes,25,rep,name=login_names,json=loginNames,proto3" json:"login_names,omitempty"` - PreferredLoginName string `protobuf:"bytes,26,opt,name=preferred_login_name,json=preferredLoginName,proto3" json:"preferred_login_name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + State UserState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.auth.api.v1.UserState" json:"state,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` + LoginNames []string `protobuf:"bytes,6,rep,name=login_names,json=loginNames,proto3" json:"login_names,omitempty"` + PreferredLoginName string `protobuf:"bytes,7,opt,name=preferred_login_name,json=preferredLoginName,proto3" json:"preferred_login_name,omitempty"` + LastLogin *timestamp.Timestamp `protobuf:"bytes,8,opt,name=last_login,json=lastLogin,proto3" json:"last_login,omitempty"` + ResourceOwner string `protobuf:"bytes,9,opt,name=resource_owner,json=resourceOwner,proto3" json:"resource_owner,omitempty"` + UserName string `protobuf:"bytes,10,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` + // Types that are valid to be assigned to User: + // *UserView_Human + // *UserView_Machine + User isUserView_User `protobuf_oneof:"user"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *UserView) Reset() { *m = UserView{} } @@ -527,132 +512,6 @@ func (m *UserView) GetChangeDate() *timestamp.Timestamp { return nil } -func (m *UserView) GetLastLogin() *timestamp.Timestamp { - if m != nil { - return m.LastLogin - } - return nil -} - -func (m *UserView) GetPasswordChanged() *timestamp.Timestamp { - if m != nil { - return m.PasswordChanged - } - return nil -} - -func (m *UserView) GetUserName() string { - if m != nil { - return m.UserName - } - return "" -} - -func (m *UserView) GetFirstName() string { - if m != nil { - return m.FirstName - } - return "" -} - -func (m *UserView) GetLastName() string { - if m != nil { - return m.LastName - } - return "" -} - -func (m *UserView) GetDisplayName() string { - if m != nil { - return m.DisplayName - } - return "" -} - -func (m *UserView) GetNickName() string { - if m != nil { - return m.NickName - } - return "" -} - -func (m *UserView) GetPreferredLanguage() string { - if m != nil { - return m.PreferredLanguage - } - return "" -} - -func (m *UserView) GetGender() Gender { - if m != nil { - return m.Gender - } - return Gender_GENDER_UNSPECIFIED -} - -func (m *UserView) GetEmail() string { - if m != nil { - return m.Email - } - return "" -} - -func (m *UserView) GetIsEmailVerified() bool { - if m != nil { - return m.IsEmailVerified - } - return false -} - -func (m *UserView) GetPhone() string { - if m != nil { - return m.Phone - } - return "" -} - -func (m *UserView) GetIsPhoneVerified() bool { - if m != nil { - return m.IsPhoneVerified - } - return false -} - -func (m *UserView) GetCountry() string { - if m != nil { - return m.Country - } - return "" -} - -func (m *UserView) GetLocality() string { - if m != nil { - return m.Locality - } - return "" -} - -func (m *UserView) GetPostalCode() string { - if m != nil { - return m.PostalCode - } - return "" -} - -func (m *UserView) GetRegion() string { - if m != nil { - return m.Region - } - return "" -} - -func (m *UserView) GetStreetAddress() string { - if m != nil { - return m.StreetAddress - } - return "" -} - func (m *UserView) GetSequence() uint64 { if m != nil { return m.Sequence @@ -660,13 +519,6 @@ func (m *UserView) GetSequence() uint64 { return 0 } -func (m *UserView) GetResourceOwner() string { - if m != nil { - return m.ResourceOwner - } - return "" -} - func (m *UserView) GetLoginNames() []string { if m != nil { return m.LoginNames @@ -681,18 +533,368 @@ func (m *UserView) GetPreferredLoginName() string { return "" } +func (m *UserView) GetLastLogin() *timestamp.Timestamp { + if m != nil { + return m.LastLogin + } + return nil +} + +func (m *UserView) GetResourceOwner() string { + if m != nil { + return m.ResourceOwner + } + return "" +} + +func (m *UserView) GetUserName() string { + if m != nil { + return m.UserName + } + return "" +} + +type isUserView_User interface { + isUserView_User() +} + +type UserView_Human struct { + Human *HumanView `protobuf:"bytes,11,opt,name=human,proto3,oneof"` +} + +type UserView_Machine struct { + Machine *MachineView `protobuf:"bytes,12,opt,name=machine,proto3,oneof"` +} + +func (*UserView_Human) isUserView_User() {} + +func (*UserView_Machine) isUserView_User() {} + +func (m *UserView) GetUser() isUserView_User { + if m != nil { + return m.User + } + return nil +} + +func (m *UserView) GetHuman() *HumanView { + if x, ok := m.GetUser().(*UserView_Human); ok { + return x.Human + } + return nil +} + +func (m *UserView) GetMachine() *MachineView { + if x, ok := m.GetUser().(*UserView_Machine); ok { + return x.Machine + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*UserView) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*UserView_Human)(nil), + (*UserView_Machine)(nil), + } +} + +type MachineView struct { + LastKeyAdded *timestamp.Timestamp `protobuf:"bytes,1,opt,name=last_key_added,json=lastKeyAdded,proto3" json:"last_key_added,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MachineView) Reset() { *m = MachineView{} } +func (m *MachineView) String() string { return proto.CompactTextString(m) } +func (*MachineView) ProtoMessage() {} +func (*MachineView) Descriptor() ([]byte, []int) { + return fileDescriptor_8bbd6f3875b0e874, []int{3} +} + +func (m *MachineView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MachineView.Unmarshal(m, b) +} +func (m *MachineView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MachineView.Marshal(b, m, deterministic) +} +func (m *MachineView) XXX_Merge(src proto.Message) { + xxx_messageInfo_MachineView.Merge(m, src) +} +func (m *MachineView) XXX_Size() int { + return xxx_messageInfo_MachineView.Size(m) +} +func (m *MachineView) XXX_DiscardUnknown() { + xxx_messageInfo_MachineView.DiscardUnknown(m) +} + +var xxx_messageInfo_MachineView proto.InternalMessageInfo + +func (m *MachineView) GetLastKeyAdded() *timestamp.Timestamp { + if m != nil { + return m.LastKeyAdded + } + return nil +} + +func (m *MachineView) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *MachineView) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +type MachineKeyView struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Type MachineKeyType `protobuf:"varint,2,opt,name=type,proto3,enum=caos.zitadel.auth.api.v1.MachineKeyType" json:"type,omitempty"` + Sequence uint64 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ExpirationDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=expiration_date,json=expirationDate,proto3" json:"expiration_date,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MachineKeyView) Reset() { *m = MachineKeyView{} } +func (m *MachineKeyView) String() string { return proto.CompactTextString(m) } +func (*MachineKeyView) ProtoMessage() {} +func (*MachineKeyView) Descriptor() ([]byte, []int) { + return fileDescriptor_8bbd6f3875b0e874, []int{4} +} + +func (m *MachineKeyView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MachineKeyView.Unmarshal(m, b) +} +func (m *MachineKeyView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MachineKeyView.Marshal(b, m, deterministic) +} +func (m *MachineKeyView) XXX_Merge(src proto.Message) { + xxx_messageInfo_MachineKeyView.Merge(m, src) +} +func (m *MachineKeyView) XXX_Size() int { + return xxx_messageInfo_MachineKeyView.Size(m) +} +func (m *MachineKeyView) XXX_DiscardUnknown() { + xxx_messageInfo_MachineKeyView.DiscardUnknown(m) +} + +var xxx_messageInfo_MachineKeyView proto.InternalMessageInfo + +func (m *MachineKeyView) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +func (m *MachineKeyView) GetType() MachineKeyType { + if m != nil { + return m.Type + } + return MachineKeyType_MACHINEKEY_UNSPECIFIED +} + +func (m *MachineKeyView) GetSequence() uint64 { + if m != nil { + return m.Sequence + } + return 0 +} + +func (m *MachineKeyView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate + } + return nil +} + +func (m *MachineKeyView) GetExpirationDate() *timestamp.Timestamp { + if m != nil { + return m.ExpirationDate + } + return nil +} + +type HumanView struct { + PasswordChanged *timestamp.Timestamp `protobuf:"bytes,1,opt,name=password_changed,json=passwordChanged,proto3" json:"password_changed,omitempty"` + FirstName string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + NickName string `protobuf:"bytes,5,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` + PreferredLanguage string `protobuf:"bytes,6,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` + Gender Gender `protobuf:"varint,7,opt,name=gender,proto3,enum=caos.zitadel.auth.api.v1.Gender" json:"gender,omitempty"` + Email string `protobuf:"bytes,8,opt,name=email,proto3" json:"email,omitempty"` + IsEmailVerified bool `protobuf:"varint,9,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` + Phone string `protobuf:"bytes,10,opt,name=phone,proto3" json:"phone,omitempty"` + IsPhoneVerified bool `protobuf:"varint,11,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` + Country string `protobuf:"bytes,12,opt,name=country,proto3" json:"country,omitempty"` + Locality string `protobuf:"bytes,13,opt,name=locality,proto3" json:"locality,omitempty"` + PostalCode string `protobuf:"bytes,14,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` + Region string `protobuf:"bytes,15,opt,name=region,proto3" json:"region,omitempty"` + StreetAddress string `protobuf:"bytes,16,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HumanView) Reset() { *m = HumanView{} } +func (m *HumanView) String() string { return proto.CompactTextString(m) } +func (*HumanView) ProtoMessage() {} +func (*HumanView) Descriptor() ([]byte, []int) { + return fileDescriptor_8bbd6f3875b0e874, []int{5} +} + +func (m *HumanView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HumanView.Unmarshal(m, b) +} +func (m *HumanView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HumanView.Marshal(b, m, deterministic) +} +func (m *HumanView) XXX_Merge(src proto.Message) { + xxx_messageInfo_HumanView.Merge(m, src) +} +func (m *HumanView) XXX_Size() int { + return xxx_messageInfo_HumanView.Size(m) +} +func (m *HumanView) XXX_DiscardUnknown() { + xxx_messageInfo_HumanView.DiscardUnknown(m) +} + +var xxx_messageInfo_HumanView proto.InternalMessageInfo + +func (m *HumanView) GetPasswordChanged() *timestamp.Timestamp { + if m != nil { + return m.PasswordChanged + } + return nil +} + +func (m *HumanView) GetFirstName() string { + if m != nil { + return m.FirstName + } + return "" +} + +func (m *HumanView) GetLastName() string { + if m != nil { + return m.LastName + } + return "" +} + +func (m *HumanView) GetDisplayName() string { + if m != nil { + return m.DisplayName + } + return "" +} + +func (m *HumanView) GetNickName() string { + if m != nil { + return m.NickName + } + return "" +} + +func (m *HumanView) GetPreferredLanguage() string { + if m != nil { + return m.PreferredLanguage + } + return "" +} + +func (m *HumanView) GetGender() Gender { + if m != nil { + return m.Gender + } + return Gender_GENDER_UNSPECIFIED +} + +func (m *HumanView) GetEmail() string { + if m != nil { + return m.Email + } + return "" +} + +func (m *HumanView) GetIsEmailVerified() bool { + if m != nil { + return m.IsEmailVerified + } + return false +} + +func (m *HumanView) GetPhone() string { + if m != nil { + return m.Phone + } + return "" +} + +func (m *HumanView) GetIsPhoneVerified() bool { + if m != nil { + return m.IsPhoneVerified + } + return false +} + +func (m *HumanView) GetCountry() string { + if m != nil { + return m.Country + } + return "" +} + +func (m *HumanView) GetLocality() string { + if m != nil { + return m.Locality + } + return "" +} + +func (m *HumanView) GetPostalCode() string { + if m != nil { + return m.PostalCode + } + return "" +} + +func (m *HumanView) GetRegion() string { + if m != nil { + return m.Region + } + return "" +} + +func (m *HumanView) GetStreetAddress() string { + if m != nil { + return m.StreetAddress + } + return "" +} + type UserProfile struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - UserName string `protobuf:"bytes,2,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` - FirstName string `protobuf:"bytes,3,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` - LastName string `protobuf:"bytes,4,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` - NickName string `protobuf:"bytes,5,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` - DisplayName string `protobuf:"bytes,6,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - PreferredLanguage string `protobuf:"bytes,7,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` - Gender Gender `protobuf:"varint,8,opt,name=gender,proto3,enum=caos.zitadel.auth.api.v1.Gender" json:"gender,omitempty"` - Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,10,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,11,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + FirstName string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + NickName string `protobuf:"bytes,4,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` + DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + PreferredLanguage string `protobuf:"bytes,6,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` + Gender Gender `protobuf:"varint,7,opt,name=gender,proto3,enum=caos.zitadel.auth.api.v1.Gender" json:"gender,omitempty"` + Sequence uint64 `protobuf:"varint,8,opt,name=sequence,proto3" json:"sequence,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,9,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,10,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -702,7 +904,7 @@ func (m *UserProfile) Reset() { *m = UserProfile{} } func (m *UserProfile) String() string { return proto.CompactTextString(m) } func (*UserProfile) ProtoMessage() {} func (*UserProfile) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{3} + return fileDescriptor_8bbd6f3875b0e874, []int{6} } func (m *UserProfile) XXX_Unmarshal(b []byte) error { @@ -730,13 +932,6 @@ func (m *UserProfile) GetId() string { return "" } -func (m *UserProfile) GetUserName() string { - if m != nil { - return m.UserName - } - return "" -} - func (m *UserProfile) GetFirstName() string { if m != nil { return m.FirstName @@ -802,18 +997,17 @@ func (m *UserProfile) GetChangeDate() *timestamp.Timestamp { type UserProfileView struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - UserName string `protobuf:"bytes,2,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` - FirstName string `protobuf:"bytes,3,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` - LastName string `protobuf:"bytes,4,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` - NickName string `protobuf:"bytes,5,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` - DisplayName string `protobuf:"bytes,6,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - PreferredLanguage string `protobuf:"bytes,7,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` - Gender Gender `protobuf:"varint,8,opt,name=gender,proto3,enum=caos.zitadel.auth.api.v1.Gender" json:"gender,omitempty"` - Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,10,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,11,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - LoginNames []string `protobuf:"bytes,12,rep,name=login_names,json=loginNames,proto3" json:"login_names,omitempty"` - PreferredLoginName string `protobuf:"bytes,13,opt,name=preferred_login_name,json=preferredLoginName,proto3" json:"preferred_login_name,omitempty"` + FirstName string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + NickName string `protobuf:"bytes,4,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` + DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + PreferredLanguage string `protobuf:"bytes,6,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` + Gender Gender `protobuf:"varint,7,opt,name=gender,proto3,enum=caos.zitadel.auth.api.v1.Gender" json:"gender,omitempty"` + Sequence uint64 `protobuf:"varint,8,opt,name=sequence,proto3" json:"sequence,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,9,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,10,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + LoginNames []string `protobuf:"bytes,11,rep,name=login_names,json=loginNames,proto3" json:"login_names,omitempty"` + PreferredLoginName string `protobuf:"bytes,12,opt,name=preferred_login_name,json=preferredLoginName,proto3" json:"preferred_login_name,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -823,7 +1017,7 @@ func (m *UserProfileView) Reset() { *m = UserProfileView{} } func (m *UserProfileView) String() string { return proto.CompactTextString(m) } func (*UserProfileView) ProtoMessage() {} func (*UserProfileView) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{4} + return fileDescriptor_8bbd6f3875b0e874, []int{7} } func (m *UserProfileView) XXX_Unmarshal(b []byte) error { @@ -851,13 +1045,6 @@ func (m *UserProfileView) GetId() string { return "" } -func (m *UserProfileView) GetUserName() string { - if m != nil { - return m.UserName - } - return "" -} - func (m *UserProfileView) GetFirstName() string { if m != nil { return m.FirstName @@ -950,7 +1137,7 @@ func (m *UpdateUserProfileRequest) Reset() { *m = UpdateUserProfileReque func (m *UpdateUserProfileRequest) String() string { return proto.CompactTextString(m) } func (*UpdateUserProfileRequest) ProtoMessage() {} func (*UpdateUserProfileRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{5} + return fileDescriptor_8bbd6f3875b0e874, []int{8} } func (m *UpdateUserProfileRequest) XXX_Unmarshal(b []byte) error { @@ -1017,7 +1204,7 @@ func (m *ChangeUserNameRequest) Reset() { *m = ChangeUserNameRequest{} } func (m *ChangeUserNameRequest) String() string { return proto.CompactTextString(m) } func (*ChangeUserNameRequest) ProtoMessage() {} func (*ChangeUserNameRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{6} + return fileDescriptor_8bbd6f3875b0e874, []int{9} } func (m *ChangeUserNameRequest) XXX_Unmarshal(b []byte) error { @@ -1061,7 +1248,7 @@ func (m *UserEmail) Reset() { *m = UserEmail{} } func (m *UserEmail) String() string { return proto.CompactTextString(m) } func (*UserEmail) ProtoMessage() {} func (*UserEmail) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{7} + return fileDescriptor_8bbd6f3875b0e874, []int{10} } func (m *UserEmail) XXX_Unmarshal(b []byte) error { @@ -1140,7 +1327,7 @@ func (m *UserEmailView) Reset() { *m = UserEmailView{} } func (m *UserEmailView) String() string { return proto.CompactTextString(m) } func (*UserEmailView) ProtoMessage() {} func (*UserEmailView) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{8} + return fileDescriptor_8bbd6f3875b0e874, []int{11} } func (m *UserEmailView) XXX_Unmarshal(b []byte) error { @@ -1214,7 +1401,7 @@ func (m *VerifyMyUserEmailRequest) Reset() { *m = VerifyMyUserEmailReque func (m *VerifyMyUserEmailRequest) String() string { return proto.CompactTextString(m) } func (*VerifyMyUserEmailRequest) ProtoMessage() {} func (*VerifyMyUserEmailRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{9} + return fileDescriptor_8bbd6f3875b0e874, []int{12} } func (m *VerifyMyUserEmailRequest) XXX_Unmarshal(b []byte) error { @@ -1242,53 +1429,6 @@ func (m *VerifyMyUserEmailRequest) GetCode() string { return "" } -type VerifyUserEmailRequest struct { - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *VerifyUserEmailRequest) Reset() { *m = VerifyUserEmailRequest{} } -func (m *VerifyUserEmailRequest) String() string { return proto.CompactTextString(m) } -func (*VerifyUserEmailRequest) ProtoMessage() {} -func (*VerifyUserEmailRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{10} -} - -func (m *VerifyUserEmailRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_VerifyUserEmailRequest.Unmarshal(m, b) -} -func (m *VerifyUserEmailRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_VerifyUserEmailRequest.Marshal(b, m, deterministic) -} -func (m *VerifyUserEmailRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_VerifyUserEmailRequest.Merge(m, src) -} -func (m *VerifyUserEmailRequest) XXX_Size() int { - return xxx_messageInfo_VerifyUserEmailRequest.Size(m) -} -func (m *VerifyUserEmailRequest) XXX_DiscardUnknown() { - xxx_messageInfo_VerifyUserEmailRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_VerifyUserEmailRequest proto.InternalMessageInfo - -func (m *VerifyUserEmailRequest) GetId() string { - if m != nil { - return m.Id - } - return "" -} - -func (m *VerifyUserEmailRequest) GetCode() string { - if m != nil { - return m.Code - } - return "" -} - type UpdateUserEmailRequest struct { Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -1300,7 +1440,7 @@ func (m *UpdateUserEmailRequest) Reset() { *m = UpdateUserEmailRequest{} func (m *UpdateUserEmailRequest) String() string { return proto.CompactTextString(m) } func (*UpdateUserEmailRequest) ProtoMessage() {} func (*UpdateUserEmailRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{11} + return fileDescriptor_8bbd6f3875b0e874, []int{13} } func (m *UpdateUserEmailRequest) XXX_Unmarshal(b []byte) error { @@ -1344,7 +1484,7 @@ func (m *UserPhone) Reset() { *m = UserPhone{} } func (m *UserPhone) String() string { return proto.CompactTextString(m) } func (*UserPhone) ProtoMessage() {} func (*UserPhone) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{12} + return fileDescriptor_8bbd6f3875b0e874, []int{14} } func (m *UserPhone) XXX_Unmarshal(b []byte) error { @@ -1423,7 +1563,7 @@ func (m *UserPhoneView) Reset() { *m = UserPhoneView{} } func (m *UserPhoneView) String() string { return proto.CompactTextString(m) } func (*UserPhoneView) ProtoMessage() {} func (*UserPhoneView) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{13} + return fileDescriptor_8bbd6f3875b0e874, []int{15} } func (m *UserPhoneView) XXX_Unmarshal(b []byte) error { @@ -1497,7 +1637,7 @@ func (m *UpdateUserPhoneRequest) Reset() { *m = UpdateUserPhoneRequest{} func (m *UpdateUserPhoneRequest) String() string { return proto.CompactTextString(m) } func (*UpdateUserPhoneRequest) ProtoMessage() {} func (*UpdateUserPhoneRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{14} + return fileDescriptor_8bbd6f3875b0e874, []int{16} } func (m *UpdateUserPhoneRequest) XXX_Unmarshal(b []byte) error { @@ -1536,7 +1676,7 @@ func (m *VerifyUserPhoneRequest) Reset() { *m = VerifyUserPhoneRequest{} func (m *VerifyUserPhoneRequest) String() string { return proto.CompactTextString(m) } func (*VerifyUserPhoneRequest) ProtoMessage() {} func (*VerifyUserPhoneRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{15} + return fileDescriptor_8bbd6f3875b0e874, []int{17} } func (m *VerifyUserPhoneRequest) XXX_Unmarshal(b []byte) error { @@ -1583,7 +1723,7 @@ func (m *UserAddress) Reset() { *m = UserAddress{} } func (m *UserAddress) String() string { return proto.CompactTextString(m) } func (*UserAddress) ProtoMessage() {} func (*UserAddress) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{16} + return fileDescriptor_8bbd6f3875b0e874, []int{18} } func (m *UserAddress) XXX_Unmarshal(b []byte) error { @@ -1686,7 +1826,7 @@ func (m *UserAddressView) Reset() { *m = UserAddressView{} } func (m *UserAddressView) String() string { return proto.CompactTextString(m) } func (*UserAddressView) ProtoMessage() {} func (*UserAddressView) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{17} + return fileDescriptor_8bbd6f3875b0e874, []int{19} } func (m *UserAddressView) XXX_Unmarshal(b []byte) error { @@ -1785,7 +1925,7 @@ func (m *UpdateUserAddressRequest) Reset() { *m = UpdateUserAddressReque func (m *UpdateUserAddressRequest) String() string { return proto.CompactTextString(m) } func (*UpdateUserAddressRequest) ProtoMessage() {} func (*UpdateUserAddressRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{18} + return fileDescriptor_8bbd6f3875b0e874, []int{20} } func (m *UpdateUserAddressRequest) XXX_Unmarshal(b []byte) error { @@ -1841,84 +1981,6 @@ func (m *UpdateUserAddressRequest) GetStreetAddress() string { return "" } -type PasswordID struct { - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PasswordID) Reset() { *m = PasswordID{} } -func (m *PasswordID) String() string { return proto.CompactTextString(m) } -func (*PasswordID) ProtoMessage() {} -func (*PasswordID) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{19} -} - -func (m *PasswordID) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PasswordID.Unmarshal(m, b) -} -func (m *PasswordID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PasswordID.Marshal(b, m, deterministic) -} -func (m *PasswordID) XXX_Merge(src proto.Message) { - xxx_messageInfo_PasswordID.Merge(m, src) -} -func (m *PasswordID) XXX_Size() int { - return xxx_messageInfo_PasswordID.Size(m) -} -func (m *PasswordID) XXX_DiscardUnknown() { - xxx_messageInfo_PasswordID.DiscardUnknown(m) -} - -var xxx_messageInfo_PasswordID proto.InternalMessageInfo - -func (m *PasswordID) GetId() string { - if m != nil { - return m.Id - } - return "" -} - -type PasswordRequest struct { - Password string `protobuf:"bytes,1,opt,name=password,proto3" json:"password,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PasswordRequest) Reset() { *m = PasswordRequest{} } -func (m *PasswordRequest) String() string { return proto.CompactTextString(m) } -func (*PasswordRequest) ProtoMessage() {} -func (*PasswordRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{20} -} - -func (m *PasswordRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PasswordRequest.Unmarshal(m, b) -} -func (m *PasswordRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PasswordRequest.Marshal(b, m, deterministic) -} -func (m *PasswordRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_PasswordRequest.Merge(m, src) -} -func (m *PasswordRequest) XXX_Size() int { - return xxx_messageInfo_PasswordRequest.Size(m) -} -func (m *PasswordRequest) XXX_DiscardUnknown() { - xxx_messageInfo_PasswordRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_PasswordRequest proto.InternalMessageInfo - -func (m *PasswordRequest) GetPassword() string { - if m != nil { - return m.Password - } - return "" -} - type PasswordChange struct { OldPassword string `protobuf:"bytes,1,opt,name=old_password,json=oldPassword,proto3" json:"old_password,omitempty"` NewPassword string `protobuf:"bytes,2,opt,name=new_password,json=newPassword,proto3" json:"new_password,omitempty"` @@ -2154,53 +2216,6 @@ func (m *MfaOtpResponse) GetState() MFAState { return MFAState_MFASTATE_UNSPECIFIED } -type OIDCClientAuth struct { - ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` - ClientSecret string `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OIDCClientAuth) Reset() { *m = OIDCClientAuth{} } -func (m *OIDCClientAuth) String() string { return proto.CompactTextString(m) } -func (*OIDCClientAuth) ProtoMessage() {} -func (*OIDCClientAuth) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{26} -} - -func (m *OIDCClientAuth) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OIDCClientAuth.Unmarshal(m, b) -} -func (m *OIDCClientAuth) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OIDCClientAuth.Marshal(b, m, deterministic) -} -func (m *OIDCClientAuth) XXX_Merge(src proto.Message) { - xxx_messageInfo_OIDCClientAuth.Merge(m, src) -} -func (m *OIDCClientAuth) XXX_Size() int { - return xxx_messageInfo_OIDCClientAuth.Size(m) -} -func (m *OIDCClientAuth) XXX_DiscardUnknown() { - xxx_messageInfo_OIDCClientAuth.DiscardUnknown(m) -} - -var xxx_messageInfo_OIDCClientAuth proto.InternalMessageInfo - -func (m *OIDCClientAuth) GetClientId() string { - if m != nil { - return m.ClientId - } - return "" -} - -func (m *OIDCClientAuth) GetClientSecret() string { - if m != nil { - return m.ClientSecret - } - return "" -} - type UserGrantSearchRequest struct { Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` @@ -2216,7 +2231,7 @@ func (m *UserGrantSearchRequest) Reset() { *m = UserGrantSearchRequest{} func (m *UserGrantSearchRequest) String() string { return proto.CompactTextString(m) } func (*UserGrantSearchRequest) ProtoMessage() {} func (*UserGrantSearchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{27} + return fileDescriptor_8bbd6f3875b0e874, []int{26} } func (m *UserGrantSearchRequest) XXX_Unmarshal(b []byte) error { @@ -2285,7 +2300,7 @@ func (m *UserGrantSearchQuery) Reset() { *m = UserGrantSearchQuery{} } func (m *UserGrantSearchQuery) String() string { return proto.CompactTextString(m) } func (*UserGrantSearchQuery) ProtoMessage() {} func (*UserGrantSearchQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{28} + return fileDescriptor_8bbd6f3875b0e874, []int{27} } func (m *UserGrantSearchQuery) XXX_Unmarshal(b []byte) error { @@ -2343,7 +2358,7 @@ func (m *UserGrantSearchResponse) Reset() { *m = UserGrantSearchResponse func (m *UserGrantSearchResponse) String() string { return proto.CompactTextString(m) } func (*UserGrantSearchResponse) ProtoMessage() {} func (*UserGrantSearchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{29} + return fileDescriptor_8bbd6f3875b0e874, []int{28} } func (m *UserGrantSearchResponse) XXX_Unmarshal(b []byte) error { @@ -2422,7 +2437,7 @@ func (m *UserGrantView) Reset() { *m = UserGrantView{} } func (m *UserGrantView) String() string { return proto.CompactTextString(m) } func (*UserGrantView) ProtoMessage() {} func (*UserGrantView) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{30} + return fileDescriptor_8bbd6f3875b0e874, []int{29} } func (m *UserGrantView) XXX_Unmarshal(b []byte) error { @@ -2499,7 +2514,7 @@ func (m *MyProjectOrgSearchRequest) Reset() { *m = MyProjectOrgSearchReq func (m *MyProjectOrgSearchRequest) String() string { return proto.CompactTextString(m) } func (*MyProjectOrgSearchRequest) ProtoMessage() {} func (*MyProjectOrgSearchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{31} + return fileDescriptor_8bbd6f3875b0e874, []int{30} } func (m *MyProjectOrgSearchRequest) XXX_Unmarshal(b []byte) error { @@ -2561,7 +2576,7 @@ func (m *MyProjectOrgSearchQuery) Reset() { *m = MyProjectOrgSearchQuery func (m *MyProjectOrgSearchQuery) String() string { return proto.CompactTextString(m) } func (*MyProjectOrgSearchQuery) ProtoMessage() {} func (*MyProjectOrgSearchQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{32} + return fileDescriptor_8bbd6f3875b0e874, []int{31} } func (m *MyProjectOrgSearchQuery) XXX_Unmarshal(b []byte) error { @@ -2617,7 +2632,7 @@ func (m *MyProjectOrgSearchResponse) Reset() { *m = MyProjectOrgSearchRe func (m *MyProjectOrgSearchResponse) String() string { return proto.CompactTextString(m) } func (*MyProjectOrgSearchResponse) ProtoMessage() {} func (*MyProjectOrgSearchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{33} + return fileDescriptor_8bbd6f3875b0e874, []int{32} } func (m *MyProjectOrgSearchResponse) XXX_Unmarshal(b []byte) error { @@ -2678,7 +2693,7 @@ func (m *Org) Reset() { *m = Org{} } func (m *Org) String() string { return proto.CompactTextString(m) } func (*Org) ProtoMessage() {} func (*Org) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{34} + return fileDescriptor_8bbd6f3875b0e874, []int{33} } func (m *Org) XXX_Unmarshal(b []byte) error { @@ -2724,7 +2739,7 @@ func (m *MyPermissions) Reset() { *m = MyPermissions{} } func (m *MyPermissions) String() string { return proto.CompactTextString(m) } func (*MyPermissions) ProtoMessage() {} func (*MyPermissions) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{35} + return fileDescriptor_8bbd6f3875b0e874, []int{34} } func (m *MyPermissions) XXX_Unmarshal(b []byte) error { @@ -2765,7 +2780,7 @@ func (m *ChangesRequest) Reset() { *m = ChangesRequest{} } func (m *ChangesRequest) String() string { return proto.CompactTextString(m) } func (*ChangesRequest) ProtoMessage() {} func (*ChangesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{36} + return fileDescriptor_8bbd6f3875b0e874, []int{35} } func (m *ChangesRequest) XXX_Unmarshal(b []byte) error { @@ -2820,7 +2835,7 @@ func (m *Changes) Reset() { *m = Changes{} } func (m *Changes) String() string { return proto.CompactTextString(m) } func (*Changes) ProtoMessage() {} func (*Changes) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{37} + return fileDescriptor_8bbd6f3875b0e874, []int{36} } func (m *Changes) XXX_Unmarshal(b []byte) error { @@ -2878,7 +2893,7 @@ func (m *Change) Reset() { *m = Change{} } func (m *Change) String() string { return proto.CompactTextString(m) } func (*Change) ProtoMessage() {} func (*Change) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{38} + return fileDescriptor_8bbd6f3875b0e874, []int{37} } func (m *Change) XXX_Unmarshal(b []byte) error { @@ -2962,7 +2977,7 @@ func (m *PasswordComplexityPolicy) Reset() { *m = PasswordComplexityPoli func (m *PasswordComplexityPolicy) String() string { return proto.CompactTextString(m) } func (*PasswordComplexityPolicy) ProtoMessage() {} func (*PasswordComplexityPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_8bbd6f3875b0e874, []int{39} + return fileDescriptor_8bbd6f3875b0e874, []int{38} } func (m *PasswordComplexityPolicy) XXX_Unmarshal(b []byte) error { @@ -3062,7 +3077,7 @@ func (m *PasswordComplexityPolicy) GetIsDefault() bool { func init() { proto.RegisterEnum("caos.zitadel.auth.api.v1.UserSessionState", UserSessionState_name, UserSessionState_value) - proto.RegisterEnum("caos.zitadel.auth.api.v1.OIDCResponseType", OIDCResponseType_name, OIDCResponseType_value) + proto.RegisterEnum("caos.zitadel.auth.api.v1.MachineKeyType", MachineKeyType_name, MachineKeyType_value) proto.RegisterEnum("caos.zitadel.auth.api.v1.UserState", UserState_name, UserState_value) proto.RegisterEnum("caos.zitadel.auth.api.v1.Gender", Gender_name, Gender_value) proto.RegisterEnum("caos.zitadel.auth.api.v1.MfaType", MfaType_name, MfaType_value) @@ -3073,6 +3088,9 @@ func init() { proto.RegisterType((*UserSessionViews)(nil), "caos.zitadel.auth.api.v1.UserSessionViews") proto.RegisterType((*UserSessionView)(nil), "caos.zitadel.auth.api.v1.UserSessionView") proto.RegisterType((*UserView)(nil), "caos.zitadel.auth.api.v1.UserView") + proto.RegisterType((*MachineView)(nil), "caos.zitadel.auth.api.v1.MachineView") + proto.RegisterType((*MachineKeyView)(nil), "caos.zitadel.auth.api.v1.MachineKeyView") + proto.RegisterType((*HumanView)(nil), "caos.zitadel.auth.api.v1.HumanView") proto.RegisterType((*UserProfile)(nil), "caos.zitadel.auth.api.v1.UserProfile") proto.RegisterType((*UserProfileView)(nil), "caos.zitadel.auth.api.v1.UserProfileView") proto.RegisterType((*UpdateUserProfileRequest)(nil), "caos.zitadel.auth.api.v1.UpdateUserProfileRequest") @@ -3080,7 +3098,6 @@ func init() { proto.RegisterType((*UserEmail)(nil), "caos.zitadel.auth.api.v1.UserEmail") proto.RegisterType((*UserEmailView)(nil), "caos.zitadel.auth.api.v1.UserEmailView") proto.RegisterType((*VerifyMyUserEmailRequest)(nil), "caos.zitadel.auth.api.v1.VerifyMyUserEmailRequest") - proto.RegisterType((*VerifyUserEmailRequest)(nil), "caos.zitadel.auth.api.v1.VerifyUserEmailRequest") proto.RegisterType((*UpdateUserEmailRequest)(nil), "caos.zitadel.auth.api.v1.UpdateUserEmailRequest") proto.RegisterType((*UserPhone)(nil), "caos.zitadel.auth.api.v1.UserPhone") proto.RegisterType((*UserPhoneView)(nil), "caos.zitadel.auth.api.v1.UserPhoneView") @@ -3089,14 +3106,11 @@ func init() { proto.RegisterType((*UserAddress)(nil), "caos.zitadel.auth.api.v1.UserAddress") proto.RegisterType((*UserAddressView)(nil), "caos.zitadel.auth.api.v1.UserAddressView") proto.RegisterType((*UpdateUserAddressRequest)(nil), "caos.zitadel.auth.api.v1.UpdateUserAddressRequest") - proto.RegisterType((*PasswordID)(nil), "caos.zitadel.auth.api.v1.PasswordID") - proto.RegisterType((*PasswordRequest)(nil), "caos.zitadel.auth.api.v1.PasswordRequest") proto.RegisterType((*PasswordChange)(nil), "caos.zitadel.auth.api.v1.PasswordChange") proto.RegisterType((*VerifyMfaOtp)(nil), "caos.zitadel.auth.api.v1.VerifyMfaOtp") proto.RegisterType((*MultiFactors)(nil), "caos.zitadel.auth.api.v1.MultiFactors") proto.RegisterType((*MultiFactor)(nil), "caos.zitadel.auth.api.v1.MultiFactor") proto.RegisterType((*MfaOtpResponse)(nil), "caos.zitadel.auth.api.v1.MfaOtpResponse") - proto.RegisterType((*OIDCClientAuth)(nil), "caos.zitadel.auth.api.v1.OIDCClientAuth") proto.RegisterType((*UserGrantSearchRequest)(nil), "caos.zitadel.auth.api.v1.UserGrantSearchRequest") proto.RegisterType((*UserGrantSearchQuery)(nil), "caos.zitadel.auth.api.v1.UserGrantSearchQuery") proto.RegisterType((*UserGrantSearchResponse)(nil), "caos.zitadel.auth.api.v1.UserGrantSearchResponse") @@ -3115,242 +3129,247 @@ func init() { func init() { proto.RegisterFile("auth.proto", fileDescriptor_8bbd6f3875b0e874) } var fileDescriptor_8bbd6f3875b0e874 = []byte{ - // 3616 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0x5f, 0x6f, 0x1b, 0x57, - 0x76, 0xf7, 0x90, 0x94, 0x44, 0x1e, 0x4a, 0x14, 0x75, 0x2d, 0x4b, 0x14, 0x65, 0xd9, 0xf4, 0x38, - 0x8e, 0x65, 0xc6, 0x16, 0x6d, 0x25, 0x41, 0x6d, 0x07, 0x48, 0x40, 0x8b, 0xb4, 0xc4, 0x5a, 0xfc, - 0x93, 0x21, 0xe5, 0xd4, 0x01, 0x0a, 0x62, 0xc4, 0xb9, 0xa2, 0x26, 0x19, 0x72, 0x98, 0x99, 0xa1, - 0x54, 0x06, 0x68, 0x80, 0xa6, 0x45, 0xd3, 0x02, 0x4d, 0x5b, 0xa4, 0x45, 0x81, 0xa2, 0xe8, 0x43, - 0x81, 0xb6, 0xe8, 0x43, 0xd1, 0x3e, 0x14, 0x2d, 0x50, 0xb4, 0x1f, 0xa0, 0x2f, 0x7d, 0x58, 0x2c, - 0xb0, 0x1f, 0x60, 0xb1, 0x5f, 0x61, 0xb1, 0xd8, 0xec, 0xcb, 0xe2, 0xfe, 0x99, 0xe1, 0x70, 0x86, - 0x43, 0x52, 0xf6, 0x66, 0x37, 0x08, 0xf2, 0x24, 0xde, 0xf3, 0xef, 0xfe, 0xee, 0x39, 0xe7, 0xde, - 0x7b, 0xe6, 0x1e, 0x01, 0xc8, 0x7d, 0xeb, 0x74, 0xa7, 0x67, 0xe8, 0x96, 0x8e, 0x52, 0x2d, 0x59, - 0x37, 0x77, 0x3e, 0x55, 0x2d, 0x59, 0xc1, 0xda, 0x0e, 0x65, 0xc8, 0x3d, 0x75, 0xe7, 0xec, 0x41, - 0xfa, 0x6a, 0x5b, 0xd7, 0xdb, 0x1a, 0xce, 0xc9, 0x3d, 0x35, 0x27, 0x77, 0xbb, 0xba, 0x25, 0x5b, - 0xaa, 0xde, 0x35, 0x99, 0x5e, 0x7a, 0x93, 0x73, 0xe9, 0xe8, 0xb8, 0x7f, 0x92, 0xc3, 0x9d, 0x9e, - 0x35, 0xe0, 0xcc, 0xab, 0x5e, 0xa6, 0x69, 0x19, 0xfd, 0x96, 0xc5, 0xb9, 0xd7, 0xbd, 0x5c, 0x4b, - 0xed, 0x60, 0xd3, 0x92, 0x3b, 0x3d, 0x2e, 0xb0, 0x7e, 0x26, 0x6b, 0xaa, 0x22, 0x5b, 0x38, 0x67, - 0xff, 0xe0, 0x8c, 0xbb, 0xf4, 0x4f, 0xeb, 0x5e, 0x1b, 0x77, 0xef, 0x99, 0xe7, 0x72, 0xbb, 0x8d, - 0x8d, 0x9c, 0xde, 0xa3, 0xb0, 0xc6, 0x40, 0x4c, 0x91, 0xd5, 0x30, 0xb6, 0x2d, 0xc5, 0x39, 0x97, - 0xe9, 0x9f, 0x5c, 0x07, 0x9b, 0xa6, 0xdc, 0xe6, 0xc6, 0xc5, 0x63, 0x48, 0x1e, 0x99, 0xd8, 0xa8, - 0x63, 0xd3, 0x54, 0xf5, 0xee, 0x73, 0x15, 0x9f, 0x9b, 0xa8, 0x02, 0x4b, 0x7d, 0x13, 0x1b, 0x4d, - 0x93, 0x11, 0xcd, 0x94, 0x90, 0x09, 0x6f, 0xc7, 0x77, 0xef, 0xec, 0x04, 0x79, 0x6d, 0xc7, 0x63, - 0x42, 0x5a, 0xec, 0x0f, 0x09, 0xa6, 0xf8, 0x77, 0x21, 0x58, 0xf6, 0x48, 0xa0, 0x04, 0x84, 0x54, - 0x25, 0x25, 0x64, 0x84, 0xed, 0x98, 0x14, 0x52, 0x15, 0xb4, 0x01, 0x51, 0xb9, 0x8d, 0xbb, 0x56, - 0x53, 0x55, 0x52, 0x21, 0x4a, 0x5d, 0xa0, 0xe3, 0x92, 0x82, 0x4a, 0x2c, 0x74, 0x4d, 0xd3, 0x92, - 0x2d, 0x9c, 0x0a, 0x67, 0x84, 0xed, 0xc4, 0x6e, 0x76, 0x26, 0x2c, 0x75, 0xa2, 0x21, 0xc5, 0x08, - 0x97, 0xfe, 0x44, 0xeb, 0xb0, 0x40, 0x57, 0xa6, 0x2a, 0xa9, 0x08, 0x9d, 0x64, 0x9e, 0x0c, 0x4b, - 0x0a, 0xda, 0x84, 0x18, 0x65, 0x74, 0xe5, 0x0e, 0x4e, 0xcd, 0x51, 0x56, 0x94, 0x10, 0x2a, 0x72, - 0x07, 0xa3, 0x34, 0x44, 0x4d, 0xfc, 0x49, 0x1f, 0x77, 0x5b, 0x38, 0x35, 0x9f, 0x11, 0xb6, 0x23, - 0x92, 0x33, 0x46, 0x5b, 0x00, 0x9a, 0xde, 0x56, 0xbb, 0x4c, 0x73, 0x81, 0x6a, 0xc6, 0x28, 0x85, - 0xaa, 0xde, 0x80, 0x45, 0x45, 0x35, 0x7b, 0x9a, 0x3c, 0x60, 0x02, 0x51, 0x2a, 0x10, 0xe7, 0x34, - 0x22, 0x22, 0x7e, 0x11, 0x85, 0x28, 0xc1, 0x3c, 0xd6, 0x2d, 0x8f, 0x60, 0x8e, 0x2d, 0x3b, 0x44, - 0x97, 0x7d, 0x73, 0xca, 0xb2, 0xe9, 0x7a, 0x99, 0x06, 0x7a, 0x0f, 0x96, 0x5a, 0x06, 0xa6, 0xb9, - 0xd1, 0x54, 0x6c, 0xcf, 0xc5, 0x77, 0xd3, 0x3b, 0x2c, 0x11, 0x77, 0xec, 0x44, 0xdc, 0x69, 0xd8, - 0x89, 0x28, 0x2d, 0xda, 0x0a, 0x05, 0x62, 0xe0, 0x1d, 0x88, 0xb7, 0x4e, 0xe5, 0x6e, 0x1b, 0x33, - 0xf5, 0xc8, 0x54, 0x75, 0x60, 0xe2, 0x54, 0xf9, 0x11, 0x80, 0x26, 0x9b, 0x56, 0x93, 0xba, 0x82, - 0x7a, 0x74, 0xb2, 0x6e, 0x8c, 0x48, 0x1f, 0x12, 0x61, 0x54, 0x84, 0x64, 0x4f, 0x36, 0xcd, 0x73, - 0xdd, 0x50, 0x9a, 0xcc, 0xa2, 0x42, 0xdd, 0x3e, 0xd9, 0xc0, 0xb2, 0xad, 0xb3, 0xc7, 0x54, 0x46, - 0x43, 0xba, 0xe0, 0x09, 0xe9, 0x16, 0xc0, 0x89, 0x6a, 0x98, 0x96, 0x3b, 0x2a, 0x31, 0x4a, 0xa1, - 0xec, 0x4d, 0xa0, 0x78, 0x18, 0x37, 0xc6, 0x74, 0x09, 0x61, 0x6c, 0x4c, 0xc1, 0x17, 0x53, 0xa2, - 0xdf, 0x55, 0x5b, 0x1f, 0x33, 0x7e, 0x9c, 0xe9, 0x13, 0x02, 0x65, 0xde, 0x03, 0xd4, 0x33, 0xf0, - 0x09, 0x36, 0x0c, 0xac, 0x34, 0x35, 0xb9, 0xdb, 0xee, 0xcb, 0x6d, 0x9c, 0x5a, 0xa4, 0x52, 0x2b, - 0x0e, 0xe7, 0x90, 0x33, 0xd0, 0x43, 0x98, 0x6f, 0xe3, 0xae, 0x82, 0x8d, 0xd4, 0x12, 0xcd, 0x81, - 0x4c, 0x70, 0x0e, 0xec, 0x53, 0x39, 0x89, 0xcb, 0xa3, 0x55, 0x98, 0xc3, 0x1d, 0x59, 0xd5, 0x52, - 0x09, 0x6a, 0x9b, 0x0d, 0x50, 0x16, 0x56, 0x54, 0xb3, 0x49, 0x7f, 0x37, 0xcf, 0xb0, 0xa1, 0x9e, - 0xa8, 0x58, 0x49, 0x2d, 0x67, 0x84, 0xed, 0xa8, 0xb4, 0xac, 0x9a, 0x45, 0x42, 0x7f, 0xce, 0xc9, - 0xc4, 0x42, 0xef, 0x54, 0xef, 0xe2, 0x54, 0x92, 0x59, 0xa0, 0x03, 0x6e, 0x81, 0xfe, 0x1e, 0x5a, - 0x58, 0xb1, 0x2d, 0xd4, 0x08, 0xdd, 0xb1, 0x90, 0x82, 0x85, 0x96, 0xde, 0xef, 0x5a, 0xc6, 0x20, - 0x85, 0xd8, 0xb6, 0xe6, 0x43, 0xb2, 0xab, 0x34, 0xbd, 0x25, 0x6b, 0xaa, 0x35, 0x48, 0x5d, 0xe6, - 0x2e, 0xe6, 0x63, 0x74, 0x1d, 0xe2, 0x3d, 0xdd, 0xb4, 0x64, 0xad, 0xd9, 0xd2, 0x15, 0x9c, 0x5a, - 0xa5, 0x6c, 0x60, 0xa4, 0x3d, 0x5d, 0xc1, 0x68, 0x0d, 0xe6, 0x0d, 0xdc, 0x56, 0xf5, 0x6e, 0xea, - 0x0a, 0xdb, 0xc7, 0x6c, 0x84, 0x6e, 0x41, 0xc2, 0xb4, 0x0c, 0x8c, 0xad, 0xa6, 0xac, 0x28, 0x06, - 0x36, 0xcd, 0xd4, 0x1a, 0xe5, 0x2f, 0x31, 0x6a, 0x9e, 0x11, 0x47, 0x76, 0xf4, 0xba, 0x67, 0x47, - 0xdf, 0x82, 0x84, 0x81, 0x4d, 0xbd, 0x6f, 0xb4, 0x70, 0x53, 0x3f, 0xef, 0x62, 0x23, 0x95, 0x62, - 0x26, 0x6c, 0x6a, 0x95, 0x10, 0x09, 0xc4, 0xe1, 0xc6, 0x37, 0x53, 0x1b, 0x99, 0x30, 0x81, 0xe8, - 0xec, 0x7c, 0x13, 0xdd, 0x87, 0x55, 0x57, 0x98, 0x87, 0x67, 0x44, 0x9a, 0x5a, 0x1b, 0xa6, 0xc0, - 0xa1, 0xad, 0x22, 0xfe, 0x77, 0x18, 0xe2, 0x64, 0x1b, 0xd7, 0x0c, 0xfd, 0x44, 0xd5, 0xb0, 0xef, - 0x30, 0x18, 0xc9, 0xe8, 0xd0, 0xc4, 0x8c, 0x0e, 0x4f, 0xcc, 0xe8, 0x88, 0x27, 0xa3, 0x47, 0xd2, - 0x75, 0xce, 0x93, 0xae, 0xde, 0x74, 0x9f, 0xf7, 0xa7, 0xfb, 0xf8, 0x8c, 0x5e, 0x98, 0x9e, 0xd1, - 0xd1, 0x0b, 0x66, 0xb4, 0x3b, 0x6e, 0x31, 0x4f, 0xdc, 0x7c, 0xe7, 0x1d, 0xbc, 0xda, 0x79, 0x17, - 0xbf, 0xc8, 0x79, 0x27, 0xfe, 0x65, 0x84, 0xdd, 0x71, 0x3c, 0x76, 0x63, 0x0f, 0xf3, 0xef, 0xe3, - 0xf7, 0xad, 0x8d, 0x9f, 0x77, 0x3b, 0x2f, 0xce, 0xbc, 0x9d, 0x97, 0x02, 0xb7, 0xf3, 0x9f, 0x85, - 0x20, 0x75, 0xd4, 0x23, 0x58, 0x5c, 0x89, 0x21, 0x91, 0xe5, 0x9a, 0x16, 0xba, 0x33, 0x12, 0x6e, - 0x9a, 0x23, 0x4f, 0xe0, 0xeb, 0x27, 0x0b, 0xc6, 0x5c, 0x52, 0x48, 0xfd, 0x9f, 0xe0, 0x0e, 0xfd, - 0x6d, 0x77, 0xe8, 0x43, 0x3e, 0xc9, 0x61, 0x1a, 0xdc, 0x76, 0xa7, 0x41, 0xd8, 0x2f, 0xe8, 0xa4, - 0xc4, 0xa3, 0xb1, 0xf1, 0x8e, 0xf8, 0x34, 0x26, 0xc6, 0x7e, 0xee, 0x62, 0xb1, 0x17, 0xdf, 0x85, - 0x2b, 0xec, 0x6a, 0x3e, 0xe2, 0x29, 0x6f, 0xbb, 0xe2, 0x96, 0x7b, 0x5b, 0x30, 0x4f, 0x44, 0xbf, - 0x7e, 0x32, 0x67, 0x84, 0x29, 0x68, 0x7b, 0x83, 0x88, 0x3f, 0x15, 0x20, 0x46, 0x54, 0xe9, 0x0d, - 0xe5, 0xdb, 0x5b, 0xce, 0x5d, 0x17, 0x72, 0xdf, 0x75, 0xdb, 0xe0, 0xbd, 0xd2, 0xa8, 0x5f, 0xc6, - 0xdc, 0x74, 0xee, 0xcc, 0x8c, 0x4c, 0xcb, 0xcc, 0xb9, 0x57, 0xcb, 0xcc, 0xf9, 0x0b, 0x9d, 0x2c, - 0x3f, 0x17, 0x60, 0xc9, 0x59, 0xf7, 0xd8, 0x73, 0xe5, 0xbb, 0xbb, 0xf6, 0xc7, 0x90, 0xa2, 0x28, - 0x07, 0xe5, 0x81, 0xe3, 0x02, 0x3b, 0x6d, 0xae, 0x41, 0x84, 0x16, 0x07, 0xfe, 0xbd, 0x43, 0xe9, - 0xe2, 0x01, 0xac, 0x31, 0x5d, 0x9f, 0xa6, 0xd7, 0x7f, 0xb6, 0xa5, 0x50, 0x80, 0xa5, 0xc7, 0xb0, - 0x36, 0xdc, 0xc7, 0x23, 0x96, 0x32, 0xb6, 0xe7, 0xfd, 0x20, 0x18, 0x43, 0xfc, 0x19, 0xcf, 0x5a, - 0x5a, 0x15, 0x8d, 0x8b, 0x1c, 0xab, 0xaf, 0x42, 0x53, 0xeb, 0xab, 0xf0, 0xf8, 0xfa, 0xea, 0xdb, - 0x1b, 0xbb, 0x5f, 0xf0, 0xbc, 0x65, 0x78, 0x03, 0xf2, 0xf6, 0x3b, 0xbb, 0xfa, 0x47, 0xee, 0x9c, - 0xa1, 0xa0, 0xed, 0x9c, 0xb9, 0x6e, 0xaf, 0x9a, 0xe5, 0x4c, 0xec, 0xeb, 0x27, 0xf3, 0x46, 0x24, - 0x29, 0xa4, 0x56, 0xb9, 0x03, 0xc4, 0x87, 0xee, 0xc4, 0x1d, 0x51, 0x9d, 0x96, 0xf2, 0xff, 0x1f, - 0x62, 0x05, 0xa4, 0x5d, 0xe6, 0x7a, 0x1d, 0xee, 0x2a, 0xc6, 0x43, 0xc1, 0xc5, 0x78, 0x78, 0x72, - 0x31, 0x1e, 0x99, 0x50, 0x8c, 0xcf, 0x4d, 0x29, 0xc6, 0xe7, 0xa7, 0x15, 0xe3, 0x0b, 0xd3, 0x82, - 0x18, 0x7d, 0xb5, 0x20, 0xc6, 0x2e, 0x14, 0xc4, 0x1f, 0xf0, 0x87, 0x0b, 0x8e, 0x74, 0x6c, 0x12, - 0x7f, 0xef, 0xd3, 0x8b, 0xf9, 0xf4, 0xc7, 0x82, 0xbb, 0x2a, 0xe2, 0x78, 0xed, 0x04, 0x17, 0x87, - 0xce, 0xf4, 0x16, 0x02, 0x8e, 0x5b, 0x5f, 0x73, 0xb9, 0x35, 0xe4, 0xad, 0x16, 0x1c, 0x07, 0xdf, - 0x19, 0x75, 0x70, 0xd8, 0x23, 0xe8, 0x76, 0x75, 0xc6, 0x71, 0x75, 0xc4, 0x23, 0x65, 0x3b, 0x3d, - 0xe7, 0x73, 0xfa, 0x9c, 0x47, 0x72, 0xd4, 0xfd, 0xe2, 0x55, 0x80, 0x1a, 0x7f, 0x8e, 0x28, 0x15, - 0xbc, 0x29, 0x23, 0x3e, 0x84, 0x65, 0x9b, 0x3b, 0xac, 0x81, 0xa2, 0xf6, 0xfb, 0x85, 0xf7, 0x5c, - 0x38, 0x90, 0x1c, 0x96, 0xa8, 0x41, 0xa2, 0x36, 0xf2, 0xcc, 0x81, 0xee, 0xc2, 0xa2, 0xae, 0x29, - 0xcd, 0x60, 0xe5, 0xb8, 0xae, 0x29, 0xb6, 0x0e, 0x91, 0xee, 0xe2, 0xf3, 0xa1, 0x74, 0xc8, 0x27, - 0xdd, 0xc5, 0xe7, 0xb6, 0xb4, 0x28, 0xc2, 0x22, 0xbf, 0x7d, 0x4f, 0xe4, 0xaa, 0xd5, 0x43, 0xc8, - 0x7d, 0xfc, 0xf0, 0x23, 0xa7, 0x04, 0x8b, 0xe5, 0xbe, 0x66, 0xa9, 0x4f, 0xe5, 0x96, 0xa5, 0x1b, - 0x26, 0x7a, 0x04, 0x91, 0xce, 0x89, 0x6c, 0x3f, 0x19, 0xde, 0x0a, 0xae, 0x0e, 0x5d, 0x5a, 0x12, - 0x55, 0x11, 0x3f, 0x83, 0xb8, 0x8b, 0x88, 0xde, 0x86, 0x88, 0x35, 0xe8, 0xb1, 0xd9, 0x12, 0xbb, - 0x37, 0x26, 0x58, 0x3a, 0x91, 0x1b, 0x83, 0x1e, 0x96, 0xa8, 0x38, 0x7a, 0x38, 0xfa, 0x62, 0x26, - 0x4e, 0xd0, 0x7b, 0x9a, 0x77, 0x3f, 0x98, 0x89, 0x5f, 0x0a, 0x90, 0x60, 0x2b, 0x95, 0xb0, 0xd9, - 0xd3, 0xbb, 0xe6, 0xc8, 0x7b, 0xa1, 0x30, 0xf2, 0x5e, 0x98, 0x84, 0x70, 0xdf, 0xb0, 0x0b, 0x2e, - 0xf2, 0x93, 0x6c, 0x58, 0x13, 0xb7, 0x0c, 0x6c, 0xf1, 0xbd, 0xce, 0x47, 0x43, 0x3c, 0x91, 0x8b, - 0xe2, 0x91, 0x20, 0x51, 0x2d, 0x15, 0xf6, 0xf6, 0x34, 0x15, 0x77, 0xad, 0x7c, 0xdf, 0x3a, 0x25, - 0xdf, 0x79, 0x2d, 0x3a, 0x1a, 0x02, 0x8a, 0x32, 0x42, 0x49, 0x41, 0x37, 0x61, 0x89, 0x33, 0x39, - 0x0e, 0x06, 0x6e, 0x91, 0x11, 0xeb, 0x94, 0x26, 0xfe, 0x41, 0x08, 0xd6, 0xc8, 0xbe, 0xdb, 0x37, - 0x64, 0x42, 0x93, 0x8d, 0xd6, 0xa9, 0x9d, 0x82, 0x6b, 0x30, 0xaf, 0x9f, 0x9c, 0x98, 0xd8, 0xa2, - 0x96, 0x23, 0x12, 0x1f, 0x91, 0x5b, 0x5a, 0x53, 0x3b, 0x2a, 0xb3, 0x17, 0x91, 0xd8, 0x00, 0xfd, - 0x2e, 0x24, 0x4c, 0xdd, 0xb0, 0xd4, 0x6e, 0xbb, 0xd9, 0xd2, 0xb5, 0x7e, 0xa7, 0xcb, 0x1f, 0x66, - 0xef, 0x4e, 0x7e, 0xa1, 0x74, 0xcd, 0xfb, 0x0c, 0x0f, 0xe8, 0x06, 0xfa, 0x5c, 0x08, 0x65, 0x2e, - 0x49, 0x4b, 0xdc, 0xda, 0x1e, 0x35, 0x46, 0xfc, 0x2b, 0x9b, 0x2d, 0xea, 0xb3, 0xa8, 0x44, 0x7e, - 0xa2, 0x03, 0x58, 0xf8, 0xa4, 0x8f, 0x0d, 0x15, 0x93, 0xcd, 0x47, 0x72, 0x6b, 0x67, 0xe6, 0x99, - 0xde, 0xef, 0x63, 0x63, 0x20, 0xd9, 0xea, 0xe2, 0x7f, 0x09, 0xb0, 0x3a, 0x4e, 0x02, 0x1d, 0x40, - 0xf8, 0x63, 0x3c, 0xe0, 0x09, 0xf7, 0xb2, 0x0b, 0x21, 0x26, 0xd0, 0xbb, 0x30, 0xdf, 0xc1, 0xd6, - 0xa9, 0xae, 0xf0, 0x2c, 0x7c, 0x3d, 0xd8, 0x18, 0xb3, 0x51, 0xa6, 0xd2, 0x12, 0xd7, 0x22, 0x3e, - 0x3f, 0x93, 0xb5, 0xbe, 0xfd, 0x0e, 0xc0, 0x06, 0xe2, 0xdf, 0x87, 0x60, 0xdd, 0x17, 0x3c, 0x9e, - 0xa9, 0x17, 0x8b, 0xde, 0x0d, 0x58, 0xb4, 0x74, 0x72, 0x38, 0x1a, 0xd8, 0xec, 0x6b, 0x2c, 0x65, - 0x23, 0x52, 0x9c, 0xd2, 0x24, 0x4a, 0x42, 0xef, 0x91, 0x53, 0x91, 0x32, 0x23, 0xd4, 0xdd, 0xb7, - 0x67, 0xf0, 0x07, 0x7d, 0xfb, 0xe7, 0x6a, 0xec, 0x51, 0x41, 0x6f, 0x61, 0xd3, 0xc4, 0x4a, 0xd3, - 0xb9, 0x8c, 0xe6, 0xe8, 0x4c, 0x2b, 0x0e, 0xa7, 0x6e, 0xdf, 0x4a, 0x79, 0x48, 0x9c, 0xa9, 0xf8, - 0xbc, 0xe9, 0xb4, 0x45, 0x66, 0x28, 0xb8, 0x96, 0x88, 0x86, 0x33, 0x14, 0xff, 0x89, 0x57, 0x9c, - 0x0e, 0x16, 0xb2, 0xfa, 0xaa, 0xd1, 0x2e, 0xd9, 0x9b, 0x85, 0x0d, 0xd0, 0x55, 0x88, 0xd5, 0x0c, - 0xfd, 0x23, 0xdc, 0xb2, 0x4a, 0x76, 0xb3, 0x61, 0x48, 0x20, 0x9e, 0x3c, 0xa2, 0x9b, 0xdc, 0xde, - 0xc8, 0x6c, 0x44, 0x6c, 0x49, 0xba, 0x86, 0x4d, 0xea, 0x8f, 0x98, 0xc4, 0x06, 0xe4, 0xfa, 0xaf, - 0x1a, 0xed, 0xca, 0xf0, 0xe1, 0xc5, 0x1e, 0x12, 0x0e, 0x05, 0x52, 0x52, 0xf8, 0x15, 0x6d, 0x0f, - 0xc5, 0x7f, 0x11, 0x60, 0xa3, 0x3c, 0xe0, 0x33, 0x56, 0x8d, 0xf6, 0xab, 0xec, 0x43, 0xff, 0x46, - 0x79, 0xe6, 0xdd, 0x28, 0x0f, 0x26, 0x1c, 0x39, 0x3e, 0x14, 0x9e, 0xbd, 0xf2, 0xbf, 0x02, 0xac, - 0x07, 0x08, 0xa1, 0x67, 0xee, 0xed, 0x92, 0xbb, 0xc8, 0x24, 0xbf, 0xb6, 0x1d, 0xf3, 0x8f, 0x02, - 0xa4, 0xc7, 0x79, 0xfa, 0x9b, 0xda, 0x34, 0x6f, 0x7b, 0x36, 0xcd, 0x56, 0xf0, 0x2a, 0xaa, 0x46, - 0xdb, 0xde, 0x2a, 0xe2, 0x1d, 0x08, 0x57, 0x8d, 0xb6, 0xaf, 0xb4, 0x44, 0x10, 0x71, 0x3d, 0x15, - 0xd2, 0xdf, 0xe2, 0x03, 0x58, 0x2a, 0x0f, 0x6a, 0xd8, 0xe8, 0xa8, 0xac, 0xb9, 0x86, 0x32, 0x10, - 0xef, 0x0d, 0x87, 0xf4, 0xde, 0x8d, 0x49, 0x6e, 0x92, 0x28, 0x43, 0x82, 0x15, 0x0b, 0x4e, 0x99, - 0xe5, 0xac, 0x4f, 0x70, 0xaf, 0xef, 0x36, 0x2c, 0xdb, 0xdb, 0xb4, 0xc9, 0xdd, 0xc2, 0xd6, 0x9f, - 0xb0, 0xc9, 0x55, 0xe6, 0x1e, 0x9e, 0x73, 0x61, 0x27, 0xe7, 0x44, 0x13, 0x16, 0xf8, 0x14, 0xe8, - 0x31, 0x2c, 0xb0, 0x6a, 0xcf, 0xae, 0x01, 0x26, 0xbc, 0x10, 0x31, 0x1d, 0xc9, 0x56, 0x70, 0xc5, - 0x23, 0x34, 0x3e, 0x1e, 0x61, 0x17, 0x5e, 0xf1, 0x4f, 0x43, 0x30, 0xcf, 0xab, 0x20, 0x4f, 0x45, - 0x2a, 0x5c, 0xe8, 0xe9, 0xaf, 0x00, 0x80, 0xcf, 0xc8, 0xbd, 0x49, 0xcb, 0x8d, 0x10, 0xd5, 0xf5, - 0x16, 0x2e, 0x0c, 0xef, 0x21, 0xad, 0x2e, 0x3f, 0xc5, 0x4a, 0x99, 0xf5, 0x50, 0xa5, 0x18, 0x55, - 0x24, 0xd5, 0xc7, 0x48, 0xc5, 0x1d, 0xf6, 0x54, 0xdc, 0x9b, 0x10, 0xc3, 0x8a, 0x6a, 0xe9, 0xae, - 0xc6, 0x63, 0x94, 0x11, 0xd8, 0x79, 0xc3, 0x7e, 0xdb, 0x95, 0x3e, 0x1b, 0xa1, 0x37, 0x20, 0xa2, - 0xc8, 0x96, 0xcc, 0x8f, 0xc1, 0x75, 0xdf, 0x62, 0xea, 0xb4, 0xbb, 0x2c, 0x51, 0x21, 0xf1, 0x5f, - 0xc3, 0x90, 0x72, 0x2a, 0x43, 0xbd, 0xd3, 0xd3, 0xf0, 0xef, 0xa9, 0xd6, 0xa0, 0xa6, 0x6b, 0x6a, - 0x6b, 0xe0, 0xcb, 0xab, 0x0c, 0xc4, 0x15, 0x6c, 0xb6, 0x0c, 0x95, 0xb6, 0x87, 0x79, 0x7a, 0xb9, - 0x49, 0xbf, 0xe1, 0xde, 0xe1, 0x16, 0x40, 0x47, 0xed, 0x36, 0x35, 0xdc, 0x6d, 0x5b, 0xa7, 0xfc, - 0xc6, 0x88, 0x75, 0xd4, 0xee, 0x21, 0x25, 0x90, 0x42, 0xe7, 0x54, 0x36, 0x9b, 0x9a, 0x7e, 0x8e, - 0x8d, 0x96, 0x6c, 0xb2, 0x2f, 0xf3, 0xa8, 0xb4, 0x78, 0x2a, 0x9b, 0x87, 0x36, 0xcd, 0x16, 0xea, - 0xf7, 0x7a, 0x5c, 0x68, 0xc1, 0x11, 0x3a, 0xb2, 0x69, 0x64, 0x22, 0x22, 0xd4, 0xed, 0x77, 0x8e, - 0xf9, 0x63, 0x76, 0x54, 0x8a, 0x9d, 0xca, 0x66, 0x85, 0x12, 0x6c, 0xb6, 0x39, 0xe8, 0x1c, 0xeb, - 0x1a, 0xfd, 0xcc, 0x61, 0xec, 0x3a, 0x25, 0x8c, 0x44, 0x1c, 0xfc, 0x6d, 0x61, 0xd5, 0x6c, 0x2a, - 0xf8, 0x44, 0x26, 0x87, 0x41, 0x9c, 0xa9, 0xaa, 0x66, 0x81, 0x11, 0xb2, 0xc6, 0x48, 0xd7, 0x9d, - 0xf5, 0xa6, 0x33, 0x70, 0xf5, 0xa8, 0x5e, 0x94, 0xea, 0xc5, 0x7a, 0xbd, 0x54, 0xad, 0xd4, 0x1b, - 0xf9, 0x46, 0xb1, 0x79, 0x54, 0xa9, 0xd7, 0x8a, 0x7b, 0xa5, 0xa7, 0xa5, 0x62, 0x21, 0x79, 0x09, - 0x6d, 0xc2, 0xba, 0x4f, 0x22, 0xbf, 0xd7, 0x28, 0x3d, 0x2f, 0x26, 0x05, 0x74, 0x1d, 0x36, 0x7d, - 0xcc, 0x46, 0x51, 0x2a, 0x97, 0x2a, 0xf9, 0x46, 0xb1, 0x90, 0x0c, 0x65, 0x3f, 0x81, 0x24, 0x29, - 0x27, 0xed, 0xc3, 0x8f, 0x26, 0xed, 0x06, 0x5c, 0xa1, 0xb4, 0x62, 0xbd, 0x56, 0xad, 0xd4, 0x8b, - 0x8d, 0x17, 0xb5, 0x62, 0x73, 0xaf, 0x5a, 0x28, 0x26, 0x2f, 0xa1, 0x2d, 0xd8, 0xf0, 0xb1, 0x4a, - 0x85, 0x66, 0xa3, 0xfa, 0xac, 0x58, 0x49, 0x0a, 0xe8, 0x26, 0x5c, 0x0f, 0x64, 0x73, 0xa1, 0x50, - 0xf6, 0xdf, 0xf9, 0xe3, 0x17, 0x5b, 0xe0, 0x06, 0x5c, 0xa1, 0x08, 0xc7, 0xac, 0x6c, 0x15, 0x92, - 0x43, 0x96, 0xb3, 0xa4, 0x35, 0x40, 0x43, 0x6a, 0xa9, 0xc2, 0xe9, 0x21, 0x74, 0x05, 0x56, 0x86, - 0xf4, 0x42, 0xf1, 0xb0, 0x48, 0x16, 0x18, 0x1e, 0x35, 0x72, 0x58, 0xdd, 0x7b, 0x56, 0x2c, 0x24, - 0x23, 0xa3, 0xc2, 0xf5, 0xa3, 0x7a, 0xad, 0x58, 0x29, 0x24, 0xe7, 0x46, 0xc9, 0xa5, 0x4a, 0xa9, - 0x51, 0xca, 0x1f, 0x26, 0xe7, 0xb3, 0xbf, 0x03, 0xf3, 0xec, 0xd9, 0x9a, 0x4c, 0xbe, 0x5f, 0xac, - 0x14, 0x8a, 0x92, 0x07, 0xea, 0x0a, 0x2c, 0x71, 0xfa, 0xd3, 0x62, 0x39, 0x7f, 0x48, 0x70, 0x2e, - 0x43, 0x9c, 0x93, 0x28, 0x21, 0x84, 0x10, 0x24, 0x38, 0xa1, 0x50, 0x7a, 0x4e, 0x62, 0x92, 0x0c, - 0x67, 0x0b, 0xb0, 0xc0, 0x3f, 0x54, 0xd0, 0x3a, 0x5c, 0x2e, 0x3f, 0xcd, 0x53, 0x97, 0x8d, 0xda, - 0x5e, 0x86, 0xb8, 0xcd, 0xa8, 0x97, 0xeb, 0xcc, 0xb2, 0x4d, 0xa8, 0x36, 0x6a, 0xc9, 0x50, 0xf6, - 0x04, 0xa2, 0xf6, 0x67, 0x02, 0x4a, 0xc1, 0x2a, 0xf9, 0x3d, 0xc6, 0x9d, 0x6b, 0x80, 0x1c, 0x4e, - 0xa5, 0xda, 0x68, 0x4a, 0xc5, 0x7c, 0xe1, 0x45, 0x52, 0x20, 0xb8, 0x1c, 0x3a, 0xa3, 0x85, 0x88, - 0xd7, 0x5c, 0xb4, 0x72, 0xf5, 0x39, 0xf1, 0x65, 0xf6, 0x0c, 0x90, 0xbf, 0xca, 0x45, 0xd7, 0x20, - 0xed, 0xa7, 0x36, 0x8f, 0x2a, 0xcf, 0x2a, 0xd5, 0x0f, 0x2a, 0x2c, 0x67, 0xc6, 0xf0, 0xab, 0xd2, - 0x7e, 0xb3, 0x54, 0x48, 0x0a, 0xe8, 0x06, 0x6c, 0x8d, 0x61, 0xd7, 0xa4, 0xea, 0x6f, 0x17, 0xf7, - 0x1a, 0x44, 0x24, 0x94, 0x3d, 0x86, 0x2b, 0x63, 0xcb, 0x05, 0x74, 0x0b, 0x6e, 0x94, 0x5f, 0x70, - 0xd1, 0xaa, 0xb4, 0x5f, 0x2f, 0xe6, 0xa5, 0xbd, 0x83, 0x67, 0xc5, 0x17, 0x9e, 0x95, 0x8b, 0x70, - 0x6d, 0xbc, 0x18, 0x01, 0x51, 0xc9, 0x97, 0x8b, 0x49, 0x21, 0xfb, 0x23, 0x01, 0x16, 0xdd, 0x35, - 0x04, 0x89, 0x07, 0x13, 0x2c, 0x17, 0x1b, 0x07, 0xd5, 0x42, 0xb3, 0xf8, 0xfe, 0x51, 0xfe, 0xb0, - 0x9e, 0xbc, 0x84, 0xae, 0x42, 0x6a, 0x84, 0x51, 0x6f, 0xe4, 0xa5, 0x46, 0xbd, 0xf9, 0x41, 0xa9, - 0x71, 0x90, 0x14, 0x48, 0x3e, 0x8f, 0x70, 0xf7, 0xaa, 0x95, 0x46, 0xbe, 0x54, 0xa9, 0x27, 0x43, - 0x64, 0x77, 0x8c, 0xb1, 0xd8, 0x2c, 0xed, 0x57, 0xaa, 0x52, 0xb1, 0xb9, 0x97, 0x27, 0x19, 0x81, - 0xb6, 0xe1, 0xb5, 0x20, 0xeb, 0x23, 0x92, 0x11, 0xb2, 0xf8, 0xb1, 0x33, 0x8d, 0x88, 0xcd, 0xed, - 0x7e, 0x95, 0x81, 0x38, 0xf9, 0x4e, 0xac, 0x63, 0xe3, 0x4c, 0x6d, 0x61, 0x52, 0x09, 0x1e, 0x60, - 0x59, 0xb3, 0x4e, 0x3f, 0x45, 0x6b, 0xbe, 0xa3, 0xb7, 0xd8, 0xe9, 0x59, 0x83, 0x74, 0x00, 0x5d, - 0x4c, 0x7e, 0xfe, 0xc3, 0x9f, 0xfc, 0x55, 0x08, 0x50, 0x34, 0x77, 0xca, 0x2d, 0xec, 0xc3, 0x9c, - 0x84, 0x65, 0x65, 0x70, 0x61, 0x53, 0x09, 0x6a, 0x2a, 0x8a, 0xe6, 0x73, 0x06, 0xd5, 0xaf, 0x40, - 0xf4, 0x39, 0xff, 0x07, 0xa7, 0x40, 0x5b, 0x41, 0xb7, 0x9d, 0xb8, 0x42, 0x8d, 0xc5, 0x51, 0xcc, - 0xf9, 0x27, 0x29, 0xf4, 0x47, 0x02, 0xac, 0xec, 0x63, 0x8b, 0x75, 0x08, 0xec, 0xff, 0x39, 0x0a, - 0xb4, 0x9c, 0x9d, 0xf9, 0x9f, 0x98, 0x4c, 0xf1, 0x8d, 0xcf, 0xff, 0x33, 0xb5, 0x0c, 0x4b, 0x44, - 0x06, 0x77, 0x2d, 0xb5, 0x25, 0x5b, 0x58, 0xa1, 0xf3, 0x23, 0x94, 0xcc, 0x75, 0x70, 0xae, 0x6f, - 0x62, 0xc3, 0xfe, 0x1f, 0x29, 0xd4, 0x81, 0x98, 0x83, 0x22, 0x70, 0x76, 0x71, 0xf2, 0xec, 0x64, - 0x5a, 0xf1, 0xb5, 0xa0, 0x59, 0xc9, 0xaa, 0xe9, 0x94, 0xb9, 0x0e, 0x46, 0x7f, 0x28, 0x40, 0xd2, - 0x99, 0xcf, 0xfe, 0x87, 0x81, 0xa0, 0x69, 0xa7, 0xfc, 0xe7, 0x96, 0xab, 0x67, 0x2d, 0xde, 0x0d, - 0x9a, 0xfd, 0x32, 0x5a, 0x71, 0x66, 0xcf, 0xf5, 0xf8, 0x84, 0xff, 0x20, 0xc0, 0x65, 0xf6, 0x98, - 0x37, 0x0a, 0x64, 0x77, 0xc2, 0x84, 0x01, 0x1d, 0xd1, 0xf4, 0xad, 0x99, 0x40, 0x8a, 0xb9, 0x20, - 0x80, 0x6b, 0x69, 0x3f, 0xc0, 0xc7, 0x42, 0x16, 0x7d, 0x29, 0x40, 0x92, 0x95, 0x89, 0x0c, 0x23, - 0xfd, 0x38, 0xcb, 0x4d, 0x2b, 0x4a, 0x3d, 0x4d, 0xca, 0xc0, 0xec, 0xbe, 0x1f, 0x04, 0x67, 0x3d, - 0x8d, 0x86, 0x70, 0xc8, 0x0f, 0x52, 0xbe, 0x13, 0x3c, 0xbf, 0x0f, 0x09, 0x27, 0x70, 0xac, 0x97, - 0x19, 0x14, 0xb6, 0x29, 0x9f, 0xdc, 0x4e, 0x43, 0x50, 0xcc, 0x06, 0x81, 0x58, 0x41, 0xcb, 0x43, - 0x10, 0xac, 0x2d, 0xf8, 0xb7, 0x02, 0xac, 0xb8, 0xdd, 0xc1, 0x20, 0xdc, 0x9f, 0x25, 0x60, 0xee, - 0xd6, 0x57, 0xfa, 0xe6, 0x0c, 0xe0, 0xc4, 0x7b, 0x41, 0xc0, 0x56, 0xd3, 0x5e, 0x60, 0xc4, 0x35, - 0x7f, 0x23, 0xc0, 0x8a, 0xaf, 0xdf, 0x37, 0x29, 0x99, 0x82, 0x9a, 0x83, 0x81, 0xe1, 0x7a, 0x3b, - 0x08, 0xd0, 0x55, 0x71, 0xdd, 0x03, 0x28, 0xc7, 0xba, 0x4f, 0x03, 0x02, 0xec, 0x2b, 0x01, 0xb6, - 0x24, 0x6c, 0xe2, 0xae, 0x52, 0x1e, 0xb8, 0x7a, 0xa7, 0x2d, 0x5a, 0xf0, 0x96, 0x27, 0xc5, 0x30, - 0x08, 0x48, 0x3e, 0x08, 0xc8, 0xb6, 0x78, 0xd3, 0x07, 0xc4, 0xa0, 0x53, 0x9f, 0xb9, 0xe6, 0xf4, - 0x26, 0x12, 0x6b, 0x2f, 0xbe, 0x64, 0x22, 0x39, 0x1d, 0xba, 0x19, 0x13, 0x89, 0xf5, 0xe9, 0xbc, - 0x89, 0xc4, 0x20, 0xcc, 0x94, 0x48, 0xee, 0xa6, 0xd6, 0xb4, 0x44, 0xa2, 0xb2, 0x33, 0x26, 0x12, - 0x05, 0x46, 0x5c, 0xa3, 0xc3, 0x8a, 0x84, 0x3b, 0xfa, 0x19, 0x9e, 0xc5, 0x3b, 0x41, 0x21, 0x0a, - 0x76, 0x46, 0xd6, 0xe7, 0x8c, 0xbf, 0xf6, 0x64, 0xee, 0x54, 0x67, 0x8c, 0xef, 0xf0, 0xbd, 0x62, - 0xde, 0x52, 0x2c, 0x41, 0x79, 0xeb, 0xea, 0x9c, 0xb2, 0x1c, 0x62, 0x7d, 0xa6, 0x6f, 0x24, 0x6f, - 0x39, 0x90, 0xf1, 0x79, 0x3b, 0x72, 0x75, 0xd9, 0x0d, 0xab, 0x97, 0xbc, 0xba, 0x5c, 0x9d, 0xb9, - 0x19, 0xaf, 0x2e, 0xde, 0xc1, 0xa1, 0xd7, 0x82, 0x83, 0xc2, 0x7e, 0xbc, 0xd8, 0x9e, 0x76, 0x2d, - 0xd8, 0x4f, 0x28, 0xe9, 0x1b, 0x53, 0x25, 0x67, 0xc4, 0x63, 0xbf, 0x7d, 0x78, 0xaf, 0x52, 0xdb, - 0x31, 0x33, 0x5d, 0xa5, 0xa3, 0x6d, 0xb4, 0x69, 0x57, 0xa9, 0xdd, 0xa5, 0x9a, 0xed, 0x2a, 0xe5, - 0x0e, 0x23, 0x91, 0x3b, 0xe3, 0x35, 0x4e, 0xf9, 0x44, 0x0e, 0x8e, 0xd8, 0xeb, 0x33, 0xf5, 0x7c, - 0x4c, 0xf1, 0x4e, 0xd0, 0xec, 0x49, 0x94, 0x18, 0xce, 0xde, 0x21, 0x53, 0xfd, 0x85, 0xeb, 0x0a, - 0x77, 0x7a, 0x59, 0x13, 0x62, 0x35, 0xda, 0x23, 0x0b, 0xcc, 0xe5, 0x47, 0x41, 0x08, 0x32, 0xe9, - 0x4d, 0x57, 0x2e, 0x73, 0x63, 0x66, 0x8e, 0xff, 0x37, 0x32, 0xf1, 0xc4, 0x3f, 0x0b, 0xb0, 0x45, - 0x5d, 0x11, 0xf8, 0xe8, 0x12, 0xe4, 0x9e, 0xdd, 0x19, 0x60, 0x7b, 0x6c, 0x4d, 0x00, 0x8a, 0xae, - 0xe5, 0x7a, 0x44, 0x46, 0xc5, 0xa6, 0x0b, 0x68, 0xcb, 0x31, 0x80, 0x3e, 0x83, 0x58, 0x5e, 0x51, - 0xca, 0x27, 0x72, 0xb5, 0x51, 0x0b, 0xc4, 0xb4, 0x3d, 0xb1, 0xb9, 0xe6, 0x6a, 0x88, 0x4d, 0x48, - 0x19, 0x71, 0x65, 0x24, 0x68, 0x39, 0xdd, 0xea, 0x11, 0x47, 0x7d, 0x21, 0xb8, 0x9b, 0x88, 0x8d, - 0x1a, 0x7a, 0x7d, 0xea, 0x6d, 0x4e, 0x67, 0x0c, 0x0c, 0xda, 0x6f, 0x05, 0x21, 0xb8, 0x96, 0xde, - 0xf0, 0x21, 0x70, 0x9f, 0x85, 0x1a, 0x2c, 0xf2, 0x3b, 0x61, 0xb2, 0x33, 0x82, 0x26, 0x0e, 0xde, - 0xce, 0x59, 0xff, 0xd2, 0xd1, 0xbf, 0x09, 0xb0, 0xc2, 0x3f, 0x32, 0x07, 0xce, 0x47, 0xef, 0xc4, - 0xdb, 0x71, 0x6c, 0x57, 0x2e, 0xfd, 0xe0, 0x02, 0x1a, 0x3c, 0x46, 0x6f, 0x05, 0x01, 0xdd, 0x14, - 0xd7, 0x28, 0xd0, 0x36, 0x51, 0xa2, 0x68, 0x9b, 0x26, 0x55, 0x25, 0xee, 0xf9, 0x1f, 0x01, 0x2e, - 0xdb, 0x80, 0x87, 0x1f, 0xe0, 0x26, 0x7a, 0xf3, 0x22, 0x0f, 0xfb, 0x36, 0xea, 0xb7, 0x2e, 0xa6, - 0xc4, 0x81, 0x07, 0xa7, 0xb9, 0xb8, 0x99, 0x6b, 0x6b, 0xfa, 0xb1, 0xac, 0x91, 0xc2, 0x9e, 0x28, - 0xeb, 0x46, 0xdb, 0x74, 0xa3, 0xff, 0x73, 0x01, 0xd6, 0xe9, 0x7e, 0xfc, 0x90, 0x4d, 0xe9, 0x7e, - 0x21, 0x7f, 0x89, 0xaa, 0x68, 0xe4, 0x89, 0x5d, 0xdc, 0x0d, 0xc2, 0xb5, 0x81, 0xd6, 0x73, 0xae, - 0x97, 0xf6, 0x1c, 0x37, 0x45, 0xbe, 0xcf, 0xfe, 0xd8, 0x06, 0xc4, 0x57, 0xfb, 0x2b, 0x05, 0x34, - 0xb1, 0x4c, 0x73, 0x03, 0xea, 0xe0, 0x27, 0xff, 0x21, 0x7c, 0x95, 0xff, 0x13, 0x01, 0xbd, 0x03, - 0xd1, 0x7c, 0xdf, 0x3a, 0xcd, 0xe4, 0x6b, 0x25, 0x31, 0x8b, 0xb6, 0x4f, 0x2d, 0xab, 0x67, 0x3e, - 0xce, 0xe5, 0xda, 0xaa, 0x75, 0xda, 0x3f, 0xde, 0x69, 0xe9, 0x9d, 0x1c, 0x99, 0xdb, 0x59, 0x41, - 0xef, 0xe3, 0x76, 0x8e, 0x98, 0xdf, 0x0d, 0xdf, 0xdf, 0x79, 0x90, 0x15, 0x42, 0xbb, 0x49, 0xb9, - 0xd7, 0xd3, 0xf8, 0x25, 0x9e, 0xfb, 0xc8, 0xd4, 0xbb, 0xa3, 0x94, 0xb6, 0xd1, 0x6b, 0x3d, 0xf6, - 0xc9, 0x3c, 0xf6, 0xc9, 0x7c, 0x78, 0x6b, 0xd2, 0x8c, 0x44, 0x82, 0x4e, 0x7b, 0x3c, 0x4f, 0x5d, - 0xf3, 0xe6, 0x2f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xbd, 0x14, 0xb2, 0x4a, 0xb5, 0x35, 0x00, 0x00, + // 3683 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0x5f, 0x6f, 0x23, 0x59, + 0x56, 0xef, 0xf2, 0x9f, 0xc4, 0x3e, 0x4e, 0x1c, 0xe7, 0x76, 0x77, 0xe2, 0x76, 0xba, 0xa7, 0xd3, + 0xd5, 0xd3, 0x33, 0x69, 0x6f, 0x4f, 0xdc, 0x9d, 0xdd, 0x91, 0xa6, 0x33, 0x88, 0xc5, 0x49, 0xdc, + 0x89, 0x37, 0xb1, 0x9d, 0x2d, 0x3b, 0xbd, 0xcc, 0xae, 0x66, 0xad, 0x8a, 0xeb, 0xc6, 0xae, 0x1d, + 0xbb, 0xca, 0x5b, 0xb7, 0x9c, 0xac, 0x07, 0x2d, 0x7f, 0x06, 0xb1, 0x5a, 0x90, 0x16, 0xa4, 0x05, + 0x81, 0x10, 0xf0, 0x80, 0x04, 0x88, 0x07, 0x04, 0x0f, 0x08, 0x5e, 0xe0, 0x03, 0xf0, 0x02, 0xd2, + 0x0a, 0x89, 0x0f, 0x80, 0xf8, 0x06, 0x08, 0x01, 0xcd, 0x0b, 0xba, 0x7f, 0xaa, 0x5c, 0xae, 0x72, + 0xd9, 0x4e, 0x37, 0xbb, 0x8b, 0x56, 0xfb, 0x14, 0xdf, 0x73, 0xcf, 0xb9, 0xf7, 0x77, 0xcf, 0xf9, + 0xdd, 0x7b, 0x4f, 0xdd, 0x13, 0x00, 0x75, 0x60, 0x77, 0xb6, 0xfb, 0x96, 0x69, 0x9b, 0x28, 0xdb, + 0x52, 0x4d, 0xb2, 0xfd, 0xa9, 0x6e, 0xab, 0x1a, 0xee, 0x6e, 0xb3, 0x0e, 0xb5, 0xaf, 0x6f, 0x5f, + 0x3e, 0xcb, 0xdd, 0x6d, 0x9b, 0x66, 0xbb, 0x8b, 0x0b, 0x6a, 0x5f, 0x2f, 0xa8, 0x86, 0x61, 0xda, + 0xaa, 0xad, 0x9b, 0x06, 0xe1, 0x76, 0xb9, 0x0d, 0xd1, 0xcb, 0x5a, 0xe7, 0x83, 0x8b, 0x02, 0xee, + 0xf5, 0xed, 0xa1, 0xe8, 0xbc, 0xeb, 0xef, 0x24, 0xb6, 0x35, 0x68, 0xd9, 0xa2, 0xf7, 0xbe, 0xbf, + 0xd7, 0xd6, 0x7b, 0x98, 0xd8, 0x6a, 0xaf, 0x2f, 0x14, 0xd6, 0x2f, 0xd5, 0xae, 0xae, 0xa9, 0x36, + 0x2e, 0x38, 0x3f, 0x44, 0xc7, 0x13, 0xf6, 0xa7, 0xf5, 0x5e, 0x1b, 0x1b, 0xef, 0x91, 0x2b, 0xb5, + 0xdd, 0xc6, 0x56, 0xc1, 0xec, 0x33, 0x58, 0x13, 0x20, 0x66, 0xe9, 0x6a, 0x78, 0xb7, 0xa3, 0x25, + 0x7a, 0x6e, 0xb2, 0x3f, 0x85, 0x1e, 0x26, 0x44, 0x6d, 0x8b, 0xc1, 0xe5, 0x73, 0xc8, 0x9c, 0x11, + 0x6c, 0xd5, 0x31, 0x21, 0xba, 0x69, 0xbc, 0xd4, 0xf1, 0x15, 0x41, 0x55, 0x58, 0x1e, 0x10, 0x6c, + 0x35, 0x09, 0x17, 0x92, 0xac, 0xb4, 0x19, 0xdd, 0x4a, 0xed, 0x3c, 0xde, 0x0e, 0xf3, 0xda, 0xb6, + 0x6f, 0x08, 0x65, 0x69, 0x30, 0x12, 0x10, 0xf9, 0x0f, 0x22, 0xb0, 0xe2, 0xd3, 0x40, 0x69, 0x88, + 0xe8, 0x5a, 0x56, 0xda, 0x94, 0xb6, 0x92, 0x4a, 0x44, 0xd7, 0xd0, 0x1d, 0x48, 0xa8, 0x6d, 0x6c, + 0xd8, 0x4d, 0x5d, 0xcb, 0x46, 0x98, 0x74, 0x91, 0xb5, 0xcb, 0x1a, 0x2a, 0xf3, 0xd0, 0x35, 0x89, + 0xad, 0xda, 0x38, 0x1b, 0xdd, 0x94, 0xb6, 0xd2, 0x3b, 0xf9, 0xb9, 0xb0, 0xd4, 0xa9, 0x85, 0x92, + 0xa4, 0xbd, 0xec, 0x27, 0x5a, 0x87, 0x45, 0xb6, 0x32, 0x5d, 0xcb, 0xc6, 0xd8, 0x24, 0x0b, 0xb4, + 0x59, 0xd6, 0xd0, 0x06, 0x24, 0x59, 0x87, 0xa1, 0xf6, 0x70, 0x36, 0xce, 0xba, 0x12, 0x54, 0x50, + 0x55, 0x7b, 0x18, 0xe5, 0x20, 0x41, 0xf0, 0x37, 0x07, 0xd8, 0x68, 0xe1, 0xec, 0xc2, 0xa6, 0xb4, + 0x15, 0x53, 0xdc, 0x36, 0xba, 0x07, 0xd0, 0x35, 0xdb, 0xba, 0xc1, 0x2d, 0x17, 0x99, 0x65, 0x92, + 0x49, 0x98, 0xe9, 0x03, 0x58, 0xd2, 0x74, 0xd2, 0xef, 0xaa, 0x43, 0xae, 0x90, 0x60, 0x0a, 0x29, + 0x21, 0xa3, 0x2a, 0xf2, 0x3f, 0xc5, 0x20, 0x41, 0x31, 0x4f, 0x74, 0xcb, 0x73, 0x88, 0xf3, 0x65, + 0x47, 0xd8, 0xb2, 0x1f, 0xce, 0x58, 0x36, 0x5b, 0x2f, 0xb7, 0x40, 0x5f, 0x84, 0xe5, 0x96, 0x85, + 0x19, 0x37, 0x9a, 0x9a, 0xe3, 0xb9, 0xd4, 0x4e, 0x6e, 0x9b, 0x13, 0x71, 0xdb, 0x21, 0xe2, 0x76, + 0xc3, 0x21, 0xa2, 0xb2, 0xe4, 0x18, 0x1c, 0xd0, 0x01, 0x3e, 0x84, 0x54, 0xab, 0xa3, 0x1a, 0x6d, + 0xcc, 0xcd, 0x63, 0x33, 0xcd, 0x81, 0xab, 0x33, 0x63, 0xaf, 0xcf, 0xe2, 0x3e, 0x9f, 0xdd, 0x87, + 0xd4, 0xc8, 0x67, 0x24, 0xbb, 0xb0, 0x19, 0xdd, 0x4a, 0x2a, 0xe0, 0x3a, 0x8d, 0xa0, 0xa7, 0x70, + 0xab, 0x6f, 0xe1, 0x0b, 0x6c, 0x59, 0x58, 0x6b, 0x06, 0xdc, 0x8b, 0xdc, 0xbe, 0x13, 0xd7, 0xcf, + 0xcf, 0x01, 0xba, 0x2a, 0xb1, 0xb9, 0x32, 0xf3, 0xf2, 0x74, 0xa8, 0x49, 0xaa, 0xcd, 0xcc, 0xd1, + 0x23, 0x48, 0x5b, 0x98, 0x98, 0x03, 0xab, 0x85, 0x9b, 0xe6, 0x95, 0x81, 0xad, 0x6c, 0x92, 0x4d, + 0xb3, 0xec, 0x48, 0x6b, 0x54, 0x38, 0xce, 0x10, 0xf0, 0x31, 0xe4, 0x43, 0x88, 0x77, 0x06, 0x3d, + 0xd5, 0xc8, 0xa6, 0xd8, 0xcc, 0x53, 0xc2, 0x74, 0x44, 0xd5, 0x68, 0xa8, 0x8f, 0x6e, 0x28, 0xdc, + 0x06, 0x15, 0x61, 0xb1, 0xa7, 0xb6, 0x3a, 0xba, 0x81, 0xb3, 0x4b, 0xcc, 0xfc, 0x51, 0xb8, 0x79, + 0x85, 0x2b, 0x8a, 0x01, 0x1c, 0xbb, 0xbd, 0x14, 0xc4, 0x28, 0x16, 0x14, 0xfd, 0xaf, 0x3d, 0x49, + 0xfe, 0x35, 0x09, 0x52, 0x1e, 0x3d, 0xf4, 0x73, 0x90, 0x66, 0xbe, 0xf9, 0x04, 0x0f, 0x9b, 0xaa, + 0xa6, 0x61, 0xce, 0xaf, 0x19, 0x4c, 0xa0, 0x16, 0xc7, 0x78, 0x58, 0xa4, 0xfa, 0x08, 0x41, 0x8c, + 0x2d, 0x9b, 0x6f, 0x4c, 0xf6, 0x1b, 0x6d, 0x42, 0x4a, 0xc3, 0xa4, 0x65, 0xe9, 0xec, 0x8c, 0x61, + 0xe4, 0xa2, 0xc4, 0x1e, 0x89, 0xe4, 0x5f, 0x8e, 0x40, 0x5a, 0xe0, 0x38, 0xc6, 0xc3, 0x89, 0xf4, + 0xfe, 0x19, 0x88, 0xd9, 0xc3, 0xbe, 0xc3, 0xee, 0xad, 0x99, 0xeb, 0x3e, 0xc6, 0xc3, 0xc6, 0xb0, + 0x8f, 0x15, 0x66, 0x35, 0xc6, 0xb1, 0xa8, 0x8f, 0x63, 0x01, 0xf6, 0xc7, 0xae, 0xc9, 0xfe, 0x7d, + 0x58, 0xc1, 0xdf, 0xea, 0xeb, 0x96, 0x67, 0x88, 0xf8, 0xcc, 0x21, 0xd2, 0x23, 0x13, 0x3a, 0x88, + 0xfc, 0x83, 0x18, 0x24, 0xdd, 0x88, 0xa3, 0x12, 0x64, 0xfa, 0x2a, 0x21, 0x57, 0xa6, 0xa5, 0x35, + 0xf9, 0x56, 0x99, 0x27, 0x14, 0x2b, 0x8e, 0xcd, 0x3e, 0x37, 0xa1, 0x47, 0xce, 0x85, 0x6e, 0x11, + 0xbb, 0xe9, 0x89, 0x49, 0x92, 0x49, 0x18, 0x17, 0x37, 0x80, 0x91, 0x9b, 0xf7, 0xf2, 0xb0, 0x24, + 0xa8, 0x60, 0xe2, 0x79, 0x14, 0x0b, 0x9c, 0x47, 0xd4, 0xde, 0xd0, 0x5b, 0x9f, 0x8c, 0x1d, 0x85, + 0x54, 0xc0, 0x3a, 0xdf, 0x03, 0xe4, 0xd9, 0x99, 0xaa, 0xd1, 0x1e, 0xa8, 0x6d, 0x7e, 0x28, 0x26, + 0x95, 0xd5, 0xd1, 0xbe, 0x14, 0x1d, 0xe8, 0x03, 0x58, 0x68, 0x63, 0x43, 0xc3, 0x16, 0xdb, 0xba, + 0xe9, 0x9d, 0xcd, 0xf0, 0x08, 0x1f, 0x32, 0x3d, 0x45, 0xe8, 0xa3, 0x5b, 0x10, 0xc7, 0x3d, 0x55, + 0xef, 0x8a, 0x13, 0x93, 0x37, 0x50, 0x1e, 0x56, 0x75, 0xd2, 0x64, 0xbf, 0x9b, 0x97, 0xd8, 0xd2, + 0x2f, 0x74, 0xac, 0xb1, 0xed, 0x9a, 0x50, 0x56, 0x74, 0x52, 0xa2, 0xf2, 0x97, 0x42, 0x4c, 0x47, + 0xe8, 0x77, 0x4c, 0xc3, 0xd9, 0xac, 0xbc, 0x21, 0x46, 0x60, 0xbf, 0x47, 0x23, 0xa4, 0x9c, 0x11, + 0x4e, 0xa9, 0xdc, 0x1d, 0x21, 0x0b, 0x8b, 0x2d, 0x73, 0x60, 0xd8, 0xd6, 0x90, 0x6d, 0xcc, 0xa4, + 0xe2, 0x34, 0x29, 0xf3, 0xba, 0x66, 0x4b, 0xed, 0xea, 0xf6, 0x30, 0xbb, 0x2c, 0x5c, 0x2c, 0xda, + 0xf4, 0x74, 0xeb, 0x9b, 0xc4, 0x56, 0xbb, 0xcd, 0x96, 0xa9, 0xe1, 0x6c, 0x9a, 0x75, 0x03, 0x17, + 0xed, 0x9b, 0x1a, 0x46, 0x6b, 0xb0, 0x60, 0xe1, 0x36, 0xdd, 0x34, 0x2b, 0xfc, 0x0e, 0xe2, 0x2d, + 0x7a, 0x10, 0x11, 0xdb, 0xc2, 0xd8, 0xa6, 0xbb, 0xd4, 0xc2, 0x84, 0x64, 0x33, 0xfc, 0x20, 0xe2, + 0xd2, 0x22, 0x17, 0xca, 0x7f, 0x18, 0x85, 0x14, 0x3d, 0xec, 0x4f, 0x2d, 0xf3, 0x42, 0xef, 0xe2, + 0xc0, 0x9e, 0x7a, 0x13, 0x7a, 0x8c, 0xc5, 0x3e, 0xe6, 0x8b, 0xbd, 0x9f, 0x3b, 0xf1, 0x20, 0x77, + 0x7e, 0x64, 0xf4, 0xf0, 0x6e, 0xfd, 0xc4, 0xac, 0xad, 0x9f, 0x7c, 0xb3, 0x8b, 0x0f, 0xae, 0x73, + 0xf1, 0xc9, 0xff, 0x1e, 0xe5, 0xc9, 0x8e, 0x08, 0xcf, 0xc4, 0x63, 0xef, 0xa7, 0x21, 0xfa, 0x71, + 0x86, 0xc8, 0x9f, 0x7f, 0xa4, 0xe6, 0xce, 0x3f, 0x96, 0xc2, 0xf2, 0x0f, 0xf9, 0x37, 0x22, 0x90, + 0x3d, 0xeb, 0x53, 0x2c, 0x9e, 0xd8, 0x2b, 0x74, 0xb9, 0xc4, 0x46, 0x8f, 0xc7, 0xc2, 0xcd, 0x68, + 0xb0, 0x07, 0xaf, 0xf6, 0x16, 0xad, 0x78, 0x46, 0xca, 0xfe, 0x83, 0xe4, 0x0d, 0xfd, 0xbb, 0xde, + 0xd0, 0x47, 0x02, 0x9a, 0x23, 0x1a, 0x3c, 0xf2, 0xd2, 0x80, 0x71, 0x64, 0x2f, 0xf1, 0x6a, 0x2f, + 0x6e, 0x45, 0x99, 0x9a, 0x4b, 0x88, 0xe7, 0x13, 0xa3, 0x1d, 0x0b, 0x0c, 0x3c, 0x35, 0xf2, 0xf1, + 0xeb, 0x45, 0x5e, 0x56, 0xe0, 0x36, 0xbf, 0xab, 0xce, 0x44, 0x7e, 0xe4, 0x38, 0xe2, 0xb9, 0x37, + 0x87, 0xe2, 0x7e, 0xb8, 0xfb, 0x6a, 0xef, 0x8e, 0xb5, 0xbe, 0x73, 0xfb, 0xeb, 0x5f, 0xfb, 0xfa, + 0xd7, 0x76, 0x49, 0x5f, 0x6d, 0xe1, 0xdd, 0x8f, 0x3f, 0xfe, 0x85, 0x67, 0x4f, 0x76, 0x9e, 0x3e, + 0xfd, 0xf6, 0xdb, 0xa3, 0x0c, 0x4b, 0xfe, 0x0f, 0x09, 0x92, 0x74, 0x38, 0x76, 0xc6, 0x07, 0x36, + 0x94, 0x7b, 0x5b, 0x44, 0xbc, 0xb7, 0xc5, 0x16, 0xf8, 0x2f, 0x05, 0xe6, 0xa9, 0x09, 0x77, 0x85, + 0x97, 0xab, 0xb1, 0x59, 0x5c, 0x8d, 0xbf, 0x19, 0x57, 0x17, 0xae, 0x75, 0x9c, 0xfc, 0xb7, 0x04, + 0xcb, 0xee, 0xba, 0x27, 0x1e, 0x26, 0x3f, 0xb9, 0x6b, 0xdf, 0x85, 0x2c, 0x43, 0x39, 0xac, 0x0c, + 0x5d, 0x17, 0x38, 0x54, 0x7a, 0x0b, 0x62, 0xec, 0x7a, 0x0d, 0xee, 0x26, 0x26, 0x97, 0x77, 0x61, + 0x6d, 0xb4, 0x1f, 0xc7, 0x2c, 0x37, 0x1d, 0x7f, 0x05, 0x4d, 0x79, 0x87, 0xfc, 0x9f, 0x82, 0x6b, + 0x2c, 0x1b, 0x98, 0xe4, 0x6f, 0x9e, 0x57, 0x44, 0x66, 0xe6, 0x15, 0xd1, 0xc9, 0x79, 0xc5, 0xff, + 0x5f, 0x8f, 0xff, 0x8f, 0x60, 0x1b, 0xc7, 0x1b, 0xc2, 0xb6, 0x9f, 0xd8, 0xd5, 0x3f, 0xf7, 0x72, + 0x86, 0x81, 0x76, 0x38, 0x73, 0xdf, 0x59, 0x35, 0xe7, 0x4c, 0xf2, 0xd5, 0xde, 0x82, 0x15, 0xcb, + 0x48, 0xd9, 0x5b, 0xc2, 0x01, 0xf2, 0x07, 0xb0, 0xc6, 0xa9, 0x1a, 0x30, 0x9d, 0x45, 0xd4, 0x7f, + 0x8c, 0xf0, 0x74, 0x4e, 0xa4, 0x77, 0x01, 0x87, 0x7b, 0x92, 0xd0, 0x48, 0x78, 0x12, 0x1a, 0x9d, + 0x9e, 0x84, 0xc6, 0xa6, 0x24, 0xa1, 0xf1, 0x19, 0x49, 0xe8, 0xc2, 0x84, 0x24, 0x74, 0x2c, 0x88, + 0x8b, 0xb3, 0x82, 0x98, 0x78, 0xb3, 0x20, 0x26, 0xaf, 0x15, 0xc4, 0x1f, 0x88, 0xc7, 0x26, 0x81, + 0x74, 0x22, 0x89, 0x7f, 0xea, 0xd3, 0xeb, 0xf9, 0xf4, 0x5f, 0x25, 0x6f, 0x76, 0x23, 0xf0, 0x3a, + 0x04, 0x97, 0x47, 0xce, 0x94, 0x7c, 0x79, 0x88, 0xeb, 0xd6, 0xb7, 0x3d, 0x6e, 0x8d, 0xf8, 0x93, + 0x15, 0xd7, 0xc1, 0x8f, 0xc7, 0x1d, 0xec, 0xcf, 0x6a, 0xbc, 0xae, 0xde, 0x74, 0x5d, 0x1d, 0xf3, + 0x69, 0x39, 0x4e, 0x2f, 0x04, 0x9c, 0x1e, 0xf7, 0x69, 0xfa, 0xbe, 0xab, 0xba, 0x90, 0x3e, 0x1d, + 0xfb, 0xd2, 0x46, 0x4f, 0x60, 0xc9, 0xec, 0x6a, 0x4d, 0xe7, 0xfb, 0xdb, 0xbf, 0xf9, 0x8f, 0x94, + 0x94, 0xd9, 0xd5, 0x1c, 0x1b, 0xaa, 0x6d, 0xe0, 0xab, 0x91, 0x76, 0x24, 0xa0, 0x6d, 0xe0, 0x2b, + 0x47, 0x5b, 0xfe, 0x1c, 0x2c, 0x89, 0xbb, 0xed, 0x42, 0xad, 0xd9, 0x7d, 0xb4, 0x31, 0x76, 0x4c, + 0x2c, 0xbe, 0xda, 0x8b, 0x59, 0x91, 0x8c, 0x73, 0x46, 0x94, 0x61, 0xa9, 0x32, 0xe8, 0xda, 0xfa, + 0x0b, 0xb5, 0x65, 0x9b, 0x16, 0x41, 0xcf, 0x21, 0xd6, 0xbb, 0x50, 0x9d, 0x77, 0xd9, 0x69, 0xcf, + 0x45, 0x23, 0x2b, 0x85, 0x99, 0xc8, 0xbf, 0x08, 0x29, 0x8f, 0x10, 0xbd, 0x2f, 0x1e, 0x60, 0x24, + 0x96, 0xe2, 0x3d, 0x98, 0x32, 0xd2, 0x85, 0xea, 0x79, 0x79, 0xf9, 0x60, 0xfc, 0x59, 0x52, 0x9e, + 0x62, 0xf7, 0xa2, 0xe8, 0x7d, 0x95, 0x94, 0xbf, 0x27, 0x41, 0x9a, 0x2f, 0x59, 0xc1, 0xa4, 0x6f, + 0x1a, 0x64, 0xec, 0x51, 0x56, 0x1a, 0x7b, 0x94, 0xcd, 0x40, 0x74, 0x60, 0x39, 0x79, 0x0d, 0xfd, + 0x49, 0x77, 0x18, 0xc1, 0x2d, 0x0b, 0xdb, 0x62, 0x73, 0x8a, 0xd6, 0x08, 0x4f, 0xec, 0xba, 0x78, + 0x7e, 0x25, 0x02, 0x6b, 0x94, 0xd4, 0x87, 0x96, 0x6a, 0xd8, 0x75, 0xac, 0x5a, 0xad, 0x8e, 0x43, + 0xec, 0x35, 0x58, 0x30, 0x2f, 0x2e, 0x08, 0xb6, 0x19, 0xac, 0x98, 0x22, 0x5a, 0xf4, 0x0a, 0xec, + 0xea, 0x3d, 0xdd, 0x66, 0xc0, 0x62, 0x0a, 0x6f, 0xa0, 0x8f, 0x21, 0x4d, 0x4c, 0xcb, 0xd6, 0x8d, + 0x76, 0xb3, 0x65, 0x76, 0x07, 0x3d, 0x43, 0xbc, 0x54, 0x3f, 0x99, 0xfe, 0x64, 0xeb, 0x99, 0xf7, + 0x18, 0x0f, 0x19, 0x3b, 0x3f, 0x93, 0x22, 0x9b, 0x37, 0x94, 0x65, 0x31, 0xda, 0x3e, 0x1b, 0x8c, + 0xfa, 0x42, 0x25, 0x2d, 0xb6, 0xbe, 0x84, 0x42, 0x7f, 0xa2, 0x23, 0x58, 0xfc, 0xe6, 0x00, 0x5b, + 0x3a, 0xa6, 0xcc, 0xa6, 0x3c, 0xd8, 0x9e, 0x7b, 0xa6, 0x2f, 0x0f, 0xb0, 0x35, 0x54, 0x1c, 0x73, + 0xf9, 0x6f, 0x25, 0xb8, 0x35, 0x49, 0x03, 0x1d, 0x41, 0xf4, 0x13, 0x3c, 0x14, 0xe4, 0x78, 0xdd, + 0x85, 0xd0, 0x21, 0xd0, 0xcf, 0xc2, 0x42, 0x0f, 0xdb, 0x1d, 0x53, 0x13, 0x8c, 0x79, 0x27, 0x7c, + 0x30, 0x3e, 0x46, 0x85, 0x69, 0x2b, 0xc2, 0x8a, 0xfa, 0xfc, 0x52, 0xed, 0x0e, 0x9c, 0xcf, 0x61, + 0xde, 0x90, 0xff, 0x28, 0x02, 0xeb, 0x81, 0xe0, 0x09, 0x56, 0x5d, 0x2f, 0x7a, 0x0f, 0x60, 0xc9, + 0x36, 0xe9, 0xc9, 0x63, 0x61, 0x32, 0xe8, 0xda, 0xe2, 0x39, 0x31, 0xc5, 0x64, 0x0a, 0x13, 0xa1, + 0x2f, 0xd2, 0x23, 0x87, 0x75, 0xc6, 0x98, 0xbb, 0xdf, 0x9d, 0xc3, 0x1f, 0xac, 0x18, 0x22, 0xcc, + 0xf8, 0x97, 0xb7, 0xd9, 0xc2, 0x84, 0x60, 0xad, 0xe9, 0x7b, 0x1c, 0x5f, 0x75, 0x7b, 0xea, 0xce, + 0x91, 0x5f, 0x84, 0xf4, 0xa5, 0x8e, 0xaf, 0x9a, 0x6e, 0x9d, 0x68, 0x8e, 0x6c, 0x66, 0x99, 0x5a, + 0xb8, 0x4d, 0xf9, 0x4f, 0x45, 0x3a, 0xe7, 0x62, 0xa1, 0xab, 0xaf, 0x59, 0xed, 0xb2, 0xb3, 0xd3, + 0x78, 0x03, 0xdd, 0x85, 0xe4, 0xa9, 0x65, 0x7e, 0x03, 0xb7, 0xec, 0xb2, 0x53, 0x7d, 0x19, 0x09, + 0xa8, 0x27, 0xcf, 0xd8, 0x86, 0x74, 0x36, 0x1d, 0x6f, 0xd1, 0xb1, 0x14, 0xb3, 0x8b, 0x09, 0xf3, + 0x47, 0x52, 0xe1, 0x0d, 0x7a, 0xb7, 0xd6, 0xac, 0x76, 0x75, 0xf4, 0xfa, 0xe0, 0x34, 0x69, 0x0f, + 0x03, 0x52, 0xd6, 0xc4, 0xfd, 0xe7, 0x34, 0xe5, 0x3f, 0x97, 0xe0, 0x4e, 0x65, 0x28, 0x66, 0xac, + 0x59, 0xed, 0x37, 0xd9, 0x87, 0xc1, 0x8d, 0x72, 0xec, 0xdf, 0x28, 0xcf, 0xa6, 0x1c, 0x0f, 0x01, + 0x14, 0xbe, 0xbd, 0xf2, 0xf7, 0x12, 0xac, 0x87, 0x28, 0xa1, 0x63, 0xef, 0x76, 0x29, 0x5c, 0x67, + 0x92, 0x1f, 0xd9, 0x8e, 0xf9, 0x13, 0x09, 0x72, 0x93, 0x3c, 0xfd, 0xc3, 0xda, 0x34, 0xef, 0xfb, + 0x36, 0xcd, 0xbd, 0xf0, 0x55, 0xd4, 0xac, 0xb6, 0xb3, 0x55, 0xe4, 0xc7, 0x10, 0xad, 0x59, 0xed, + 0x40, 0xde, 0x36, 0xa1, 0x0e, 0x21, 0x3f, 0x83, 0xe5, 0xca, 0xf0, 0x14, 0x5b, 0x3d, 0x9d, 0x57, + 0x1b, 0xd1, 0x26, 0xa4, 0xfa, 0xa3, 0x26, 0xbb, 0x23, 0x93, 0x8a, 0x57, 0x24, 0xab, 0x90, 0xe6, + 0x37, 0xbc, 0x9b, 0xc3, 0xb8, 0xeb, 0x93, 0xbc, 0xeb, 0x7b, 0x17, 0x56, 0x9c, 0x6d, 0xda, 0x14, + 0x6e, 0xe1, 0xeb, 0x4f, 0x3b, 0xe2, 0x1a, 0x77, 0x8f, 0xe0, 0x5c, 0xd4, 0xe5, 0x9c, 0x4c, 0x60, + 0x51, 0x4c, 0x81, 0x76, 0x61, 0x91, 0xa7, 0x52, 0xce, 0x7d, 0x3d, 0xe5, 0x21, 0x85, 0xdb, 0x28, + 0x8e, 0x81, 0x27, 0x1e, 0x91, 0xc9, 0xf1, 0x88, 0x7a, 0xf0, 0xca, 0xbf, 0x1e, 0x81, 0x05, 0x91, + 0xba, 0xf8, 0xd2, 0x3d, 0xe9, 0x5a, 0xef, 0x63, 0x07, 0x00, 0xf8, 0x12, 0x1b, 0x76, 0xd3, 0xad, + 0xcd, 0x04, 0x93, 0x0c, 0x8e, 0xf7, 0x84, 0xa5, 0x6e, 0x9f, 0x62, 0xad, 0xc2, 0x8b, 0xca, 0x4a, + 0x92, 0x19, 0x36, 0x66, 0x55, 0x67, 0x36, 0x20, 0x89, 0x35, 0xdd, 0x36, 0x3d, 0x95, 0xd8, 0x04, + 0x17, 0xf0, 0xf3, 0x86, 0xff, 0x76, 0xd2, 0x68, 0xde, 0x42, 0x9f, 0x83, 0x98, 0xa6, 0xda, 0xaa, + 0x38, 0x06, 0xd7, 0x03, 0x8b, 0xa9, 0xb3, 0x72, 0xbb, 0xc2, 0x94, 0xe4, 0xbf, 0x88, 0x42, 0xd6, + 0x4d, 0xe7, 0xcc, 0x5e, 0xbf, 0x8b, 0xbf, 0xa5, 0xdb, 0xc3, 0x53, 0xb3, 0xab, 0xb7, 0x86, 0x01, + 0x5e, 0xf9, 0x6a, 0x59, 0x91, 0x40, 0x2d, 0xeb, 0xc7, 0x5c, 0x4c, 0xbd, 0x07, 0xd0, 0xd3, 0x8d, + 0x66, 0x17, 0x1b, 0x6d, 0xbb, 0x23, 0x6e, 0x8c, 0x64, 0x4f, 0x37, 0x4e, 0x98, 0x00, 0x3d, 0x84, + 0xe5, 0x8e, 0x4a, 0x9a, 0x5d, 0xf3, 0x0a, 0x5b, 0x2d, 0x95, 0xf0, 0xcf, 0xde, 0x84, 0xb2, 0xd4, + 0x51, 0xc9, 0x89, 0x23, 0x73, 0x94, 0x06, 0xfd, 0xbe, 0x50, 0x5a, 0x74, 0x95, 0xce, 0x1c, 0x19, + 0x9d, 0x88, 0x2a, 0x19, 0x83, 0xde, 0x39, 0xb6, 0xd8, 0x37, 0x46, 0x42, 0x49, 0x76, 0x54, 0x52, + 0x65, 0x02, 0xa7, 0x9b, 0x0c, 0x7b, 0xe7, 0x66, 0x57, 0xd4, 0x5d, 0x68, 0x77, 0x9d, 0x09, 0xc6, + 0x22, 0x0e, 0xc1, 0x3a, 0xb9, 0x4e, 0x9a, 0x1a, 0xbe, 0x50, 0xe9, 0x61, 0xc0, 0x0b, 0x2e, 0x49, + 0x9d, 0x1c, 0x70, 0x41, 0xde, 0x1a, 0xfb, 0x37, 0x04, 0x5e, 0xac, 0xdf, 0x84, 0xbb, 0x67, 0xf5, + 0x92, 0x52, 0x2f, 0xd5, 0xeb, 0xe5, 0x5a, 0xb5, 0xde, 0x28, 0x36, 0x4a, 0xcd, 0xb3, 0x6a, 0xfd, + 0xb4, 0xb4, 0x5f, 0x7e, 0x51, 0x2e, 0x1d, 0x64, 0x6e, 0xa0, 0x0d, 0x58, 0x0f, 0x68, 0x14, 0xf7, + 0x1b, 0xe5, 0x97, 0xa5, 0x8c, 0x84, 0xee, 0xc3, 0x46, 0xa0, 0xb3, 0x51, 0x52, 0x2a, 0xe5, 0x6a, + 0xb1, 0x51, 0x3a, 0xc8, 0x44, 0xf2, 0x45, 0x6f, 0x79, 0x52, 0x50, 0x76, 0xad, 0x52, 0xdc, 0x3f, + 0x2a, 0x57, 0x4b, 0xc7, 0xa5, 0x8f, 0x7c, 0x73, 0xdd, 0x84, 0x15, 0x4f, 0xdf, 0x97, 0xea, 0xb5, + 0x6a, 0x46, 0xca, 0xff, 0x95, 0x78, 0x29, 0xe2, 0x80, 0xef, 0xc0, 0x6d, 0x36, 0xe3, 0x04, 0xa4, + 0xb7, 0x20, 0x33, 0xea, 0x72, 0x21, 0xae, 0x01, 0x1a, 0x49, 0xcb, 0x55, 0x21, 0x8f, 0xa0, 0xdb, + 0xb0, 0x3a, 0x92, 0x1f, 0x94, 0x4e, 0x4a, 0x14, 0x70, 0x74, 0x7c, 0x90, 0x93, 0xda, 0xfe, 0x71, + 0xe9, 0x20, 0x13, 0x1b, 0x57, 0xae, 0x9f, 0xd5, 0x4f, 0x4b, 0xd5, 0x83, 0x4c, 0x7c, 0x5c, 0x5c, + 0xae, 0x96, 0x1b, 0xe5, 0xe2, 0x49, 0x66, 0x21, 0xff, 0xf3, 0xb0, 0xc0, 0x5f, 0x6b, 0xe9, 0xe4, + 0x87, 0xa5, 0xea, 0x41, 0x49, 0xf1, 0x41, 0x5d, 0x85, 0x65, 0x21, 0x7f, 0x51, 0xaa, 0x14, 0x4f, + 0x28, 0xce, 0x15, 0x48, 0x09, 0x11, 0x13, 0x44, 0x10, 0x82, 0xb4, 0x10, 0x1c, 0x94, 0x5f, 0x52, + 0x1f, 0x67, 0xa2, 0xf9, 0x03, 0x58, 0x14, 0x1f, 0x09, 0x68, 0x1d, 0x6e, 0x56, 0x5e, 0x14, 0x1b, + 0x1f, 0x9d, 0xfa, 0xdd, 0xb0, 0x02, 0x29, 0xa7, 0xa3, 0x5e, 0xa9, 0xf3, 0x91, 0x1d, 0x41, 0xad, + 0x71, 0x9a, 0x89, 0xe4, 0x2f, 0x20, 0xe1, 0xa4, 0xe8, 0x28, 0x0b, 0xb7, 0xe8, 0xef, 0x09, 0xee, + 0x5c, 0x03, 0xe4, 0xf6, 0x54, 0x6b, 0x8d, 0xa6, 0x52, 0x2a, 0x1e, 0x7c, 0x94, 0x91, 0x28, 0x2e, + 0x57, 0xce, 0x65, 0x11, 0xea, 0x35, 0x8f, 0xac, 0x52, 0x7b, 0x49, 0x7d, 0x99, 0xbf, 0x04, 0x14, + 0xcc, 0x5a, 0xd1, 0x5b, 0x90, 0x0b, 0x4a, 0x9b, 0x67, 0xd5, 0xe3, 0x6a, 0xed, 0x2b, 0xd5, 0xcc, + 0x0d, 0x74, 0x0f, 0xee, 0x4c, 0xe8, 0xaf, 0x29, 0x87, 0xcd, 0xf2, 0x41, 0x46, 0x42, 0x0f, 0xe0, + 0xde, 0x84, 0xee, 0x53, 0xa5, 0xf6, 0xa5, 0xd2, 0x7e, 0x83, 0xaa, 0x44, 0xf2, 0xe7, 0x70, 0x7b, + 0xe2, 0xf5, 0x8f, 0x1e, 0xc1, 0x83, 0xca, 0x47, 0x42, 0xb5, 0xa6, 0x1c, 0xd6, 0x4b, 0x45, 0x65, + 0xff, 0x28, 0x48, 0x43, 0x19, 0xde, 0x9a, 0xac, 0x46, 0x41, 0x54, 0x8b, 0x95, 0x52, 0x46, 0xca, + 0xff, 0x8b, 0x04, 0x4b, 0xde, 0x9c, 0x80, 0xc6, 0x83, 0x2b, 0x56, 0x4a, 0x8d, 0xa3, 0xda, 0x41, + 0xb3, 0xf4, 0xe5, 0xb3, 0xe2, 0x49, 0x3d, 0x73, 0x03, 0xdd, 0x85, 0xec, 0x58, 0x47, 0xbd, 0x51, + 0x54, 0x1a, 0xf5, 0xe6, 0x57, 0xca, 0x8d, 0xa3, 0x8c, 0x44, 0xf9, 0x3c, 0xd6, 0xbb, 0x5f, 0xab, + 0x36, 0x8a, 0xe5, 0x6a, 0x3d, 0x13, 0x41, 0x0f, 0xe1, 0xfe, 0x84, 0x11, 0x9b, 0xe5, 0xc3, 0x6a, + 0x4d, 0x29, 0x35, 0xf7, 0x8b, 0x94, 0x11, 0x68, 0x0b, 0xde, 0x0e, 0x1b, 0x7d, 0x4c, 0x33, 0x46, + 0x17, 0x3f, 0x71, 0xa6, 0x31, 0xb5, 0xf8, 0xce, 0xef, 0x6d, 0x42, 0xaa, 0x38, 0xb0, 0x3b, 0x75, + 0x6c, 0x5d, 0xea, 0x2d, 0x4c, 0x33, 0xbb, 0x23, 0xac, 0x76, 0xed, 0xce, 0xa7, 0x68, 0x2d, 0x70, + 0x94, 0x96, 0x7a, 0x7d, 0x7b, 0x98, 0x0b, 0x91, 0xcb, 0x99, 0xcf, 0xfe, 0xf9, 0xdf, 0x7e, 0x3b, + 0x02, 0x28, 0x51, 0xe8, 0x88, 0x11, 0x0e, 0x21, 0xae, 0x60, 0x55, 0x1b, 0x5e, 0x7b, 0xa8, 0x34, + 0x1b, 0x2a, 0x81, 0x16, 0x0a, 0x16, 0xb3, 0xaf, 0x42, 0xe2, 0xa5, 0xf8, 0x0f, 0xae, 0xd0, 0xb1, + 0xc2, 0x6e, 0x2f, 0x79, 0x95, 0x0d, 0x96, 0x42, 0x49, 0xf7, 0xbf, 0xc0, 0xd0, 0x77, 0x24, 0x58, + 0x3d, 0xc4, 0x36, 0x7f, 0x04, 0x77, 0xfe, 0xa9, 0x2a, 0x74, 0xe4, 0xfc, 0xdc, 0xff, 0xa5, 0x45, + 0xe4, 0xf7, 0x3e, 0xfb, 0x9b, 0xec, 0x0a, 0x2c, 0x53, 0x1d, 0x6c, 0xd8, 0x7a, 0x4b, 0xb5, 0xb1, + 0xc6, 0xe6, 0xbf, 0x85, 0x50, 0x81, 0x7e, 0x84, 0x93, 0x42, 0x0f, 0x17, 0x9c, 0x7f, 0x03, 0x43, + 0x3d, 0x48, 0xba, 0x38, 0x42, 0xe7, 0x97, 0xa7, 0xcf, 0x4f, 0x27, 0x96, 0xdf, 0x0e, 0x9b, 0x97, + 0xae, 0xdb, 0x99, 0x17, 0xfd, 0xaa, 0x04, 0x19, 0x77, 0x3e, 0xa7, 0xda, 0x1d, 0x36, 0xed, 0x8c, + 0x7f, 0x4e, 0xf3, 0x54, 0x63, 0xe5, 0x27, 0x61, 0xb3, 0xdf, 0x44, 0xab, 0xa3, 0x55, 0xf7, 0xc5, + 0x84, 0x7f, 0x2c, 0xc1, 0x4d, 0xfe, 0xf6, 0x35, 0x0e, 0x64, 0x67, 0xca, 0x84, 0x21, 0x85, 0xc0, + 0xdc, 0xa3, 0xb9, 0x40, 0xca, 0x85, 0x30, 0x80, 0x6b, 0xb9, 0x20, 0xc0, 0x5d, 0x29, 0x8f, 0xbe, + 0x27, 0x41, 0x86, 0x27, 0x7e, 0x1c, 0x23, 0xfb, 0xdc, 0x2a, 0xcc, 0x4a, 0x33, 0x7d, 0xd5, 0xb9, + 0x50, 0x7e, 0x3f, 0x0d, 0x83, 0xb3, 0x9e, 0xf3, 0xb0, 0x84, 0xfe, 0xa0, 0x09, 0x39, 0xc5, 0xf3, + 0x6d, 0x48, 0xbb, 0x81, 0xe3, 0x05, 0xbb, 0xb0, 0xb0, 0xcd, 0xf8, 0x88, 0x76, 0xab, 0x5e, 0x72, + 0x3e, 0x0c, 0xc4, 0x2a, 0x5a, 0x19, 0x81, 0xe0, 0xb5, 0xaf, 0xdf, 0x97, 0x60, 0xd5, 0xeb, 0x0e, + 0x0e, 0xe1, 0xe9, 0x3c, 0x01, 0xf3, 0x56, 0x8a, 0x72, 0x0f, 0xe7, 0x00, 0x37, 0x65, 0x0f, 0xe5, + 0xfc, 0xc0, 0xa8, 0x6b, 0x7e, 0x57, 0x82, 0xd5, 0x40, 0x51, 0x6b, 0x1a, 0x99, 0xc2, 0x2a, 0x60, + 0xa1, 0xe1, 0x7a, 0x3f, 0x0c, 0xd0, 0x5d, 0x79, 0xdd, 0x07, 0xa8, 0xc0, 0x8b, 0x35, 0x43, 0x0a, + 0xec, 0xfb, 0x12, 0xdc, 0x53, 0x30, 0xc1, 0x86, 0x56, 0x19, 0x7a, 0x0a, 0x84, 0x2d, 0x96, 0xc2, + 0x56, 0xa6, 0xc5, 0x30, 0x0c, 0x48, 0x31, 0x0c, 0xc8, 0x96, 0xfc, 0x30, 0x00, 0xc4, 0x62, 0x53, + 0x5f, 0x7a, 0xe6, 0xf4, 0x13, 0x89, 0x57, 0xe3, 0x5e, 0x93, 0x48, 0x6e, 0x41, 0x6b, 0x4e, 0x22, + 0xf1, 0xb2, 0x96, 0x9f, 0x48, 0x1c, 0xc2, 0x5c, 0x44, 0xf2, 0xd6, 0x80, 0x66, 0x11, 0x89, 0xe9, + 0xce, 0x49, 0x24, 0x06, 0x8c, 0xba, 0xc6, 0x84, 0x55, 0x05, 0xf7, 0xcc, 0x4b, 0x3c, 0x8f, 0x77, + 0xc2, 0x42, 0x14, 0xee, 0x8c, 0x7c, 0xc0, 0x19, 0xbf, 0xe3, 0x63, 0xee, 0x4c, 0x67, 0x4c, 0x2e, + 0x88, 0xbd, 0x21, 0x6f, 0x19, 0x96, 0x30, 0xde, 0x7a, 0x0a, 0x8d, 0x9c, 0x43, 0xbc, 0x2c, 0xf3, + 0x43, 0xe1, 0xad, 0x00, 0x32, 0x99, 0xb7, 0x63, 0x57, 0x97, 0x53, 0xdf, 0x79, 0xcd, 0xab, 0xcb, + 0x53, 0xc8, 0x9a, 0xf3, 0xea, 0x12, 0x05, 0x0f, 0x76, 0x2d, 0xb8, 0x28, 0x9c, 0xe7, 0x88, 0xad, + 0x59, 0xd7, 0x82, 0xf3, 0x28, 0x92, 0x7b, 0x30, 0x53, 0x73, 0x4e, 0x3c, 0xce, 0x6b, 0x86, 0xff, + 0x2a, 0x75, 0x1c, 0x33, 0xd7, 0x55, 0x3a, 0x5e, 0x75, 0x9a, 0x75, 0x95, 0x3a, 0x45, 0x9d, 0xf9, + 0xae, 0x52, 0xe1, 0x30, 0x1a, 0xb9, 0x4b, 0x91, 0xe3, 0x54, 0x2e, 0xd4, 0xf0, 0x88, 0xbd, 0x33, + 0x57, 0xc5, 0x85, 0xc8, 0x8f, 0xc3, 0x66, 0xcf, 0xa0, 0xf4, 0x68, 0xf6, 0x1e, 0x9d, 0xea, 0xb7, + 0x3c, 0x57, 0xb8, 0x5b, 0x52, 0x9a, 0x12, 0xab, 0xf1, 0x52, 0x55, 0x28, 0x97, 0x9f, 0x87, 0x21, + 0xd8, 0xcc, 0x6d, 0x78, 0xb8, 0x2c, 0x06, 0x23, 0x05, 0xf1, 0x7f, 0xa9, 0xd4, 0x13, 0x7f, 0x26, + 0xc1, 0x3d, 0xe6, 0x8a, 0xd0, 0x67, 0x94, 0x30, 0xf7, 0xec, 0xcc, 0x01, 0xdb, 0x37, 0xd6, 0x14, + 0xa0, 0xe8, 0xad, 0x42, 0x9f, 0xea, 0xe8, 0x98, 0x78, 0x80, 0xb6, 0xdc, 0x01, 0xd0, 0x2f, 0x41, + 0xb2, 0xa8, 0x69, 0x95, 0x0b, 0xb5, 0xd6, 0x38, 0x0d, 0xc5, 0xb4, 0x35, 0xb5, 0xb4, 0xe5, 0x29, + 0x47, 0x4d, 0x49, 0x77, 0x64, 0x34, 0x1e, 0xb4, 0x82, 0x69, 0xf7, 0xa9, 0xa7, 0xbe, 0x2b, 0x79, + 0x8b, 0x79, 0x8d, 0x53, 0xf4, 0xce, 0xcc, 0xeb, 0x9c, 0x4d, 0x19, 0x1a, 0xb5, 0x0f, 0xc2, 0x20, + 0xdc, 0xcf, 0xe5, 0x82, 0x10, 0xbc, 0xa7, 0x61, 0x0f, 0x96, 0xc4, 0xad, 0x30, 0xdd, 0x1d, 0x61, + 0x33, 0x87, 0x5f, 0x42, 0xf9, 0x09, 0x8b, 0x47, 0x7f, 0x29, 0xc1, 0xaa, 0xf8, 0xd2, 0x1c, 0xba, + 0x5f, 0xbe, 0x53, 0x2f, 0xc8, 0x89, 0xa5, 0xb6, 0xdc, 0xb3, 0x6b, 0x58, 0x88, 0x30, 0x7d, 0x21, + 0x0c, 0xe9, 0x86, 0xbc, 0xc6, 0x90, 0xb6, 0xa9, 0x11, 0x83, 0xdb, 0x24, 0xcc, 0x94, 0xfa, 0xe7, + 0xef, 0x24, 0xb8, 0xe9, 0x00, 0x1e, 0x7d, 0x85, 0x13, 0xf4, 0xf9, 0xeb, 0xbc, 0xd6, 0x3b, 0xa8, + 0xbf, 0x70, 0x3d, 0x23, 0x01, 0x3c, 0x9c, 0xe9, 0xf2, 0x46, 0xa1, 0xdd, 0x35, 0xcf, 0xd5, 0x2e, + 0xcd, 0xed, 0xa9, 0xb1, 0x69, 0xb5, 0x89, 0x17, 0xfd, 0x6f, 0x4a, 0xb0, 0xce, 0xb6, 0xe4, 0x57, + 0xf9, 0x94, 0xde, 0x67, 0xef, 0xd7, 0x48, 0x8c, 0xc6, 0xde, 0xcd, 0xe5, 0x9d, 0x30, 0x5c, 0x77, + 0xd0, 0x7a, 0xc1, 0xf3, 0x7c, 0x5e, 0x10, 0x43, 0xd1, 0x4f, 0xb4, 0xef, 0x38, 0x80, 0xc4, 0x6a, + 0xff, 0x4f, 0x01, 0x4d, 0xcd, 0xd4, 0xbc, 0x80, 0x7a, 0x78, 0xef, 0xaf, 0xa5, 0xef, 0x17, 0xbf, + 0x2b, 0xa1, 0x0f, 0x21, 0x51, 0x1c, 0xd8, 0x9d, 0xcd, 0xe2, 0x69, 0x59, 0xce, 0xa3, 0xad, 0x8e, + 0x6d, 0xf7, 0xc9, 0x6e, 0xa1, 0xd0, 0xd6, 0xed, 0xce, 0xe0, 0x7c, 0xbb, 0x65, 0xf6, 0x0a, 0x74, + 0x6e, 0x77, 0x05, 0xfd, 0x4f, 0xda, 0x05, 0x3a, 0xfc, 0x4e, 0xf4, 0xe9, 0xf6, 0xb3, 0xbc, 0x14, + 0xd9, 0xc9, 0xa8, 0xfd, 0x7e, 0x57, 0xdc, 0xe3, 0x85, 0x6f, 0x10, 0xd3, 0x18, 0x97, 0xb4, 0xad, + 0x7e, 0x6b, 0x37, 0xa0, 0xb3, 0x1b, 0xd0, 0xf9, 0xea, 0xa3, 0x69, 0x33, 0x52, 0x0d, 0x36, 0xed, + 0xf9, 0x02, 0x73, 0xcd, 0xe7, 0xff, 0x37, 0x00, 0x00, 0xff, 0xff, 0xf3, 0xa1, 0xd2, 0x82, 0x9b, + 0x36, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context -var _ grpc.ClientConnInterface +var _ grpc.ClientConn // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 +const _ = grpc.SupportPackageIsVersion4 // AuthServiceClient is the client API for AuthService service. // @@ -3395,10 +3414,10 @@ type AuthServiceClient interface { } type authServiceClient struct { - cc grpc.ClientConnInterface + cc *grpc.ClientConn } -func NewAuthServiceClient(cc grpc.ClientConnInterface) AuthServiceClient { +func NewAuthServiceClient(cc *grpc.ClientConn) AuthServiceClient { return &authServiceClient{cc} } diff --git a/pkg/grpc/auth/auth.pb.gw.go b/pkg/grpc/auth/auth.pb.gw.go index 14a1e7bee1..04136bcb32 100644 --- a/pkg/grpc/auth/auth.pb.gw.go +++ b/pkg/grpc/auth/auth.pb.gw.go @@ -13,6 +13,7 @@ import ( "io" "net/http" + "github.com/golang/protobuf/descriptor" "github.com/golang/protobuf/proto" "github.com/golang/protobuf/ptypes/empty" "github.com/grpc-ecosystem/grpc-gateway/runtime" @@ -23,11 +24,13 @@ import ( "google.golang.org/grpc/status" ) +// Suppress "imported and not used" errors var _ codes.Code var _ io.Reader var _ status.Status var _ = runtime.String var _ = utilities.NewDoubleArray +var _ = descriptor.ForMessage func request_AuthService_Healthz_0(ctx context.Context, marshaler runtime.Marshaler, client AuthServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty @@ -811,13 +814,13 @@ func local_request_AuthService_GetMyProjectPermissions_0(ctx context.Context, ma // RegisterAuthServiceHandlerServer registers the http handlers for service AuthService to "mux". // UnaryRPC :call AuthServiceServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server AuthServiceServer, opts []grpc.DialOption) error { +func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server AuthServiceServer) error { mux.Handle("GET", pattern_AuthService_Healthz_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -837,7 +840,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -857,7 +860,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -877,7 +880,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -897,7 +900,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -917,7 +920,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -937,7 +940,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -957,7 +960,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -977,7 +980,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -997,7 +1000,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1017,7 +1020,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1037,7 +1040,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1057,7 +1060,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1077,7 +1080,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1097,7 +1100,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1117,7 +1120,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1137,7 +1140,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1157,7 +1160,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1177,7 +1180,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1197,7 +1200,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1217,7 +1220,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1237,7 +1240,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1257,7 +1260,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1277,7 +1280,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1297,7 +1300,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1317,7 +1320,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1337,7 +1340,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1357,7 +1360,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1377,7 +1380,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1397,7 +1400,7 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -2064,7 +2067,7 @@ var ( pattern_AuthService_Validate_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"validate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AuthService_GetMyUserSessions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"me", "usersessions"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_AuthService_GetMyUserSessions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"users", "me", "sessions"}, "", runtime.AssumeColonVerbOpt(true))) pattern_AuthService_GetMyUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"users", "me"}, "", runtime.AssumeColonVerbOpt(true))) @@ -2104,11 +2107,11 @@ var ( pattern_AuthService_GetMyPasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "complexity"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AuthService_AddMfaOTP_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"users", "me", "mfa", "otp"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_AuthService_AddMfaOTP_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"users", "me", "mfas", "otp"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AuthService_VerifyMfaOTP_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"users", "me", "mfa", "otp", "_verify"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_AuthService_VerifyMfaOTP_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"users", "me", "mfas", "otp", "_verify"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_AuthService_RemoveMfaOTP_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"users", "me", "mfa", "otp"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_AuthService_RemoveMfaOTP_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"users", "me", "mfas", "otp"}, "", runtime.AssumeColonVerbOpt(true))) pattern_AuthService_SearchMyUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"usergrants", "me", "_search"}, "", runtime.AssumeColonVerbOpt(true))) diff --git a/pkg/grpc/auth/auth.pb.validate.go b/pkg/grpc/auth/auth.pb.validate.go new file mode 100644 index 0000000000..de91260b4f --- /dev/null +++ b/pkg/grpc/auth/auth.pb.validate.go @@ -0,0 +1,3434 @@ +// Code generated by protoc-gen-validate. DO NOT EDIT. +// source: auth.proto + +package auth + +import ( + "bytes" + "errors" + "fmt" + "net" + "net/mail" + "net/url" + "regexp" + "strings" + "time" + "unicode/utf8" + + "github.com/golang/protobuf/ptypes" +) + +// ensure the imports are used +var ( + _ = bytes.MinRead + _ = errors.New("") + _ = fmt.Print + _ = utf8.UTFMax + _ = (*regexp.Regexp)(nil) + _ = (*strings.Reader)(nil) + _ = net.IPv4len + _ = time.Duration(0) + _ = (*url.URL)(nil) + _ = (*mail.Address)(nil) + _ = ptypes.DynamicAny{} +) + +// define the regex for a UUID once up-front +var _auth_uuidPattern = regexp.MustCompile("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$") + +// Validate checks the field values on UserSessionViews with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *UserSessionViews) Validate() error { + if m == nil { + return nil + } + + for idx, item := range m.GetUserSessions() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserSessionViewsValidationError{ + field: fmt.Sprintf("UserSessions[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// UserSessionViewsValidationError is the validation error returned by +// UserSessionViews.Validate if the designated constraints aren't met. +type UserSessionViewsValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserSessionViewsValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserSessionViewsValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserSessionViewsValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserSessionViewsValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserSessionViewsValidationError) ErrorName() string { return "UserSessionViewsValidationError" } + +// Error satisfies the builtin error interface +func (e UserSessionViewsValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserSessionViews.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserSessionViewsValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserSessionViewsValidationError{} + +// Validate checks the field values on UserSessionView with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *UserSessionView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for AgentId + + // no validation rules for AuthState + + // no validation rules for UserId + + // no validation rules for UserName + + // no validation rules for Sequence + + // no validation rules for LoginName + + // no validation rules for DisplayName + + return nil +} + +// UserSessionViewValidationError is the validation error returned by +// UserSessionView.Validate if the designated constraints aren't met. +type UserSessionViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserSessionViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserSessionViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserSessionViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserSessionViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserSessionViewValidationError) ErrorName() string { return "UserSessionViewValidationError" } + +// Error satisfies the builtin error interface +func (e UserSessionViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserSessionView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserSessionViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserSessionViewValidationError{} + +// Validate checks the field values on UserView with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *UserView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + // no validation rules for PreferredLoginName + + if v, ok := interface{}(m.GetLastLogin()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserViewValidationError{ + field: "LastLogin", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for ResourceOwner + + // no validation rules for UserName + + switch m.User.(type) { + + case *UserView_Human: + + if v, ok := interface{}(m.GetHuman()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserViewValidationError{ + field: "Human", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *UserView_Machine: + + if v, ok := interface{}(m.GetMachine()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserViewValidationError{ + field: "Machine", + reason: "embedded message failed validation", + cause: err, + } + } + } + + default: + return UserViewValidationError{ + field: "User", + reason: "value is required", + } + + } + + return nil +} + +// UserViewValidationError is the validation error returned by +// UserView.Validate if the designated constraints aren't met. +type UserViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserViewValidationError) ErrorName() string { return "UserViewValidationError" } + +// Error satisfies the builtin error interface +func (e UserViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserViewValidationError{} + +// Validate checks the field values on MachineView with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *MachineView) Validate() error { + if m == nil { + return nil + } + + if v, ok := interface{}(m.GetLastKeyAdded()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MachineViewValidationError{ + field: "LastKeyAdded", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Name + + // no validation rules for Description + + return nil +} + +// MachineViewValidationError is the validation error returned by +// MachineView.Validate if the designated constraints aren't met. +type MachineViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MachineViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MachineViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MachineViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MachineViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MachineViewValidationError) ErrorName() string { return "MachineViewValidationError" } + +// Error satisfies the builtin error interface +func (e MachineViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMachineView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MachineViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MachineViewValidationError{} + +// Validate checks the field values on MachineKeyView with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *MachineKeyView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Type + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MachineKeyViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetExpirationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MachineKeyViewValidationError{ + field: "ExpirationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// MachineKeyViewValidationError is the validation error returned by +// MachineKeyView.Validate if the designated constraints aren't met. +type MachineKeyViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MachineKeyViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MachineKeyViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MachineKeyViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MachineKeyViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MachineKeyViewValidationError) ErrorName() string { return "MachineKeyViewValidationError" } + +// Error satisfies the builtin error interface +func (e MachineKeyViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMachineKeyView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MachineKeyViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MachineKeyViewValidationError{} + +// Validate checks the field values on HumanView with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *HumanView) Validate() error { + if m == nil { + return nil + } + + if v, ok := interface{}(m.GetPasswordChanged()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return HumanViewValidationError{ + field: "PasswordChanged", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for FirstName + + // no validation rules for LastName + + // no validation rules for DisplayName + + // no validation rules for NickName + + // no validation rules for PreferredLanguage + + // no validation rules for Gender + + // no validation rules for Email + + // no validation rules for IsEmailVerified + + // no validation rules for Phone + + // no validation rules for IsPhoneVerified + + // no validation rules for Country + + // no validation rules for Locality + + // no validation rules for PostalCode + + // no validation rules for Region + + // no validation rules for StreetAddress + + return nil +} + +// HumanViewValidationError is the validation error returned by +// HumanView.Validate if the designated constraints aren't met. +type HumanViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e HumanViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e HumanViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e HumanViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e HumanViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e HumanViewValidationError) ErrorName() string { return "HumanViewValidationError" } + +// Error satisfies the builtin error interface +func (e HumanViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sHumanView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = HumanViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = HumanViewValidationError{} + +// Validate checks the field values on UserProfile with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *UserProfile) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for FirstName + + // no validation rules for LastName + + // no validation rules for NickName + + // no validation rules for DisplayName + + // no validation rules for PreferredLanguage + + // no validation rules for Gender + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserProfileValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserProfileValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// UserProfileValidationError is the validation error returned by +// UserProfile.Validate if the designated constraints aren't met. +type UserProfileValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserProfileValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserProfileValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserProfileValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserProfileValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserProfileValidationError) ErrorName() string { return "UserProfileValidationError" } + +// Error satisfies the builtin error interface +func (e UserProfileValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserProfile.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserProfileValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserProfileValidationError{} + +// Validate checks the field values on UserProfileView with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *UserProfileView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for FirstName + + // no validation rules for LastName + + // no validation rules for NickName + + // no validation rules for DisplayName + + // no validation rules for PreferredLanguage + + // no validation rules for Gender + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserProfileViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserProfileViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for PreferredLoginName + + return nil +} + +// UserProfileViewValidationError is the validation error returned by +// UserProfileView.Validate if the designated constraints aren't met. +type UserProfileViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserProfileViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserProfileViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserProfileViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserProfileViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserProfileViewValidationError) ErrorName() string { return "UserProfileViewValidationError" } + +// Error satisfies the builtin error interface +func (e UserProfileViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserProfileView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserProfileViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserProfileViewValidationError{} + +// Validate checks the field values on UpdateUserProfileRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UpdateUserProfileRequest) Validate() error { + if m == nil { + return nil + } + + if l := utf8.RuneCountInString(m.GetFirstName()); l < 1 || l > 200 { + return UpdateUserProfileRequestValidationError{ + field: "FirstName", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + if l := utf8.RuneCountInString(m.GetLastName()); l < 1 || l > 200 { + return UpdateUserProfileRequestValidationError{ + field: "LastName", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + if utf8.RuneCountInString(m.GetNickName()) > 200 { + return UpdateUserProfileRequestValidationError{ + field: "NickName", + reason: "value length must be at most 200 runes", + } + } + + if l := utf8.RuneCountInString(m.GetPreferredLanguage()); l < 1 || l > 200 { + return UpdateUserProfileRequestValidationError{ + field: "PreferredLanguage", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + // no validation rules for Gender + + return nil +} + +// UpdateUserProfileRequestValidationError is the validation error returned by +// UpdateUserProfileRequest.Validate if the designated constraints aren't met. +type UpdateUserProfileRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateUserProfileRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateUserProfileRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateUserProfileRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateUserProfileRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateUserProfileRequestValidationError) ErrorName() string { + return "UpdateUserProfileRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateUserProfileRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUpdateUserProfileRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateUserProfileRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateUserProfileRequestValidationError{} + +// Validate checks the field values on ChangeUserNameRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ChangeUserNameRequest) Validate() error { + if m == nil { + return nil + } + + if !_ChangeUserNameRequest_UserName_Pattern.MatchString(m.GetUserName()) { + return ChangeUserNameRequestValidationError{ + field: "UserName", + reason: "value does not match regex pattern \"^[^[:space:]]{1,200}$\"", + } + } + + return nil +} + +// ChangeUserNameRequestValidationError is the validation error returned by +// ChangeUserNameRequest.Validate if the designated constraints aren't met. +type ChangeUserNameRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ChangeUserNameRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ChangeUserNameRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ChangeUserNameRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ChangeUserNameRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ChangeUserNameRequestValidationError) ErrorName() string { + return "ChangeUserNameRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ChangeUserNameRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sChangeUserNameRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ChangeUserNameRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ChangeUserNameRequestValidationError{} + +var _ChangeUserNameRequest_UserName_Pattern = regexp.MustCompile("^[^[:space:]]{1,200}$") + +// Validate checks the field values on UserEmail with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *UserEmail) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Email + + // no validation rules for IsEmailVerified + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserEmailValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserEmailValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// UserEmailValidationError is the validation error returned by +// UserEmail.Validate if the designated constraints aren't met. +type UserEmailValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserEmailValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserEmailValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserEmailValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserEmailValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserEmailValidationError) ErrorName() string { return "UserEmailValidationError" } + +// Error satisfies the builtin error interface +func (e UserEmailValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserEmail.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserEmailValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserEmailValidationError{} + +// Validate checks the field values on UserEmailView with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *UserEmailView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Email + + // no validation rules for IsEmailVerified + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserEmailViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserEmailViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// UserEmailViewValidationError is the validation error returned by +// UserEmailView.Validate if the designated constraints aren't met. +type UserEmailViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserEmailViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserEmailViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserEmailViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserEmailViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserEmailViewValidationError) ErrorName() string { return "UserEmailViewValidationError" } + +// Error satisfies the builtin error interface +func (e UserEmailViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserEmailView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserEmailViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserEmailViewValidationError{} + +// Validate checks the field values on VerifyMyUserEmailRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *VerifyMyUserEmailRequest) Validate() error { + if m == nil { + return nil + } + + if l := utf8.RuneCountInString(m.GetCode()); l < 1 || l > 200 { + return VerifyMyUserEmailRequestValidationError{ + field: "Code", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + return nil +} + +// VerifyMyUserEmailRequestValidationError is the validation error returned by +// VerifyMyUserEmailRequest.Validate if the designated constraints aren't met. +type VerifyMyUserEmailRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e VerifyMyUserEmailRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e VerifyMyUserEmailRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e VerifyMyUserEmailRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e VerifyMyUserEmailRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e VerifyMyUserEmailRequestValidationError) ErrorName() string { + return "VerifyMyUserEmailRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e VerifyMyUserEmailRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sVerifyMyUserEmailRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = VerifyMyUserEmailRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = VerifyMyUserEmailRequestValidationError{} + +// Validate checks the field values on UpdateUserEmailRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UpdateUserEmailRequest) Validate() error { + if m == nil { + return nil + } + + if l := utf8.RuneCountInString(m.GetEmail()); l < 1 || l > 200 { + return UpdateUserEmailRequestValidationError{ + field: "Email", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + return nil +} + +// UpdateUserEmailRequestValidationError is the validation error returned by +// UpdateUserEmailRequest.Validate if the designated constraints aren't met. +type UpdateUserEmailRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateUserEmailRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateUserEmailRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateUserEmailRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateUserEmailRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateUserEmailRequestValidationError) ErrorName() string { + return "UpdateUserEmailRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateUserEmailRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUpdateUserEmailRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateUserEmailRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateUserEmailRequestValidationError{} + +// Validate checks the field values on UserPhone with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *UserPhone) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Phone + + // no validation rules for IsPhoneVerified + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserPhoneValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserPhoneValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// UserPhoneValidationError is the validation error returned by +// UserPhone.Validate if the designated constraints aren't met. +type UserPhoneValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserPhoneValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserPhoneValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserPhoneValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserPhoneValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserPhoneValidationError) ErrorName() string { return "UserPhoneValidationError" } + +// Error satisfies the builtin error interface +func (e UserPhoneValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserPhone.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserPhoneValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserPhoneValidationError{} + +// Validate checks the field values on UserPhoneView with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *UserPhoneView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Phone + + // no validation rules for IsPhoneVerified + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserPhoneViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserPhoneViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// UserPhoneViewValidationError is the validation error returned by +// UserPhoneView.Validate if the designated constraints aren't met. +type UserPhoneViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserPhoneViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserPhoneViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserPhoneViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserPhoneViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserPhoneViewValidationError) ErrorName() string { return "UserPhoneViewValidationError" } + +// Error satisfies the builtin error interface +func (e UserPhoneViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserPhoneView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserPhoneViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserPhoneViewValidationError{} + +// Validate checks the field values on UpdateUserPhoneRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UpdateUserPhoneRequest) Validate() error { + if m == nil { + return nil + } + + if l := utf8.RuneCountInString(m.GetPhone()); l < 1 || l > 20 { + return UpdateUserPhoneRequestValidationError{ + field: "Phone", + reason: "value length must be between 1 and 20 runes, inclusive", + } + } + + return nil +} + +// UpdateUserPhoneRequestValidationError is the validation error returned by +// UpdateUserPhoneRequest.Validate if the designated constraints aren't met. +type UpdateUserPhoneRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateUserPhoneRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateUserPhoneRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateUserPhoneRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateUserPhoneRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateUserPhoneRequestValidationError) ErrorName() string { + return "UpdateUserPhoneRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateUserPhoneRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUpdateUserPhoneRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateUserPhoneRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateUserPhoneRequestValidationError{} + +// Validate checks the field values on VerifyUserPhoneRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *VerifyUserPhoneRequest) Validate() error { + if m == nil { + return nil + } + + if l := utf8.RuneCountInString(m.GetCode()); l < 1 || l > 200 { + return VerifyUserPhoneRequestValidationError{ + field: "Code", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + return nil +} + +// VerifyUserPhoneRequestValidationError is the validation error returned by +// VerifyUserPhoneRequest.Validate if the designated constraints aren't met. +type VerifyUserPhoneRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e VerifyUserPhoneRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e VerifyUserPhoneRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e VerifyUserPhoneRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e VerifyUserPhoneRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e VerifyUserPhoneRequestValidationError) ErrorName() string { + return "VerifyUserPhoneRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e VerifyUserPhoneRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sVerifyUserPhoneRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = VerifyUserPhoneRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = VerifyUserPhoneRequestValidationError{} + +// Validate checks the field values on UserAddress with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *UserAddress) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Country + + // no validation rules for Locality + + // no validation rules for PostalCode + + // no validation rules for Region + + // no validation rules for StreetAddress + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserAddressValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserAddressValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// UserAddressValidationError is the validation error returned by +// UserAddress.Validate if the designated constraints aren't met. +type UserAddressValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserAddressValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserAddressValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserAddressValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserAddressValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserAddressValidationError) ErrorName() string { return "UserAddressValidationError" } + +// Error satisfies the builtin error interface +func (e UserAddressValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserAddress.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserAddressValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserAddressValidationError{} + +// Validate checks the field values on UserAddressView with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *UserAddressView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Country + + // no validation rules for Locality + + // no validation rules for PostalCode + + // no validation rules for Region + + // no validation rules for StreetAddress + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserAddressViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserAddressViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// UserAddressViewValidationError is the validation error returned by +// UserAddressView.Validate if the designated constraints aren't met. +type UserAddressViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserAddressViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserAddressViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserAddressViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserAddressViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserAddressViewValidationError) ErrorName() string { return "UserAddressViewValidationError" } + +// Error satisfies the builtin error interface +func (e UserAddressViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserAddressView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserAddressViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserAddressViewValidationError{} + +// Validate checks the field values on UpdateUserAddressRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UpdateUserAddressRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetCountry()) > 200 { + return UpdateUserAddressRequestValidationError{ + field: "Country", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetLocality()) > 200 { + return UpdateUserAddressRequestValidationError{ + field: "Locality", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetPostalCode()) > 200 { + return UpdateUserAddressRequestValidationError{ + field: "PostalCode", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetRegion()) > 200 { + return UpdateUserAddressRequestValidationError{ + field: "Region", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetStreetAddress()) > 200 { + return UpdateUserAddressRequestValidationError{ + field: "StreetAddress", + reason: "value length must be at most 200 runes", + } + } + + return nil +} + +// UpdateUserAddressRequestValidationError is the validation error returned by +// UpdateUserAddressRequest.Validate if the designated constraints aren't met. +type UpdateUserAddressRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateUserAddressRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateUserAddressRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateUserAddressRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateUserAddressRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateUserAddressRequestValidationError) ErrorName() string { + return "UpdateUserAddressRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateUserAddressRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUpdateUserAddressRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateUserAddressRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateUserAddressRequestValidationError{} + +// Validate checks the field values on PasswordChange with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *PasswordChange) Validate() error { + if m == nil { + return nil + } + + if l := utf8.RuneCountInString(m.GetOldPassword()); l < 1 || l > 72 { + return PasswordChangeValidationError{ + field: "OldPassword", + reason: "value length must be between 1 and 72 runes, inclusive", + } + } + + if l := utf8.RuneCountInString(m.GetNewPassword()); l < 1 || l > 72 { + return PasswordChangeValidationError{ + field: "NewPassword", + reason: "value length must be between 1 and 72 runes, inclusive", + } + } + + return nil +} + +// PasswordChangeValidationError is the validation error returned by +// PasswordChange.Validate if the designated constraints aren't met. +type PasswordChangeValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e PasswordChangeValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e PasswordChangeValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e PasswordChangeValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e PasswordChangeValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e PasswordChangeValidationError) ErrorName() string { return "PasswordChangeValidationError" } + +// Error satisfies the builtin error interface +func (e PasswordChangeValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sPasswordChange.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = PasswordChangeValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = PasswordChangeValidationError{} + +// Validate checks the field values on VerifyMfaOtp with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *VerifyMfaOtp) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetCode()) < 1 { + return VerifyMfaOtpValidationError{ + field: "Code", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// VerifyMfaOtpValidationError is the validation error returned by +// VerifyMfaOtp.Validate if the designated constraints aren't met. +type VerifyMfaOtpValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e VerifyMfaOtpValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e VerifyMfaOtpValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e VerifyMfaOtpValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e VerifyMfaOtpValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e VerifyMfaOtpValidationError) ErrorName() string { return "VerifyMfaOtpValidationError" } + +// Error satisfies the builtin error interface +func (e VerifyMfaOtpValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sVerifyMfaOtp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = VerifyMfaOtpValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = VerifyMfaOtpValidationError{} + +// Validate checks the field values on MultiFactors with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *MultiFactors) Validate() error { + if m == nil { + return nil + } + + for idx, item := range m.GetMfas() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MultiFactorsValidationError{ + field: fmt.Sprintf("Mfas[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// MultiFactorsValidationError is the validation error returned by +// MultiFactors.Validate if the designated constraints aren't met. +type MultiFactorsValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MultiFactorsValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MultiFactorsValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MultiFactorsValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MultiFactorsValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MultiFactorsValidationError) ErrorName() string { return "MultiFactorsValidationError" } + +// Error satisfies the builtin error interface +func (e MultiFactorsValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMultiFactors.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MultiFactorsValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MultiFactorsValidationError{} + +// Validate checks the field values on MultiFactor with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *MultiFactor) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Type + + // no validation rules for State + + return nil +} + +// MultiFactorValidationError is the validation error returned by +// MultiFactor.Validate if the designated constraints aren't met. +type MultiFactorValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MultiFactorValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MultiFactorValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MultiFactorValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MultiFactorValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MultiFactorValidationError) ErrorName() string { return "MultiFactorValidationError" } + +// Error satisfies the builtin error interface +func (e MultiFactorValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMultiFactor.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MultiFactorValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MultiFactorValidationError{} + +// Validate checks the field values on MfaOtpResponse with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *MfaOtpResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for UserId + + // no validation rules for Url + + // no validation rules for Secret + + // no validation rules for State + + return nil +} + +// MfaOtpResponseValidationError is the validation error returned by +// MfaOtpResponse.Validate if the designated constraints aren't met. +type MfaOtpResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MfaOtpResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MfaOtpResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MfaOtpResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MfaOtpResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MfaOtpResponseValidationError) ErrorName() string { return "MfaOtpResponseValidationError" } + +// Error satisfies the builtin error interface +func (e MfaOtpResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMfaOtpResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MfaOtpResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MfaOtpResponseValidationError{} + +// Validate checks the field values on UserGrantSearchRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UserGrantSearchRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + if _, ok := _UserGrantSearchRequest_SortingColumn_NotInLookup[m.GetSortingColumn()]; ok { + return UserGrantSearchRequestValidationError{ + field: "SortingColumn", + reason: "value must not be in list [0]", + } + } + + // no validation rules for Asc + + for idx, item := range m.GetQueries() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserGrantSearchRequestValidationError{ + field: fmt.Sprintf("Queries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// UserGrantSearchRequestValidationError is the validation error returned by +// UserGrantSearchRequest.Validate if the designated constraints aren't met. +type UserGrantSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserGrantSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserGrantSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserGrantSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserGrantSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserGrantSearchRequestValidationError) ErrorName() string { + return "UserGrantSearchRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e UserGrantSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserGrantSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserGrantSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserGrantSearchRequestValidationError{} + +var _UserGrantSearchRequest_SortingColumn_NotInLookup = map[UserGrantSearchKey]struct{}{ + 0: {}, +} + +// Validate checks the field values on UserGrantSearchQuery with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UserGrantSearchQuery) Validate() error { + if m == nil { + return nil + } + + if _, ok := _UserGrantSearchQuery_Key_NotInLookup[m.GetKey()]; ok { + return UserGrantSearchQueryValidationError{ + field: "Key", + reason: "value must not be in list [0]", + } + } + + // no validation rules for Method + + // no validation rules for Value + + return nil +} + +// UserGrantSearchQueryValidationError is the validation error returned by +// UserGrantSearchQuery.Validate if the designated constraints aren't met. +type UserGrantSearchQueryValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserGrantSearchQueryValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserGrantSearchQueryValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserGrantSearchQueryValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserGrantSearchQueryValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserGrantSearchQueryValidationError) ErrorName() string { + return "UserGrantSearchQueryValidationError" +} + +// Error satisfies the builtin error interface +func (e UserGrantSearchQueryValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserGrantSearchQuery.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserGrantSearchQueryValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserGrantSearchQueryValidationError{} + +var _UserGrantSearchQuery_Key_NotInLookup = map[UserGrantSearchKey]struct{}{ + 0: {}, +} + +// Validate checks the field values on UserGrantSearchResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UserGrantSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserGrantSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserGrantSearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// UserGrantSearchResponseValidationError is the validation error returned by +// UserGrantSearchResponse.Validate if the designated constraints aren't met. +type UserGrantSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserGrantSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserGrantSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserGrantSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserGrantSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserGrantSearchResponseValidationError) ErrorName() string { + return "UserGrantSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e UserGrantSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserGrantSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserGrantSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserGrantSearchResponseValidationError{} + +// Validate checks the field values on UserGrantView with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *UserGrantView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for OrgId + + // no validation rules for ProjectId + + // no validation rules for UserId + + // no validation rules for OrgName + + // no validation rules for GrantId + + return nil +} + +// UserGrantViewValidationError is the validation error returned by +// UserGrantView.Validate if the designated constraints aren't met. +type UserGrantViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserGrantViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserGrantViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserGrantViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserGrantViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserGrantViewValidationError) ErrorName() string { return "UserGrantViewValidationError" } + +// Error satisfies the builtin error interface +func (e UserGrantViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserGrantView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserGrantViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserGrantViewValidationError{} + +// Validate checks the field values on MyProjectOrgSearchRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *MyProjectOrgSearchRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for Asc + + for idx, item := range m.GetQueries() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MyProjectOrgSearchRequestValidationError{ + field: fmt.Sprintf("Queries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// MyProjectOrgSearchRequestValidationError is the validation error returned by +// MyProjectOrgSearchRequest.Validate if the designated constraints aren't met. +type MyProjectOrgSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MyProjectOrgSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MyProjectOrgSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MyProjectOrgSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MyProjectOrgSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MyProjectOrgSearchRequestValidationError) ErrorName() string { + return "MyProjectOrgSearchRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e MyProjectOrgSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMyProjectOrgSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MyProjectOrgSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MyProjectOrgSearchRequestValidationError{} + +// Validate checks the field values on MyProjectOrgSearchQuery with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *MyProjectOrgSearchQuery) Validate() error { + if m == nil { + return nil + } + + if _, ok := _MyProjectOrgSearchQuery_Key_NotInLookup[m.GetKey()]; ok { + return MyProjectOrgSearchQueryValidationError{ + field: "Key", + reason: "value must not be in list [0]", + } + } + + // no validation rules for Method + + // no validation rules for Value + + return nil +} + +// MyProjectOrgSearchQueryValidationError is the validation error returned by +// MyProjectOrgSearchQuery.Validate if the designated constraints aren't met. +type MyProjectOrgSearchQueryValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MyProjectOrgSearchQueryValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MyProjectOrgSearchQueryValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MyProjectOrgSearchQueryValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MyProjectOrgSearchQueryValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MyProjectOrgSearchQueryValidationError) ErrorName() string { + return "MyProjectOrgSearchQueryValidationError" +} + +// Error satisfies the builtin error interface +func (e MyProjectOrgSearchQueryValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMyProjectOrgSearchQuery.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MyProjectOrgSearchQueryValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MyProjectOrgSearchQueryValidationError{} + +var _MyProjectOrgSearchQuery_Key_NotInLookup = map[MyProjectOrgSearchKey]struct{}{ + 0: {}, +} + +// Validate checks the field values on MyProjectOrgSearchResponse with the +// rules defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *MyProjectOrgSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MyProjectOrgSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// MyProjectOrgSearchResponseValidationError is the validation error returned +// by MyProjectOrgSearchResponse.Validate if the designated constraints aren't met. +type MyProjectOrgSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MyProjectOrgSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MyProjectOrgSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MyProjectOrgSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MyProjectOrgSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MyProjectOrgSearchResponseValidationError) ErrorName() string { + return "MyProjectOrgSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e MyProjectOrgSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMyProjectOrgSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MyProjectOrgSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MyProjectOrgSearchResponseValidationError{} + +// Validate checks the field values on Org with the rules defined in the proto +// definition for this message. If any rules are violated, an error is returned. +func (m *Org) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Name + + return nil +} + +// OrgValidationError is the validation error returned by Org.Validate if the +// designated constraints aren't met. +type OrgValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgValidationError) ErrorName() string { return "OrgValidationError" } + +// Error satisfies the builtin error interface +func (e OrgValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrg.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgValidationError{} + +// Validate checks the field values on MyPermissions with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *MyPermissions) Validate() error { + if m == nil { + return nil + } + + return nil +} + +// MyPermissionsValidationError is the validation error returned by +// MyPermissions.Validate if the designated constraints aren't met. +type MyPermissionsValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MyPermissionsValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MyPermissionsValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MyPermissionsValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MyPermissionsValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MyPermissionsValidationError) ErrorName() string { return "MyPermissionsValidationError" } + +// Error satisfies the builtin error interface +func (e MyPermissionsValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMyPermissions.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MyPermissionsValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MyPermissionsValidationError{} + +// Validate checks the field values on ChangesRequest with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *ChangesRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Limit + + // no validation rules for SequenceOffset + + // no validation rules for Asc + + return nil +} + +// ChangesRequestValidationError is the validation error returned by +// ChangesRequest.Validate if the designated constraints aren't met. +type ChangesRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ChangesRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ChangesRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ChangesRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ChangesRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ChangesRequestValidationError) ErrorName() string { return "ChangesRequestValidationError" } + +// Error satisfies the builtin error interface +func (e ChangesRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sChangesRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ChangesRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ChangesRequestValidationError{} + +// Validate checks the field values on Changes with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *Changes) Validate() error { + if m == nil { + return nil + } + + for idx, item := range m.GetChanges() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ChangesValidationError{ + field: fmt.Sprintf("Changes[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for Offset + + // no validation rules for Limit + + return nil +} + +// ChangesValidationError is the validation error returned by Changes.Validate +// if the designated constraints aren't met. +type ChangesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ChangesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ChangesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ChangesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ChangesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ChangesValidationError) ErrorName() string { return "ChangesValidationError" } + +// Error satisfies the builtin error interface +func (e ChangesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sChanges.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ChangesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ChangesValidationError{} + +// Validate checks the field values on Change with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *Change) Validate() error { + if m == nil { + return nil + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ChangeValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetEventType()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ChangeValidationError{ + field: "EventType", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + // no validation rules for EditorId + + // no validation rules for Editor + + if v, ok := interface{}(m.GetData()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ChangeValidationError{ + field: "Data", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// ChangeValidationError is the validation error returned by Change.Validate if +// the designated constraints aren't met. +type ChangeValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ChangeValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ChangeValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ChangeValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ChangeValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ChangeValidationError) ErrorName() string { return "ChangeValidationError" } + +// Error satisfies the builtin error interface +func (e ChangeValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sChange.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ChangeValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ChangeValidationError{} + +// Validate checks the field values on PasswordComplexityPolicy with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *PasswordComplexityPolicy) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Description + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return PasswordComplexityPolicyValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return PasswordComplexityPolicyValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for MinLength + + // no validation rules for HasLowercase + + // no validation rules for HasUppercase + + // no validation rules for HasNumber + + // no validation rules for HasSymbol + + // no validation rules for Sequence + + // no validation rules for IsDefault + + return nil +} + +// PasswordComplexityPolicyValidationError is the validation error returned by +// PasswordComplexityPolicy.Validate if the designated constraints aren't met. +type PasswordComplexityPolicyValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e PasswordComplexityPolicyValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e PasswordComplexityPolicyValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e PasswordComplexityPolicyValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e PasswordComplexityPolicyValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e PasswordComplexityPolicyValidationError) ErrorName() string { + return "PasswordComplexityPolicyValidationError" +} + +// Error satisfies the builtin error interface +func (e PasswordComplexityPolicyValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sPasswordComplexityPolicy.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = PasswordComplexityPolicyValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = PasswordComplexityPolicyValidationError{} diff --git a/pkg/grpc/auth/auth.swagger.json b/pkg/grpc/auth/auth.swagger.json index 144e917abf..13ba4ebcc7 100644 --- a/pkg/grpc/auth/auth.swagger.json +++ b/pkg/grpc/auth/auth.swagger.json @@ -62,23 +62,6 @@ ] } }, - "/me/usersessions": { - "get": { - "summary": "Authorization", - "operationId": "GetMyUserSessions", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/v1UserSessionViews" - } - } - }, - "tags": [ - "AuthService" - ] - } - }, "/permissions/me": { "get": { "operationId": "GetMyProjectPermissions", @@ -358,7 +341,23 @@ ] } }, - "/users/me/mfa/otp": { + "/users/me/mfas": { + "get": { + "operationId": "GetMyMfas", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1MultiFactors" + } + } + }, + "tags": [ + "AuthService" + ] + } + }, + "/users/me/mfas/otp": { "delete": { "operationId": "RemoveMfaOTP", "responses": { @@ -399,7 +398,7 @@ ] } }, - "/users/me/mfa/otp/_verify": { + "/users/me/mfas/otp/_verify": { "put": { "operationId": "VerifyMfaOTP", "responses": { @@ -425,22 +424,6 @@ ] } }, - "/users/me/mfas": { - "get": { - "operationId": "GetMyMfas", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/v1MultiFactors" - } - } - }, - "tags": [ - "AuthService" - ] - } - }, "/users/me/passwords/_change": { "put": { "summary": "Password", @@ -614,6 +597,23 @@ ] } }, + "/users/me/sessions": { + "get": { + "summary": "Authorization", + "operationId": "GetMyUserSessions", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1UserSessionViews" + } + } + }, + "tags": [ + "AuthService" + ] + } + }, "/users/me/username": { "put": { "operationId": "ChangeMyUserName", @@ -728,6 +728,62 @@ ], "default": "GENDER_UNSPECIFIED" }, + "v1HumanView": { + "type": "object", + "properties": { + "password_changed": { + "type": "string", + "format": "date-time" + }, + "first_name": { + "type": "string" + }, + "last_name": { + "type": "string" + }, + "display_name": { + "type": "string" + }, + "nick_name": { + "type": "string" + }, + "preferred_language": { + "type": "string" + }, + "gender": { + "$ref": "#/definitions/v1Gender" + }, + "email": { + "type": "string" + }, + "is_email_verified": { + "type": "boolean", + "format": "boolean" + }, + "phone": { + "type": "string" + }, + "is_phone_verified": { + "type": "boolean", + "format": "boolean" + }, + "country": { + "type": "string" + }, + "locality": { + "type": "string" + }, + "postal_code": { + "type": "string" + }, + "region": { + "type": "string" + }, + "street_address": { + "type": "string" + } + } + }, "v1LocalizedMessage": { "type": "object", "properties": { @@ -749,6 +805,21 @@ ], "default": "MFASTATE_UNSPECIFIED" }, + "v1MachineView": { + "type": "object", + "properties": { + "last_key_added": { + "type": "string", + "format": "date-time" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + } + } + }, "v1MfaOtpResponse": { "type": "object", "properties": { @@ -1303,9 +1374,6 @@ "id": { "type": "string" }, - "user_name": { - "type": "string" - }, "first_name": { "type": "string" }, @@ -1344,9 +1412,6 @@ "id": { "type": "string" }, - "user_name": { - "type": "string" - }, "first_name": { "type": "string" }, @@ -1468,71 +1533,10 @@ "type": "string", "format": "date-time" }, - "last_login": { - "type": "string", - "format": "date-time" - }, - "password_changed": { - "type": "string", - "format": "date-time" - }, - "user_name": { - "type": "string" - }, - "first_name": { - "type": "string" - }, - "last_name": { - "type": "string" - }, - "display_name": { - "type": "string" - }, - "nick_name": { - "type": "string" - }, - "preferred_language": { - "type": "string" - }, - "gender": { - "$ref": "#/definitions/v1Gender" - }, - "email": { - "type": "string" - }, - "is_email_verified": { - "type": "boolean", - "format": "boolean" - }, - "phone": { - "type": "string" - }, - "is_phone_verified": { - "type": "boolean", - "format": "boolean" - }, - "country": { - "type": "string" - }, - "locality": { - "type": "string" - }, - "postal_code": { - "type": "string" - }, - "region": { - "type": "string" - }, - "street_address": { - "type": "string" - }, "sequence": { "type": "string", "format": "uint64" }, - "resource_owner": { - "type": "string" - }, "login_names": { "type": "array", "items": { @@ -1541,6 +1545,22 @@ }, "preferred_login_name": { "type": "string" + }, + "last_login": { + "type": "string", + "format": "date-time" + }, + "resource_owner": { + "type": "string" + }, + "user_name": { + "type": "string" + }, + "human": { + "$ref": "#/definitions/v1HumanView" + }, + "machine": { + "$ref": "#/definitions/v1MachineView" } } }, diff --git a/pkg/grpc/auth/proto/auth.proto b/pkg/grpc/auth/proto/auth.proto index c8d27281e4..2f46f238e2 100644 --- a/pkg/grpc/auth/proto/auth.proto +++ b/pkg/grpc/auth/proto/auth.proto @@ -54,7 +54,7 @@ service AuthService { // Authorization rpc GetMyUserSessions(google.protobuf.Empty) returns (UserSessionViews) { option (google.api.http) = { - get: "/me/usersessions" + get: "/users/me/sessions" }; option (caos.zitadel.utils.v1.auth_option) = { @@ -241,6 +241,7 @@ service AuthService { permission: "authenticated" }; } + //Password rpc ChangeMyPassword(PasswordChange) returns (google.protobuf.Empty) { option (google.api.http) = { @@ -266,7 +267,7 @@ service AuthService { // MFA rpc AddMfaOTP(google.protobuf.Empty) returns (MfaOtpResponse) { option (google.api.http) = { - post: "/users/me/mfa/otp" + post: "/users/me/mfas/otp" body: "*" }; option (caos.zitadel.utils.v1.auth_option) = { @@ -276,7 +277,7 @@ service AuthService { rpc VerifyMfaOTP(VerifyMfaOtp) returns (google.protobuf.Empty) { option (google.api.http) = { - put: "/users/me/mfa/otp/_verify" + put: "/users/me/mfas/otp/_verify" body: "*" }; @@ -287,7 +288,7 @@ service AuthService { rpc RemoveMfaOTP(google.protobuf.Empty) returns (google.protobuf.Empty) { option (google.api.http) = { - delete: "/users/me/mfa/otp" + delete: "/users/me/mfas/otp" }; option (caos.zitadel.utils.v1.auth_option) = { @@ -341,6 +342,7 @@ service AuthService { message UserSessionViews { repeated UserSessionView user_sessions = 1; } + message UserSessionView { string id = 1; string agent_id = 2; @@ -358,39 +360,64 @@ enum UserSessionState { USERSESSIONSTATE_TERMINATED = 2; } -enum OIDCResponseType { - OIDCRESPONSETYPE_CODE = 0; - OIDCRESPONSETYPE_ID_TOKEN = 1; - OIDCRESPONSETYPE_ID_TOKEN_TOKEN = 2; -} - message UserView { string id = 1; UserState state = 2; google.protobuf.Timestamp creation_date = 3; google.protobuf.Timestamp change_date = 4; - google.protobuf.Timestamp last_login = 5; - google.protobuf.Timestamp password_changed = 6; - string user_name = 7; - string first_name = 8; - string last_name = 9; - string display_name = 10; - string nick_name = 11; - string preferred_language = 12; - Gender gender = 13; - string email = 14; - bool is_email_verified = 15; - string phone = 16; - bool is_phone_verified = 17; - string country = 18; - string locality = 19; - string postal_code = 20; - string region = 21; - string street_address = 22; - uint64 sequence = 23; - string resource_owner = 24; - repeated string login_names = 25; - string preferred_login_name = 26; + uint64 sequence = 5; + repeated string login_names = 6; + string preferred_login_name = 7; + google.protobuf.Timestamp last_login = 8; + string resource_owner = 9; + string user_name = 10; + + oneof user { + option (validate.required) = true; + + HumanView human = 11; + MachineView machine = 12; + } +} + +message MachineView { + google.protobuf.Timestamp last_key_added = 1; + + string name = 2; + string description = 3; +} + +message MachineKeyView { + string id = 1; + MachineKeyType type = 2; + uint64 sequence = 3; + + google.protobuf.Timestamp creation_date = 4; + google.protobuf.Timestamp expiration_date = 5; +} + +enum MachineKeyType { + MACHINEKEY_UNSPECIFIED = 0; + MACHINEKEY_JSON = 1; +} + +message HumanView { + google.protobuf.Timestamp password_changed = 1; + string first_name = 2; + string last_name = 3; + string display_name = 4; + string nick_name = 5; + string preferred_language = 6; + Gender gender = 7; + string email = 8; + bool is_email_verified = 9; + string phone = 10; + bool is_phone_verified = 11; + string country = 12; + string locality = 13; + string postal_code = 14; + string region = 15; + string street_address = 16; } enum UserState { @@ -412,44 +439,42 @@ enum Gender { message UserProfile { string id = 1; - string user_name = 2; - string first_name = 3; - string last_name = 4; - string nick_name = 5; - string display_name = 6; - string preferred_language = 7; - Gender gender = 8; - uint64 sequence = 9; - google.protobuf.Timestamp creation_date = 10; - google.protobuf.Timestamp change_date = 11; + string first_name = 2; + string last_name = 3; + string nick_name = 4; + string display_name = 5; + string preferred_language = 6; + Gender gender = 7; + uint64 sequence = 8; + google.protobuf.Timestamp creation_date = 9; + google.protobuf.Timestamp change_date = 10; } message UserProfileView { string id = 1; - string user_name = 2; - string first_name = 3; - string last_name = 4; - string nick_name = 5; - string display_name = 6; - string preferred_language = 7; - Gender gender = 8; - uint64 sequence = 9; - google.protobuf.Timestamp creation_date = 10; - google.protobuf.Timestamp change_date = 11; - repeated string login_names = 12; - string preferred_login_name = 13; + string first_name = 2; + string last_name = 3; + string nick_name = 4; + string display_name = 5; + string preferred_language = 6; + Gender gender = 7; + uint64 sequence = 8; + google.protobuf.Timestamp creation_date = 9; + google.protobuf.Timestamp change_date = 10; + repeated string login_names = 11; + string preferred_login_name = 12; } message UpdateUserProfileRequest { string first_name = 1 [(validate.rules).string = {min_len: 1, max_len: 200}]; string last_name = 2 [(validate.rules).string = {min_len: 1, max_len: 200}]; - string nick_name = 3 [(validate.rules).string = {min_len: 1, max_len: 200}]; + string nick_name = 3 [(validate.rules).string.max_len = 200]; string preferred_language = 4 [(validate.rules).string = {min_len: 1, max_len: 200}]; Gender gender = 5; } message ChangeUserNameRequest { - string user_name = 1 [(validate.rules).string = {max_len: 200}]; + string user_name = 1 [(validate.rules).string.pattern = "^[^[:space:]]{1,200}$"]; } message UserEmail { @@ -474,11 +499,6 @@ message VerifyMyUserEmailRequest { string code = 1 [(validate.rules).string = {min_len: 1, max_len: 200}]; } -message VerifyUserEmailRequest { - string id = 1; - string code = 2 [(validate.rules).string = {min_len: 1, max_len: 200}]; -} - message UpdateUserEmailRequest { string email = 1 [(validate.rules).string = {min_len: 1, max_len: 200}]; } @@ -541,14 +561,6 @@ message UpdateUserAddressRequest { string street_address = 5 [(validate.rules).string = {max_len: 200}]; } -message PasswordID { - string id = 1; -} - -message PasswordRequest { - string password = 1 [(validate.rules).string = {min_len: 1, max_len: 72}]; -} - message PasswordChange { string old_password = 1 [(validate.rules).string = {min_len: 1, max_len: 72}]; string new_password = 2 [(validate.rules).string = {min_len: 1, max_len: 72}]; @@ -561,7 +573,7 @@ enum MfaType { } message VerifyMfaOtp { - string code = 1; + string code = 1 [(validate.rules).string = {min_len: 1}]; } message MultiFactors { @@ -587,11 +599,6 @@ enum MFAState { MFASTATE_REMOVED = 3; } -message OIDCClientAuth { - string client_id = 1; - string client_secret = 2; -} - message UserGrantSearchRequest { uint64 offset = 1; uint64 limit = 2; diff --git a/pkg/grpc/auth/proto/generate.go b/pkg/grpc/auth/proto/generate.go index 2813498537..f8d39cd2a9 100644 --- a/pkg/grpc/auth/proto/generate.go +++ b/pkg/grpc/auth/proto/generate.go @@ -1,4 +1,4 @@ package proto -//go:generate protoc -I${GOPATH}/src -I../proto -I${GOPATH}/src/github.com/caos/zitadel/pkg/grpc/message -I${GOPATH}/src/github.com/grpc-ecosystem/grpc-gateway -I${GOPATH}/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis -I${GOPATH}/src/github.com/envoyproxy/protoc-gen-validate -I${GOPATH}/src/github.com/caos/zitadel/internal/protoc/protoc-gen-authoption --go_out=plugins=grpc:${GOPATH}/src --grpc-gateway_out=logtostderr=true:${GOPATH}/src --swagger_out=logtostderr=true:.. --authoption_out=:.. auth.proto +//go:generate protoc -I${GOPATH}/src -I../proto -I${GOPATH}/src/github.com/caos/zitadel/pkg/grpc/message -I${GOPATH}/src/github.com/grpc-ecosystem/grpc-gateway -I${GOPATH}/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis -I${GOPATH}/src/github.com/envoyproxy/protoc-gen-validate -I${GOPATH}/src/github.com/caos/zitadel/internal/protoc/protoc-gen-authoption --go_out=plugins=grpc:${GOPATH}/src --grpc-gateway_out=logtostderr=true:${GOPATH}/src --swagger_out=logtostderr=true:.. --authoption_out=:.. --validate_out=lang=go:${GOPATH}/src auth.proto //go:generate mockgen -package api -destination ../mock/auth.proto.mock.go github.com/caos/zitadel/pkg/grpc/auth AuthServiceClient diff --git a/pkg/grpc/management/management.pb.authoptions.go b/pkg/grpc/management/management.pb.authoptions.go index 97f3c045de..98d20771e6 100644 --- a/pkg/grpc/management/management.pb.authoptions.go +++ b/pkg/grpc/management/management.pb.authoptions.go @@ -19,6 +19,11 @@ var ManagementService_AuthMethods = authz.MethodMapping{ CheckParam: "", }, + "/caos.zitadel.management.api.v1.ManagementService/IsUserUnique": authz.Option{ + Permission: "user.read", + CheckParam: "", + }, + "/caos.zitadel.management.api.v1.ManagementService/GetUserByID": authz.Option{ Permission: "user.read", CheckParam: "", @@ -34,11 +39,6 @@ var ManagementService_AuthMethods = authz.MethodMapping{ CheckParam: "", }, - "/caos.zitadel.management.api.v1.ManagementService/IsUserUnique": authz.Option{ - Permission: "user.read", - CheckParam: "", - }, - "/caos.zitadel.management.api.v1.ManagementService/CreateUser": authz.Option{ Permission: "user.write", CheckParam: "", @@ -74,18 +74,23 @@ var ManagementService_AuthMethods = authz.MethodMapping{ CheckParam: "", }, - "/caos.zitadel.management.api.v1.ManagementService/ApplicationChanges": authz.Option{ - Permission: "project.app.read", + "/caos.zitadel.management.api.v1.ManagementService/AddMachineKey": authz.Option{ + Permission: "user.write", CheckParam: "", }, - "/caos.zitadel.management.api.v1.ManagementService/OrgChanges": authz.Option{ - Permission: "org.read", + "/caos.zitadel.management.api.v1.ManagementService/DeleteMachineKey": authz.Option{ + Permission: "user.write", CheckParam: "", }, - "/caos.zitadel.management.api.v1.ManagementService/ProjectChanges": authz.Option{ - Permission: "project.read", + "/caos.zitadel.management.api.v1.ManagementService/SearchMachineKeys": authz.Option{ + Permission: "user.read", + CheckParam: "", + }, + + "/caos.zitadel.management.api.v1.ManagementService/GetMachineKey": authz.Option{ + Permission: "user.read", CheckParam: "", }, @@ -149,6 +154,11 @@ var ManagementService_AuthMethods = authz.MethodMapping{ CheckParam: "", }, + "/caos.zitadel.management.api.v1.ManagementService/UpdateUserMachine": authz.Option{ + Permission: "user.write", + CheckParam: "", + }, + "/caos.zitadel.management.api.v1.ManagementService/GetUserMfas": authz.Option{ Permission: "user.read", CheckParam: "", @@ -239,6 +249,11 @@ var ManagementService_AuthMethods = authz.MethodMapping{ CheckParam: "", }, + "/caos.zitadel.management.api.v1.ManagementService/OrgChanges": authz.Option{ + Permission: "org.read", + CheckParam: "", + }, + "/caos.zitadel.management.api.v1.ManagementService/GetMyOrg": authz.Option{ Permission: "org.read", CheckParam: "", @@ -319,6 +334,11 @@ var ManagementService_AuthMethods = authz.MethodMapping{ CheckParam: "", }, + "/caos.zitadel.management.api.v1.ManagementService/ProjectChanges": authz.Option{ + Permission: "project.read", + CheckParam: "", + }, + "/caos.zitadel.management.api.v1.ManagementService/SearchProjects": authz.Option{ Permission: "project.read", CheckParam: "", @@ -424,6 +444,11 @@ var ManagementService_AuthMethods = authz.MethodMapping{ CheckParam: "ProjectId", }, + "/caos.zitadel.management.api.v1.ManagementService/ApplicationChanges": authz.Option{ + Permission: "project.app.read", + CheckParam: "", + }, + "/caos.zitadel.management.api.v1.ManagementService/CreateOIDCApplication": authz.Option{ Permission: "project.app.write", CheckParam: "ProjectId", diff --git a/pkg/grpc/management/management.pb.go b/pkg/grpc/management/management.pb.go index 88d6c72daf..5ca49a0b6b 100644 --- a/pkg/grpc/management/management.pb.go +++ b/pkg/grpc/management/management.pb.go @@ -1,13 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.20.1 -// protoc v3.11.3 // source: management.proto package management import ( context "context" + fmt "fmt" _ "github.com/caos/zitadel/internal/protoc/protoc-gen-authoption/authoption" message "github.com/caos/zitadel/pkg/grpc/message" _ "github.com/envoyproxy/protoc-gen-validate/validate" @@ -20,22 +18,19 @@ import ( grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" + math "math" ) -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf -// This is a compile-time assertion that a sufficiently up-to-date version -// of the legacy proto package is being used. -const _ = proto.ProtoPackageIsVersion4 +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package type UserState int32 @@ -49,53 +44,32 @@ const ( UserState_USERSTATE_INITIAL UserState = 6 ) -// Enum value maps for UserState. -var ( - UserState_name = map[int32]string{ - 0: "USERSTATE_UNSPECIFIED", - 1: "USERSTATE_ACTIVE", - 2: "USERSTATE_INACTIVE", - 3: "USERSTATE_DELETED", - 4: "USERSTATE_LOCKED", - 5: "USERSTATE_SUSPEND", - 6: "USERSTATE_INITIAL", - } - UserState_value = map[string]int32{ - "USERSTATE_UNSPECIFIED": 0, - "USERSTATE_ACTIVE": 1, - "USERSTATE_INACTIVE": 2, - "USERSTATE_DELETED": 3, - "USERSTATE_LOCKED": 4, - "USERSTATE_SUSPEND": 5, - "USERSTATE_INITIAL": 6, - } -) +var UserState_name = map[int32]string{ + 0: "USERSTATE_UNSPECIFIED", + 1: "USERSTATE_ACTIVE", + 2: "USERSTATE_INACTIVE", + 3: "USERSTATE_DELETED", + 4: "USERSTATE_LOCKED", + 5: "USERSTATE_SUSPEND", + 6: "USERSTATE_INITIAL", +} -func (x UserState) Enum() *UserState { - p := new(UserState) - *p = x - return p +var UserState_value = map[string]int32{ + "USERSTATE_UNSPECIFIED": 0, + "USERSTATE_ACTIVE": 1, + "USERSTATE_INACTIVE": 2, + "USERSTATE_DELETED": 3, + "USERSTATE_LOCKED": 4, + "USERSTATE_SUSPEND": 5, + "USERSTATE_INITIAL": 6, } func (x UserState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(UserState_name, int32(x)) } -func (UserState) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[0].Descriptor() -} - -func (UserState) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[0] -} - -func (x UserState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use UserState.Descriptor instead. func (UserState) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{0} + return fileDescriptor_edc174f991dc0a25, []int{0} } type Gender int32 @@ -107,47 +81,51 @@ const ( Gender_GENDER_DIVERSE Gender = 3 ) -// Enum value maps for Gender. -var ( - Gender_name = map[int32]string{ - 0: "GENDER_UNSPECIFIED", - 1: "GENDER_FEMALE", - 2: "GENDER_MALE", - 3: "GENDER_DIVERSE", - } - Gender_value = map[string]int32{ - "GENDER_UNSPECIFIED": 0, - "GENDER_FEMALE": 1, - "GENDER_MALE": 2, - "GENDER_DIVERSE": 3, - } -) +var Gender_name = map[int32]string{ + 0: "GENDER_UNSPECIFIED", + 1: "GENDER_FEMALE", + 2: "GENDER_MALE", + 3: "GENDER_DIVERSE", +} -func (x Gender) Enum() *Gender { - p := new(Gender) - *p = x - return p +var Gender_value = map[string]int32{ + "GENDER_UNSPECIFIED": 0, + "GENDER_FEMALE": 1, + "GENDER_MALE": 2, + "GENDER_DIVERSE": 3, } func (x Gender) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(Gender_name, int32(x)) } -func (Gender) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[1].Descriptor() -} - -func (Gender) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[1] -} - -func (x Gender) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Gender.Descriptor instead. func (Gender) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{1} + return fileDescriptor_edc174f991dc0a25, []int{1} +} + +type MachineKeyType int32 + +const ( + MachineKeyType_MACHINEKEY_UNSPECIFIED MachineKeyType = 0 + MachineKeyType_MACHINEKEY_JSON MachineKeyType = 1 +) + +var MachineKeyType_name = map[int32]string{ + 0: "MACHINEKEY_UNSPECIFIED", + 1: "MACHINEKEY_JSON", +} + +var MachineKeyType_value = map[string]int32{ + "MACHINEKEY_UNSPECIFIED": 0, + "MACHINEKEY_JSON": 1, +} + +func (x MachineKeyType) String() string { + return proto.EnumName(MachineKeyType_name, int32(x)) +} + +func (MachineKeyType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_edc174f991dc0a25, []int{2} } type UserSearchKey int32 @@ -161,57 +139,39 @@ const ( UserSearchKey_USERSEARCHKEY_DISPLAY_NAME UserSearchKey = 5 UserSearchKey_USERSEARCHKEY_EMAIL UserSearchKey = 6 UserSearchKey_USERSEARCHKEY_STATE UserSearchKey = 7 + UserSearchKey_USERSEARCHKEY_TYPE UserSearchKey = 8 ) -// Enum value maps for UserSearchKey. -var ( - UserSearchKey_name = map[int32]string{ - 0: "USERSEARCHKEY_UNSPECIFIED", - 1: "USERSEARCHKEY_USER_NAME", - 2: "USERSEARCHKEY_FIRST_NAME", - 3: "USERSEARCHKEY_LAST_NAME", - 4: "USERSEARCHKEY_NICK_NAME", - 5: "USERSEARCHKEY_DISPLAY_NAME", - 6: "USERSEARCHKEY_EMAIL", - 7: "USERSEARCHKEY_STATE", - } - UserSearchKey_value = map[string]int32{ - "USERSEARCHKEY_UNSPECIFIED": 0, - "USERSEARCHKEY_USER_NAME": 1, - "USERSEARCHKEY_FIRST_NAME": 2, - "USERSEARCHKEY_LAST_NAME": 3, - "USERSEARCHKEY_NICK_NAME": 4, - "USERSEARCHKEY_DISPLAY_NAME": 5, - "USERSEARCHKEY_EMAIL": 6, - "USERSEARCHKEY_STATE": 7, - } -) +var UserSearchKey_name = map[int32]string{ + 0: "USERSEARCHKEY_UNSPECIFIED", + 1: "USERSEARCHKEY_USER_NAME", + 2: "USERSEARCHKEY_FIRST_NAME", + 3: "USERSEARCHKEY_LAST_NAME", + 4: "USERSEARCHKEY_NICK_NAME", + 5: "USERSEARCHKEY_DISPLAY_NAME", + 6: "USERSEARCHKEY_EMAIL", + 7: "USERSEARCHKEY_STATE", + 8: "USERSEARCHKEY_TYPE", +} -func (x UserSearchKey) Enum() *UserSearchKey { - p := new(UserSearchKey) - *p = x - return p +var UserSearchKey_value = map[string]int32{ + "USERSEARCHKEY_UNSPECIFIED": 0, + "USERSEARCHKEY_USER_NAME": 1, + "USERSEARCHKEY_FIRST_NAME": 2, + "USERSEARCHKEY_LAST_NAME": 3, + "USERSEARCHKEY_NICK_NAME": 4, + "USERSEARCHKEY_DISPLAY_NAME": 5, + "USERSEARCHKEY_EMAIL": 6, + "USERSEARCHKEY_STATE": 7, + "USERSEARCHKEY_TYPE": 8, } func (x UserSearchKey) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(UserSearchKey_name, int32(x)) } -func (UserSearchKey) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[2].Descriptor() -} - -func (UserSearchKey) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[2] -} - -func (x UserSearchKey) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use UserSearchKey.Descriptor instead. func (UserSearchKey) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{2} + return fileDescriptor_edc174f991dc0a25, []int{3} } type SearchMethod int32 @@ -230,61 +190,40 @@ const ( SearchMethod_SEARCHMETHOD_LIST_CONTAINS SearchMethod = 10 ) -// Enum value maps for SearchMethod. -var ( - SearchMethod_name = map[int32]string{ - 0: "SEARCHMETHOD_EQUALS", - 1: "SEARCHMETHOD_STARTS_WITH", - 2: "SEARCHMETHOD_CONTAINS", - 3: "SEARCHMETHOD_EQUALS_IGNORE_CASE", - 4: "SEARCHMETHOD_STARTS_WITH_IGNORE_CASE", - 5: "SEARCHMETHOD_CONTAINS_IGNORE_CASE", - 6: "SEARCHMETHOD_NOT_EQUALS", - 7: "SEARCHMETHOD_GREATER_THAN", - 8: "SEARCHMETHOD_LESS_THAN", - 9: "SEARCHMETHOD_IS_ONE_OF", - 10: "SEARCHMETHOD_LIST_CONTAINS", - } - SearchMethod_value = map[string]int32{ - "SEARCHMETHOD_EQUALS": 0, - "SEARCHMETHOD_STARTS_WITH": 1, - "SEARCHMETHOD_CONTAINS": 2, - "SEARCHMETHOD_EQUALS_IGNORE_CASE": 3, - "SEARCHMETHOD_STARTS_WITH_IGNORE_CASE": 4, - "SEARCHMETHOD_CONTAINS_IGNORE_CASE": 5, - "SEARCHMETHOD_NOT_EQUALS": 6, - "SEARCHMETHOD_GREATER_THAN": 7, - "SEARCHMETHOD_LESS_THAN": 8, - "SEARCHMETHOD_IS_ONE_OF": 9, - "SEARCHMETHOD_LIST_CONTAINS": 10, - } -) +var SearchMethod_name = map[int32]string{ + 0: "SEARCHMETHOD_EQUALS", + 1: "SEARCHMETHOD_STARTS_WITH", + 2: "SEARCHMETHOD_CONTAINS", + 3: "SEARCHMETHOD_EQUALS_IGNORE_CASE", + 4: "SEARCHMETHOD_STARTS_WITH_IGNORE_CASE", + 5: "SEARCHMETHOD_CONTAINS_IGNORE_CASE", + 6: "SEARCHMETHOD_NOT_EQUALS", + 7: "SEARCHMETHOD_GREATER_THAN", + 8: "SEARCHMETHOD_LESS_THAN", + 9: "SEARCHMETHOD_IS_ONE_OF", + 10: "SEARCHMETHOD_LIST_CONTAINS", +} -func (x SearchMethod) Enum() *SearchMethod { - p := new(SearchMethod) - *p = x - return p +var SearchMethod_value = map[string]int32{ + "SEARCHMETHOD_EQUALS": 0, + "SEARCHMETHOD_STARTS_WITH": 1, + "SEARCHMETHOD_CONTAINS": 2, + "SEARCHMETHOD_EQUALS_IGNORE_CASE": 3, + "SEARCHMETHOD_STARTS_WITH_IGNORE_CASE": 4, + "SEARCHMETHOD_CONTAINS_IGNORE_CASE": 5, + "SEARCHMETHOD_NOT_EQUALS": 6, + "SEARCHMETHOD_GREATER_THAN": 7, + "SEARCHMETHOD_LESS_THAN": 8, + "SEARCHMETHOD_IS_ONE_OF": 9, + "SEARCHMETHOD_LIST_CONTAINS": 10, } func (x SearchMethod) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(SearchMethod_name, int32(x)) } -func (SearchMethod) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[3].Descriptor() -} - -func (SearchMethod) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[3] -} - -func (x SearchMethod) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SearchMethod.Descriptor instead. func (SearchMethod) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{3} + return fileDescriptor_edc174f991dc0a25, []int{4} } type MfaType int32 @@ -295,45 +234,24 @@ const ( MfaType_MFATYPE_OTP MfaType = 2 ) -// Enum value maps for MfaType. -var ( - MfaType_name = map[int32]string{ - 0: "MFATYPE_UNSPECIFIED", - 1: "MFATYPE_SMS", - 2: "MFATYPE_OTP", - } - MfaType_value = map[string]int32{ - "MFATYPE_UNSPECIFIED": 0, - "MFATYPE_SMS": 1, - "MFATYPE_OTP": 2, - } -) +var MfaType_name = map[int32]string{ + 0: "MFATYPE_UNSPECIFIED", + 1: "MFATYPE_SMS", + 2: "MFATYPE_OTP", +} -func (x MfaType) Enum() *MfaType { - p := new(MfaType) - *p = x - return p +var MfaType_value = map[string]int32{ + "MFATYPE_UNSPECIFIED": 0, + "MFATYPE_SMS": 1, + "MFATYPE_OTP": 2, } func (x MfaType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(MfaType_name, int32(x)) } -func (MfaType) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[4].Descriptor() -} - -func (MfaType) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[4] -} - -func (x MfaType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use MfaType.Descriptor instead. func (MfaType) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{4} + return fileDescriptor_edc174f991dc0a25, []int{5} } type MFAState int32 @@ -345,47 +263,26 @@ const ( MFAState_MFASTATE_REMOVED MFAState = 3 ) -// Enum value maps for MFAState. -var ( - MFAState_name = map[int32]string{ - 0: "MFASTATE_UNSPECIFIED", - 1: "MFASTATE_NOT_READY", - 2: "MFASTATE_READY", - 3: "MFASTATE_REMOVED", - } - MFAState_value = map[string]int32{ - "MFASTATE_UNSPECIFIED": 0, - "MFASTATE_NOT_READY": 1, - "MFASTATE_READY": 2, - "MFASTATE_REMOVED": 3, - } -) +var MFAState_name = map[int32]string{ + 0: "MFASTATE_UNSPECIFIED", + 1: "MFASTATE_NOT_READY", + 2: "MFASTATE_READY", + 3: "MFASTATE_REMOVED", +} -func (x MFAState) Enum() *MFAState { - p := new(MFAState) - *p = x - return p +var MFAState_value = map[string]int32{ + "MFASTATE_UNSPECIFIED": 0, + "MFASTATE_NOT_READY": 1, + "MFASTATE_READY": 2, + "MFASTATE_REMOVED": 3, } func (x MFAState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(MFAState_name, int32(x)) } -func (MFAState) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[5].Descriptor() -} - -func (MFAState) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[5] -} - -func (x MFAState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use MFAState.Descriptor instead. func (MFAState) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{5} + return fileDescriptor_edc174f991dc0a25, []int{6} } type NotificationType int32 @@ -395,43 +292,22 @@ const ( NotificationType_NOTIFICATIONTYPE_SMS NotificationType = 1 ) -// Enum value maps for NotificationType. -var ( - NotificationType_name = map[int32]string{ - 0: "NOTIFICATIONTYPE_EMAIL", - 1: "NOTIFICATIONTYPE_SMS", - } - NotificationType_value = map[string]int32{ - "NOTIFICATIONTYPE_EMAIL": 0, - "NOTIFICATIONTYPE_SMS": 1, - } -) +var NotificationType_name = map[int32]string{ + 0: "NOTIFICATIONTYPE_EMAIL", + 1: "NOTIFICATIONTYPE_SMS", +} -func (x NotificationType) Enum() *NotificationType { - p := new(NotificationType) - *p = x - return p +var NotificationType_value = map[string]int32{ + "NOTIFICATIONTYPE_EMAIL": 0, + "NOTIFICATIONTYPE_SMS": 1, } func (x NotificationType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(NotificationType_name, int32(x)) } -func (NotificationType) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[6].Descriptor() -} - -func (NotificationType) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[6] -} - -func (x NotificationType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use NotificationType.Descriptor instead. func (NotificationType) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{6} + return fileDescriptor_edc174f991dc0a25, []int{7} } type PolicyState int32 @@ -443,47 +319,26 @@ const ( PolicyState_POLICYSTATE_DELETED PolicyState = 3 ) -// Enum value maps for PolicyState. -var ( - PolicyState_name = map[int32]string{ - 0: "POLICYSTATE_UNSPECIFIED", - 1: "POLICYSTATE_ACTIVE", - 2: "POLICYSTATE_INACTIVE", - 3: "POLICYSTATE_DELETED", - } - PolicyState_value = map[string]int32{ - "POLICYSTATE_UNSPECIFIED": 0, - "POLICYSTATE_ACTIVE": 1, - "POLICYSTATE_INACTIVE": 2, - "POLICYSTATE_DELETED": 3, - } -) +var PolicyState_name = map[int32]string{ + 0: "POLICYSTATE_UNSPECIFIED", + 1: "POLICYSTATE_ACTIVE", + 2: "POLICYSTATE_INACTIVE", + 3: "POLICYSTATE_DELETED", +} -func (x PolicyState) Enum() *PolicyState { - p := new(PolicyState) - *p = x - return p +var PolicyState_value = map[string]int32{ + "POLICYSTATE_UNSPECIFIED": 0, + "POLICYSTATE_ACTIVE": 1, + "POLICYSTATE_INACTIVE": 2, + "POLICYSTATE_DELETED": 3, } func (x PolicyState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(PolicyState_name, int32(x)) } -func (PolicyState) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[7].Descriptor() -} - -func (PolicyState) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[7] -} - -func (x PolicyState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PolicyState.Descriptor instead. func (PolicyState) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{7} + return fileDescriptor_edc174f991dc0a25, []int{8} } type OrgState int32 @@ -494,45 +349,24 @@ const ( OrgState_ORGSTATE_INACTIVE OrgState = 2 ) -// Enum value maps for OrgState. -var ( - OrgState_name = map[int32]string{ - 0: "ORGSTATE_UNSPECIFIED", - 1: "ORGSTATE_ACTIVE", - 2: "ORGSTATE_INACTIVE", - } - OrgState_value = map[string]int32{ - "ORGSTATE_UNSPECIFIED": 0, - "ORGSTATE_ACTIVE": 1, - "ORGSTATE_INACTIVE": 2, - } -) +var OrgState_name = map[int32]string{ + 0: "ORGSTATE_UNSPECIFIED", + 1: "ORGSTATE_ACTIVE", + 2: "ORGSTATE_INACTIVE", +} -func (x OrgState) Enum() *OrgState { - p := new(OrgState) - *p = x - return p +var OrgState_value = map[string]int32{ + "ORGSTATE_UNSPECIFIED": 0, + "ORGSTATE_ACTIVE": 1, + "ORGSTATE_INACTIVE": 2, } func (x OrgState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(OrgState_name, int32(x)) } -func (OrgState) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[8].Descriptor() -} - -func (OrgState) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[8] -} - -func (x OrgState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use OrgState.Descriptor instead. func (OrgState) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{8} + return fileDescriptor_edc174f991dc0a25, []int{9} } type OrgDomainValidationType int32 @@ -543,45 +377,24 @@ const ( OrgDomainValidationType_ORGDOMAINVALIDATIONTYPE_DNS OrgDomainValidationType = 2 ) -// Enum value maps for OrgDomainValidationType. -var ( - OrgDomainValidationType_name = map[int32]string{ - 0: "ORGDOMAINVALIDATIONTYPE_UNSPECIFIED", - 1: "ORGDOMAINVALIDATIONTYPE_HTTP", - 2: "ORGDOMAINVALIDATIONTYPE_DNS", - } - OrgDomainValidationType_value = map[string]int32{ - "ORGDOMAINVALIDATIONTYPE_UNSPECIFIED": 0, - "ORGDOMAINVALIDATIONTYPE_HTTP": 1, - "ORGDOMAINVALIDATIONTYPE_DNS": 2, - } -) +var OrgDomainValidationType_name = map[int32]string{ + 0: "ORGDOMAINVALIDATIONTYPE_UNSPECIFIED", + 1: "ORGDOMAINVALIDATIONTYPE_HTTP", + 2: "ORGDOMAINVALIDATIONTYPE_DNS", +} -func (x OrgDomainValidationType) Enum() *OrgDomainValidationType { - p := new(OrgDomainValidationType) - *p = x - return p +var OrgDomainValidationType_value = map[string]int32{ + "ORGDOMAINVALIDATIONTYPE_UNSPECIFIED": 0, + "ORGDOMAINVALIDATIONTYPE_HTTP": 1, + "ORGDOMAINVALIDATIONTYPE_DNS": 2, } func (x OrgDomainValidationType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(OrgDomainValidationType_name, int32(x)) } -func (OrgDomainValidationType) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[9].Descriptor() -} - -func (OrgDomainValidationType) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[9] -} - -func (x OrgDomainValidationType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use OrgDomainValidationType.Descriptor instead. func (OrgDomainValidationType) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{9} + return fileDescriptor_edc174f991dc0a25, []int{10} } type OrgDomainSearchKey int32 @@ -591,43 +404,22 @@ const ( OrgDomainSearchKey_ORGDOMAINSEARCHKEY_DOMAIN OrgDomainSearchKey = 1 ) -// Enum value maps for OrgDomainSearchKey. -var ( - OrgDomainSearchKey_name = map[int32]string{ - 0: "ORGDOMAINSEARCHKEY_UNSPECIFIED", - 1: "ORGDOMAINSEARCHKEY_DOMAIN", - } - OrgDomainSearchKey_value = map[string]int32{ - "ORGDOMAINSEARCHKEY_UNSPECIFIED": 0, - "ORGDOMAINSEARCHKEY_DOMAIN": 1, - } -) +var OrgDomainSearchKey_name = map[int32]string{ + 0: "ORGDOMAINSEARCHKEY_UNSPECIFIED", + 1: "ORGDOMAINSEARCHKEY_DOMAIN", +} -func (x OrgDomainSearchKey) Enum() *OrgDomainSearchKey { - p := new(OrgDomainSearchKey) - *p = x - return p +var OrgDomainSearchKey_value = map[string]int32{ + "ORGDOMAINSEARCHKEY_UNSPECIFIED": 0, + "ORGDOMAINSEARCHKEY_DOMAIN": 1, } func (x OrgDomainSearchKey) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(OrgDomainSearchKey_name, int32(x)) } -func (OrgDomainSearchKey) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[10].Descriptor() -} - -func (OrgDomainSearchKey) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[10] -} - -func (x OrgDomainSearchKey) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use OrgDomainSearchKey.Descriptor instead. func (OrgDomainSearchKey) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{10} + return fileDescriptor_edc174f991dc0a25, []int{11} } type OrgMemberSearchKey int32 @@ -640,49 +432,28 @@ const ( OrgMemberSearchKey_ORGMEMBERSEARCHKEY_USER_ID OrgMemberSearchKey = 4 ) -// Enum value maps for OrgMemberSearchKey. -var ( - OrgMemberSearchKey_name = map[int32]string{ - 0: "ORGMEMBERSEARCHKEY_UNSPECIFIED", - 1: "ORGMEMBERSEARCHKEY_FIRST_NAME", - 2: "ORGMEMBERSEARCHKEY_LAST_NAME", - 3: "ORGMEMBERSEARCHKEY_EMAIL", - 4: "ORGMEMBERSEARCHKEY_USER_ID", - } - OrgMemberSearchKey_value = map[string]int32{ - "ORGMEMBERSEARCHKEY_UNSPECIFIED": 0, - "ORGMEMBERSEARCHKEY_FIRST_NAME": 1, - "ORGMEMBERSEARCHKEY_LAST_NAME": 2, - "ORGMEMBERSEARCHKEY_EMAIL": 3, - "ORGMEMBERSEARCHKEY_USER_ID": 4, - } -) +var OrgMemberSearchKey_name = map[int32]string{ + 0: "ORGMEMBERSEARCHKEY_UNSPECIFIED", + 1: "ORGMEMBERSEARCHKEY_FIRST_NAME", + 2: "ORGMEMBERSEARCHKEY_LAST_NAME", + 3: "ORGMEMBERSEARCHKEY_EMAIL", + 4: "ORGMEMBERSEARCHKEY_USER_ID", +} -func (x OrgMemberSearchKey) Enum() *OrgMemberSearchKey { - p := new(OrgMemberSearchKey) - *p = x - return p +var OrgMemberSearchKey_value = map[string]int32{ + "ORGMEMBERSEARCHKEY_UNSPECIFIED": 0, + "ORGMEMBERSEARCHKEY_FIRST_NAME": 1, + "ORGMEMBERSEARCHKEY_LAST_NAME": 2, + "ORGMEMBERSEARCHKEY_EMAIL": 3, + "ORGMEMBERSEARCHKEY_USER_ID": 4, } func (x OrgMemberSearchKey) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(OrgMemberSearchKey_name, int32(x)) } -func (OrgMemberSearchKey) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[11].Descriptor() -} - -func (OrgMemberSearchKey) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[11] -} - -func (x OrgMemberSearchKey) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use OrgMemberSearchKey.Descriptor instead. func (OrgMemberSearchKey) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{11} + return fileDescriptor_edc174f991dc0a25, []int{12} } type ProjectSearchKey int32 @@ -692,43 +463,22 @@ const ( ProjectSearchKey_PROJECTSEARCHKEY_PROJECT_NAME ProjectSearchKey = 1 ) -// Enum value maps for ProjectSearchKey. -var ( - ProjectSearchKey_name = map[int32]string{ - 0: "PROJECTSEARCHKEY_UNSPECIFIED", - 1: "PROJECTSEARCHKEY_PROJECT_NAME", - } - ProjectSearchKey_value = map[string]int32{ - "PROJECTSEARCHKEY_UNSPECIFIED": 0, - "PROJECTSEARCHKEY_PROJECT_NAME": 1, - } -) +var ProjectSearchKey_name = map[int32]string{ + 0: "PROJECTSEARCHKEY_UNSPECIFIED", + 1: "PROJECTSEARCHKEY_PROJECT_NAME", +} -func (x ProjectSearchKey) Enum() *ProjectSearchKey { - p := new(ProjectSearchKey) - *p = x - return p +var ProjectSearchKey_value = map[string]int32{ + "PROJECTSEARCHKEY_UNSPECIFIED": 0, + "PROJECTSEARCHKEY_PROJECT_NAME": 1, } func (x ProjectSearchKey) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(ProjectSearchKey_name, int32(x)) } -func (ProjectSearchKey) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[12].Descriptor() -} - -func (ProjectSearchKey) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[12] -} - -func (x ProjectSearchKey) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ProjectSearchKey.Descriptor instead. func (ProjectSearchKey) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{12} + return fileDescriptor_edc174f991dc0a25, []int{13} } type ProjectState int32 @@ -739,94 +489,24 @@ const ( ProjectState_PROJECTSTATE_INACTIVE ProjectState = 2 ) -// Enum value maps for ProjectState. -var ( - ProjectState_name = map[int32]string{ - 0: "PROJECTSTATE_UNSPECIFIED", - 1: "PROJECTSTATE_ACTIVE", - 2: "PROJECTSTATE_INACTIVE", - } - ProjectState_value = map[string]int32{ - "PROJECTSTATE_UNSPECIFIED": 0, - "PROJECTSTATE_ACTIVE": 1, - "PROJECTSTATE_INACTIVE": 2, - } -) +var ProjectState_name = map[int32]string{ + 0: "PROJECTSTATE_UNSPECIFIED", + 1: "PROJECTSTATE_ACTIVE", + 2: "PROJECTSTATE_INACTIVE", +} -func (x ProjectState) Enum() *ProjectState { - p := new(ProjectState) - *p = x - return p +var ProjectState_value = map[string]int32{ + "PROJECTSTATE_UNSPECIFIED": 0, + "PROJECTSTATE_ACTIVE": 1, + "PROJECTSTATE_INACTIVE": 2, } func (x ProjectState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(ProjectState_name, int32(x)) } -func (ProjectState) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[13].Descriptor() -} - -func (ProjectState) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[13] -} - -func (x ProjectState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ProjectState.Descriptor instead. func (ProjectState) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{13} -} - -type ProjectType int32 - -const ( - ProjectType_PROJECTTYPE_UNSPECIFIED ProjectType = 0 - ProjectType_PROJECTTYPE_OWNED ProjectType = 1 - ProjectType_PROJECTTYPE_GRANTED ProjectType = 2 -) - -// Enum value maps for ProjectType. -var ( - ProjectType_name = map[int32]string{ - 0: "PROJECTTYPE_UNSPECIFIED", - 1: "PROJECTTYPE_OWNED", - 2: "PROJECTTYPE_GRANTED", - } - ProjectType_value = map[string]int32{ - "PROJECTTYPE_UNSPECIFIED": 0, - "PROJECTTYPE_OWNED": 1, - "PROJECTTYPE_GRANTED": 2, - } -) - -func (x ProjectType) Enum() *ProjectType { - p := new(ProjectType) - *p = x - return p -} - -func (x ProjectType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ProjectType) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[14].Descriptor() -} - -func (ProjectType) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[14] -} - -func (x ProjectType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ProjectType.Descriptor instead. -func (ProjectType) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{14} + return fileDescriptor_edc174f991dc0a25, []int{14} } type ProjectRoleSearchKey int32 @@ -837,45 +517,24 @@ const ( ProjectRoleSearchKey_PROJECTROLESEARCHKEY_DISPLAY_NAME ProjectRoleSearchKey = 2 ) -// Enum value maps for ProjectRoleSearchKey. -var ( - ProjectRoleSearchKey_name = map[int32]string{ - 0: "PROJECTROLESEARCHKEY_UNSPECIFIED", - 1: "PROJECTROLESEARCHKEY_KEY", - 2: "PROJECTROLESEARCHKEY_DISPLAY_NAME", - } - ProjectRoleSearchKey_value = map[string]int32{ - "PROJECTROLESEARCHKEY_UNSPECIFIED": 0, - "PROJECTROLESEARCHKEY_KEY": 1, - "PROJECTROLESEARCHKEY_DISPLAY_NAME": 2, - } -) +var ProjectRoleSearchKey_name = map[int32]string{ + 0: "PROJECTROLESEARCHKEY_UNSPECIFIED", + 1: "PROJECTROLESEARCHKEY_KEY", + 2: "PROJECTROLESEARCHKEY_DISPLAY_NAME", +} -func (x ProjectRoleSearchKey) Enum() *ProjectRoleSearchKey { - p := new(ProjectRoleSearchKey) - *p = x - return p +var ProjectRoleSearchKey_value = map[string]int32{ + "PROJECTROLESEARCHKEY_UNSPECIFIED": 0, + "PROJECTROLESEARCHKEY_KEY": 1, + "PROJECTROLESEARCHKEY_DISPLAY_NAME": 2, } func (x ProjectRoleSearchKey) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(ProjectRoleSearchKey_name, int32(x)) } -func (ProjectRoleSearchKey) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[15].Descriptor() -} - -func (ProjectRoleSearchKey) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[15] -} - -func (x ProjectRoleSearchKey) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ProjectRoleSearchKey.Descriptor instead. func (ProjectRoleSearchKey) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{15} + return fileDescriptor_edc174f991dc0a25, []int{15} } type ProjectMemberSearchKey int32 @@ -889,51 +548,30 @@ const ( ProjectMemberSearchKey_PROJECTMEMBERSEARCHKEY_USER_NAME ProjectMemberSearchKey = 5 ) -// Enum value maps for ProjectMemberSearchKey. -var ( - ProjectMemberSearchKey_name = map[int32]string{ - 0: "PROJECTMEMBERSEARCHKEY_UNSPECIFIED", - 1: "PROJECTMEMBERSEARCHKEY_FIRST_NAME", - 2: "PROJECTMEMBERSEARCHKEY_LAST_NAME", - 3: "PROJECTMEMBERSEARCHKEY_EMAIL", - 4: "PROJECTMEMBERSEARCHKEY_USER_ID", - 5: "PROJECTMEMBERSEARCHKEY_USER_NAME", - } - ProjectMemberSearchKey_value = map[string]int32{ - "PROJECTMEMBERSEARCHKEY_UNSPECIFIED": 0, - "PROJECTMEMBERSEARCHKEY_FIRST_NAME": 1, - "PROJECTMEMBERSEARCHKEY_LAST_NAME": 2, - "PROJECTMEMBERSEARCHKEY_EMAIL": 3, - "PROJECTMEMBERSEARCHKEY_USER_ID": 4, - "PROJECTMEMBERSEARCHKEY_USER_NAME": 5, - } -) +var ProjectMemberSearchKey_name = map[int32]string{ + 0: "PROJECTMEMBERSEARCHKEY_UNSPECIFIED", + 1: "PROJECTMEMBERSEARCHKEY_FIRST_NAME", + 2: "PROJECTMEMBERSEARCHKEY_LAST_NAME", + 3: "PROJECTMEMBERSEARCHKEY_EMAIL", + 4: "PROJECTMEMBERSEARCHKEY_USER_ID", + 5: "PROJECTMEMBERSEARCHKEY_USER_NAME", +} -func (x ProjectMemberSearchKey) Enum() *ProjectMemberSearchKey { - p := new(ProjectMemberSearchKey) - *p = x - return p +var ProjectMemberSearchKey_value = map[string]int32{ + "PROJECTMEMBERSEARCHKEY_UNSPECIFIED": 0, + "PROJECTMEMBERSEARCHKEY_FIRST_NAME": 1, + "PROJECTMEMBERSEARCHKEY_LAST_NAME": 2, + "PROJECTMEMBERSEARCHKEY_EMAIL": 3, + "PROJECTMEMBERSEARCHKEY_USER_ID": 4, + "PROJECTMEMBERSEARCHKEY_USER_NAME": 5, } func (x ProjectMemberSearchKey) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(ProjectMemberSearchKey_name, int32(x)) } -func (ProjectMemberSearchKey) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[16].Descriptor() -} - -func (ProjectMemberSearchKey) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[16] -} - -func (x ProjectMemberSearchKey) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ProjectMemberSearchKey.Descriptor instead. func (ProjectMemberSearchKey) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{16} + return fileDescriptor_edc174f991dc0a25, []int{16} } type AppState int32 @@ -944,45 +582,24 @@ const ( AppState_APPSTATE_INACTIVE AppState = 2 ) -// Enum value maps for AppState. -var ( - AppState_name = map[int32]string{ - 0: "APPSTATE_UNSPECIFIED", - 1: "APPSTATE_ACTIVE", - 2: "APPSTATE_INACTIVE", - } - AppState_value = map[string]int32{ - "APPSTATE_UNSPECIFIED": 0, - "APPSTATE_ACTIVE": 1, - "APPSTATE_INACTIVE": 2, - } -) +var AppState_name = map[int32]string{ + 0: "APPSTATE_UNSPECIFIED", + 1: "APPSTATE_ACTIVE", + 2: "APPSTATE_INACTIVE", +} -func (x AppState) Enum() *AppState { - p := new(AppState) - *p = x - return p +var AppState_value = map[string]int32{ + "APPSTATE_UNSPECIFIED": 0, + "APPSTATE_ACTIVE": 1, + "APPSTATE_INACTIVE": 2, } func (x AppState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(AppState_name, int32(x)) } -func (AppState) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[17].Descriptor() -} - -func (AppState) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[17] -} - -func (x AppState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use AppState.Descriptor instead. func (AppState) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{17} + return fileDescriptor_edc174f991dc0a25, []int{17} } type OIDCVersion int32 @@ -991,41 +608,20 @@ const ( OIDCVersion_OIDCV1_0 OIDCVersion = 0 ) -// Enum value maps for OIDCVersion. -var ( - OIDCVersion_name = map[int32]string{ - 0: "OIDCV1_0", - } - OIDCVersion_value = map[string]int32{ - "OIDCV1_0": 0, - } -) +var OIDCVersion_name = map[int32]string{ + 0: "OIDCV1_0", +} -func (x OIDCVersion) Enum() *OIDCVersion { - p := new(OIDCVersion) - *p = x - return p +var OIDCVersion_value = map[string]int32{ + "OIDCV1_0": 0, } func (x OIDCVersion) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(OIDCVersion_name, int32(x)) } -func (OIDCVersion) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[18].Descriptor() -} - -func (OIDCVersion) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[18] -} - -func (x OIDCVersion) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use OIDCVersion.Descriptor instead. func (OIDCVersion) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{18} + return fileDescriptor_edc174f991dc0a25, []int{18} } type OIDCResponseType int32 @@ -1036,45 +632,24 @@ const ( OIDCResponseType_OIDCRESPONSETYPE_ID_TOKEN_TOKEN OIDCResponseType = 2 ) -// Enum value maps for OIDCResponseType. -var ( - OIDCResponseType_name = map[int32]string{ - 0: "OIDCRESPONSETYPE_CODE", - 1: "OIDCRESPONSETYPE_ID_TOKEN", - 2: "OIDCRESPONSETYPE_ID_TOKEN_TOKEN", - } - OIDCResponseType_value = map[string]int32{ - "OIDCRESPONSETYPE_CODE": 0, - "OIDCRESPONSETYPE_ID_TOKEN": 1, - "OIDCRESPONSETYPE_ID_TOKEN_TOKEN": 2, - } -) +var OIDCResponseType_name = map[int32]string{ + 0: "OIDCRESPONSETYPE_CODE", + 1: "OIDCRESPONSETYPE_ID_TOKEN", + 2: "OIDCRESPONSETYPE_ID_TOKEN_TOKEN", +} -func (x OIDCResponseType) Enum() *OIDCResponseType { - p := new(OIDCResponseType) - *p = x - return p +var OIDCResponseType_value = map[string]int32{ + "OIDCRESPONSETYPE_CODE": 0, + "OIDCRESPONSETYPE_ID_TOKEN": 1, + "OIDCRESPONSETYPE_ID_TOKEN_TOKEN": 2, } func (x OIDCResponseType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(OIDCResponseType_name, int32(x)) } -func (OIDCResponseType) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[19].Descriptor() -} - -func (OIDCResponseType) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[19] -} - -func (x OIDCResponseType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use OIDCResponseType.Descriptor instead. func (OIDCResponseType) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{19} + return fileDescriptor_edc174f991dc0a25, []int{19} } type OIDCGrantType int32 @@ -1085,45 +660,24 @@ const ( OIDCGrantType_OIDCGRANTTYPE_REFRESH_TOKEN OIDCGrantType = 2 ) -// Enum value maps for OIDCGrantType. -var ( - OIDCGrantType_name = map[int32]string{ - 0: "OIDCGRANTTYPE_AUTHORIZATION_CODE", - 1: "OIDCGRANTTYPE_IMPLICIT", - 2: "OIDCGRANTTYPE_REFRESH_TOKEN", - } - OIDCGrantType_value = map[string]int32{ - "OIDCGRANTTYPE_AUTHORIZATION_CODE": 0, - "OIDCGRANTTYPE_IMPLICIT": 1, - "OIDCGRANTTYPE_REFRESH_TOKEN": 2, - } -) +var OIDCGrantType_name = map[int32]string{ + 0: "OIDCGRANTTYPE_AUTHORIZATION_CODE", + 1: "OIDCGRANTTYPE_IMPLICIT", + 2: "OIDCGRANTTYPE_REFRESH_TOKEN", +} -func (x OIDCGrantType) Enum() *OIDCGrantType { - p := new(OIDCGrantType) - *p = x - return p +var OIDCGrantType_value = map[string]int32{ + "OIDCGRANTTYPE_AUTHORIZATION_CODE": 0, + "OIDCGRANTTYPE_IMPLICIT": 1, + "OIDCGRANTTYPE_REFRESH_TOKEN": 2, } func (x OIDCGrantType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(OIDCGrantType_name, int32(x)) } -func (OIDCGrantType) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[20].Descriptor() -} - -func (OIDCGrantType) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[20] -} - -func (x OIDCGrantType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use OIDCGrantType.Descriptor instead. func (OIDCGrantType) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{20} + return fileDescriptor_edc174f991dc0a25, []int{20} } type OIDCApplicationType int32 @@ -1134,45 +688,24 @@ const ( OIDCApplicationType_OIDCAPPLICATIONTYPE_NATIVE OIDCApplicationType = 2 ) -// Enum value maps for OIDCApplicationType. -var ( - OIDCApplicationType_name = map[int32]string{ - 0: "OIDCAPPLICATIONTYPE_WEB", - 1: "OIDCAPPLICATIONTYPE_USER_AGENT", - 2: "OIDCAPPLICATIONTYPE_NATIVE", - } - OIDCApplicationType_value = map[string]int32{ - "OIDCAPPLICATIONTYPE_WEB": 0, - "OIDCAPPLICATIONTYPE_USER_AGENT": 1, - "OIDCAPPLICATIONTYPE_NATIVE": 2, - } -) +var OIDCApplicationType_name = map[int32]string{ + 0: "OIDCAPPLICATIONTYPE_WEB", + 1: "OIDCAPPLICATIONTYPE_USER_AGENT", + 2: "OIDCAPPLICATIONTYPE_NATIVE", +} -func (x OIDCApplicationType) Enum() *OIDCApplicationType { - p := new(OIDCApplicationType) - *p = x - return p +var OIDCApplicationType_value = map[string]int32{ + "OIDCAPPLICATIONTYPE_WEB": 0, + "OIDCAPPLICATIONTYPE_USER_AGENT": 1, + "OIDCAPPLICATIONTYPE_NATIVE": 2, } func (x OIDCApplicationType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(OIDCApplicationType_name, int32(x)) } -func (OIDCApplicationType) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[21].Descriptor() -} - -func (OIDCApplicationType) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[21] -} - -func (x OIDCApplicationType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use OIDCApplicationType.Descriptor instead. func (OIDCApplicationType) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{21} + return fileDescriptor_edc174f991dc0a25, []int{21} } type OIDCAuthMethodType int32 @@ -1183,45 +716,24 @@ const ( OIDCAuthMethodType_OIDCAUTHMETHODTYPE_NONE OIDCAuthMethodType = 2 ) -// Enum value maps for OIDCAuthMethodType. -var ( - OIDCAuthMethodType_name = map[int32]string{ - 0: "OIDCAUTHMETHODTYPE_BASIC", - 1: "OIDCAUTHMETHODTYPE_POST", - 2: "OIDCAUTHMETHODTYPE_NONE", - } - OIDCAuthMethodType_value = map[string]int32{ - "OIDCAUTHMETHODTYPE_BASIC": 0, - "OIDCAUTHMETHODTYPE_POST": 1, - "OIDCAUTHMETHODTYPE_NONE": 2, - } -) +var OIDCAuthMethodType_name = map[int32]string{ + 0: "OIDCAUTHMETHODTYPE_BASIC", + 1: "OIDCAUTHMETHODTYPE_POST", + 2: "OIDCAUTHMETHODTYPE_NONE", +} -func (x OIDCAuthMethodType) Enum() *OIDCAuthMethodType { - p := new(OIDCAuthMethodType) - *p = x - return p +var OIDCAuthMethodType_value = map[string]int32{ + "OIDCAUTHMETHODTYPE_BASIC": 0, + "OIDCAUTHMETHODTYPE_POST": 1, + "OIDCAUTHMETHODTYPE_NONE": 2, } func (x OIDCAuthMethodType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(OIDCAuthMethodType_name, int32(x)) } -func (OIDCAuthMethodType) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[22].Descriptor() -} - -func (OIDCAuthMethodType) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[22] -} - -func (x OIDCAuthMethodType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use OIDCAuthMethodType.Descriptor instead. func (OIDCAuthMethodType) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{22} + return fileDescriptor_edc174f991dc0a25, []int{22} } type ApplicationSearchKey int32 @@ -1231,43 +743,22 @@ const ( ApplicationSearchKey_APPLICATIONSEARCHKEY_APP_NAME ApplicationSearchKey = 1 ) -// Enum value maps for ApplicationSearchKey. -var ( - ApplicationSearchKey_name = map[int32]string{ - 0: "APPLICATIONSERACHKEY_UNSPECIFIED", - 1: "APPLICATIONSEARCHKEY_APP_NAME", - } - ApplicationSearchKey_value = map[string]int32{ - "APPLICATIONSERACHKEY_UNSPECIFIED": 0, - "APPLICATIONSEARCHKEY_APP_NAME": 1, - } -) +var ApplicationSearchKey_name = map[int32]string{ + 0: "APPLICATIONSERACHKEY_UNSPECIFIED", + 1: "APPLICATIONSEARCHKEY_APP_NAME", +} -func (x ApplicationSearchKey) Enum() *ApplicationSearchKey { - p := new(ApplicationSearchKey) - *p = x - return p +var ApplicationSearchKey_value = map[string]int32{ + "APPLICATIONSERACHKEY_UNSPECIFIED": 0, + "APPLICATIONSEARCHKEY_APP_NAME": 1, } func (x ApplicationSearchKey) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(ApplicationSearchKey_name, int32(x)) } -func (ApplicationSearchKey) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[23].Descriptor() -} - -func (ApplicationSearchKey) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[23] -} - -func (x ApplicationSearchKey) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ApplicationSearchKey.Descriptor instead. func (ApplicationSearchKey) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{23} + return fileDescriptor_edc174f991dc0a25, []int{23} } type ProjectGrantState int32 @@ -1278,45 +769,24 @@ const ( ProjectGrantState_PROJECTGRANTSTATE_INACTIVE ProjectGrantState = 2 ) -// Enum value maps for ProjectGrantState. -var ( - ProjectGrantState_name = map[int32]string{ - 0: "PROJECTGRANTSTATE_UNSPECIFIED", - 1: "PROJECTGRANTSTATE_ACTIVE", - 2: "PROJECTGRANTSTATE_INACTIVE", - } - ProjectGrantState_value = map[string]int32{ - "PROJECTGRANTSTATE_UNSPECIFIED": 0, - "PROJECTGRANTSTATE_ACTIVE": 1, - "PROJECTGRANTSTATE_INACTIVE": 2, - } -) +var ProjectGrantState_name = map[int32]string{ + 0: "PROJECTGRANTSTATE_UNSPECIFIED", + 1: "PROJECTGRANTSTATE_ACTIVE", + 2: "PROJECTGRANTSTATE_INACTIVE", +} -func (x ProjectGrantState) Enum() *ProjectGrantState { - p := new(ProjectGrantState) - *p = x - return p +var ProjectGrantState_value = map[string]int32{ + "PROJECTGRANTSTATE_UNSPECIFIED": 0, + "PROJECTGRANTSTATE_ACTIVE": 1, + "PROJECTGRANTSTATE_INACTIVE": 2, } func (x ProjectGrantState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(ProjectGrantState_name, int32(x)) } -func (ProjectGrantState) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[24].Descriptor() -} - -func (ProjectGrantState) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[24] -} - -func (x ProjectGrantState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ProjectGrantState.Descriptor instead. func (ProjectGrantState) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{24} + return fileDescriptor_edc174f991dc0a25, []int{24} } type ProjectGrantSearchKey int32 @@ -1327,45 +797,24 @@ const ( ProjectGrantSearchKey_PROJECTGRANTSEARCHKEY_ROLE_KEY ProjectGrantSearchKey = 2 ) -// Enum value maps for ProjectGrantSearchKey. -var ( - ProjectGrantSearchKey_name = map[int32]string{ - 0: "PROJECTGRANTSEARCHKEY_UNSPECIFIED", - 1: "PROJECTGRANTSEARCHKEY_PROJECT_NAME", - 2: "PROJECTGRANTSEARCHKEY_ROLE_KEY", - } - ProjectGrantSearchKey_value = map[string]int32{ - "PROJECTGRANTSEARCHKEY_UNSPECIFIED": 0, - "PROJECTGRANTSEARCHKEY_PROJECT_NAME": 1, - "PROJECTGRANTSEARCHKEY_ROLE_KEY": 2, - } -) +var ProjectGrantSearchKey_name = map[int32]string{ + 0: "PROJECTGRANTSEARCHKEY_UNSPECIFIED", + 1: "PROJECTGRANTSEARCHKEY_PROJECT_NAME", + 2: "PROJECTGRANTSEARCHKEY_ROLE_KEY", +} -func (x ProjectGrantSearchKey) Enum() *ProjectGrantSearchKey { - p := new(ProjectGrantSearchKey) - *p = x - return p +var ProjectGrantSearchKey_value = map[string]int32{ + "PROJECTGRANTSEARCHKEY_UNSPECIFIED": 0, + "PROJECTGRANTSEARCHKEY_PROJECT_NAME": 1, + "PROJECTGRANTSEARCHKEY_ROLE_KEY": 2, } func (x ProjectGrantSearchKey) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(ProjectGrantSearchKey_name, int32(x)) } -func (ProjectGrantSearchKey) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[25].Descriptor() -} - -func (ProjectGrantSearchKey) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[25] -} - -func (x ProjectGrantSearchKey) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ProjectGrantSearchKey.Descriptor instead. func (ProjectGrantSearchKey) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{25} + return fileDescriptor_edc174f991dc0a25, []int{25} } type ProjectGrantMemberSearchKey int32 @@ -1379,51 +828,30 @@ const ( ProjectGrantMemberSearchKey_PROJECTGRANTMEMBERSEARCHKEY_USER_NAME ProjectGrantMemberSearchKey = 5 ) -// Enum value maps for ProjectGrantMemberSearchKey. -var ( - ProjectGrantMemberSearchKey_name = map[int32]string{ - 0: "PROJECTGRANTMEMBERSEARCHKEY_UNSPECIFIED", - 1: "PROJECTGRANTMEMBERSEARCHKEY_FIRST_NAME", - 2: "PROJECTGRANTMEMBERSEARCHKEY_LAST_NAME", - 3: "PROJECTGRANTMEMBERSEARCHKEY_EMAIL", - 4: "PROJECTGRANTMEMBERSEARCHKEY_USER_ID", - 5: "PROJECTGRANTMEMBERSEARCHKEY_USER_NAME", - } - ProjectGrantMemberSearchKey_value = map[string]int32{ - "PROJECTGRANTMEMBERSEARCHKEY_UNSPECIFIED": 0, - "PROJECTGRANTMEMBERSEARCHKEY_FIRST_NAME": 1, - "PROJECTGRANTMEMBERSEARCHKEY_LAST_NAME": 2, - "PROJECTGRANTMEMBERSEARCHKEY_EMAIL": 3, - "PROJECTGRANTMEMBERSEARCHKEY_USER_ID": 4, - "PROJECTGRANTMEMBERSEARCHKEY_USER_NAME": 5, - } -) +var ProjectGrantMemberSearchKey_name = map[int32]string{ + 0: "PROJECTGRANTMEMBERSEARCHKEY_UNSPECIFIED", + 1: "PROJECTGRANTMEMBERSEARCHKEY_FIRST_NAME", + 2: "PROJECTGRANTMEMBERSEARCHKEY_LAST_NAME", + 3: "PROJECTGRANTMEMBERSEARCHKEY_EMAIL", + 4: "PROJECTGRANTMEMBERSEARCHKEY_USER_ID", + 5: "PROJECTGRANTMEMBERSEARCHKEY_USER_NAME", +} -func (x ProjectGrantMemberSearchKey) Enum() *ProjectGrantMemberSearchKey { - p := new(ProjectGrantMemberSearchKey) - *p = x - return p +var ProjectGrantMemberSearchKey_value = map[string]int32{ + "PROJECTGRANTMEMBERSEARCHKEY_UNSPECIFIED": 0, + "PROJECTGRANTMEMBERSEARCHKEY_FIRST_NAME": 1, + "PROJECTGRANTMEMBERSEARCHKEY_LAST_NAME": 2, + "PROJECTGRANTMEMBERSEARCHKEY_EMAIL": 3, + "PROJECTGRANTMEMBERSEARCHKEY_USER_ID": 4, + "PROJECTGRANTMEMBERSEARCHKEY_USER_NAME": 5, } func (x ProjectGrantMemberSearchKey) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(ProjectGrantMemberSearchKey_name, int32(x)) } -func (ProjectGrantMemberSearchKey) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[26].Descriptor() -} - -func (ProjectGrantMemberSearchKey) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[26] -} - -func (x ProjectGrantMemberSearchKey) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ProjectGrantMemberSearchKey.Descriptor instead. func (ProjectGrantMemberSearchKey) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{26} + return fileDescriptor_edc174f991dc0a25, []int{26} } type UserGrantState int32 @@ -1434,45 +862,24 @@ const ( UserGrantState_USERGRANTSTATE_INACTIVE UserGrantState = 2 ) -// Enum value maps for UserGrantState. -var ( - UserGrantState_name = map[int32]string{ - 0: "USERGRANTSTATE_UNSPECIFIED", - 1: "USERGRANTSTATE_ACTIVE", - 2: "USERGRANTSTATE_INACTIVE", - } - UserGrantState_value = map[string]int32{ - "USERGRANTSTATE_UNSPECIFIED": 0, - "USERGRANTSTATE_ACTIVE": 1, - "USERGRANTSTATE_INACTIVE": 2, - } -) +var UserGrantState_name = map[int32]string{ + 0: "USERGRANTSTATE_UNSPECIFIED", + 1: "USERGRANTSTATE_ACTIVE", + 2: "USERGRANTSTATE_INACTIVE", +} -func (x UserGrantState) Enum() *UserGrantState { - p := new(UserGrantState) - *p = x - return p +var UserGrantState_value = map[string]int32{ + "USERGRANTSTATE_UNSPECIFIED": 0, + "USERGRANTSTATE_ACTIVE": 1, + "USERGRANTSTATE_INACTIVE": 2, } func (x UserGrantState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(UserGrantState_name, int32(x)) } -func (UserGrantState) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[27].Descriptor() -} - -func (UserGrantState) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[27] -} - -func (x UserGrantState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use UserGrantState.Descriptor instead. func (UserGrantState) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{27} + return fileDescriptor_edc174f991dc0a25, []int{27} } type UserGrantSearchKey int32 @@ -1486,51 +893,30 @@ const ( UserGrantSearchKey_USERGRANTSEARCHKEY_GRANT_ID UserGrantSearchKey = 5 ) -// Enum value maps for UserGrantSearchKey. -var ( - UserGrantSearchKey_name = map[int32]string{ - 0: "USERGRANTSEARCHKEY_UNSPECIFIED", - 1: "USERGRANTSEARCHKEY_PROJECT_ID", - 2: "USERGRANTSEARCHKEY_USER_ID", - 3: "USERGRANTSEARCHKEY_ORG_ID", - 4: "USERGRANTSEARCHKEY_ROLE_KEY", - 5: "USERGRANTSEARCHKEY_GRANT_ID", - } - UserGrantSearchKey_value = map[string]int32{ - "USERGRANTSEARCHKEY_UNSPECIFIED": 0, - "USERGRANTSEARCHKEY_PROJECT_ID": 1, - "USERGRANTSEARCHKEY_USER_ID": 2, - "USERGRANTSEARCHKEY_ORG_ID": 3, - "USERGRANTSEARCHKEY_ROLE_KEY": 4, - "USERGRANTSEARCHKEY_GRANT_ID": 5, - } -) +var UserGrantSearchKey_name = map[int32]string{ + 0: "USERGRANTSEARCHKEY_UNSPECIFIED", + 1: "USERGRANTSEARCHKEY_PROJECT_ID", + 2: "USERGRANTSEARCHKEY_USER_ID", + 3: "USERGRANTSEARCHKEY_ORG_ID", + 4: "USERGRANTSEARCHKEY_ROLE_KEY", + 5: "USERGRANTSEARCHKEY_GRANT_ID", +} -func (x UserGrantSearchKey) Enum() *UserGrantSearchKey { - p := new(UserGrantSearchKey) - *p = x - return p +var UserGrantSearchKey_value = map[string]int32{ + "USERGRANTSEARCHKEY_UNSPECIFIED": 0, + "USERGRANTSEARCHKEY_PROJECT_ID": 1, + "USERGRANTSEARCHKEY_USER_ID": 2, + "USERGRANTSEARCHKEY_ORG_ID": 3, + "USERGRANTSEARCHKEY_ROLE_KEY": 4, + "USERGRANTSEARCHKEY_GRANT_ID": 5, } func (x UserGrantSearchKey) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(UserGrantSearchKey_name, int32(x)) } -func (UserGrantSearchKey) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[28].Descriptor() -} - -func (UserGrantSearchKey) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[28] -} - -func (x UserGrantSearchKey) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use UserGrantSearchKey.Descriptor instead. func (UserGrantSearchKey) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{28} + return fileDescriptor_edc174f991dc0a25, []int{28} } type UserMembershipSearchKey int32 @@ -1541,45 +927,24 @@ const ( UserMembershipSearchKey_USERMEMBERSHIPSEARCHKEY_OBJECT_ID UserMembershipSearchKey = 2 ) -// Enum value maps for UserMembershipSearchKey. -var ( - UserMembershipSearchKey_name = map[int32]string{ - 0: "USERMEMBERSHIPSEARCHKEY_UNSPECIFIED", - 1: "USERMEMBERSHIPSEARCHKEY_TYPE", - 2: "USERMEMBERSHIPSEARCHKEY_OBJECT_ID", - } - UserMembershipSearchKey_value = map[string]int32{ - "USERMEMBERSHIPSEARCHKEY_UNSPECIFIED": 0, - "USERMEMBERSHIPSEARCHKEY_TYPE": 1, - "USERMEMBERSHIPSEARCHKEY_OBJECT_ID": 2, - } -) +var UserMembershipSearchKey_name = map[int32]string{ + 0: "USERMEMBERSHIPSEARCHKEY_UNSPECIFIED", + 1: "USERMEMBERSHIPSEARCHKEY_TYPE", + 2: "USERMEMBERSHIPSEARCHKEY_OBJECT_ID", +} -func (x UserMembershipSearchKey) Enum() *UserMembershipSearchKey { - p := new(UserMembershipSearchKey) - *p = x - return p +var UserMembershipSearchKey_value = map[string]int32{ + "USERMEMBERSHIPSEARCHKEY_UNSPECIFIED": 0, + "USERMEMBERSHIPSEARCHKEY_TYPE": 1, + "USERMEMBERSHIPSEARCHKEY_OBJECT_ID": 2, } func (x UserMembershipSearchKey) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(UserMembershipSearchKey_name, int32(x)) } -func (UserMembershipSearchKey) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[29].Descriptor() -} - -func (UserMembershipSearchKey) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[29] -} - -func (x UserMembershipSearchKey) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use UserMembershipSearchKey.Descriptor instead. func (UserMembershipSearchKey) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{29} + return fileDescriptor_edc174f991dc0a25, []int{29} } type MemberType int32 @@ -1591,47 +956,26 @@ const ( MemberType_MEMBERTYPE_PROJECT_GRANT MemberType = 3 ) -// Enum value maps for MemberType. -var ( - MemberType_name = map[int32]string{ - 0: "MEMBERTYPE_UNSPECIFIED", - 1: "MEMBERTYPE_ORGANISATION", - 2: "MEMBERTYPE_PROJECT", - 3: "MEMBERTYPE_PROJECT_GRANT", - } - MemberType_value = map[string]int32{ - "MEMBERTYPE_UNSPECIFIED": 0, - "MEMBERTYPE_ORGANISATION": 1, - "MEMBERTYPE_PROJECT": 2, - "MEMBERTYPE_PROJECT_GRANT": 3, - } -) +var MemberType_name = map[int32]string{ + 0: "MEMBERTYPE_UNSPECIFIED", + 1: "MEMBERTYPE_ORGANISATION", + 2: "MEMBERTYPE_PROJECT", + 3: "MEMBERTYPE_PROJECT_GRANT", +} -func (x MemberType) Enum() *MemberType { - p := new(MemberType) - *p = x - return p +var MemberType_value = map[string]int32{ + "MEMBERTYPE_UNSPECIFIED": 0, + "MEMBERTYPE_ORGANISATION": 1, + "MEMBERTYPE_PROJECT": 2, + "MEMBERTYPE_PROJECT_GRANT": 3, } func (x MemberType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(MemberType_name, int32(x)) } -func (MemberType) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[30].Descriptor() -} - -func (MemberType) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[30] -} - -func (x MemberType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use MemberType.Descriptor instead. func (MemberType) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{30} + return fileDescriptor_edc174f991dc0a25, []int{30} } type IdpState int32 @@ -1642,45 +986,24 @@ const ( IdpState_IDPCONFIGSTATE_INACTIVE IdpState = 2 ) -// Enum value maps for IdpState. -var ( - IdpState_name = map[int32]string{ - 0: "IDPCONFIGSTATE_UNSPECIFIED", - 1: "IDPCONFIGSTATE_ACTIVE", - 2: "IDPCONFIGSTATE_INACTIVE", - } - IdpState_value = map[string]int32{ - "IDPCONFIGSTATE_UNSPECIFIED": 0, - "IDPCONFIGSTATE_ACTIVE": 1, - "IDPCONFIGSTATE_INACTIVE": 2, - } -) +var IdpState_name = map[int32]string{ + 0: "IDPCONFIGSTATE_UNSPECIFIED", + 1: "IDPCONFIGSTATE_ACTIVE", + 2: "IDPCONFIGSTATE_INACTIVE", +} -func (x IdpState) Enum() *IdpState { - p := new(IdpState) - *p = x - return p +var IdpState_value = map[string]int32{ + "IDPCONFIGSTATE_UNSPECIFIED": 0, + "IDPCONFIGSTATE_ACTIVE": 1, + "IDPCONFIGSTATE_INACTIVE": 2, } func (x IdpState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(IdpState_name, int32(x)) } -func (IdpState) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[31].Descriptor() -} - -func (IdpState) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[31] -} - -func (x IdpState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use IdpState.Descriptor instead. func (IdpState) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{31} + return fileDescriptor_edc174f991dc0a25, []int{31} } type IdpSearchKey int32 @@ -1692,47 +1015,26 @@ const ( IdpSearchKey_IDPSEARCHKEY_PROVIDER_TYPE IdpSearchKey = 3 ) -// Enum value maps for IdpSearchKey. -var ( - IdpSearchKey_name = map[int32]string{ - 0: "IDPSEARCHKEY_UNSPECIFIED", - 1: "IDPSEARCHKEY_IDP_CONFIG_ID", - 2: "IDPSEARCHKEY_NAME", - 3: "IDPSEARCHKEY_PROVIDER_TYPE", - } - IdpSearchKey_value = map[string]int32{ - "IDPSEARCHKEY_UNSPECIFIED": 0, - "IDPSEARCHKEY_IDP_CONFIG_ID": 1, - "IDPSEARCHKEY_NAME": 2, - "IDPSEARCHKEY_PROVIDER_TYPE": 3, - } -) +var IdpSearchKey_name = map[int32]string{ + 0: "IDPSEARCHKEY_UNSPECIFIED", + 1: "IDPSEARCHKEY_IDP_CONFIG_ID", + 2: "IDPSEARCHKEY_NAME", + 3: "IDPSEARCHKEY_PROVIDER_TYPE", +} -func (x IdpSearchKey) Enum() *IdpSearchKey { - p := new(IdpSearchKey) - *p = x - return p +var IdpSearchKey_value = map[string]int32{ + "IDPSEARCHKEY_UNSPECIFIED": 0, + "IDPSEARCHKEY_IDP_CONFIG_ID": 1, + "IDPSEARCHKEY_NAME": 2, + "IDPSEARCHKEY_PROVIDER_TYPE": 3, } func (x IdpSearchKey) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(IdpSearchKey_name, int32(x)) } -func (IdpSearchKey) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[32].Descriptor() -} - -func (IdpSearchKey) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[32] -} - -func (x IdpSearchKey) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use IdpSearchKey.Descriptor instead. func (IdpSearchKey) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{32} + return fileDescriptor_edc174f991dc0a25, []int{32} } type IdpType int32 @@ -1743,45 +1045,24 @@ const ( IdpType_IDPTYPE_SAML IdpType = 2 ) -// Enum value maps for IdpType. -var ( - IdpType_name = map[int32]string{ - 0: "IDPTYPE_UNSPECIFIED", - 1: "IDPTYPE_OIDC", - 2: "IDPTYPE_SAML", - } - IdpType_value = map[string]int32{ - "IDPTYPE_UNSPECIFIED": 0, - "IDPTYPE_OIDC": 1, - "IDPTYPE_SAML": 2, - } -) +var IdpType_name = map[int32]string{ + 0: "IDPTYPE_UNSPECIFIED", + 1: "IDPTYPE_OIDC", + 2: "IDPTYPE_SAML", +} -func (x IdpType) Enum() *IdpType { - p := new(IdpType) - *p = x - return p +var IdpType_value = map[string]int32{ + "IDPTYPE_UNSPECIFIED": 0, + "IDPTYPE_OIDC": 1, + "IDPTYPE_SAML": 2, } func (x IdpType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(IdpType_name, int32(x)) } -func (IdpType) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[33].Descriptor() -} - -func (IdpType) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[33] -} - -func (x IdpType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use IdpType.Descriptor instead. func (IdpType) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{33} + return fileDescriptor_edc174f991dc0a25, []int{33} } type IdpProviderType int32 @@ -1792,7706 +1073,7535 @@ const ( IdpProviderType_IDPPROVIDERTYPE_ORG IdpProviderType = 2 ) -// Enum value maps for IdpProviderType. -var ( - IdpProviderType_name = map[int32]string{ - 0: "IDPPROVIDERTYPE_UNSPECIFIED", - 1: "IDPPROVIDERTYPE_SYSTEM", - 2: "IDPPROVIDERTYPE_ORG", - } - IdpProviderType_value = map[string]int32{ - "IDPPROVIDERTYPE_UNSPECIFIED": 0, - "IDPPROVIDERTYPE_SYSTEM": 1, - "IDPPROVIDERTYPE_ORG": 2, - } -) +var IdpProviderType_name = map[int32]string{ + 0: "IDPPROVIDERTYPE_UNSPECIFIED", + 1: "IDPPROVIDERTYPE_SYSTEM", + 2: "IDPPROVIDERTYPE_ORG", +} -func (x IdpProviderType) Enum() *IdpProviderType { - p := new(IdpProviderType) - *p = x - return p +var IdpProviderType_value = map[string]int32{ + "IDPPROVIDERTYPE_UNSPECIFIED": 0, + "IDPPROVIDERTYPE_SYSTEM": 1, + "IDPPROVIDERTYPE_ORG": 2, } func (x IdpProviderType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) + return proto.EnumName(IdpProviderType_name, int32(x)) } -func (IdpProviderType) Descriptor() protoreflect.EnumDescriptor { - return file_management_proto_enumTypes[34].Descriptor() -} - -func (IdpProviderType) Type() protoreflect.EnumType { - return &file_management_proto_enumTypes[34] -} - -func (x IdpProviderType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use IdpProviderType.Descriptor instead. func (IdpProviderType) EnumDescriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{34} + return fileDescriptor_edc174f991dc0a25, []int{34} +} + +//ProjectType is deprecated, remove as soon as console is ready +type ProjectType int32 + +const ( + ProjectType_PROJECTTYPE_UNSPECIFIED ProjectType = 0 + ProjectType_PROJECTTYPE_OWNED ProjectType = 1 + ProjectType_PROJECTTYPE_GRANTED ProjectType = 2 +) + +var ProjectType_name = map[int32]string{ + 0: "PROJECTTYPE_UNSPECIFIED", + 1: "PROJECTTYPE_OWNED", + 2: "PROJECTTYPE_GRANTED", +} + +var ProjectType_value = map[string]int32{ + "PROJECTTYPE_UNSPECIFIED": 0, + "PROJECTTYPE_OWNED": 1, + "PROJECTTYPE_GRANTED": 2, +} + +func (x ProjectType) String() string { + return proto.EnumName(ProjectType_name, int32(x)) +} + +func (ProjectType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_edc174f991dc0a25, []int{35} } type ZitadelDocs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` - DiscoveryEndpoint string `protobuf:"bytes,2,opt,name=discovery_endpoint,json=discoveryEndpoint,proto3" json:"discovery_endpoint,omitempty"` + Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` + DiscoveryEndpoint string `protobuf:"bytes,2,opt,name=discovery_endpoint,json=discoveryEndpoint,proto3" json:"discovery_endpoint,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ZitadelDocs) Reset() { - *x = ZitadelDocs{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ZitadelDocs) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ZitadelDocs) ProtoMessage() {} - -func (x *ZitadelDocs) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ZitadelDocs.ProtoReflect.Descriptor instead. +func (m *ZitadelDocs) Reset() { *m = ZitadelDocs{} } +func (m *ZitadelDocs) String() string { return proto.CompactTextString(m) } +func (*ZitadelDocs) ProtoMessage() {} func (*ZitadelDocs) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{0} + return fileDescriptor_edc174f991dc0a25, []int{0} } -func (x *ZitadelDocs) GetIssuer() string { - if x != nil { - return x.Issuer +func (m *ZitadelDocs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ZitadelDocs.Unmarshal(m, b) +} +func (m *ZitadelDocs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ZitadelDocs.Marshal(b, m, deterministic) +} +func (m *ZitadelDocs) XXX_Merge(src proto.Message) { + xxx_messageInfo_ZitadelDocs.Merge(m, src) +} +func (m *ZitadelDocs) XXX_Size() int { + return xxx_messageInfo_ZitadelDocs.Size(m) +} +func (m *ZitadelDocs) XXX_DiscardUnknown() { + xxx_messageInfo_ZitadelDocs.DiscardUnknown(m) +} + +var xxx_messageInfo_ZitadelDocs proto.InternalMessageInfo + +func (m *ZitadelDocs) GetIssuer() string { + if m != nil { + return m.Issuer } return "" } -func (x *ZitadelDocs) GetDiscoveryEndpoint() string { - if x != nil { - return x.DiscoveryEndpoint +func (m *ZitadelDocs) GetDiscoveryEndpoint() string { + if m != nil { + return m.DiscoveryEndpoint } return "" } type Iam struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GlobalOrgId string `protobuf:"bytes,1,opt,name=global_org_id,json=globalOrgId,proto3" json:"global_org_id,omitempty"` - IamProjectId string `protobuf:"bytes,2,opt,name=iam_project_id,json=iamProjectId,proto3" json:"iam_project_id,omitempty"` - SetUpDone bool `protobuf:"varint,3,opt,name=set_up_done,json=setUpDone,proto3" json:"set_up_done,omitempty"` - SetUpStarted bool `protobuf:"varint,4,opt,name=set_up_started,json=setUpStarted,proto3" json:"set_up_started,omitempty"` + GlobalOrgId string `protobuf:"bytes,1,opt,name=global_org_id,json=globalOrgId,proto3" json:"global_org_id,omitempty"` + IamProjectId string `protobuf:"bytes,2,opt,name=iam_project_id,json=iamProjectId,proto3" json:"iam_project_id,omitempty"` + SetUpDone bool `protobuf:"varint,3,opt,name=set_up_done,json=setUpDone,proto3" json:"set_up_done,omitempty"` + SetUpStarted bool `protobuf:"varint,4,opt,name=set_up_started,json=setUpStarted,proto3" json:"set_up_started,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *Iam) Reset() { - *x = Iam{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Iam) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Iam) ProtoMessage() {} - -func (x *Iam) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Iam.ProtoReflect.Descriptor instead. +func (m *Iam) Reset() { *m = Iam{} } +func (m *Iam) String() string { return proto.CompactTextString(m) } +func (*Iam) ProtoMessage() {} func (*Iam) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{1} + return fileDescriptor_edc174f991dc0a25, []int{1} } -func (x *Iam) GetGlobalOrgId() string { - if x != nil { - return x.GlobalOrgId +func (m *Iam) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Iam.Unmarshal(m, b) +} +func (m *Iam) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Iam.Marshal(b, m, deterministic) +} +func (m *Iam) XXX_Merge(src proto.Message) { + xxx_messageInfo_Iam.Merge(m, src) +} +func (m *Iam) XXX_Size() int { + return xxx_messageInfo_Iam.Size(m) +} +func (m *Iam) XXX_DiscardUnknown() { + xxx_messageInfo_Iam.DiscardUnknown(m) +} + +var xxx_messageInfo_Iam proto.InternalMessageInfo + +func (m *Iam) GetGlobalOrgId() string { + if m != nil { + return m.GlobalOrgId } return "" } -func (x *Iam) GetIamProjectId() string { - if x != nil { - return x.IamProjectId +func (m *Iam) GetIamProjectId() string { + if m != nil { + return m.IamProjectId } return "" } -func (x *Iam) GetSetUpDone() bool { - if x != nil { - return x.SetUpDone +func (m *Iam) GetSetUpDone() bool { + if m != nil { + return m.SetUpDone } return false } -func (x *Iam) GetSetUpStarted() bool { - if x != nil { - return x.SetUpStarted +func (m *Iam) GetSetUpStarted() bool { + if m != nil { + return m.SetUpStarted } return false } type ChangeRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - SecId string `protobuf:"bytes,2,opt,name=sec_id,json=secId,proto3" json:"sec_id,omitempty"` - Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` - SequenceOffset uint64 `protobuf:"varint,4,opt,name=sequence_offset,json=sequenceOffset,proto3" json:"sequence_offset,omitempty"` - Asc bool `protobuf:"varint,5,opt,name=asc,proto3" json:"asc,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + SecId string `protobuf:"bytes,2,opt,name=sec_id,json=secId,proto3" json:"sec_id,omitempty"` + Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` + SequenceOffset uint64 `protobuf:"varint,4,opt,name=sequence_offset,json=sequenceOffset,proto3" json:"sequence_offset,omitempty"` + Asc bool `protobuf:"varint,5,opt,name=asc,proto3" json:"asc,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ChangeRequest) Reset() { - *x = ChangeRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChangeRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChangeRequest) ProtoMessage() {} - -func (x *ChangeRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChangeRequest.ProtoReflect.Descriptor instead. +func (m *ChangeRequest) Reset() { *m = ChangeRequest{} } +func (m *ChangeRequest) String() string { return proto.CompactTextString(m) } +func (*ChangeRequest) ProtoMessage() {} func (*ChangeRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{2} + return fileDescriptor_edc174f991dc0a25, []int{2} } -func (x *ChangeRequest) GetId() string { - if x != nil { - return x.Id +func (m *ChangeRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChangeRequest.Unmarshal(m, b) +} +func (m *ChangeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChangeRequest.Marshal(b, m, deterministic) +} +func (m *ChangeRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChangeRequest.Merge(m, src) +} +func (m *ChangeRequest) XXX_Size() int { + return xxx_messageInfo_ChangeRequest.Size(m) +} +func (m *ChangeRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ChangeRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ChangeRequest proto.InternalMessageInfo + +func (m *ChangeRequest) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *ChangeRequest) GetSecId() string { - if x != nil { - return x.SecId +func (m *ChangeRequest) GetSecId() string { + if m != nil { + return m.SecId } return "" } -func (x *ChangeRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *ChangeRequest) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *ChangeRequest) GetSequenceOffset() uint64 { - if x != nil { - return x.SequenceOffset +func (m *ChangeRequest) GetSequenceOffset() uint64 { + if m != nil { + return m.SequenceOffset } return 0 } -func (x *ChangeRequest) GetAsc() bool { - if x != nil { - return x.Asc +func (m *ChangeRequest) GetAsc() bool { + if m != nil { + return m.Asc } return false } type Changes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Changes []*Change `protobuf:"bytes,1,rep,name=changes,proto3" json:"changes,omitempty"` - Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` + Changes []*Change `protobuf:"bytes,1,rep,name=changes,proto3" json:"changes,omitempty"` + Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *Changes) Reset() { - *x = Changes{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Changes) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Changes) ProtoMessage() {} - -func (x *Changes) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Changes.ProtoReflect.Descriptor instead. +func (m *Changes) Reset() { *m = Changes{} } +func (m *Changes) String() string { return proto.CompactTextString(m) } +func (*Changes) ProtoMessage() {} func (*Changes) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{3} + return fileDescriptor_edc174f991dc0a25, []int{3} } -func (x *Changes) GetChanges() []*Change { - if x != nil { - return x.Changes +func (m *Changes) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Changes.Unmarshal(m, b) +} +func (m *Changes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Changes.Marshal(b, m, deterministic) +} +func (m *Changes) XXX_Merge(src proto.Message) { + xxx_messageInfo_Changes.Merge(m, src) +} +func (m *Changes) XXX_Size() int { + return xxx_messageInfo_Changes.Size(m) +} +func (m *Changes) XXX_DiscardUnknown() { + xxx_messageInfo_Changes.DiscardUnknown(m) +} + +var xxx_messageInfo_Changes proto.InternalMessageInfo + +func (m *Changes) GetChanges() []*Change { + if m != nil { + return m.Changes } return nil } -func (x *Changes) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *Changes) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *Changes) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *Changes) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } type Change struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ChangeDate *timestamp.Timestamp `protobuf:"bytes,1,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - EventType *message.LocalizedMessage `protobuf:"bytes,2,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` - Sequence uint64 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"` - EditorId string `protobuf:"bytes,4,opt,name=editor_id,json=editorId,proto3" json:"editor_id,omitempty"` - Editor string `protobuf:"bytes,5,opt,name=editor,proto3" json:"editor,omitempty"` - Data *_struct.Struct `protobuf:"bytes,6,opt,name=data,proto3" json:"data,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,1,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + EventType *message.LocalizedMessage `protobuf:"bytes,2,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` + Sequence uint64 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"` + EditorId string `protobuf:"bytes,4,opt,name=editor_id,json=editorId,proto3" json:"editor_id,omitempty"` + Editor string `protobuf:"bytes,5,opt,name=editor,proto3" json:"editor,omitempty"` + Data *_struct.Struct `protobuf:"bytes,6,opt,name=data,proto3" json:"data,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *Change) Reset() { - *x = Change{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Change) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Change) ProtoMessage() {} - -func (x *Change) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Change.ProtoReflect.Descriptor instead. +func (m *Change) Reset() { *m = Change{} } +func (m *Change) String() string { return proto.CompactTextString(m) } +func (*Change) ProtoMessage() {} func (*Change) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{4} + return fileDescriptor_edc174f991dc0a25, []int{4} } -func (x *Change) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *Change) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Change.Unmarshal(m, b) +} +func (m *Change) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Change.Marshal(b, m, deterministic) +} +func (m *Change) XXX_Merge(src proto.Message) { + xxx_messageInfo_Change.Merge(m, src) +} +func (m *Change) XXX_Size() int { + return xxx_messageInfo_Change.Size(m) +} +func (m *Change) XXX_DiscardUnknown() { + xxx_messageInfo_Change.DiscardUnknown(m) +} + +var xxx_messageInfo_Change proto.InternalMessageInfo + +func (m *Change) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *Change) GetEventType() *message.LocalizedMessage { - if x != nil { - return x.EventType +func (m *Change) GetEventType() *message.LocalizedMessage { + if m != nil { + return m.EventType } return nil } -func (x *Change) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *Change) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *Change) GetEditorId() string { - if x != nil { - return x.EditorId +func (m *Change) GetEditorId() string { + if m != nil { + return m.EditorId } return "" } -func (x *Change) GetEditor() string { - if x != nil { - return x.Editor +func (m *Change) GetEditor() string { + if m != nil { + return m.Editor } return "" } -func (x *Change) GetData() *_struct.Struct { - if x != nil { - return x.Data +func (m *Change) GetData() *_struct.Struct { + if m != nil { + return m.Data } return nil } type ApplicationID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ApplicationID) Reset() { - *x = ApplicationID{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ApplicationID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ApplicationID) ProtoMessage() {} - -func (x *ApplicationID) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ApplicationID.ProtoReflect.Descriptor instead. +func (m *ApplicationID) Reset() { *m = ApplicationID{} } +func (m *ApplicationID) String() string { return proto.CompactTextString(m) } +func (*ApplicationID) ProtoMessage() {} func (*ApplicationID) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{5} + return fileDescriptor_edc174f991dc0a25, []int{5} } -func (x *ApplicationID) GetId() string { - if x != nil { - return x.Id +func (m *ApplicationID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ApplicationID.Unmarshal(m, b) +} +func (m *ApplicationID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ApplicationID.Marshal(b, m, deterministic) +} +func (m *ApplicationID) XXX_Merge(src proto.Message) { + xxx_messageInfo_ApplicationID.Merge(m, src) +} +func (m *ApplicationID) XXX_Size() int { + return xxx_messageInfo_ApplicationID.Size(m) +} +func (m *ApplicationID) XXX_DiscardUnknown() { + xxx_messageInfo_ApplicationID.DiscardUnknown(m) +} + +var xxx_messageInfo_ApplicationID proto.InternalMessageInfo + +func (m *ApplicationID) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *ApplicationID) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *ApplicationID) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } type ProjectID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectID) Reset() { - *x = ProjectID{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectID) ProtoMessage() {} - -func (x *ProjectID) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectID.ProtoReflect.Descriptor instead. +func (m *ProjectID) Reset() { *m = ProjectID{} } +func (m *ProjectID) String() string { return proto.CompactTextString(m) } +func (*ProjectID) ProtoMessage() {} func (*ProjectID) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{6} + return fileDescriptor_edc174f991dc0a25, []int{6} } -func (x *ProjectID) GetId() string { - if x != nil { - return x.Id +func (m *ProjectID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectID.Unmarshal(m, b) +} +func (m *ProjectID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectID.Marshal(b, m, deterministic) +} +func (m *ProjectID) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectID.Merge(m, src) +} +func (m *ProjectID) XXX_Size() int { + return xxx_messageInfo_ProjectID.Size(m) +} +func (m *ProjectID) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectID.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectID proto.InternalMessageInfo + +func (m *ProjectID) GetId() string { + if m != nil { + return m.Id } return "" } type UserID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserID) Reset() { - *x = UserID{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserID) ProtoMessage() {} - -func (x *UserID) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserID.ProtoReflect.Descriptor instead. +func (m *UserID) Reset() { *m = UserID{} } +func (m *UserID) String() string { return proto.CompactTextString(m) } +func (*UserID) ProtoMessage() {} func (*UserID) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{7} + return fileDescriptor_edc174f991dc0a25, []int{7} } -func (x *UserID) GetId() string { - if x != nil { - return x.Id +func (m *UserID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserID.Unmarshal(m, b) +} +func (m *UserID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserID.Marshal(b, m, deterministic) +} +func (m *UserID) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserID.Merge(m, src) +} +func (m *UserID) XXX_Size() int { + return xxx_messageInfo_UserID.Size(m) +} +func (m *UserID) XXX_DiscardUnknown() { + xxx_messageInfo_UserID.DiscardUnknown(m) +} + +var xxx_messageInfo_UserID proto.InternalMessageInfo + +func (m *UserID) GetId() string { + if m != nil { + return m.Id } return "" } type LoginName struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LoginName string `protobuf:"bytes,1,opt,name=login_name,json=loginName,proto3" json:"login_name,omitempty"` + LoginName string `protobuf:"bytes,1,opt,name=login_name,json=loginName,proto3" json:"login_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *LoginName) Reset() { - *x = LoginName{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LoginName) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LoginName) ProtoMessage() {} - -func (x *LoginName) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LoginName.ProtoReflect.Descriptor instead. +func (m *LoginName) Reset() { *m = LoginName{} } +func (m *LoginName) String() string { return proto.CompactTextString(m) } +func (*LoginName) ProtoMessage() {} func (*LoginName) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{8} + return fileDescriptor_edc174f991dc0a25, []int{8} } -func (x *LoginName) GetLoginName() string { - if x != nil { - return x.LoginName +func (m *LoginName) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LoginName.Unmarshal(m, b) +} +func (m *LoginName) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LoginName.Marshal(b, m, deterministic) +} +func (m *LoginName) XXX_Merge(src proto.Message) { + xxx_messageInfo_LoginName.Merge(m, src) +} +func (m *LoginName) XXX_Size() int { + return xxx_messageInfo_LoginName.Size(m) +} +func (m *LoginName) XXX_DiscardUnknown() { + xxx_messageInfo_LoginName.DiscardUnknown(m) +} + +var xxx_messageInfo_LoginName proto.InternalMessageInfo + +func (m *LoginName) GetLoginName() string { + if m != nil { + return m.LoginName } return "" } type UniqueUserRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserName string `protobuf:"bytes,1,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` - Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` + UserName string `protobuf:"bytes,1,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` + Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UniqueUserRequest) Reset() { - *x = UniqueUserRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UniqueUserRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UniqueUserRequest) ProtoMessage() {} - -func (x *UniqueUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UniqueUserRequest.ProtoReflect.Descriptor instead. +func (m *UniqueUserRequest) Reset() { *m = UniqueUserRequest{} } +func (m *UniqueUserRequest) String() string { return proto.CompactTextString(m) } +func (*UniqueUserRequest) ProtoMessage() {} func (*UniqueUserRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{9} + return fileDescriptor_edc174f991dc0a25, []int{9} } -func (x *UniqueUserRequest) GetUserName() string { - if x != nil { - return x.UserName +func (m *UniqueUserRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UniqueUserRequest.Unmarshal(m, b) +} +func (m *UniqueUserRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UniqueUserRequest.Marshal(b, m, deterministic) +} +func (m *UniqueUserRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UniqueUserRequest.Merge(m, src) +} +func (m *UniqueUserRequest) XXX_Size() int { + return xxx_messageInfo_UniqueUserRequest.Size(m) +} +func (m *UniqueUserRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UniqueUserRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UniqueUserRequest proto.InternalMessageInfo + +func (m *UniqueUserRequest) GetUserName() string { + if m != nil { + return m.UserName } return "" } -func (x *UniqueUserRequest) GetEmail() string { - if x != nil { - return x.Email +func (m *UniqueUserRequest) GetEmail() string { + if m != nil { + return m.Email } return "" } type UniqueUserResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsUnique bool `protobuf:"varint,1,opt,name=is_unique,json=isUnique,proto3" json:"is_unique,omitempty"` + IsUnique bool `protobuf:"varint,1,opt,name=is_unique,json=isUnique,proto3" json:"is_unique,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UniqueUserResponse) Reset() { - *x = UniqueUserResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UniqueUserResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UniqueUserResponse) ProtoMessage() {} - -func (x *UniqueUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UniqueUserResponse.ProtoReflect.Descriptor instead. +func (m *UniqueUserResponse) Reset() { *m = UniqueUserResponse{} } +func (m *UniqueUserResponse) String() string { return proto.CompactTextString(m) } +func (*UniqueUserResponse) ProtoMessage() {} func (*UniqueUserResponse) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{10} + return fileDescriptor_edc174f991dc0a25, []int{10} } -func (x *UniqueUserResponse) GetIsUnique() bool { - if x != nil { - return x.IsUnique +func (m *UniqueUserResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UniqueUserResponse.Unmarshal(m, b) +} +func (m *UniqueUserResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UniqueUserResponse.Marshal(b, m, deterministic) +} +func (m *UniqueUserResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_UniqueUserResponse.Merge(m, src) +} +func (m *UniqueUserResponse) XXX_Size() int { + return xxx_messageInfo_UniqueUserResponse.Size(m) +} +func (m *UniqueUserResponse) XXX_DiscardUnknown() { + xxx_messageInfo_UniqueUserResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_UniqueUserResponse proto.InternalMessageInfo + +func (m *UniqueUserResponse) GetIsUnique() bool { + if m != nil { + return m.IsUnique } return false } type CreateUserRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserName string `protobuf:"bytes,1,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` - FirstName string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` - LastName string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` - NickName string `protobuf:"bytes,4,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` - PreferredLanguage string `protobuf:"bytes,5,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` - Gender Gender `protobuf:"varint,6,opt,name=gender,proto3,enum=caos.zitadel.management.api.v1.Gender" json:"gender,omitempty"` - Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"` - IsEmailVerified bool `protobuf:"varint,8,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` - Phone string `protobuf:"bytes,9,opt,name=phone,proto3" json:"phone,omitempty"` - IsPhoneVerified bool `protobuf:"varint,10,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` - Country string `protobuf:"bytes,11,opt,name=country,proto3" json:"country,omitempty"` - Locality string `protobuf:"bytes,12,opt,name=locality,proto3" json:"locality,omitempty"` - PostalCode string `protobuf:"bytes,13,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` - Region string `protobuf:"bytes,14,opt,name=region,proto3" json:"region,omitempty"` - StreetAddress string `protobuf:"bytes,15,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` - Password string `protobuf:"bytes,16,opt,name=password,proto3" json:"password,omitempty"` + UserName string `protobuf:"bytes,1,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` + // Types that are valid to be assigned to User: + // *CreateUserRequest_Human + // *CreateUserRequest_Machine + User isCreateUserRequest_User `protobuf_oneof:"user"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *CreateUserRequest) Reset() { - *x = CreateUserRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateUserRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateUserRequest) ProtoMessage() {} - -func (x *CreateUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateUserRequest.ProtoReflect.Descriptor instead. +func (m *CreateUserRequest) Reset() { *m = CreateUserRequest{} } +func (m *CreateUserRequest) String() string { return proto.CompactTextString(m) } +func (*CreateUserRequest) ProtoMessage() {} func (*CreateUserRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{11} + return fileDescriptor_edc174f991dc0a25, []int{11} } -func (x *CreateUserRequest) GetUserName() string { - if x != nil { - return x.UserName +func (m *CreateUserRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateUserRequest.Unmarshal(m, b) +} +func (m *CreateUserRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateUserRequest.Marshal(b, m, deterministic) +} +func (m *CreateUserRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateUserRequest.Merge(m, src) +} +func (m *CreateUserRequest) XXX_Size() int { + return xxx_messageInfo_CreateUserRequest.Size(m) +} +func (m *CreateUserRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CreateUserRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CreateUserRequest proto.InternalMessageInfo + +func (m *CreateUserRequest) GetUserName() string { + if m != nil { + return m.UserName } return "" } -func (x *CreateUserRequest) GetFirstName() string { - if x != nil { - return x.FirstName +type isCreateUserRequest_User interface { + isCreateUserRequest_User() +} + +type CreateUserRequest_Human struct { + Human *CreateHumanRequest `protobuf:"bytes,2,opt,name=human,proto3,oneof"` +} + +type CreateUserRequest_Machine struct { + Machine *CreateMachineRequest `protobuf:"bytes,3,opt,name=machine,proto3,oneof"` +} + +func (*CreateUserRequest_Human) isCreateUserRequest_User() {} + +func (*CreateUserRequest_Machine) isCreateUserRequest_User() {} + +func (m *CreateUserRequest) GetUser() isCreateUserRequest_User { + if m != nil { + return m.User + } + return nil +} + +func (m *CreateUserRequest) GetHuman() *CreateHumanRequest { + if x, ok := m.GetUser().(*CreateUserRequest_Human); ok { + return x.Human + } + return nil +} + +func (m *CreateUserRequest) GetMachine() *CreateMachineRequest { + if x, ok := m.GetUser().(*CreateUserRequest_Machine); ok { + return x.Machine + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*CreateUserRequest) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*CreateUserRequest_Human)(nil), + (*CreateUserRequest_Machine)(nil), + } +} + +type CreateHumanRequest struct { + FirstName string `protobuf:"bytes,1,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,2,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + NickName string `protobuf:"bytes,3,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` + PreferredLanguage string `protobuf:"bytes,4,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` + Gender Gender `protobuf:"varint,5,opt,name=gender,proto3,enum=caos.zitadel.management.api.v1.Gender" json:"gender,omitempty"` + Email string `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"` + IsEmailVerified bool `protobuf:"varint,7,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` + Phone string `protobuf:"bytes,8,opt,name=phone,proto3" json:"phone,omitempty"` + IsPhoneVerified bool `protobuf:"varint,9,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` + Country string `protobuf:"bytes,10,opt,name=country,proto3" json:"country,omitempty"` + Locality string `protobuf:"bytes,11,opt,name=locality,proto3" json:"locality,omitempty"` + PostalCode string `protobuf:"bytes,12,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` + Region string `protobuf:"bytes,13,opt,name=region,proto3" json:"region,omitempty"` + StreetAddress string `protobuf:"bytes,14,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` + Password string `protobuf:"bytes,15,opt,name=password,proto3" json:"password,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CreateHumanRequest) Reset() { *m = CreateHumanRequest{} } +func (m *CreateHumanRequest) String() string { return proto.CompactTextString(m) } +func (*CreateHumanRequest) ProtoMessage() {} +func (*CreateHumanRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_edc174f991dc0a25, []int{12} +} + +func (m *CreateHumanRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateHumanRequest.Unmarshal(m, b) +} +func (m *CreateHumanRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateHumanRequest.Marshal(b, m, deterministic) +} +func (m *CreateHumanRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateHumanRequest.Merge(m, src) +} +func (m *CreateHumanRequest) XXX_Size() int { + return xxx_messageInfo_CreateHumanRequest.Size(m) +} +func (m *CreateHumanRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CreateHumanRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CreateHumanRequest proto.InternalMessageInfo + +func (m *CreateHumanRequest) GetFirstName() string { + if m != nil { + return m.FirstName } return "" } -func (x *CreateUserRequest) GetLastName() string { - if x != nil { - return x.LastName +func (m *CreateHumanRequest) GetLastName() string { + if m != nil { + return m.LastName } return "" } -func (x *CreateUserRequest) GetNickName() string { - if x != nil { - return x.NickName +func (m *CreateHumanRequest) GetNickName() string { + if m != nil { + return m.NickName } return "" } -func (x *CreateUserRequest) GetPreferredLanguage() string { - if x != nil { - return x.PreferredLanguage +func (m *CreateHumanRequest) GetPreferredLanguage() string { + if m != nil { + return m.PreferredLanguage } return "" } -func (x *CreateUserRequest) GetGender() Gender { - if x != nil { - return x.Gender +func (m *CreateHumanRequest) GetGender() Gender { + if m != nil { + return m.Gender } return Gender_GENDER_UNSPECIFIED } -func (x *CreateUserRequest) GetEmail() string { - if x != nil { - return x.Email +func (m *CreateHumanRequest) GetEmail() string { + if m != nil { + return m.Email } return "" } -func (x *CreateUserRequest) GetIsEmailVerified() bool { - if x != nil { - return x.IsEmailVerified +func (m *CreateHumanRequest) GetIsEmailVerified() bool { + if m != nil { + return m.IsEmailVerified } return false } -func (x *CreateUserRequest) GetPhone() string { - if x != nil { - return x.Phone +func (m *CreateHumanRequest) GetPhone() string { + if m != nil { + return m.Phone } return "" } -func (x *CreateUserRequest) GetIsPhoneVerified() bool { - if x != nil { - return x.IsPhoneVerified +func (m *CreateHumanRequest) GetIsPhoneVerified() bool { + if m != nil { + return m.IsPhoneVerified } return false } -func (x *CreateUserRequest) GetCountry() string { - if x != nil { - return x.Country +func (m *CreateHumanRequest) GetCountry() string { + if m != nil { + return m.Country } return "" } -func (x *CreateUserRequest) GetLocality() string { - if x != nil { - return x.Locality +func (m *CreateHumanRequest) GetLocality() string { + if m != nil { + return m.Locality } return "" } -func (x *CreateUserRequest) GetPostalCode() string { - if x != nil { - return x.PostalCode +func (m *CreateHumanRequest) GetPostalCode() string { + if m != nil { + return m.PostalCode } return "" } -func (x *CreateUserRequest) GetRegion() string { - if x != nil { - return x.Region +func (m *CreateHumanRequest) GetRegion() string { + if m != nil { + return m.Region } return "" } -func (x *CreateUserRequest) GetStreetAddress() string { - if x != nil { - return x.StreetAddress +func (m *CreateHumanRequest) GetStreetAddress() string { + if m != nil { + return m.StreetAddress } return "" } -func (x *CreateUserRequest) GetPassword() string { - if x != nil { - return x.Password +func (m *CreateHumanRequest) GetPassword() string { + if m != nil { + return m.Password } return "" } -type User struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - State UserState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.UserState" json:"state,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - UserName string `protobuf:"bytes,5,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` - FirstName string `protobuf:"bytes,6,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` - LastName string `protobuf:"bytes,7,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` - DisplayName string `protobuf:"bytes,8,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - NickName string `protobuf:"bytes,9,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` - PreferredLanguage string `protobuf:"bytes,10,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` - Gender Gender `protobuf:"varint,11,opt,name=gender,proto3,enum=caos.zitadel.management.api.v1.Gender" json:"gender,omitempty"` - Email string `protobuf:"bytes,12,opt,name=email,proto3" json:"email,omitempty"` - IsEmailVerified bool `protobuf:"varint,13,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` - Phone string `protobuf:"bytes,14,opt,name=phone,proto3" json:"phone,omitempty"` - IsPhoneVerified bool `protobuf:"varint,15,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` - Country string `protobuf:"bytes,16,opt,name=country,proto3" json:"country,omitempty"` - Locality string `protobuf:"bytes,17,opt,name=locality,proto3" json:"locality,omitempty"` - PostalCode string `protobuf:"bytes,18,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` - Region string `protobuf:"bytes,19,opt,name=region,proto3" json:"region,omitempty"` - StreetAddress string `protobuf:"bytes,20,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` - Sequence uint64 `protobuf:"varint,21,opt,name=sequence,proto3" json:"sequence,omitempty"` +type CreateMachineRequest struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *User) Reset() { - *x = User{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *CreateMachineRequest) Reset() { *m = CreateMachineRequest{} } +func (m *CreateMachineRequest) String() string { return proto.CompactTextString(m) } +func (*CreateMachineRequest) ProtoMessage() {} +func (*CreateMachineRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_edc174f991dc0a25, []int{13} } -func (x *User) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *CreateMachineRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateMachineRequest.Unmarshal(m, b) +} +func (m *CreateMachineRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateMachineRequest.Marshal(b, m, deterministic) +} +func (m *CreateMachineRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateMachineRequest.Merge(m, src) +} +func (m *CreateMachineRequest) XXX_Size() int { + return xxx_messageInfo_CreateMachineRequest.Size(m) +} +func (m *CreateMachineRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CreateMachineRequest.DiscardUnknown(m) } -func (*User) ProtoMessage() {} +var xxx_messageInfo_CreateMachineRequest proto.InternalMessageInfo -func (x *User) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use User.ProtoReflect.Descriptor instead. -func (*User) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{12} -} - -func (x *User) GetId() string { - if x != nil { - return x.Id +func (m *CreateMachineRequest) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *User) GetState() UserState { - if x != nil { - return x.State +func (m *CreateMachineRequest) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +type UserResponse struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + State UserState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.UserState" json:"state,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` + UserName string `protobuf:"bytes,6,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` + // Types that are valid to be assigned to User: + // *UserResponse_Human + // *UserResponse_Machine + User isUserResponse_User `protobuf_oneof:"user"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UserResponse) Reset() { *m = UserResponse{} } +func (m *UserResponse) String() string { return proto.CompactTextString(m) } +func (*UserResponse) ProtoMessage() {} +func (*UserResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_edc174f991dc0a25, []int{14} +} + +func (m *UserResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserResponse.Unmarshal(m, b) +} +func (m *UserResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserResponse.Marshal(b, m, deterministic) +} +func (m *UserResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserResponse.Merge(m, src) +} +func (m *UserResponse) XXX_Size() int { + return xxx_messageInfo_UserResponse.Size(m) +} +func (m *UserResponse) XXX_DiscardUnknown() { + xxx_messageInfo_UserResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_UserResponse proto.InternalMessageInfo + +func (m *UserResponse) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +func (m *UserResponse) GetState() UserState { + if m != nil { + return m.State } return UserState_USERSTATE_UNSPECIFIED } -func (x *User) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *UserResponse) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *User) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *UserResponse) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *User) GetUserName() string { - if x != nil { - return x.UserName - } - return "" -} - -func (x *User) GetFirstName() string { - if x != nil { - return x.FirstName - } - return "" -} - -func (x *User) GetLastName() string { - if x != nil { - return x.LastName - } - return "" -} - -func (x *User) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *User) GetNickName() string { - if x != nil { - return x.NickName - } - return "" -} - -func (x *User) GetPreferredLanguage() string { - if x != nil { - return x.PreferredLanguage - } - return "" -} - -func (x *User) GetGender() Gender { - if x != nil { - return x.Gender - } - return Gender_GENDER_UNSPECIFIED -} - -func (x *User) GetEmail() string { - if x != nil { - return x.Email - } - return "" -} - -func (x *User) GetIsEmailVerified() bool { - if x != nil { - return x.IsEmailVerified - } - return false -} - -func (x *User) GetPhone() string { - if x != nil { - return x.Phone - } - return "" -} - -func (x *User) GetIsPhoneVerified() bool { - if x != nil { - return x.IsPhoneVerified - } - return false -} - -func (x *User) GetCountry() string { - if x != nil { - return x.Country - } - return "" -} - -func (x *User) GetLocality() string { - if x != nil { - return x.Locality - } - return "" -} - -func (x *User) GetPostalCode() string { - if x != nil { - return x.PostalCode - } - return "" -} - -func (x *User) GetRegion() string { - if x != nil { - return x.Region - } - return "" -} - -func (x *User) GetStreetAddress() string { - if x != nil { - return x.StreetAddress - } - return "" -} - -func (x *User) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *UserResponse) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -type UserView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (m *UserResponse) GetUserName() string { + if m != nil { + return m.UserName + } + return "" +} +type isUserResponse_User interface { + isUserResponse_User() +} + +type UserResponse_Human struct { + Human *HumanResponse `protobuf:"bytes,7,opt,name=human,proto3,oneof"` +} + +type UserResponse_Machine struct { + Machine *MachineResponse `protobuf:"bytes,8,opt,name=machine,proto3,oneof"` +} + +func (*UserResponse_Human) isUserResponse_User() {} + +func (*UserResponse_Machine) isUserResponse_User() {} + +func (m *UserResponse) GetUser() isUserResponse_User { + if m != nil { + return m.User + } + return nil +} + +func (m *UserResponse) GetHuman() *HumanResponse { + if x, ok := m.GetUser().(*UserResponse_Human); ok { + return x.Human + } + return nil +} + +func (m *UserResponse) GetMachine() *MachineResponse { + if x, ok := m.GetUser().(*UserResponse_Machine); ok { + return x.Machine + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*UserResponse) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*UserResponse_Human)(nil), + (*UserResponse_Machine)(nil), + } +} + +type UserView struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` State UserState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.UserState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - LastLogin *timestamp.Timestamp `protobuf:"bytes,5,opt,name=last_login,json=lastLogin,proto3" json:"last_login,omitempty"` - PasswordChanged *timestamp.Timestamp `protobuf:"bytes,6,opt,name=password_changed,json=passwordChanged,proto3" json:"password_changed,omitempty"` - UserName string `protobuf:"bytes,7,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` - FirstName string `protobuf:"bytes,8,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` - LastName string `protobuf:"bytes,9,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` - DisplayName string `protobuf:"bytes,10,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - NickName string `protobuf:"bytes,11,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` - PreferredLanguage string `protobuf:"bytes,12,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` - Gender Gender `protobuf:"varint,13,opt,name=gender,proto3,enum=caos.zitadel.management.api.v1.Gender" json:"gender,omitempty"` - Email string `protobuf:"bytes,14,opt,name=email,proto3" json:"email,omitempty"` - IsEmailVerified bool `protobuf:"varint,15,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` - Phone string `protobuf:"bytes,16,opt,name=phone,proto3" json:"phone,omitempty"` - IsPhoneVerified bool `protobuf:"varint,17,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` - Country string `protobuf:"bytes,18,opt,name=country,proto3" json:"country,omitempty"` - Locality string `protobuf:"bytes,19,opt,name=locality,proto3" json:"locality,omitempty"` - PostalCode string `protobuf:"bytes,20,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` - Region string `protobuf:"bytes,21,opt,name=region,proto3" json:"region,omitempty"` - StreetAddress string `protobuf:"bytes,22,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` - Sequence uint64 `protobuf:"varint,23,opt,name=sequence,proto3" json:"sequence,omitempty"` - ResourceOwner string `protobuf:"bytes,24,opt,name=resource_owner,json=resourceOwner,proto3" json:"resource_owner,omitempty"` - LoginNames []string `protobuf:"bytes,25,rep,name=login_names,json=loginNames,proto3" json:"login_names,omitempty"` - PreferredLoginName string `protobuf:"bytes,26,opt,name=preferred_login_name,json=preferredLoginName,proto3" json:"preferred_login_name,omitempty"` + Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` + LoginNames []string `protobuf:"bytes,6,rep,name=login_names,json=loginNames,proto3" json:"login_names,omitempty"` + PreferredLoginName string `protobuf:"bytes,7,opt,name=preferred_login_name,json=preferredLoginName,proto3" json:"preferred_login_name,omitempty"` + LastLogin *timestamp.Timestamp `protobuf:"bytes,8,opt,name=last_login,json=lastLogin,proto3" json:"last_login,omitempty"` + ResourceOwner string `protobuf:"bytes,9,opt,name=resource_owner,json=resourceOwner,proto3" json:"resource_owner,omitempty"` + UserName string `protobuf:"bytes,10,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` + // Types that are valid to be assigned to User: + // *UserView_Human + // *UserView_Machine + User isUserView_User `protobuf_oneof:"user"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserView) Reset() { - *x = UserView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserView) ProtoMessage() {} - -func (x *UserView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserView.ProtoReflect.Descriptor instead. +func (m *UserView) Reset() { *m = UserView{} } +func (m *UserView) String() string { return proto.CompactTextString(m) } +func (*UserView) ProtoMessage() {} func (*UserView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{13} + return fileDescriptor_edc174f991dc0a25, []int{15} } -func (x *UserView) GetId() string { - if x != nil { - return x.Id +func (m *UserView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserView.Unmarshal(m, b) +} +func (m *UserView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserView.Marshal(b, m, deterministic) +} +func (m *UserView) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserView.Merge(m, src) +} +func (m *UserView) XXX_Size() int { + return xxx_messageInfo_UserView.Size(m) +} +func (m *UserView) XXX_DiscardUnknown() { + xxx_messageInfo_UserView.DiscardUnknown(m) +} + +var xxx_messageInfo_UserView proto.InternalMessageInfo + +func (m *UserView) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *UserView) GetState() UserState { - if x != nil { - return x.State +func (m *UserView) GetState() UserState { + if m != nil { + return m.State } return UserState_USERSTATE_UNSPECIFIED } -func (x *UserView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *UserView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *UserView) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *UserView) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *UserView) GetLastLogin() *timestamp.Timestamp { - if x != nil { - return x.LastLogin +func (m *UserView) GetSequence() uint64 { + if m != nil { + return m.Sequence + } + return 0 +} + +func (m *UserView) GetLoginNames() []string { + if m != nil { + return m.LoginNames } return nil } -func (x *UserView) GetPasswordChanged() *timestamp.Timestamp { - if x != nil { - return x.PasswordChanged +func (m *UserView) GetPreferredLoginName() string { + if m != nil { + return m.PreferredLoginName + } + return "" +} + +func (m *UserView) GetLastLogin() *timestamp.Timestamp { + if m != nil { + return m.LastLogin } return nil } -func (x *UserView) GetUserName() string { - if x != nil { - return x.UserName +func (m *UserView) GetResourceOwner() string { + if m != nil { + return m.ResourceOwner } return "" } -func (x *UserView) GetFirstName() string { - if x != nil { - return x.FirstName +func (m *UserView) GetUserName() string { + if m != nil { + return m.UserName } return "" } -func (x *UserView) GetLastName() string { - if x != nil { - return x.LastName +type isUserView_User interface { + isUserView_User() +} + +type UserView_Human struct { + Human *HumanView `protobuf:"bytes,11,opt,name=human,proto3,oneof"` +} + +type UserView_Machine struct { + Machine *MachineView `protobuf:"bytes,12,opt,name=machine,proto3,oneof"` +} + +func (*UserView_Human) isUserView_User() {} + +func (*UserView_Machine) isUserView_User() {} + +func (m *UserView) GetUser() isUserView_User { + if m != nil { + return m.User + } + return nil +} + +func (m *UserView) GetHuman() *HumanView { + if x, ok := m.GetUser().(*UserView_Human); ok { + return x.Human + } + return nil +} + +func (m *UserView) GetMachine() *MachineView { + if x, ok := m.GetUser().(*UserView_Machine); ok { + return x.Machine + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*UserView) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*UserView_Human)(nil), + (*UserView_Machine)(nil), + } +} + +type HumanResponse struct { + FirstName string `protobuf:"bytes,1,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,2,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + NickName string `protobuf:"bytes,4,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` + PreferredLanguage string `protobuf:"bytes,5,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` + Gender Gender `protobuf:"varint,6,opt,name=gender,proto3,enum=caos.zitadel.management.api.v1.Gender" json:"gender,omitempty"` + Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"` + IsEmailVerified bool `protobuf:"varint,8,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` + Phone string `protobuf:"bytes,9,opt,name=phone,proto3" json:"phone,omitempty"` + IsPhoneVerified bool `protobuf:"varint,10,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` + Country string `protobuf:"bytes,11,opt,name=country,proto3" json:"country,omitempty"` + Locality string `protobuf:"bytes,12,opt,name=locality,proto3" json:"locality,omitempty"` + PostalCode string `protobuf:"bytes,13,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` + Region string `protobuf:"bytes,14,opt,name=region,proto3" json:"region,omitempty"` + StreetAddress string `protobuf:"bytes,15,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HumanResponse) Reset() { *m = HumanResponse{} } +func (m *HumanResponse) String() string { return proto.CompactTextString(m) } +func (*HumanResponse) ProtoMessage() {} +func (*HumanResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_edc174f991dc0a25, []int{16} +} + +func (m *HumanResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HumanResponse.Unmarshal(m, b) +} +func (m *HumanResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HumanResponse.Marshal(b, m, deterministic) +} +func (m *HumanResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_HumanResponse.Merge(m, src) +} +func (m *HumanResponse) XXX_Size() int { + return xxx_messageInfo_HumanResponse.Size(m) +} +func (m *HumanResponse) XXX_DiscardUnknown() { + xxx_messageInfo_HumanResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_HumanResponse proto.InternalMessageInfo + +func (m *HumanResponse) GetFirstName() string { + if m != nil { + return m.FirstName } return "" } -func (x *UserView) GetDisplayName() string { - if x != nil { - return x.DisplayName +func (m *HumanResponse) GetLastName() string { + if m != nil { + return m.LastName } return "" } -func (x *UserView) GetNickName() string { - if x != nil { - return x.NickName +func (m *HumanResponse) GetDisplayName() string { + if m != nil { + return m.DisplayName } return "" } -func (x *UserView) GetPreferredLanguage() string { - if x != nil { - return x.PreferredLanguage +func (m *HumanResponse) GetNickName() string { + if m != nil { + return m.NickName } return "" } -func (x *UserView) GetGender() Gender { - if x != nil { - return x.Gender +func (m *HumanResponse) GetPreferredLanguage() string { + if m != nil { + return m.PreferredLanguage + } + return "" +} + +func (m *HumanResponse) GetGender() Gender { + if m != nil { + return m.Gender } return Gender_GENDER_UNSPECIFIED } -func (x *UserView) GetEmail() string { - if x != nil { - return x.Email +func (m *HumanResponse) GetEmail() string { + if m != nil { + return m.Email } return "" } -func (x *UserView) GetIsEmailVerified() bool { - if x != nil { - return x.IsEmailVerified +func (m *HumanResponse) GetIsEmailVerified() bool { + if m != nil { + return m.IsEmailVerified } return false } -func (x *UserView) GetPhone() string { - if x != nil { - return x.Phone +func (m *HumanResponse) GetPhone() string { + if m != nil { + return m.Phone } return "" } -func (x *UserView) GetIsPhoneVerified() bool { - if x != nil { - return x.IsPhoneVerified +func (m *HumanResponse) GetIsPhoneVerified() bool { + if m != nil { + return m.IsPhoneVerified } return false } -func (x *UserView) GetCountry() string { - if x != nil { - return x.Country +func (m *HumanResponse) GetCountry() string { + if m != nil { + return m.Country } return "" } -func (x *UserView) GetLocality() string { - if x != nil { - return x.Locality +func (m *HumanResponse) GetLocality() string { + if m != nil { + return m.Locality } return "" } -func (x *UserView) GetPostalCode() string { - if x != nil { - return x.PostalCode +func (m *HumanResponse) GetPostalCode() string { + if m != nil { + return m.PostalCode } return "" } -func (x *UserView) GetRegion() string { - if x != nil { - return x.Region +func (m *HumanResponse) GetRegion() string { + if m != nil { + return m.Region } return "" } -func (x *UserView) GetStreetAddress() string { - if x != nil { - return x.StreetAddress +func (m *HumanResponse) GetStreetAddress() string { + if m != nil { + return m.StreetAddress } return "" } -func (x *UserView) GetSequence() uint64 { - if x != nil { - return x.Sequence - } - return 0 +type HumanView struct { + PasswordChanged *timestamp.Timestamp `protobuf:"bytes,1,opt,name=password_changed,json=passwordChanged,proto3" json:"password_changed,omitempty"` + FirstName string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + NickName string `protobuf:"bytes,5,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` + PreferredLanguage string `protobuf:"bytes,6,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` + Gender Gender `protobuf:"varint,7,opt,name=gender,proto3,enum=caos.zitadel.management.api.v1.Gender" json:"gender,omitempty"` + Email string `protobuf:"bytes,8,opt,name=email,proto3" json:"email,omitempty"` + IsEmailVerified bool `protobuf:"varint,9,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` + Phone string `protobuf:"bytes,10,opt,name=phone,proto3" json:"phone,omitempty"` + IsPhoneVerified bool `protobuf:"varint,11,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` + Country string `protobuf:"bytes,12,opt,name=country,proto3" json:"country,omitempty"` + Locality string `protobuf:"bytes,13,opt,name=locality,proto3" json:"locality,omitempty"` + PostalCode string `protobuf:"bytes,14,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` + Region string `protobuf:"bytes,15,opt,name=region,proto3" json:"region,omitempty"` + StreetAddress string `protobuf:"bytes,16,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserView) GetResourceOwner() string { - if x != nil { - return x.ResourceOwner - } - return "" +func (m *HumanView) Reset() { *m = HumanView{} } +func (m *HumanView) String() string { return proto.CompactTextString(m) } +func (*HumanView) ProtoMessage() {} +func (*HumanView) Descriptor() ([]byte, []int) { + return fileDescriptor_edc174f991dc0a25, []int{17} } -func (x *UserView) GetLoginNames() []string { - if x != nil { - return x.LoginNames +func (m *HumanView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HumanView.Unmarshal(m, b) +} +func (m *HumanView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HumanView.Marshal(b, m, deterministic) +} +func (m *HumanView) XXX_Merge(src proto.Message) { + xxx_messageInfo_HumanView.Merge(m, src) +} +func (m *HumanView) XXX_Size() int { + return xxx_messageInfo_HumanView.Size(m) +} +func (m *HumanView) XXX_DiscardUnknown() { + xxx_messageInfo_HumanView.DiscardUnknown(m) +} + +var xxx_messageInfo_HumanView proto.InternalMessageInfo + +func (m *HumanView) GetPasswordChanged() *timestamp.Timestamp { + if m != nil { + return m.PasswordChanged } return nil } -func (x *UserView) GetPreferredLoginName() string { - if x != nil { - return x.PreferredLoginName +func (m *HumanView) GetFirstName() string { + if m != nil { + return m.FirstName } return "" } -type UserSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - SortingColumn UserSearchKey `protobuf:"varint,3,opt,name=sorting_column,json=sortingColumn,proto3,enum=caos.zitadel.management.api.v1.UserSearchKey" json:"sorting_column,omitempty"` - Asc bool `protobuf:"varint,4,opt,name=asc,proto3" json:"asc,omitempty"` - Queries []*UserSearchQuery `protobuf:"bytes,5,rep,name=queries,proto3" json:"queries,omitempty"` -} - -func (x *UserSearchRequest) Reset() { - *x = UserSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (m *HumanView) GetLastName() string { + if m != nil { + return m.LastName } + return "" } -func (x *UserSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserSearchRequest) ProtoMessage() {} - -func (x *UserSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (m *HumanView) GetDisplayName() string { + if m != nil { + return m.DisplayName } - return mi.MessageOf(x) + return "" } -// Deprecated: Use UserSearchRequest.ProtoReflect.Descriptor instead. -func (*UserSearchRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{14} -} - -func (x *UserSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *HumanView) GetNickName() string { + if m != nil { + return m.NickName } - return 0 + return "" } -func (x *UserSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *HumanView) GetPreferredLanguage() string { + if m != nil { + return m.PreferredLanguage } - return 0 + return "" } -func (x *UserSearchRequest) GetSortingColumn() UserSearchKey { - if x != nil { - return x.SortingColumn +func (m *HumanView) GetGender() Gender { + if m != nil { + return m.Gender } - return UserSearchKey_USERSEARCHKEY_UNSPECIFIED + return Gender_GENDER_UNSPECIFIED } -func (x *UserSearchRequest) GetAsc() bool { - if x != nil { - return x.Asc +func (m *HumanView) GetEmail() string { + if m != nil { + return m.Email + } + return "" +} + +func (m *HumanView) GetIsEmailVerified() bool { + if m != nil { + return m.IsEmailVerified } return false } -func (x *UserSearchRequest) GetQueries() []*UserSearchQuery { - if x != nil { - return x.Queries +func (m *HumanView) GetPhone() string { + if m != nil { + return m.Phone + } + return "" +} + +func (m *HumanView) GetIsPhoneVerified() bool { + if m != nil { + return m.IsPhoneVerified + } + return false +} + +func (m *HumanView) GetCountry() string { + if m != nil { + return m.Country + } + return "" +} + +func (m *HumanView) GetLocality() string { + if m != nil { + return m.Locality + } + return "" +} + +func (m *HumanView) GetPostalCode() string { + if m != nil { + return m.PostalCode + } + return "" +} + +func (m *HumanView) GetRegion() string { + if m != nil { + return m.Region + } + return "" +} + +func (m *HumanView) GetStreetAddress() string { + if m != nil { + return m.StreetAddress + } + return "" +} + +type MachineResponse struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MachineResponse) Reset() { *m = MachineResponse{} } +func (m *MachineResponse) String() string { return proto.CompactTextString(m) } +func (*MachineResponse) ProtoMessage() {} +func (*MachineResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_edc174f991dc0a25, []int{18} +} + +func (m *MachineResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MachineResponse.Unmarshal(m, b) +} +func (m *MachineResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MachineResponse.Marshal(b, m, deterministic) +} +func (m *MachineResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MachineResponse.Merge(m, src) +} +func (m *MachineResponse) XXX_Size() int { + return xxx_messageInfo_MachineResponse.Size(m) +} +func (m *MachineResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MachineResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MachineResponse proto.InternalMessageInfo + +func (m *MachineResponse) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *MachineResponse) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +type MachineView struct { + LastKeyAdded *timestamp.Timestamp `protobuf:"bytes,1,opt,name=last_key_added,json=lastKeyAdded,proto3" json:"last_key_added,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MachineView) Reset() { *m = MachineView{} } +func (m *MachineView) String() string { return proto.CompactTextString(m) } +func (*MachineView) ProtoMessage() {} +func (*MachineView) Descriptor() ([]byte, []int) { + return fileDescriptor_edc174f991dc0a25, []int{19} +} + +func (m *MachineView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MachineView.Unmarshal(m, b) +} +func (m *MachineView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MachineView.Marshal(b, m, deterministic) +} +func (m *MachineView) XXX_Merge(src proto.Message) { + xxx_messageInfo_MachineView.Merge(m, src) +} +func (m *MachineView) XXX_Size() int { + return xxx_messageInfo_MachineView.Size(m) +} +func (m *MachineView) XXX_DiscardUnknown() { + xxx_messageInfo_MachineView.DiscardUnknown(m) +} + +var xxx_messageInfo_MachineView proto.InternalMessageInfo + +func (m *MachineView) GetLastKeyAdded() *timestamp.Timestamp { + if m != nil { + return m.LastKeyAdded + } + return nil +} + +func (m *MachineView) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *MachineView) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +type UpdateMachineRequest struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UpdateMachineRequest) Reset() { *m = UpdateMachineRequest{} } +func (m *UpdateMachineRequest) String() string { return proto.CompactTextString(m) } +func (*UpdateMachineRequest) ProtoMessage() {} +func (*UpdateMachineRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_edc174f991dc0a25, []int{20} +} + +func (m *UpdateMachineRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateMachineRequest.Unmarshal(m, b) +} +func (m *UpdateMachineRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateMachineRequest.Marshal(b, m, deterministic) +} +func (m *UpdateMachineRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateMachineRequest.Merge(m, src) +} +func (m *UpdateMachineRequest) XXX_Size() int { + return xxx_messageInfo_UpdateMachineRequest.Size(m) +} +func (m *UpdateMachineRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateMachineRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateMachineRequest proto.InternalMessageInfo + +func (m *UpdateMachineRequest) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +func (m *UpdateMachineRequest) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +type AddMachineKeyRequest struct { + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Type MachineKeyType `protobuf:"varint,2,opt,name=type,proto3,enum=caos.zitadel.management.api.v1.MachineKeyType" json:"type,omitempty"` + ExpirationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=expiration_date,json=expirationDate,proto3" json:"expiration_date,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddMachineKeyRequest) Reset() { *m = AddMachineKeyRequest{} } +func (m *AddMachineKeyRequest) String() string { return proto.CompactTextString(m) } +func (*AddMachineKeyRequest) ProtoMessage() {} +func (*AddMachineKeyRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_edc174f991dc0a25, []int{21} +} + +func (m *AddMachineKeyRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddMachineKeyRequest.Unmarshal(m, b) +} +func (m *AddMachineKeyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddMachineKeyRequest.Marshal(b, m, deterministic) +} +func (m *AddMachineKeyRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddMachineKeyRequest.Merge(m, src) +} +func (m *AddMachineKeyRequest) XXX_Size() int { + return xxx_messageInfo_AddMachineKeyRequest.Size(m) +} +func (m *AddMachineKeyRequest) XXX_DiscardUnknown() { + xxx_messageInfo_AddMachineKeyRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_AddMachineKeyRequest proto.InternalMessageInfo + +func (m *AddMachineKeyRequest) GetUserId() string { + if m != nil { + return m.UserId + } + return "" +} + +func (m *AddMachineKeyRequest) GetType() MachineKeyType { + if m != nil { + return m.Type + } + return MachineKeyType_MACHINEKEY_UNSPECIFIED +} + +func (m *AddMachineKeyRequest) GetExpirationDate() *timestamp.Timestamp { + if m != nil { + return m.ExpirationDate + } + return nil +} + +type AddMachineKeyResponse struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,2,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + Sequence uint64 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"` + Type MachineKeyType `protobuf:"varint,4,opt,name=type,proto3,enum=caos.zitadel.management.api.v1.MachineKeyType" json:"type,omitempty"` + ExpirationDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=expiration_date,json=expirationDate,proto3" json:"expiration_date,omitempty"` + KeyDetails []byte `protobuf:"bytes,6,opt,name=key_details,json=keyDetails,proto3" json:"key_details,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddMachineKeyResponse) Reset() { *m = AddMachineKeyResponse{} } +func (m *AddMachineKeyResponse) String() string { return proto.CompactTextString(m) } +func (*AddMachineKeyResponse) ProtoMessage() {} +func (*AddMachineKeyResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_edc174f991dc0a25, []int{22} +} + +func (m *AddMachineKeyResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddMachineKeyResponse.Unmarshal(m, b) +} +func (m *AddMachineKeyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddMachineKeyResponse.Marshal(b, m, deterministic) +} +func (m *AddMachineKeyResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddMachineKeyResponse.Merge(m, src) +} +func (m *AddMachineKeyResponse) XXX_Size() int { + return xxx_messageInfo_AddMachineKeyResponse.Size(m) +} +func (m *AddMachineKeyResponse) XXX_DiscardUnknown() { + xxx_messageInfo_AddMachineKeyResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_AddMachineKeyResponse proto.InternalMessageInfo + +func (m *AddMachineKeyResponse) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +func (m *AddMachineKeyResponse) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate + } + return nil +} + +func (m *AddMachineKeyResponse) GetSequence() uint64 { + if m != nil { + return m.Sequence + } + return 0 +} + +func (m *AddMachineKeyResponse) GetType() MachineKeyType { + if m != nil { + return m.Type + } + return MachineKeyType_MACHINEKEY_UNSPECIFIED +} + +func (m *AddMachineKeyResponse) GetExpirationDate() *timestamp.Timestamp { + if m != nil { + return m.ExpirationDate + } + return nil +} + +func (m *AddMachineKeyResponse) GetKeyDetails() []byte { + if m != nil { + return m.KeyDetails + } + return nil +} + +type MachineKeyIDRequest struct { + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + KeyId string `protobuf:"bytes,2,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MachineKeyIDRequest) Reset() { *m = MachineKeyIDRequest{} } +func (m *MachineKeyIDRequest) String() string { return proto.CompactTextString(m) } +func (*MachineKeyIDRequest) ProtoMessage() {} +func (*MachineKeyIDRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_edc174f991dc0a25, []int{23} +} + +func (m *MachineKeyIDRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MachineKeyIDRequest.Unmarshal(m, b) +} +func (m *MachineKeyIDRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MachineKeyIDRequest.Marshal(b, m, deterministic) +} +func (m *MachineKeyIDRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_MachineKeyIDRequest.Merge(m, src) +} +func (m *MachineKeyIDRequest) XXX_Size() int { + return xxx_messageInfo_MachineKeyIDRequest.Size(m) +} +func (m *MachineKeyIDRequest) XXX_DiscardUnknown() { + xxx_messageInfo_MachineKeyIDRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_MachineKeyIDRequest proto.InternalMessageInfo + +func (m *MachineKeyIDRequest) GetUserId() string { + if m != nil { + return m.UserId + } + return "" +} + +func (m *MachineKeyIDRequest) GetKeyId() string { + if m != nil { + return m.KeyId + } + return "" +} + +type MachineKeyView struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Type MachineKeyType `protobuf:"varint,2,opt,name=type,proto3,enum=caos.zitadel.management.api.v1.MachineKeyType" json:"type,omitempty"` + Sequence uint64 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ExpirationDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=expiration_date,json=expirationDate,proto3" json:"expiration_date,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MachineKeyView) Reset() { *m = MachineKeyView{} } +func (m *MachineKeyView) String() string { return proto.CompactTextString(m) } +func (*MachineKeyView) ProtoMessage() {} +func (*MachineKeyView) Descriptor() ([]byte, []int) { + return fileDescriptor_edc174f991dc0a25, []int{24} +} + +func (m *MachineKeyView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MachineKeyView.Unmarshal(m, b) +} +func (m *MachineKeyView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MachineKeyView.Marshal(b, m, deterministic) +} +func (m *MachineKeyView) XXX_Merge(src proto.Message) { + xxx_messageInfo_MachineKeyView.Merge(m, src) +} +func (m *MachineKeyView) XXX_Size() int { + return xxx_messageInfo_MachineKeyView.Size(m) +} +func (m *MachineKeyView) XXX_DiscardUnknown() { + xxx_messageInfo_MachineKeyView.DiscardUnknown(m) +} + +var xxx_messageInfo_MachineKeyView proto.InternalMessageInfo + +func (m *MachineKeyView) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +func (m *MachineKeyView) GetType() MachineKeyType { + if m != nil { + return m.Type + } + return MachineKeyType_MACHINEKEY_UNSPECIFIED +} + +func (m *MachineKeyView) GetSequence() uint64 { + if m != nil { + return m.Sequence + } + return 0 +} + +func (m *MachineKeyView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate + } + return nil +} + +func (m *MachineKeyView) GetExpirationDate() *timestamp.Timestamp { + if m != nil { + return m.ExpirationDate + } + return nil +} + +type MachineKeySearchRequest struct { + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + Asc bool `protobuf:"varint,3,opt,name=asc,proto3" json:"asc,omitempty"` + UserId string `protobuf:"bytes,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MachineKeySearchRequest) Reset() { *m = MachineKeySearchRequest{} } +func (m *MachineKeySearchRequest) String() string { return proto.CompactTextString(m) } +func (*MachineKeySearchRequest) ProtoMessage() {} +func (*MachineKeySearchRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_edc174f991dc0a25, []int{25} +} + +func (m *MachineKeySearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MachineKeySearchRequest.Unmarshal(m, b) +} +func (m *MachineKeySearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MachineKeySearchRequest.Marshal(b, m, deterministic) +} +func (m *MachineKeySearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_MachineKeySearchRequest.Merge(m, src) +} +func (m *MachineKeySearchRequest) XXX_Size() int { + return xxx_messageInfo_MachineKeySearchRequest.Size(m) +} +func (m *MachineKeySearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_MachineKeySearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_MachineKeySearchRequest proto.InternalMessageInfo + +func (m *MachineKeySearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset + } + return 0 +} + +func (m *MachineKeySearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit + } + return 0 +} + +func (m *MachineKeySearchRequest) GetAsc() bool { + if m != nil { + return m.Asc + } + return false +} + +func (m *MachineKeySearchRequest) GetUserId() string { + if m != nil { + return m.UserId + } + return "" +} + +type MachineKeySearchResponse struct { + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` + Result []*MachineKeyView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MachineKeySearchResponse) Reset() { *m = MachineKeySearchResponse{} } +func (m *MachineKeySearchResponse) String() string { return proto.CompactTextString(m) } +func (*MachineKeySearchResponse) ProtoMessage() {} +func (*MachineKeySearchResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_edc174f991dc0a25, []int{26} +} + +func (m *MachineKeySearchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MachineKeySearchResponse.Unmarshal(m, b) +} +func (m *MachineKeySearchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MachineKeySearchResponse.Marshal(b, m, deterministic) +} +func (m *MachineKeySearchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MachineKeySearchResponse.Merge(m, src) +} +func (m *MachineKeySearchResponse) XXX_Size() int { + return xxx_messageInfo_MachineKeySearchResponse.Size(m) +} +func (m *MachineKeySearchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MachineKeySearchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MachineKeySearchResponse proto.InternalMessageInfo + +func (m *MachineKeySearchResponse) GetOffset() uint64 { + if m != nil { + return m.Offset + } + return 0 +} + +func (m *MachineKeySearchResponse) GetLimit() uint64 { + if m != nil { + return m.Limit + } + return 0 +} + +func (m *MachineKeySearchResponse) GetTotalResult() uint64 { + if m != nil { + return m.TotalResult + } + return 0 +} + +func (m *MachineKeySearchResponse) GetResult() []*MachineKeyView { + if m != nil { + return m.Result + } + return nil +} + +func (m *MachineKeySearchResponse) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence + } + return 0 +} + +func (m *MachineKeySearchResponse) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp + } + return nil +} + +type UserSearchRequest struct { + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + SortingColumn UserSearchKey `protobuf:"varint,3,opt,name=sorting_column,json=sortingColumn,proto3,enum=caos.zitadel.management.api.v1.UserSearchKey" json:"sorting_column,omitempty"` + Asc bool `protobuf:"varint,4,opt,name=asc,proto3" json:"asc,omitempty"` + Queries []*UserSearchQuery `protobuf:"bytes,5,rep,name=queries,proto3" json:"queries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UserSearchRequest) Reset() { *m = UserSearchRequest{} } +func (m *UserSearchRequest) String() string { return proto.CompactTextString(m) } +func (*UserSearchRequest) ProtoMessage() {} +func (*UserSearchRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_edc174f991dc0a25, []int{27} +} + +func (m *UserSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserSearchRequest.Unmarshal(m, b) +} +func (m *UserSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserSearchRequest.Marshal(b, m, deterministic) +} +func (m *UserSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserSearchRequest.Merge(m, src) +} +func (m *UserSearchRequest) XXX_Size() int { + return xxx_messageInfo_UserSearchRequest.Size(m) +} +func (m *UserSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UserSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UserSearchRequest proto.InternalMessageInfo + +func (m *UserSearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset + } + return 0 +} + +func (m *UserSearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit + } + return 0 +} + +func (m *UserSearchRequest) GetSortingColumn() UserSearchKey { + if m != nil { + return m.SortingColumn + } + return UserSearchKey_USERSEARCHKEY_UNSPECIFIED +} + +func (m *UserSearchRequest) GetAsc() bool { + if m != nil { + return m.Asc + } + return false +} + +func (m *UserSearchRequest) GetQueries() []*UserSearchQuery { + if m != nil { + return m.Queries } return nil } type UserSearchQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key UserSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.UserSearchKey" json:"key,omitempty"` - Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` - Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + Key UserSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.UserSearchKey" json:"key,omitempty"` + Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserSearchQuery) Reset() { - *x = UserSearchQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserSearchQuery) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserSearchQuery) ProtoMessage() {} - -func (x *UserSearchQuery) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserSearchQuery.ProtoReflect.Descriptor instead. +func (m *UserSearchQuery) Reset() { *m = UserSearchQuery{} } +func (m *UserSearchQuery) String() string { return proto.CompactTextString(m) } +func (*UserSearchQuery) ProtoMessage() {} func (*UserSearchQuery) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{15} + return fileDescriptor_edc174f991dc0a25, []int{28} } -func (x *UserSearchQuery) GetKey() UserSearchKey { - if x != nil { - return x.Key +func (m *UserSearchQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserSearchQuery.Unmarshal(m, b) +} +func (m *UserSearchQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserSearchQuery.Marshal(b, m, deterministic) +} +func (m *UserSearchQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserSearchQuery.Merge(m, src) +} +func (m *UserSearchQuery) XXX_Size() int { + return xxx_messageInfo_UserSearchQuery.Size(m) +} +func (m *UserSearchQuery) XXX_DiscardUnknown() { + xxx_messageInfo_UserSearchQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_UserSearchQuery proto.InternalMessageInfo + +func (m *UserSearchQuery) GetKey() UserSearchKey { + if m != nil { + return m.Key } return UserSearchKey_USERSEARCHKEY_UNSPECIFIED } -func (x *UserSearchQuery) GetMethod() SearchMethod { - if x != nil { - return x.Method +func (m *UserSearchQuery) GetMethod() SearchMethod { + if m != nil { + return m.Method } return SearchMethod_SEARCHMETHOD_EQUALS } -func (x *UserSearchQuery) GetValue() string { - if x != nil { - return x.Value +func (m *UserSearchQuery) GetValue() string { + if m != nil { + return m.Value } return "" } type UserSearchResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` - Result []*UserView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` - ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` - ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` + Result []*UserView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserSearchResponse) Reset() { - *x = UserSearchResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserSearchResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserSearchResponse) ProtoMessage() {} - -func (x *UserSearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserSearchResponse.ProtoReflect.Descriptor instead. +func (m *UserSearchResponse) Reset() { *m = UserSearchResponse{} } +func (m *UserSearchResponse) String() string { return proto.CompactTextString(m) } +func (*UserSearchResponse) ProtoMessage() {} func (*UserSearchResponse) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{16} + return fileDescriptor_edc174f991dc0a25, []int{29} } -func (x *UserSearchResponse) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *UserSearchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserSearchResponse.Unmarshal(m, b) +} +func (m *UserSearchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserSearchResponse.Marshal(b, m, deterministic) +} +func (m *UserSearchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserSearchResponse.Merge(m, src) +} +func (m *UserSearchResponse) XXX_Size() int { + return xxx_messageInfo_UserSearchResponse.Size(m) +} +func (m *UserSearchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_UserSearchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_UserSearchResponse proto.InternalMessageInfo + +func (m *UserSearchResponse) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *UserSearchResponse) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *UserSearchResponse) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *UserSearchResponse) GetTotalResult() uint64 { - if x != nil { - return x.TotalResult +func (m *UserSearchResponse) GetTotalResult() uint64 { + if m != nil { + return m.TotalResult } return 0 } -func (x *UserSearchResponse) GetResult() []*UserView { - if x != nil { - return x.Result +func (m *UserSearchResponse) GetResult() []*UserView { + if m != nil { + return m.Result } return nil } -func (x *UserSearchResponse) GetProcessedSequence() uint64 { - if x != nil { - return x.ProcessedSequence +func (m *UserSearchResponse) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence } return 0 } -func (x *UserSearchResponse) GetViewTimestamp() *timestamp.Timestamp { - if x != nil { - return x.ViewTimestamp +func (m *UserSearchResponse) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp } return nil } type UserProfile struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - FirstName string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` - LastName string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` - NickName string `protobuf:"bytes,4,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` - DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - PreferredLanguage string `protobuf:"bytes,6,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` - Gender Gender `protobuf:"varint,7,opt,name=gender,proto3,enum=caos.zitadel.management.api.v1.Gender" json:"gender,omitempty"` - UserName string `protobuf:"bytes,8,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` - Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,10,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,11,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + FirstName string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + NickName string `protobuf:"bytes,4,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` + DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + PreferredLanguage string `protobuf:"bytes,6,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` + Gender Gender `protobuf:"varint,7,opt,name=gender,proto3,enum=caos.zitadel.management.api.v1.Gender" json:"gender,omitempty"` + Sequence uint64 `protobuf:"varint,8,opt,name=sequence,proto3" json:"sequence,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,9,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,10,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserProfile) Reset() { - *x = UserProfile{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserProfile) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserProfile) ProtoMessage() {} - -func (x *UserProfile) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserProfile.ProtoReflect.Descriptor instead. +func (m *UserProfile) Reset() { *m = UserProfile{} } +func (m *UserProfile) String() string { return proto.CompactTextString(m) } +func (*UserProfile) ProtoMessage() {} func (*UserProfile) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{17} + return fileDescriptor_edc174f991dc0a25, []int{30} } -func (x *UserProfile) GetId() string { - if x != nil { - return x.Id +func (m *UserProfile) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserProfile.Unmarshal(m, b) +} +func (m *UserProfile) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserProfile.Marshal(b, m, deterministic) +} +func (m *UserProfile) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserProfile.Merge(m, src) +} +func (m *UserProfile) XXX_Size() int { + return xxx_messageInfo_UserProfile.Size(m) +} +func (m *UserProfile) XXX_DiscardUnknown() { + xxx_messageInfo_UserProfile.DiscardUnknown(m) +} + +var xxx_messageInfo_UserProfile proto.InternalMessageInfo + +func (m *UserProfile) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *UserProfile) GetFirstName() string { - if x != nil { - return x.FirstName +func (m *UserProfile) GetFirstName() string { + if m != nil { + return m.FirstName } return "" } -func (x *UserProfile) GetLastName() string { - if x != nil { - return x.LastName +func (m *UserProfile) GetLastName() string { + if m != nil { + return m.LastName } return "" } -func (x *UserProfile) GetNickName() string { - if x != nil { - return x.NickName +func (m *UserProfile) GetNickName() string { + if m != nil { + return m.NickName } return "" } -func (x *UserProfile) GetDisplayName() string { - if x != nil { - return x.DisplayName +func (m *UserProfile) GetDisplayName() string { + if m != nil { + return m.DisplayName } return "" } -func (x *UserProfile) GetPreferredLanguage() string { - if x != nil { - return x.PreferredLanguage +func (m *UserProfile) GetPreferredLanguage() string { + if m != nil { + return m.PreferredLanguage } return "" } -func (x *UserProfile) GetGender() Gender { - if x != nil { - return x.Gender +func (m *UserProfile) GetGender() Gender { + if m != nil { + return m.Gender } return Gender_GENDER_UNSPECIFIED } -func (x *UserProfile) GetUserName() string { - if x != nil { - return x.UserName - } - return "" -} - -func (x *UserProfile) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *UserProfile) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *UserProfile) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *UserProfile) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *UserProfile) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *UserProfile) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } type UserProfileView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - FirstName string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` - LastName string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` - NickName string `protobuf:"bytes,4,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` - DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - PreferredLanguage string `protobuf:"bytes,6,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` - Gender Gender `protobuf:"varint,7,opt,name=gender,proto3,enum=caos.zitadel.management.api.v1.Gender" json:"gender,omitempty"` - UserName string `protobuf:"bytes,8,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` - Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,10,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,11,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - LoginNames []string `protobuf:"bytes,12,rep,name=login_names,json=loginNames,proto3" json:"login_names,omitempty"` - PreferredLoginName string `protobuf:"bytes,27,opt,name=preferred_login_name,json=preferredLoginName,proto3" json:"preferred_login_name,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + FirstName string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + NickName string `protobuf:"bytes,4,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` + DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + PreferredLanguage string `protobuf:"bytes,6,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` + Gender Gender `protobuf:"varint,7,opt,name=gender,proto3,enum=caos.zitadel.management.api.v1.Gender" json:"gender,omitempty"` + Sequence uint64 `protobuf:"varint,8,opt,name=sequence,proto3" json:"sequence,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,9,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,10,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + LoginNames []string `protobuf:"bytes,11,rep,name=login_names,json=loginNames,proto3" json:"login_names,omitempty"` + PreferredLoginName string `protobuf:"bytes,12,opt,name=preferred_login_name,json=preferredLoginName,proto3" json:"preferred_login_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserProfileView) Reset() { - *x = UserProfileView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserProfileView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserProfileView) ProtoMessage() {} - -func (x *UserProfileView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserProfileView.ProtoReflect.Descriptor instead. +func (m *UserProfileView) Reset() { *m = UserProfileView{} } +func (m *UserProfileView) String() string { return proto.CompactTextString(m) } +func (*UserProfileView) ProtoMessage() {} func (*UserProfileView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{18} + return fileDescriptor_edc174f991dc0a25, []int{31} } -func (x *UserProfileView) GetId() string { - if x != nil { - return x.Id +func (m *UserProfileView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserProfileView.Unmarshal(m, b) +} +func (m *UserProfileView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserProfileView.Marshal(b, m, deterministic) +} +func (m *UserProfileView) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserProfileView.Merge(m, src) +} +func (m *UserProfileView) XXX_Size() int { + return xxx_messageInfo_UserProfileView.Size(m) +} +func (m *UserProfileView) XXX_DiscardUnknown() { + xxx_messageInfo_UserProfileView.DiscardUnknown(m) +} + +var xxx_messageInfo_UserProfileView proto.InternalMessageInfo + +func (m *UserProfileView) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *UserProfileView) GetFirstName() string { - if x != nil { - return x.FirstName +func (m *UserProfileView) GetFirstName() string { + if m != nil { + return m.FirstName } return "" } -func (x *UserProfileView) GetLastName() string { - if x != nil { - return x.LastName +func (m *UserProfileView) GetLastName() string { + if m != nil { + return m.LastName } return "" } -func (x *UserProfileView) GetNickName() string { - if x != nil { - return x.NickName +func (m *UserProfileView) GetNickName() string { + if m != nil { + return m.NickName } return "" } -func (x *UserProfileView) GetDisplayName() string { - if x != nil { - return x.DisplayName +func (m *UserProfileView) GetDisplayName() string { + if m != nil { + return m.DisplayName } return "" } -func (x *UserProfileView) GetPreferredLanguage() string { - if x != nil { - return x.PreferredLanguage +func (m *UserProfileView) GetPreferredLanguage() string { + if m != nil { + return m.PreferredLanguage } return "" } -func (x *UserProfileView) GetGender() Gender { - if x != nil { - return x.Gender +func (m *UserProfileView) GetGender() Gender { + if m != nil { + return m.Gender } return Gender_GENDER_UNSPECIFIED } -func (x *UserProfileView) GetUserName() string { - if x != nil { - return x.UserName - } - return "" -} - -func (x *UserProfileView) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *UserProfileView) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *UserProfileView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *UserProfileView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *UserProfileView) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *UserProfileView) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *UserProfileView) GetLoginNames() []string { - if x != nil { - return x.LoginNames +func (m *UserProfileView) GetLoginNames() []string { + if m != nil { + return m.LoginNames } return nil } -func (x *UserProfileView) GetPreferredLoginName() string { - if x != nil { - return x.PreferredLoginName +func (m *UserProfileView) GetPreferredLoginName() string { + if m != nil { + return m.PreferredLoginName } return "" } type UpdateUserProfileRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - FirstName string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` - LastName string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` - NickName string `protobuf:"bytes,4,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` - PreferredLanguage string `protobuf:"bytes,5,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` - Gender Gender `protobuf:"varint,6,opt,name=gender,proto3,enum=caos.zitadel.management.api.v1.Gender" json:"gender,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + FirstName string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + NickName string `protobuf:"bytes,4,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` + PreferredLanguage string `protobuf:"bytes,5,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` + Gender Gender `protobuf:"varint,6,opt,name=gender,proto3,enum=caos.zitadel.management.api.v1.Gender" json:"gender,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UpdateUserProfileRequest) Reset() { - *x = UpdateUserProfileRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateUserProfileRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateUserProfileRequest) ProtoMessage() {} - -func (x *UpdateUserProfileRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateUserProfileRequest.ProtoReflect.Descriptor instead. +func (m *UpdateUserProfileRequest) Reset() { *m = UpdateUserProfileRequest{} } +func (m *UpdateUserProfileRequest) String() string { return proto.CompactTextString(m) } +func (*UpdateUserProfileRequest) ProtoMessage() {} func (*UpdateUserProfileRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{19} + return fileDescriptor_edc174f991dc0a25, []int{32} } -func (x *UpdateUserProfileRequest) GetId() string { - if x != nil { - return x.Id +func (m *UpdateUserProfileRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateUserProfileRequest.Unmarshal(m, b) +} +func (m *UpdateUserProfileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateUserProfileRequest.Marshal(b, m, deterministic) +} +func (m *UpdateUserProfileRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateUserProfileRequest.Merge(m, src) +} +func (m *UpdateUserProfileRequest) XXX_Size() int { + return xxx_messageInfo_UpdateUserProfileRequest.Size(m) +} +func (m *UpdateUserProfileRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateUserProfileRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateUserProfileRequest proto.InternalMessageInfo + +func (m *UpdateUserProfileRequest) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *UpdateUserProfileRequest) GetFirstName() string { - if x != nil { - return x.FirstName +func (m *UpdateUserProfileRequest) GetFirstName() string { + if m != nil { + return m.FirstName } return "" } -func (x *UpdateUserProfileRequest) GetLastName() string { - if x != nil { - return x.LastName +func (m *UpdateUserProfileRequest) GetLastName() string { + if m != nil { + return m.LastName } return "" } -func (x *UpdateUserProfileRequest) GetNickName() string { - if x != nil { - return x.NickName +func (m *UpdateUserProfileRequest) GetNickName() string { + if m != nil { + return m.NickName } return "" } -func (x *UpdateUserProfileRequest) GetPreferredLanguage() string { - if x != nil { - return x.PreferredLanguage +func (m *UpdateUserProfileRequest) GetPreferredLanguage() string { + if m != nil { + return m.PreferredLanguage } return "" } -func (x *UpdateUserProfileRequest) GetGender() Gender { - if x != nil { - return x.Gender +func (m *UpdateUserProfileRequest) GetGender() Gender { + if m != nil { + return m.Gender } return Gender_GENDER_UNSPECIFIED } type UpdateUserUserNameRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - UserName string `protobuf:"bytes,2,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + UserName string `protobuf:"bytes,2,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UpdateUserUserNameRequest) Reset() { - *x = UpdateUserUserNameRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateUserUserNameRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateUserUserNameRequest) ProtoMessage() {} - -func (x *UpdateUserUserNameRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateUserUserNameRequest.ProtoReflect.Descriptor instead. +func (m *UpdateUserUserNameRequest) Reset() { *m = UpdateUserUserNameRequest{} } +func (m *UpdateUserUserNameRequest) String() string { return proto.CompactTextString(m) } +func (*UpdateUserUserNameRequest) ProtoMessage() {} func (*UpdateUserUserNameRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{20} + return fileDescriptor_edc174f991dc0a25, []int{33} } -func (x *UpdateUserUserNameRequest) GetId() string { - if x != nil { - return x.Id +func (m *UpdateUserUserNameRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateUserUserNameRequest.Unmarshal(m, b) +} +func (m *UpdateUserUserNameRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateUserUserNameRequest.Marshal(b, m, deterministic) +} +func (m *UpdateUserUserNameRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateUserUserNameRequest.Merge(m, src) +} +func (m *UpdateUserUserNameRequest) XXX_Size() int { + return xxx_messageInfo_UpdateUserUserNameRequest.Size(m) +} +func (m *UpdateUserUserNameRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateUserUserNameRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateUserUserNameRequest proto.InternalMessageInfo + +func (m *UpdateUserUserNameRequest) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *UpdateUserUserNameRequest) GetUserName() string { - if x != nil { - return x.UserName +func (m *UpdateUserUserNameRequest) GetUserName() string { + if m != nil { + return m.UserName } return "" } type UserEmail struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` - IsEmailVerified bool `protobuf:"varint,3,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` - Sequence uint64 `protobuf:"varint,4,opt,name=sequence,proto3" json:"sequence,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,6,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` + IsEmailVerified bool `protobuf:"varint,3,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` + Sequence uint64 `protobuf:"varint,4,opt,name=sequence,proto3" json:"sequence,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,6,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserEmail) Reset() { - *x = UserEmail{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserEmail) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserEmail) ProtoMessage() {} - -func (x *UserEmail) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserEmail.ProtoReflect.Descriptor instead. +func (m *UserEmail) Reset() { *m = UserEmail{} } +func (m *UserEmail) String() string { return proto.CompactTextString(m) } +func (*UserEmail) ProtoMessage() {} func (*UserEmail) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{21} + return fileDescriptor_edc174f991dc0a25, []int{34} } -func (x *UserEmail) GetId() string { - if x != nil { - return x.Id +func (m *UserEmail) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserEmail.Unmarshal(m, b) +} +func (m *UserEmail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserEmail.Marshal(b, m, deterministic) +} +func (m *UserEmail) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserEmail.Merge(m, src) +} +func (m *UserEmail) XXX_Size() int { + return xxx_messageInfo_UserEmail.Size(m) +} +func (m *UserEmail) XXX_DiscardUnknown() { + xxx_messageInfo_UserEmail.DiscardUnknown(m) +} + +var xxx_messageInfo_UserEmail proto.InternalMessageInfo + +func (m *UserEmail) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *UserEmail) GetEmail() string { - if x != nil { - return x.Email +func (m *UserEmail) GetEmail() string { + if m != nil { + return m.Email } return "" } -func (x *UserEmail) GetIsEmailVerified() bool { - if x != nil { - return x.IsEmailVerified +func (m *UserEmail) GetIsEmailVerified() bool { + if m != nil { + return m.IsEmailVerified } return false } -func (x *UserEmail) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *UserEmail) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *UserEmail) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *UserEmail) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *UserEmail) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *UserEmail) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } type UserEmailView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` - IsEmailVerified bool `protobuf:"varint,3,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` - Sequence uint64 `protobuf:"varint,4,opt,name=sequence,proto3" json:"sequence,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,6,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` + IsEmailVerified bool `protobuf:"varint,3,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` + Sequence uint64 `protobuf:"varint,4,opt,name=sequence,proto3" json:"sequence,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,6,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserEmailView) Reset() { - *x = UserEmailView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserEmailView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserEmailView) ProtoMessage() {} - -func (x *UserEmailView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserEmailView.ProtoReflect.Descriptor instead. +func (m *UserEmailView) Reset() { *m = UserEmailView{} } +func (m *UserEmailView) String() string { return proto.CompactTextString(m) } +func (*UserEmailView) ProtoMessage() {} func (*UserEmailView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{22} + return fileDescriptor_edc174f991dc0a25, []int{35} } -func (x *UserEmailView) GetId() string { - if x != nil { - return x.Id +func (m *UserEmailView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserEmailView.Unmarshal(m, b) +} +func (m *UserEmailView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserEmailView.Marshal(b, m, deterministic) +} +func (m *UserEmailView) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserEmailView.Merge(m, src) +} +func (m *UserEmailView) XXX_Size() int { + return xxx_messageInfo_UserEmailView.Size(m) +} +func (m *UserEmailView) XXX_DiscardUnknown() { + xxx_messageInfo_UserEmailView.DiscardUnknown(m) +} + +var xxx_messageInfo_UserEmailView proto.InternalMessageInfo + +func (m *UserEmailView) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *UserEmailView) GetEmail() string { - if x != nil { - return x.Email +func (m *UserEmailView) GetEmail() string { + if m != nil { + return m.Email } return "" } -func (x *UserEmailView) GetIsEmailVerified() bool { - if x != nil { - return x.IsEmailVerified +func (m *UserEmailView) GetIsEmailVerified() bool { + if m != nil { + return m.IsEmailVerified } return false } -func (x *UserEmailView) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *UserEmailView) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *UserEmailView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *UserEmailView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *UserEmailView) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *UserEmailView) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } type UpdateUserEmailRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` - IsEmailVerified bool `protobuf:"varint,3,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` + IsEmailVerified bool `protobuf:"varint,3,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UpdateUserEmailRequest) Reset() { - *x = UpdateUserEmailRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateUserEmailRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateUserEmailRequest) ProtoMessage() {} - -func (x *UpdateUserEmailRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateUserEmailRequest.ProtoReflect.Descriptor instead. +func (m *UpdateUserEmailRequest) Reset() { *m = UpdateUserEmailRequest{} } +func (m *UpdateUserEmailRequest) String() string { return proto.CompactTextString(m) } +func (*UpdateUserEmailRequest) ProtoMessage() {} func (*UpdateUserEmailRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{23} + return fileDescriptor_edc174f991dc0a25, []int{36} } -func (x *UpdateUserEmailRequest) GetId() string { - if x != nil { - return x.Id +func (m *UpdateUserEmailRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateUserEmailRequest.Unmarshal(m, b) +} +func (m *UpdateUserEmailRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateUserEmailRequest.Marshal(b, m, deterministic) +} +func (m *UpdateUserEmailRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateUserEmailRequest.Merge(m, src) +} +func (m *UpdateUserEmailRequest) XXX_Size() int { + return xxx_messageInfo_UpdateUserEmailRequest.Size(m) +} +func (m *UpdateUserEmailRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateUserEmailRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateUserEmailRequest proto.InternalMessageInfo + +func (m *UpdateUserEmailRequest) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *UpdateUserEmailRequest) GetEmail() string { - if x != nil { - return x.Email +func (m *UpdateUserEmailRequest) GetEmail() string { + if m != nil { + return m.Email } return "" } -func (x *UpdateUserEmailRequest) GetIsEmailVerified() bool { - if x != nil { - return x.IsEmailVerified +func (m *UpdateUserEmailRequest) GetIsEmailVerified() bool { + if m != nil { + return m.IsEmailVerified } return false } type UserPhone struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Phone string `protobuf:"bytes,2,opt,name=phone,proto3" json:"phone,omitempty"` - IsPhoneVerified bool `protobuf:"varint,3,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` - Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,6,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Phone string `protobuf:"bytes,2,opt,name=phone,proto3" json:"phone,omitempty"` + IsPhoneVerified bool `protobuf:"varint,3,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` + Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,6,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserPhone) Reset() { - *x = UserPhone{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserPhone) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserPhone) ProtoMessage() {} - -func (x *UserPhone) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserPhone.ProtoReflect.Descriptor instead. +func (m *UserPhone) Reset() { *m = UserPhone{} } +func (m *UserPhone) String() string { return proto.CompactTextString(m) } +func (*UserPhone) ProtoMessage() {} func (*UserPhone) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{24} + return fileDescriptor_edc174f991dc0a25, []int{37} } -func (x *UserPhone) GetId() string { - if x != nil { - return x.Id +func (m *UserPhone) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserPhone.Unmarshal(m, b) +} +func (m *UserPhone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserPhone.Marshal(b, m, deterministic) +} +func (m *UserPhone) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserPhone.Merge(m, src) +} +func (m *UserPhone) XXX_Size() int { + return xxx_messageInfo_UserPhone.Size(m) +} +func (m *UserPhone) XXX_DiscardUnknown() { + xxx_messageInfo_UserPhone.DiscardUnknown(m) +} + +var xxx_messageInfo_UserPhone proto.InternalMessageInfo + +func (m *UserPhone) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *UserPhone) GetPhone() string { - if x != nil { - return x.Phone +func (m *UserPhone) GetPhone() string { + if m != nil { + return m.Phone } return "" } -func (x *UserPhone) GetIsPhoneVerified() bool { - if x != nil { - return x.IsPhoneVerified +func (m *UserPhone) GetIsPhoneVerified() bool { + if m != nil { + return m.IsPhoneVerified } return false } -func (x *UserPhone) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *UserPhone) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *UserPhone) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *UserPhone) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *UserPhone) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *UserPhone) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } type UserPhoneView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Phone string `protobuf:"bytes,2,opt,name=phone,proto3" json:"phone,omitempty"` - IsPhoneVerified bool `protobuf:"varint,3,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` - Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,6,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Phone string `protobuf:"bytes,2,opt,name=phone,proto3" json:"phone,omitempty"` + IsPhoneVerified bool `protobuf:"varint,3,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` + Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,6,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserPhoneView) Reset() { - *x = UserPhoneView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserPhoneView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserPhoneView) ProtoMessage() {} - -func (x *UserPhoneView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserPhoneView.ProtoReflect.Descriptor instead. +func (m *UserPhoneView) Reset() { *m = UserPhoneView{} } +func (m *UserPhoneView) String() string { return proto.CompactTextString(m) } +func (*UserPhoneView) ProtoMessage() {} func (*UserPhoneView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{25} + return fileDescriptor_edc174f991dc0a25, []int{38} } -func (x *UserPhoneView) GetId() string { - if x != nil { - return x.Id +func (m *UserPhoneView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserPhoneView.Unmarshal(m, b) +} +func (m *UserPhoneView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserPhoneView.Marshal(b, m, deterministic) +} +func (m *UserPhoneView) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserPhoneView.Merge(m, src) +} +func (m *UserPhoneView) XXX_Size() int { + return xxx_messageInfo_UserPhoneView.Size(m) +} +func (m *UserPhoneView) XXX_DiscardUnknown() { + xxx_messageInfo_UserPhoneView.DiscardUnknown(m) +} + +var xxx_messageInfo_UserPhoneView proto.InternalMessageInfo + +func (m *UserPhoneView) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *UserPhoneView) GetPhone() string { - if x != nil { - return x.Phone +func (m *UserPhoneView) GetPhone() string { + if m != nil { + return m.Phone } return "" } -func (x *UserPhoneView) GetIsPhoneVerified() bool { - if x != nil { - return x.IsPhoneVerified +func (m *UserPhoneView) GetIsPhoneVerified() bool { + if m != nil { + return m.IsPhoneVerified } return false } -func (x *UserPhoneView) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *UserPhoneView) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *UserPhoneView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *UserPhoneView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *UserPhoneView) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *UserPhoneView) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } type UpdateUserPhoneRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Phone string `protobuf:"bytes,2,opt,name=phone,proto3" json:"phone,omitempty"` - IsPhoneVerified bool `protobuf:"varint,3,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Phone string `protobuf:"bytes,2,opt,name=phone,proto3" json:"phone,omitempty"` + IsPhoneVerified bool `protobuf:"varint,3,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UpdateUserPhoneRequest) Reset() { - *x = UpdateUserPhoneRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateUserPhoneRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateUserPhoneRequest) ProtoMessage() {} - -func (x *UpdateUserPhoneRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateUserPhoneRequest.ProtoReflect.Descriptor instead. +func (m *UpdateUserPhoneRequest) Reset() { *m = UpdateUserPhoneRequest{} } +func (m *UpdateUserPhoneRequest) String() string { return proto.CompactTextString(m) } +func (*UpdateUserPhoneRequest) ProtoMessage() {} func (*UpdateUserPhoneRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{26} + return fileDescriptor_edc174f991dc0a25, []int{39} } -func (x *UpdateUserPhoneRequest) GetId() string { - if x != nil { - return x.Id +func (m *UpdateUserPhoneRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateUserPhoneRequest.Unmarshal(m, b) +} +func (m *UpdateUserPhoneRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateUserPhoneRequest.Marshal(b, m, deterministic) +} +func (m *UpdateUserPhoneRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateUserPhoneRequest.Merge(m, src) +} +func (m *UpdateUserPhoneRequest) XXX_Size() int { + return xxx_messageInfo_UpdateUserPhoneRequest.Size(m) +} +func (m *UpdateUserPhoneRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateUserPhoneRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateUserPhoneRequest proto.InternalMessageInfo + +func (m *UpdateUserPhoneRequest) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *UpdateUserPhoneRequest) GetPhone() string { - if x != nil { - return x.Phone +func (m *UpdateUserPhoneRequest) GetPhone() string { + if m != nil { + return m.Phone } return "" } -func (x *UpdateUserPhoneRequest) GetIsPhoneVerified() bool { - if x != nil { - return x.IsPhoneVerified +func (m *UpdateUserPhoneRequest) GetIsPhoneVerified() bool { + if m != nil { + return m.IsPhoneVerified } return false } type UserAddress struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Country string `protobuf:"bytes,2,opt,name=country,proto3" json:"country,omitempty"` - Locality string `protobuf:"bytes,3,opt,name=locality,proto3" json:"locality,omitempty"` - PostalCode string `protobuf:"bytes,4,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` - Region string `protobuf:"bytes,5,opt,name=region,proto3" json:"region,omitempty"` - StreetAddress string `protobuf:"bytes,6,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` - Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,9,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Country string `protobuf:"bytes,2,opt,name=country,proto3" json:"country,omitempty"` + Locality string `protobuf:"bytes,3,opt,name=locality,proto3" json:"locality,omitempty"` + PostalCode string `protobuf:"bytes,4,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` + Region string `protobuf:"bytes,5,opt,name=region,proto3" json:"region,omitempty"` + StreetAddress string `protobuf:"bytes,6,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` + Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,9,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserAddress) Reset() { - *x = UserAddress{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserAddress) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserAddress) ProtoMessage() {} - -func (x *UserAddress) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserAddress.ProtoReflect.Descriptor instead. +func (m *UserAddress) Reset() { *m = UserAddress{} } +func (m *UserAddress) String() string { return proto.CompactTextString(m) } +func (*UserAddress) ProtoMessage() {} func (*UserAddress) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{27} + return fileDescriptor_edc174f991dc0a25, []int{40} } -func (x *UserAddress) GetId() string { - if x != nil { - return x.Id +func (m *UserAddress) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserAddress.Unmarshal(m, b) +} +func (m *UserAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserAddress.Marshal(b, m, deterministic) +} +func (m *UserAddress) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserAddress.Merge(m, src) +} +func (m *UserAddress) XXX_Size() int { + return xxx_messageInfo_UserAddress.Size(m) +} +func (m *UserAddress) XXX_DiscardUnknown() { + xxx_messageInfo_UserAddress.DiscardUnknown(m) +} + +var xxx_messageInfo_UserAddress proto.InternalMessageInfo + +func (m *UserAddress) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *UserAddress) GetCountry() string { - if x != nil { - return x.Country +func (m *UserAddress) GetCountry() string { + if m != nil { + return m.Country } return "" } -func (x *UserAddress) GetLocality() string { - if x != nil { - return x.Locality +func (m *UserAddress) GetLocality() string { + if m != nil { + return m.Locality } return "" } -func (x *UserAddress) GetPostalCode() string { - if x != nil { - return x.PostalCode +func (m *UserAddress) GetPostalCode() string { + if m != nil { + return m.PostalCode } return "" } -func (x *UserAddress) GetRegion() string { - if x != nil { - return x.Region +func (m *UserAddress) GetRegion() string { + if m != nil { + return m.Region } return "" } -func (x *UserAddress) GetStreetAddress() string { - if x != nil { - return x.StreetAddress +func (m *UserAddress) GetStreetAddress() string { + if m != nil { + return m.StreetAddress } return "" } -func (x *UserAddress) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *UserAddress) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *UserAddress) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *UserAddress) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *UserAddress) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *UserAddress) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } type UserAddressView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Country string `protobuf:"bytes,2,opt,name=country,proto3" json:"country,omitempty"` - Locality string `protobuf:"bytes,3,opt,name=locality,proto3" json:"locality,omitempty"` - PostalCode string `protobuf:"bytes,4,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` - Region string `protobuf:"bytes,5,opt,name=region,proto3" json:"region,omitempty"` - StreetAddress string `protobuf:"bytes,6,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` - Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,9,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Country string `protobuf:"bytes,2,opt,name=country,proto3" json:"country,omitempty"` + Locality string `protobuf:"bytes,3,opt,name=locality,proto3" json:"locality,omitempty"` + PostalCode string `protobuf:"bytes,4,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` + Region string `protobuf:"bytes,5,opt,name=region,proto3" json:"region,omitempty"` + StreetAddress string `protobuf:"bytes,6,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` + Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,9,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserAddressView) Reset() { - *x = UserAddressView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserAddressView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserAddressView) ProtoMessage() {} - -func (x *UserAddressView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserAddressView.ProtoReflect.Descriptor instead. +func (m *UserAddressView) Reset() { *m = UserAddressView{} } +func (m *UserAddressView) String() string { return proto.CompactTextString(m) } +func (*UserAddressView) ProtoMessage() {} func (*UserAddressView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{28} + return fileDescriptor_edc174f991dc0a25, []int{41} } -func (x *UserAddressView) GetId() string { - if x != nil { - return x.Id +func (m *UserAddressView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserAddressView.Unmarshal(m, b) +} +func (m *UserAddressView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserAddressView.Marshal(b, m, deterministic) +} +func (m *UserAddressView) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserAddressView.Merge(m, src) +} +func (m *UserAddressView) XXX_Size() int { + return xxx_messageInfo_UserAddressView.Size(m) +} +func (m *UserAddressView) XXX_DiscardUnknown() { + xxx_messageInfo_UserAddressView.DiscardUnknown(m) +} + +var xxx_messageInfo_UserAddressView proto.InternalMessageInfo + +func (m *UserAddressView) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *UserAddressView) GetCountry() string { - if x != nil { - return x.Country +func (m *UserAddressView) GetCountry() string { + if m != nil { + return m.Country } return "" } -func (x *UserAddressView) GetLocality() string { - if x != nil { - return x.Locality +func (m *UserAddressView) GetLocality() string { + if m != nil { + return m.Locality } return "" } -func (x *UserAddressView) GetPostalCode() string { - if x != nil { - return x.PostalCode +func (m *UserAddressView) GetPostalCode() string { + if m != nil { + return m.PostalCode } return "" } -func (x *UserAddressView) GetRegion() string { - if x != nil { - return x.Region +func (m *UserAddressView) GetRegion() string { + if m != nil { + return m.Region } return "" } -func (x *UserAddressView) GetStreetAddress() string { - if x != nil { - return x.StreetAddress +func (m *UserAddressView) GetStreetAddress() string { + if m != nil { + return m.StreetAddress } return "" } -func (x *UserAddressView) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *UserAddressView) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *UserAddressView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *UserAddressView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *UserAddressView) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *UserAddressView) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } type UpdateUserAddressRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Country string `protobuf:"bytes,2,opt,name=country,proto3" json:"country,omitempty"` - Locality string `protobuf:"bytes,3,opt,name=locality,proto3" json:"locality,omitempty"` - PostalCode string `protobuf:"bytes,4,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` - Region string `protobuf:"bytes,5,opt,name=region,proto3" json:"region,omitempty"` - StreetAddress string `protobuf:"bytes,6,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Country string `protobuf:"bytes,2,opt,name=country,proto3" json:"country,omitempty"` + Locality string `protobuf:"bytes,3,opt,name=locality,proto3" json:"locality,omitempty"` + PostalCode string `protobuf:"bytes,4,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` + Region string `protobuf:"bytes,5,opt,name=region,proto3" json:"region,omitempty"` + StreetAddress string `protobuf:"bytes,6,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UpdateUserAddressRequest) Reset() { - *x = UpdateUserAddressRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateUserAddressRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateUserAddressRequest) ProtoMessage() {} - -func (x *UpdateUserAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateUserAddressRequest.ProtoReflect.Descriptor instead. +func (m *UpdateUserAddressRequest) Reset() { *m = UpdateUserAddressRequest{} } +func (m *UpdateUserAddressRequest) String() string { return proto.CompactTextString(m) } +func (*UpdateUserAddressRequest) ProtoMessage() {} func (*UpdateUserAddressRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{29} + return fileDescriptor_edc174f991dc0a25, []int{42} } -func (x *UpdateUserAddressRequest) GetId() string { - if x != nil { - return x.Id +func (m *UpdateUserAddressRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateUserAddressRequest.Unmarshal(m, b) +} +func (m *UpdateUserAddressRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateUserAddressRequest.Marshal(b, m, deterministic) +} +func (m *UpdateUserAddressRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateUserAddressRequest.Merge(m, src) +} +func (m *UpdateUserAddressRequest) XXX_Size() int { + return xxx_messageInfo_UpdateUserAddressRequest.Size(m) +} +func (m *UpdateUserAddressRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateUserAddressRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateUserAddressRequest proto.InternalMessageInfo + +func (m *UpdateUserAddressRequest) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *UpdateUserAddressRequest) GetCountry() string { - if x != nil { - return x.Country +func (m *UpdateUserAddressRequest) GetCountry() string { + if m != nil { + return m.Country } return "" } -func (x *UpdateUserAddressRequest) GetLocality() string { - if x != nil { - return x.Locality +func (m *UpdateUserAddressRequest) GetLocality() string { + if m != nil { + return m.Locality } return "" } -func (x *UpdateUserAddressRequest) GetPostalCode() string { - if x != nil { - return x.PostalCode +func (m *UpdateUserAddressRequest) GetPostalCode() string { + if m != nil { + return m.PostalCode } return "" } -func (x *UpdateUserAddressRequest) GetRegion() string { - if x != nil { - return x.Region +func (m *UpdateUserAddressRequest) GetRegion() string { + if m != nil { + return m.Region } return "" } -func (x *UpdateUserAddressRequest) GetStreetAddress() string { - if x != nil { - return x.StreetAddress +func (m *UpdateUserAddressRequest) GetStreetAddress() string { + if m != nil { + return m.StreetAddress } return "" } type MultiFactors struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Mfas []*MultiFactor `protobuf:"bytes,1,rep,name=mfas,proto3" json:"mfas,omitempty"` + Mfas []*MultiFactor `protobuf:"bytes,1,rep,name=mfas,proto3" json:"mfas,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *MultiFactors) Reset() { - *x = MultiFactors{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MultiFactors) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MultiFactors) ProtoMessage() {} - -func (x *MultiFactors) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MultiFactors.ProtoReflect.Descriptor instead. +func (m *MultiFactors) Reset() { *m = MultiFactors{} } +func (m *MultiFactors) String() string { return proto.CompactTextString(m) } +func (*MultiFactors) ProtoMessage() {} func (*MultiFactors) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{30} + return fileDescriptor_edc174f991dc0a25, []int{43} } -func (x *MultiFactors) GetMfas() []*MultiFactor { - if x != nil { - return x.Mfas +func (m *MultiFactors) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MultiFactors.Unmarshal(m, b) +} +func (m *MultiFactors) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MultiFactors.Marshal(b, m, deterministic) +} +func (m *MultiFactors) XXX_Merge(src proto.Message) { + xxx_messageInfo_MultiFactors.Merge(m, src) +} +func (m *MultiFactors) XXX_Size() int { + return xxx_messageInfo_MultiFactors.Size(m) +} +func (m *MultiFactors) XXX_DiscardUnknown() { + xxx_messageInfo_MultiFactors.DiscardUnknown(m) +} + +var xxx_messageInfo_MultiFactors proto.InternalMessageInfo + +func (m *MultiFactors) GetMfas() []*MultiFactor { + if m != nil { + return m.Mfas } return nil } type MultiFactor struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Type MfaType `protobuf:"varint,1,opt,name=type,proto3,enum=caos.zitadel.management.api.v1.MfaType" json:"type,omitempty"` - State MFAState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.MFAState" json:"state,omitempty"` + Type MfaType `protobuf:"varint,1,opt,name=type,proto3,enum=caos.zitadel.management.api.v1.MfaType" json:"type,omitempty"` + State MFAState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.MFAState" json:"state,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *MultiFactor) Reset() { - *x = MultiFactor{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MultiFactor) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MultiFactor) ProtoMessage() {} - -func (x *MultiFactor) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MultiFactor.ProtoReflect.Descriptor instead. +func (m *MultiFactor) Reset() { *m = MultiFactor{} } +func (m *MultiFactor) String() string { return proto.CompactTextString(m) } +func (*MultiFactor) ProtoMessage() {} func (*MultiFactor) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{31} + return fileDescriptor_edc174f991dc0a25, []int{44} } -func (x *MultiFactor) GetType() MfaType { - if x != nil { - return x.Type +func (m *MultiFactor) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MultiFactor.Unmarshal(m, b) +} +func (m *MultiFactor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MultiFactor.Marshal(b, m, deterministic) +} +func (m *MultiFactor) XXX_Merge(src proto.Message) { + xxx_messageInfo_MultiFactor.Merge(m, src) +} +func (m *MultiFactor) XXX_Size() int { + return xxx_messageInfo_MultiFactor.Size(m) +} +func (m *MultiFactor) XXX_DiscardUnknown() { + xxx_messageInfo_MultiFactor.DiscardUnknown(m) +} + +var xxx_messageInfo_MultiFactor proto.InternalMessageInfo + +func (m *MultiFactor) GetType() MfaType { + if m != nil { + return m.Type } return MfaType_MFATYPE_UNSPECIFIED } -func (x *MultiFactor) GetState() MFAState { - if x != nil { - return x.State +func (m *MultiFactor) GetState() MFAState { + if m != nil { + return m.State } return MFAState_MFASTATE_UNSPECIFIED } -type PasswordID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *PasswordID) Reset() { - *x = PasswordID{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PasswordID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PasswordID) ProtoMessage() {} - -func (x *PasswordID) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PasswordID.ProtoReflect.Descriptor instead. -func (*PasswordID) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{32} -} - -func (x *PasswordID) GetId() string { - if x != nil { - return x.Id - } - return "" -} - type PasswordRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *PasswordRequest) Reset() { - *x = PasswordRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PasswordRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PasswordRequest) ProtoMessage() {} - -func (x *PasswordRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PasswordRequest.ProtoReflect.Descriptor instead. +func (m *PasswordRequest) Reset() { *m = PasswordRequest{} } +func (m *PasswordRequest) String() string { return proto.CompactTextString(m) } +func (*PasswordRequest) ProtoMessage() {} func (*PasswordRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{33} + return fileDescriptor_edc174f991dc0a25, []int{45} } -func (x *PasswordRequest) GetId() string { - if x != nil { - return x.Id +func (m *PasswordRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PasswordRequest.Unmarshal(m, b) +} +func (m *PasswordRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PasswordRequest.Marshal(b, m, deterministic) +} +func (m *PasswordRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_PasswordRequest.Merge(m, src) +} +func (m *PasswordRequest) XXX_Size() int { + return xxx_messageInfo_PasswordRequest.Size(m) +} +func (m *PasswordRequest) XXX_DiscardUnknown() { + xxx_messageInfo_PasswordRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_PasswordRequest proto.InternalMessageInfo + +func (m *PasswordRequest) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *PasswordRequest) GetPassword() string { - if x != nil { - return x.Password - } - return "" -} - -type ResetPasswordRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *ResetPasswordRequest) Reset() { - *x = ResetPasswordRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ResetPasswordRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResetPasswordRequest) ProtoMessage() {} - -func (x *ResetPasswordRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ResetPasswordRequest.ProtoReflect.Descriptor instead. -func (*ResetPasswordRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{34} -} - -func (x *ResetPasswordRequest) GetId() string { - if x != nil { - return x.Id +func (m *PasswordRequest) GetPassword() string { + if m != nil { + return m.Password } return "" } type SetPasswordNotificationRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Type NotificationType `protobuf:"varint,2,opt,name=type,proto3,enum=caos.zitadel.management.api.v1.NotificationType" json:"type,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Type NotificationType `protobuf:"varint,2,opt,name=type,proto3,enum=caos.zitadel.management.api.v1.NotificationType" json:"type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *SetPasswordNotificationRequest) Reset() { - *x = SetPasswordNotificationRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetPasswordNotificationRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetPasswordNotificationRequest) ProtoMessage() {} - -func (x *SetPasswordNotificationRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetPasswordNotificationRequest.ProtoReflect.Descriptor instead. +func (m *SetPasswordNotificationRequest) Reset() { *m = SetPasswordNotificationRequest{} } +func (m *SetPasswordNotificationRequest) String() string { return proto.CompactTextString(m) } +func (*SetPasswordNotificationRequest) ProtoMessage() {} func (*SetPasswordNotificationRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{35} + return fileDescriptor_edc174f991dc0a25, []int{46} } -func (x *SetPasswordNotificationRequest) GetId() string { - if x != nil { - return x.Id +func (m *SetPasswordNotificationRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetPasswordNotificationRequest.Unmarshal(m, b) +} +func (m *SetPasswordNotificationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetPasswordNotificationRequest.Marshal(b, m, deterministic) +} +func (m *SetPasswordNotificationRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetPasswordNotificationRequest.Merge(m, src) +} +func (m *SetPasswordNotificationRequest) XXX_Size() int { + return xxx_messageInfo_SetPasswordNotificationRequest.Size(m) +} +func (m *SetPasswordNotificationRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SetPasswordNotificationRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SetPasswordNotificationRequest proto.InternalMessageInfo + +func (m *SetPasswordNotificationRequest) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *SetPasswordNotificationRequest) GetType() NotificationType { - if x != nil { - return x.Type +func (m *SetPasswordNotificationRequest) GetType() NotificationType { + if m != nil { + return m.Type } return NotificationType_NOTIFICATIONTYPE_EMAIL } type PasswordComplexityPolicyID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *PasswordComplexityPolicyID) Reset() { - *x = PasswordComplexityPolicyID{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PasswordComplexityPolicyID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PasswordComplexityPolicyID) ProtoMessage() {} - -func (x *PasswordComplexityPolicyID) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PasswordComplexityPolicyID.ProtoReflect.Descriptor instead. +func (m *PasswordComplexityPolicyID) Reset() { *m = PasswordComplexityPolicyID{} } +func (m *PasswordComplexityPolicyID) String() string { return proto.CompactTextString(m) } +func (*PasswordComplexityPolicyID) ProtoMessage() {} func (*PasswordComplexityPolicyID) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{36} + return fileDescriptor_edc174f991dc0a25, []int{47} } -func (x *PasswordComplexityPolicyID) GetId() string { - if x != nil { - return x.Id +func (m *PasswordComplexityPolicyID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PasswordComplexityPolicyID.Unmarshal(m, b) +} +func (m *PasswordComplexityPolicyID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PasswordComplexityPolicyID.Marshal(b, m, deterministic) +} +func (m *PasswordComplexityPolicyID) XXX_Merge(src proto.Message) { + xxx_messageInfo_PasswordComplexityPolicyID.Merge(m, src) +} +func (m *PasswordComplexityPolicyID) XXX_Size() int { + return xxx_messageInfo_PasswordComplexityPolicyID.Size(m) +} +func (m *PasswordComplexityPolicyID) XXX_DiscardUnknown() { + xxx_messageInfo_PasswordComplexityPolicyID.DiscardUnknown(m) +} + +var xxx_messageInfo_PasswordComplexityPolicyID proto.InternalMessageInfo + +func (m *PasswordComplexityPolicyID) GetId() string { + if m != nil { + return m.Id } return "" } type PasswordComplexityPolicy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - State PolicyState `protobuf:"varint,3,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.PolicyState" json:"state,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - MinLength uint64 `protobuf:"varint,6,opt,name=min_length,json=minLength,proto3" json:"min_length,omitempty"` - HasLowercase bool `protobuf:"varint,7,opt,name=has_lowercase,json=hasLowercase,proto3" json:"has_lowercase,omitempty"` - HasUppercase bool `protobuf:"varint,8,opt,name=has_uppercase,json=hasUppercase,proto3" json:"has_uppercase,omitempty"` - HasNumber bool `protobuf:"varint,9,opt,name=has_number,json=hasNumber,proto3" json:"has_number,omitempty"` - HasSymbol bool `protobuf:"varint,10,opt,name=has_symbol,json=hasSymbol,proto3" json:"has_symbol,omitempty"` - Sequence uint64 `protobuf:"varint,11,opt,name=sequence,proto3" json:"sequence,omitempty"` - IsDefault bool `protobuf:"varint,12,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + State PolicyState `protobuf:"varint,3,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.PolicyState" json:"state,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + MinLength uint64 `protobuf:"varint,6,opt,name=min_length,json=minLength,proto3" json:"min_length,omitempty"` + HasLowercase bool `protobuf:"varint,7,opt,name=has_lowercase,json=hasLowercase,proto3" json:"has_lowercase,omitempty"` + HasUppercase bool `protobuf:"varint,8,opt,name=has_uppercase,json=hasUppercase,proto3" json:"has_uppercase,omitempty"` + HasNumber bool `protobuf:"varint,9,opt,name=has_number,json=hasNumber,proto3" json:"has_number,omitempty"` + HasSymbol bool `protobuf:"varint,10,opt,name=has_symbol,json=hasSymbol,proto3" json:"has_symbol,omitempty"` + Sequence uint64 `protobuf:"varint,11,opt,name=sequence,proto3" json:"sequence,omitempty"` + IsDefault bool `protobuf:"varint,12,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *PasswordComplexityPolicy) Reset() { - *x = PasswordComplexityPolicy{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PasswordComplexityPolicy) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PasswordComplexityPolicy) ProtoMessage() {} - -func (x *PasswordComplexityPolicy) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PasswordComplexityPolicy.ProtoReflect.Descriptor instead. +func (m *PasswordComplexityPolicy) Reset() { *m = PasswordComplexityPolicy{} } +func (m *PasswordComplexityPolicy) String() string { return proto.CompactTextString(m) } +func (*PasswordComplexityPolicy) ProtoMessage() {} func (*PasswordComplexityPolicy) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{37} + return fileDescriptor_edc174f991dc0a25, []int{48} } -func (x *PasswordComplexityPolicy) GetId() string { - if x != nil { - return x.Id +func (m *PasswordComplexityPolicy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PasswordComplexityPolicy.Unmarshal(m, b) +} +func (m *PasswordComplexityPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PasswordComplexityPolicy.Marshal(b, m, deterministic) +} +func (m *PasswordComplexityPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_PasswordComplexityPolicy.Merge(m, src) +} +func (m *PasswordComplexityPolicy) XXX_Size() int { + return xxx_messageInfo_PasswordComplexityPolicy.Size(m) +} +func (m *PasswordComplexityPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_PasswordComplexityPolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_PasswordComplexityPolicy proto.InternalMessageInfo + +func (m *PasswordComplexityPolicy) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *PasswordComplexityPolicy) GetDescription() string { - if x != nil { - return x.Description +func (m *PasswordComplexityPolicy) GetDescription() string { + if m != nil { + return m.Description } return "" } -func (x *PasswordComplexityPolicy) GetState() PolicyState { - if x != nil { - return x.State +func (m *PasswordComplexityPolicy) GetState() PolicyState { + if m != nil { + return m.State } return PolicyState_POLICYSTATE_UNSPECIFIED } -func (x *PasswordComplexityPolicy) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *PasswordComplexityPolicy) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *PasswordComplexityPolicy) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *PasswordComplexityPolicy) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *PasswordComplexityPolicy) GetMinLength() uint64 { - if x != nil { - return x.MinLength +func (m *PasswordComplexityPolicy) GetMinLength() uint64 { + if m != nil { + return m.MinLength } return 0 } -func (x *PasswordComplexityPolicy) GetHasLowercase() bool { - if x != nil { - return x.HasLowercase +func (m *PasswordComplexityPolicy) GetHasLowercase() bool { + if m != nil { + return m.HasLowercase } return false } -func (x *PasswordComplexityPolicy) GetHasUppercase() bool { - if x != nil { - return x.HasUppercase +func (m *PasswordComplexityPolicy) GetHasUppercase() bool { + if m != nil { + return m.HasUppercase } return false } -func (x *PasswordComplexityPolicy) GetHasNumber() bool { - if x != nil { - return x.HasNumber +func (m *PasswordComplexityPolicy) GetHasNumber() bool { + if m != nil { + return m.HasNumber } return false } -func (x *PasswordComplexityPolicy) GetHasSymbol() bool { - if x != nil { - return x.HasSymbol +func (m *PasswordComplexityPolicy) GetHasSymbol() bool { + if m != nil { + return m.HasSymbol } return false } -func (x *PasswordComplexityPolicy) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *PasswordComplexityPolicy) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *PasswordComplexityPolicy) GetIsDefault() bool { - if x != nil { - return x.IsDefault +func (m *PasswordComplexityPolicy) GetIsDefault() bool { + if m != nil { + return m.IsDefault } return false } type PasswordComplexityPolicyCreate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` - MinLength uint64 `protobuf:"varint,2,opt,name=min_length,json=minLength,proto3" json:"min_length,omitempty"` - HasLowercase bool `protobuf:"varint,3,opt,name=has_lowercase,json=hasLowercase,proto3" json:"has_lowercase,omitempty"` - HasUppercase bool `protobuf:"varint,4,opt,name=has_uppercase,json=hasUppercase,proto3" json:"has_uppercase,omitempty"` - HasNumber bool `protobuf:"varint,5,opt,name=has_number,json=hasNumber,proto3" json:"has_number,omitempty"` - HasSymbol bool `protobuf:"varint,6,opt,name=has_symbol,json=hasSymbol,proto3" json:"has_symbol,omitempty"` + Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` + MinLength uint64 `protobuf:"varint,2,opt,name=min_length,json=minLength,proto3" json:"min_length,omitempty"` + HasLowercase bool `protobuf:"varint,3,opt,name=has_lowercase,json=hasLowercase,proto3" json:"has_lowercase,omitempty"` + HasUppercase bool `protobuf:"varint,4,opt,name=has_uppercase,json=hasUppercase,proto3" json:"has_uppercase,omitempty"` + HasNumber bool `protobuf:"varint,5,opt,name=has_number,json=hasNumber,proto3" json:"has_number,omitempty"` + HasSymbol bool `protobuf:"varint,6,opt,name=has_symbol,json=hasSymbol,proto3" json:"has_symbol,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *PasswordComplexityPolicyCreate) Reset() { - *x = PasswordComplexityPolicyCreate{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PasswordComplexityPolicyCreate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PasswordComplexityPolicyCreate) ProtoMessage() {} - -func (x *PasswordComplexityPolicyCreate) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PasswordComplexityPolicyCreate.ProtoReflect.Descriptor instead. +func (m *PasswordComplexityPolicyCreate) Reset() { *m = PasswordComplexityPolicyCreate{} } +func (m *PasswordComplexityPolicyCreate) String() string { return proto.CompactTextString(m) } +func (*PasswordComplexityPolicyCreate) ProtoMessage() {} func (*PasswordComplexityPolicyCreate) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{38} + return fileDescriptor_edc174f991dc0a25, []int{49} } -func (x *PasswordComplexityPolicyCreate) GetDescription() string { - if x != nil { - return x.Description +func (m *PasswordComplexityPolicyCreate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PasswordComplexityPolicyCreate.Unmarshal(m, b) +} +func (m *PasswordComplexityPolicyCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PasswordComplexityPolicyCreate.Marshal(b, m, deterministic) +} +func (m *PasswordComplexityPolicyCreate) XXX_Merge(src proto.Message) { + xxx_messageInfo_PasswordComplexityPolicyCreate.Merge(m, src) +} +func (m *PasswordComplexityPolicyCreate) XXX_Size() int { + return xxx_messageInfo_PasswordComplexityPolicyCreate.Size(m) +} +func (m *PasswordComplexityPolicyCreate) XXX_DiscardUnknown() { + xxx_messageInfo_PasswordComplexityPolicyCreate.DiscardUnknown(m) +} + +var xxx_messageInfo_PasswordComplexityPolicyCreate proto.InternalMessageInfo + +func (m *PasswordComplexityPolicyCreate) GetDescription() string { + if m != nil { + return m.Description } return "" } -func (x *PasswordComplexityPolicyCreate) GetMinLength() uint64 { - if x != nil { - return x.MinLength +func (m *PasswordComplexityPolicyCreate) GetMinLength() uint64 { + if m != nil { + return m.MinLength } return 0 } -func (x *PasswordComplexityPolicyCreate) GetHasLowercase() bool { - if x != nil { - return x.HasLowercase +func (m *PasswordComplexityPolicyCreate) GetHasLowercase() bool { + if m != nil { + return m.HasLowercase } return false } -func (x *PasswordComplexityPolicyCreate) GetHasUppercase() bool { - if x != nil { - return x.HasUppercase +func (m *PasswordComplexityPolicyCreate) GetHasUppercase() bool { + if m != nil { + return m.HasUppercase } return false } -func (x *PasswordComplexityPolicyCreate) GetHasNumber() bool { - if x != nil { - return x.HasNumber +func (m *PasswordComplexityPolicyCreate) GetHasNumber() bool { + if m != nil { + return m.HasNumber } return false } -func (x *PasswordComplexityPolicyCreate) GetHasSymbol() bool { - if x != nil { - return x.HasSymbol +func (m *PasswordComplexityPolicyCreate) GetHasSymbol() bool { + if m != nil { + return m.HasSymbol } return false } type PasswordComplexityPolicyUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - MinLength uint64 `protobuf:"varint,3,opt,name=min_length,json=minLength,proto3" json:"min_length,omitempty"` - HasLowercase bool `protobuf:"varint,4,opt,name=has_lowercase,json=hasLowercase,proto3" json:"has_lowercase,omitempty"` - HasUppercase bool `protobuf:"varint,5,opt,name=has_uppercase,json=hasUppercase,proto3" json:"has_uppercase,omitempty"` - HasNumber bool `protobuf:"varint,6,opt,name=has_number,json=hasNumber,proto3" json:"has_number,omitempty"` - HasSymbol bool `protobuf:"varint,7,opt,name=has_symbol,json=hasSymbol,proto3" json:"has_symbol,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + MinLength uint64 `protobuf:"varint,3,opt,name=min_length,json=minLength,proto3" json:"min_length,omitempty"` + HasLowercase bool `protobuf:"varint,4,opt,name=has_lowercase,json=hasLowercase,proto3" json:"has_lowercase,omitempty"` + HasUppercase bool `protobuf:"varint,5,opt,name=has_uppercase,json=hasUppercase,proto3" json:"has_uppercase,omitempty"` + HasNumber bool `protobuf:"varint,6,opt,name=has_number,json=hasNumber,proto3" json:"has_number,omitempty"` + HasSymbol bool `protobuf:"varint,7,opt,name=has_symbol,json=hasSymbol,proto3" json:"has_symbol,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *PasswordComplexityPolicyUpdate) Reset() { - *x = PasswordComplexityPolicyUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PasswordComplexityPolicyUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PasswordComplexityPolicyUpdate) ProtoMessage() {} - -func (x *PasswordComplexityPolicyUpdate) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PasswordComplexityPolicyUpdate.ProtoReflect.Descriptor instead. +func (m *PasswordComplexityPolicyUpdate) Reset() { *m = PasswordComplexityPolicyUpdate{} } +func (m *PasswordComplexityPolicyUpdate) String() string { return proto.CompactTextString(m) } +func (*PasswordComplexityPolicyUpdate) ProtoMessage() {} func (*PasswordComplexityPolicyUpdate) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{39} + return fileDescriptor_edc174f991dc0a25, []int{50} } -func (x *PasswordComplexityPolicyUpdate) GetId() string { - if x != nil { - return x.Id +func (m *PasswordComplexityPolicyUpdate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PasswordComplexityPolicyUpdate.Unmarshal(m, b) +} +func (m *PasswordComplexityPolicyUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PasswordComplexityPolicyUpdate.Marshal(b, m, deterministic) +} +func (m *PasswordComplexityPolicyUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_PasswordComplexityPolicyUpdate.Merge(m, src) +} +func (m *PasswordComplexityPolicyUpdate) XXX_Size() int { + return xxx_messageInfo_PasswordComplexityPolicyUpdate.Size(m) +} +func (m *PasswordComplexityPolicyUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_PasswordComplexityPolicyUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_PasswordComplexityPolicyUpdate proto.InternalMessageInfo + +func (m *PasswordComplexityPolicyUpdate) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *PasswordComplexityPolicyUpdate) GetDescription() string { - if x != nil { - return x.Description +func (m *PasswordComplexityPolicyUpdate) GetDescription() string { + if m != nil { + return m.Description } return "" } -func (x *PasswordComplexityPolicyUpdate) GetMinLength() uint64 { - if x != nil { - return x.MinLength +func (m *PasswordComplexityPolicyUpdate) GetMinLength() uint64 { + if m != nil { + return m.MinLength } return 0 } -func (x *PasswordComplexityPolicyUpdate) GetHasLowercase() bool { - if x != nil { - return x.HasLowercase +func (m *PasswordComplexityPolicyUpdate) GetHasLowercase() bool { + if m != nil { + return m.HasLowercase } return false } -func (x *PasswordComplexityPolicyUpdate) GetHasUppercase() bool { - if x != nil { - return x.HasUppercase +func (m *PasswordComplexityPolicyUpdate) GetHasUppercase() bool { + if m != nil { + return m.HasUppercase } return false } -func (x *PasswordComplexityPolicyUpdate) GetHasNumber() bool { - if x != nil { - return x.HasNumber +func (m *PasswordComplexityPolicyUpdate) GetHasNumber() bool { + if m != nil { + return m.HasNumber } return false } -func (x *PasswordComplexityPolicyUpdate) GetHasSymbol() bool { - if x != nil { - return x.HasSymbol +func (m *PasswordComplexityPolicyUpdate) GetHasSymbol() bool { + if m != nil { + return m.HasSymbol } return false } type PasswordAgePolicyID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *PasswordAgePolicyID) Reset() { - *x = PasswordAgePolicyID{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PasswordAgePolicyID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PasswordAgePolicyID) ProtoMessage() {} - -func (x *PasswordAgePolicyID) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PasswordAgePolicyID.ProtoReflect.Descriptor instead. +func (m *PasswordAgePolicyID) Reset() { *m = PasswordAgePolicyID{} } +func (m *PasswordAgePolicyID) String() string { return proto.CompactTextString(m) } +func (*PasswordAgePolicyID) ProtoMessage() {} func (*PasswordAgePolicyID) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{40} + return fileDescriptor_edc174f991dc0a25, []int{51} } -func (x *PasswordAgePolicyID) GetId() string { - if x != nil { - return x.Id +func (m *PasswordAgePolicyID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PasswordAgePolicyID.Unmarshal(m, b) +} +func (m *PasswordAgePolicyID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PasswordAgePolicyID.Marshal(b, m, deterministic) +} +func (m *PasswordAgePolicyID) XXX_Merge(src proto.Message) { + xxx_messageInfo_PasswordAgePolicyID.Merge(m, src) +} +func (m *PasswordAgePolicyID) XXX_Size() int { + return xxx_messageInfo_PasswordAgePolicyID.Size(m) +} +func (m *PasswordAgePolicyID) XXX_DiscardUnknown() { + xxx_messageInfo_PasswordAgePolicyID.DiscardUnknown(m) +} + +var xxx_messageInfo_PasswordAgePolicyID proto.InternalMessageInfo + +func (m *PasswordAgePolicyID) GetId() string { + if m != nil { + return m.Id } return "" } type PasswordAgePolicy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - State PolicyState `protobuf:"varint,3,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.PolicyState" json:"state,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - MaxAgeDays uint64 `protobuf:"varint,6,opt,name=max_age_days,json=maxAgeDays,proto3" json:"max_age_days,omitempty"` - ExpireWarnDays uint64 `protobuf:"varint,7,opt,name=expire_warn_days,json=expireWarnDays,proto3" json:"expire_warn_days,omitempty"` - Sequence uint64 `protobuf:"varint,8,opt,name=sequence,proto3" json:"sequence,omitempty"` - IsDefault bool `protobuf:"varint,9,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + State PolicyState `protobuf:"varint,3,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.PolicyState" json:"state,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + MaxAgeDays uint64 `protobuf:"varint,6,opt,name=max_age_days,json=maxAgeDays,proto3" json:"max_age_days,omitempty"` + ExpireWarnDays uint64 `protobuf:"varint,7,opt,name=expire_warn_days,json=expireWarnDays,proto3" json:"expire_warn_days,omitempty"` + Sequence uint64 `protobuf:"varint,8,opt,name=sequence,proto3" json:"sequence,omitempty"` + IsDefault bool `protobuf:"varint,9,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *PasswordAgePolicy) Reset() { - *x = PasswordAgePolicy{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PasswordAgePolicy) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PasswordAgePolicy) ProtoMessage() {} - -func (x *PasswordAgePolicy) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PasswordAgePolicy.ProtoReflect.Descriptor instead. +func (m *PasswordAgePolicy) Reset() { *m = PasswordAgePolicy{} } +func (m *PasswordAgePolicy) String() string { return proto.CompactTextString(m) } +func (*PasswordAgePolicy) ProtoMessage() {} func (*PasswordAgePolicy) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{41} + return fileDescriptor_edc174f991dc0a25, []int{52} } -func (x *PasswordAgePolicy) GetId() string { - if x != nil { - return x.Id +func (m *PasswordAgePolicy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PasswordAgePolicy.Unmarshal(m, b) +} +func (m *PasswordAgePolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PasswordAgePolicy.Marshal(b, m, deterministic) +} +func (m *PasswordAgePolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_PasswordAgePolicy.Merge(m, src) +} +func (m *PasswordAgePolicy) XXX_Size() int { + return xxx_messageInfo_PasswordAgePolicy.Size(m) +} +func (m *PasswordAgePolicy) XXX_DiscardUnknown() { + xxx_messageInfo_PasswordAgePolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_PasswordAgePolicy proto.InternalMessageInfo + +func (m *PasswordAgePolicy) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *PasswordAgePolicy) GetDescription() string { - if x != nil { - return x.Description +func (m *PasswordAgePolicy) GetDescription() string { + if m != nil { + return m.Description } return "" } -func (x *PasswordAgePolicy) GetState() PolicyState { - if x != nil { - return x.State +func (m *PasswordAgePolicy) GetState() PolicyState { + if m != nil { + return m.State } return PolicyState_POLICYSTATE_UNSPECIFIED } -func (x *PasswordAgePolicy) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *PasswordAgePolicy) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *PasswordAgePolicy) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *PasswordAgePolicy) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *PasswordAgePolicy) GetMaxAgeDays() uint64 { - if x != nil { - return x.MaxAgeDays +func (m *PasswordAgePolicy) GetMaxAgeDays() uint64 { + if m != nil { + return m.MaxAgeDays } return 0 } -func (x *PasswordAgePolicy) GetExpireWarnDays() uint64 { - if x != nil { - return x.ExpireWarnDays +func (m *PasswordAgePolicy) GetExpireWarnDays() uint64 { + if m != nil { + return m.ExpireWarnDays } return 0 } -func (x *PasswordAgePolicy) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *PasswordAgePolicy) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *PasswordAgePolicy) GetIsDefault() bool { - if x != nil { - return x.IsDefault +func (m *PasswordAgePolicy) GetIsDefault() bool { + if m != nil { + return m.IsDefault } return false } type PasswordAgePolicyCreate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` - MaxAgeDays uint64 `protobuf:"varint,2,opt,name=max_age_days,json=maxAgeDays,proto3" json:"max_age_days,omitempty"` - ExpireWarnDays uint64 `protobuf:"varint,3,opt,name=expire_warn_days,json=expireWarnDays,proto3" json:"expire_warn_days,omitempty"` + Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` + MaxAgeDays uint64 `protobuf:"varint,2,opt,name=max_age_days,json=maxAgeDays,proto3" json:"max_age_days,omitempty"` + ExpireWarnDays uint64 `protobuf:"varint,3,opt,name=expire_warn_days,json=expireWarnDays,proto3" json:"expire_warn_days,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *PasswordAgePolicyCreate) Reset() { - *x = PasswordAgePolicyCreate{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PasswordAgePolicyCreate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PasswordAgePolicyCreate) ProtoMessage() {} - -func (x *PasswordAgePolicyCreate) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PasswordAgePolicyCreate.ProtoReflect.Descriptor instead. +func (m *PasswordAgePolicyCreate) Reset() { *m = PasswordAgePolicyCreate{} } +func (m *PasswordAgePolicyCreate) String() string { return proto.CompactTextString(m) } +func (*PasswordAgePolicyCreate) ProtoMessage() {} func (*PasswordAgePolicyCreate) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{42} + return fileDescriptor_edc174f991dc0a25, []int{53} } -func (x *PasswordAgePolicyCreate) GetDescription() string { - if x != nil { - return x.Description +func (m *PasswordAgePolicyCreate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PasswordAgePolicyCreate.Unmarshal(m, b) +} +func (m *PasswordAgePolicyCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PasswordAgePolicyCreate.Marshal(b, m, deterministic) +} +func (m *PasswordAgePolicyCreate) XXX_Merge(src proto.Message) { + xxx_messageInfo_PasswordAgePolicyCreate.Merge(m, src) +} +func (m *PasswordAgePolicyCreate) XXX_Size() int { + return xxx_messageInfo_PasswordAgePolicyCreate.Size(m) +} +func (m *PasswordAgePolicyCreate) XXX_DiscardUnknown() { + xxx_messageInfo_PasswordAgePolicyCreate.DiscardUnknown(m) +} + +var xxx_messageInfo_PasswordAgePolicyCreate proto.InternalMessageInfo + +func (m *PasswordAgePolicyCreate) GetDescription() string { + if m != nil { + return m.Description } return "" } -func (x *PasswordAgePolicyCreate) GetMaxAgeDays() uint64 { - if x != nil { - return x.MaxAgeDays +func (m *PasswordAgePolicyCreate) GetMaxAgeDays() uint64 { + if m != nil { + return m.MaxAgeDays } return 0 } -func (x *PasswordAgePolicyCreate) GetExpireWarnDays() uint64 { - if x != nil { - return x.ExpireWarnDays +func (m *PasswordAgePolicyCreate) GetExpireWarnDays() uint64 { + if m != nil { + return m.ExpireWarnDays } return 0 } type PasswordAgePolicyUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - MaxAgeDays uint64 `protobuf:"varint,3,opt,name=max_age_days,json=maxAgeDays,proto3" json:"max_age_days,omitempty"` - ExpireWarnDays uint64 `protobuf:"varint,4,opt,name=expire_warn_days,json=expireWarnDays,proto3" json:"expire_warn_days,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + MaxAgeDays uint64 `protobuf:"varint,3,opt,name=max_age_days,json=maxAgeDays,proto3" json:"max_age_days,omitempty"` + ExpireWarnDays uint64 `protobuf:"varint,4,opt,name=expire_warn_days,json=expireWarnDays,proto3" json:"expire_warn_days,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *PasswordAgePolicyUpdate) Reset() { - *x = PasswordAgePolicyUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PasswordAgePolicyUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PasswordAgePolicyUpdate) ProtoMessage() {} - -func (x *PasswordAgePolicyUpdate) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PasswordAgePolicyUpdate.ProtoReflect.Descriptor instead. +func (m *PasswordAgePolicyUpdate) Reset() { *m = PasswordAgePolicyUpdate{} } +func (m *PasswordAgePolicyUpdate) String() string { return proto.CompactTextString(m) } +func (*PasswordAgePolicyUpdate) ProtoMessage() {} func (*PasswordAgePolicyUpdate) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{43} + return fileDescriptor_edc174f991dc0a25, []int{54} } -func (x *PasswordAgePolicyUpdate) GetId() string { - if x != nil { - return x.Id +func (m *PasswordAgePolicyUpdate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PasswordAgePolicyUpdate.Unmarshal(m, b) +} +func (m *PasswordAgePolicyUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PasswordAgePolicyUpdate.Marshal(b, m, deterministic) +} +func (m *PasswordAgePolicyUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_PasswordAgePolicyUpdate.Merge(m, src) +} +func (m *PasswordAgePolicyUpdate) XXX_Size() int { + return xxx_messageInfo_PasswordAgePolicyUpdate.Size(m) +} +func (m *PasswordAgePolicyUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_PasswordAgePolicyUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_PasswordAgePolicyUpdate proto.InternalMessageInfo + +func (m *PasswordAgePolicyUpdate) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *PasswordAgePolicyUpdate) GetDescription() string { - if x != nil { - return x.Description +func (m *PasswordAgePolicyUpdate) GetDescription() string { + if m != nil { + return m.Description } return "" } -func (x *PasswordAgePolicyUpdate) GetMaxAgeDays() uint64 { - if x != nil { - return x.MaxAgeDays +func (m *PasswordAgePolicyUpdate) GetMaxAgeDays() uint64 { + if m != nil { + return m.MaxAgeDays } return 0 } -func (x *PasswordAgePolicyUpdate) GetExpireWarnDays() uint64 { - if x != nil { - return x.ExpireWarnDays +func (m *PasswordAgePolicyUpdate) GetExpireWarnDays() uint64 { + if m != nil { + return m.ExpireWarnDays } return 0 } type PasswordLockoutPolicyID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *PasswordLockoutPolicyID) Reset() { - *x = PasswordLockoutPolicyID{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PasswordLockoutPolicyID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PasswordLockoutPolicyID) ProtoMessage() {} - -func (x *PasswordLockoutPolicyID) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PasswordLockoutPolicyID.ProtoReflect.Descriptor instead. +func (m *PasswordLockoutPolicyID) Reset() { *m = PasswordLockoutPolicyID{} } +func (m *PasswordLockoutPolicyID) String() string { return proto.CompactTextString(m) } +func (*PasswordLockoutPolicyID) ProtoMessage() {} func (*PasswordLockoutPolicyID) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{44} + return fileDescriptor_edc174f991dc0a25, []int{55} } -func (x *PasswordLockoutPolicyID) GetId() string { - if x != nil { - return x.Id +func (m *PasswordLockoutPolicyID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PasswordLockoutPolicyID.Unmarshal(m, b) +} +func (m *PasswordLockoutPolicyID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PasswordLockoutPolicyID.Marshal(b, m, deterministic) +} +func (m *PasswordLockoutPolicyID) XXX_Merge(src proto.Message) { + xxx_messageInfo_PasswordLockoutPolicyID.Merge(m, src) +} +func (m *PasswordLockoutPolicyID) XXX_Size() int { + return xxx_messageInfo_PasswordLockoutPolicyID.Size(m) +} +func (m *PasswordLockoutPolicyID) XXX_DiscardUnknown() { + xxx_messageInfo_PasswordLockoutPolicyID.DiscardUnknown(m) +} + +var xxx_messageInfo_PasswordLockoutPolicyID proto.InternalMessageInfo + +func (m *PasswordLockoutPolicyID) GetId() string { + if m != nil { + return m.Id } return "" } type PasswordLockoutPolicy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - State PolicyState `protobuf:"varint,3,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.PolicyState" json:"state,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - MaxAttempts uint64 `protobuf:"varint,6,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"` - ShowLockOutFailures bool `protobuf:"varint,7,opt,name=show_lock_out_failures,json=showLockOutFailures,proto3" json:"show_lock_out_failures,omitempty"` - Sequence uint64 `protobuf:"varint,8,opt,name=sequence,proto3" json:"sequence,omitempty"` - IsDefault bool `protobuf:"varint,9,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + State PolicyState `protobuf:"varint,3,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.PolicyState" json:"state,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + MaxAttempts uint64 `protobuf:"varint,6,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"` + ShowLockOutFailures bool `protobuf:"varint,7,opt,name=show_lock_out_failures,json=showLockOutFailures,proto3" json:"show_lock_out_failures,omitempty"` + Sequence uint64 `protobuf:"varint,8,opt,name=sequence,proto3" json:"sequence,omitempty"` + IsDefault bool `protobuf:"varint,9,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *PasswordLockoutPolicy) Reset() { - *x = PasswordLockoutPolicy{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PasswordLockoutPolicy) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PasswordLockoutPolicy) ProtoMessage() {} - -func (x *PasswordLockoutPolicy) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PasswordLockoutPolicy.ProtoReflect.Descriptor instead. +func (m *PasswordLockoutPolicy) Reset() { *m = PasswordLockoutPolicy{} } +func (m *PasswordLockoutPolicy) String() string { return proto.CompactTextString(m) } +func (*PasswordLockoutPolicy) ProtoMessage() {} func (*PasswordLockoutPolicy) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{45} + return fileDescriptor_edc174f991dc0a25, []int{56} } -func (x *PasswordLockoutPolicy) GetId() string { - if x != nil { - return x.Id +func (m *PasswordLockoutPolicy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PasswordLockoutPolicy.Unmarshal(m, b) +} +func (m *PasswordLockoutPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PasswordLockoutPolicy.Marshal(b, m, deterministic) +} +func (m *PasswordLockoutPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_PasswordLockoutPolicy.Merge(m, src) +} +func (m *PasswordLockoutPolicy) XXX_Size() int { + return xxx_messageInfo_PasswordLockoutPolicy.Size(m) +} +func (m *PasswordLockoutPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_PasswordLockoutPolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_PasswordLockoutPolicy proto.InternalMessageInfo + +func (m *PasswordLockoutPolicy) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *PasswordLockoutPolicy) GetDescription() string { - if x != nil { - return x.Description +func (m *PasswordLockoutPolicy) GetDescription() string { + if m != nil { + return m.Description } return "" } -func (x *PasswordLockoutPolicy) GetState() PolicyState { - if x != nil { - return x.State +func (m *PasswordLockoutPolicy) GetState() PolicyState { + if m != nil { + return m.State } return PolicyState_POLICYSTATE_UNSPECIFIED } -func (x *PasswordLockoutPolicy) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *PasswordLockoutPolicy) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *PasswordLockoutPolicy) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *PasswordLockoutPolicy) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *PasswordLockoutPolicy) GetMaxAttempts() uint64 { - if x != nil { - return x.MaxAttempts +func (m *PasswordLockoutPolicy) GetMaxAttempts() uint64 { + if m != nil { + return m.MaxAttempts } return 0 } -func (x *PasswordLockoutPolicy) GetShowLockOutFailures() bool { - if x != nil { - return x.ShowLockOutFailures +func (m *PasswordLockoutPolicy) GetShowLockOutFailures() bool { + if m != nil { + return m.ShowLockOutFailures } return false } -func (x *PasswordLockoutPolicy) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *PasswordLockoutPolicy) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *PasswordLockoutPolicy) GetIsDefault() bool { - if x != nil { - return x.IsDefault +func (m *PasswordLockoutPolicy) GetIsDefault() bool { + if m != nil { + return m.IsDefault } return false } type PasswordLockoutPolicyCreate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` - MaxAttempts uint64 `protobuf:"varint,2,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"` - ShowLockOutFailures bool `protobuf:"varint,3,opt,name=show_lock_out_failures,json=showLockOutFailures,proto3" json:"show_lock_out_failures,omitempty"` + Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` + MaxAttempts uint64 `protobuf:"varint,2,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"` + ShowLockOutFailures bool `protobuf:"varint,3,opt,name=show_lock_out_failures,json=showLockOutFailures,proto3" json:"show_lock_out_failures,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *PasswordLockoutPolicyCreate) Reset() { - *x = PasswordLockoutPolicyCreate{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PasswordLockoutPolicyCreate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PasswordLockoutPolicyCreate) ProtoMessage() {} - -func (x *PasswordLockoutPolicyCreate) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[46] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PasswordLockoutPolicyCreate.ProtoReflect.Descriptor instead. +func (m *PasswordLockoutPolicyCreate) Reset() { *m = PasswordLockoutPolicyCreate{} } +func (m *PasswordLockoutPolicyCreate) String() string { return proto.CompactTextString(m) } +func (*PasswordLockoutPolicyCreate) ProtoMessage() {} func (*PasswordLockoutPolicyCreate) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{46} + return fileDescriptor_edc174f991dc0a25, []int{57} } -func (x *PasswordLockoutPolicyCreate) GetDescription() string { - if x != nil { - return x.Description +func (m *PasswordLockoutPolicyCreate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PasswordLockoutPolicyCreate.Unmarshal(m, b) +} +func (m *PasswordLockoutPolicyCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PasswordLockoutPolicyCreate.Marshal(b, m, deterministic) +} +func (m *PasswordLockoutPolicyCreate) XXX_Merge(src proto.Message) { + xxx_messageInfo_PasswordLockoutPolicyCreate.Merge(m, src) +} +func (m *PasswordLockoutPolicyCreate) XXX_Size() int { + return xxx_messageInfo_PasswordLockoutPolicyCreate.Size(m) +} +func (m *PasswordLockoutPolicyCreate) XXX_DiscardUnknown() { + xxx_messageInfo_PasswordLockoutPolicyCreate.DiscardUnknown(m) +} + +var xxx_messageInfo_PasswordLockoutPolicyCreate proto.InternalMessageInfo + +func (m *PasswordLockoutPolicyCreate) GetDescription() string { + if m != nil { + return m.Description } return "" } -func (x *PasswordLockoutPolicyCreate) GetMaxAttempts() uint64 { - if x != nil { - return x.MaxAttempts +func (m *PasswordLockoutPolicyCreate) GetMaxAttempts() uint64 { + if m != nil { + return m.MaxAttempts } return 0 } -func (x *PasswordLockoutPolicyCreate) GetShowLockOutFailures() bool { - if x != nil { - return x.ShowLockOutFailures +func (m *PasswordLockoutPolicyCreate) GetShowLockOutFailures() bool { + if m != nil { + return m.ShowLockOutFailures } return false } type PasswordLockoutPolicyUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - MaxAttempts uint64 `protobuf:"varint,3,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"` - ShowLockOutFailures bool `protobuf:"varint,4,opt,name=show_lock_out_failures,json=showLockOutFailures,proto3" json:"show_lock_out_failures,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + MaxAttempts uint64 `protobuf:"varint,3,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"` + ShowLockOutFailures bool `protobuf:"varint,4,opt,name=show_lock_out_failures,json=showLockOutFailures,proto3" json:"show_lock_out_failures,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *PasswordLockoutPolicyUpdate) Reset() { - *x = PasswordLockoutPolicyUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PasswordLockoutPolicyUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PasswordLockoutPolicyUpdate) ProtoMessage() {} - -func (x *PasswordLockoutPolicyUpdate) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PasswordLockoutPolicyUpdate.ProtoReflect.Descriptor instead. +func (m *PasswordLockoutPolicyUpdate) Reset() { *m = PasswordLockoutPolicyUpdate{} } +func (m *PasswordLockoutPolicyUpdate) String() string { return proto.CompactTextString(m) } +func (*PasswordLockoutPolicyUpdate) ProtoMessage() {} func (*PasswordLockoutPolicyUpdate) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{47} + return fileDescriptor_edc174f991dc0a25, []int{58} } -func (x *PasswordLockoutPolicyUpdate) GetId() string { - if x != nil { - return x.Id +func (m *PasswordLockoutPolicyUpdate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PasswordLockoutPolicyUpdate.Unmarshal(m, b) +} +func (m *PasswordLockoutPolicyUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PasswordLockoutPolicyUpdate.Marshal(b, m, deterministic) +} +func (m *PasswordLockoutPolicyUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_PasswordLockoutPolicyUpdate.Merge(m, src) +} +func (m *PasswordLockoutPolicyUpdate) XXX_Size() int { + return xxx_messageInfo_PasswordLockoutPolicyUpdate.Size(m) +} +func (m *PasswordLockoutPolicyUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_PasswordLockoutPolicyUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_PasswordLockoutPolicyUpdate proto.InternalMessageInfo + +func (m *PasswordLockoutPolicyUpdate) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *PasswordLockoutPolicyUpdate) GetDescription() string { - if x != nil { - return x.Description +func (m *PasswordLockoutPolicyUpdate) GetDescription() string { + if m != nil { + return m.Description } return "" } -func (x *PasswordLockoutPolicyUpdate) GetMaxAttempts() uint64 { - if x != nil { - return x.MaxAttempts +func (m *PasswordLockoutPolicyUpdate) GetMaxAttempts() uint64 { + if m != nil { + return m.MaxAttempts } return 0 } -func (x *PasswordLockoutPolicyUpdate) GetShowLockOutFailures() bool { - if x != nil { - return x.ShowLockOutFailures +func (m *PasswordLockoutPolicyUpdate) GetShowLockOutFailures() bool { + if m != nil { + return m.ShowLockOutFailures } return false } type OrgIamPolicy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - UserLoginMustBeDomain bool `protobuf:"varint,3,opt,name=user_login_must_be_domain,json=userLoginMustBeDomain,proto3" json:"user_login_must_be_domain,omitempty"` - Default bool `protobuf:"varint,4,opt,name=default,proto3" json:"default,omitempty"` + OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + UserLoginMustBeDomain bool `protobuf:"varint,3,opt,name=user_login_must_be_domain,json=userLoginMustBeDomain,proto3" json:"user_login_must_be_domain,omitempty"` + Default bool `protobuf:"varint,4,opt,name=default,proto3" json:"default,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgIamPolicy) Reset() { - *x = OrgIamPolicy{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgIamPolicy) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgIamPolicy) ProtoMessage() {} - -func (x *OrgIamPolicy) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgIamPolicy.ProtoReflect.Descriptor instead. +func (m *OrgIamPolicy) Reset() { *m = OrgIamPolicy{} } +func (m *OrgIamPolicy) String() string { return proto.CompactTextString(m) } +func (*OrgIamPolicy) ProtoMessage() {} func (*OrgIamPolicy) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{48} + return fileDescriptor_edc174f991dc0a25, []int{59} } -func (x *OrgIamPolicy) GetOrgId() string { - if x != nil { - return x.OrgId +func (m *OrgIamPolicy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgIamPolicy.Unmarshal(m, b) +} +func (m *OrgIamPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgIamPolicy.Marshal(b, m, deterministic) +} +func (m *OrgIamPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgIamPolicy.Merge(m, src) +} +func (m *OrgIamPolicy) XXX_Size() int { + return xxx_messageInfo_OrgIamPolicy.Size(m) +} +func (m *OrgIamPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_OrgIamPolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgIamPolicy proto.InternalMessageInfo + +func (m *OrgIamPolicy) GetOrgId() string { + if m != nil { + return m.OrgId } return "" } -func (x *OrgIamPolicy) GetDescription() string { - if x != nil { - return x.Description +func (m *OrgIamPolicy) GetDescription() string { + if m != nil { + return m.Description } return "" } -func (x *OrgIamPolicy) GetUserLoginMustBeDomain() bool { - if x != nil { - return x.UserLoginMustBeDomain +func (m *OrgIamPolicy) GetUserLoginMustBeDomain() bool { + if m != nil { + return m.UserLoginMustBeDomain } return false } -func (x *OrgIamPolicy) GetDefault() bool { - if x != nil { - return x.Default +func (m *OrgIamPolicy) GetDefault() bool { + if m != nil { + return m.Default } return false } -type OrgID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *OrgID) Reset() { - *x = OrgID{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgID) ProtoMessage() {} - -func (x *OrgID) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgID.ProtoReflect.Descriptor instead. -func (*OrgID) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{49} -} - -func (x *OrgID) GetId() string { - if x != nil { - return x.Id - } - return "" -} - type OrgCreateRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgCreateRequest) Reset() { - *x = OrgCreateRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgCreateRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgCreateRequest) ProtoMessage() {} - -func (x *OrgCreateRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgCreateRequest.ProtoReflect.Descriptor instead. +func (m *OrgCreateRequest) Reset() { *m = OrgCreateRequest{} } +func (m *OrgCreateRequest) String() string { return proto.CompactTextString(m) } +func (*OrgCreateRequest) ProtoMessage() {} func (*OrgCreateRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{50} + return fileDescriptor_edc174f991dc0a25, []int{60} } -func (x *OrgCreateRequest) GetName() string { - if x != nil { - return x.Name +func (m *OrgCreateRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgCreateRequest.Unmarshal(m, b) +} +func (m *OrgCreateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgCreateRequest.Marshal(b, m, deterministic) +} +func (m *OrgCreateRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgCreateRequest.Merge(m, src) +} +func (m *OrgCreateRequest) XXX_Size() int { + return xxx_messageInfo_OrgCreateRequest.Size(m) +} +func (m *OrgCreateRequest) XXX_DiscardUnknown() { + xxx_messageInfo_OrgCreateRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgCreateRequest proto.InternalMessageInfo + +func (m *OrgCreateRequest) GetName() string { + if m != nil { + return m.Name } return "" } type Org struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - State OrgState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.OrgState" json:"state,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` - Sequence uint64 `protobuf:"varint,6,opt,name=sequence,proto3" json:"sequence,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + State OrgState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.OrgState" json:"state,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + Sequence uint64 `protobuf:"varint,6,opt,name=sequence,proto3" json:"sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *Org) Reset() { - *x = Org{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Org) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Org) ProtoMessage() {} - -func (x *Org) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[51] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Org.ProtoReflect.Descriptor instead. +func (m *Org) Reset() { *m = Org{} } +func (m *Org) String() string { return proto.CompactTextString(m) } +func (*Org) ProtoMessage() {} func (*Org) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{51} + return fileDescriptor_edc174f991dc0a25, []int{61} } -func (x *Org) GetId() string { - if x != nil { - return x.Id +func (m *Org) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Org.Unmarshal(m, b) +} +func (m *Org) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Org.Marshal(b, m, deterministic) +} +func (m *Org) XXX_Merge(src proto.Message) { + xxx_messageInfo_Org.Merge(m, src) +} +func (m *Org) XXX_Size() int { + return xxx_messageInfo_Org.Size(m) +} +func (m *Org) XXX_DiscardUnknown() { + xxx_messageInfo_Org.DiscardUnknown(m) +} + +var xxx_messageInfo_Org proto.InternalMessageInfo + +func (m *Org) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *Org) GetState() OrgState { - if x != nil { - return x.State +func (m *Org) GetState() OrgState { + if m != nil { + return m.State } return OrgState_ORGSTATE_UNSPECIFIED } -func (x *Org) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *Org) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *Org) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *Org) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *Org) GetName() string { - if x != nil { - return x.Name +func (m *Org) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *Org) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *Org) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } type OrgView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - State OrgState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.OrgState" json:"state,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` - Sequence uint64 `protobuf:"varint,6,opt,name=sequence,proto3" json:"sequence,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + State OrgState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.OrgState" json:"state,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + Sequence uint64 `protobuf:"varint,6,opt,name=sequence,proto3" json:"sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgView) Reset() { - *x = OrgView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgView) ProtoMessage() {} - -func (x *OrgView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[52] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgView.ProtoReflect.Descriptor instead. +func (m *OrgView) Reset() { *m = OrgView{} } +func (m *OrgView) String() string { return proto.CompactTextString(m) } +func (*OrgView) ProtoMessage() {} func (*OrgView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{52} + return fileDescriptor_edc174f991dc0a25, []int{62} } -func (x *OrgView) GetId() string { - if x != nil { - return x.Id +func (m *OrgView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgView.Unmarshal(m, b) +} +func (m *OrgView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgView.Marshal(b, m, deterministic) +} +func (m *OrgView) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgView.Merge(m, src) +} +func (m *OrgView) XXX_Size() int { + return xxx_messageInfo_OrgView.Size(m) +} +func (m *OrgView) XXX_DiscardUnknown() { + xxx_messageInfo_OrgView.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgView proto.InternalMessageInfo + +func (m *OrgView) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *OrgView) GetState() OrgState { - if x != nil { - return x.State +func (m *OrgView) GetState() OrgState { + if m != nil { + return m.State } return OrgState_ORGSTATE_UNSPECIFIED } -func (x *OrgView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *OrgView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *OrgView) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *OrgView) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *OrgView) GetName() string { - if x != nil { - return x.Name +func (m *OrgView) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *OrgView) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *OrgView) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } type Domain struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *Domain) Reset() { - *x = Domain{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[53] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Domain) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Domain) ProtoMessage() {} - -func (x *Domain) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[53] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Domain.ProtoReflect.Descriptor instead. +func (m *Domain) Reset() { *m = Domain{} } +func (m *Domain) String() string { return proto.CompactTextString(m) } +func (*Domain) ProtoMessage() {} func (*Domain) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{53} + return fileDescriptor_edc174f991dc0a25, []int{63} } -func (x *Domain) GetDomain() string { - if x != nil { - return x.Domain +func (m *Domain) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Domain.Unmarshal(m, b) +} +func (m *Domain) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Domain.Marshal(b, m, deterministic) +} +func (m *Domain) XXX_Merge(src proto.Message) { + xxx_messageInfo_Domain.Merge(m, src) +} +func (m *Domain) XXX_Size() int { + return xxx_messageInfo_Domain.Size(m) +} +func (m *Domain) XXX_DiscardUnknown() { + xxx_messageInfo_Domain.DiscardUnknown(m) +} + +var xxx_messageInfo_Domain proto.InternalMessageInfo + +func (m *Domain) GetDomain() string { + if m != nil { + return m.Domain } return "" } -type OrgDomains struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Domains []*OrgDomain `protobuf:"bytes,1,rep,name=domains,proto3" json:"domains,omitempty"` -} - -func (x *OrgDomains) Reset() { - *x = OrgDomains{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[54] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgDomains) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgDomains) ProtoMessage() {} - -func (x *OrgDomains) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[54] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgDomains.ProtoReflect.Descriptor instead. -func (*OrgDomains) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{54} -} - -func (x *OrgDomains) GetDomains() []*OrgDomain { - if x != nil { - return x.Domains - } - return nil -} - type OrgDomain struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,2,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - Domain string `protobuf:"bytes,4,opt,name=domain,proto3" json:"domain,omitempty"` - Verified bool `protobuf:"varint,5,opt,name=verified,proto3" json:"verified,omitempty"` - Primary bool `protobuf:"varint,6,opt,name=primary,proto3" json:"primary,omitempty"` - Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` + OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,2,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Domain string `protobuf:"bytes,4,opt,name=domain,proto3" json:"domain,omitempty"` + Verified bool `protobuf:"varint,5,opt,name=verified,proto3" json:"verified,omitempty"` + Primary bool `protobuf:"varint,6,opt,name=primary,proto3" json:"primary,omitempty"` + Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgDomain) Reset() { - *x = OrgDomain{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgDomain) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgDomain) ProtoMessage() {} - -func (x *OrgDomain) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[55] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgDomain.ProtoReflect.Descriptor instead. +func (m *OrgDomain) Reset() { *m = OrgDomain{} } +func (m *OrgDomain) String() string { return proto.CompactTextString(m) } +func (*OrgDomain) ProtoMessage() {} func (*OrgDomain) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{55} + return fileDescriptor_edc174f991dc0a25, []int{64} } -func (x *OrgDomain) GetOrgId() string { - if x != nil { - return x.OrgId +func (m *OrgDomain) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgDomain.Unmarshal(m, b) +} +func (m *OrgDomain) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgDomain.Marshal(b, m, deterministic) +} +func (m *OrgDomain) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgDomain.Merge(m, src) +} +func (m *OrgDomain) XXX_Size() int { + return xxx_messageInfo_OrgDomain.Size(m) +} +func (m *OrgDomain) XXX_DiscardUnknown() { + xxx_messageInfo_OrgDomain.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgDomain proto.InternalMessageInfo + +func (m *OrgDomain) GetOrgId() string { + if m != nil { + return m.OrgId } return "" } -func (x *OrgDomain) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *OrgDomain) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *OrgDomain) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *OrgDomain) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *OrgDomain) GetDomain() string { - if x != nil { - return x.Domain +func (m *OrgDomain) GetDomain() string { + if m != nil { + return m.Domain } return "" } -func (x *OrgDomain) GetVerified() bool { - if x != nil { - return x.Verified +func (m *OrgDomain) GetVerified() bool { + if m != nil { + return m.Verified } return false } -func (x *OrgDomain) GetPrimary() bool { - if x != nil { - return x.Primary +func (m *OrgDomain) GetPrimary() bool { + if m != nil { + return m.Primary } return false } -func (x *OrgDomain) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *OrgDomain) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } type OrgDomainView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,2,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - Domain string `protobuf:"bytes,4,opt,name=domain,proto3" json:"domain,omitempty"` - Verified bool `protobuf:"varint,5,opt,name=verified,proto3" json:"verified,omitempty"` - Primary bool `protobuf:"varint,6,opt,name=primary,proto3" json:"primary,omitempty"` - Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` - ValidationType OrgDomainValidationType `protobuf:"varint,8,opt,name=validation_type,json=validationType,proto3,enum=caos.zitadel.management.api.v1.OrgDomainValidationType" json:"validation_type,omitempty"` + OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,2,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Domain string `protobuf:"bytes,4,opt,name=domain,proto3" json:"domain,omitempty"` + Verified bool `protobuf:"varint,5,opt,name=verified,proto3" json:"verified,omitempty"` + Primary bool `protobuf:"varint,6,opt,name=primary,proto3" json:"primary,omitempty"` + Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` + ValidationType OrgDomainValidationType `protobuf:"varint,8,opt,name=validation_type,json=validationType,proto3,enum=caos.zitadel.management.api.v1.OrgDomainValidationType" json:"validation_type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgDomainView) Reset() { - *x = OrgDomainView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgDomainView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgDomainView) ProtoMessage() {} - -func (x *OrgDomainView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[56] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgDomainView.ProtoReflect.Descriptor instead. +func (m *OrgDomainView) Reset() { *m = OrgDomainView{} } +func (m *OrgDomainView) String() string { return proto.CompactTextString(m) } +func (*OrgDomainView) ProtoMessage() {} func (*OrgDomainView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{56} + return fileDescriptor_edc174f991dc0a25, []int{65} } -func (x *OrgDomainView) GetOrgId() string { - if x != nil { - return x.OrgId +func (m *OrgDomainView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgDomainView.Unmarshal(m, b) +} +func (m *OrgDomainView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgDomainView.Marshal(b, m, deterministic) +} +func (m *OrgDomainView) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgDomainView.Merge(m, src) +} +func (m *OrgDomainView) XXX_Size() int { + return xxx_messageInfo_OrgDomainView.Size(m) +} +func (m *OrgDomainView) XXX_DiscardUnknown() { + xxx_messageInfo_OrgDomainView.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgDomainView proto.InternalMessageInfo + +func (m *OrgDomainView) GetOrgId() string { + if m != nil { + return m.OrgId } return "" } -func (x *OrgDomainView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *OrgDomainView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *OrgDomainView) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *OrgDomainView) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *OrgDomainView) GetDomain() string { - if x != nil { - return x.Domain +func (m *OrgDomainView) GetDomain() string { + if m != nil { + return m.Domain } return "" } -func (x *OrgDomainView) GetVerified() bool { - if x != nil { - return x.Verified +func (m *OrgDomainView) GetVerified() bool { + if m != nil { + return m.Verified } return false } -func (x *OrgDomainView) GetPrimary() bool { - if x != nil { - return x.Primary +func (m *OrgDomainView) GetPrimary() bool { + if m != nil { + return m.Primary } return false } -func (x *OrgDomainView) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *OrgDomainView) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *OrgDomainView) GetValidationType() OrgDomainValidationType { - if x != nil { - return x.ValidationType +func (m *OrgDomainView) GetValidationType() OrgDomainValidationType { + if m != nil { + return m.ValidationType } return OrgDomainValidationType_ORGDOMAINVALIDATIONTYPE_UNSPECIFIED } type AddOrgDomainRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *AddOrgDomainRequest) Reset() { - *x = AddOrgDomainRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[57] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddOrgDomainRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddOrgDomainRequest) ProtoMessage() {} - -func (x *AddOrgDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[57] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddOrgDomainRequest.ProtoReflect.Descriptor instead. +func (m *AddOrgDomainRequest) Reset() { *m = AddOrgDomainRequest{} } +func (m *AddOrgDomainRequest) String() string { return proto.CompactTextString(m) } +func (*AddOrgDomainRequest) ProtoMessage() {} func (*AddOrgDomainRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{57} + return fileDescriptor_edc174f991dc0a25, []int{66} } -func (x *AddOrgDomainRequest) GetDomain() string { - if x != nil { - return x.Domain +func (m *AddOrgDomainRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddOrgDomainRequest.Unmarshal(m, b) +} +func (m *AddOrgDomainRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddOrgDomainRequest.Marshal(b, m, deterministic) +} +func (m *AddOrgDomainRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddOrgDomainRequest.Merge(m, src) +} +func (m *AddOrgDomainRequest) XXX_Size() int { + return xxx_messageInfo_AddOrgDomainRequest.Size(m) +} +func (m *AddOrgDomainRequest) XXX_DiscardUnknown() { + xxx_messageInfo_AddOrgDomainRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_AddOrgDomainRequest proto.InternalMessageInfo + +func (m *AddOrgDomainRequest) GetDomain() string { + if m != nil { + return m.Domain } return "" } type OrgDomainValidationRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` - Type OrgDomainValidationType `protobuf:"varint,2,opt,name=type,proto3,enum=caos.zitadel.management.api.v1.OrgDomainValidationType" json:"type,omitempty"` + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + Type OrgDomainValidationType `protobuf:"varint,2,opt,name=type,proto3,enum=caos.zitadel.management.api.v1.OrgDomainValidationType" json:"type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgDomainValidationRequest) Reset() { - *x = OrgDomainValidationRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[58] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgDomainValidationRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgDomainValidationRequest) ProtoMessage() {} - -func (x *OrgDomainValidationRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[58] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgDomainValidationRequest.ProtoReflect.Descriptor instead. +func (m *OrgDomainValidationRequest) Reset() { *m = OrgDomainValidationRequest{} } +func (m *OrgDomainValidationRequest) String() string { return proto.CompactTextString(m) } +func (*OrgDomainValidationRequest) ProtoMessage() {} func (*OrgDomainValidationRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{58} + return fileDescriptor_edc174f991dc0a25, []int{67} } -func (x *OrgDomainValidationRequest) GetDomain() string { - if x != nil { - return x.Domain +func (m *OrgDomainValidationRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgDomainValidationRequest.Unmarshal(m, b) +} +func (m *OrgDomainValidationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgDomainValidationRequest.Marshal(b, m, deterministic) +} +func (m *OrgDomainValidationRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgDomainValidationRequest.Merge(m, src) +} +func (m *OrgDomainValidationRequest) XXX_Size() int { + return xxx_messageInfo_OrgDomainValidationRequest.Size(m) +} +func (m *OrgDomainValidationRequest) XXX_DiscardUnknown() { + xxx_messageInfo_OrgDomainValidationRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgDomainValidationRequest proto.InternalMessageInfo + +func (m *OrgDomainValidationRequest) GetDomain() string { + if m != nil { + return m.Domain } return "" } -func (x *OrgDomainValidationRequest) GetType() OrgDomainValidationType { - if x != nil { - return x.Type +func (m *OrgDomainValidationRequest) GetType() OrgDomainValidationType { + if m != nil { + return m.Type } return OrgDomainValidationType_ORGDOMAINVALIDATIONTYPE_UNSPECIFIED } type OrgDomainValidationResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` - Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgDomainValidationResponse) Reset() { - *x = OrgDomainValidationResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[59] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgDomainValidationResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgDomainValidationResponse) ProtoMessage() {} - -func (x *OrgDomainValidationResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[59] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgDomainValidationResponse.ProtoReflect.Descriptor instead. +func (m *OrgDomainValidationResponse) Reset() { *m = OrgDomainValidationResponse{} } +func (m *OrgDomainValidationResponse) String() string { return proto.CompactTextString(m) } +func (*OrgDomainValidationResponse) ProtoMessage() {} func (*OrgDomainValidationResponse) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{59} + return fileDescriptor_edc174f991dc0a25, []int{68} } -func (x *OrgDomainValidationResponse) GetToken() string { - if x != nil { - return x.Token +func (m *OrgDomainValidationResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgDomainValidationResponse.Unmarshal(m, b) +} +func (m *OrgDomainValidationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgDomainValidationResponse.Marshal(b, m, deterministic) +} +func (m *OrgDomainValidationResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgDomainValidationResponse.Merge(m, src) +} +func (m *OrgDomainValidationResponse) XXX_Size() int { + return xxx_messageInfo_OrgDomainValidationResponse.Size(m) +} +func (m *OrgDomainValidationResponse) XXX_DiscardUnknown() { + xxx_messageInfo_OrgDomainValidationResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgDomainValidationResponse proto.InternalMessageInfo + +func (m *OrgDomainValidationResponse) GetToken() string { + if m != nil { + return m.Token } return "" } -func (x *OrgDomainValidationResponse) GetUrl() string { - if x != nil { - return x.Url +func (m *OrgDomainValidationResponse) GetUrl() string { + if m != nil { + return m.Url } return "" } type ValidateOrgDomainRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ValidateOrgDomainRequest) Reset() { - *x = ValidateOrgDomainRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[60] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ValidateOrgDomainRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ValidateOrgDomainRequest) ProtoMessage() {} - -func (x *ValidateOrgDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[60] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ValidateOrgDomainRequest.ProtoReflect.Descriptor instead. +func (m *ValidateOrgDomainRequest) Reset() { *m = ValidateOrgDomainRequest{} } +func (m *ValidateOrgDomainRequest) String() string { return proto.CompactTextString(m) } +func (*ValidateOrgDomainRequest) ProtoMessage() {} func (*ValidateOrgDomainRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{60} + return fileDescriptor_edc174f991dc0a25, []int{69} } -func (x *ValidateOrgDomainRequest) GetDomain() string { - if x != nil { - return x.Domain +func (m *ValidateOrgDomainRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ValidateOrgDomainRequest.Unmarshal(m, b) +} +func (m *ValidateOrgDomainRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ValidateOrgDomainRequest.Marshal(b, m, deterministic) +} +func (m *ValidateOrgDomainRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ValidateOrgDomainRequest.Merge(m, src) +} +func (m *ValidateOrgDomainRequest) XXX_Size() int { + return xxx_messageInfo_ValidateOrgDomainRequest.Size(m) +} +func (m *ValidateOrgDomainRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ValidateOrgDomainRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ValidateOrgDomainRequest proto.InternalMessageInfo + +func (m *ValidateOrgDomainRequest) GetDomain() string { + if m != nil { + return m.Domain } return "" } type PrimaryOrgDomainRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *PrimaryOrgDomainRequest) Reset() { - *x = PrimaryOrgDomainRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[61] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PrimaryOrgDomainRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PrimaryOrgDomainRequest) ProtoMessage() {} - -func (x *PrimaryOrgDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[61] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PrimaryOrgDomainRequest.ProtoReflect.Descriptor instead. +func (m *PrimaryOrgDomainRequest) Reset() { *m = PrimaryOrgDomainRequest{} } +func (m *PrimaryOrgDomainRequest) String() string { return proto.CompactTextString(m) } +func (*PrimaryOrgDomainRequest) ProtoMessage() {} func (*PrimaryOrgDomainRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{61} + return fileDescriptor_edc174f991dc0a25, []int{70} } -func (x *PrimaryOrgDomainRequest) GetDomain() string { - if x != nil { - return x.Domain +func (m *PrimaryOrgDomainRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PrimaryOrgDomainRequest.Unmarshal(m, b) +} +func (m *PrimaryOrgDomainRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PrimaryOrgDomainRequest.Marshal(b, m, deterministic) +} +func (m *PrimaryOrgDomainRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_PrimaryOrgDomainRequest.Merge(m, src) +} +func (m *PrimaryOrgDomainRequest) XXX_Size() int { + return xxx_messageInfo_PrimaryOrgDomainRequest.Size(m) +} +func (m *PrimaryOrgDomainRequest) XXX_DiscardUnknown() { + xxx_messageInfo_PrimaryOrgDomainRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_PrimaryOrgDomainRequest proto.InternalMessageInfo + +func (m *PrimaryOrgDomainRequest) GetDomain() string { + if m != nil { + return m.Domain } return "" } type RemoveOrgDomainRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *RemoveOrgDomainRequest) Reset() { - *x = RemoveOrgDomainRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[62] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RemoveOrgDomainRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RemoveOrgDomainRequest) ProtoMessage() {} - -func (x *RemoveOrgDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[62] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RemoveOrgDomainRequest.ProtoReflect.Descriptor instead. +func (m *RemoveOrgDomainRequest) Reset() { *m = RemoveOrgDomainRequest{} } +func (m *RemoveOrgDomainRequest) String() string { return proto.CompactTextString(m) } +func (*RemoveOrgDomainRequest) ProtoMessage() {} func (*RemoveOrgDomainRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{62} + return fileDescriptor_edc174f991dc0a25, []int{71} } -func (x *RemoveOrgDomainRequest) GetDomain() string { - if x != nil { - return x.Domain +func (m *RemoveOrgDomainRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveOrgDomainRequest.Unmarshal(m, b) +} +func (m *RemoveOrgDomainRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveOrgDomainRequest.Marshal(b, m, deterministic) +} +func (m *RemoveOrgDomainRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveOrgDomainRequest.Merge(m, src) +} +func (m *RemoveOrgDomainRequest) XXX_Size() int { + return xxx_messageInfo_RemoveOrgDomainRequest.Size(m) +} +func (m *RemoveOrgDomainRequest) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveOrgDomainRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_RemoveOrgDomainRequest proto.InternalMessageInfo + +func (m *RemoveOrgDomainRequest) GetDomain() string { + if m != nil { + return m.Domain } return "" } type OrgDomainSearchResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` - Result []*OrgDomainView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` - ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` - ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` + Result []*OrgDomainView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgDomainSearchResponse) Reset() { - *x = OrgDomainSearchResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[63] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgDomainSearchResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgDomainSearchResponse) ProtoMessage() {} - -func (x *OrgDomainSearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[63] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgDomainSearchResponse.ProtoReflect.Descriptor instead. +func (m *OrgDomainSearchResponse) Reset() { *m = OrgDomainSearchResponse{} } +func (m *OrgDomainSearchResponse) String() string { return proto.CompactTextString(m) } +func (*OrgDomainSearchResponse) ProtoMessage() {} func (*OrgDomainSearchResponse) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{63} + return fileDescriptor_edc174f991dc0a25, []int{72} } -func (x *OrgDomainSearchResponse) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *OrgDomainSearchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgDomainSearchResponse.Unmarshal(m, b) +} +func (m *OrgDomainSearchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgDomainSearchResponse.Marshal(b, m, deterministic) +} +func (m *OrgDomainSearchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgDomainSearchResponse.Merge(m, src) +} +func (m *OrgDomainSearchResponse) XXX_Size() int { + return xxx_messageInfo_OrgDomainSearchResponse.Size(m) +} +func (m *OrgDomainSearchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_OrgDomainSearchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgDomainSearchResponse proto.InternalMessageInfo + +func (m *OrgDomainSearchResponse) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *OrgDomainSearchResponse) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *OrgDomainSearchResponse) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *OrgDomainSearchResponse) GetTotalResult() uint64 { - if x != nil { - return x.TotalResult +func (m *OrgDomainSearchResponse) GetTotalResult() uint64 { + if m != nil { + return m.TotalResult } return 0 } -func (x *OrgDomainSearchResponse) GetResult() []*OrgDomainView { - if x != nil { - return x.Result +func (m *OrgDomainSearchResponse) GetResult() []*OrgDomainView { + if m != nil { + return m.Result } return nil } -func (x *OrgDomainSearchResponse) GetProcessedSequence() uint64 { - if x != nil { - return x.ProcessedSequence +func (m *OrgDomainSearchResponse) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence } return 0 } -func (x *OrgDomainSearchResponse) GetViewTimestamp() *timestamp.Timestamp { - if x != nil { - return x.ViewTimestamp +func (m *OrgDomainSearchResponse) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp } return nil } type OrgDomainSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - Queries []*OrgDomainSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + Queries []*OrgDomainSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgDomainSearchRequest) Reset() { - *x = OrgDomainSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[64] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgDomainSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgDomainSearchRequest) ProtoMessage() {} - -func (x *OrgDomainSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[64] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgDomainSearchRequest.ProtoReflect.Descriptor instead. +func (m *OrgDomainSearchRequest) Reset() { *m = OrgDomainSearchRequest{} } +func (m *OrgDomainSearchRequest) String() string { return proto.CompactTextString(m) } +func (*OrgDomainSearchRequest) ProtoMessage() {} func (*OrgDomainSearchRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{64} + return fileDescriptor_edc174f991dc0a25, []int{73} } -func (x *OrgDomainSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *OrgDomainSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgDomainSearchRequest.Unmarshal(m, b) +} +func (m *OrgDomainSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgDomainSearchRequest.Marshal(b, m, deterministic) +} +func (m *OrgDomainSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgDomainSearchRequest.Merge(m, src) +} +func (m *OrgDomainSearchRequest) XXX_Size() int { + return xxx_messageInfo_OrgDomainSearchRequest.Size(m) +} +func (m *OrgDomainSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_OrgDomainSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgDomainSearchRequest proto.InternalMessageInfo + +func (m *OrgDomainSearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *OrgDomainSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *OrgDomainSearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *OrgDomainSearchRequest) GetQueries() []*OrgDomainSearchQuery { - if x != nil { - return x.Queries +func (m *OrgDomainSearchRequest) GetQueries() []*OrgDomainSearchQuery { + if m != nil { + return m.Queries } return nil } type OrgDomainSearchQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key OrgDomainSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.OrgDomainSearchKey" json:"key,omitempty"` - Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` - Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + Key OrgDomainSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.OrgDomainSearchKey" json:"key,omitempty"` + Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgDomainSearchQuery) Reset() { - *x = OrgDomainSearchQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[65] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgDomainSearchQuery) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgDomainSearchQuery) ProtoMessage() {} - -func (x *OrgDomainSearchQuery) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[65] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgDomainSearchQuery.ProtoReflect.Descriptor instead. +func (m *OrgDomainSearchQuery) Reset() { *m = OrgDomainSearchQuery{} } +func (m *OrgDomainSearchQuery) String() string { return proto.CompactTextString(m) } +func (*OrgDomainSearchQuery) ProtoMessage() {} func (*OrgDomainSearchQuery) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{65} + return fileDescriptor_edc174f991dc0a25, []int{74} } -func (x *OrgDomainSearchQuery) GetKey() OrgDomainSearchKey { - if x != nil { - return x.Key +func (m *OrgDomainSearchQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgDomainSearchQuery.Unmarshal(m, b) +} +func (m *OrgDomainSearchQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgDomainSearchQuery.Marshal(b, m, deterministic) +} +func (m *OrgDomainSearchQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgDomainSearchQuery.Merge(m, src) +} +func (m *OrgDomainSearchQuery) XXX_Size() int { + return xxx_messageInfo_OrgDomainSearchQuery.Size(m) +} +func (m *OrgDomainSearchQuery) XXX_DiscardUnknown() { + xxx_messageInfo_OrgDomainSearchQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgDomainSearchQuery proto.InternalMessageInfo + +func (m *OrgDomainSearchQuery) GetKey() OrgDomainSearchKey { + if m != nil { + return m.Key } return OrgDomainSearchKey_ORGDOMAINSEARCHKEY_UNSPECIFIED } -func (x *OrgDomainSearchQuery) GetMethod() SearchMethod { - if x != nil { - return x.Method +func (m *OrgDomainSearchQuery) GetMethod() SearchMethod { + if m != nil { + return m.Method } return SearchMethod_SEARCHMETHOD_EQUALS } -func (x *OrgDomainSearchQuery) GetValue() string { - if x != nil { - return x.Value +func (m *OrgDomainSearchQuery) GetValue() string { + if m != nil { + return m.Value } return "" } type OrgMemberRoles struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Roles []string `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` + Roles []string `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgMemberRoles) Reset() { - *x = OrgMemberRoles{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[66] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgMemberRoles) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgMemberRoles) ProtoMessage() {} - -func (x *OrgMemberRoles) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[66] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgMemberRoles.ProtoReflect.Descriptor instead. +func (m *OrgMemberRoles) Reset() { *m = OrgMemberRoles{} } +func (m *OrgMemberRoles) String() string { return proto.CompactTextString(m) } +func (*OrgMemberRoles) ProtoMessage() {} func (*OrgMemberRoles) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{66} + return fileDescriptor_edc174f991dc0a25, []int{75} } -func (x *OrgMemberRoles) GetRoles() []string { - if x != nil { - return x.Roles +func (m *OrgMemberRoles) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgMemberRoles.Unmarshal(m, b) +} +func (m *OrgMemberRoles) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgMemberRoles.Marshal(b, m, deterministic) +} +func (m *OrgMemberRoles) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgMemberRoles.Merge(m, src) +} +func (m *OrgMemberRoles) XXX_Size() int { + return xxx_messageInfo_OrgMemberRoles.Size(m) +} +func (m *OrgMemberRoles) XXX_DiscardUnknown() { + xxx_messageInfo_OrgMemberRoles.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgMemberRoles proto.InternalMessageInfo + +func (m *OrgMemberRoles) GetRoles() []string { + if m != nil { + return m.Roles } return nil } type OrgMember struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgMember) Reset() { - *x = OrgMember{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[67] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgMember) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgMember) ProtoMessage() {} - -func (x *OrgMember) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[67] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgMember.ProtoReflect.Descriptor instead. +func (m *OrgMember) Reset() { *m = OrgMember{} } +func (m *OrgMember) String() string { return proto.CompactTextString(m) } +func (*OrgMember) ProtoMessage() {} func (*OrgMember) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{67} + return fileDescriptor_edc174f991dc0a25, []int{76} } -func (x *OrgMember) GetUserId() string { - if x != nil { - return x.UserId +func (m *OrgMember) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgMember.Unmarshal(m, b) +} +func (m *OrgMember) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgMember.Marshal(b, m, deterministic) +} +func (m *OrgMember) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgMember.Merge(m, src) +} +func (m *OrgMember) XXX_Size() int { + return xxx_messageInfo_OrgMember.Size(m) +} +func (m *OrgMember) XXX_DiscardUnknown() { + xxx_messageInfo_OrgMember.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgMember proto.InternalMessageInfo + +func (m *OrgMember) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *OrgMember) GetRoles() []string { - if x != nil { - return x.Roles +func (m *OrgMember) GetRoles() []string { + if m != nil { + return m.Roles } return nil } -func (x *OrgMember) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *OrgMember) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *OrgMember) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *OrgMember) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *OrgMember) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *OrgMember) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } type AddOrgMemberRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *AddOrgMemberRequest) Reset() { - *x = AddOrgMemberRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[68] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddOrgMemberRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddOrgMemberRequest) ProtoMessage() {} - -func (x *AddOrgMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[68] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddOrgMemberRequest.ProtoReflect.Descriptor instead. +func (m *AddOrgMemberRequest) Reset() { *m = AddOrgMemberRequest{} } +func (m *AddOrgMemberRequest) String() string { return proto.CompactTextString(m) } +func (*AddOrgMemberRequest) ProtoMessage() {} func (*AddOrgMemberRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{68} + return fileDescriptor_edc174f991dc0a25, []int{77} } -func (x *AddOrgMemberRequest) GetUserId() string { - if x != nil { - return x.UserId +func (m *AddOrgMemberRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddOrgMemberRequest.Unmarshal(m, b) +} +func (m *AddOrgMemberRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddOrgMemberRequest.Marshal(b, m, deterministic) +} +func (m *AddOrgMemberRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddOrgMemberRequest.Merge(m, src) +} +func (m *AddOrgMemberRequest) XXX_Size() int { + return xxx_messageInfo_AddOrgMemberRequest.Size(m) +} +func (m *AddOrgMemberRequest) XXX_DiscardUnknown() { + xxx_messageInfo_AddOrgMemberRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_AddOrgMemberRequest proto.InternalMessageInfo + +func (m *AddOrgMemberRequest) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *AddOrgMemberRequest) GetRoles() []string { - if x != nil { - return x.Roles +func (m *AddOrgMemberRequest) GetRoles() []string { + if m != nil { + return m.Roles } return nil } type ChangeOrgMemberRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ChangeOrgMemberRequest) Reset() { - *x = ChangeOrgMemberRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChangeOrgMemberRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChangeOrgMemberRequest) ProtoMessage() {} - -func (x *ChangeOrgMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[69] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChangeOrgMemberRequest.ProtoReflect.Descriptor instead. +func (m *ChangeOrgMemberRequest) Reset() { *m = ChangeOrgMemberRequest{} } +func (m *ChangeOrgMemberRequest) String() string { return proto.CompactTextString(m) } +func (*ChangeOrgMemberRequest) ProtoMessage() {} func (*ChangeOrgMemberRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{69} + return fileDescriptor_edc174f991dc0a25, []int{78} } -func (x *ChangeOrgMemberRequest) GetUserId() string { - if x != nil { - return x.UserId +func (m *ChangeOrgMemberRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChangeOrgMemberRequest.Unmarshal(m, b) +} +func (m *ChangeOrgMemberRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChangeOrgMemberRequest.Marshal(b, m, deterministic) +} +func (m *ChangeOrgMemberRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChangeOrgMemberRequest.Merge(m, src) +} +func (m *ChangeOrgMemberRequest) XXX_Size() int { + return xxx_messageInfo_ChangeOrgMemberRequest.Size(m) +} +func (m *ChangeOrgMemberRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ChangeOrgMemberRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ChangeOrgMemberRequest proto.InternalMessageInfo + +func (m *ChangeOrgMemberRequest) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *ChangeOrgMemberRequest) GetRoles() []string { - if x != nil { - return x.Roles +func (m *ChangeOrgMemberRequest) GetRoles() []string { + if m != nil { + return m.Roles } return nil } type RemoveOrgMemberRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *RemoveOrgMemberRequest) Reset() { - *x = RemoveOrgMemberRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[70] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RemoveOrgMemberRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RemoveOrgMemberRequest) ProtoMessage() {} - -func (x *RemoveOrgMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[70] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RemoveOrgMemberRequest.ProtoReflect.Descriptor instead. +func (m *RemoveOrgMemberRequest) Reset() { *m = RemoveOrgMemberRequest{} } +func (m *RemoveOrgMemberRequest) String() string { return proto.CompactTextString(m) } +func (*RemoveOrgMemberRequest) ProtoMessage() {} func (*RemoveOrgMemberRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{70} + return fileDescriptor_edc174f991dc0a25, []int{79} } -func (x *RemoveOrgMemberRequest) GetUserId() string { - if x != nil { - return x.UserId +func (m *RemoveOrgMemberRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveOrgMemberRequest.Unmarshal(m, b) +} +func (m *RemoveOrgMemberRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveOrgMemberRequest.Marshal(b, m, deterministic) +} +func (m *RemoveOrgMemberRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveOrgMemberRequest.Merge(m, src) +} +func (m *RemoveOrgMemberRequest) XXX_Size() int { + return xxx_messageInfo_RemoveOrgMemberRequest.Size(m) +} +func (m *RemoveOrgMemberRequest) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveOrgMemberRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_RemoveOrgMemberRequest proto.InternalMessageInfo + +func (m *RemoveOrgMemberRequest) GetUserId() string { + if m != nil { + return m.UserId } return "" } type OrgMemberSearchResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` - Result []*OrgMemberView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` - ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` - ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` + Result []*OrgMemberView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgMemberSearchResponse) Reset() { - *x = OrgMemberSearchResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgMemberSearchResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgMemberSearchResponse) ProtoMessage() {} - -func (x *OrgMemberSearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[71] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgMemberSearchResponse.ProtoReflect.Descriptor instead. +func (m *OrgMemberSearchResponse) Reset() { *m = OrgMemberSearchResponse{} } +func (m *OrgMemberSearchResponse) String() string { return proto.CompactTextString(m) } +func (*OrgMemberSearchResponse) ProtoMessage() {} func (*OrgMemberSearchResponse) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{71} + return fileDescriptor_edc174f991dc0a25, []int{80} } -func (x *OrgMemberSearchResponse) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *OrgMemberSearchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgMemberSearchResponse.Unmarshal(m, b) +} +func (m *OrgMemberSearchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgMemberSearchResponse.Marshal(b, m, deterministic) +} +func (m *OrgMemberSearchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgMemberSearchResponse.Merge(m, src) +} +func (m *OrgMemberSearchResponse) XXX_Size() int { + return xxx_messageInfo_OrgMemberSearchResponse.Size(m) +} +func (m *OrgMemberSearchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_OrgMemberSearchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgMemberSearchResponse proto.InternalMessageInfo + +func (m *OrgMemberSearchResponse) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *OrgMemberSearchResponse) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *OrgMemberSearchResponse) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *OrgMemberSearchResponse) GetTotalResult() uint64 { - if x != nil { - return x.TotalResult +func (m *OrgMemberSearchResponse) GetTotalResult() uint64 { + if m != nil { + return m.TotalResult } return 0 } -func (x *OrgMemberSearchResponse) GetResult() []*OrgMemberView { - if x != nil { - return x.Result +func (m *OrgMemberSearchResponse) GetResult() []*OrgMemberView { + if m != nil { + return m.Result } return nil } -func (x *OrgMemberSearchResponse) GetProcessedSequence() uint64 { - if x != nil { - return x.ProcessedSequence +func (m *OrgMemberSearchResponse) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence } return 0 } -func (x *OrgMemberSearchResponse) GetViewTimestamp() *timestamp.Timestamp { - if x != nil { - return x.ViewTimestamp +func (m *OrgMemberSearchResponse) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp } return nil } type OrgMemberView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` - UserName string `protobuf:"bytes,6,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` - Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"` - FirstName string `protobuf:"bytes,8,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` - LastName string `protobuf:"bytes,9,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` - DisplayName string `protobuf:"bytes,10,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` + UserName string `protobuf:"bytes,6,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` + Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"` + FirstName string `protobuf:"bytes,8,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,9,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + DisplayName string `protobuf:"bytes,10,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgMemberView) Reset() { - *x = OrgMemberView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgMemberView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgMemberView) ProtoMessage() {} - -func (x *OrgMemberView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[72] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgMemberView.ProtoReflect.Descriptor instead. +func (m *OrgMemberView) Reset() { *m = OrgMemberView{} } +func (m *OrgMemberView) String() string { return proto.CompactTextString(m) } +func (*OrgMemberView) ProtoMessage() {} func (*OrgMemberView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{72} + return fileDescriptor_edc174f991dc0a25, []int{81} } -func (x *OrgMemberView) GetUserId() string { - if x != nil { - return x.UserId +func (m *OrgMemberView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgMemberView.Unmarshal(m, b) +} +func (m *OrgMemberView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgMemberView.Marshal(b, m, deterministic) +} +func (m *OrgMemberView) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgMemberView.Merge(m, src) +} +func (m *OrgMemberView) XXX_Size() int { + return xxx_messageInfo_OrgMemberView.Size(m) +} +func (m *OrgMemberView) XXX_DiscardUnknown() { + xxx_messageInfo_OrgMemberView.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgMemberView proto.InternalMessageInfo + +func (m *OrgMemberView) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *OrgMemberView) GetRoles() []string { - if x != nil { - return x.Roles +func (m *OrgMemberView) GetRoles() []string { + if m != nil { + return m.Roles } return nil } -func (x *OrgMemberView) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *OrgMemberView) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *OrgMemberView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *OrgMemberView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *OrgMemberView) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *OrgMemberView) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *OrgMemberView) GetUserName() string { - if x != nil { - return x.UserName +func (m *OrgMemberView) GetUserName() string { + if m != nil { + return m.UserName } return "" } -func (x *OrgMemberView) GetEmail() string { - if x != nil { - return x.Email +func (m *OrgMemberView) GetEmail() string { + if m != nil { + return m.Email } return "" } -func (x *OrgMemberView) GetFirstName() string { - if x != nil { - return x.FirstName +func (m *OrgMemberView) GetFirstName() string { + if m != nil { + return m.FirstName } return "" } -func (x *OrgMemberView) GetLastName() string { - if x != nil { - return x.LastName +func (m *OrgMemberView) GetLastName() string { + if m != nil { + return m.LastName } return "" } -func (x *OrgMemberView) GetDisplayName() string { - if x != nil { - return x.DisplayName +func (m *OrgMemberView) GetDisplayName() string { + if m != nil { + return m.DisplayName } return "" } type OrgMemberSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - Queries []*OrgMemberSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + Queries []*OrgMemberSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgMemberSearchRequest) Reset() { - *x = OrgMemberSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgMemberSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgMemberSearchRequest) ProtoMessage() {} - -func (x *OrgMemberSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[73] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgMemberSearchRequest.ProtoReflect.Descriptor instead. +func (m *OrgMemberSearchRequest) Reset() { *m = OrgMemberSearchRequest{} } +func (m *OrgMemberSearchRequest) String() string { return proto.CompactTextString(m) } +func (*OrgMemberSearchRequest) ProtoMessage() {} func (*OrgMemberSearchRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{73} + return fileDescriptor_edc174f991dc0a25, []int{82} } -func (x *OrgMemberSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *OrgMemberSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgMemberSearchRequest.Unmarshal(m, b) +} +func (m *OrgMemberSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgMemberSearchRequest.Marshal(b, m, deterministic) +} +func (m *OrgMemberSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgMemberSearchRequest.Merge(m, src) +} +func (m *OrgMemberSearchRequest) XXX_Size() int { + return xxx_messageInfo_OrgMemberSearchRequest.Size(m) +} +func (m *OrgMemberSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_OrgMemberSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgMemberSearchRequest proto.InternalMessageInfo + +func (m *OrgMemberSearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *OrgMemberSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *OrgMemberSearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *OrgMemberSearchRequest) GetQueries() []*OrgMemberSearchQuery { - if x != nil { - return x.Queries +func (m *OrgMemberSearchRequest) GetQueries() []*OrgMemberSearchQuery { + if m != nil { + return m.Queries } return nil } type OrgMemberSearchQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key OrgMemberSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.OrgMemberSearchKey" json:"key,omitempty"` - Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` - Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + Key OrgMemberSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.OrgMemberSearchKey" json:"key,omitempty"` + Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OrgMemberSearchQuery) Reset() { - *x = OrgMemberSearchQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[74] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrgMemberSearchQuery) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrgMemberSearchQuery) ProtoMessage() {} - -func (x *OrgMemberSearchQuery) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[74] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrgMemberSearchQuery.ProtoReflect.Descriptor instead. +func (m *OrgMemberSearchQuery) Reset() { *m = OrgMemberSearchQuery{} } +func (m *OrgMemberSearchQuery) String() string { return proto.CompactTextString(m) } +func (*OrgMemberSearchQuery) ProtoMessage() {} func (*OrgMemberSearchQuery) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{74} + return fileDescriptor_edc174f991dc0a25, []int{83} } -func (x *OrgMemberSearchQuery) GetKey() OrgMemberSearchKey { - if x != nil { - return x.Key +func (m *OrgMemberSearchQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrgMemberSearchQuery.Unmarshal(m, b) +} +func (m *OrgMemberSearchQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrgMemberSearchQuery.Marshal(b, m, deterministic) +} +func (m *OrgMemberSearchQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrgMemberSearchQuery.Merge(m, src) +} +func (m *OrgMemberSearchQuery) XXX_Size() int { + return xxx_messageInfo_OrgMemberSearchQuery.Size(m) +} +func (m *OrgMemberSearchQuery) XXX_DiscardUnknown() { + xxx_messageInfo_OrgMemberSearchQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_OrgMemberSearchQuery proto.InternalMessageInfo + +func (m *OrgMemberSearchQuery) GetKey() OrgMemberSearchKey { + if m != nil { + return m.Key } return OrgMemberSearchKey_ORGMEMBERSEARCHKEY_UNSPECIFIED } -func (x *OrgMemberSearchQuery) GetMethod() SearchMethod { - if x != nil { - return x.Method +func (m *OrgMemberSearchQuery) GetMethod() SearchMethod { + if m != nil { + return m.Method } return SearchMethod_SEARCHMETHOD_EQUALS } -func (x *OrgMemberSearchQuery) GetValue() string { - if x != nil { - return x.Value +func (m *OrgMemberSearchQuery) GetValue() string { + if m != nil { + return m.Value } return "" } type ProjectCreateRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectCreateRequest) Reset() { - *x = ProjectCreateRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[75] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectCreateRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectCreateRequest) ProtoMessage() {} - -func (x *ProjectCreateRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[75] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectCreateRequest.ProtoReflect.Descriptor instead. +func (m *ProjectCreateRequest) Reset() { *m = ProjectCreateRequest{} } +func (m *ProjectCreateRequest) String() string { return proto.CompactTextString(m) } +func (*ProjectCreateRequest) ProtoMessage() {} func (*ProjectCreateRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{75} + return fileDescriptor_edc174f991dc0a25, []int{84} } -func (x *ProjectCreateRequest) GetName() string { - if x != nil { - return x.Name +func (m *ProjectCreateRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectCreateRequest.Unmarshal(m, b) +} +func (m *ProjectCreateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectCreateRequest.Marshal(b, m, deterministic) +} +func (m *ProjectCreateRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectCreateRequest.Merge(m, src) +} +func (m *ProjectCreateRequest) XXX_Size() int { + return xxx_messageInfo_ProjectCreateRequest.Size(m) +} +func (m *ProjectCreateRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectCreateRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectCreateRequest proto.InternalMessageInfo + +func (m *ProjectCreateRequest) GetName() string { + if m != nil { + return m.Name } return "" } type ProjectUpdateRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectUpdateRequest) Reset() { - *x = ProjectUpdateRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[76] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectUpdateRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectUpdateRequest) ProtoMessage() {} - -func (x *ProjectUpdateRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[76] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectUpdateRequest.ProtoReflect.Descriptor instead. +func (m *ProjectUpdateRequest) Reset() { *m = ProjectUpdateRequest{} } +func (m *ProjectUpdateRequest) String() string { return proto.CompactTextString(m) } +func (*ProjectUpdateRequest) ProtoMessage() {} func (*ProjectUpdateRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{76} + return fileDescriptor_edc174f991dc0a25, []int{85} } -func (x *ProjectUpdateRequest) GetId() string { - if x != nil { - return x.Id +func (m *ProjectUpdateRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectUpdateRequest.Unmarshal(m, b) +} +func (m *ProjectUpdateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectUpdateRequest.Marshal(b, m, deterministic) +} +func (m *ProjectUpdateRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectUpdateRequest.Merge(m, src) +} +func (m *ProjectUpdateRequest) XXX_Size() int { + return xxx_messageInfo_ProjectUpdateRequest.Size(m) +} +func (m *ProjectUpdateRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectUpdateRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectUpdateRequest proto.InternalMessageInfo + +func (m *ProjectUpdateRequest) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *ProjectUpdateRequest) GetName() string { - if x != nil { - return x.Name +func (m *ProjectUpdateRequest) GetName() string { + if m != nil { + return m.Name } return "" } type ProjectSearchResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` - Result []*ProjectView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` - ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` - ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` + Result []*ProjectView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectSearchResponse) Reset() { - *x = ProjectSearchResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[77] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectSearchResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectSearchResponse) ProtoMessage() {} - -func (x *ProjectSearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[77] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectSearchResponse.ProtoReflect.Descriptor instead. +func (m *ProjectSearchResponse) Reset() { *m = ProjectSearchResponse{} } +func (m *ProjectSearchResponse) String() string { return proto.CompactTextString(m) } +func (*ProjectSearchResponse) ProtoMessage() {} func (*ProjectSearchResponse) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{77} + return fileDescriptor_edc174f991dc0a25, []int{86} } -func (x *ProjectSearchResponse) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *ProjectSearchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectSearchResponse.Unmarshal(m, b) +} +func (m *ProjectSearchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectSearchResponse.Marshal(b, m, deterministic) +} +func (m *ProjectSearchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectSearchResponse.Merge(m, src) +} +func (m *ProjectSearchResponse) XXX_Size() int { + return xxx_messageInfo_ProjectSearchResponse.Size(m) +} +func (m *ProjectSearchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectSearchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectSearchResponse proto.InternalMessageInfo + +func (m *ProjectSearchResponse) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *ProjectSearchResponse) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *ProjectSearchResponse) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *ProjectSearchResponse) GetTotalResult() uint64 { - if x != nil { - return x.TotalResult +func (m *ProjectSearchResponse) GetTotalResult() uint64 { + if m != nil { + return m.TotalResult } return 0 } -func (x *ProjectSearchResponse) GetResult() []*ProjectView { - if x != nil { - return x.Result +func (m *ProjectSearchResponse) GetResult() []*ProjectView { + if m != nil { + return m.Result } return nil } -func (x *ProjectSearchResponse) GetProcessedSequence() uint64 { - if x != nil { - return x.ProcessedSequence +func (m *ProjectSearchResponse) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence } return 0 } -func (x *ProjectSearchResponse) GetViewTimestamp() *timestamp.Timestamp { - if x != nil { - return x.ViewTimestamp +func (m *ProjectSearchResponse) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp } return nil } type ProjectView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - State ProjectState `protobuf:"varint,3,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.ProjectState" json:"state,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ResourceOwner string `protobuf:"bytes,6,opt,name=resource_owner,json=resourceOwner,proto3" json:"resource_owner,omitempty"` - Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + State ProjectState `protobuf:"varint,3,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.ProjectState" json:"state,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ResourceOwner string `protobuf:"bytes,6,opt,name=resource_owner,json=resourceOwner,proto3" json:"resource_owner,omitempty"` + Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectView) Reset() { - *x = ProjectView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[78] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectView) ProtoMessage() {} - -func (x *ProjectView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[78] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectView.ProtoReflect.Descriptor instead. +func (m *ProjectView) Reset() { *m = ProjectView{} } +func (m *ProjectView) String() string { return proto.CompactTextString(m) } +func (*ProjectView) ProtoMessage() {} func (*ProjectView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{78} + return fileDescriptor_edc174f991dc0a25, []int{87} } -func (x *ProjectView) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *ProjectView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectView.Unmarshal(m, b) +} +func (m *ProjectView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectView.Marshal(b, m, deterministic) +} +func (m *ProjectView) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectView.Merge(m, src) +} +func (m *ProjectView) XXX_Size() int { + return xxx_messageInfo_ProjectView.Size(m) +} +func (m *ProjectView) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectView.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectView proto.InternalMessageInfo + +func (m *ProjectView) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *ProjectView) GetName() string { - if x != nil { - return x.Name +func (m *ProjectView) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *ProjectView) GetState() ProjectState { - if x != nil { - return x.State +func (m *ProjectView) GetState() ProjectState { + if m != nil { + return m.State } return ProjectState_PROJECTSTATE_UNSPECIFIED } -func (x *ProjectView) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *ProjectView) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *ProjectView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *ProjectView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *ProjectView) GetResourceOwner() string { - if x != nil { - return x.ResourceOwner +func (m *ProjectView) GetResourceOwner() string { + if m != nil { + return m.ResourceOwner } return "" } -func (x *ProjectView) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *ProjectView) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } type ProjectSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - Queries []*ProjectSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + Queries []*ProjectSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectSearchRequest) Reset() { - *x = ProjectSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[79] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectSearchRequest) ProtoMessage() {} - -func (x *ProjectSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[79] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectSearchRequest.ProtoReflect.Descriptor instead. +func (m *ProjectSearchRequest) Reset() { *m = ProjectSearchRequest{} } +func (m *ProjectSearchRequest) String() string { return proto.CompactTextString(m) } +func (*ProjectSearchRequest) ProtoMessage() {} func (*ProjectSearchRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{79} + return fileDescriptor_edc174f991dc0a25, []int{88} } -func (x *ProjectSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *ProjectSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectSearchRequest.Unmarshal(m, b) +} +func (m *ProjectSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectSearchRequest.Marshal(b, m, deterministic) +} +func (m *ProjectSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectSearchRequest.Merge(m, src) +} +func (m *ProjectSearchRequest) XXX_Size() int { + return xxx_messageInfo_ProjectSearchRequest.Size(m) +} +func (m *ProjectSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectSearchRequest proto.InternalMessageInfo + +func (m *ProjectSearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *ProjectSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *ProjectSearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *ProjectSearchRequest) GetQueries() []*ProjectSearchQuery { - if x != nil { - return x.Queries +func (m *ProjectSearchRequest) GetQueries() []*ProjectSearchQuery { + if m != nil { + return m.Queries } return nil } type ProjectSearchQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key ProjectSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.ProjectSearchKey" json:"key,omitempty"` - Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` - Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + Key ProjectSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.ProjectSearchKey" json:"key,omitempty"` + Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectSearchQuery) Reset() { - *x = ProjectSearchQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[80] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectSearchQuery) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectSearchQuery) ProtoMessage() {} - -func (x *ProjectSearchQuery) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[80] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectSearchQuery.ProtoReflect.Descriptor instead. +func (m *ProjectSearchQuery) Reset() { *m = ProjectSearchQuery{} } +func (m *ProjectSearchQuery) String() string { return proto.CompactTextString(m) } +func (*ProjectSearchQuery) ProtoMessage() {} func (*ProjectSearchQuery) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{80} + return fileDescriptor_edc174f991dc0a25, []int{89} } -func (x *ProjectSearchQuery) GetKey() ProjectSearchKey { - if x != nil { - return x.Key +func (m *ProjectSearchQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectSearchQuery.Unmarshal(m, b) +} +func (m *ProjectSearchQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectSearchQuery.Marshal(b, m, deterministic) +} +func (m *ProjectSearchQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectSearchQuery.Merge(m, src) +} +func (m *ProjectSearchQuery) XXX_Size() int { + return xxx_messageInfo_ProjectSearchQuery.Size(m) +} +func (m *ProjectSearchQuery) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectSearchQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectSearchQuery proto.InternalMessageInfo + +func (m *ProjectSearchQuery) GetKey() ProjectSearchKey { + if m != nil { + return m.Key } return ProjectSearchKey_PROJECTSEARCHKEY_UNSPECIFIED } -func (x *ProjectSearchQuery) GetMethod() SearchMethod { - if x != nil { - return x.Method +func (m *ProjectSearchQuery) GetMethod() SearchMethod { + if m != nil { + return m.Method } return SearchMethod_SEARCHMETHOD_EQUALS } -func (x *ProjectSearchQuery) GetValue() string { - if x != nil { - return x.Value +func (m *ProjectSearchQuery) GetValue() string { + if m != nil { + return m.Value } return "" } type Projects struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Projects []*Project `protobuf:"bytes,1,rep,name=projects,proto3" json:"projects,omitempty"` + Projects []*Project `protobuf:"bytes,1,rep,name=projects,proto3" json:"projects,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *Projects) Reset() { - *x = Projects{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[81] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Projects) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Projects) ProtoMessage() {} - -func (x *Projects) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[81] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Projects.ProtoReflect.Descriptor instead. +func (m *Projects) Reset() { *m = Projects{} } +func (m *Projects) String() string { return proto.CompactTextString(m) } +func (*Projects) ProtoMessage() {} func (*Projects) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{81} + return fileDescriptor_edc174f991dc0a25, []int{90} } -func (x *Projects) GetProjects() []*Project { - if x != nil { - return x.Projects +func (m *Projects) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Projects.Unmarshal(m, b) +} +func (m *Projects) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Projects.Marshal(b, m, deterministic) +} +func (m *Projects) XXX_Merge(src proto.Message) { + xxx_messageInfo_Projects.Merge(m, src) +} +func (m *Projects) XXX_Size() int { + return xxx_messageInfo_Projects.Size(m) +} +func (m *Projects) XXX_DiscardUnknown() { + xxx_messageInfo_Projects.DiscardUnknown(m) +} + +var xxx_messageInfo_Projects proto.InternalMessageInfo + +func (m *Projects) GetProjects() []*Project { + if m != nil { + return m.Projects } return nil } type Project struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - State ProjectState `protobuf:"varint,3,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.ProjectState" json:"state,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - Sequence uint64 `protobuf:"varint,6,opt,name=sequence,proto3" json:"sequence,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + State ProjectState `protobuf:"varint,3,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.ProjectState" json:"state,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + Sequence uint64 `protobuf:"varint,6,opt,name=sequence,proto3" json:"sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *Project) Reset() { - *x = Project{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[82] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Project) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Project) ProtoMessage() {} - -func (x *Project) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[82] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Project.ProtoReflect.Descriptor instead. +func (m *Project) Reset() { *m = Project{} } +func (m *Project) String() string { return proto.CompactTextString(m) } +func (*Project) ProtoMessage() {} func (*Project) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{82} + return fileDescriptor_edc174f991dc0a25, []int{91} } -func (x *Project) GetId() string { - if x != nil { - return x.Id +func (m *Project) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Project.Unmarshal(m, b) +} +func (m *Project) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Project.Marshal(b, m, deterministic) +} +func (m *Project) XXX_Merge(src proto.Message) { + xxx_messageInfo_Project.Merge(m, src) +} +func (m *Project) XXX_Size() int { + return xxx_messageInfo_Project.Size(m) +} +func (m *Project) XXX_DiscardUnknown() { + xxx_messageInfo_Project.DiscardUnknown(m) +} + +var xxx_messageInfo_Project proto.InternalMessageInfo + +func (m *Project) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *Project) GetName() string { - if x != nil { - return x.Name +func (m *Project) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *Project) GetState() ProjectState { - if x != nil { - return x.State +func (m *Project) GetState() ProjectState { + if m != nil { + return m.State } return ProjectState_PROJECTSTATE_UNSPECIFIED } -func (x *Project) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *Project) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *Project) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *Project) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *Project) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *Project) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } type ProjectMemberRoles struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Roles []string `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` + Roles []string `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectMemberRoles) Reset() { - *x = ProjectMemberRoles{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[83] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectMemberRoles) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectMemberRoles) ProtoMessage() {} - -func (x *ProjectMemberRoles) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[83] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectMemberRoles.ProtoReflect.Descriptor instead. +func (m *ProjectMemberRoles) Reset() { *m = ProjectMemberRoles{} } +func (m *ProjectMemberRoles) String() string { return proto.CompactTextString(m) } +func (*ProjectMemberRoles) ProtoMessage() {} func (*ProjectMemberRoles) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{83} + return fileDescriptor_edc174f991dc0a25, []int{92} } -func (x *ProjectMemberRoles) GetRoles() []string { - if x != nil { - return x.Roles +func (m *ProjectMemberRoles) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectMemberRoles.Unmarshal(m, b) +} +func (m *ProjectMemberRoles) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectMemberRoles.Marshal(b, m, deterministic) +} +func (m *ProjectMemberRoles) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectMemberRoles.Merge(m, src) +} +func (m *ProjectMemberRoles) XXX_Size() int { + return xxx_messageInfo_ProjectMemberRoles.Size(m) +} +func (m *ProjectMemberRoles) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectMemberRoles.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectMemberRoles proto.InternalMessageInfo + +func (m *ProjectMemberRoles) GetRoles() []string { + if m != nil { + return m.Roles } return nil } type ProjectMember struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectMember) Reset() { - *x = ProjectMember{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[84] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectMember) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectMember) ProtoMessage() {} - -func (x *ProjectMember) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[84] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectMember.ProtoReflect.Descriptor instead. +func (m *ProjectMember) Reset() { *m = ProjectMember{} } +func (m *ProjectMember) String() string { return proto.CompactTextString(m) } +func (*ProjectMember) ProtoMessage() {} func (*ProjectMember) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{84} + return fileDescriptor_edc174f991dc0a25, []int{93} } -func (x *ProjectMember) GetUserId() string { - if x != nil { - return x.UserId +func (m *ProjectMember) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectMember.Unmarshal(m, b) +} +func (m *ProjectMember) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectMember.Marshal(b, m, deterministic) +} +func (m *ProjectMember) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectMember.Merge(m, src) +} +func (m *ProjectMember) XXX_Size() int { + return xxx_messageInfo_ProjectMember.Size(m) +} +func (m *ProjectMember) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectMember.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectMember proto.InternalMessageInfo + +func (m *ProjectMember) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *ProjectMember) GetRoles() []string { - if x != nil { - return x.Roles +func (m *ProjectMember) GetRoles() []string { + if m != nil { + return m.Roles } return nil } -func (x *ProjectMember) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *ProjectMember) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *ProjectMember) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *ProjectMember) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *ProjectMember) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *ProjectMember) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } type ProjectMemberAdd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Roles []string `protobuf:"bytes,3,rep,name=roles,proto3" json:"roles,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Roles []string `protobuf:"bytes,3,rep,name=roles,proto3" json:"roles,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectMemberAdd) Reset() { - *x = ProjectMemberAdd{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[85] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectMemberAdd) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectMemberAdd) ProtoMessage() {} - -func (x *ProjectMemberAdd) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[85] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectMemberAdd.ProtoReflect.Descriptor instead. +func (m *ProjectMemberAdd) Reset() { *m = ProjectMemberAdd{} } +func (m *ProjectMemberAdd) String() string { return proto.CompactTextString(m) } +func (*ProjectMemberAdd) ProtoMessage() {} func (*ProjectMemberAdd) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{85} + return fileDescriptor_edc174f991dc0a25, []int{94} } -func (x *ProjectMemberAdd) GetId() string { - if x != nil { - return x.Id +func (m *ProjectMemberAdd) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectMemberAdd.Unmarshal(m, b) +} +func (m *ProjectMemberAdd) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectMemberAdd.Marshal(b, m, deterministic) +} +func (m *ProjectMemberAdd) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectMemberAdd.Merge(m, src) +} +func (m *ProjectMemberAdd) XXX_Size() int { + return xxx_messageInfo_ProjectMemberAdd.Size(m) +} +func (m *ProjectMemberAdd) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectMemberAdd.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectMemberAdd proto.InternalMessageInfo + +func (m *ProjectMemberAdd) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *ProjectMemberAdd) GetUserId() string { - if x != nil { - return x.UserId +func (m *ProjectMemberAdd) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *ProjectMemberAdd) GetRoles() []string { - if x != nil { - return x.Roles +func (m *ProjectMemberAdd) GetRoles() []string { + if m != nil { + return m.Roles } return nil } type ProjectMemberChange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Roles []string `protobuf:"bytes,3,rep,name=roles,proto3" json:"roles,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Roles []string `protobuf:"bytes,3,rep,name=roles,proto3" json:"roles,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectMemberChange) Reset() { - *x = ProjectMemberChange{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[86] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectMemberChange) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectMemberChange) ProtoMessage() {} - -func (x *ProjectMemberChange) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[86] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectMemberChange.ProtoReflect.Descriptor instead. +func (m *ProjectMemberChange) Reset() { *m = ProjectMemberChange{} } +func (m *ProjectMemberChange) String() string { return proto.CompactTextString(m) } +func (*ProjectMemberChange) ProtoMessage() {} func (*ProjectMemberChange) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{86} + return fileDescriptor_edc174f991dc0a25, []int{95} } -func (x *ProjectMemberChange) GetId() string { - if x != nil { - return x.Id +func (m *ProjectMemberChange) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectMemberChange.Unmarshal(m, b) +} +func (m *ProjectMemberChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectMemberChange.Marshal(b, m, deterministic) +} +func (m *ProjectMemberChange) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectMemberChange.Merge(m, src) +} +func (m *ProjectMemberChange) XXX_Size() int { + return xxx_messageInfo_ProjectMemberChange.Size(m) +} +func (m *ProjectMemberChange) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectMemberChange.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectMemberChange proto.InternalMessageInfo + +func (m *ProjectMemberChange) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *ProjectMemberChange) GetUserId() string { - if x != nil { - return x.UserId +func (m *ProjectMemberChange) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *ProjectMemberChange) GetRoles() []string { - if x != nil { - return x.Roles +func (m *ProjectMemberChange) GetRoles() []string { + if m != nil { + return m.Roles } return nil } type ProjectMemberRemove struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectMemberRemove) Reset() { - *x = ProjectMemberRemove{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[87] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectMemberRemove) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectMemberRemove) ProtoMessage() {} - -func (x *ProjectMemberRemove) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[87] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectMemberRemove.ProtoReflect.Descriptor instead. +func (m *ProjectMemberRemove) Reset() { *m = ProjectMemberRemove{} } +func (m *ProjectMemberRemove) String() string { return proto.CompactTextString(m) } +func (*ProjectMemberRemove) ProtoMessage() {} func (*ProjectMemberRemove) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{87} + return fileDescriptor_edc174f991dc0a25, []int{96} } -func (x *ProjectMemberRemove) GetId() string { - if x != nil { - return x.Id +func (m *ProjectMemberRemove) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectMemberRemove.Unmarshal(m, b) +} +func (m *ProjectMemberRemove) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectMemberRemove.Marshal(b, m, deterministic) +} +func (m *ProjectMemberRemove) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectMemberRemove.Merge(m, src) +} +func (m *ProjectMemberRemove) XXX_Size() int { + return xxx_messageInfo_ProjectMemberRemove.Size(m) +} +func (m *ProjectMemberRemove) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectMemberRemove.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectMemberRemove proto.InternalMessageInfo + +func (m *ProjectMemberRemove) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *ProjectMemberRemove) GetUserId() string { - if x != nil { - return x.UserId +func (m *ProjectMemberRemove) GetUserId() string { + if m != nil { + return m.UserId } return "" } type ProjectRoleAdd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` - DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - Group string `protobuf:"bytes,4,opt,name=group,proto3" json:"group,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + Group string `protobuf:"bytes,4,opt,name=group,proto3" json:"group,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectRoleAdd) Reset() { - *x = ProjectRoleAdd{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[88] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectRoleAdd) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectRoleAdd) ProtoMessage() {} - -func (x *ProjectRoleAdd) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[88] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectRoleAdd.ProtoReflect.Descriptor instead. +func (m *ProjectRoleAdd) Reset() { *m = ProjectRoleAdd{} } +func (m *ProjectRoleAdd) String() string { return proto.CompactTextString(m) } +func (*ProjectRoleAdd) ProtoMessage() {} func (*ProjectRoleAdd) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{88} + return fileDescriptor_edc174f991dc0a25, []int{97} } -func (x *ProjectRoleAdd) GetId() string { - if x != nil { - return x.Id +func (m *ProjectRoleAdd) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectRoleAdd.Unmarshal(m, b) +} +func (m *ProjectRoleAdd) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectRoleAdd.Marshal(b, m, deterministic) +} +func (m *ProjectRoleAdd) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectRoleAdd.Merge(m, src) +} +func (m *ProjectRoleAdd) XXX_Size() int { + return xxx_messageInfo_ProjectRoleAdd.Size(m) +} +func (m *ProjectRoleAdd) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectRoleAdd.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectRoleAdd proto.InternalMessageInfo + +func (m *ProjectRoleAdd) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *ProjectRoleAdd) GetKey() string { - if x != nil { - return x.Key +func (m *ProjectRoleAdd) GetKey() string { + if m != nil { + return m.Key } return "" } -func (x *ProjectRoleAdd) GetDisplayName() string { - if x != nil { - return x.DisplayName +func (m *ProjectRoleAdd) GetDisplayName() string { + if m != nil { + return m.DisplayName } return "" } -func (x *ProjectRoleAdd) GetGroup() string { - if x != nil { - return x.Group +func (m *ProjectRoleAdd) GetGroup() string { + if m != nil { + return m.Group } return "" } type ProjectRoleAddBulk struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - ProjectRoles []*ProjectRoleAdd `protobuf:"bytes,2,rep,name=project_roles,json=projectRoles,proto3" json:"project_roles,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + ProjectRoles []*ProjectRoleAdd `protobuf:"bytes,2,rep,name=project_roles,json=projectRoles,proto3" json:"project_roles,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectRoleAddBulk) Reset() { - *x = ProjectRoleAddBulk{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[89] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectRoleAddBulk) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectRoleAddBulk) ProtoMessage() {} - -func (x *ProjectRoleAddBulk) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[89] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectRoleAddBulk.ProtoReflect.Descriptor instead. +func (m *ProjectRoleAddBulk) Reset() { *m = ProjectRoleAddBulk{} } +func (m *ProjectRoleAddBulk) String() string { return proto.CompactTextString(m) } +func (*ProjectRoleAddBulk) ProtoMessage() {} func (*ProjectRoleAddBulk) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{89} + return fileDescriptor_edc174f991dc0a25, []int{98} } -func (x *ProjectRoleAddBulk) GetId() string { - if x != nil { - return x.Id +func (m *ProjectRoleAddBulk) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectRoleAddBulk.Unmarshal(m, b) +} +func (m *ProjectRoleAddBulk) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectRoleAddBulk.Marshal(b, m, deterministic) +} +func (m *ProjectRoleAddBulk) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectRoleAddBulk.Merge(m, src) +} +func (m *ProjectRoleAddBulk) XXX_Size() int { + return xxx_messageInfo_ProjectRoleAddBulk.Size(m) +} +func (m *ProjectRoleAddBulk) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectRoleAddBulk.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectRoleAddBulk proto.InternalMessageInfo + +func (m *ProjectRoleAddBulk) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *ProjectRoleAddBulk) GetProjectRoles() []*ProjectRoleAdd { - if x != nil { - return x.ProjectRoles +func (m *ProjectRoleAddBulk) GetProjectRoles() []*ProjectRoleAdd { + if m != nil { + return m.ProjectRoles } return nil } type ProjectRoleChange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` - DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - Group string `protobuf:"bytes,4,opt,name=group,proto3" json:"group,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + Group string `protobuf:"bytes,4,opt,name=group,proto3" json:"group,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectRoleChange) Reset() { - *x = ProjectRoleChange{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[90] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectRoleChange) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectRoleChange) ProtoMessage() {} - -func (x *ProjectRoleChange) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[90] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectRoleChange.ProtoReflect.Descriptor instead. +func (m *ProjectRoleChange) Reset() { *m = ProjectRoleChange{} } +func (m *ProjectRoleChange) String() string { return proto.CompactTextString(m) } +func (*ProjectRoleChange) ProtoMessage() {} func (*ProjectRoleChange) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{90} + return fileDescriptor_edc174f991dc0a25, []int{99} } -func (x *ProjectRoleChange) GetId() string { - if x != nil { - return x.Id +func (m *ProjectRoleChange) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectRoleChange.Unmarshal(m, b) +} +func (m *ProjectRoleChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectRoleChange.Marshal(b, m, deterministic) +} +func (m *ProjectRoleChange) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectRoleChange.Merge(m, src) +} +func (m *ProjectRoleChange) XXX_Size() int { + return xxx_messageInfo_ProjectRoleChange.Size(m) +} +func (m *ProjectRoleChange) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectRoleChange.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectRoleChange proto.InternalMessageInfo + +func (m *ProjectRoleChange) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *ProjectRoleChange) GetKey() string { - if x != nil { - return x.Key +func (m *ProjectRoleChange) GetKey() string { + if m != nil { + return m.Key } return "" } -func (x *ProjectRoleChange) GetDisplayName() string { - if x != nil { - return x.DisplayName +func (m *ProjectRoleChange) GetDisplayName() string { + if m != nil { + return m.DisplayName } return "" } -func (x *ProjectRoleChange) GetGroup() string { - if x != nil { - return x.Group +func (m *ProjectRoleChange) GetGroup() string { + if m != nil { + return m.Group } return "" } type ProjectRole struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` - DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - Group string `protobuf:"bytes,6,opt,name=group,proto3" json:"group,omitempty"` - Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Group string `protobuf:"bytes,6,opt,name=group,proto3" json:"group,omitempty"` + Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectRole) Reset() { - *x = ProjectRole{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[91] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectRole) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectRole) ProtoMessage() {} - -func (x *ProjectRole) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[91] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectRole.ProtoReflect.Descriptor instead. +func (m *ProjectRole) Reset() { *m = ProjectRole{} } +func (m *ProjectRole) String() string { return proto.CompactTextString(m) } +func (*ProjectRole) ProtoMessage() {} func (*ProjectRole) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{91} + return fileDescriptor_edc174f991dc0a25, []int{100} } -func (x *ProjectRole) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *ProjectRole) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectRole.Unmarshal(m, b) +} +func (m *ProjectRole) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectRole.Marshal(b, m, deterministic) +} +func (m *ProjectRole) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectRole.Merge(m, src) +} +func (m *ProjectRole) XXX_Size() int { + return xxx_messageInfo_ProjectRole.Size(m) +} +func (m *ProjectRole) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectRole.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectRole proto.InternalMessageInfo + +func (m *ProjectRole) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *ProjectRole) GetKey() string { - if x != nil { - return x.Key +func (m *ProjectRole) GetKey() string { + if m != nil { + return m.Key } return "" } -func (x *ProjectRole) GetDisplayName() string { - if x != nil { - return x.DisplayName +func (m *ProjectRole) GetDisplayName() string { + if m != nil { + return m.DisplayName } return "" } -func (x *ProjectRole) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *ProjectRole) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *ProjectRole) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *ProjectRole) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *ProjectRole) GetGroup() string { - if x != nil { - return x.Group +func (m *ProjectRole) GetGroup() string { + if m != nil { + return m.Group } return "" } -func (x *ProjectRole) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *ProjectRole) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } type ProjectRoleView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` - DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - Group string `protobuf:"bytes,6,opt,name=group,proto3" json:"group,omitempty"` - Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + Group string `protobuf:"bytes,6,opt,name=group,proto3" json:"group,omitempty"` + Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectRoleView) Reset() { - *x = ProjectRoleView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[92] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectRoleView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectRoleView) ProtoMessage() {} - -func (x *ProjectRoleView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[92] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectRoleView.ProtoReflect.Descriptor instead. +func (m *ProjectRoleView) Reset() { *m = ProjectRoleView{} } +func (m *ProjectRoleView) String() string { return proto.CompactTextString(m) } +func (*ProjectRoleView) ProtoMessage() {} func (*ProjectRoleView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{92} + return fileDescriptor_edc174f991dc0a25, []int{101} } -func (x *ProjectRoleView) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *ProjectRoleView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectRoleView.Unmarshal(m, b) +} +func (m *ProjectRoleView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectRoleView.Marshal(b, m, deterministic) +} +func (m *ProjectRoleView) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectRoleView.Merge(m, src) +} +func (m *ProjectRoleView) XXX_Size() int { + return xxx_messageInfo_ProjectRoleView.Size(m) +} +func (m *ProjectRoleView) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectRoleView.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectRoleView proto.InternalMessageInfo + +func (m *ProjectRoleView) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *ProjectRoleView) GetKey() string { - if x != nil { - return x.Key +func (m *ProjectRoleView) GetKey() string { + if m != nil { + return m.Key } return "" } -func (x *ProjectRoleView) GetDisplayName() string { - if x != nil { - return x.DisplayName +func (m *ProjectRoleView) GetDisplayName() string { + if m != nil { + return m.DisplayName } return "" } -func (x *ProjectRoleView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *ProjectRoleView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *ProjectRoleView) GetGroup() string { - if x != nil { - return x.Group +func (m *ProjectRoleView) GetGroup() string { + if m != nil { + return m.Group } return "" } -func (x *ProjectRoleView) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *ProjectRoleView) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } type ProjectRoleRemove struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectRoleRemove) Reset() { - *x = ProjectRoleRemove{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[93] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectRoleRemove) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectRoleRemove) ProtoMessage() {} - -func (x *ProjectRoleRemove) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[93] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectRoleRemove.ProtoReflect.Descriptor instead. +func (m *ProjectRoleRemove) Reset() { *m = ProjectRoleRemove{} } +func (m *ProjectRoleRemove) String() string { return proto.CompactTextString(m) } +func (*ProjectRoleRemove) ProtoMessage() {} func (*ProjectRoleRemove) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{93} + return fileDescriptor_edc174f991dc0a25, []int{102} } -func (x *ProjectRoleRemove) GetId() string { - if x != nil { - return x.Id +func (m *ProjectRoleRemove) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectRoleRemove.Unmarshal(m, b) +} +func (m *ProjectRoleRemove) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectRoleRemove.Marshal(b, m, deterministic) +} +func (m *ProjectRoleRemove) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectRoleRemove.Merge(m, src) +} +func (m *ProjectRoleRemove) XXX_Size() int { + return xxx_messageInfo_ProjectRoleRemove.Size(m) +} +func (m *ProjectRoleRemove) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectRoleRemove.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectRoleRemove proto.InternalMessageInfo + +func (m *ProjectRoleRemove) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *ProjectRoleRemove) GetKey() string { - if x != nil { - return x.Key +func (m *ProjectRoleRemove) GetKey() string { + if m != nil { + return m.Key } return "" } type ProjectRoleSearchResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` - Result []*ProjectRoleView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` - ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` - ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` + Result []*ProjectRoleView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectRoleSearchResponse) Reset() { - *x = ProjectRoleSearchResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[94] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectRoleSearchResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectRoleSearchResponse) ProtoMessage() {} - -func (x *ProjectRoleSearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[94] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectRoleSearchResponse.ProtoReflect.Descriptor instead. +func (m *ProjectRoleSearchResponse) Reset() { *m = ProjectRoleSearchResponse{} } +func (m *ProjectRoleSearchResponse) String() string { return proto.CompactTextString(m) } +func (*ProjectRoleSearchResponse) ProtoMessage() {} func (*ProjectRoleSearchResponse) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{94} + return fileDescriptor_edc174f991dc0a25, []int{103} } -func (x *ProjectRoleSearchResponse) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *ProjectRoleSearchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectRoleSearchResponse.Unmarshal(m, b) +} +func (m *ProjectRoleSearchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectRoleSearchResponse.Marshal(b, m, deterministic) +} +func (m *ProjectRoleSearchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectRoleSearchResponse.Merge(m, src) +} +func (m *ProjectRoleSearchResponse) XXX_Size() int { + return xxx_messageInfo_ProjectRoleSearchResponse.Size(m) +} +func (m *ProjectRoleSearchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectRoleSearchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectRoleSearchResponse proto.InternalMessageInfo + +func (m *ProjectRoleSearchResponse) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *ProjectRoleSearchResponse) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *ProjectRoleSearchResponse) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *ProjectRoleSearchResponse) GetTotalResult() uint64 { - if x != nil { - return x.TotalResult +func (m *ProjectRoleSearchResponse) GetTotalResult() uint64 { + if m != nil { + return m.TotalResult } return 0 } -func (x *ProjectRoleSearchResponse) GetResult() []*ProjectRoleView { - if x != nil { - return x.Result +func (m *ProjectRoleSearchResponse) GetResult() []*ProjectRoleView { + if m != nil { + return m.Result } return nil } -func (x *ProjectRoleSearchResponse) GetProcessedSequence() uint64 { - if x != nil { - return x.ProcessedSequence +func (m *ProjectRoleSearchResponse) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence } return 0 } -func (x *ProjectRoleSearchResponse) GetViewTimestamp() *timestamp.Timestamp { - if x != nil { - return x.ViewTimestamp +func (m *ProjectRoleSearchResponse) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp } return nil } type ProjectRoleSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` - Queries []*ProjectRoleSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` + Queries []*ProjectRoleSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectRoleSearchRequest) Reset() { - *x = ProjectRoleSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[95] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectRoleSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectRoleSearchRequest) ProtoMessage() {} - -func (x *ProjectRoleSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[95] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectRoleSearchRequest.ProtoReflect.Descriptor instead. +func (m *ProjectRoleSearchRequest) Reset() { *m = ProjectRoleSearchRequest{} } +func (m *ProjectRoleSearchRequest) String() string { return proto.CompactTextString(m) } +func (*ProjectRoleSearchRequest) ProtoMessage() {} func (*ProjectRoleSearchRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{95} + return fileDescriptor_edc174f991dc0a25, []int{104} } -func (x *ProjectRoleSearchRequest) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *ProjectRoleSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectRoleSearchRequest.Unmarshal(m, b) +} +func (m *ProjectRoleSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectRoleSearchRequest.Marshal(b, m, deterministic) +} +func (m *ProjectRoleSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectRoleSearchRequest.Merge(m, src) +} +func (m *ProjectRoleSearchRequest) XXX_Size() int { + return xxx_messageInfo_ProjectRoleSearchRequest.Size(m) +} +func (m *ProjectRoleSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectRoleSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectRoleSearchRequest proto.InternalMessageInfo + +func (m *ProjectRoleSearchRequest) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *ProjectRoleSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *ProjectRoleSearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *ProjectRoleSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *ProjectRoleSearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *ProjectRoleSearchRequest) GetQueries() []*ProjectRoleSearchQuery { - if x != nil { - return x.Queries +func (m *ProjectRoleSearchRequest) GetQueries() []*ProjectRoleSearchQuery { + if m != nil { + return m.Queries } return nil } type ProjectRoleSearchQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key ProjectRoleSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.ProjectRoleSearchKey" json:"key,omitempty"` - Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` - Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + Key ProjectRoleSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.ProjectRoleSearchKey" json:"key,omitempty"` + Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectRoleSearchQuery) Reset() { - *x = ProjectRoleSearchQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[96] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectRoleSearchQuery) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectRoleSearchQuery) ProtoMessage() {} - -func (x *ProjectRoleSearchQuery) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[96] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectRoleSearchQuery.ProtoReflect.Descriptor instead. +func (m *ProjectRoleSearchQuery) Reset() { *m = ProjectRoleSearchQuery{} } +func (m *ProjectRoleSearchQuery) String() string { return proto.CompactTextString(m) } +func (*ProjectRoleSearchQuery) ProtoMessage() {} func (*ProjectRoleSearchQuery) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{96} + return fileDescriptor_edc174f991dc0a25, []int{105} } -func (x *ProjectRoleSearchQuery) GetKey() ProjectRoleSearchKey { - if x != nil { - return x.Key +func (m *ProjectRoleSearchQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectRoleSearchQuery.Unmarshal(m, b) +} +func (m *ProjectRoleSearchQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectRoleSearchQuery.Marshal(b, m, deterministic) +} +func (m *ProjectRoleSearchQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectRoleSearchQuery.Merge(m, src) +} +func (m *ProjectRoleSearchQuery) XXX_Size() int { + return xxx_messageInfo_ProjectRoleSearchQuery.Size(m) +} +func (m *ProjectRoleSearchQuery) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectRoleSearchQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectRoleSearchQuery proto.InternalMessageInfo + +func (m *ProjectRoleSearchQuery) GetKey() ProjectRoleSearchKey { + if m != nil { + return m.Key } return ProjectRoleSearchKey_PROJECTROLESEARCHKEY_UNSPECIFIED } -func (x *ProjectRoleSearchQuery) GetMethod() SearchMethod { - if x != nil { - return x.Method +func (m *ProjectRoleSearchQuery) GetMethod() SearchMethod { + if m != nil { + return m.Method } return SearchMethod_SEARCHMETHOD_EQUALS } -func (x *ProjectRoleSearchQuery) GetValue() string { - if x != nil { - return x.Value +func (m *ProjectRoleSearchQuery) GetValue() string { + if m != nil { + return m.Value } return "" } type ProjectMemberView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - UserName string `protobuf:"bytes,2,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` - Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` - FirstName string `protobuf:"bytes,4,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` - LastName string `protobuf:"bytes,5,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` - Roles []string `protobuf:"bytes,6,rep,name=roles,proto3" json:"roles,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - Sequence uint64 `protobuf:"varint,10,opt,name=sequence,proto3" json:"sequence,omitempty"` - DisplayName string `protobuf:"bytes,11,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + UserName string `protobuf:"bytes,2,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` + Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` + FirstName string `protobuf:"bytes,4,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,5,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + Roles []string `protobuf:"bytes,6,rep,name=roles,proto3" json:"roles,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + Sequence uint64 `protobuf:"varint,10,opt,name=sequence,proto3" json:"sequence,omitempty"` + DisplayName string `protobuf:"bytes,11,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectMemberView) Reset() { - *x = ProjectMemberView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[97] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectMemberView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectMemberView) ProtoMessage() {} - -func (x *ProjectMemberView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[97] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectMemberView.ProtoReflect.Descriptor instead. +func (m *ProjectMemberView) Reset() { *m = ProjectMemberView{} } +func (m *ProjectMemberView) String() string { return proto.CompactTextString(m) } +func (*ProjectMemberView) ProtoMessage() {} func (*ProjectMemberView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{97} + return fileDescriptor_edc174f991dc0a25, []int{106} } -func (x *ProjectMemberView) GetUserId() string { - if x != nil { - return x.UserId +func (m *ProjectMemberView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectMemberView.Unmarshal(m, b) +} +func (m *ProjectMemberView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectMemberView.Marshal(b, m, deterministic) +} +func (m *ProjectMemberView) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectMemberView.Merge(m, src) +} +func (m *ProjectMemberView) XXX_Size() int { + return xxx_messageInfo_ProjectMemberView.Size(m) +} +func (m *ProjectMemberView) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectMemberView.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectMemberView proto.InternalMessageInfo + +func (m *ProjectMemberView) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *ProjectMemberView) GetUserName() string { - if x != nil { - return x.UserName +func (m *ProjectMemberView) GetUserName() string { + if m != nil { + return m.UserName } return "" } -func (x *ProjectMemberView) GetEmail() string { - if x != nil { - return x.Email +func (m *ProjectMemberView) GetEmail() string { + if m != nil { + return m.Email } return "" } -func (x *ProjectMemberView) GetFirstName() string { - if x != nil { - return x.FirstName +func (m *ProjectMemberView) GetFirstName() string { + if m != nil { + return m.FirstName } return "" } -func (x *ProjectMemberView) GetLastName() string { - if x != nil { - return x.LastName +func (m *ProjectMemberView) GetLastName() string { + if m != nil { + return m.LastName } return "" } -func (x *ProjectMemberView) GetRoles() []string { - if x != nil { - return x.Roles +func (m *ProjectMemberView) GetRoles() []string { + if m != nil { + return m.Roles } return nil } -func (x *ProjectMemberView) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *ProjectMemberView) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *ProjectMemberView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *ProjectMemberView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *ProjectMemberView) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *ProjectMemberView) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *ProjectMemberView) GetDisplayName() string { - if x != nil { - return x.DisplayName +func (m *ProjectMemberView) GetDisplayName() string { + if m != nil { + return m.DisplayName } return "" } type ProjectMemberSearchResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` - Result []*ProjectMemberView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` - ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` - ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` + Result []*ProjectMemberView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectMemberSearchResponse) Reset() { - *x = ProjectMemberSearchResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[98] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectMemberSearchResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectMemberSearchResponse) ProtoMessage() {} - -func (x *ProjectMemberSearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[98] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectMemberSearchResponse.ProtoReflect.Descriptor instead. +func (m *ProjectMemberSearchResponse) Reset() { *m = ProjectMemberSearchResponse{} } +func (m *ProjectMemberSearchResponse) String() string { return proto.CompactTextString(m) } +func (*ProjectMemberSearchResponse) ProtoMessage() {} func (*ProjectMemberSearchResponse) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{98} + return fileDescriptor_edc174f991dc0a25, []int{107} } -func (x *ProjectMemberSearchResponse) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *ProjectMemberSearchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectMemberSearchResponse.Unmarshal(m, b) +} +func (m *ProjectMemberSearchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectMemberSearchResponse.Marshal(b, m, deterministic) +} +func (m *ProjectMemberSearchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectMemberSearchResponse.Merge(m, src) +} +func (m *ProjectMemberSearchResponse) XXX_Size() int { + return xxx_messageInfo_ProjectMemberSearchResponse.Size(m) +} +func (m *ProjectMemberSearchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectMemberSearchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectMemberSearchResponse proto.InternalMessageInfo + +func (m *ProjectMemberSearchResponse) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *ProjectMemberSearchResponse) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *ProjectMemberSearchResponse) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *ProjectMemberSearchResponse) GetTotalResult() uint64 { - if x != nil { - return x.TotalResult +func (m *ProjectMemberSearchResponse) GetTotalResult() uint64 { + if m != nil { + return m.TotalResult } return 0 } -func (x *ProjectMemberSearchResponse) GetResult() []*ProjectMemberView { - if x != nil { - return x.Result +func (m *ProjectMemberSearchResponse) GetResult() []*ProjectMemberView { + if m != nil { + return m.Result } return nil } -func (x *ProjectMemberSearchResponse) GetProcessedSequence() uint64 { - if x != nil { - return x.ProcessedSequence +func (m *ProjectMemberSearchResponse) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence } return 0 } -func (x *ProjectMemberSearchResponse) GetViewTimestamp() *timestamp.Timestamp { - if x != nil { - return x.ViewTimestamp +func (m *ProjectMemberSearchResponse) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp } return nil } type ProjectMemberSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` - Queries []*ProjectMemberSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` + Queries []*ProjectMemberSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectMemberSearchRequest) Reset() { - *x = ProjectMemberSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[99] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectMemberSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectMemberSearchRequest) ProtoMessage() {} - -func (x *ProjectMemberSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[99] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectMemberSearchRequest.ProtoReflect.Descriptor instead. +func (m *ProjectMemberSearchRequest) Reset() { *m = ProjectMemberSearchRequest{} } +func (m *ProjectMemberSearchRequest) String() string { return proto.CompactTextString(m) } +func (*ProjectMemberSearchRequest) ProtoMessage() {} func (*ProjectMemberSearchRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{99} + return fileDescriptor_edc174f991dc0a25, []int{108} } -func (x *ProjectMemberSearchRequest) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *ProjectMemberSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectMemberSearchRequest.Unmarshal(m, b) +} +func (m *ProjectMemberSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectMemberSearchRequest.Marshal(b, m, deterministic) +} +func (m *ProjectMemberSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectMemberSearchRequest.Merge(m, src) +} +func (m *ProjectMemberSearchRequest) XXX_Size() int { + return xxx_messageInfo_ProjectMemberSearchRequest.Size(m) +} +func (m *ProjectMemberSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectMemberSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectMemberSearchRequest proto.InternalMessageInfo + +func (m *ProjectMemberSearchRequest) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *ProjectMemberSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *ProjectMemberSearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *ProjectMemberSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *ProjectMemberSearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *ProjectMemberSearchRequest) GetQueries() []*ProjectMemberSearchQuery { - if x != nil { - return x.Queries +func (m *ProjectMemberSearchRequest) GetQueries() []*ProjectMemberSearchQuery { + if m != nil { + return m.Queries } return nil } type ProjectMemberSearchQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key ProjectMemberSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.ProjectMemberSearchKey" json:"key,omitempty"` - Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` - Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + Key ProjectMemberSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.ProjectMemberSearchKey" json:"key,omitempty"` + Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectMemberSearchQuery) Reset() { - *x = ProjectMemberSearchQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[100] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectMemberSearchQuery) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectMemberSearchQuery) ProtoMessage() {} - -func (x *ProjectMemberSearchQuery) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[100] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectMemberSearchQuery.ProtoReflect.Descriptor instead. +func (m *ProjectMemberSearchQuery) Reset() { *m = ProjectMemberSearchQuery{} } +func (m *ProjectMemberSearchQuery) String() string { return proto.CompactTextString(m) } +func (*ProjectMemberSearchQuery) ProtoMessage() {} func (*ProjectMemberSearchQuery) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{100} + return fileDescriptor_edc174f991dc0a25, []int{109} } -func (x *ProjectMemberSearchQuery) GetKey() ProjectMemberSearchKey { - if x != nil { - return x.Key +func (m *ProjectMemberSearchQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectMemberSearchQuery.Unmarshal(m, b) +} +func (m *ProjectMemberSearchQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectMemberSearchQuery.Marshal(b, m, deterministic) +} +func (m *ProjectMemberSearchQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectMemberSearchQuery.Merge(m, src) +} +func (m *ProjectMemberSearchQuery) XXX_Size() int { + return xxx_messageInfo_ProjectMemberSearchQuery.Size(m) +} +func (m *ProjectMemberSearchQuery) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectMemberSearchQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectMemberSearchQuery proto.InternalMessageInfo + +func (m *ProjectMemberSearchQuery) GetKey() ProjectMemberSearchKey { + if m != nil { + return m.Key } return ProjectMemberSearchKey_PROJECTMEMBERSEARCHKEY_UNSPECIFIED } -func (x *ProjectMemberSearchQuery) GetMethod() SearchMethod { - if x != nil { - return x.Method +func (m *ProjectMemberSearchQuery) GetMethod() SearchMethod { + if m != nil { + return m.Method } return SearchMethod_SEARCHMETHOD_EQUALS } -func (x *ProjectMemberSearchQuery) GetValue() string { - if x != nil { - return x.Value +func (m *ProjectMemberSearchQuery) GetValue() string { + if m != nil { + return m.Value } return "" } type Application struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` State AppState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.AppState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` - // Types that are assignable to AppConfig: + // Types that are valid to be assigned to AppConfig: // *Application_OidcConfig - AppConfig isApplication_AppConfig `protobuf_oneof:"app_config"` - Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` + AppConfig isApplication_AppConfig `protobuf_oneof:"app_config"` + Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *Application) Reset() { - *x = Application{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[101] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Application) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Application) ProtoMessage() {} - -func (x *Application) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[101] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Application.ProtoReflect.Descriptor instead. +func (m *Application) Reset() { *m = Application{} } +func (m *Application) String() string { return proto.CompactTextString(m) } +func (*Application) ProtoMessage() {} func (*Application) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{101} + return fileDescriptor_edc174f991dc0a25, []int{110} } -func (x *Application) GetId() string { - if x != nil { - return x.Id +func (m *Application) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Application.Unmarshal(m, b) +} +func (m *Application) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Application.Marshal(b, m, deterministic) +} +func (m *Application) XXX_Merge(src proto.Message) { + xxx_messageInfo_Application.Merge(m, src) +} +func (m *Application) XXX_Size() int { + return xxx_messageInfo_Application.Size(m) +} +func (m *Application) XXX_DiscardUnknown() { + xxx_messageInfo_Application.DiscardUnknown(m) +} + +var xxx_messageInfo_Application proto.InternalMessageInfo + +func (m *Application) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *Application) GetState() AppState { - if x != nil { - return x.State +func (m *Application) GetState() AppState { + if m != nil { + return m.State } return AppState_APPSTATE_UNSPECIFIED } -func (x *Application) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *Application) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *Application) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *Application) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *Application) GetName() string { - if x != nil { - return x.Name +func (m *Application) GetName() string { + if m != nil { + return m.Name } return "" } -func (m *Application) GetAppConfig() isApplication_AppConfig { - if m != nil { - return m.AppConfig - } - return nil -} - -func (x *Application) GetOidcConfig() *OIDCConfig { - if x, ok := x.GetAppConfig().(*Application_OidcConfig); ok { - return x.OidcConfig - } - return nil -} - -func (x *Application) GetSequence() uint64 { - if x != nil { - return x.Sequence - } - return 0 -} - type isApplication_AppConfig interface { isApplication_AppConfig() } @@ -9502,74 +8612,90 @@ type Application_OidcConfig struct { func (*Application_OidcConfig) isApplication_AppConfig() {} +func (m *Application) GetAppConfig() isApplication_AppConfig { + if m != nil { + return m.AppConfig + } + return nil +} + +func (m *Application) GetOidcConfig() *OIDCConfig { + if x, ok := m.GetAppConfig().(*Application_OidcConfig); ok { + return x.OidcConfig + } + return nil +} + +func (m *Application) GetSequence() uint64 { + if m != nil { + return m.Sequence + } + return 0 +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*Application) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*Application_OidcConfig)(nil), + } +} + type ApplicationUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ApplicationUpdate) Reset() { - *x = ApplicationUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[102] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ApplicationUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ApplicationUpdate) ProtoMessage() {} - -func (x *ApplicationUpdate) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[102] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ApplicationUpdate.ProtoReflect.Descriptor instead. +func (m *ApplicationUpdate) Reset() { *m = ApplicationUpdate{} } +func (m *ApplicationUpdate) String() string { return proto.CompactTextString(m) } +func (*ApplicationUpdate) ProtoMessage() {} func (*ApplicationUpdate) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{102} + return fileDescriptor_edc174f991dc0a25, []int{111} } -func (x *ApplicationUpdate) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *ApplicationUpdate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ApplicationUpdate.Unmarshal(m, b) +} +func (m *ApplicationUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ApplicationUpdate.Marshal(b, m, deterministic) +} +func (m *ApplicationUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_ApplicationUpdate.Merge(m, src) +} +func (m *ApplicationUpdate) XXX_Size() int { + return xxx_messageInfo_ApplicationUpdate.Size(m) +} +func (m *ApplicationUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_ApplicationUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_ApplicationUpdate proto.InternalMessageInfo + +func (m *ApplicationUpdate) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *ApplicationUpdate) GetId() string { - if x != nil { - return x.Id +func (m *ApplicationUpdate) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *ApplicationUpdate) GetName() string { - if x != nil { - return x.Name +func (m *ApplicationUpdate) GetName() string { + if m != nil { + return m.Name } return "" } type OIDCConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - RedirectUris []string `protobuf:"bytes,1,rep,name=redirect_uris,json=redirectUris,proto3" json:"redirect_uris,omitempty"` ResponseTypes []OIDCResponseType `protobuf:"varint,2,rep,packed,name=response_types,json=responseTypes,proto3,enum=caos.zitadel.management.api.v1.OIDCResponseType" json:"response_types,omitempty"` GrantTypes []OIDCGrantType `protobuf:"varint,3,rep,packed,name=grant_types,json=grantTypes,proto3,enum=caos.zitadel.management.api.v1.OIDCGrantType" json:"grant_types,omitempty"` @@ -9582,129 +8708,121 @@ type OIDCConfig struct { NoneCompliant bool `protobuf:"varint,10,opt,name=none_compliant,json=noneCompliant,proto3" json:"none_compliant,omitempty"` ComplianceProblems []*message.LocalizedMessage `protobuf:"bytes,11,rep,name=compliance_problems,json=complianceProblems,proto3" json:"compliance_problems,omitempty"` DevMode bool `protobuf:"varint,12,opt,name=dev_mode,json=devMode,proto3" json:"dev_mode,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OIDCConfig) Reset() { - *x = OIDCConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[103] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OIDCConfig) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OIDCConfig) ProtoMessage() {} - -func (x *OIDCConfig) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[103] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OIDCConfig.ProtoReflect.Descriptor instead. +func (m *OIDCConfig) Reset() { *m = OIDCConfig{} } +func (m *OIDCConfig) String() string { return proto.CompactTextString(m) } +func (*OIDCConfig) ProtoMessage() {} func (*OIDCConfig) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{103} + return fileDescriptor_edc174f991dc0a25, []int{112} } -func (x *OIDCConfig) GetRedirectUris() []string { - if x != nil { - return x.RedirectUris +func (m *OIDCConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OIDCConfig.Unmarshal(m, b) +} +func (m *OIDCConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OIDCConfig.Marshal(b, m, deterministic) +} +func (m *OIDCConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_OIDCConfig.Merge(m, src) +} +func (m *OIDCConfig) XXX_Size() int { + return xxx_messageInfo_OIDCConfig.Size(m) +} +func (m *OIDCConfig) XXX_DiscardUnknown() { + xxx_messageInfo_OIDCConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_OIDCConfig proto.InternalMessageInfo + +func (m *OIDCConfig) GetRedirectUris() []string { + if m != nil { + return m.RedirectUris } return nil } -func (x *OIDCConfig) GetResponseTypes() []OIDCResponseType { - if x != nil { - return x.ResponseTypes +func (m *OIDCConfig) GetResponseTypes() []OIDCResponseType { + if m != nil { + return m.ResponseTypes } return nil } -func (x *OIDCConfig) GetGrantTypes() []OIDCGrantType { - if x != nil { - return x.GrantTypes +func (m *OIDCConfig) GetGrantTypes() []OIDCGrantType { + if m != nil { + return m.GrantTypes } return nil } -func (x *OIDCConfig) GetApplicationType() OIDCApplicationType { - if x != nil { - return x.ApplicationType +func (m *OIDCConfig) GetApplicationType() OIDCApplicationType { + if m != nil { + return m.ApplicationType } return OIDCApplicationType_OIDCAPPLICATIONTYPE_WEB } -func (x *OIDCConfig) GetClientId() string { - if x != nil { - return x.ClientId +func (m *OIDCConfig) GetClientId() string { + if m != nil { + return m.ClientId } return "" } -func (x *OIDCConfig) GetClientSecret() string { - if x != nil { - return x.ClientSecret +func (m *OIDCConfig) GetClientSecret() string { + if m != nil { + return m.ClientSecret } return "" } -func (x *OIDCConfig) GetAuthMethodType() OIDCAuthMethodType { - if x != nil { - return x.AuthMethodType +func (m *OIDCConfig) GetAuthMethodType() OIDCAuthMethodType { + if m != nil { + return m.AuthMethodType } return OIDCAuthMethodType_OIDCAUTHMETHODTYPE_BASIC } -func (x *OIDCConfig) GetPostLogoutRedirectUris() []string { - if x != nil { - return x.PostLogoutRedirectUris +func (m *OIDCConfig) GetPostLogoutRedirectUris() []string { + if m != nil { + return m.PostLogoutRedirectUris } return nil } -func (x *OIDCConfig) GetVersion() OIDCVersion { - if x != nil { - return x.Version +func (m *OIDCConfig) GetVersion() OIDCVersion { + if m != nil { + return m.Version } return OIDCVersion_OIDCV1_0 } -func (x *OIDCConfig) GetNoneCompliant() bool { - if x != nil { - return x.NoneCompliant +func (m *OIDCConfig) GetNoneCompliant() bool { + if m != nil { + return m.NoneCompliant } return false } -func (x *OIDCConfig) GetComplianceProblems() []*message.LocalizedMessage { - if x != nil { - return x.ComplianceProblems +func (m *OIDCConfig) GetComplianceProblems() []*message.LocalizedMessage { + if m != nil { + return m.ComplianceProblems } return nil } -func (x *OIDCConfig) GetDevMode() bool { - if x != nil { - return x.DevMode +func (m *OIDCConfig) GetDevMode() bool { + if m != nil { + return m.DevMode } return false } type OIDCApplicationCreate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` RedirectUris []string `protobuf:"bytes,3,rep,name=redirect_uris,json=redirectUris,proto3" json:"redirect_uris,omitempty"` @@ -9715,115 +8833,107 @@ type OIDCApplicationCreate struct { PostLogoutRedirectUris []string `protobuf:"bytes,8,rep,name=post_logout_redirect_uris,json=postLogoutRedirectUris,proto3" json:"post_logout_redirect_uris,omitempty"` Version OIDCVersion `protobuf:"varint,9,opt,name=version,proto3,enum=caos.zitadel.management.api.v1.OIDCVersion" json:"version,omitempty"` DevMode bool `protobuf:"varint,10,opt,name=dev_mode,json=devMode,proto3" json:"dev_mode,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OIDCApplicationCreate) Reset() { - *x = OIDCApplicationCreate{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[104] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OIDCApplicationCreate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OIDCApplicationCreate) ProtoMessage() {} - -func (x *OIDCApplicationCreate) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[104] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OIDCApplicationCreate.ProtoReflect.Descriptor instead. +func (m *OIDCApplicationCreate) Reset() { *m = OIDCApplicationCreate{} } +func (m *OIDCApplicationCreate) String() string { return proto.CompactTextString(m) } +func (*OIDCApplicationCreate) ProtoMessage() {} func (*OIDCApplicationCreate) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{104} + return fileDescriptor_edc174f991dc0a25, []int{113} } -func (x *OIDCApplicationCreate) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *OIDCApplicationCreate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OIDCApplicationCreate.Unmarshal(m, b) +} +func (m *OIDCApplicationCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OIDCApplicationCreate.Marshal(b, m, deterministic) +} +func (m *OIDCApplicationCreate) XXX_Merge(src proto.Message) { + xxx_messageInfo_OIDCApplicationCreate.Merge(m, src) +} +func (m *OIDCApplicationCreate) XXX_Size() int { + return xxx_messageInfo_OIDCApplicationCreate.Size(m) +} +func (m *OIDCApplicationCreate) XXX_DiscardUnknown() { + xxx_messageInfo_OIDCApplicationCreate.DiscardUnknown(m) +} + +var xxx_messageInfo_OIDCApplicationCreate proto.InternalMessageInfo + +func (m *OIDCApplicationCreate) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *OIDCApplicationCreate) GetName() string { - if x != nil { - return x.Name +func (m *OIDCApplicationCreate) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *OIDCApplicationCreate) GetRedirectUris() []string { - if x != nil { - return x.RedirectUris +func (m *OIDCApplicationCreate) GetRedirectUris() []string { + if m != nil { + return m.RedirectUris } return nil } -func (x *OIDCApplicationCreate) GetResponseTypes() []OIDCResponseType { - if x != nil { - return x.ResponseTypes +func (m *OIDCApplicationCreate) GetResponseTypes() []OIDCResponseType { + if m != nil { + return m.ResponseTypes } return nil } -func (x *OIDCApplicationCreate) GetGrantTypes() []OIDCGrantType { - if x != nil { - return x.GrantTypes +func (m *OIDCApplicationCreate) GetGrantTypes() []OIDCGrantType { + if m != nil { + return m.GrantTypes } return nil } -func (x *OIDCApplicationCreate) GetApplicationType() OIDCApplicationType { - if x != nil { - return x.ApplicationType +func (m *OIDCApplicationCreate) GetApplicationType() OIDCApplicationType { + if m != nil { + return m.ApplicationType } return OIDCApplicationType_OIDCAPPLICATIONTYPE_WEB } -func (x *OIDCApplicationCreate) GetAuthMethodType() OIDCAuthMethodType { - if x != nil { - return x.AuthMethodType +func (m *OIDCApplicationCreate) GetAuthMethodType() OIDCAuthMethodType { + if m != nil { + return m.AuthMethodType } return OIDCAuthMethodType_OIDCAUTHMETHODTYPE_BASIC } -func (x *OIDCApplicationCreate) GetPostLogoutRedirectUris() []string { - if x != nil { - return x.PostLogoutRedirectUris +func (m *OIDCApplicationCreate) GetPostLogoutRedirectUris() []string { + if m != nil { + return m.PostLogoutRedirectUris } return nil } -func (x *OIDCApplicationCreate) GetVersion() OIDCVersion { - if x != nil { - return x.Version +func (m *OIDCApplicationCreate) GetVersion() OIDCVersion { + if m != nil { + return m.Version } return OIDCVersion_OIDCV1_0 } -func (x *OIDCApplicationCreate) GetDevMode() bool { - if x != nil { - return x.DevMode +func (m *OIDCApplicationCreate) GetDevMode() bool { + if m != nil { + return m.DevMode } return false } type OIDCConfigUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` ApplicationId string `protobuf:"bytes,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` RedirectUris []string `protobuf:"bytes,3,rep,name=redirect_uris,json=redirectUris,proto3" json:"redirect_uris,omitempty"` @@ -9833,254 +8943,213 @@ type OIDCConfigUpdate struct { AuthMethodType OIDCAuthMethodType `protobuf:"varint,7,opt,name=auth_method_type,json=authMethodType,proto3,enum=caos.zitadel.management.api.v1.OIDCAuthMethodType" json:"auth_method_type,omitempty"` PostLogoutRedirectUris []string `protobuf:"bytes,8,rep,name=post_logout_redirect_uris,json=postLogoutRedirectUris,proto3" json:"post_logout_redirect_uris,omitempty"` DevMode bool `protobuf:"varint,9,opt,name=dev_mode,json=devMode,proto3" json:"dev_mode,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OIDCConfigUpdate) Reset() { - *x = OIDCConfigUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[105] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OIDCConfigUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OIDCConfigUpdate) ProtoMessage() {} - -func (x *OIDCConfigUpdate) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[105] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OIDCConfigUpdate.ProtoReflect.Descriptor instead. +func (m *OIDCConfigUpdate) Reset() { *m = OIDCConfigUpdate{} } +func (m *OIDCConfigUpdate) String() string { return proto.CompactTextString(m) } +func (*OIDCConfigUpdate) ProtoMessage() {} func (*OIDCConfigUpdate) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{105} + return fileDescriptor_edc174f991dc0a25, []int{114} } -func (x *OIDCConfigUpdate) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *OIDCConfigUpdate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OIDCConfigUpdate.Unmarshal(m, b) +} +func (m *OIDCConfigUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OIDCConfigUpdate.Marshal(b, m, deterministic) +} +func (m *OIDCConfigUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_OIDCConfigUpdate.Merge(m, src) +} +func (m *OIDCConfigUpdate) XXX_Size() int { + return xxx_messageInfo_OIDCConfigUpdate.Size(m) +} +func (m *OIDCConfigUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_OIDCConfigUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_OIDCConfigUpdate proto.InternalMessageInfo + +func (m *OIDCConfigUpdate) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *OIDCConfigUpdate) GetApplicationId() string { - if x != nil { - return x.ApplicationId +func (m *OIDCConfigUpdate) GetApplicationId() string { + if m != nil { + return m.ApplicationId } return "" } -func (x *OIDCConfigUpdate) GetRedirectUris() []string { - if x != nil { - return x.RedirectUris +func (m *OIDCConfigUpdate) GetRedirectUris() []string { + if m != nil { + return m.RedirectUris } return nil } -func (x *OIDCConfigUpdate) GetResponseTypes() []OIDCResponseType { - if x != nil { - return x.ResponseTypes +func (m *OIDCConfigUpdate) GetResponseTypes() []OIDCResponseType { + if m != nil { + return m.ResponseTypes } return nil } -func (x *OIDCConfigUpdate) GetGrantTypes() []OIDCGrantType { - if x != nil { - return x.GrantTypes +func (m *OIDCConfigUpdate) GetGrantTypes() []OIDCGrantType { + if m != nil { + return m.GrantTypes } return nil } -func (x *OIDCConfigUpdate) GetApplicationType() OIDCApplicationType { - if x != nil { - return x.ApplicationType +func (m *OIDCConfigUpdate) GetApplicationType() OIDCApplicationType { + if m != nil { + return m.ApplicationType } return OIDCApplicationType_OIDCAPPLICATIONTYPE_WEB } -func (x *OIDCConfigUpdate) GetAuthMethodType() OIDCAuthMethodType { - if x != nil { - return x.AuthMethodType +func (m *OIDCConfigUpdate) GetAuthMethodType() OIDCAuthMethodType { + if m != nil { + return m.AuthMethodType } return OIDCAuthMethodType_OIDCAUTHMETHODTYPE_BASIC } -func (x *OIDCConfigUpdate) GetPostLogoutRedirectUris() []string { - if x != nil { - return x.PostLogoutRedirectUris +func (m *OIDCConfigUpdate) GetPostLogoutRedirectUris() []string { + if m != nil { + return m.PostLogoutRedirectUris } return nil } -func (x *OIDCConfigUpdate) GetDevMode() bool { - if x != nil { - return x.DevMode +func (m *OIDCConfigUpdate) GetDevMode() bool { + if m != nil { + return m.DevMode } return false } type ClientSecret struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ClientSecret string `protobuf:"bytes,1,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + ClientSecret string `protobuf:"bytes,1,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ClientSecret) Reset() { - *x = ClientSecret{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[106] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClientSecret) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClientSecret) ProtoMessage() {} - -func (x *ClientSecret) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[106] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClientSecret.ProtoReflect.Descriptor instead. +func (m *ClientSecret) Reset() { *m = ClientSecret{} } +func (m *ClientSecret) String() string { return proto.CompactTextString(m) } +func (*ClientSecret) ProtoMessage() {} func (*ClientSecret) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{106} + return fileDescriptor_edc174f991dc0a25, []int{115} } -func (x *ClientSecret) GetClientSecret() string { - if x != nil { - return x.ClientSecret +func (m *ClientSecret) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ClientSecret.Unmarshal(m, b) +} +func (m *ClientSecret) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ClientSecret.Marshal(b, m, deterministic) +} +func (m *ClientSecret) XXX_Merge(src proto.Message) { + xxx_messageInfo_ClientSecret.Merge(m, src) +} +func (m *ClientSecret) XXX_Size() int { + return xxx_messageInfo_ClientSecret.Size(m) +} +func (m *ClientSecret) XXX_DiscardUnknown() { + xxx_messageInfo_ClientSecret.DiscardUnknown(m) +} + +var xxx_messageInfo_ClientSecret proto.InternalMessageInfo + +func (m *ClientSecret) GetClientSecret() string { + if m != nil { + return m.ClientSecret } return "" } type ApplicationView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` State AppState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.AppState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` - // Types that are assignable to AppConfig: + // Types that are valid to be assigned to AppConfig: // *ApplicationView_OidcConfig - AppConfig isApplicationView_AppConfig `protobuf_oneof:"app_config"` - Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` + AppConfig isApplicationView_AppConfig `protobuf_oneof:"app_config"` + Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ApplicationView) Reset() { - *x = ApplicationView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[107] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ApplicationView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ApplicationView) ProtoMessage() {} - -func (x *ApplicationView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[107] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ApplicationView.ProtoReflect.Descriptor instead. +func (m *ApplicationView) Reset() { *m = ApplicationView{} } +func (m *ApplicationView) String() string { return proto.CompactTextString(m) } +func (*ApplicationView) ProtoMessage() {} func (*ApplicationView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{107} + return fileDescriptor_edc174f991dc0a25, []int{116} } -func (x *ApplicationView) GetId() string { - if x != nil { - return x.Id +func (m *ApplicationView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ApplicationView.Unmarshal(m, b) +} +func (m *ApplicationView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ApplicationView.Marshal(b, m, deterministic) +} +func (m *ApplicationView) XXX_Merge(src proto.Message) { + xxx_messageInfo_ApplicationView.Merge(m, src) +} +func (m *ApplicationView) XXX_Size() int { + return xxx_messageInfo_ApplicationView.Size(m) +} +func (m *ApplicationView) XXX_DiscardUnknown() { + xxx_messageInfo_ApplicationView.DiscardUnknown(m) +} + +var xxx_messageInfo_ApplicationView proto.InternalMessageInfo + +func (m *ApplicationView) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *ApplicationView) GetState() AppState { - if x != nil { - return x.State +func (m *ApplicationView) GetState() AppState { + if m != nil { + return m.State } return AppState_APPSTATE_UNSPECIFIED } -func (x *ApplicationView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *ApplicationView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *ApplicationView) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *ApplicationView) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *ApplicationView) GetName() string { - if x != nil { - return x.Name +func (m *ApplicationView) GetName() string { + if m != nil { + return m.Name } return "" } -func (m *ApplicationView) GetAppConfig() isApplicationView_AppConfig { - if m != nil { - return m.AppConfig - } - return nil -} - -func (x *ApplicationView) GetOidcConfig() *OIDCConfig { - if x, ok := x.GetAppConfig().(*ApplicationView_OidcConfig); ok { - return x.OidcConfig - } - return nil -} - -func (x *ApplicationView) GetSequence() uint64 { - if x != nil { - return x.Sequence - } - return 0 -} - type isApplicationView_AppConfig interface { isApplicationView_AppConfig() } @@ -10091,3103 +9160,2586 @@ type ApplicationView_OidcConfig struct { func (*ApplicationView_OidcConfig) isApplicationView_AppConfig() {} -type ApplicationSearchResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` - Result []*ApplicationView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` - ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` - ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` -} - -func (x *ApplicationSearchResponse) Reset() { - *x = ApplicationSearchResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[108] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ApplicationSearchResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ApplicationSearchResponse) ProtoMessage() {} - -func (x *ApplicationSearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[108] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ApplicationSearchResponse.ProtoReflect.Descriptor instead. -func (*ApplicationSearchResponse) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{108} -} - -func (x *ApplicationSearchResponse) GetOffset() uint64 { - if x != nil { - return x.Offset - } - return 0 -} - -func (x *ApplicationSearchResponse) GetLimit() uint64 { - if x != nil { - return x.Limit - } - return 0 -} - -func (x *ApplicationSearchResponse) GetTotalResult() uint64 { - if x != nil { - return x.TotalResult - } - return 0 -} - -func (x *ApplicationSearchResponse) GetResult() []*ApplicationView { - if x != nil { - return x.Result +func (m *ApplicationView) GetAppConfig() isApplicationView_AppConfig { + if m != nil { + return m.AppConfig } return nil } -func (x *ApplicationSearchResponse) GetProcessedSequence() uint64 { - if x != nil { - return x.ProcessedSequence +func (m *ApplicationView) GetOidcConfig() *OIDCConfig { + if x, ok := m.GetAppConfig().(*ApplicationView_OidcConfig); ok { + return x.OidcConfig + } + return nil +} + +func (m *ApplicationView) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *ApplicationSearchResponse) GetViewTimestamp() *timestamp.Timestamp { - if x != nil { - return x.ViewTimestamp +// XXX_OneofWrappers is for the internal use of the proto package. +func (*ApplicationView) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*ApplicationView_OidcConfig)(nil), + } +} + +type ApplicationSearchResponse struct { + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` + Result []*ApplicationView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ApplicationSearchResponse) Reset() { *m = ApplicationSearchResponse{} } +func (m *ApplicationSearchResponse) String() string { return proto.CompactTextString(m) } +func (*ApplicationSearchResponse) ProtoMessage() {} +func (*ApplicationSearchResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_edc174f991dc0a25, []int{117} +} + +func (m *ApplicationSearchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ApplicationSearchResponse.Unmarshal(m, b) +} +func (m *ApplicationSearchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ApplicationSearchResponse.Marshal(b, m, deterministic) +} +func (m *ApplicationSearchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ApplicationSearchResponse.Merge(m, src) +} +func (m *ApplicationSearchResponse) XXX_Size() int { + return xxx_messageInfo_ApplicationSearchResponse.Size(m) +} +func (m *ApplicationSearchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ApplicationSearchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ApplicationSearchResponse proto.InternalMessageInfo + +func (m *ApplicationSearchResponse) GetOffset() uint64 { + if m != nil { + return m.Offset + } + return 0 +} + +func (m *ApplicationSearchResponse) GetLimit() uint64 { + if m != nil { + return m.Limit + } + return 0 +} + +func (m *ApplicationSearchResponse) GetTotalResult() uint64 { + if m != nil { + return m.TotalResult + } + return 0 +} + +func (m *ApplicationSearchResponse) GetResult() []*ApplicationView { + if m != nil { + return m.Result + } + return nil +} + +func (m *ApplicationSearchResponse) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence + } + return 0 +} + +func (m *ApplicationSearchResponse) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp } return nil } type ApplicationSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` - Queries []*ApplicationSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` + Queries []*ApplicationSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ApplicationSearchRequest) Reset() { - *x = ApplicationSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[109] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ApplicationSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ApplicationSearchRequest) ProtoMessage() {} - -func (x *ApplicationSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[109] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ApplicationSearchRequest.ProtoReflect.Descriptor instead. +func (m *ApplicationSearchRequest) Reset() { *m = ApplicationSearchRequest{} } +func (m *ApplicationSearchRequest) String() string { return proto.CompactTextString(m) } +func (*ApplicationSearchRequest) ProtoMessage() {} func (*ApplicationSearchRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{109} + return fileDescriptor_edc174f991dc0a25, []int{118} } -func (x *ApplicationSearchRequest) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *ApplicationSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ApplicationSearchRequest.Unmarshal(m, b) +} +func (m *ApplicationSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ApplicationSearchRequest.Marshal(b, m, deterministic) +} +func (m *ApplicationSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ApplicationSearchRequest.Merge(m, src) +} +func (m *ApplicationSearchRequest) XXX_Size() int { + return xxx_messageInfo_ApplicationSearchRequest.Size(m) +} +func (m *ApplicationSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ApplicationSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ApplicationSearchRequest proto.InternalMessageInfo + +func (m *ApplicationSearchRequest) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *ApplicationSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *ApplicationSearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *ApplicationSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *ApplicationSearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *ApplicationSearchRequest) GetQueries() []*ApplicationSearchQuery { - if x != nil { - return x.Queries +func (m *ApplicationSearchRequest) GetQueries() []*ApplicationSearchQuery { + if m != nil { + return m.Queries } return nil } type ApplicationSearchQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key ApplicationSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.ApplicationSearchKey" json:"key,omitempty"` - Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` - Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + Key ApplicationSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.ApplicationSearchKey" json:"key,omitempty"` + Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ApplicationSearchQuery) Reset() { - *x = ApplicationSearchQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[110] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ApplicationSearchQuery) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ApplicationSearchQuery) ProtoMessage() {} - -func (x *ApplicationSearchQuery) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[110] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ApplicationSearchQuery.ProtoReflect.Descriptor instead. +func (m *ApplicationSearchQuery) Reset() { *m = ApplicationSearchQuery{} } +func (m *ApplicationSearchQuery) String() string { return proto.CompactTextString(m) } +func (*ApplicationSearchQuery) ProtoMessage() {} func (*ApplicationSearchQuery) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{110} + return fileDescriptor_edc174f991dc0a25, []int{119} } -func (x *ApplicationSearchQuery) GetKey() ApplicationSearchKey { - if x != nil { - return x.Key +func (m *ApplicationSearchQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ApplicationSearchQuery.Unmarshal(m, b) +} +func (m *ApplicationSearchQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ApplicationSearchQuery.Marshal(b, m, deterministic) +} +func (m *ApplicationSearchQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_ApplicationSearchQuery.Merge(m, src) +} +func (m *ApplicationSearchQuery) XXX_Size() int { + return xxx_messageInfo_ApplicationSearchQuery.Size(m) +} +func (m *ApplicationSearchQuery) XXX_DiscardUnknown() { + xxx_messageInfo_ApplicationSearchQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_ApplicationSearchQuery proto.InternalMessageInfo + +func (m *ApplicationSearchQuery) GetKey() ApplicationSearchKey { + if m != nil { + return m.Key } return ApplicationSearchKey_APPLICATIONSERACHKEY_UNSPECIFIED } -func (x *ApplicationSearchQuery) GetMethod() SearchMethod { - if x != nil { - return x.Method +func (m *ApplicationSearchQuery) GetMethod() SearchMethod { + if m != nil { + return m.Method } return SearchMethod_SEARCHMETHOD_EQUALS } -func (x *ApplicationSearchQuery) GetValue() string { - if x != nil { - return x.Value +func (m *ApplicationSearchQuery) GetValue() string { + if m != nil { + return m.Value } return "" } type ProjectGrant struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - GrantedOrgId string `protobuf:"bytes,3,opt,name=granted_org_id,json=grantedOrgId,proto3" json:"granted_org_id,omitempty"` - RoleKeys []string `protobuf:"bytes,4,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` - State ProjectGrantState `protobuf:"varint,5,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.ProjectGrantState" json:"state,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,6,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + GrantedOrgId string `protobuf:"bytes,3,opt,name=granted_org_id,json=grantedOrgId,proto3" json:"granted_org_id,omitempty"` + RoleKeys []string `protobuf:"bytes,4,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` + State ProjectGrantState `protobuf:"varint,5,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.ProjectGrantState" json:"state,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,6,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectGrant) Reset() { - *x = ProjectGrant{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[111] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectGrant) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectGrant) ProtoMessage() {} - -func (x *ProjectGrant) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[111] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectGrant.ProtoReflect.Descriptor instead. +func (m *ProjectGrant) Reset() { *m = ProjectGrant{} } +func (m *ProjectGrant) String() string { return proto.CompactTextString(m) } +func (*ProjectGrant) ProtoMessage() {} func (*ProjectGrant) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{111} + return fileDescriptor_edc174f991dc0a25, []int{120} } -func (x *ProjectGrant) GetId() string { - if x != nil { - return x.Id +func (m *ProjectGrant) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectGrant.Unmarshal(m, b) +} +func (m *ProjectGrant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectGrant.Marshal(b, m, deterministic) +} +func (m *ProjectGrant) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectGrant.Merge(m, src) +} +func (m *ProjectGrant) XXX_Size() int { + return xxx_messageInfo_ProjectGrant.Size(m) +} +func (m *ProjectGrant) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectGrant.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectGrant proto.InternalMessageInfo + +func (m *ProjectGrant) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *ProjectGrant) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *ProjectGrant) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *ProjectGrant) GetGrantedOrgId() string { - if x != nil { - return x.GrantedOrgId +func (m *ProjectGrant) GetGrantedOrgId() string { + if m != nil { + return m.GrantedOrgId } return "" } -func (x *ProjectGrant) GetRoleKeys() []string { - if x != nil { - return x.RoleKeys +func (m *ProjectGrant) GetRoleKeys() []string { + if m != nil { + return m.RoleKeys } return nil } -func (x *ProjectGrant) GetState() ProjectGrantState { - if x != nil { - return x.State +func (m *ProjectGrant) GetState() ProjectGrantState { + if m != nil { + return m.State } return ProjectGrantState_PROJECTGRANTSTATE_UNSPECIFIED } -func (x *ProjectGrant) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *ProjectGrant) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *ProjectGrant) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *ProjectGrant) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *ProjectGrant) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *ProjectGrant) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } type ProjectGrantCreate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - GrantedOrgId string `protobuf:"bytes,2,opt,name=granted_org_id,json=grantedOrgId,proto3" json:"granted_org_id,omitempty"` - RoleKeys []string `protobuf:"bytes,3,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + GrantedOrgId string `protobuf:"bytes,2,opt,name=granted_org_id,json=grantedOrgId,proto3" json:"granted_org_id,omitempty"` + RoleKeys []string `protobuf:"bytes,3,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectGrantCreate) Reset() { - *x = ProjectGrantCreate{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[112] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectGrantCreate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectGrantCreate) ProtoMessage() {} - -func (x *ProjectGrantCreate) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[112] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectGrantCreate.ProtoReflect.Descriptor instead. +func (m *ProjectGrantCreate) Reset() { *m = ProjectGrantCreate{} } +func (m *ProjectGrantCreate) String() string { return proto.CompactTextString(m) } +func (*ProjectGrantCreate) ProtoMessage() {} func (*ProjectGrantCreate) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{112} + return fileDescriptor_edc174f991dc0a25, []int{121} } -func (x *ProjectGrantCreate) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *ProjectGrantCreate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectGrantCreate.Unmarshal(m, b) +} +func (m *ProjectGrantCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectGrantCreate.Marshal(b, m, deterministic) +} +func (m *ProjectGrantCreate) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectGrantCreate.Merge(m, src) +} +func (m *ProjectGrantCreate) XXX_Size() int { + return xxx_messageInfo_ProjectGrantCreate.Size(m) +} +func (m *ProjectGrantCreate) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectGrantCreate.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectGrantCreate proto.InternalMessageInfo + +func (m *ProjectGrantCreate) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *ProjectGrantCreate) GetGrantedOrgId() string { - if x != nil { - return x.GrantedOrgId +func (m *ProjectGrantCreate) GetGrantedOrgId() string { + if m != nil { + return m.GrantedOrgId } return "" } -func (x *ProjectGrantCreate) GetRoleKeys() []string { - if x != nil { - return x.RoleKeys +func (m *ProjectGrantCreate) GetRoleKeys() []string { + if m != nil { + return m.RoleKeys } return nil } type ProjectGrantUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` - RoleKeys []string `protobuf:"bytes,3,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + RoleKeys []string `protobuf:"bytes,3,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectGrantUpdate) Reset() { - *x = ProjectGrantUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[113] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectGrantUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectGrantUpdate) ProtoMessage() {} - -func (x *ProjectGrantUpdate) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[113] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectGrantUpdate.ProtoReflect.Descriptor instead. +func (m *ProjectGrantUpdate) Reset() { *m = ProjectGrantUpdate{} } +func (m *ProjectGrantUpdate) String() string { return proto.CompactTextString(m) } +func (*ProjectGrantUpdate) ProtoMessage() {} func (*ProjectGrantUpdate) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{113} + return fileDescriptor_edc174f991dc0a25, []int{122} } -func (x *ProjectGrantUpdate) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *ProjectGrantUpdate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectGrantUpdate.Unmarshal(m, b) +} +func (m *ProjectGrantUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectGrantUpdate.Marshal(b, m, deterministic) +} +func (m *ProjectGrantUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectGrantUpdate.Merge(m, src) +} +func (m *ProjectGrantUpdate) XXX_Size() int { + return xxx_messageInfo_ProjectGrantUpdate.Size(m) +} +func (m *ProjectGrantUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectGrantUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectGrantUpdate proto.InternalMessageInfo + +func (m *ProjectGrantUpdate) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *ProjectGrantUpdate) GetId() string { - if x != nil { - return x.Id +func (m *ProjectGrantUpdate) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *ProjectGrantUpdate) GetRoleKeys() []string { - if x != nil { - return x.RoleKeys +func (m *ProjectGrantUpdate) GetRoleKeys() []string { + if m != nil { + return m.RoleKeys } return nil } type ProjectGrantID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectGrantID) Reset() { - *x = ProjectGrantID{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[114] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectGrantID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectGrantID) ProtoMessage() {} - -func (x *ProjectGrantID) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[114] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectGrantID.ProtoReflect.Descriptor instead. +func (m *ProjectGrantID) Reset() { *m = ProjectGrantID{} } +func (m *ProjectGrantID) String() string { return proto.CompactTextString(m) } +func (*ProjectGrantID) ProtoMessage() {} func (*ProjectGrantID) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{114} + return fileDescriptor_edc174f991dc0a25, []int{123} } -func (x *ProjectGrantID) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *ProjectGrantID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectGrantID.Unmarshal(m, b) +} +func (m *ProjectGrantID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectGrantID.Marshal(b, m, deterministic) +} +func (m *ProjectGrantID) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectGrantID.Merge(m, src) +} +func (m *ProjectGrantID) XXX_Size() int { + return xxx_messageInfo_ProjectGrantID.Size(m) +} +func (m *ProjectGrantID) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectGrantID.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectGrantID proto.InternalMessageInfo + +func (m *ProjectGrantID) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *ProjectGrantID) GetId() string { - if x != nil { - return x.Id +func (m *ProjectGrantID) GetId() string { + if m != nil { + return m.Id } return "" } type ProjectGrantView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - GrantedOrgId string `protobuf:"bytes,3,opt,name=granted_org_id,json=grantedOrgId,proto3" json:"granted_org_id,omitempty"` - GrantedOrgName string `protobuf:"bytes,4,opt,name=granted_org_name,json=grantedOrgName,proto3" json:"granted_org_name,omitempty"` - RoleKeys []string `protobuf:"bytes,5,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` - State ProjectGrantState `protobuf:"varint,6,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.ProjectGrantState" json:"state,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - ProjectName string `protobuf:"bytes,9,opt,name=project_name,json=projectName,proto3" json:"project_name,omitempty"` - Sequence uint64 `protobuf:"varint,10,opt,name=sequence,proto3" json:"sequence,omitempty"` - ResourceOwner string `protobuf:"bytes,11,opt,name=resource_owner,json=resourceOwner,proto3" json:"resource_owner,omitempty"` - ResourceOwnerName string `protobuf:"bytes,12,opt,name=resource_owner_name,json=resourceOwnerName,proto3" json:"resource_owner_name,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + GrantedOrgId string `protobuf:"bytes,3,opt,name=granted_org_id,json=grantedOrgId,proto3" json:"granted_org_id,omitempty"` + GrantedOrgName string `protobuf:"bytes,4,opt,name=granted_org_name,json=grantedOrgName,proto3" json:"granted_org_name,omitempty"` + RoleKeys []string `protobuf:"bytes,5,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` + State ProjectGrantState `protobuf:"varint,6,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.ProjectGrantState" json:"state,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + ProjectName string `protobuf:"bytes,9,opt,name=project_name,json=projectName,proto3" json:"project_name,omitempty"` + Sequence uint64 `protobuf:"varint,10,opt,name=sequence,proto3" json:"sequence,omitempty"` + ResourceOwner string `protobuf:"bytes,11,opt,name=resource_owner,json=resourceOwner,proto3" json:"resource_owner,omitempty"` + ResourceOwnerName string `protobuf:"bytes,12,opt,name=resource_owner_name,json=resourceOwnerName,proto3" json:"resource_owner_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectGrantView) Reset() { - *x = ProjectGrantView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[115] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectGrantView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectGrantView) ProtoMessage() {} - -func (x *ProjectGrantView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[115] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectGrantView.ProtoReflect.Descriptor instead. +func (m *ProjectGrantView) Reset() { *m = ProjectGrantView{} } +func (m *ProjectGrantView) String() string { return proto.CompactTextString(m) } +func (*ProjectGrantView) ProtoMessage() {} func (*ProjectGrantView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{115} + return fileDescriptor_edc174f991dc0a25, []int{124} } -func (x *ProjectGrantView) GetId() string { - if x != nil { - return x.Id +func (m *ProjectGrantView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectGrantView.Unmarshal(m, b) +} +func (m *ProjectGrantView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectGrantView.Marshal(b, m, deterministic) +} +func (m *ProjectGrantView) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectGrantView.Merge(m, src) +} +func (m *ProjectGrantView) XXX_Size() int { + return xxx_messageInfo_ProjectGrantView.Size(m) +} +func (m *ProjectGrantView) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectGrantView.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectGrantView proto.InternalMessageInfo + +func (m *ProjectGrantView) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *ProjectGrantView) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *ProjectGrantView) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *ProjectGrantView) GetGrantedOrgId() string { - if x != nil { - return x.GrantedOrgId +func (m *ProjectGrantView) GetGrantedOrgId() string { + if m != nil { + return m.GrantedOrgId } return "" } -func (x *ProjectGrantView) GetGrantedOrgName() string { - if x != nil { - return x.GrantedOrgName +func (m *ProjectGrantView) GetGrantedOrgName() string { + if m != nil { + return m.GrantedOrgName } return "" } -func (x *ProjectGrantView) GetRoleKeys() []string { - if x != nil { - return x.RoleKeys +func (m *ProjectGrantView) GetRoleKeys() []string { + if m != nil { + return m.RoleKeys } return nil } -func (x *ProjectGrantView) GetState() ProjectGrantState { - if x != nil { - return x.State +func (m *ProjectGrantView) GetState() ProjectGrantState { + if m != nil { + return m.State } return ProjectGrantState_PROJECTGRANTSTATE_UNSPECIFIED } -func (x *ProjectGrantView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *ProjectGrantView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *ProjectGrantView) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *ProjectGrantView) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *ProjectGrantView) GetProjectName() string { - if x != nil { - return x.ProjectName +func (m *ProjectGrantView) GetProjectName() string { + if m != nil { + return m.ProjectName } return "" } -func (x *ProjectGrantView) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *ProjectGrantView) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *ProjectGrantView) GetResourceOwner() string { - if x != nil { - return x.ResourceOwner +func (m *ProjectGrantView) GetResourceOwner() string { + if m != nil { + return m.ResourceOwner } return "" } -func (x *ProjectGrantView) GetResourceOwnerName() string { - if x != nil { - return x.ResourceOwnerName +func (m *ProjectGrantView) GetResourceOwnerName() string { + if m != nil { + return m.ResourceOwnerName } return "" } type ProjectGrantSearchResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` - Result []*ProjectGrantView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` - ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` - ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` + Result []*ProjectGrantView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectGrantSearchResponse) Reset() { - *x = ProjectGrantSearchResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[116] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectGrantSearchResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectGrantSearchResponse) ProtoMessage() {} - -func (x *ProjectGrantSearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[116] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectGrantSearchResponse.ProtoReflect.Descriptor instead. +func (m *ProjectGrantSearchResponse) Reset() { *m = ProjectGrantSearchResponse{} } +func (m *ProjectGrantSearchResponse) String() string { return proto.CompactTextString(m) } +func (*ProjectGrantSearchResponse) ProtoMessage() {} func (*ProjectGrantSearchResponse) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{116} + return fileDescriptor_edc174f991dc0a25, []int{125} } -func (x *ProjectGrantSearchResponse) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *ProjectGrantSearchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectGrantSearchResponse.Unmarshal(m, b) +} +func (m *ProjectGrantSearchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectGrantSearchResponse.Marshal(b, m, deterministic) +} +func (m *ProjectGrantSearchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectGrantSearchResponse.Merge(m, src) +} +func (m *ProjectGrantSearchResponse) XXX_Size() int { + return xxx_messageInfo_ProjectGrantSearchResponse.Size(m) +} +func (m *ProjectGrantSearchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectGrantSearchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectGrantSearchResponse proto.InternalMessageInfo + +func (m *ProjectGrantSearchResponse) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *ProjectGrantSearchResponse) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *ProjectGrantSearchResponse) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *ProjectGrantSearchResponse) GetTotalResult() uint64 { - if x != nil { - return x.TotalResult +func (m *ProjectGrantSearchResponse) GetTotalResult() uint64 { + if m != nil { + return m.TotalResult } return 0 } -func (x *ProjectGrantSearchResponse) GetResult() []*ProjectGrantView { - if x != nil { - return x.Result +func (m *ProjectGrantSearchResponse) GetResult() []*ProjectGrantView { + if m != nil { + return m.Result } return nil } -func (x *ProjectGrantSearchResponse) GetProcessedSequence() uint64 { - if x != nil { - return x.ProcessedSequence +func (m *ProjectGrantSearchResponse) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence } return 0 } -func (x *ProjectGrantSearchResponse) GetViewTimestamp() *timestamp.Timestamp { - if x != nil { - return x.ViewTimestamp +func (m *ProjectGrantSearchResponse) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp } return nil } type GrantedProjectSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - Queries []*ProjectSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + Queries []*ProjectSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GrantedProjectSearchRequest) Reset() { - *x = GrantedProjectSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[117] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GrantedProjectSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GrantedProjectSearchRequest) ProtoMessage() {} - -func (x *GrantedProjectSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[117] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GrantedProjectSearchRequest.ProtoReflect.Descriptor instead. +func (m *GrantedProjectSearchRequest) Reset() { *m = GrantedProjectSearchRequest{} } +func (m *GrantedProjectSearchRequest) String() string { return proto.CompactTextString(m) } +func (*GrantedProjectSearchRequest) ProtoMessage() {} func (*GrantedProjectSearchRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{117} + return fileDescriptor_edc174f991dc0a25, []int{126} } -func (x *GrantedProjectSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *GrantedProjectSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GrantedProjectSearchRequest.Unmarshal(m, b) +} +func (m *GrantedProjectSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GrantedProjectSearchRequest.Marshal(b, m, deterministic) +} +func (m *GrantedProjectSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GrantedProjectSearchRequest.Merge(m, src) +} +func (m *GrantedProjectSearchRequest) XXX_Size() int { + return xxx_messageInfo_GrantedProjectSearchRequest.Size(m) +} +func (m *GrantedProjectSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GrantedProjectSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GrantedProjectSearchRequest proto.InternalMessageInfo + +func (m *GrantedProjectSearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *GrantedProjectSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *GrantedProjectSearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *GrantedProjectSearchRequest) GetQueries() []*ProjectSearchQuery { - if x != nil { - return x.Queries +func (m *GrantedProjectSearchRequest) GetQueries() []*ProjectSearchQuery { + if m != nil { + return m.Queries } return nil } type ProjectGrantSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` - Queries []*ProjectGrantSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` + Queries []*ProjectGrantSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectGrantSearchRequest) Reset() { - *x = ProjectGrantSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[118] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectGrantSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectGrantSearchRequest) ProtoMessage() {} - -func (x *ProjectGrantSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[118] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectGrantSearchRequest.ProtoReflect.Descriptor instead. +func (m *ProjectGrantSearchRequest) Reset() { *m = ProjectGrantSearchRequest{} } +func (m *ProjectGrantSearchRequest) String() string { return proto.CompactTextString(m) } +func (*ProjectGrantSearchRequest) ProtoMessage() {} func (*ProjectGrantSearchRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{118} + return fileDescriptor_edc174f991dc0a25, []int{127} } -func (x *ProjectGrantSearchRequest) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *ProjectGrantSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectGrantSearchRequest.Unmarshal(m, b) +} +func (m *ProjectGrantSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectGrantSearchRequest.Marshal(b, m, deterministic) +} +func (m *ProjectGrantSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectGrantSearchRequest.Merge(m, src) +} +func (m *ProjectGrantSearchRequest) XXX_Size() int { + return xxx_messageInfo_ProjectGrantSearchRequest.Size(m) +} +func (m *ProjectGrantSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectGrantSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectGrantSearchRequest proto.InternalMessageInfo + +func (m *ProjectGrantSearchRequest) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *ProjectGrantSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *ProjectGrantSearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *ProjectGrantSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *ProjectGrantSearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *ProjectGrantSearchRequest) GetQueries() []*ProjectGrantSearchQuery { - if x != nil { - return x.Queries +func (m *ProjectGrantSearchRequest) GetQueries() []*ProjectGrantSearchQuery { + if m != nil { + return m.Queries } return nil } type ProjectGrantSearchQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key ProjectGrantSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.ProjectGrantSearchKey" json:"key,omitempty"` - Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` - Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + Key ProjectGrantSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.ProjectGrantSearchKey" json:"key,omitempty"` + Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectGrantSearchQuery) Reset() { - *x = ProjectGrantSearchQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[119] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectGrantSearchQuery) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectGrantSearchQuery) ProtoMessage() {} - -func (x *ProjectGrantSearchQuery) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[119] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectGrantSearchQuery.ProtoReflect.Descriptor instead. +func (m *ProjectGrantSearchQuery) Reset() { *m = ProjectGrantSearchQuery{} } +func (m *ProjectGrantSearchQuery) String() string { return proto.CompactTextString(m) } +func (*ProjectGrantSearchQuery) ProtoMessage() {} func (*ProjectGrantSearchQuery) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{119} + return fileDescriptor_edc174f991dc0a25, []int{128} } -func (x *ProjectGrantSearchQuery) GetKey() ProjectGrantSearchKey { - if x != nil { - return x.Key +func (m *ProjectGrantSearchQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectGrantSearchQuery.Unmarshal(m, b) +} +func (m *ProjectGrantSearchQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectGrantSearchQuery.Marshal(b, m, deterministic) +} +func (m *ProjectGrantSearchQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectGrantSearchQuery.Merge(m, src) +} +func (m *ProjectGrantSearchQuery) XXX_Size() int { + return xxx_messageInfo_ProjectGrantSearchQuery.Size(m) +} +func (m *ProjectGrantSearchQuery) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectGrantSearchQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectGrantSearchQuery proto.InternalMessageInfo + +func (m *ProjectGrantSearchQuery) GetKey() ProjectGrantSearchKey { + if m != nil { + return m.Key } return ProjectGrantSearchKey_PROJECTGRANTSEARCHKEY_UNSPECIFIED } -func (x *ProjectGrantSearchQuery) GetMethod() SearchMethod { - if x != nil { - return x.Method +func (m *ProjectGrantSearchQuery) GetMethod() SearchMethod { + if m != nil { + return m.Method } return SearchMethod_SEARCHMETHOD_EQUALS } -func (x *ProjectGrantSearchQuery) GetValue() string { - if x != nil { - return x.Value +func (m *ProjectGrantSearchQuery) GetValue() string { + if m != nil { + return m.Value } return "" } type ProjectGrantMemberRoles struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Roles []string `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` + Roles []string `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectGrantMemberRoles) Reset() { - *x = ProjectGrantMemberRoles{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[120] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectGrantMemberRoles) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectGrantMemberRoles) ProtoMessage() {} - -func (x *ProjectGrantMemberRoles) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[120] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectGrantMemberRoles.ProtoReflect.Descriptor instead. +func (m *ProjectGrantMemberRoles) Reset() { *m = ProjectGrantMemberRoles{} } +func (m *ProjectGrantMemberRoles) String() string { return proto.CompactTextString(m) } +func (*ProjectGrantMemberRoles) ProtoMessage() {} func (*ProjectGrantMemberRoles) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{120} + return fileDescriptor_edc174f991dc0a25, []int{129} } -func (x *ProjectGrantMemberRoles) GetRoles() []string { - if x != nil { - return x.Roles +func (m *ProjectGrantMemberRoles) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectGrantMemberRoles.Unmarshal(m, b) +} +func (m *ProjectGrantMemberRoles) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectGrantMemberRoles.Marshal(b, m, deterministic) +} +func (m *ProjectGrantMemberRoles) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectGrantMemberRoles.Merge(m, src) +} +func (m *ProjectGrantMemberRoles) XXX_Size() int { + return xxx_messageInfo_ProjectGrantMemberRoles.Size(m) +} +func (m *ProjectGrantMemberRoles) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectGrantMemberRoles.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectGrantMemberRoles proto.InternalMessageInfo + +func (m *ProjectGrantMemberRoles) GetRoles() []string { + if m != nil { + return m.Roles } return nil } type ProjectGrantMember struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectGrantMember) Reset() { - *x = ProjectGrantMember{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[121] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectGrantMember) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectGrantMember) ProtoMessage() {} - -func (x *ProjectGrantMember) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[121] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectGrantMember.ProtoReflect.Descriptor instead. +func (m *ProjectGrantMember) Reset() { *m = ProjectGrantMember{} } +func (m *ProjectGrantMember) String() string { return proto.CompactTextString(m) } +func (*ProjectGrantMember) ProtoMessage() {} func (*ProjectGrantMember) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{121} + return fileDescriptor_edc174f991dc0a25, []int{130} } -func (x *ProjectGrantMember) GetUserId() string { - if x != nil { - return x.UserId +func (m *ProjectGrantMember) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectGrantMember.Unmarshal(m, b) +} +func (m *ProjectGrantMember) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectGrantMember.Marshal(b, m, deterministic) +} +func (m *ProjectGrantMember) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectGrantMember.Merge(m, src) +} +func (m *ProjectGrantMember) XXX_Size() int { + return xxx_messageInfo_ProjectGrantMember.Size(m) +} +func (m *ProjectGrantMember) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectGrantMember.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectGrantMember proto.InternalMessageInfo + +func (m *ProjectGrantMember) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *ProjectGrantMember) GetRoles() []string { - if x != nil { - return x.Roles +func (m *ProjectGrantMember) GetRoles() []string { + if m != nil { + return m.Roles } return nil } -func (x *ProjectGrantMember) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *ProjectGrantMember) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *ProjectGrantMember) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *ProjectGrantMember) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *ProjectGrantMember) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *ProjectGrantMember) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } type ProjectGrantMemberAdd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - GrantId string `protobuf:"bytes,2,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` - UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Roles []string `protobuf:"bytes,4,rep,name=roles,proto3" json:"roles,omitempty"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + GrantId string `protobuf:"bytes,2,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` + UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Roles []string `protobuf:"bytes,4,rep,name=roles,proto3" json:"roles,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectGrantMemberAdd) Reset() { - *x = ProjectGrantMemberAdd{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[122] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectGrantMemberAdd) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectGrantMemberAdd) ProtoMessage() {} - -func (x *ProjectGrantMemberAdd) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[122] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectGrantMemberAdd.ProtoReflect.Descriptor instead. +func (m *ProjectGrantMemberAdd) Reset() { *m = ProjectGrantMemberAdd{} } +func (m *ProjectGrantMemberAdd) String() string { return proto.CompactTextString(m) } +func (*ProjectGrantMemberAdd) ProtoMessage() {} func (*ProjectGrantMemberAdd) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{122} + return fileDescriptor_edc174f991dc0a25, []int{131} } -func (x *ProjectGrantMemberAdd) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *ProjectGrantMemberAdd) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectGrantMemberAdd.Unmarshal(m, b) +} +func (m *ProjectGrantMemberAdd) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectGrantMemberAdd.Marshal(b, m, deterministic) +} +func (m *ProjectGrantMemberAdd) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectGrantMemberAdd.Merge(m, src) +} +func (m *ProjectGrantMemberAdd) XXX_Size() int { + return xxx_messageInfo_ProjectGrantMemberAdd.Size(m) +} +func (m *ProjectGrantMemberAdd) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectGrantMemberAdd.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectGrantMemberAdd proto.InternalMessageInfo + +func (m *ProjectGrantMemberAdd) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *ProjectGrantMemberAdd) GetGrantId() string { - if x != nil { - return x.GrantId +func (m *ProjectGrantMemberAdd) GetGrantId() string { + if m != nil { + return m.GrantId } return "" } -func (x *ProjectGrantMemberAdd) GetUserId() string { - if x != nil { - return x.UserId +func (m *ProjectGrantMemberAdd) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *ProjectGrantMemberAdd) GetRoles() []string { - if x != nil { - return x.Roles +func (m *ProjectGrantMemberAdd) GetRoles() []string { + if m != nil { + return m.Roles } return nil } type ProjectGrantMemberChange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - GrantId string `protobuf:"bytes,2,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` - UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Roles []string `protobuf:"bytes,4,rep,name=roles,proto3" json:"roles,omitempty"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + GrantId string `protobuf:"bytes,2,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` + UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Roles []string `protobuf:"bytes,4,rep,name=roles,proto3" json:"roles,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectGrantMemberChange) Reset() { - *x = ProjectGrantMemberChange{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[123] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectGrantMemberChange) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectGrantMemberChange) ProtoMessage() {} - -func (x *ProjectGrantMemberChange) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[123] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectGrantMemberChange.ProtoReflect.Descriptor instead. +func (m *ProjectGrantMemberChange) Reset() { *m = ProjectGrantMemberChange{} } +func (m *ProjectGrantMemberChange) String() string { return proto.CompactTextString(m) } +func (*ProjectGrantMemberChange) ProtoMessage() {} func (*ProjectGrantMemberChange) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{123} + return fileDescriptor_edc174f991dc0a25, []int{132} } -func (x *ProjectGrantMemberChange) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *ProjectGrantMemberChange) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectGrantMemberChange.Unmarshal(m, b) +} +func (m *ProjectGrantMemberChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectGrantMemberChange.Marshal(b, m, deterministic) +} +func (m *ProjectGrantMemberChange) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectGrantMemberChange.Merge(m, src) +} +func (m *ProjectGrantMemberChange) XXX_Size() int { + return xxx_messageInfo_ProjectGrantMemberChange.Size(m) +} +func (m *ProjectGrantMemberChange) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectGrantMemberChange.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectGrantMemberChange proto.InternalMessageInfo + +func (m *ProjectGrantMemberChange) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *ProjectGrantMemberChange) GetGrantId() string { - if x != nil { - return x.GrantId +func (m *ProjectGrantMemberChange) GetGrantId() string { + if m != nil { + return m.GrantId } return "" } -func (x *ProjectGrantMemberChange) GetUserId() string { - if x != nil { - return x.UserId +func (m *ProjectGrantMemberChange) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *ProjectGrantMemberChange) GetRoles() []string { - if x != nil { - return x.Roles +func (m *ProjectGrantMemberChange) GetRoles() []string { + if m != nil { + return m.Roles } return nil } type ProjectGrantMemberRemove struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - GrantId string `protobuf:"bytes,2,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` - UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + GrantId string `protobuf:"bytes,2,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` + UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectGrantMemberRemove) Reset() { - *x = ProjectGrantMemberRemove{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[124] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectGrantMemberRemove) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectGrantMemberRemove) ProtoMessage() {} - -func (x *ProjectGrantMemberRemove) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[124] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectGrantMemberRemove.ProtoReflect.Descriptor instead. +func (m *ProjectGrantMemberRemove) Reset() { *m = ProjectGrantMemberRemove{} } +func (m *ProjectGrantMemberRemove) String() string { return proto.CompactTextString(m) } +func (*ProjectGrantMemberRemove) ProtoMessage() {} func (*ProjectGrantMemberRemove) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{124} + return fileDescriptor_edc174f991dc0a25, []int{133} } -func (x *ProjectGrantMemberRemove) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *ProjectGrantMemberRemove) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectGrantMemberRemove.Unmarshal(m, b) +} +func (m *ProjectGrantMemberRemove) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectGrantMemberRemove.Marshal(b, m, deterministic) +} +func (m *ProjectGrantMemberRemove) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectGrantMemberRemove.Merge(m, src) +} +func (m *ProjectGrantMemberRemove) XXX_Size() int { + return xxx_messageInfo_ProjectGrantMemberRemove.Size(m) +} +func (m *ProjectGrantMemberRemove) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectGrantMemberRemove.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectGrantMemberRemove proto.InternalMessageInfo + +func (m *ProjectGrantMemberRemove) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *ProjectGrantMemberRemove) GetGrantId() string { - if x != nil { - return x.GrantId +func (m *ProjectGrantMemberRemove) GetGrantId() string { + if m != nil { + return m.GrantId } return "" } -func (x *ProjectGrantMemberRemove) GetUserId() string { - if x != nil { - return x.UserId +func (m *ProjectGrantMemberRemove) GetUserId() string { + if m != nil { + return m.UserId } return "" } type ProjectGrantMemberView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - UserName string `protobuf:"bytes,2,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` - Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` - FirstName string `protobuf:"bytes,4,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` - LastName string `protobuf:"bytes,5,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` - Roles []string `protobuf:"bytes,6,rep,name=roles,proto3" json:"roles,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` - DisplayName string `protobuf:"bytes,10,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + UserName string `protobuf:"bytes,2,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` + Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` + FirstName string `protobuf:"bytes,4,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,5,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + Roles []string `protobuf:"bytes,6,rep,name=roles,proto3" json:"roles,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` + DisplayName string `protobuf:"bytes,10,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectGrantMemberView) Reset() { - *x = ProjectGrantMemberView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[125] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectGrantMemberView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectGrantMemberView) ProtoMessage() {} - -func (x *ProjectGrantMemberView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[125] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectGrantMemberView.ProtoReflect.Descriptor instead. +func (m *ProjectGrantMemberView) Reset() { *m = ProjectGrantMemberView{} } +func (m *ProjectGrantMemberView) String() string { return proto.CompactTextString(m) } +func (*ProjectGrantMemberView) ProtoMessage() {} func (*ProjectGrantMemberView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{125} + return fileDescriptor_edc174f991dc0a25, []int{134} } -func (x *ProjectGrantMemberView) GetUserId() string { - if x != nil { - return x.UserId +func (m *ProjectGrantMemberView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectGrantMemberView.Unmarshal(m, b) +} +func (m *ProjectGrantMemberView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectGrantMemberView.Marshal(b, m, deterministic) +} +func (m *ProjectGrantMemberView) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectGrantMemberView.Merge(m, src) +} +func (m *ProjectGrantMemberView) XXX_Size() int { + return xxx_messageInfo_ProjectGrantMemberView.Size(m) +} +func (m *ProjectGrantMemberView) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectGrantMemberView.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectGrantMemberView proto.InternalMessageInfo + +func (m *ProjectGrantMemberView) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *ProjectGrantMemberView) GetUserName() string { - if x != nil { - return x.UserName +func (m *ProjectGrantMemberView) GetUserName() string { + if m != nil { + return m.UserName } return "" } -func (x *ProjectGrantMemberView) GetEmail() string { - if x != nil { - return x.Email +func (m *ProjectGrantMemberView) GetEmail() string { + if m != nil { + return m.Email } return "" } -func (x *ProjectGrantMemberView) GetFirstName() string { - if x != nil { - return x.FirstName +func (m *ProjectGrantMemberView) GetFirstName() string { + if m != nil { + return m.FirstName } return "" } -func (x *ProjectGrantMemberView) GetLastName() string { - if x != nil { - return x.LastName +func (m *ProjectGrantMemberView) GetLastName() string { + if m != nil { + return m.LastName } return "" } -func (x *ProjectGrantMemberView) GetRoles() []string { - if x != nil { - return x.Roles +func (m *ProjectGrantMemberView) GetRoles() []string { + if m != nil { + return m.Roles } return nil } -func (x *ProjectGrantMemberView) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *ProjectGrantMemberView) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *ProjectGrantMemberView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *ProjectGrantMemberView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *ProjectGrantMemberView) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *ProjectGrantMemberView) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *ProjectGrantMemberView) GetDisplayName() string { - if x != nil { - return x.DisplayName +func (m *ProjectGrantMemberView) GetDisplayName() string { + if m != nil { + return m.DisplayName } return "" } type ProjectGrantMemberSearchResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` - Result []*ProjectGrantMemberView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` - ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` - ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` + Result []*ProjectGrantMemberView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectGrantMemberSearchResponse) Reset() { - *x = ProjectGrantMemberSearchResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[126] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectGrantMemberSearchResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectGrantMemberSearchResponse) ProtoMessage() {} - -func (x *ProjectGrantMemberSearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[126] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectGrantMemberSearchResponse.ProtoReflect.Descriptor instead. +func (m *ProjectGrantMemberSearchResponse) Reset() { *m = ProjectGrantMemberSearchResponse{} } +func (m *ProjectGrantMemberSearchResponse) String() string { return proto.CompactTextString(m) } +func (*ProjectGrantMemberSearchResponse) ProtoMessage() {} func (*ProjectGrantMemberSearchResponse) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{126} + return fileDescriptor_edc174f991dc0a25, []int{135} } -func (x *ProjectGrantMemberSearchResponse) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *ProjectGrantMemberSearchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectGrantMemberSearchResponse.Unmarshal(m, b) +} +func (m *ProjectGrantMemberSearchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectGrantMemberSearchResponse.Marshal(b, m, deterministic) +} +func (m *ProjectGrantMemberSearchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectGrantMemberSearchResponse.Merge(m, src) +} +func (m *ProjectGrantMemberSearchResponse) XXX_Size() int { + return xxx_messageInfo_ProjectGrantMemberSearchResponse.Size(m) +} +func (m *ProjectGrantMemberSearchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectGrantMemberSearchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectGrantMemberSearchResponse proto.InternalMessageInfo + +func (m *ProjectGrantMemberSearchResponse) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *ProjectGrantMemberSearchResponse) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *ProjectGrantMemberSearchResponse) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *ProjectGrantMemberSearchResponse) GetTotalResult() uint64 { - if x != nil { - return x.TotalResult +func (m *ProjectGrantMemberSearchResponse) GetTotalResult() uint64 { + if m != nil { + return m.TotalResult } return 0 } -func (x *ProjectGrantMemberSearchResponse) GetResult() []*ProjectGrantMemberView { - if x != nil { - return x.Result +func (m *ProjectGrantMemberSearchResponse) GetResult() []*ProjectGrantMemberView { + if m != nil { + return m.Result } return nil } -func (x *ProjectGrantMemberSearchResponse) GetProcessedSequence() uint64 { - if x != nil { - return x.ProcessedSequence +func (m *ProjectGrantMemberSearchResponse) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence } return 0 } -func (x *ProjectGrantMemberSearchResponse) GetViewTimestamp() *timestamp.Timestamp { - if x != nil { - return x.ViewTimestamp +func (m *ProjectGrantMemberSearchResponse) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp } return nil } type ProjectGrantMemberSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - GrantId string `protobuf:"bytes,2,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` - Offset uint64 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` - Queries []*ProjectGrantMemberSearchQuery `protobuf:"bytes,5,rep,name=queries,proto3" json:"queries,omitempty"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + GrantId string `protobuf:"bytes,2,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` + Offset uint64 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` + Queries []*ProjectGrantMemberSearchQuery `protobuf:"bytes,5,rep,name=queries,proto3" json:"queries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectGrantMemberSearchRequest) Reset() { - *x = ProjectGrantMemberSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[127] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectGrantMemberSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectGrantMemberSearchRequest) ProtoMessage() {} - -func (x *ProjectGrantMemberSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[127] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectGrantMemberSearchRequest.ProtoReflect.Descriptor instead. +func (m *ProjectGrantMemberSearchRequest) Reset() { *m = ProjectGrantMemberSearchRequest{} } +func (m *ProjectGrantMemberSearchRequest) String() string { return proto.CompactTextString(m) } +func (*ProjectGrantMemberSearchRequest) ProtoMessage() {} func (*ProjectGrantMemberSearchRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{127} + return fileDescriptor_edc174f991dc0a25, []int{136} } -func (x *ProjectGrantMemberSearchRequest) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *ProjectGrantMemberSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectGrantMemberSearchRequest.Unmarshal(m, b) +} +func (m *ProjectGrantMemberSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectGrantMemberSearchRequest.Marshal(b, m, deterministic) +} +func (m *ProjectGrantMemberSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectGrantMemberSearchRequest.Merge(m, src) +} +func (m *ProjectGrantMemberSearchRequest) XXX_Size() int { + return xxx_messageInfo_ProjectGrantMemberSearchRequest.Size(m) +} +func (m *ProjectGrantMemberSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectGrantMemberSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectGrantMemberSearchRequest proto.InternalMessageInfo + +func (m *ProjectGrantMemberSearchRequest) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *ProjectGrantMemberSearchRequest) GetGrantId() string { - if x != nil { - return x.GrantId +func (m *ProjectGrantMemberSearchRequest) GetGrantId() string { + if m != nil { + return m.GrantId } return "" } -func (x *ProjectGrantMemberSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *ProjectGrantMemberSearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *ProjectGrantMemberSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *ProjectGrantMemberSearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *ProjectGrantMemberSearchRequest) GetQueries() []*ProjectGrantMemberSearchQuery { - if x != nil { - return x.Queries +func (m *ProjectGrantMemberSearchRequest) GetQueries() []*ProjectGrantMemberSearchQuery { + if m != nil { + return m.Queries } return nil } type ProjectGrantMemberSearchQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key ProjectGrantMemberSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.ProjectGrantMemberSearchKey" json:"key,omitempty"` - Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` - Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + Key ProjectGrantMemberSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.ProjectGrantMemberSearchKey" json:"key,omitempty"` + Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ProjectGrantMemberSearchQuery) Reset() { - *x = ProjectGrantMemberSearchQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[128] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectGrantMemberSearchQuery) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectGrantMemberSearchQuery) ProtoMessage() {} - -func (x *ProjectGrantMemberSearchQuery) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[128] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectGrantMemberSearchQuery.ProtoReflect.Descriptor instead. +func (m *ProjectGrantMemberSearchQuery) Reset() { *m = ProjectGrantMemberSearchQuery{} } +func (m *ProjectGrantMemberSearchQuery) String() string { return proto.CompactTextString(m) } +func (*ProjectGrantMemberSearchQuery) ProtoMessage() {} func (*ProjectGrantMemberSearchQuery) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{128} + return fileDescriptor_edc174f991dc0a25, []int{137} } -func (x *ProjectGrantMemberSearchQuery) GetKey() ProjectGrantMemberSearchKey { - if x != nil { - return x.Key +func (m *ProjectGrantMemberSearchQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProjectGrantMemberSearchQuery.Unmarshal(m, b) +} +func (m *ProjectGrantMemberSearchQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProjectGrantMemberSearchQuery.Marshal(b, m, deterministic) +} +func (m *ProjectGrantMemberSearchQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectGrantMemberSearchQuery.Merge(m, src) +} +func (m *ProjectGrantMemberSearchQuery) XXX_Size() int { + return xxx_messageInfo_ProjectGrantMemberSearchQuery.Size(m) +} +func (m *ProjectGrantMemberSearchQuery) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectGrantMemberSearchQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectGrantMemberSearchQuery proto.InternalMessageInfo + +func (m *ProjectGrantMemberSearchQuery) GetKey() ProjectGrantMemberSearchKey { + if m != nil { + return m.Key } return ProjectGrantMemberSearchKey_PROJECTGRANTMEMBERSEARCHKEY_UNSPECIFIED } -func (x *ProjectGrantMemberSearchQuery) GetMethod() SearchMethod { - if x != nil { - return x.Method +func (m *ProjectGrantMemberSearchQuery) GetMethod() SearchMethod { + if m != nil { + return m.Method } return SearchMethod_SEARCHMETHOD_EQUALS } -func (x *ProjectGrantMemberSearchQuery) GetValue() string { - if x != nil { - return x.Value +func (m *ProjectGrantMemberSearchQuery) GetValue() string { + if m != nil { + return m.Value } return "" } type UserGrant struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - OrgId string `protobuf:"bytes,3,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` - ProjectId string `protobuf:"bytes,4,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - RoleKeys []string `protobuf:"bytes,5,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` - State UserGrantState `protobuf:"varint,6,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.UserGrantState" json:"state,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` - GrantId string `protobuf:"bytes,10,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + OrgId string `protobuf:"bytes,3,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` + ProjectId string `protobuf:"bytes,4,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + RoleKeys []string `protobuf:"bytes,5,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` + State UserGrantState `protobuf:"varint,6,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.UserGrantState" json:"state,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` + GrantId string `protobuf:"bytes,10,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserGrant) Reset() { - *x = UserGrant{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[129] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserGrant) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserGrant) ProtoMessage() {} - -func (x *UserGrant) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[129] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserGrant.ProtoReflect.Descriptor instead. +func (m *UserGrant) Reset() { *m = UserGrant{} } +func (m *UserGrant) String() string { return proto.CompactTextString(m) } +func (*UserGrant) ProtoMessage() {} func (*UserGrant) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{129} + return fileDescriptor_edc174f991dc0a25, []int{138} } -func (x *UserGrant) GetId() string { - if x != nil { - return x.Id +func (m *UserGrant) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserGrant.Unmarshal(m, b) +} +func (m *UserGrant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserGrant.Marshal(b, m, deterministic) +} +func (m *UserGrant) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserGrant.Merge(m, src) +} +func (m *UserGrant) XXX_Size() int { + return xxx_messageInfo_UserGrant.Size(m) +} +func (m *UserGrant) XXX_DiscardUnknown() { + xxx_messageInfo_UserGrant.DiscardUnknown(m) +} + +var xxx_messageInfo_UserGrant proto.InternalMessageInfo + +func (m *UserGrant) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *UserGrant) GetUserId() string { - if x != nil { - return x.UserId +func (m *UserGrant) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *UserGrant) GetOrgId() string { - if x != nil { - return x.OrgId +func (m *UserGrant) GetOrgId() string { + if m != nil { + return m.OrgId } return "" } -func (x *UserGrant) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *UserGrant) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *UserGrant) GetRoleKeys() []string { - if x != nil { - return x.RoleKeys +func (m *UserGrant) GetRoleKeys() []string { + if m != nil { + return m.RoleKeys } return nil } -func (x *UserGrant) GetState() UserGrantState { - if x != nil { - return x.State +func (m *UserGrant) GetState() UserGrantState { + if m != nil { + return m.State } return UserGrantState_USERGRANTSTATE_UNSPECIFIED } -func (x *UserGrant) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *UserGrant) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *UserGrant) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *UserGrant) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *UserGrant) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *UserGrant) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *UserGrant) GetGrantId() string { - if x != nil { - return x.GrantId +func (m *UserGrant) GetGrantId() string { + if m != nil { + return m.GrantId } return "" } -type UserGrantCreateBulk struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserGrants []*UserGrantCreate `protobuf:"bytes,1,rep,name=user_grants,json=userGrants,proto3" json:"user_grants,omitempty"` -} - -func (x *UserGrantCreateBulk) Reset() { - *x = UserGrantCreateBulk{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[130] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserGrantCreateBulk) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserGrantCreateBulk) ProtoMessage() {} - -func (x *UserGrantCreateBulk) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[130] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserGrantCreateBulk.ProtoReflect.Descriptor instead. -func (*UserGrantCreateBulk) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{130} -} - -func (x *UserGrantCreateBulk) GetUserGrants() []*UserGrantCreate { - if x != nil { - return x.UserGrants - } - return nil -} - type UserGrantCreate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - RoleKeys []string `protobuf:"bytes,3,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` - GrantId string `protobuf:"bytes,4,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + RoleKeys []string `protobuf:"bytes,3,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` + GrantId string `protobuf:"bytes,4,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserGrantCreate) Reset() { - *x = UserGrantCreate{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[131] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserGrantCreate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserGrantCreate) ProtoMessage() {} - -func (x *UserGrantCreate) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[131] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserGrantCreate.ProtoReflect.Descriptor instead. +func (m *UserGrantCreate) Reset() { *m = UserGrantCreate{} } +func (m *UserGrantCreate) String() string { return proto.CompactTextString(m) } +func (*UserGrantCreate) ProtoMessage() {} func (*UserGrantCreate) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{131} + return fileDescriptor_edc174f991dc0a25, []int{139} } -func (x *UserGrantCreate) GetUserId() string { - if x != nil { - return x.UserId +func (m *UserGrantCreate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserGrantCreate.Unmarshal(m, b) +} +func (m *UserGrantCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserGrantCreate.Marshal(b, m, deterministic) +} +func (m *UserGrantCreate) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserGrantCreate.Merge(m, src) +} +func (m *UserGrantCreate) XXX_Size() int { + return xxx_messageInfo_UserGrantCreate.Size(m) +} +func (m *UserGrantCreate) XXX_DiscardUnknown() { + xxx_messageInfo_UserGrantCreate.DiscardUnknown(m) +} + +var xxx_messageInfo_UserGrantCreate proto.InternalMessageInfo + +func (m *UserGrantCreate) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *UserGrantCreate) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *UserGrantCreate) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *UserGrantCreate) GetRoleKeys() []string { - if x != nil { - return x.RoleKeys +func (m *UserGrantCreate) GetRoleKeys() []string { + if m != nil { + return m.RoleKeys } return nil } -func (x *UserGrantCreate) GetGrantId() string { - if x != nil { - return x.GrantId +func (m *UserGrantCreate) GetGrantId() string { + if m != nil { + return m.GrantId } return "" } -type UserGrantUpdateBulk struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserGrants []*UserGrantUpdate `protobuf:"bytes,1,rep,name=user_grants,json=userGrants,proto3" json:"user_grants,omitempty"` -} - -func (x *UserGrantUpdateBulk) Reset() { - *x = UserGrantUpdateBulk{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[132] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserGrantUpdateBulk) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserGrantUpdateBulk) ProtoMessage() {} - -func (x *UserGrantUpdateBulk) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[132] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserGrantUpdateBulk.ProtoReflect.Descriptor instead. -func (*UserGrantUpdateBulk) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{132} -} - -func (x *UserGrantUpdateBulk) GetUserGrants() []*UserGrantUpdate { - if x != nil { - return x.UserGrants - } - return nil -} - type UserGrantUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` - RoleKeys []string `protobuf:"bytes,3,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + RoleKeys []string `protobuf:"bytes,3,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserGrantUpdate) Reset() { - *x = UserGrantUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[133] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserGrantUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserGrantUpdate) ProtoMessage() {} - -func (x *UserGrantUpdate) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[133] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserGrantUpdate.ProtoReflect.Descriptor instead. +func (m *UserGrantUpdate) Reset() { *m = UserGrantUpdate{} } +func (m *UserGrantUpdate) String() string { return proto.CompactTextString(m) } +func (*UserGrantUpdate) ProtoMessage() {} func (*UserGrantUpdate) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{133} + return fileDescriptor_edc174f991dc0a25, []int{140} } -func (x *UserGrantUpdate) GetUserId() string { - if x != nil { - return x.UserId +func (m *UserGrantUpdate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserGrantUpdate.Unmarshal(m, b) +} +func (m *UserGrantUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserGrantUpdate.Marshal(b, m, deterministic) +} +func (m *UserGrantUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserGrantUpdate.Merge(m, src) +} +func (m *UserGrantUpdate) XXX_Size() int { + return xxx_messageInfo_UserGrantUpdate.Size(m) +} +func (m *UserGrantUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_UserGrantUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_UserGrantUpdate proto.InternalMessageInfo + +func (m *UserGrantUpdate) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *UserGrantUpdate) GetId() string { - if x != nil { - return x.Id +func (m *UserGrantUpdate) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *UserGrantUpdate) GetRoleKeys() []string { - if x != nil { - return x.RoleKeys +func (m *UserGrantUpdate) GetRoleKeys() []string { + if m != nil { + return m.RoleKeys } return nil } type UserGrantRemoveBulk struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` + Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserGrantRemoveBulk) Reset() { - *x = UserGrantRemoveBulk{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[134] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserGrantRemoveBulk) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserGrantRemoveBulk) ProtoMessage() {} - -func (x *UserGrantRemoveBulk) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[134] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserGrantRemoveBulk.ProtoReflect.Descriptor instead. +func (m *UserGrantRemoveBulk) Reset() { *m = UserGrantRemoveBulk{} } +func (m *UserGrantRemoveBulk) String() string { return proto.CompactTextString(m) } +func (*UserGrantRemoveBulk) ProtoMessage() {} func (*UserGrantRemoveBulk) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{134} + return fileDescriptor_edc174f991dc0a25, []int{141} } -func (x *UserGrantRemoveBulk) GetIds() []string { - if x != nil { - return x.Ids +func (m *UserGrantRemoveBulk) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserGrantRemoveBulk.Unmarshal(m, b) +} +func (m *UserGrantRemoveBulk) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserGrantRemoveBulk.Marshal(b, m, deterministic) +} +func (m *UserGrantRemoveBulk) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserGrantRemoveBulk.Merge(m, src) +} +func (m *UserGrantRemoveBulk) XXX_Size() int { + return xxx_messageInfo_UserGrantRemoveBulk.Size(m) +} +func (m *UserGrantRemoveBulk) XXX_DiscardUnknown() { + xxx_messageInfo_UserGrantRemoveBulk.DiscardUnknown(m) +} + +var xxx_messageInfo_UserGrantRemoveBulk proto.InternalMessageInfo + +func (m *UserGrantRemoveBulk) GetIds() []string { + if m != nil { + return m.Ids } return nil } type UserGrantID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserGrantID) Reset() { - *x = UserGrantID{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[135] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserGrantID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserGrantID) ProtoMessage() {} - -func (x *UserGrantID) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[135] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserGrantID.ProtoReflect.Descriptor instead. +func (m *UserGrantID) Reset() { *m = UserGrantID{} } +func (m *UserGrantID) String() string { return proto.CompactTextString(m) } +func (*UserGrantID) ProtoMessage() {} func (*UserGrantID) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{135} + return fileDescriptor_edc174f991dc0a25, []int{142} } -func (x *UserGrantID) GetUserId() string { - if x != nil { - return x.UserId +func (m *UserGrantID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserGrantID.Unmarshal(m, b) +} +func (m *UserGrantID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserGrantID.Marshal(b, m, deterministic) +} +func (m *UserGrantID) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserGrantID.Merge(m, src) +} +func (m *UserGrantID) XXX_Size() int { + return xxx_messageInfo_UserGrantID.Size(m) +} +func (m *UserGrantID) XXX_DiscardUnknown() { + xxx_messageInfo_UserGrantID.DiscardUnknown(m) +} + +var xxx_messageInfo_UserGrantID proto.InternalMessageInfo + +func (m *UserGrantID) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *UserGrantID) GetId() string { - if x != nil { - return x.Id +func (m *UserGrantID) GetId() string { + if m != nil { + return m.Id } return "" } type UserGrantView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - OrgId string `protobuf:"bytes,3,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` - ProjectId string `protobuf:"bytes,4,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - RoleKeys []string `protobuf:"bytes,5,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` - State UserGrantState `protobuf:"varint,6,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.UserGrantState" json:"state,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - UserName string `protobuf:"bytes,9,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` - FirstName string `protobuf:"bytes,10,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` - LastName string `protobuf:"bytes,11,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` - Email string `protobuf:"bytes,12,opt,name=email,proto3" json:"email,omitempty"` - OrgName string `protobuf:"bytes,13,opt,name=org_name,json=orgName,proto3" json:"org_name,omitempty"` - OrgDomain string `protobuf:"bytes,14,opt,name=org_domain,json=orgDomain,proto3" json:"org_domain,omitempty"` - ProjectName string `protobuf:"bytes,15,opt,name=project_name,json=projectName,proto3" json:"project_name,omitempty"` - Sequence uint64 `protobuf:"varint,16,opt,name=sequence,proto3" json:"sequence,omitempty"` - ResourceOwner string `protobuf:"bytes,17,opt,name=resource_owner,json=resourceOwner,proto3" json:"resource_owner,omitempty"` - DisplayName string `protobuf:"bytes,18,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - GrantId string `protobuf:"bytes,19,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + OrgId string `protobuf:"bytes,3,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` + ProjectId string `protobuf:"bytes,4,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + RoleKeys []string `protobuf:"bytes,5,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` + State UserGrantState `protobuf:"varint,6,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.UserGrantState" json:"state,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + UserName string `protobuf:"bytes,9,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` + FirstName string `protobuf:"bytes,10,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,11,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + Email string `protobuf:"bytes,12,opt,name=email,proto3" json:"email,omitempty"` + OrgName string `protobuf:"bytes,13,opt,name=org_name,json=orgName,proto3" json:"org_name,omitempty"` + OrgDomain string `protobuf:"bytes,14,opt,name=org_domain,json=orgDomain,proto3" json:"org_domain,omitempty"` + ProjectName string `protobuf:"bytes,15,opt,name=project_name,json=projectName,proto3" json:"project_name,omitempty"` + Sequence uint64 `protobuf:"varint,16,opt,name=sequence,proto3" json:"sequence,omitempty"` + ResourceOwner string `protobuf:"bytes,17,opt,name=resource_owner,json=resourceOwner,proto3" json:"resource_owner,omitempty"` + DisplayName string `protobuf:"bytes,18,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + GrantId string `protobuf:"bytes,19,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserGrantView) Reset() { - *x = UserGrantView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[136] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserGrantView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserGrantView) ProtoMessage() {} - -func (x *UserGrantView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[136] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserGrantView.ProtoReflect.Descriptor instead. +func (m *UserGrantView) Reset() { *m = UserGrantView{} } +func (m *UserGrantView) String() string { return proto.CompactTextString(m) } +func (*UserGrantView) ProtoMessage() {} func (*UserGrantView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{136} + return fileDescriptor_edc174f991dc0a25, []int{143} } -func (x *UserGrantView) GetId() string { - if x != nil { - return x.Id +func (m *UserGrantView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserGrantView.Unmarshal(m, b) +} +func (m *UserGrantView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserGrantView.Marshal(b, m, deterministic) +} +func (m *UserGrantView) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserGrantView.Merge(m, src) +} +func (m *UserGrantView) XXX_Size() int { + return xxx_messageInfo_UserGrantView.Size(m) +} +func (m *UserGrantView) XXX_DiscardUnknown() { + xxx_messageInfo_UserGrantView.DiscardUnknown(m) +} + +var xxx_messageInfo_UserGrantView proto.InternalMessageInfo + +func (m *UserGrantView) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *UserGrantView) GetUserId() string { - if x != nil { - return x.UserId +func (m *UserGrantView) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *UserGrantView) GetOrgId() string { - if x != nil { - return x.OrgId +func (m *UserGrantView) GetOrgId() string { + if m != nil { + return m.OrgId } return "" } -func (x *UserGrantView) GetProjectId() string { - if x != nil { - return x.ProjectId +func (m *UserGrantView) GetProjectId() string { + if m != nil { + return m.ProjectId } return "" } -func (x *UserGrantView) GetRoleKeys() []string { - if x != nil { - return x.RoleKeys +func (m *UserGrantView) GetRoleKeys() []string { + if m != nil { + return m.RoleKeys } return nil } -func (x *UserGrantView) GetState() UserGrantState { - if x != nil { - return x.State +func (m *UserGrantView) GetState() UserGrantState { + if m != nil { + return m.State } return UserGrantState_USERGRANTSTATE_UNSPECIFIED } -func (x *UserGrantView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *UserGrantView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *UserGrantView) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *UserGrantView) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *UserGrantView) GetUserName() string { - if x != nil { - return x.UserName +func (m *UserGrantView) GetUserName() string { + if m != nil { + return m.UserName } return "" } -func (x *UserGrantView) GetFirstName() string { - if x != nil { - return x.FirstName +func (m *UserGrantView) GetFirstName() string { + if m != nil { + return m.FirstName } return "" } -func (x *UserGrantView) GetLastName() string { - if x != nil { - return x.LastName +func (m *UserGrantView) GetLastName() string { + if m != nil { + return m.LastName } return "" } -func (x *UserGrantView) GetEmail() string { - if x != nil { - return x.Email +func (m *UserGrantView) GetEmail() string { + if m != nil { + return m.Email } return "" } -func (x *UserGrantView) GetOrgName() string { - if x != nil { - return x.OrgName +func (m *UserGrantView) GetOrgName() string { + if m != nil { + return m.OrgName } return "" } -func (x *UserGrantView) GetOrgDomain() string { - if x != nil { - return x.OrgDomain +func (m *UserGrantView) GetOrgDomain() string { + if m != nil { + return m.OrgDomain } return "" } -func (x *UserGrantView) GetProjectName() string { - if x != nil { - return x.ProjectName +func (m *UserGrantView) GetProjectName() string { + if m != nil { + return m.ProjectName } return "" } -func (x *UserGrantView) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *UserGrantView) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *UserGrantView) GetResourceOwner() string { - if x != nil { - return x.ResourceOwner +func (m *UserGrantView) GetResourceOwner() string { + if m != nil { + return m.ResourceOwner } return "" } -func (x *UserGrantView) GetDisplayName() string { - if x != nil { - return x.DisplayName +func (m *UserGrantView) GetDisplayName() string { + if m != nil { + return m.DisplayName } return "" } -func (x *UserGrantView) GetGrantId() string { - if x != nil { - return x.GrantId +func (m *UserGrantView) GetGrantId() string { + if m != nil { + return m.GrantId } return "" } type UserGrantSearchResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` - Result []*UserGrantView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` - ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` - ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` + Result []*UserGrantView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserGrantSearchResponse) Reset() { - *x = UserGrantSearchResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[137] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserGrantSearchResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserGrantSearchResponse) ProtoMessage() {} - -func (x *UserGrantSearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[137] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserGrantSearchResponse.ProtoReflect.Descriptor instead. +func (m *UserGrantSearchResponse) Reset() { *m = UserGrantSearchResponse{} } +func (m *UserGrantSearchResponse) String() string { return proto.CompactTextString(m) } +func (*UserGrantSearchResponse) ProtoMessage() {} func (*UserGrantSearchResponse) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{137} + return fileDescriptor_edc174f991dc0a25, []int{144} } -func (x *UserGrantSearchResponse) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *UserGrantSearchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserGrantSearchResponse.Unmarshal(m, b) +} +func (m *UserGrantSearchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserGrantSearchResponse.Marshal(b, m, deterministic) +} +func (m *UserGrantSearchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserGrantSearchResponse.Merge(m, src) +} +func (m *UserGrantSearchResponse) XXX_Size() int { + return xxx_messageInfo_UserGrantSearchResponse.Size(m) +} +func (m *UserGrantSearchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_UserGrantSearchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_UserGrantSearchResponse proto.InternalMessageInfo + +func (m *UserGrantSearchResponse) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *UserGrantSearchResponse) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *UserGrantSearchResponse) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *UserGrantSearchResponse) GetTotalResult() uint64 { - if x != nil { - return x.TotalResult +func (m *UserGrantSearchResponse) GetTotalResult() uint64 { + if m != nil { + return m.TotalResult } return 0 } -func (x *UserGrantSearchResponse) GetResult() []*UserGrantView { - if x != nil { - return x.Result +func (m *UserGrantSearchResponse) GetResult() []*UserGrantView { + if m != nil { + return m.Result } return nil } -func (x *UserGrantSearchResponse) GetProcessedSequence() uint64 { - if x != nil { - return x.ProcessedSequence +func (m *UserGrantSearchResponse) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence } return 0 } -func (x *UserGrantSearchResponse) GetViewTimestamp() *timestamp.Timestamp { - if x != nil { - return x.ViewTimestamp +func (m *UserGrantSearchResponse) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp } return nil } type UserGrantSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - Queries []*UserGrantSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + Queries []*UserGrantSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserGrantSearchRequest) Reset() { - *x = UserGrantSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[138] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserGrantSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserGrantSearchRequest) ProtoMessage() {} - -func (x *UserGrantSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[138] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserGrantSearchRequest.ProtoReflect.Descriptor instead. +func (m *UserGrantSearchRequest) Reset() { *m = UserGrantSearchRequest{} } +func (m *UserGrantSearchRequest) String() string { return proto.CompactTextString(m) } +func (*UserGrantSearchRequest) ProtoMessage() {} func (*UserGrantSearchRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{138} + return fileDescriptor_edc174f991dc0a25, []int{145} } -func (x *UserGrantSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *UserGrantSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserGrantSearchRequest.Unmarshal(m, b) +} +func (m *UserGrantSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserGrantSearchRequest.Marshal(b, m, deterministic) +} +func (m *UserGrantSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserGrantSearchRequest.Merge(m, src) +} +func (m *UserGrantSearchRequest) XXX_Size() int { + return xxx_messageInfo_UserGrantSearchRequest.Size(m) +} +func (m *UserGrantSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UserGrantSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UserGrantSearchRequest proto.InternalMessageInfo + +func (m *UserGrantSearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *UserGrantSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *UserGrantSearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *UserGrantSearchRequest) GetQueries() []*UserGrantSearchQuery { - if x != nil { - return x.Queries +func (m *UserGrantSearchRequest) GetQueries() []*UserGrantSearchQuery { + if m != nil { + return m.Queries } return nil } type UserGrantSearchQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key UserGrantSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.UserGrantSearchKey" json:"key,omitempty"` - Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` - Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + Key UserGrantSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.UserGrantSearchKey" json:"key,omitempty"` + Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserGrantSearchQuery) Reset() { - *x = UserGrantSearchQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[139] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserGrantSearchQuery) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserGrantSearchQuery) ProtoMessage() {} - -func (x *UserGrantSearchQuery) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[139] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserGrantSearchQuery.ProtoReflect.Descriptor instead. +func (m *UserGrantSearchQuery) Reset() { *m = UserGrantSearchQuery{} } +func (m *UserGrantSearchQuery) String() string { return proto.CompactTextString(m) } +func (*UserGrantSearchQuery) ProtoMessage() {} func (*UserGrantSearchQuery) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{139} + return fileDescriptor_edc174f991dc0a25, []int{146} } -func (x *UserGrantSearchQuery) GetKey() UserGrantSearchKey { - if x != nil { - return x.Key +func (m *UserGrantSearchQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserGrantSearchQuery.Unmarshal(m, b) +} +func (m *UserGrantSearchQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserGrantSearchQuery.Marshal(b, m, deterministic) +} +func (m *UserGrantSearchQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserGrantSearchQuery.Merge(m, src) +} +func (m *UserGrantSearchQuery) XXX_Size() int { + return xxx_messageInfo_UserGrantSearchQuery.Size(m) +} +func (m *UserGrantSearchQuery) XXX_DiscardUnknown() { + xxx_messageInfo_UserGrantSearchQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_UserGrantSearchQuery proto.InternalMessageInfo + +func (m *UserGrantSearchQuery) GetKey() UserGrantSearchKey { + if m != nil { + return m.Key } return UserGrantSearchKey_USERGRANTSEARCHKEY_UNSPECIFIED } -func (x *UserGrantSearchQuery) GetMethod() SearchMethod { - if x != nil { - return x.Method +func (m *UserGrantSearchQuery) GetMethod() SearchMethod { + if m != nil { + return m.Method } return SearchMethod_SEARCHMETHOD_EQUALS } -func (x *UserGrantSearchQuery) GetValue() string { - if x != nil { - return x.Value +func (m *UserGrantSearchQuery) GetValue() string { + if m != nil { + return m.Value } return "" } -type ProjectUserGrantSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` - Queries []*UserGrantSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` -} - -func (x *ProjectUserGrantSearchRequest) Reset() { - *x = ProjectUserGrantSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[140] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectUserGrantSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectUserGrantSearchRequest) ProtoMessage() {} - -func (x *ProjectUserGrantSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[140] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectUserGrantSearchRequest.ProtoReflect.Descriptor instead. -func (*ProjectUserGrantSearchRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{140} -} - -func (x *ProjectUserGrantSearchRequest) GetProjectId() string { - if x != nil { - return x.ProjectId - } - return "" -} - -func (x *ProjectUserGrantSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset - } - return 0 -} - -func (x *ProjectUserGrantSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit - } - return 0 -} - -func (x *ProjectUserGrantSearchRequest) GetQueries() []*UserGrantSearchQuery { - if x != nil { - return x.Queries - } - return nil -} - -type ProjectGrantUserGrantSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectGrantId string `protobuf:"bytes,1,opt,name=project_grant_id,json=projectGrantId,proto3" json:"project_grant_id,omitempty"` - Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` - Queries []*UserGrantSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` -} - -func (x *ProjectGrantUserGrantSearchRequest) Reset() { - *x = ProjectGrantUserGrantSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[141] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectGrantUserGrantSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectGrantUserGrantSearchRequest) ProtoMessage() {} - -func (x *ProjectGrantUserGrantSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[141] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectGrantUserGrantSearchRequest.ProtoReflect.Descriptor instead. -func (*ProjectGrantUserGrantSearchRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{141} -} - -func (x *ProjectGrantUserGrantSearchRequest) GetProjectGrantId() string { - if x != nil { - return x.ProjectGrantId - } - return "" -} - -func (x *ProjectGrantUserGrantSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset - } - return 0 -} - -func (x *ProjectGrantUserGrantSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit - } - return 0 -} - -func (x *ProjectGrantUserGrantSearchRequest) GetQueries() []*UserGrantSearchQuery { - if x != nil { - return x.Queries - } - return nil -} - type UserMembershipSearchResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` - Result []*UserMembershipView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` - ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` - ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` + Result []*UserMembershipView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserMembershipSearchResponse) Reset() { - *x = UserMembershipSearchResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[142] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserMembershipSearchResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserMembershipSearchResponse) ProtoMessage() {} - -func (x *UserMembershipSearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[142] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserMembershipSearchResponse.ProtoReflect.Descriptor instead. +func (m *UserMembershipSearchResponse) Reset() { *m = UserMembershipSearchResponse{} } +func (m *UserMembershipSearchResponse) String() string { return proto.CompactTextString(m) } +func (*UserMembershipSearchResponse) ProtoMessage() {} func (*UserMembershipSearchResponse) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{142} + return fileDescriptor_edc174f991dc0a25, []int{147} } -func (x *UserMembershipSearchResponse) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *UserMembershipSearchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserMembershipSearchResponse.Unmarshal(m, b) +} +func (m *UserMembershipSearchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserMembershipSearchResponse.Marshal(b, m, deterministic) +} +func (m *UserMembershipSearchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserMembershipSearchResponse.Merge(m, src) +} +func (m *UserMembershipSearchResponse) XXX_Size() int { + return xxx_messageInfo_UserMembershipSearchResponse.Size(m) +} +func (m *UserMembershipSearchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_UserMembershipSearchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_UserMembershipSearchResponse proto.InternalMessageInfo + +func (m *UserMembershipSearchResponse) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *UserMembershipSearchResponse) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *UserMembershipSearchResponse) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *UserMembershipSearchResponse) GetTotalResult() uint64 { - if x != nil { - return x.TotalResult +func (m *UserMembershipSearchResponse) GetTotalResult() uint64 { + if m != nil { + return m.TotalResult } return 0 } -func (x *UserMembershipSearchResponse) GetResult() []*UserMembershipView { - if x != nil { - return x.Result +func (m *UserMembershipSearchResponse) GetResult() []*UserMembershipView { + if m != nil { + return m.Result } return nil } -func (x *UserMembershipSearchResponse) GetProcessedSequence() uint64 { - if x != nil { - return x.ProcessedSequence +func (m *UserMembershipSearchResponse) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence } return 0 } -func (x *UserMembershipSearchResponse) GetViewTimestamp() *timestamp.Timestamp { - if x != nil { - return x.ViewTimestamp +func (m *UserMembershipSearchResponse) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp } return nil } type UserMembershipSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` - Queries []*UserMembershipSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` + Queries []*UserMembershipSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserMembershipSearchRequest) Reset() { - *x = UserMembershipSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[143] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserMembershipSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserMembershipSearchRequest) ProtoMessage() {} - -func (x *UserMembershipSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[143] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserMembershipSearchRequest.ProtoReflect.Descriptor instead. +func (m *UserMembershipSearchRequest) Reset() { *m = UserMembershipSearchRequest{} } +func (m *UserMembershipSearchRequest) String() string { return proto.CompactTextString(m) } +func (*UserMembershipSearchRequest) ProtoMessage() {} func (*UserMembershipSearchRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{143} + return fileDescriptor_edc174f991dc0a25, []int{148} } -func (x *UserMembershipSearchRequest) GetUserId() string { - if x != nil { - return x.UserId +func (m *UserMembershipSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserMembershipSearchRequest.Unmarshal(m, b) +} +func (m *UserMembershipSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserMembershipSearchRequest.Marshal(b, m, deterministic) +} +func (m *UserMembershipSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserMembershipSearchRequest.Merge(m, src) +} +func (m *UserMembershipSearchRequest) XXX_Size() int { + return xxx_messageInfo_UserMembershipSearchRequest.Size(m) +} +func (m *UserMembershipSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UserMembershipSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UserMembershipSearchRequest proto.InternalMessageInfo + +func (m *UserMembershipSearchRequest) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *UserMembershipSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *UserMembershipSearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *UserMembershipSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *UserMembershipSearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *UserMembershipSearchRequest) GetQueries() []*UserMembershipSearchQuery { - if x != nil { - return x.Queries +func (m *UserMembershipSearchRequest) GetQueries() []*UserMembershipSearchQuery { + if m != nil { + return m.Queries } return nil } type UserMembershipSearchQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key UserMembershipSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.UserMembershipSearchKey" json:"key,omitempty"` - Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` - Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + Key UserMembershipSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.UserMembershipSearchKey" json:"key,omitempty"` + Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserMembershipSearchQuery) Reset() { - *x = UserMembershipSearchQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[144] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserMembershipSearchQuery) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserMembershipSearchQuery) ProtoMessage() {} - -func (x *UserMembershipSearchQuery) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[144] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserMembershipSearchQuery.ProtoReflect.Descriptor instead. +func (m *UserMembershipSearchQuery) Reset() { *m = UserMembershipSearchQuery{} } +func (m *UserMembershipSearchQuery) String() string { return proto.CompactTextString(m) } +func (*UserMembershipSearchQuery) ProtoMessage() {} func (*UserMembershipSearchQuery) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{144} + return fileDescriptor_edc174f991dc0a25, []int{149} } -func (x *UserMembershipSearchQuery) GetKey() UserMembershipSearchKey { - if x != nil { - return x.Key +func (m *UserMembershipSearchQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserMembershipSearchQuery.Unmarshal(m, b) +} +func (m *UserMembershipSearchQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserMembershipSearchQuery.Marshal(b, m, deterministic) +} +func (m *UserMembershipSearchQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserMembershipSearchQuery.Merge(m, src) +} +func (m *UserMembershipSearchQuery) XXX_Size() int { + return xxx_messageInfo_UserMembershipSearchQuery.Size(m) +} +func (m *UserMembershipSearchQuery) XXX_DiscardUnknown() { + xxx_messageInfo_UserMembershipSearchQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_UserMembershipSearchQuery proto.InternalMessageInfo + +func (m *UserMembershipSearchQuery) GetKey() UserMembershipSearchKey { + if m != nil { + return m.Key } return UserMembershipSearchKey_USERMEMBERSHIPSEARCHKEY_UNSPECIFIED } -func (x *UserMembershipSearchQuery) GetMethod() SearchMethod { - if x != nil { - return x.Method +func (m *UserMembershipSearchQuery) GetMethod() SearchMethod { + if m != nil { + return m.Method } return SearchMethod_SEARCHMETHOD_EQUALS } -func (x *UserMembershipSearchQuery) GetValue() string { - if x != nil { - return x.Value +func (m *UserMembershipSearchQuery) GetValue() string { + if m != nil { + return m.Value } return "" } type UserMembershipView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - MemberType MemberType `protobuf:"varint,2,opt,name=member_type,json=memberType,proto3,enum=caos.zitadel.management.api.v1.MemberType" json:"member_type,omitempty"` - AggregateId string `protobuf:"bytes,3,opt,name=aggregate_id,json=aggregateId,proto3" json:"aggregate_id,omitempty"` - ObjectId string `protobuf:"bytes,4,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"` - Roles []string `protobuf:"bytes,5,rep,name=roles,proto3" json:"roles,omitempty"` - DisplayName string `protobuf:"bytes,6,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - CreationDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - ChangeDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` - Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` - ResourceOwner string `protobuf:"bytes,10,opt,name=resource_owner,json=resourceOwner,proto3" json:"resource_owner,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + MemberType MemberType `protobuf:"varint,2,opt,name=member_type,json=memberType,proto3,enum=caos.zitadel.management.api.v1.MemberType" json:"member_type,omitempty"` + AggregateId string `protobuf:"bytes,3,opt,name=aggregate_id,json=aggregateId,proto3" json:"aggregate_id,omitempty"` + ObjectId string `protobuf:"bytes,4,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"` + Roles []string `protobuf:"bytes,5,rep,name=roles,proto3" json:"roles,omitempty"` + DisplayName string `protobuf:"bytes,6,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + CreationDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + ChangeDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` + Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` + ResourceOwner string `protobuf:"bytes,10,opt,name=resource_owner,json=resourceOwner,proto3" json:"resource_owner,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserMembershipView) Reset() { - *x = UserMembershipView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[145] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserMembershipView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserMembershipView) ProtoMessage() {} - -func (x *UserMembershipView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[145] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserMembershipView.ProtoReflect.Descriptor instead. +func (m *UserMembershipView) Reset() { *m = UserMembershipView{} } +func (m *UserMembershipView) String() string { return proto.CompactTextString(m) } +func (*UserMembershipView) ProtoMessage() {} func (*UserMembershipView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{145} + return fileDescriptor_edc174f991dc0a25, []int{150} } -func (x *UserMembershipView) GetUserId() string { - if x != nil { - return x.UserId +func (m *UserMembershipView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserMembershipView.Unmarshal(m, b) +} +func (m *UserMembershipView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserMembershipView.Marshal(b, m, deterministic) +} +func (m *UserMembershipView) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserMembershipView.Merge(m, src) +} +func (m *UserMembershipView) XXX_Size() int { + return xxx_messageInfo_UserMembershipView.Size(m) +} +func (m *UserMembershipView) XXX_DiscardUnknown() { + xxx_messageInfo_UserMembershipView.DiscardUnknown(m) +} + +var xxx_messageInfo_UserMembershipView proto.InternalMessageInfo + +func (m *UserMembershipView) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *UserMembershipView) GetMemberType() MemberType { - if x != nil { - return x.MemberType +func (m *UserMembershipView) GetMemberType() MemberType { + if m != nil { + return m.MemberType } return MemberType_MEMBERTYPE_UNSPECIFIED } -func (x *UserMembershipView) GetAggregateId() string { - if x != nil { - return x.AggregateId +func (m *UserMembershipView) GetAggregateId() string { + if m != nil { + return m.AggregateId } return "" } -func (x *UserMembershipView) GetObjectId() string { - if x != nil { - return x.ObjectId +func (m *UserMembershipView) GetObjectId() string { + if m != nil { + return m.ObjectId } return "" } -func (x *UserMembershipView) GetRoles() []string { - if x != nil { - return x.Roles +func (m *UserMembershipView) GetRoles() []string { + if m != nil { + return m.Roles } return nil } -func (x *UserMembershipView) GetDisplayName() string { - if x != nil { - return x.DisplayName +func (m *UserMembershipView) GetDisplayName() string { + if m != nil { + return m.DisplayName } return "" } -func (x *UserMembershipView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *UserMembershipView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *UserMembershipView) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *UserMembershipView) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *UserMembershipView) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (m *UserMembershipView) GetSequence() uint64 { + if m != nil { + return m.Sequence } return 0 } -func (x *UserMembershipView) GetResourceOwner() string { - if x != nil { - return x.ResourceOwner +func (m *UserMembershipView) GetResourceOwner() string { + if m != nil { + return m.ResourceOwner } return "" } type IdpID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpID) Reset() { - *x = IdpID{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[146] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpID) ProtoMessage() {} - -func (x *IdpID) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[146] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpID.ProtoReflect.Descriptor instead. +func (m *IdpID) Reset() { *m = IdpID{} } +func (m *IdpID) String() string { return proto.CompactTextString(m) } +func (*IdpID) ProtoMessage() {} func (*IdpID) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{146} + return fileDescriptor_edc174f991dc0a25, []int{151} } -func (x *IdpID) GetId() string { - if x != nil { - return x.Id +func (m *IdpID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpID.Unmarshal(m, b) +} +func (m *IdpID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpID.Marshal(b, m, deterministic) +} +func (m *IdpID) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpID.Merge(m, src) +} +func (m *IdpID) XXX_Size() int { + return xxx_messageInfo_IdpID.Size(m) +} +func (m *IdpID) XXX_DiscardUnknown() { + xxx_messageInfo_IdpID.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpID proto.InternalMessageInfo + +func (m *IdpID) GetId() string { + if m != nil { + return m.Id } return "" } type Idp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` State IdpState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.IdpState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` LogoSrc []byte `protobuf:"bytes,6,opt,name=logo_src,json=logoSrc,proto3" json:"logo_src,omitempty"` - // Types that are assignable to IdpConfig: + // Types that are valid to be assigned to IdpConfig: // *Idp_OidcConfig - IdpConfig isIdp_IdpConfig `protobuf_oneof:"idp_config"` - Sequence uint64 `protobuf:"varint,8,opt,name=sequence,proto3" json:"sequence,omitempty"` + IdpConfig isIdp_IdpConfig `protobuf_oneof:"idp_config"` + Sequence uint64 `protobuf:"varint,8,opt,name=sequence,proto3" json:"sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *Idp) Reset() { - *x = Idp{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[147] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Idp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Idp) ProtoMessage() {} - -func (x *Idp) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[147] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Idp.ProtoReflect.Descriptor instead. +func (m *Idp) Reset() { *m = Idp{} } +func (m *Idp) String() string { return proto.CompactTextString(m) } +func (*Idp) ProtoMessage() {} func (*Idp) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{147} + return fileDescriptor_edc174f991dc0a25, []int{152} } -func (x *Idp) GetId() string { - if x != nil { - return x.Id +func (m *Idp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Idp.Unmarshal(m, b) +} +func (m *Idp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Idp.Marshal(b, m, deterministic) +} +func (m *Idp) XXX_Merge(src proto.Message) { + xxx_messageInfo_Idp.Merge(m, src) +} +func (m *Idp) XXX_Size() int { + return xxx_messageInfo_Idp.Size(m) +} +func (m *Idp) XXX_DiscardUnknown() { + xxx_messageInfo_Idp.DiscardUnknown(m) +} + +var xxx_messageInfo_Idp proto.InternalMessageInfo + +func (m *Idp) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *Idp) GetState() IdpState { - if x != nil { - return x.State +func (m *Idp) GetState() IdpState { + if m != nil { + return m.State } return IdpState_IDPCONFIGSTATE_UNSPECIFIED } -func (x *Idp) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *Idp) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *Idp) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *Idp) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *Idp) GetName() string { - if x != nil { - return x.Name +func (m *Idp) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *Idp) GetLogoSrc() []byte { - if x != nil { - return x.LogoSrc - } - return nil -} - -func (m *Idp) GetIdpConfig() isIdp_IdpConfig { +func (m *Idp) GetLogoSrc() []byte { if m != nil { - return m.IdpConfig + return m.LogoSrc } return nil } -func (x *Idp) GetOidcConfig() *OidcIdpConfig { - if x, ok := x.GetIdpConfig().(*Idp_OidcConfig); ok { - return x.OidcConfig - } - return nil -} - -func (x *Idp) GetSequence() uint64 { - if x != nil { - return x.Sequence - } - return 0 -} - type isIdp_IdpConfig interface { isIdp_IdpConfig() } @@ -13198,398 +11750,382 @@ type Idp_OidcConfig struct { func (*Idp_OidcConfig) isIdp_IdpConfig() {} +func (m *Idp) GetIdpConfig() isIdp_IdpConfig { + if m != nil { + return m.IdpConfig + } + return nil +} + +func (m *Idp) GetOidcConfig() *OidcIdpConfig { + if x, ok := m.GetIdpConfig().(*Idp_OidcConfig); ok { + return x.OidcConfig + } + return nil +} + +func (m *Idp) GetSequence() uint64 { + if m != nil { + return m.Sequence + } + return 0 +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*Idp) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*Idp_OidcConfig)(nil), + } +} + type IdpUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - LogoSrc []byte `protobuf:"bytes,3,opt,name=logo_src,json=logoSrc,proto3" json:"logo_src,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + LogoSrc []byte `protobuf:"bytes,3,opt,name=logo_src,json=logoSrc,proto3" json:"logo_src,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpUpdate) Reset() { - *x = IdpUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[148] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpUpdate) ProtoMessage() {} - -func (x *IdpUpdate) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[148] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpUpdate.ProtoReflect.Descriptor instead. +func (m *IdpUpdate) Reset() { *m = IdpUpdate{} } +func (m *IdpUpdate) String() string { return proto.CompactTextString(m) } +func (*IdpUpdate) ProtoMessage() {} func (*IdpUpdate) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{148} + return fileDescriptor_edc174f991dc0a25, []int{153} } -func (x *IdpUpdate) GetId() string { - if x != nil { - return x.Id +func (m *IdpUpdate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpUpdate.Unmarshal(m, b) +} +func (m *IdpUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpUpdate.Marshal(b, m, deterministic) +} +func (m *IdpUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpUpdate.Merge(m, src) +} +func (m *IdpUpdate) XXX_Size() int { + return xxx_messageInfo_IdpUpdate.Size(m) +} +func (m *IdpUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_IdpUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpUpdate proto.InternalMessageInfo + +func (m *IdpUpdate) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *IdpUpdate) GetName() string { - if x != nil { - return x.Name +func (m *IdpUpdate) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *IdpUpdate) GetLogoSrc() []byte { - if x != nil { - return x.LogoSrc +func (m *IdpUpdate) GetLogoSrc() []byte { + if m != nil { + return m.LogoSrc } return nil } type OidcIdpConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` - ClientSecret string `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` - Issuer string `protobuf:"bytes,3,opt,name=issuer,proto3" json:"issuer,omitempty"` - Scopes []string `protobuf:"bytes,4,rep,name=scopes,proto3" json:"scopes,omitempty"` + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + ClientSecret string `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + Issuer string `protobuf:"bytes,3,opt,name=issuer,proto3" json:"issuer,omitempty"` + Scopes []string `protobuf:"bytes,4,rep,name=scopes,proto3" json:"scopes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OidcIdpConfig) Reset() { - *x = OidcIdpConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[149] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OidcIdpConfig) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OidcIdpConfig) ProtoMessage() {} - -func (x *OidcIdpConfig) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[149] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OidcIdpConfig.ProtoReflect.Descriptor instead. +func (m *OidcIdpConfig) Reset() { *m = OidcIdpConfig{} } +func (m *OidcIdpConfig) String() string { return proto.CompactTextString(m) } +func (*OidcIdpConfig) ProtoMessage() {} func (*OidcIdpConfig) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{149} + return fileDescriptor_edc174f991dc0a25, []int{154} } -func (x *OidcIdpConfig) GetClientId() string { - if x != nil { - return x.ClientId +func (m *OidcIdpConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OidcIdpConfig.Unmarshal(m, b) +} +func (m *OidcIdpConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OidcIdpConfig.Marshal(b, m, deterministic) +} +func (m *OidcIdpConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_OidcIdpConfig.Merge(m, src) +} +func (m *OidcIdpConfig) XXX_Size() int { + return xxx_messageInfo_OidcIdpConfig.Size(m) +} +func (m *OidcIdpConfig) XXX_DiscardUnknown() { + xxx_messageInfo_OidcIdpConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_OidcIdpConfig proto.InternalMessageInfo + +func (m *OidcIdpConfig) GetClientId() string { + if m != nil { + return m.ClientId } return "" } -func (x *OidcIdpConfig) GetClientSecret() string { - if x != nil { - return x.ClientSecret +func (m *OidcIdpConfig) GetClientSecret() string { + if m != nil { + return m.ClientSecret } return "" } -func (x *OidcIdpConfig) GetIssuer() string { - if x != nil { - return x.Issuer +func (m *OidcIdpConfig) GetIssuer() string { + if m != nil { + return m.Issuer } return "" } -func (x *OidcIdpConfig) GetScopes() []string { - if x != nil { - return x.Scopes +func (m *OidcIdpConfig) GetScopes() []string { + if m != nil { + return m.Scopes } return nil } type OidcIdpConfigCreate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - LogoSrc []byte `protobuf:"bytes,2,opt,name=logo_src,json=logoSrc,proto3" json:"logo_src,omitempty"` - ClientId string `protobuf:"bytes,3,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` - ClientSecret string `protobuf:"bytes,4,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` - Issuer string `protobuf:"bytes,5,opt,name=issuer,proto3" json:"issuer,omitempty"` - Scopes []string `protobuf:"bytes,6,rep,name=scopes,proto3" json:"scopes,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + LogoSrc []byte `protobuf:"bytes,2,opt,name=logo_src,json=logoSrc,proto3" json:"logo_src,omitempty"` + ClientId string `protobuf:"bytes,3,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + ClientSecret string `protobuf:"bytes,4,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + Issuer string `protobuf:"bytes,5,opt,name=issuer,proto3" json:"issuer,omitempty"` + Scopes []string `protobuf:"bytes,6,rep,name=scopes,proto3" json:"scopes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OidcIdpConfigCreate) Reset() { - *x = OidcIdpConfigCreate{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[150] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OidcIdpConfigCreate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OidcIdpConfigCreate) ProtoMessage() {} - -func (x *OidcIdpConfigCreate) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[150] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OidcIdpConfigCreate.ProtoReflect.Descriptor instead. +func (m *OidcIdpConfigCreate) Reset() { *m = OidcIdpConfigCreate{} } +func (m *OidcIdpConfigCreate) String() string { return proto.CompactTextString(m) } +func (*OidcIdpConfigCreate) ProtoMessage() {} func (*OidcIdpConfigCreate) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{150} + return fileDescriptor_edc174f991dc0a25, []int{155} } -func (x *OidcIdpConfigCreate) GetName() string { - if x != nil { - return x.Name +func (m *OidcIdpConfigCreate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OidcIdpConfigCreate.Unmarshal(m, b) +} +func (m *OidcIdpConfigCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OidcIdpConfigCreate.Marshal(b, m, deterministic) +} +func (m *OidcIdpConfigCreate) XXX_Merge(src proto.Message) { + xxx_messageInfo_OidcIdpConfigCreate.Merge(m, src) +} +func (m *OidcIdpConfigCreate) XXX_Size() int { + return xxx_messageInfo_OidcIdpConfigCreate.Size(m) +} +func (m *OidcIdpConfigCreate) XXX_DiscardUnknown() { + xxx_messageInfo_OidcIdpConfigCreate.DiscardUnknown(m) +} + +var xxx_messageInfo_OidcIdpConfigCreate proto.InternalMessageInfo + +func (m *OidcIdpConfigCreate) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *OidcIdpConfigCreate) GetLogoSrc() []byte { - if x != nil { - return x.LogoSrc +func (m *OidcIdpConfigCreate) GetLogoSrc() []byte { + if m != nil { + return m.LogoSrc } return nil } -func (x *OidcIdpConfigCreate) GetClientId() string { - if x != nil { - return x.ClientId +func (m *OidcIdpConfigCreate) GetClientId() string { + if m != nil { + return m.ClientId } return "" } -func (x *OidcIdpConfigCreate) GetClientSecret() string { - if x != nil { - return x.ClientSecret +func (m *OidcIdpConfigCreate) GetClientSecret() string { + if m != nil { + return m.ClientSecret } return "" } -func (x *OidcIdpConfigCreate) GetIssuer() string { - if x != nil { - return x.Issuer +func (m *OidcIdpConfigCreate) GetIssuer() string { + if m != nil { + return m.Issuer } return "" } -func (x *OidcIdpConfigCreate) GetScopes() []string { - if x != nil { - return x.Scopes +func (m *OidcIdpConfigCreate) GetScopes() []string { + if m != nil { + return m.Scopes } return nil } type OidcIdpConfigUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IdpId string `protobuf:"bytes,1,opt,name=idp_id,json=idpId,proto3" json:"idp_id,omitempty"` - ClientId string `protobuf:"bytes,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` - ClientSecret string `protobuf:"bytes,3,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` - Issuer string `protobuf:"bytes,4,opt,name=issuer,proto3" json:"issuer,omitempty"` - Scopes []string `protobuf:"bytes,5,rep,name=scopes,proto3" json:"scopes,omitempty"` + IdpId string `protobuf:"bytes,1,opt,name=idp_id,json=idpId,proto3" json:"idp_id,omitempty"` + ClientId string `protobuf:"bytes,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + ClientSecret string `protobuf:"bytes,3,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + Issuer string `protobuf:"bytes,4,opt,name=issuer,proto3" json:"issuer,omitempty"` + Scopes []string `protobuf:"bytes,5,rep,name=scopes,proto3" json:"scopes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OidcIdpConfigUpdate) Reset() { - *x = OidcIdpConfigUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[151] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OidcIdpConfigUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OidcIdpConfigUpdate) ProtoMessage() {} - -func (x *OidcIdpConfigUpdate) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[151] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OidcIdpConfigUpdate.ProtoReflect.Descriptor instead. +func (m *OidcIdpConfigUpdate) Reset() { *m = OidcIdpConfigUpdate{} } +func (m *OidcIdpConfigUpdate) String() string { return proto.CompactTextString(m) } +func (*OidcIdpConfigUpdate) ProtoMessage() {} func (*OidcIdpConfigUpdate) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{151} + return fileDescriptor_edc174f991dc0a25, []int{156} } -func (x *OidcIdpConfigUpdate) GetIdpId() string { - if x != nil { - return x.IdpId +func (m *OidcIdpConfigUpdate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OidcIdpConfigUpdate.Unmarshal(m, b) +} +func (m *OidcIdpConfigUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OidcIdpConfigUpdate.Marshal(b, m, deterministic) +} +func (m *OidcIdpConfigUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_OidcIdpConfigUpdate.Merge(m, src) +} +func (m *OidcIdpConfigUpdate) XXX_Size() int { + return xxx_messageInfo_OidcIdpConfigUpdate.Size(m) +} +func (m *OidcIdpConfigUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_OidcIdpConfigUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_OidcIdpConfigUpdate proto.InternalMessageInfo + +func (m *OidcIdpConfigUpdate) GetIdpId() string { + if m != nil { + return m.IdpId } return "" } -func (x *OidcIdpConfigUpdate) GetClientId() string { - if x != nil { - return x.ClientId +func (m *OidcIdpConfigUpdate) GetClientId() string { + if m != nil { + return m.ClientId } return "" } -func (x *OidcIdpConfigUpdate) GetClientSecret() string { - if x != nil { - return x.ClientSecret +func (m *OidcIdpConfigUpdate) GetClientSecret() string { + if m != nil { + return m.ClientSecret } return "" } -func (x *OidcIdpConfigUpdate) GetIssuer() string { - if x != nil { - return x.Issuer +func (m *OidcIdpConfigUpdate) GetIssuer() string { + if m != nil { + return m.Issuer } return "" } -func (x *OidcIdpConfigUpdate) GetScopes() []string { - if x != nil { - return x.Scopes +func (m *OidcIdpConfigUpdate) GetScopes() []string { + if m != nil { + return m.Scopes } return nil } type IdpSearchResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` - Result []*IdpView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` - ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` - ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` + Result []*IdpView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpSearchResponse) Reset() { - *x = IdpSearchResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[152] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpSearchResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpSearchResponse) ProtoMessage() {} - -func (x *IdpSearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[152] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpSearchResponse.ProtoReflect.Descriptor instead. +func (m *IdpSearchResponse) Reset() { *m = IdpSearchResponse{} } +func (m *IdpSearchResponse) String() string { return proto.CompactTextString(m) } +func (*IdpSearchResponse) ProtoMessage() {} func (*IdpSearchResponse) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{152} + return fileDescriptor_edc174f991dc0a25, []int{157} } -func (x *IdpSearchResponse) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *IdpSearchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpSearchResponse.Unmarshal(m, b) +} +func (m *IdpSearchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpSearchResponse.Marshal(b, m, deterministic) +} +func (m *IdpSearchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpSearchResponse.Merge(m, src) +} +func (m *IdpSearchResponse) XXX_Size() int { + return xxx_messageInfo_IdpSearchResponse.Size(m) +} +func (m *IdpSearchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_IdpSearchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpSearchResponse proto.InternalMessageInfo + +func (m *IdpSearchResponse) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *IdpSearchResponse) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *IdpSearchResponse) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *IdpSearchResponse) GetTotalResult() uint64 { - if x != nil { - return x.TotalResult +func (m *IdpSearchResponse) GetTotalResult() uint64 { + if m != nil { + return m.TotalResult } return 0 } -func (x *IdpSearchResponse) GetResult() []*IdpView { - if x != nil { - return x.Result +func (m *IdpSearchResponse) GetResult() []*IdpView { + if m != nil { + return m.Result } return nil } -func (x *IdpSearchResponse) GetProcessedSequence() uint64 { - if x != nil { - return x.ProcessedSequence +func (m *IdpSearchResponse) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence } return 0 } -func (x *IdpSearchResponse) GetViewTimestamp() *timestamp.Timestamp { - if x != nil { - return x.ViewTimestamp +func (m *IdpSearchResponse) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp } return nil } type IdpView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` State IdpState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.IdpState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` @@ -13597,114 +12133,89 @@ type IdpView struct { Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` LogoSrc []byte `protobuf:"bytes,6,opt,name=logo_src,json=logoSrc,proto3" json:"logo_src,omitempty"` ProviderType IdpProviderType `protobuf:"varint,7,opt,name=provider_type,json=providerType,proto3,enum=caos.zitadel.management.api.v1.IdpProviderType" json:"provider_type,omitempty"` - // Types that are assignable to IdpConfigView: + // Types that are valid to be assigned to IdpConfigView: // *IdpView_OidcConfig - IdpConfigView isIdpView_IdpConfigView `protobuf_oneof:"idp_config_view"` - Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` + IdpConfigView isIdpView_IdpConfigView `protobuf_oneof:"idp_config_view"` + Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpView) Reset() { - *x = IdpView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[153] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpView) ProtoMessage() {} - -func (x *IdpView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[153] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpView.ProtoReflect.Descriptor instead. +func (m *IdpView) Reset() { *m = IdpView{} } +func (m *IdpView) String() string { return proto.CompactTextString(m) } +func (*IdpView) ProtoMessage() {} func (*IdpView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{153} + return fileDescriptor_edc174f991dc0a25, []int{158} } -func (x *IdpView) GetId() string { - if x != nil { - return x.Id +func (m *IdpView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpView.Unmarshal(m, b) +} +func (m *IdpView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpView.Marshal(b, m, deterministic) +} +func (m *IdpView) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpView.Merge(m, src) +} +func (m *IdpView) XXX_Size() int { + return xxx_messageInfo_IdpView.Size(m) +} +func (m *IdpView) XXX_DiscardUnknown() { + xxx_messageInfo_IdpView.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpView proto.InternalMessageInfo + +func (m *IdpView) GetId() string { + if m != nil { + return m.Id } return "" } -func (x *IdpView) GetState() IdpState { - if x != nil { - return x.State +func (m *IdpView) GetState() IdpState { + if m != nil { + return m.State } return IdpState_IDPCONFIGSTATE_UNSPECIFIED } -func (x *IdpView) GetCreationDate() *timestamp.Timestamp { - if x != nil { - return x.CreationDate +func (m *IdpView) GetCreationDate() *timestamp.Timestamp { + if m != nil { + return m.CreationDate } return nil } -func (x *IdpView) GetChangeDate() *timestamp.Timestamp { - if x != nil { - return x.ChangeDate +func (m *IdpView) GetChangeDate() *timestamp.Timestamp { + if m != nil { + return m.ChangeDate } return nil } -func (x *IdpView) GetName() string { - if x != nil { - return x.Name +func (m *IdpView) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *IdpView) GetLogoSrc() []byte { - if x != nil { - return x.LogoSrc +func (m *IdpView) GetLogoSrc() []byte { + if m != nil { + return m.LogoSrc } return nil } -func (x *IdpView) GetProviderType() IdpProviderType { - if x != nil { - return x.ProviderType +func (m *IdpView) GetProviderType() IdpProviderType { + if m != nil { + return m.ProviderType } return IdpProviderType_IDPPROVIDERTYPE_UNSPECIFIED } -func (m *IdpView) GetIdpConfigView() isIdpView_IdpConfigView { - if m != nil { - return m.IdpConfigView - } - return nil -} - -func (x *IdpView) GetOidcConfig() *OidcIdpConfigView { - if x, ok := x.GetIdpConfigView().(*IdpView_OidcConfig); ok { - return x.OidcConfig - } - return nil -} - -func (x *IdpView) GetSequence() uint64 { - if x != nil { - return x.Sequence - } - return 0 -} - type isIdpView_IdpConfigView interface { isIdpView_IdpConfigView() } @@ -13715,7388 +12226,1624 @@ type IdpView_OidcConfig struct { func (*IdpView_OidcConfig) isIdpView_IdpConfigView() {} +func (m *IdpView) GetIdpConfigView() isIdpView_IdpConfigView { + if m != nil { + return m.IdpConfigView + } + return nil +} + +func (m *IdpView) GetOidcConfig() *OidcIdpConfigView { + if x, ok := m.GetIdpConfigView().(*IdpView_OidcConfig); ok { + return x.OidcConfig + } + return nil +} + +func (m *IdpView) GetSequence() uint64 { + if m != nil { + return m.Sequence + } + return 0 +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*IdpView) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*IdpView_OidcConfig)(nil), + } +} + type OidcIdpConfigView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` - Issuer string `protobuf:"bytes,2,opt,name=issuer,proto3" json:"issuer,omitempty"` - Scopes []string `protobuf:"bytes,3,rep,name=scopes,proto3" json:"scopes,omitempty"` + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + Issuer string `protobuf:"bytes,2,opt,name=issuer,proto3" json:"issuer,omitempty"` + Scopes []string `protobuf:"bytes,3,rep,name=scopes,proto3" json:"scopes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OidcIdpConfigView) Reset() { - *x = OidcIdpConfigView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[154] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OidcIdpConfigView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OidcIdpConfigView) ProtoMessage() {} - -func (x *OidcIdpConfigView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[154] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OidcIdpConfigView.ProtoReflect.Descriptor instead. +func (m *OidcIdpConfigView) Reset() { *m = OidcIdpConfigView{} } +func (m *OidcIdpConfigView) String() string { return proto.CompactTextString(m) } +func (*OidcIdpConfigView) ProtoMessage() {} func (*OidcIdpConfigView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{154} + return fileDescriptor_edc174f991dc0a25, []int{159} } -func (x *OidcIdpConfigView) GetClientId() string { - if x != nil { - return x.ClientId +func (m *OidcIdpConfigView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OidcIdpConfigView.Unmarshal(m, b) +} +func (m *OidcIdpConfigView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OidcIdpConfigView.Marshal(b, m, deterministic) +} +func (m *OidcIdpConfigView) XXX_Merge(src proto.Message) { + xxx_messageInfo_OidcIdpConfigView.Merge(m, src) +} +func (m *OidcIdpConfigView) XXX_Size() int { + return xxx_messageInfo_OidcIdpConfigView.Size(m) +} +func (m *OidcIdpConfigView) XXX_DiscardUnknown() { + xxx_messageInfo_OidcIdpConfigView.DiscardUnknown(m) +} + +var xxx_messageInfo_OidcIdpConfigView proto.InternalMessageInfo + +func (m *OidcIdpConfigView) GetClientId() string { + if m != nil { + return m.ClientId } return "" } -func (x *OidcIdpConfigView) GetIssuer() string { - if x != nil { - return x.Issuer +func (m *OidcIdpConfigView) GetIssuer() string { + if m != nil { + return m.Issuer } return "" } -func (x *OidcIdpConfigView) GetScopes() []string { - if x != nil { - return x.Scopes +func (m *OidcIdpConfigView) GetScopes() []string { + if m != nil { + return m.Scopes } return nil } type IdpSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - Queries []*IdpSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + Queries []*IdpSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpSearchRequest) Reset() { - *x = IdpSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[155] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpSearchRequest) ProtoMessage() {} - -func (x *IdpSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[155] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpSearchRequest.ProtoReflect.Descriptor instead. +func (m *IdpSearchRequest) Reset() { *m = IdpSearchRequest{} } +func (m *IdpSearchRequest) String() string { return proto.CompactTextString(m) } +func (*IdpSearchRequest) ProtoMessage() {} func (*IdpSearchRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{155} + return fileDescriptor_edc174f991dc0a25, []int{160} } -func (x *IdpSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *IdpSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpSearchRequest.Unmarshal(m, b) +} +func (m *IdpSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpSearchRequest.Marshal(b, m, deterministic) +} +func (m *IdpSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpSearchRequest.Merge(m, src) +} +func (m *IdpSearchRequest) XXX_Size() int { + return xxx_messageInfo_IdpSearchRequest.Size(m) +} +func (m *IdpSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_IdpSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpSearchRequest proto.InternalMessageInfo + +func (m *IdpSearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *IdpSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *IdpSearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *IdpSearchRequest) GetQueries() []*IdpSearchQuery { - if x != nil { - return x.Queries +func (m *IdpSearchRequest) GetQueries() []*IdpSearchQuery { + if m != nil { + return m.Queries } return nil } type IdpSearchQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key IdpSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.IdpSearchKey" json:"key,omitempty"` - Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` - Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + Key IdpSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.IdpSearchKey" json:"key,omitempty"` + Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpSearchQuery) Reset() { - *x = IdpSearchQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[156] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpSearchQuery) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpSearchQuery) ProtoMessage() {} - -func (x *IdpSearchQuery) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[156] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpSearchQuery.ProtoReflect.Descriptor instead. +func (m *IdpSearchQuery) Reset() { *m = IdpSearchQuery{} } +func (m *IdpSearchQuery) String() string { return proto.CompactTextString(m) } +func (*IdpSearchQuery) ProtoMessage() {} func (*IdpSearchQuery) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{156} + return fileDescriptor_edc174f991dc0a25, []int{161} } -func (x *IdpSearchQuery) GetKey() IdpSearchKey { - if x != nil { - return x.Key +func (m *IdpSearchQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpSearchQuery.Unmarshal(m, b) +} +func (m *IdpSearchQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpSearchQuery.Marshal(b, m, deterministic) +} +func (m *IdpSearchQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpSearchQuery.Merge(m, src) +} +func (m *IdpSearchQuery) XXX_Size() int { + return xxx_messageInfo_IdpSearchQuery.Size(m) +} +func (m *IdpSearchQuery) XXX_DiscardUnknown() { + xxx_messageInfo_IdpSearchQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpSearchQuery proto.InternalMessageInfo + +func (m *IdpSearchQuery) GetKey() IdpSearchKey { + if m != nil { + return m.Key } return IdpSearchKey_IDPSEARCHKEY_UNSPECIFIED } -func (x *IdpSearchQuery) GetMethod() SearchMethod { - if x != nil { - return x.Method +func (m *IdpSearchQuery) GetMethod() SearchMethod { + if m != nil { + return m.Method } return SearchMethod_SEARCHMETHOD_EQUALS } -func (x *IdpSearchQuery) GetValue() string { - if x != nil { - return x.Value +func (m *IdpSearchQuery) GetValue() string { + if m != nil { + return m.Value } return "" } type LoginPolicy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AllowUsernamePassword bool `protobuf:"varint,1,opt,name=allow_username_password,json=allowUsernamePassword,proto3" json:"allow_username_password,omitempty"` - AllowRegister bool `protobuf:"varint,2,opt,name=allow_register,json=allowRegister,proto3" json:"allow_register,omitempty"` - AllowExternalIdp bool `protobuf:"varint,3,opt,name=allow_external_idp,json=allowExternalIdp,proto3" json:"allow_external_idp,omitempty"` + AllowUsernamePassword bool `protobuf:"varint,1,opt,name=allow_username_password,json=allowUsernamePassword,proto3" json:"allow_username_password,omitempty"` + AllowRegister bool `protobuf:"varint,2,opt,name=allow_register,json=allowRegister,proto3" json:"allow_register,omitempty"` + AllowExternalIdp bool `protobuf:"varint,3,opt,name=allow_external_idp,json=allowExternalIdp,proto3" json:"allow_external_idp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *LoginPolicy) Reset() { - *x = LoginPolicy{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[157] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LoginPolicy) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LoginPolicy) ProtoMessage() {} - -func (x *LoginPolicy) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[157] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LoginPolicy.ProtoReflect.Descriptor instead. +func (m *LoginPolicy) Reset() { *m = LoginPolicy{} } +func (m *LoginPolicy) String() string { return proto.CompactTextString(m) } +func (*LoginPolicy) ProtoMessage() {} func (*LoginPolicy) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{157} + return fileDescriptor_edc174f991dc0a25, []int{162} } -func (x *LoginPolicy) GetAllowUsernamePassword() bool { - if x != nil { - return x.AllowUsernamePassword +func (m *LoginPolicy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LoginPolicy.Unmarshal(m, b) +} +func (m *LoginPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LoginPolicy.Marshal(b, m, deterministic) +} +func (m *LoginPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_LoginPolicy.Merge(m, src) +} +func (m *LoginPolicy) XXX_Size() int { + return xxx_messageInfo_LoginPolicy.Size(m) +} +func (m *LoginPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_LoginPolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_LoginPolicy proto.InternalMessageInfo + +func (m *LoginPolicy) GetAllowUsernamePassword() bool { + if m != nil { + return m.AllowUsernamePassword } return false } -func (x *LoginPolicy) GetAllowRegister() bool { - if x != nil { - return x.AllowRegister +func (m *LoginPolicy) GetAllowRegister() bool { + if m != nil { + return m.AllowRegister } return false } -func (x *LoginPolicy) GetAllowExternalIdp() bool { - if x != nil { - return x.AllowExternalIdp +func (m *LoginPolicy) GetAllowExternalIdp() bool { + if m != nil { + return m.AllowExternalIdp } return false } type LoginPolicyAdd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AllowUsernamePassword bool `protobuf:"varint,1,opt,name=allow_username_password,json=allowUsernamePassword,proto3" json:"allow_username_password,omitempty"` - AllowRegister bool `protobuf:"varint,2,opt,name=allow_register,json=allowRegister,proto3" json:"allow_register,omitempty"` - AllowExternalIdp bool `protobuf:"varint,3,opt,name=allow_external_idp,json=allowExternalIdp,proto3" json:"allow_external_idp,omitempty"` + AllowUsernamePassword bool `protobuf:"varint,1,opt,name=allow_username_password,json=allowUsernamePassword,proto3" json:"allow_username_password,omitempty"` + AllowRegister bool `protobuf:"varint,2,opt,name=allow_register,json=allowRegister,proto3" json:"allow_register,omitempty"` + AllowExternalIdp bool `protobuf:"varint,3,opt,name=allow_external_idp,json=allowExternalIdp,proto3" json:"allow_external_idp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *LoginPolicyAdd) Reset() { - *x = LoginPolicyAdd{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[158] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LoginPolicyAdd) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LoginPolicyAdd) ProtoMessage() {} - -func (x *LoginPolicyAdd) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[158] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LoginPolicyAdd.ProtoReflect.Descriptor instead. +func (m *LoginPolicyAdd) Reset() { *m = LoginPolicyAdd{} } +func (m *LoginPolicyAdd) String() string { return proto.CompactTextString(m) } +func (*LoginPolicyAdd) ProtoMessage() {} func (*LoginPolicyAdd) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{158} + return fileDescriptor_edc174f991dc0a25, []int{163} } -func (x *LoginPolicyAdd) GetAllowUsernamePassword() bool { - if x != nil { - return x.AllowUsernamePassword +func (m *LoginPolicyAdd) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LoginPolicyAdd.Unmarshal(m, b) +} +func (m *LoginPolicyAdd) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LoginPolicyAdd.Marshal(b, m, deterministic) +} +func (m *LoginPolicyAdd) XXX_Merge(src proto.Message) { + xxx_messageInfo_LoginPolicyAdd.Merge(m, src) +} +func (m *LoginPolicyAdd) XXX_Size() int { + return xxx_messageInfo_LoginPolicyAdd.Size(m) +} +func (m *LoginPolicyAdd) XXX_DiscardUnknown() { + xxx_messageInfo_LoginPolicyAdd.DiscardUnknown(m) +} + +var xxx_messageInfo_LoginPolicyAdd proto.InternalMessageInfo + +func (m *LoginPolicyAdd) GetAllowUsernamePassword() bool { + if m != nil { + return m.AllowUsernamePassword } return false } -func (x *LoginPolicyAdd) GetAllowRegister() bool { - if x != nil { - return x.AllowRegister +func (m *LoginPolicyAdd) GetAllowRegister() bool { + if m != nil { + return m.AllowRegister } return false } -func (x *LoginPolicyAdd) GetAllowExternalIdp() bool { - if x != nil { - return x.AllowExternalIdp +func (m *LoginPolicyAdd) GetAllowExternalIdp() bool { + if m != nil { + return m.AllowExternalIdp } return false } type IdpProviderID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IdpConfigId string `protobuf:"bytes,1,opt,name=idp_config_id,json=idpConfigId,proto3" json:"idp_config_id,omitempty"` + IdpConfigId string `protobuf:"bytes,1,opt,name=idp_config_id,json=idpConfigId,proto3" json:"idp_config_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpProviderID) Reset() { - *x = IdpProviderID{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[159] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpProviderID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpProviderID) ProtoMessage() {} - -func (x *IdpProviderID) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[159] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpProviderID.ProtoReflect.Descriptor instead. +func (m *IdpProviderID) Reset() { *m = IdpProviderID{} } +func (m *IdpProviderID) String() string { return proto.CompactTextString(m) } +func (*IdpProviderID) ProtoMessage() {} func (*IdpProviderID) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{159} + return fileDescriptor_edc174f991dc0a25, []int{164} } -func (x *IdpProviderID) GetIdpConfigId() string { - if x != nil { - return x.IdpConfigId +func (m *IdpProviderID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpProviderID.Unmarshal(m, b) +} +func (m *IdpProviderID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpProviderID.Marshal(b, m, deterministic) +} +func (m *IdpProviderID) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpProviderID.Merge(m, src) +} +func (m *IdpProviderID) XXX_Size() int { + return xxx_messageInfo_IdpProviderID.Size(m) +} +func (m *IdpProviderID) XXX_DiscardUnknown() { + xxx_messageInfo_IdpProviderID.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpProviderID proto.InternalMessageInfo + +func (m *IdpProviderID) GetIdpConfigId() string { + if m != nil { + return m.IdpConfigId } return "" } type IdpProviderAdd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IdpConfigId string `protobuf:"bytes,1,opt,name=idp_config_id,json=idpConfigId,proto3" json:"idp_config_id,omitempty"` - IdpProviderType IdpProviderType `protobuf:"varint,2,opt,name=idp_provider_type,json=idpProviderType,proto3,enum=caos.zitadel.management.api.v1.IdpProviderType" json:"idp_provider_type,omitempty"` + IdpConfigId string `protobuf:"bytes,1,opt,name=idp_config_id,json=idpConfigId,proto3" json:"idp_config_id,omitempty"` + IdpProviderType IdpProviderType `protobuf:"varint,2,opt,name=idp_provider_type,json=idpProviderType,proto3,enum=caos.zitadel.management.api.v1.IdpProviderType" json:"idp_provider_type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpProviderAdd) Reset() { - *x = IdpProviderAdd{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[160] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpProviderAdd) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpProviderAdd) ProtoMessage() {} - -func (x *IdpProviderAdd) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[160] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpProviderAdd.ProtoReflect.Descriptor instead. +func (m *IdpProviderAdd) Reset() { *m = IdpProviderAdd{} } +func (m *IdpProviderAdd) String() string { return proto.CompactTextString(m) } +func (*IdpProviderAdd) ProtoMessage() {} func (*IdpProviderAdd) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{160} + return fileDescriptor_edc174f991dc0a25, []int{165} } -func (x *IdpProviderAdd) GetIdpConfigId() string { - if x != nil { - return x.IdpConfigId +func (m *IdpProviderAdd) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpProviderAdd.Unmarshal(m, b) +} +func (m *IdpProviderAdd) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpProviderAdd.Marshal(b, m, deterministic) +} +func (m *IdpProviderAdd) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpProviderAdd.Merge(m, src) +} +func (m *IdpProviderAdd) XXX_Size() int { + return xxx_messageInfo_IdpProviderAdd.Size(m) +} +func (m *IdpProviderAdd) XXX_DiscardUnknown() { + xxx_messageInfo_IdpProviderAdd.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpProviderAdd proto.InternalMessageInfo + +func (m *IdpProviderAdd) GetIdpConfigId() string { + if m != nil { + return m.IdpConfigId } return "" } -func (x *IdpProviderAdd) GetIdpProviderType() IdpProviderType { - if x != nil { - return x.IdpProviderType +func (m *IdpProviderAdd) GetIdpProviderType() IdpProviderType { + if m != nil { + return m.IdpProviderType } return IdpProviderType_IDPPROVIDERTYPE_UNSPECIFIED } type IdpProvider struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IdpConfigId string `protobuf:"bytes,1,opt,name=idp_config_id,json=idpConfigId,proto3" json:"idp_config_id,omitempty"` - IdpProvider_Type IdpProviderType `protobuf:"varint,2,opt,name=idp_provider_Type,json=idpProviderType,proto3,enum=caos.zitadel.management.api.v1.IdpProviderType" json:"idp_provider_Type,omitempty"` + IdpConfigId string `protobuf:"bytes,1,opt,name=idp_config_id,json=idpConfigId,proto3" json:"idp_config_id,omitempty"` + IdpProvider_Type IdpProviderType `protobuf:"varint,2,opt,name=idp_provider_Type,json=idpProviderType,proto3,enum=caos.zitadel.management.api.v1.IdpProviderType" json:"idp_provider_Type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpProvider) Reset() { - *x = IdpProvider{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[161] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpProvider) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpProvider) ProtoMessage() {} - -func (x *IdpProvider) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[161] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpProvider.ProtoReflect.Descriptor instead. +func (m *IdpProvider) Reset() { *m = IdpProvider{} } +func (m *IdpProvider) String() string { return proto.CompactTextString(m) } +func (*IdpProvider) ProtoMessage() {} func (*IdpProvider) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{161} + return fileDescriptor_edc174f991dc0a25, []int{166} } -func (x *IdpProvider) GetIdpConfigId() string { - if x != nil { - return x.IdpConfigId +func (m *IdpProvider) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpProvider.Unmarshal(m, b) +} +func (m *IdpProvider) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpProvider.Marshal(b, m, deterministic) +} +func (m *IdpProvider) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpProvider.Merge(m, src) +} +func (m *IdpProvider) XXX_Size() int { + return xxx_messageInfo_IdpProvider.Size(m) +} +func (m *IdpProvider) XXX_DiscardUnknown() { + xxx_messageInfo_IdpProvider.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpProvider proto.InternalMessageInfo + +func (m *IdpProvider) GetIdpConfigId() string { + if m != nil { + return m.IdpConfigId } return "" } -func (x *IdpProvider) GetIdpProvider_Type() IdpProviderType { - if x != nil { - return x.IdpProvider_Type +func (m *IdpProvider) GetIdpProvider_Type() IdpProviderType { + if m != nil { + return m.IdpProvider_Type } return IdpProviderType_IDPPROVIDERTYPE_UNSPECIFIED } type LoginPolicyView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Default bool `protobuf:"varint,1,opt,name=default,proto3" json:"default,omitempty"` - AllowUsernamePassword bool `protobuf:"varint,2,opt,name=allow_username_password,json=allowUsernamePassword,proto3" json:"allow_username_password,omitempty"` - AllowRegister bool `protobuf:"varint,3,opt,name=allow_register,json=allowRegister,proto3" json:"allow_register,omitempty"` - AllowExternalIdp bool `protobuf:"varint,4,opt,name=allow_external_idp,json=allowExternalIdp,proto3" json:"allow_external_idp,omitempty"` + Default bool `protobuf:"varint,1,opt,name=default,proto3" json:"default,omitempty"` + AllowUsernamePassword bool `protobuf:"varint,2,opt,name=allow_username_password,json=allowUsernamePassword,proto3" json:"allow_username_password,omitempty"` + AllowRegister bool `protobuf:"varint,3,opt,name=allow_register,json=allowRegister,proto3" json:"allow_register,omitempty"` + AllowExternalIdp bool `protobuf:"varint,4,opt,name=allow_external_idp,json=allowExternalIdp,proto3" json:"allow_external_idp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *LoginPolicyView) Reset() { - *x = LoginPolicyView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[162] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LoginPolicyView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LoginPolicyView) ProtoMessage() {} - -func (x *LoginPolicyView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[162] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LoginPolicyView.ProtoReflect.Descriptor instead. +func (m *LoginPolicyView) Reset() { *m = LoginPolicyView{} } +func (m *LoginPolicyView) String() string { return proto.CompactTextString(m) } +func (*LoginPolicyView) ProtoMessage() {} func (*LoginPolicyView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{162} + return fileDescriptor_edc174f991dc0a25, []int{167} } -func (x *LoginPolicyView) GetDefault() bool { - if x != nil { - return x.Default +func (m *LoginPolicyView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LoginPolicyView.Unmarshal(m, b) +} +func (m *LoginPolicyView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LoginPolicyView.Marshal(b, m, deterministic) +} +func (m *LoginPolicyView) XXX_Merge(src proto.Message) { + xxx_messageInfo_LoginPolicyView.Merge(m, src) +} +func (m *LoginPolicyView) XXX_Size() int { + return xxx_messageInfo_LoginPolicyView.Size(m) +} +func (m *LoginPolicyView) XXX_DiscardUnknown() { + xxx_messageInfo_LoginPolicyView.DiscardUnknown(m) +} + +var xxx_messageInfo_LoginPolicyView proto.InternalMessageInfo + +func (m *LoginPolicyView) GetDefault() bool { + if m != nil { + return m.Default } return false } -func (x *LoginPolicyView) GetAllowUsernamePassword() bool { - if x != nil { - return x.AllowUsernamePassword +func (m *LoginPolicyView) GetAllowUsernamePassword() bool { + if m != nil { + return m.AllowUsernamePassword } return false } -func (x *LoginPolicyView) GetAllowRegister() bool { - if x != nil { - return x.AllowRegister +func (m *LoginPolicyView) GetAllowRegister() bool { + if m != nil { + return m.AllowRegister } return false } -func (x *LoginPolicyView) GetAllowExternalIdp() bool { - if x != nil { - return x.AllowExternalIdp +func (m *LoginPolicyView) GetAllowExternalIdp() bool { + if m != nil { + return m.AllowExternalIdp } return false } -type IdpProviderViews struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Providers []*IdpProviderView `protobuf:"bytes,1,rep,name=providers,proto3" json:"providers,omitempty"` -} - -func (x *IdpProviderViews) Reset() { - *x = IdpProviderViews{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[163] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpProviderViews) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpProviderViews) ProtoMessage() {} - -func (x *IdpProviderViews) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[163] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpProviderViews.ProtoReflect.Descriptor instead. -func (*IdpProviderViews) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{163} -} - -func (x *IdpProviderViews) GetProviders() []*IdpProviderView { - if x != nil { - return x.Providers - } - return nil -} - type IdpProviderView struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IdpConfigId string `protobuf:"bytes,1,opt,name=idp_config_id,json=idpConfigId,proto3" json:"idp_config_id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Type IdpType `protobuf:"varint,3,opt,name=type,proto3,enum=caos.zitadel.management.api.v1.IdpType" json:"type,omitempty"` + IdpConfigId string `protobuf:"bytes,1,opt,name=idp_config_id,json=idpConfigId,proto3" json:"idp_config_id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Type IdpType `protobuf:"varint,3,opt,name=type,proto3,enum=caos.zitadel.management.api.v1.IdpType" json:"type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpProviderView) Reset() { - *x = IdpProviderView{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[164] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpProviderView) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpProviderView) ProtoMessage() {} - -func (x *IdpProviderView) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[164] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpProviderView.ProtoReflect.Descriptor instead. +func (m *IdpProviderView) Reset() { *m = IdpProviderView{} } +func (m *IdpProviderView) String() string { return proto.CompactTextString(m) } +func (*IdpProviderView) ProtoMessage() {} func (*IdpProviderView) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{164} + return fileDescriptor_edc174f991dc0a25, []int{168} } -func (x *IdpProviderView) GetIdpConfigId() string { - if x != nil { - return x.IdpConfigId +func (m *IdpProviderView) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpProviderView.Unmarshal(m, b) +} +func (m *IdpProviderView) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpProviderView.Marshal(b, m, deterministic) +} +func (m *IdpProviderView) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpProviderView.Merge(m, src) +} +func (m *IdpProviderView) XXX_Size() int { + return xxx_messageInfo_IdpProviderView.Size(m) +} +func (m *IdpProviderView) XXX_DiscardUnknown() { + xxx_messageInfo_IdpProviderView.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpProviderView proto.InternalMessageInfo + +func (m *IdpProviderView) GetIdpConfigId() string { + if m != nil { + return m.IdpConfigId } return "" } -func (x *IdpProviderView) GetName() string { - if x != nil { - return x.Name +func (m *IdpProviderView) GetName() string { + if m != nil { + return m.Name } return "" } -func (x *IdpProviderView) GetType() IdpType { - if x != nil { - return x.Type +func (m *IdpProviderView) GetType() IdpType { + if m != nil { + return m.Type } return IdpType_IDPTYPE_UNSPECIFIED } type IdpProviderSearchResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` - Result []*IdpProviderView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` - ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` - ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` + Result []*IdpProviderView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` + ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` + ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpProviderSearchResponse) Reset() { - *x = IdpProviderSearchResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[165] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpProviderSearchResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpProviderSearchResponse) ProtoMessage() {} - -func (x *IdpProviderSearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[165] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpProviderSearchResponse.ProtoReflect.Descriptor instead. +func (m *IdpProviderSearchResponse) Reset() { *m = IdpProviderSearchResponse{} } +func (m *IdpProviderSearchResponse) String() string { return proto.CompactTextString(m) } +func (*IdpProviderSearchResponse) ProtoMessage() {} func (*IdpProviderSearchResponse) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{165} + return fileDescriptor_edc174f991dc0a25, []int{169} } -func (x *IdpProviderSearchResponse) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *IdpProviderSearchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpProviderSearchResponse.Unmarshal(m, b) +} +func (m *IdpProviderSearchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpProviderSearchResponse.Marshal(b, m, deterministic) +} +func (m *IdpProviderSearchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpProviderSearchResponse.Merge(m, src) +} +func (m *IdpProviderSearchResponse) XXX_Size() int { + return xxx_messageInfo_IdpProviderSearchResponse.Size(m) +} +func (m *IdpProviderSearchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_IdpProviderSearchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpProviderSearchResponse proto.InternalMessageInfo + +func (m *IdpProviderSearchResponse) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *IdpProviderSearchResponse) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *IdpProviderSearchResponse) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -func (x *IdpProviderSearchResponse) GetTotalResult() uint64 { - if x != nil { - return x.TotalResult +func (m *IdpProviderSearchResponse) GetTotalResult() uint64 { + if m != nil { + return m.TotalResult } return 0 } -func (x *IdpProviderSearchResponse) GetResult() []*IdpProviderView { - if x != nil { - return x.Result +func (m *IdpProviderSearchResponse) GetResult() []*IdpProviderView { + if m != nil { + return m.Result } return nil } -func (x *IdpProviderSearchResponse) GetProcessedSequence() uint64 { - if x != nil { - return x.ProcessedSequence +func (m *IdpProviderSearchResponse) GetProcessedSequence() uint64 { + if m != nil { + return m.ProcessedSequence } return 0 } -func (x *IdpProviderSearchResponse) GetViewTimestamp() *timestamp.Timestamp { - if x != nil { - return x.ViewTimestamp +func (m *IdpProviderSearchResponse) GetViewTimestamp() *timestamp.Timestamp { + if m != nil { + return m.ViewTimestamp } return nil } type IdpProviderSearchRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *IdpProviderSearchRequest) Reset() { - *x = IdpProviderSearchRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_management_proto_msgTypes[166] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IdpProviderSearchRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdpProviderSearchRequest) ProtoMessage() {} - -func (x *IdpProviderSearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[166] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdpProviderSearchRequest.ProtoReflect.Descriptor instead. +func (m *IdpProviderSearchRequest) Reset() { *m = IdpProviderSearchRequest{} } +func (m *IdpProviderSearchRequest) String() string { return proto.CompactTextString(m) } +func (*IdpProviderSearchRequest) ProtoMessage() {} func (*IdpProviderSearchRequest) Descriptor() ([]byte, []int) { - return file_management_proto_rawDescGZIP(), []int{166} + return fileDescriptor_edc174f991dc0a25, []int{170} } -func (x *IdpProviderSearchRequest) GetOffset() uint64 { - if x != nil { - return x.Offset +func (m *IdpProviderSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdpProviderSearchRequest.Unmarshal(m, b) +} +func (m *IdpProviderSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdpProviderSearchRequest.Marshal(b, m, deterministic) +} +func (m *IdpProviderSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdpProviderSearchRequest.Merge(m, src) +} +func (m *IdpProviderSearchRequest) XXX_Size() int { + return xxx_messageInfo_IdpProviderSearchRequest.Size(m) +} +func (m *IdpProviderSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_IdpProviderSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_IdpProviderSearchRequest proto.InternalMessageInfo + +func (m *IdpProviderSearchRequest) GetOffset() uint64 { + if m != nil { + return m.Offset } return 0 } -func (x *IdpProviderSearchRequest) GetLimit() uint64 { - if x != nil { - return x.Limit +func (m *IdpProviderSearchRequest) GetLimit() uint64 { + if m != nil { + return m.Limit } return 0 } -var File_management_proto protoreflect.FileDescriptor - -var file_management_proto_rawDesc = []byte{ - 0x0a, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x1e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, - 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2f, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x0b, 0x5a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x44, 0x6f, 0x63, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x64, 0x69, 0x73, - 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x95, 0x01, 0x0a, 0x03, 0x49, 0x61, 0x6d, - 0x12, 0x22, 0x0a, 0x0d, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, - 0x72, 0x67, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x61, 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x61, - 0x6d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, - 0x74, 0x5f, 0x75, 0x70, 0x5f, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x73, 0x65, 0x74, 0x55, 0x70, 0x44, 0x6f, 0x6e, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, - 0x74, 0x5f, 0x75, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0c, 0x73, 0x65, 0x74, 0x55, 0x70, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, - 0x22, 0x87, 0x01, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x73, 0x65, 0x63, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x63, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x73, 0x63, 0x22, 0x79, 0x0a, 0x07, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x07, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x89, 0x02, 0x0a, 0x06, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, - 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, - 0x1b, 0x0a, 0x09, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x64, - 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x22, 0x3e, 0x0a, 0x0d, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x22, 0x1b, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x18, - 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2a, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x69, - 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x69, 0x6e, - 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x5e, 0x0a, 0x11, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x09, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, - 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x05, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x31, 0x0a, 0x12, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, - 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, - 0x73, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x22, 0xb8, 0x05, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, - 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x75, 0x73, - 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, - 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x27, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, - 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x09, 0x6e, 0x69, - 0x63, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, - 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x37, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, - 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x11, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, - 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x67, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x72, 0x07, - 0x10, 0x01, 0x18, 0xc8, 0x01, 0x60, 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, - 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x45, 0x6d, 0x61, - 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x05, 0x70, 0x68, - 0x6f, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x18, 0x14, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, - 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, - 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, - 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, - 0x29, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x0a, - 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, - 0x03, 0x18, 0xc8, 0x01, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x0e, - 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x0d, - 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, - 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x18, 0x48, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x22, 0x93, 0x06, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3f, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, - 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, - 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, - 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, - 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, - 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, - 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, - 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, - 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, - 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, - 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, - 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x93, 0x08, 0x0a, 0x08, 0x55, 0x73, 0x65, - 0x72, 0x56, 0x69, 0x65, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x44, 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, - 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, - 0x45, 0x0a, 0x10, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x3e, - 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x14, - 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0f, 0x69, 0x73, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x70, 0x68, 0x6f, - 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0f, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x12, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, - 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, - 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x65, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, - 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, - 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xfe, - 0x01, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x12, 0x5e, 0x0a, 0x0e, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, - 0x02, 0x20, 0x00, 0x52, 0x0d, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x03, 0x61, 0x73, 0x63, 0x12, 0x49, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, - 0xb8, 0x01, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x12, 0x49, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, - 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, - 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x99, 0x02, 0x0a, 0x12, 0x55, - 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, - 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, - 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xbf, 0x03, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, - 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, - 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x22, 0x96, 0x04, 0x0a, 0x0f, 0x55, 0x73, 0x65, - 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, - 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, - 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, - 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, - 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, - 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1f, - 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0c, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, - 0x30, 0x0a, 0x14, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x67, - 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, - 0x65, 0x22, 0x9e, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x29, - 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x09, - 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x09, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, - 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, - 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x12, 0x70, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, - 0x11, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, - 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x22, 0x54, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x27, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x08, - 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xf7, 0x01, 0x0a, 0x09, 0x55, 0x73, 0x65, - 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x11, - 0x69, 0x73, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x45, 0x6d, 0x61, 0x69, 0x6c, - 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, - 0x74, 0x65, 0x22, 0xfb, 0x01, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, - 0x56, 0x69, 0x65, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, - 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, - 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, - 0x22, 0x76, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, - 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, - 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x11, - 0x69, 0x73, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x45, 0x6d, 0x61, 0x69, 0x6c, - 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0xf7, 0x01, 0x0a, 0x09, 0x55, 0x73, 0x65, - 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x11, - 0x69, 0x73, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, - 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, - 0x74, 0x65, 0x22, 0xfb, 0x01, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, - 0x56, 0x69, 0x65, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, - 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, - 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, - 0x22, 0x75, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x68, - 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x05, 0x70, 0x68, - 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x72, 0x04, - 0x10, 0x01, 0x18, 0x14, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, - 0x73, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, - 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0xcd, 0x02, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, - 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x22, 0xd1, 0x02, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x56, 0x69, 0x65, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, - 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, - 0x72, 0x65, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, - 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, - 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x18, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, - 0x18, 0xc8, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, - 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, - 0x74, 0x79, 0x12, 0x29, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, - 0x01, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, - 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, - 0x2f, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, - 0x01, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x22, 0x4f, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, - 0x12, 0x3f, 0x0a, 0x04, 0x6d, 0x66, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x6d, 0x66, 0x61, - 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x0b, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x61, 0x63, 0x74, 0x6f, - 0x72, 0x12, 0x3b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x66, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3e, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x46, 0x41, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x1c, - 0x0a, 0x0a, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x48, 0x0a, 0x0f, - 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x25, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x72, 0x04, 0x10, 0x01, 0x18, 0x48, 0x52, 0x08, 0x70, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x26, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x76, - 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x44, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2c, 0x0a, 0x1a, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x22, 0xef, 0x03, 0x0a, 0x18, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x44, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, - 0x63, 0x61, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x4c, - 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, - 0x75, 0x70, 0x70, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0c, 0x68, 0x61, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x68, 0x61, 0x73, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, - 0x68, 0x61, 0x73, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x68, 0x61, 0x73, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x73, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0xf3, 0x01, 0x0a, 0x1e, 0x50, 0x61, 0x73, 0x73, 0x77, - 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, - 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xf4, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x4c, 0x65, - 0x6e, 0x67, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, 0x6c, 0x6f, 0x77, 0x65, - 0x72, 0x63, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, - 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x61, 0x73, - 0x5f, 0x75, 0x70, 0x70, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0c, 0x68, 0x61, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, - 0x0a, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x22, 0x83, 0x02, 0x0a, - 0x1e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, - 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x2a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xf4, 0x03, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, - 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x09, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x61, - 0x73, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x12, - 0x23, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, 0x75, 0x70, 0x70, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, - 0x63, 0x61, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x5f, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, - 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, 0x53, 0x79, 0x6d, 0x62, - 0x6f, 0x6c, 0x22, 0x25, 0x0a, 0x13, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, - 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8d, 0x03, 0x0a, 0x11, 0x50, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, - 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, - 0x79, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, - 0x44, 0x61, 0x79, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x77, - 0x61, 0x72, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, - 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x57, 0x61, 0x72, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, - 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x91, 0x01, 0x0a, 0x17, 0x50, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, - 0x03, 0x18, 0xf4, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x79, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x44, - 0x61, 0x79, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x77, 0x61, - 0x72, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x57, 0x61, 0x72, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x22, 0xa1, 0x01, - 0x0a, 0x17, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, - 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xf4, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, - 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6d, 0x61, 0x78, - 0x41, 0x67, 0x65, 0x44, 0x61, 0x79, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, - 0x65, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x57, 0x61, 0x72, 0x6e, 0x44, 0x61, 0x79, - 0x73, 0x22, 0x29, 0x0a, 0x17, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, - 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x9d, 0x03, 0x0a, - 0x15, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, - 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0b, 0x6d, 0x61, 0x78, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x16, - 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x61, - 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x68, - 0x6f, 0x77, 0x4c, 0x6f, 0x63, 0x6b, 0x4f, 0x75, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, - 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0xa1, 0x01, 0x0a, - 0x1b, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xf4, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, - 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, - 0x6d, 0x61, 0x78, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x73, - 0x68, 0x6f, 0x77, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x61, 0x69, - 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x68, 0x6f, - 0x77, 0x4c, 0x6f, 0x63, 0x6b, 0x4f, 0x75, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, - 0x22, 0xb1, 0x01, 0x0a, 0x1b, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, - 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x2a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xf4, 0x03, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, - 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, - 0x33, 0x0a, 0x16, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6f, 0x75, 0x74, - 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x13, 0x73, 0x68, 0x6f, 0x77, 0x4c, 0x6f, 0x63, 0x6b, 0x4f, 0x75, 0x74, 0x46, 0x61, 0x69, 0x6c, - 0x75, 0x72, 0x65, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x0c, 0x4f, 0x72, 0x67, 0x49, 0x61, 0x6d, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, - 0x0a, 0x19, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6d, 0x75, 0x73, - 0x74, 0x5f, 0x62, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4d, 0x75, 0x73, 0x74, - 0x42, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x22, 0x17, 0x0a, 0x05, 0x4f, 0x72, 0x67, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x26, 0x0a, 0x10, 0x4f, - 0x72, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x83, 0x02, 0x0a, 0x03, 0x4f, 0x72, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x87, 0x02, 0x0a, 0x07, 0x4f, 0x72, - 0x67, 0x56, 0x69, 0x65, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, - 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, - 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, - 0x6e, 0x63, 0x65, 0x22, 0x20, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, - 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x51, 0x0a, 0x0a, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, - 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x22, 0x8a, 0x02, 0x0a, 0x09, 0x4f, 0x72, 0x67, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x3f, 0x0a, - 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, - 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xf0, 0x02, 0x0a, 0x0d, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x56, 0x69, 0x65, 0x77, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x3f, - 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, - 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x60, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0x39, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x4f, - 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x22, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x22, 0x97, 0x01, 0x0a, 0x1a, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x06, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x55, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, - 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x45, 0x0a, - 0x1b, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x75, 0x72, 0x6c, 0x22, 0x3e, 0x0a, 0x18, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x22, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x06, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x3d, 0x0a, 0x17, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x4f, - 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x22, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x22, 0x3c, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, - 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, - 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x22, 0xa3, 0x02, 0x0a, 0x17, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, - 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x45, - 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, - 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x4f, 0x72, 0x67, 0x44, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x12, 0x4e, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, - 0x22, 0xc2, 0x01, 0x0a, 0x14, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4e, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, - 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x6d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x26, 0x0a, 0x0e, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0xd4, 0x01, - 0x0a, 0x09, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x22, 0x44, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x67, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x47, 0x0a, 0x16, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, - 0x6c, 0x65, 0x73, 0x22, 0x31, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, - 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xa3, 0x02, 0x0a, 0x17, 0x4f, 0x72, 0x67, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x69, - 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, - 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, - 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, - 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x76, - 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xea, 0x02, 0x0a, - 0x0d, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x12, 0x17, - 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x3b, 0x0a, - 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, - 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, - 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x4f, 0x72, - 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x12, 0x4e, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, - 0x65, 0x73, 0x22, 0xc2, 0x01, 0x0a, 0x14, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4e, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, - 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x36, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, - 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x46, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, - 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9f, 0x02, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x43, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x69, 0x65, 0x77, 0x52, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x76, 0x69, 0x65, 0x77, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc5, 0x02, 0x0a, 0x0b, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, - 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x25, - 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x22, 0x92, 0x01, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x4c, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, - 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, - 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4c, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, - 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x4f, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x8b, 0x02, 0x0a, 0x07, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x2a, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, - 0x65, 0x73, 0x22, 0xd8, 0x01, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, - 0x6c, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x51, 0x0a, - 0x10, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x64, - 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, - 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, - 0x22, 0x54, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x3e, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, - 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x6b, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x22, 0x79, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, - 0x6c, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6c, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x53, 0x0a, 0x0d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x64, 0x64, - 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x6e, - 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x91, - 0x02, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x22, 0xd8, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, - 0x6c, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x35, 0x0a, - 0x11, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x22, 0xa7, 0x02, 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, - 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, - 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, - 0x69, 0x65, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xb9, - 0x01, 0x0a, 0x18, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x50, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, - 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xc6, 0x01, 0x0a, 0x16, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x50, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, - 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x22, 0xee, 0x02, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xab, 0x02, 0x0a, 0x1b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, - 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, - 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x22, 0xbd, 0x01, 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x52, - 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, - 0x65, 0x73, 0x22, 0xca, 0x01, 0x0a, 0x18, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, - 0x52, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, - 0xe8, 0x02, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x69, 0x64, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, - 0x61, 0x70, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x62, 0x0a, 0x11, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, - 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xf6, - 0x05, 0x0a, 0x0a, 0x4f, 0x49, 0x44, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, - 0x0d, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, - 0x69, 0x73, 0x12, 0x57, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, - 0x32, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x0a, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x5e, 0x0a, 0x10, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x5c, 0x0a, - 0x10, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, - 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x61, 0x75, 0x74, - 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x70, - 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, - 0x70, 0x6f, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x55, 0x72, 0x69, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, - 0x0e, 0x6e, 0x6f, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x74, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6e, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x69, 0x61, 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, - 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x73, 0x12, 0x19, 0x0a, 0x08, - 0x64, 0x65, 0x76, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x64, 0x65, 0x76, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0xff, 0x04, 0x0a, 0x15, 0x4f, 0x49, 0x44, 0x43, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, - 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, - 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x55, 0x72, 0x69, 0x73, 0x12, 0x57, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x30, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x49, 0x44, 0x43, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4e, - 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x5e, - 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5c, - 0x0a, 0x10, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, - 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x61, 0x75, - 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x19, - 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x16, 0x70, 0x6f, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x55, 0x72, 0x69, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, - 0x0a, 0x08, 0x64, 0x65, 0x76, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x64, 0x65, 0x76, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0xba, 0x04, 0x0a, 0x10, 0x4f, 0x49, - 0x44, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, - 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, 0x69, 0x73, 0x12, 0x57, 0x0a, 0x0e, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0e, 0x32, 0x30, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x47, 0x72, 0x61, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x12, 0x5e, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, - 0x44, 0x43, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x5c, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, - 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x39, 0x0a, 0x19, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x5f, - 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x08, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x16, 0x70, 0x6f, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52, - 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, 0x69, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x64, - 0x65, 0x76, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, - 0x65, 0x76, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x33, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0xec, 0x02, 0x0a, 0x0f, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x65, 0x77, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x69, 0x64, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, - 0x61, 0x70, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xa7, 0x02, 0x0a, 0x19, 0x41, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, - 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, - 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x22, 0xb9, 0x01, 0x0a, 0x18, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x50, - 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, - 0x22, 0xc6, 0x01, 0x0a, 0x16, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x50, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, - 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, - 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xe3, 0x02, 0x0a, 0x0c, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x67, 0x72, 0x61, - 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x12, - 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x47, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, - 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, - 0x76, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, - 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x67, 0x72, - 0x61, 0x6e, 0x74, 0x65, 0x64, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, - 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, - 0x6f, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x60, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, - 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x3f, 0x0a, 0x0e, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x1d, 0x0a, 0x0a, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8b, 0x04, 0x0a, 0x10, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, - 0x0a, 0x0e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x4f, - 0x72, 0x67, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, - 0x6f, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x4f, 0x72, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, - 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x47, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, - 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, - 0x77, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa9, 0x02, 0x0a, 0x1a, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, - 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, - 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x22, 0x99, 0x01, 0x0a, 0x1b, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x12, 0x4c, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, - 0x22, 0xbb, 0x01, 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, - 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x51, 0x0a, 0x07, 0x71, - 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xc8, - 0x01, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x51, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, - 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, - 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2f, 0x0a, 0x17, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0xdd, 0x01, 0x0a, 0x12, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, - 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, - 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, - 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x15, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x41, 0x64, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, - 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x83, 0x01, - 0x0a, 0x18, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x61, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x61, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, - 0x6c, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x18, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x19, - 0x0a, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, - 0x49, 0x64, 0x22, 0xf3, 0x02, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x12, 0x17, 0x0a, - 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, - 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, - 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xb5, 0x02, 0x0a, 0x20, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, - 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4e, - 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, - 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, - 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, - 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x22, 0xe2, 0x01, 0x0a, 0x1f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x57, 0x0a, 0x07, - 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xd4, 0x01, 0x0a, 0x1d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x57, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, - 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, - 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x44, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, - 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x82, 0x03, 0x0a, - 0x09, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, - 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, - 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x44, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, - 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, - 0x64, 0x22, 0x67, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6c, 0x6b, 0x12, 0x50, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x0a, - 0x75, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x0f, 0x55, - 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x17, - 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6b, - 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4b, - 0x65, 0x79, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x67, - 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x42, 0x75, 0x6c, 0x6b, 0x12, 0x50, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x67, 0x72, - 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x75, 0x73, 0x65, - 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x57, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, - 0x22, 0x27, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x42, 0x75, 0x6c, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x36, 0x0a, 0x0b, 0x55, 0x73, 0x65, - 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x22, 0x9c, 0x05, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x56, - 0x69, 0x65, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, - 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, - 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, - 0x44, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, - 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x6f, 0x72, 0x67, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x6f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x0c, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x77, 0x6e, - 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, - 0x22, 0xa3, 0x02, 0x0a, 0x17, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x45, 0x0a, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, - 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, - 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x55, 0x73, 0x65, 0x72, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x4e, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x34, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, - 0xcc, 0x01, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4e, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, - 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4e, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x18, 0x00, - 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xbc, - 0x01, 0x0a, 0x1d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x4e, 0x0a, - 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xcc, 0x01, - 0x0a, 0x22, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x4e, 0x0a, 0x07, - 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xad, 0x02, 0x0a, - 0x1c, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, - 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4a, - 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x56, 0x69, - 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, - 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, - 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, - 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x76, - 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xb9, 0x01, 0x0a, - 0x1b, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x12, 0x53, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x68, 0x69, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, - 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xd6, 0x01, 0x0a, 0x19, 0x55, 0x73, 0x65, - 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x53, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x68, 0x69, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, - 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4e, 0x0a, 0x06, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, - 0x02, 0x18, 0x00, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0xb4, 0x03, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x68, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x4b, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x49, - 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, - 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x17, 0x0a, 0x05, 0x49, 0x64, 0x70, 0x49, - 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x22, 0xfe, 0x02, 0x0a, 0x03, 0x49, 0x64, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, - 0x6f, 0x67, 0x6f, 0x5f, 0x73, 0x72, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6c, - 0x6f, 0x67, 0x6f, 0x53, 0x72, 0x63, 0x12, 0x50, 0x0a, 0x0b, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x69, 0x64, - 0x63, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x69, - 0x64, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x69, 0x64, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x22, 0x4a, 0x0a, 0x09, 0x49, 0x64, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x73, 0x72, 0x63, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x6f, 0x53, 0x72, 0x63, 0x22, 0x81, - 0x01, 0x0a, 0x0d, 0x4f, 0x69, 0x64, 0x63, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, - 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, - 0x6f, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, - 0x65, 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x13, 0x4f, 0x69, 0x64, 0x63, 0x49, 0x64, 0x70, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, - 0x01, 0x18, 0xc8, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, - 0x67, 0x6f, 0x5f, 0x73, 0x72, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6c, 0x6f, - 0x67, 0x6f, 0x53, 0x72, 0x63, 0x12, 0x27, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, - 0x01, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2f, - 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, - 0x01, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, - 0x22, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x06, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x13, - 0x4f, 0x69, 0x64, 0x63, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x64, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x64, 0x70, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x09, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, - 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, - 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, - 0x01, 0x18, 0xc8, 0x01, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, - 0x6f, 0x70, 0x65, 0x73, 0x22, 0x97, 0x02, 0x0a, 0x11, 0x49, 0x64, 0x70, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, - 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, - 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, - 0x69, 0x65, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xe1, - 0x03, 0x0a, 0x07, 0x49, 0x64, 0x70, 0x56, 0x69, 0x65, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x73, 0x72, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, - 0x6c, 0x6f, 0x67, 0x6f, 0x53, 0x72, 0x63, 0x12, 0x54, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x54, 0x0a, - 0x0b, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x56, 0x69, 0x65, 0x77, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x69, 0x64, 0x63, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, - 0x11, 0x0a, 0x0f, 0x69, 0x64, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x69, - 0x65, 0x77, 0x22, 0x60, 0x0a, 0x11, 0x4f, 0x69, 0x64, 0x63, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, - 0x6f, 0x70, 0x65, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x10, 0x49, 0x64, 0x70, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, - 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x48, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, - 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x0e, 0x49, 0x64, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x12, 0x48, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, - 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, - 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x0b, 0x4c, - 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x36, 0x0a, 0x17, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x73, - 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x70, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x70, 0x22, 0x9d, 0x01, 0x0a, 0x0e, 0x4c, 0x6f, 0x67, 0x69, - 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x73, - 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x70, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x70, 0x22, 0x33, 0x0a, 0x0d, 0x49, 0x64, 0x70, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x64, 0x70, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x69, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x22, 0x9d, 0x01, 0x0a, - 0x0e, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x12, - 0x2e, 0x0a, 0x0d, 0x69, 0x64, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, - 0xc8, 0x01, 0x52, 0x0b, 0x69, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, - 0x5b, 0x0a, 0x11, 0x69, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x69, 0x64, 0x70, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, 0x8e, 0x01, 0x0a, - 0x0b, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, - 0x69, 0x64, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, - 0x12, 0x5b, 0x0a, 0x11, 0x69, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x5f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x69, 0x64, - 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb8, 0x01, - 0x0a, 0x0f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x69, 0x65, - 0x77, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, - 0x6f, 0x72, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x70, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x70, 0x22, 0x61, 0x0a, 0x10, 0x49, 0x64, 0x70, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x4d, 0x0a, 0x09, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, - 0x52, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x0f, - 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x12, - 0x22, 0x0a, 0x0d, 0x69, 0x64, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x22, 0xa7, 0x02, 0x0a, 0x19, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, - 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, - 0x69, 0x65, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x48, - 0x0a, 0x18, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2a, 0xaf, 0x01, 0x0a, 0x09, 0x55, 0x73, 0x65, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x53, 0x45, 0x52, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, - 0x15, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x4c, - 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, - 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, - 0x44, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x10, 0x06, 0x2a, 0x58, 0x0a, 0x06, 0x47, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, - 0x47, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x46, 0x45, 0x4d, 0x41, 0x4c, 0x45, 0x10, 0x01, 0x12, - 0x0f, 0x0a, 0x0b, 0x47, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x4c, 0x45, 0x10, 0x02, - 0x12, 0x12, 0x0a, 0x0e, 0x47, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x56, 0x45, 0x52, - 0x53, 0x45, 0x10, 0x03, 0x2a, 0xf5, 0x01, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x53, 0x45, 0x52, 0x53, 0x45, - 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x53, 0x45, 0x52, 0x53, 0x45, 0x41, - 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4e, 0x41, 0x4d, 0x45, - 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x53, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, - 0x4b, 0x45, 0x59, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x02, - 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x53, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, - 0x59, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x03, 0x12, 0x1b, 0x0a, - 0x17, 0x55, 0x53, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x4e, - 0x49, 0x43, 0x4b, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x04, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x53, - 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x44, 0x49, 0x53, 0x50, - 0x4c, 0x41, 0x59, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x53, - 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x45, 0x4d, 0x41, 0x49, - 0x4c, 0x10, 0x06, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x53, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, - 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x07, 0x2a, 0xea, 0x02, 0x0a, - 0x0c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x17, 0x0a, - 0x13, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x45, 0x51, - 0x55, 0x41, 0x4c, 0x53, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, - 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x53, 0x5f, 0x57, 0x49, - 0x54, 0x48, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, - 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, 0x02, 0x12, - 0x23, 0x0a, 0x1f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, - 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x41, - 0x53, 0x45, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, - 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x53, 0x5f, 0x57, 0x49, 0x54, 0x48, - 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x04, 0x12, 0x25, - 0x0a, 0x21, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x43, - 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x43, - 0x41, 0x53, 0x45, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, - 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, - 0x10, 0x06, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, - 0x4f, 0x44, 0x5f, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, - 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, - 0x44, 0x5f, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x08, 0x12, 0x1a, 0x0a, - 0x16, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x49, 0x53, - 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x4f, 0x46, 0x10, 0x09, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x41, - 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x43, - 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, 0x0a, 0x2a, 0x44, 0x0a, 0x07, 0x4d, 0x66, 0x61, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x46, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, - 0x0b, 0x4d, 0x46, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x4d, 0x53, 0x10, 0x01, 0x12, 0x0f, - 0x0a, 0x0b, 0x4d, 0x46, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x54, 0x50, 0x10, 0x02, 0x2a, - 0x66, 0x0a, 0x08, 0x4d, 0x46, 0x41, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x4d, - 0x46, 0x41, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x46, 0x41, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x01, 0x12, 0x12, 0x0a, - 0x0e, 0x4d, 0x46, 0x41, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, - 0x02, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x46, 0x41, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, - 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x03, 0x2a, 0x48, 0x0a, 0x10, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x4e, - 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4e, 0x4f, 0x54, 0x49, 0x46, - 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x4d, 0x53, 0x10, - 0x01, 0x2a, 0x75, 0x0a, 0x0b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, - 0x12, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, - 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, - 0x17, 0x0a, 0x13, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, - 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x2a, 0x50, 0x0a, 0x08, 0x4f, 0x72, 0x67, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x52, 0x47, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, - 0x0a, 0x0f, 0x4f, 0x52, 0x47, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, - 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x52, 0x47, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x2a, 0x85, 0x01, 0x0a, 0x17, 0x4f, - 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x23, 0x4f, 0x52, 0x47, 0x44, 0x4f, 0x4d, - 0x41, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x20, 0x0a, 0x1c, 0x4f, 0x52, 0x47, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, - 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x10, - 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x4f, 0x52, 0x47, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x56, 0x41, - 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x4e, 0x53, - 0x10, 0x02, 0x2a, 0x57, 0x0a, 0x12, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x1e, 0x4f, 0x52, 0x47, 0x44, - 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, - 0x4f, 0x52, 0x47, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, - 0x45, 0x59, 0x5f, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x01, 0x2a, 0xbb, 0x01, 0x0a, 0x12, - 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, - 0x65, 0x79, 0x12, 0x22, 0x0a, 0x1e, 0x4f, 0x52, 0x47, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, - 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x4f, 0x52, 0x47, 0x4d, 0x45, 0x4d, - 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x46, 0x49, 0x52, - 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x52, 0x47, - 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, - 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x4f, - 0x52, 0x47, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, - 0x59, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x52, 0x47, - 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, - 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x04, 0x2a, 0x57, 0x0a, 0x10, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, - 0x1c, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, - 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x21, 0x0a, 0x1d, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, - 0x4b, 0x45, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, - 0x10, 0x01, 0x2a, 0x60, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x17, 0x0a, 0x13, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, - 0x4a, 0x45, 0x43, 0x54, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x10, 0x02, 0x2a, 0x5a, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x15, 0x0a, 0x11, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x4f, 0x57, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x52, 0x4f, 0x4a, 0x45, - 0x43, 0x54, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x02, - 0x2a, 0x81, 0x01, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x52, 0x4f, - 0x4a, 0x45, 0x43, 0x54, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, - 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x45, - 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x01, 0x12, 0x25, 0x0a, - 0x21, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x45, 0x41, 0x52, - 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x44, 0x49, 0x53, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4e, 0x41, - 0x4d, 0x45, 0x10, 0x02, 0x2a, 0xf9, 0x01, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, - 0x26, 0x0a, 0x22, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, - 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x4f, 0x4a, 0x45, - 0x43, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, - 0x59, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x24, - 0x0a, 0x20, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, - 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x4e, 0x41, - 0x4d, 0x45, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x4d, - 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x45, - 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, - 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, - 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x04, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x52, - 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, - 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x05, - 0x2a, 0x50, 0x0a, 0x08, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x14, - 0x41, 0x50, 0x50, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x50, 0x50, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x41, - 0x50, 0x50, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, - 0x10, 0x02, 0x2a, 0x1b, 0x0a, 0x0b, 0x4f, 0x49, 0x44, 0x43, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x49, 0x44, 0x43, 0x56, 0x31, 0x5f, 0x30, 0x10, 0x00, 0x2a, - 0x71, 0x0a, 0x10, 0x4f, 0x49, 0x44, 0x43, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x49, 0x44, 0x43, 0x52, 0x45, 0x53, 0x50, 0x4f, - 0x4e, 0x53, 0x45, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x1d, - 0x0a, 0x19, 0x4f, 0x49, 0x44, 0x43, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x23, 0x0a, - 0x1f, 0x4f, 0x49, 0x44, 0x43, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, - 0x10, 0x02, 0x2a, 0x72, 0x0a, 0x0d, 0x4f, 0x49, 0x44, 0x43, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x4f, 0x49, 0x44, 0x43, 0x47, 0x52, 0x41, 0x4e, 0x54, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x49, 0x44, - 0x43, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x49, - 0x43, 0x49, 0x54, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x4f, 0x49, 0x44, 0x43, 0x47, 0x52, 0x41, - 0x4e, 0x54, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x5f, 0x54, - 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x02, 0x2a, 0x76, 0x0a, 0x13, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, - 0x17, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x45, 0x42, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x4f, 0x49, - 0x44, 0x43, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x1e, - 0x0a, 0x1a, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x2a, 0x6c, - 0x0a, 0x12, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x55, 0x54, 0x48, - 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x41, 0x53, 0x49, 0x43, - 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x55, 0x54, 0x48, 0x4d, 0x45, - 0x54, 0x48, 0x4f, 0x44, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4f, 0x53, 0x54, 0x10, 0x01, 0x12, - 0x1b, 0x0a, 0x17, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x55, 0x54, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, - 0x44, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x2a, 0x5f, 0x0a, 0x14, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x20, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x53, 0x45, 0x52, 0x41, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x50, - 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, - 0x45, 0x59, 0x5f, 0x41, 0x50, 0x50, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x2a, 0x74, 0x0a, - 0x11, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, - 0x4e, 0x54, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, - 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, - 0x45, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, - 0x41, 0x4e, 0x54, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, - 0x45, 0x10, 0x02, 0x2a, 0x8a, 0x01, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x25, 0x0a, - 0x21, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x45, 0x41, - 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, - 0x52, 0x41, 0x4e, 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x50, 0x52, - 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, - 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x45, 0x41, 0x52, - 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x02, - 0x2a, 0x9c, 0x02, 0x0a, 0x1b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, - 0x12, 0x2b, 0x0a, 0x27, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, 0x4e, 0x54, - 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2a, 0x0a, - 0x26, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x4d, 0x45, 0x4d, - 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x46, 0x49, 0x52, - 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x52, 0x4f, - 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, - 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x4e, 0x41, - 0x4d, 0x45, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, - 0x52, 0x41, 0x4e, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, - 0x4b, 0x45, 0x59, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x03, 0x12, 0x27, 0x0a, 0x23, 0x50, - 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, - 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, - 0x49, 0x44, 0x10, 0x04, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, - 0x52, 0x41, 0x4e, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, - 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x05, 0x2a, - 0x68, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x53, 0x45, 0x52, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x53, 0x45, 0x52, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, - 0x55, 0x53, 0x45, 0x52, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, - 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x2a, 0xdc, 0x01, 0x0a, 0x12, 0x55, 0x73, - 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, - 0x12, 0x22, 0x0a, 0x1e, 0x55, 0x53, 0x45, 0x52, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x45, 0x41, - 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x55, 0x53, 0x45, 0x52, 0x47, 0x52, 0x41, 0x4e, - 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, - 0x43, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x53, 0x45, 0x52, 0x47, - 0x52, 0x41, 0x4e, 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x53, - 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x53, 0x45, 0x52, 0x47, - 0x52, 0x41, 0x4e, 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x4f, 0x52, - 0x47, 0x5f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x53, 0x45, 0x52, 0x47, 0x52, - 0x41, 0x4e, 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x4f, 0x4c, - 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x53, 0x45, 0x52, 0x47, - 0x52, 0x41, 0x4e, 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x47, 0x52, - 0x41, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x05, 0x2a, 0x8b, 0x01, 0x0a, 0x17, 0x55, 0x73, 0x65, - 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x23, 0x55, 0x53, 0x45, 0x52, 0x4d, 0x45, 0x4d, 0x42, - 0x45, 0x52, 0x53, 0x48, 0x49, 0x50, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, - 0x1c, 0x55, 0x53, 0x45, 0x52, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x48, 0x49, 0x50, 0x53, - 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, - 0x25, 0x0a, 0x21, 0x55, 0x53, 0x45, 0x52, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x48, 0x49, - 0x50, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, - 0x54, 0x5f, 0x49, 0x44, 0x10, 0x02, 0x2a, 0x7b, 0x0a, 0x0a, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, - 0x52, 0x47, 0x41, 0x4e, 0x49, 0x53, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, - 0x12, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x4a, - 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x47, 0x52, 0x41, 0x4e, - 0x54, 0x10, 0x03, 0x2a, 0x62, 0x0a, 0x08, 0x49, 0x64, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x1e, 0x0a, 0x1a, 0x49, 0x44, 0x50, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x19, 0x0a, 0x15, 0x49, 0x44, 0x50, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x44, - 0x50, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x41, - 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x2a, 0x83, 0x01, 0x0a, 0x0c, 0x49, 0x64, 0x70, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x44, 0x50, 0x53, - 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x49, 0x44, 0x50, 0x53, 0x45, 0x41, - 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x49, 0x44, 0x50, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, - 0x47, 0x5f, 0x49, 0x44, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x44, 0x50, 0x53, 0x45, 0x41, - 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x02, 0x12, 0x1e, 0x0a, - 0x1a, 0x49, 0x44, 0x50, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x50, 0x52, - 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x03, 0x2a, 0x46, 0x0a, - 0x07, 0x49, 0x64, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x44, 0x50, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x44, 0x50, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x49, 0x44, - 0x43, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x44, 0x50, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, - 0x41, 0x4d, 0x4c, 0x10, 0x02, 0x2a, 0x67, 0x0a, 0x0f, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x49, 0x44, 0x50, 0x50, - 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x44, 0x50, - 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x59, 0x53, - 0x54, 0x45, 0x4d, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x44, 0x50, 0x50, 0x52, 0x4f, 0x56, - 0x49, 0x44, 0x45, 0x52, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x52, 0x47, 0x10, 0x02, 0x32, 0x88, - 0xab, 0x01, 0x0a, 0x11, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4b, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x7a, - 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x22, 0x10, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0a, 0x12, 0x08, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x7a, 0x12, 0x47, 0x0a, 0x05, 0x52, 0x65, 0x61, 0x64, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x0e, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x08, 0x12, 0x06, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x12, 0x4e, 0x0a, 0x08, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, - 0x12, 0x09, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x6c, 0x0a, 0x0e, 0x47, - 0x65, 0x74, 0x5a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x44, 0x6f, 0x63, 0x73, 0x12, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x44, 0x6f, - 0x63, 0x73, 0x22, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x12, 0x0d, 0x2f, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x12, 0x66, 0x0a, 0x06, 0x47, 0x65, 0x74, - 0x49, 0x61, 0x6d, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x23, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x61, 0x6d, - 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x06, 0x12, 0x04, 0x2f, 0x69, 0x61, 0x6d, 0x82, 0xb5, - 0x18, 0x0f, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x64, 0x12, 0x83, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, - 0x44, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x56, - 0x69, 0x65, 0x77, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x75, 0x73, - 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x75, 0x73, - 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xa9, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x42, 0x79, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x1a, - 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1c, 0x12, 0x1a, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, - 0x2f, 0x5f, 0x62, 0x79, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xb5, 0x18, - 0x12, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x72, - 0x65, 0x61, 0x64, 0x12, 0x9e, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, - 0x65, 0x72, 0x73, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x13, 0x22, 0x0e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x2e, - 0x72, 0x65, 0x61, 0x64, 0x12, 0x9e, 0x01, 0x0a, 0x0c, 0x49, 0x73, 0x55, 0x73, 0x65, 0x72, 0x55, - 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x5f, 0x69, 0x73, - 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, - 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x88, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x22, 0x21, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x22, 0x06, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x3a, 0x01, 0x2a, - 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x12, 0x92, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x24, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x1a, 0x17, 0x2f, 0x75, 0x73, 0x65, 0x72, - 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x92, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x1a, 0x24, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x1a, 0x17, - 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x72, 0x65, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, - 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x08, 0x4c, - 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, - 0x24, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x1a, 0x11, 0x2f, - 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, - 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, - 0x65, 0x72, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x24, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x1a, 0x13, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, - 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x3a, 0x01, 0x2a, - 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x12, 0x72, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x26, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x24, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x2a, 0x0b, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, - 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x0d, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x2a, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, - 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x75, - 0x73, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xb8, 0x01, 0x0a, 0x12, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, - 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, - 0x2c, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x73, 0x65, - 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x82, 0xb5, 0x18, - 0x12, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, - 0x65, 0x61, 0x64, 0x12, 0x8e, 0x01, 0x0a, 0x0a, 0x4f, 0x72, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x14, 0x12, 0x12, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x6f, 0x72, 0x67, 0x2e, - 0x72, 0x65, 0x61, 0x64, 0x12, 0x9a, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, - 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x82, - 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x72, 0x65, 0x61, - 0x64, 0x12, 0x95, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x2f, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, - 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x56, 0x69, 0x65, 0x77, 0x22, 0x2a, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, - 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, - 0x75, 0x73, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xaa, 0x01, 0x0a, 0x11, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, - 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x1a, 0x13, - 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, - 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, - 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x22, 0x28, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, - 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x75, - 0x73, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x95, 0x01, 0x0a, 0x12, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x39, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x75, 0x73, 0x65, - 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, - 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x12, 0xa2, 0x01, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, - 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, - 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x1a, - 0x11, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x9f, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, - 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x61, 0x69, 0x6c, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x25, 0x2f, - 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x2f, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, - 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x69, 0x65, 0x77, 0x22, - 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, - 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, - 0x75, 0x73, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xa2, 0x01, 0x0a, 0x0f, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x36, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, - 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x1a, 0x11, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, - 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, - 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x7c, - 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, - 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x2a, 0x11, 0x2f, 0x75, 0x73, 0x65, 0x72, - 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x82, 0xb5, 0x18, 0x0c, - 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x9f, 0x01, 0x0a, - 0x1b, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x40, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x25, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, - 0x7d, 0x2f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x2f, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x76, - 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0x82, 0xb5, - 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x95, - 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x56, 0x69, 0x65, 0x77, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x15, 0x12, 0x13, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x75, 0x73, 0x65, - 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xaa, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x38, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x1a, 0x13, 0x2f, 0x75, 0x73, - 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4d, - 0x66, 0x61, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x2c, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x75, 0x6c, - 0x74, 0x69, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x12, 0x12, 0x10, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x6d, - 0x66, 0x61, 0x73, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x72, 0x65, - 0x61, 0x64, 0x12, 0xbb, 0x01, 0x0a, 0x1b, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x74, 0x50, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x3e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x2e, 0x22, 0x29, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, - 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x2f, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x73, 0x65, - 0x74, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, - 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x12, 0x9a, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, 0x20, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, - 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x2f, 0x5f, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, - 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xdd, 0x01, - 0x0a, 0x15, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x73, 0x12, 0x3b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x68, 0x69, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x49, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x22, 0x24, 0x2f, 0x75, 0x73, 0x65, - 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x16, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xa8, 0x01, - 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, - 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x82, 0xb5, 0x18, 0x0d, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xb7, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, - 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x2f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x82, 0xb5, 0x18, 0x0d, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x72, 0x65, - 0x61, 0x64, 0x12, 0xd7, 0x01, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x73, - 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, - 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x1e, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xd7, 0x01, 0x0a, - 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x3e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, - 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, - 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, - 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x23, 0x1a, 0x1e, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, - 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, - 0x79, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, - 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3a, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, - 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x39, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x2a, 0x1e, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x78, 0x69, 0x74, 0x79, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x0d, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, - 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, - 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x30, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, - 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x61, 0x67, 0x65, 0x82, 0xb5, 0x18, - 0x0d, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xbb, - 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x37, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, - 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x17, - 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x73, 0x2f, 0x61, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xbb, 0x01, 0x0a, - 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, - 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x1a, 0x17, 0x2f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, - 0x73, 0x2f, 0x61, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x9a, 0x01, 0x0a, 0x17, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, - 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x2a, 0x17, 0x2f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, - 0x2f, 0x61, 0x67, 0x65, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x0d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x9f, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x35, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, - 0x2f, 0x6c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x82, 0xb5, 0x18, 0x0d, 0x0a, 0x0b, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xcb, 0x01, 0x0a, 0x1b, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, - 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3b, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, - 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, - 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x38, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1b, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x6c, 0x6f, 0x63, 0x6b, 0x6f, - 0x75, 0x74, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xcb, 0x01, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, - 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, - 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x38, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x20, 0x1a, 0x1b, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x6c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, - 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xa6, 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, - 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x44, 0x1a, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x2a, 0x1b, - 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x73, 0x2f, 0x6c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x82, 0xb5, 0x18, 0x0f, 0x0a, - 0x0d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x84, - 0x01, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x12, 0x30, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, - 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x72, 0x67, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0a, 0x22, 0x05, 0x2f, 0x6f, 0x72, - 0x67, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x6f, 0x72, 0x67, 0x2e, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x6b, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x4f, 0x72, - 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x56, 0x69, - 0x65, 0x77, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0a, 0x12, 0x08, 0x2f, 0x6f, 0x72, 0x67, - 0x73, 0x2f, 0x6d, 0x65, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x6f, 0x72, 0x67, 0x2e, 0x72, 0x65, - 0x61, 0x64, 0x12, 0x9c, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x42, 0x79, 0x44, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x26, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x56, 0x69, 0x65, 0x77, 0x22, 0x33, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6f, 0x72, - 0x67, 0x73, 0x2f, 0x5f, 0x62, 0x79, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x82, 0xb5, 0x18, 0x11, - 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x72, 0x65, 0x61, - 0x64, 0x12, 0x7e, 0x0a, 0x0f, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, - 0x79, 0x4f, 0x72, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x23, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, - 0x67, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x1a, 0x14, 0x2f, 0x6f, 0x72, 0x67, 0x73, - 0x2f, 0x6d, 0x65, 0x2f, 0x5f, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, - 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x6f, 0x72, 0x67, 0x2e, 0x77, 0x72, 0x69, 0x74, - 0x65, 0x12, 0x7e, 0x0a, 0x0f, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, - 0x79, 0x4f, 0x72, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x23, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, - 0x67, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x1a, 0x14, 0x2f, 0x6f, 0x72, 0x67, 0x73, - 0x2f, 0x6d, 0x65, 0x2f, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, - 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x6f, 0x72, 0x67, 0x2e, 0x77, 0x72, 0x69, 0x74, - 0x65, 0x12, 0xb8, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x79, 0x4f, 0x72, - 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1d, 0x22, 0x18, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, - 0x18, 0x0a, 0x0a, 0x08, 0x6f, 0x72, 0x67, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x9c, 0x01, 0x0a, - 0x0e, 0x41, 0x64, 0x64, 0x4d, 0x79, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, - 0x33, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, - 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, - 0x65, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0b, - 0x0a, 0x09, 0x6f, 0x72, 0x67, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xdf, 0x01, 0x0a, 0x1d, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x44, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x22, 0x2b, - 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, - 0x2f, 0x7b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x7d, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, - 0x18, 0x0b, 0x0a, 0x09, 0x6f, 0x72, 0x67, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xad, 0x01, - 0x0a, 0x13, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x4f, 0x72, 0x67, 0x44, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, - 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x22, - 0x2a, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x73, 0x2f, 0x7b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x7d, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x3a, 0x01, 0x2a, 0x82, 0xb5, - 0x18, 0x0b, 0x0a, 0x09, 0x6f, 0x72, 0x67, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xa3, 0x01, - 0x0a, 0x15, 0x53, 0x65, 0x74, 0x4d, 0x79, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x4f, 0x72, - 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, - 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, - 0x22, 0x22, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x7d, 0x2f, 0x5f, 0x70, 0x72, 0x69, - 0x6d, 0x61, 0x72, 0x79, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x6f, 0x72, 0x67, 0x2e, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x79, - 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1b, 0x2a, 0x19, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x7d, 0x82, 0xb5, 0x18, 0x0b, - 0x0a, 0x09, 0x6f, 0x72, 0x67, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x88, 0x01, 0x0a, 0x11, - 0x47, 0x65, 0x74, 0x4d, 0x79, 0x4f, 0x72, 0x67, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x49, 0x61, - 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, - 0x12, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x8d, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4f, 0x72, - 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x6f, - 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x72, 0x6f, 0x6c, 0x65, - 0x73, 0x82, 0xb5, 0x18, 0x11, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xa3, 0x01, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x4d, 0x79, - 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x72, - 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x15, 0x22, 0x10, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x10, 0x6f, 0x72, 0x67, 0x2e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xb3, 0x01, 0x0a, - 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x79, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x1a, 0x1a, 0x2f, - 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, - 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x12, - 0x0a, 0x10, 0x6f, 0x72, 0x67, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x79, 0x4f, - 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, - 0x2a, 0x1a, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x13, - 0x0a, 0x11, 0x6f, 0x72, 0x67, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x64, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x12, 0xbf, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x79, - 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, - 0x82, 0xb5, 0x18, 0x11, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xad, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x34, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x22, 0x11, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x93, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x42, 0x79, 0x49, 0x44, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, - 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x69, 0x65, 0x77, 0x22, 0x2c, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x02, 0x49, 0x64, 0x12, 0x97, 0x01, 0x0a, 0x0d, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x34, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x27, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x0e, 0x22, 0x09, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x3a, - 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xa0, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x34, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x1a, 0x0e, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x01, - 0x2a, 0x82, 0xb5, 0x18, 0x13, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0xa5, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x29, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, - 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x1a, 0x1a, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x64, 0x65, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x13, 0x0a, 0x0d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, - 0x12, 0xa5, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x44, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1f, 0x1a, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, - 0x64, 0x7d, 0x2f, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, - 0x2a, 0x82, 0xb5, 0x18, 0x13, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0x82, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x2a, 0x0e, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x14, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0xc7, 0x01, - 0x0a, 0x15, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x3b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, - 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, - 0x65, 0x64, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xbe, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x79, 0x49, - 0x44, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, - 0x44, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x56, - 0x69, 0x65, 0x77, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x67, 0x72, - 0x61, 0x6e, 0x74, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, - 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x9d, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, - 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x38, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x82, - 0xb5, 0x18, 0x15, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xe6, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x12, 0x3a, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x2b, 0x22, 0x26, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, - 0x20, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x12, 0xb4, 0x01, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x30, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, - 0x16, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1a, 0x0a, 0x14, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0xc4, 0x01, 0x0a, 0x13, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x33, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x22, 0x49, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x1a, 0x20, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x01, - 0x2a, 0x82, 0xb5, 0x18, 0x1a, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, - 0xab, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x2a, 0x20, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x82, 0xb5, - 0x18, 0x1b, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0xdc, 0x01, - 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, - 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x29, 0x22, 0x24, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2f, - 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1e, 0x0a, 0x11, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x72, 0x6f, 0x6c, 0x65, 0x2e, 0x72, 0x65, 0x61, - 0x64, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xaa, 0x01, 0x0a, - 0x0e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x12, - 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x1a, - 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x22, 0x3b, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x19, 0x22, 0x14, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, - 0x18, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x72, 0x6f, 0x6c, 0x65, 0x2e, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0xa3, 0x01, 0x0a, 0x12, 0x42, 0x75, - 0x6c, 0x6b, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, - 0x12, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x64, 0x64, - 0x42, 0x75, 0x6c, 0x6b, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x41, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2f, 0x5f, 0x62, 0x75, 0x6c, 0x6b, - 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x18, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2e, 0x72, 0x6f, 0x6c, 0x65, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, - 0xb6, 0x01, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, - 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x1a, 0x1a, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x6f, - 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x7d, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x18, - 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x72, 0x6f, 0x6c, 0x65, 0x2e, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0x9f, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x31, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1c, 0x2a, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, - 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x7d, 0x82, 0xb5, 0x18, - 0x19, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x72, 0x6f, 0x6c, 0x65, 0x2e, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0xe2, 0x01, 0x0a, 0x12, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x22, 0x2b, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, - 0x18, 0x1d, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x72, 0x65, 0x61, 0x64, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, - 0xc4, 0x01, 0x0a, 0x0f, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x79, 0x49, 0x44, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, - 0x69, 0x65, 0x77, 0x22, 0x51, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x1d, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x09, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xd2, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x35, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x55, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x22, 0x28, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x6f, 0x69, 0x64, 0x63, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1e, 0x0a, 0x11, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xca, 0x01, 0x0a, 0x11, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x55, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x1a, 0x28, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, - 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1e, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x09, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xd6, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x61, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x1a, 0x34, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, - 0x2f, 0x5f, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, - 0xb5, 0x18, 0x1e, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x12, 0xd6, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x1a, - 0x34, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1e, 0x0a, 0x11, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, - 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xaf, 0x01, 0x0a, 0x11, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x1a, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x53, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x2a, - 0x28, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x1f, 0x0a, 0x12, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xe9, 0x01, 0x0a, - 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4f, 0x49, 0x44, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, - 0x44, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x2a, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x49, 0x44, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x6c, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x44, 0x1a, 0x3f, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6f, 0x69, 0x64, 0x63, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1e, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x09, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xef, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x22, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x1a, 0x47, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x6f, 0x69, 0x64, 0x63, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2f, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1e, 0x0a, 0x11, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, - 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xe1, 0x01, 0x0a, 0x13, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x73, 0x12, 0x39, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x2a, 0x22, 0x25, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, - 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1f, 0x0a, - 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x72, - 0x65, 0x61, 0x64, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xb8, - 0x01, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x42, - 0x79, 0x49, 0x44, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x49, 0x44, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x56, 0x69, 0x65, 0x77, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, - 0x7d, 0x82, 0xb5, 0x18, 0x14, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xb9, 0x01, 0x0a, 0x12, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x12, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, - 0x6e, 0x74, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, - 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x15, - 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xbe, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x32, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x46, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x1a, 0x22, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, - 0x15, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, - 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xca, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, - 0x44, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, - 0x52, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x1a, 0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, - 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x64, 0x65, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x15, 0x0a, 0x13, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x12, 0xca, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2e, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x2c, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x52, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x33, 0x1a, 0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, - 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x15, 0x0a, 0x13, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x12, 0xa2, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, - 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x2a, 0x22, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, - 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x16, 0x0a, - 0x14, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xb4, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x37, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x82, 0xb5, 0x18, - 0x1b, 0x0a, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x82, 0x02, 0x0a, - 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x22, 0x38, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, - 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, - 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1b, 0x0a, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, - 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, - 0x64, 0x12, 0xdf, 0x01, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, - 0x64, 0x64, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x22, 0x30, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1c, 0x0a, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x12, 0xef, 0x01, 0x0a, 0x18, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x1a, 0x3a, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, - 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1c, 0x0a, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xd1, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x22, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x2a, 0x3a, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x67, 0x72, 0x61, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x1d, 0x0a, 0x1b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xba, 0x01, 0x0a, 0x10, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x36, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, - 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, - 0x2a, 0x82, 0xb5, 0x18, 0x11, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, - 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xa6, 0x01, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x42, 0x79, 0x49, 0x44, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x56, 0x69, 0x65, 0x77, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x75, - 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x11, 0x0a, 0x0f, - 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, - 0xa7, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, - 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, - 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x17, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, - 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, - 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, - 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xac, 0x01, 0x0a, 0x0f, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2f, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x29, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x21, 0x1a, 0x1c, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, - 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, - 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xb8, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x29, 0x2e, - 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x49, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, - 0x1a, 0x28, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, - 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, - 0x12, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x12, 0xb8, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, - 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x22, 0x49, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x1a, 0x28, 0x2f, 0x75, 0x73, - 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, - 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x10, 0x75, 0x73, - 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x93, - 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, - 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x2a, - 0x1c, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, - 0x13, 0x0a, 0x11, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x12, 0x98, 0x01, 0x0a, 0x13, 0x42, 0x75, 0x6c, 0x6b, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x33, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, - 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x75, 0x6c, - 0x6b, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x17, 0x2a, 0x12, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, - 0x5f, 0x62, 0x75, 0x6c, 0x6b, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x13, 0x0a, 0x11, 0x75, 0x73, - 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, - 0x87, 0x01, 0x0a, 0x07, 0x49, 0x64, 0x70, 0x42, 0x79, 0x49, 0x44, 0x12, 0x25, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, - 0x49, 0x44, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x56, 0x69, 0x65, 0x77, 0x22, 0x2c, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x69, 0x64, - 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x6f, 0x72, 0x67, - 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x9b, 0x01, 0x0a, 0x0d, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4f, 0x69, 0x64, 0x63, 0x49, 0x64, 0x70, 0x12, 0x33, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x69, 0x64, - 0x63, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x1a, 0x23, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x64, 0x70, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x22, 0x12, 0x2f, - 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x69, 0x64, 0x70, 0x73, 0x2f, 0x6f, 0x69, 0x64, - 0x63, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x0d, 0x6f, 0x72, 0x67, 0x2e, 0x69, 0x64, - 0x70, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x29, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x23, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x22, 0x30, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x17, 0x1a, 0x12, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x69, 0x64, - 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x0d, - 0x6f, 0x72, 0x67, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x9f, 0x01, - 0x0a, 0x13, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x64, 0x70, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, - 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x49, 0x44, 0x1a, 0x23, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, - 0x70, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x1a, 0x1e, 0x2f, 0x6f, 0x72, 0x67, 0x73, - 0x2f, 0x6d, 0x65, 0x2f, 0x69, 0x64, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x64, - 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0f, - 0x0a, 0x0d, 0x6f, 0x72, 0x67, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, - 0x9f, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x64, - 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x49, 0x44, 0x1a, 0x23, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x64, 0x70, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x1a, 0x1e, 0x2f, 0x6f, 0x72, - 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x69, 0x64, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, - 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, - 0x18, 0x0f, 0x0a, 0x0d, 0x6f, 0x72, 0x67, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x77, 0x72, 0x69, 0x74, - 0x65, 0x12, 0x7f, 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x64, 0x70, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x2a, 0x12, 0x2f, 0x6f, 0x72, - 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x69, 0x64, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, - 0xb5, 0x18, 0x0f, 0x0a, 0x0d, 0x6f, 0x72, 0x67, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x12, 0xba, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x69, 0x64, - 0x63, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x6f, - 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x69, 0x64, 0x63, - 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, - 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x49, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x3f, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x1a, 0x21, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, - 0x2f, 0x69, 0x64, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x70, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6f, - 0x69, 0x64, 0x63, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0f, - 0x0a, 0x0d, 0x6f, 0x72, 0x67, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, - 0xa5, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x70, 0x73, 0x12, 0x30, - 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x64, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x64, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x6f, 0x72, - 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x69, 0x64, 0x70, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x2e, 0x69, - 0x64, 0x70, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x8b, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4c, - 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, - 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, - 0x69, 0x65, 0x77, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x6f, 0x72, - 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x6c, - 0x6f, 0x67, 0x69, 0x6e, 0x82, 0xb5, 0x18, 0x0d, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xa6, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2e, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, - 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, - 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, - 0x22, 0x17, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, - 0x0a, 0x0c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xa3, - 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x34, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x1a, 0x17, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, - 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x3a, - 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x12, 0x77, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x6f, - 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x19, 0x2a, 0x17, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x0d, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xdb, 0x01, - 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x38, 0x2e, 0x63, - 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, - 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, - 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x22, 0x2c, 0x2f, 0x6f, 0x72, 0x67, 0x73, - 0x2f, 0x6d, 0x65, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x6c, 0x6f, 0x67, - 0x69, 0x6e, 0x2f, 0x69, 0x64, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, - 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0d, 0x0a, 0x0b, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xbd, 0x01, 0x0a, 0x1b, - 0x41, 0x64, 0x64, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, - 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2e, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, - 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x70, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, - 0x22, 0x24, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2f, 0x69, 0x64, 0x70, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xbc, 0x01, 0x0a, 0x20, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x44, 0x1a, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x51, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x22, - 0x34, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2f, 0x69, 0x64, 0x70, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0xc5, 0x01, 0x5a, 0x2b, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x61, 0x6f, 0x73, 0x2f, 0x7a, - 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x92, 0x41, 0x94, 0x01, 0x12, 0x47, - 0x0a, 0x0e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x41, 0x50, 0x49, - 0x22, 0x30, 0x12, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x61, 0x6f, 0x73, 0x2f, 0x7a, 0x69, 0x74, 0x61, - 0x64, 0x65, 0x6c, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x32, 0x03, 0x30, 0x2e, 0x31, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x3a, 0x10, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, - 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x72, - 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +func init() { + proto.RegisterEnum("caos.zitadel.management.api.v1.UserState", UserState_name, UserState_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.Gender", Gender_name, Gender_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.MachineKeyType", MachineKeyType_name, MachineKeyType_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.UserSearchKey", UserSearchKey_name, UserSearchKey_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.SearchMethod", SearchMethod_name, SearchMethod_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.MfaType", MfaType_name, MfaType_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.MFAState", MFAState_name, MFAState_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.NotificationType", NotificationType_name, NotificationType_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.PolicyState", PolicyState_name, PolicyState_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.OrgState", OrgState_name, OrgState_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.OrgDomainValidationType", OrgDomainValidationType_name, OrgDomainValidationType_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.OrgDomainSearchKey", OrgDomainSearchKey_name, OrgDomainSearchKey_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.OrgMemberSearchKey", OrgMemberSearchKey_name, OrgMemberSearchKey_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.ProjectSearchKey", ProjectSearchKey_name, ProjectSearchKey_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.ProjectState", ProjectState_name, ProjectState_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.ProjectRoleSearchKey", ProjectRoleSearchKey_name, ProjectRoleSearchKey_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.ProjectMemberSearchKey", ProjectMemberSearchKey_name, ProjectMemberSearchKey_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.AppState", AppState_name, AppState_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.OIDCVersion", OIDCVersion_name, OIDCVersion_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.OIDCResponseType", OIDCResponseType_name, OIDCResponseType_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.OIDCGrantType", OIDCGrantType_name, OIDCGrantType_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.OIDCApplicationType", OIDCApplicationType_name, OIDCApplicationType_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.OIDCAuthMethodType", OIDCAuthMethodType_name, OIDCAuthMethodType_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.ApplicationSearchKey", ApplicationSearchKey_name, ApplicationSearchKey_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.ProjectGrantState", ProjectGrantState_name, ProjectGrantState_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.ProjectGrantSearchKey", ProjectGrantSearchKey_name, ProjectGrantSearchKey_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.ProjectGrantMemberSearchKey", ProjectGrantMemberSearchKey_name, ProjectGrantMemberSearchKey_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.UserGrantState", UserGrantState_name, UserGrantState_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.UserGrantSearchKey", UserGrantSearchKey_name, UserGrantSearchKey_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.UserMembershipSearchKey", UserMembershipSearchKey_name, UserMembershipSearchKey_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.MemberType", MemberType_name, MemberType_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.IdpState", IdpState_name, IdpState_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.IdpSearchKey", IdpSearchKey_name, IdpSearchKey_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.IdpType", IdpType_name, IdpType_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.IdpProviderType", IdpProviderType_name, IdpProviderType_value) + proto.RegisterEnum("caos.zitadel.management.api.v1.ProjectType", ProjectType_name, ProjectType_value) + proto.RegisterType((*ZitadelDocs)(nil), "caos.zitadel.management.api.v1.ZitadelDocs") + proto.RegisterType((*Iam)(nil), "caos.zitadel.management.api.v1.Iam") + proto.RegisterType((*ChangeRequest)(nil), "caos.zitadel.management.api.v1.ChangeRequest") + proto.RegisterType((*Changes)(nil), "caos.zitadel.management.api.v1.Changes") + proto.RegisterType((*Change)(nil), "caos.zitadel.management.api.v1.Change") + proto.RegisterType((*ApplicationID)(nil), "caos.zitadel.management.api.v1.ApplicationID") + proto.RegisterType((*ProjectID)(nil), "caos.zitadel.management.api.v1.ProjectID") + proto.RegisterType((*UserID)(nil), "caos.zitadel.management.api.v1.UserID") + proto.RegisterType((*LoginName)(nil), "caos.zitadel.management.api.v1.LoginName") + proto.RegisterType((*UniqueUserRequest)(nil), "caos.zitadel.management.api.v1.UniqueUserRequest") + proto.RegisterType((*UniqueUserResponse)(nil), "caos.zitadel.management.api.v1.UniqueUserResponse") + proto.RegisterType((*CreateUserRequest)(nil), "caos.zitadel.management.api.v1.CreateUserRequest") + proto.RegisterType((*CreateHumanRequest)(nil), "caos.zitadel.management.api.v1.CreateHumanRequest") + proto.RegisterType((*CreateMachineRequest)(nil), "caos.zitadel.management.api.v1.CreateMachineRequest") + proto.RegisterType((*UserResponse)(nil), "caos.zitadel.management.api.v1.UserResponse") + proto.RegisterType((*UserView)(nil), "caos.zitadel.management.api.v1.UserView") + proto.RegisterType((*HumanResponse)(nil), "caos.zitadel.management.api.v1.HumanResponse") + proto.RegisterType((*HumanView)(nil), "caos.zitadel.management.api.v1.HumanView") + proto.RegisterType((*MachineResponse)(nil), "caos.zitadel.management.api.v1.MachineResponse") + proto.RegisterType((*MachineView)(nil), "caos.zitadel.management.api.v1.MachineView") + proto.RegisterType((*UpdateMachineRequest)(nil), "caos.zitadel.management.api.v1.UpdateMachineRequest") + proto.RegisterType((*AddMachineKeyRequest)(nil), "caos.zitadel.management.api.v1.AddMachineKeyRequest") + proto.RegisterType((*AddMachineKeyResponse)(nil), "caos.zitadel.management.api.v1.AddMachineKeyResponse") + proto.RegisterType((*MachineKeyIDRequest)(nil), "caos.zitadel.management.api.v1.MachineKeyIDRequest") + proto.RegisterType((*MachineKeyView)(nil), "caos.zitadel.management.api.v1.MachineKeyView") + proto.RegisterType((*MachineKeySearchRequest)(nil), "caos.zitadel.management.api.v1.MachineKeySearchRequest") + proto.RegisterType((*MachineKeySearchResponse)(nil), "caos.zitadel.management.api.v1.MachineKeySearchResponse") + proto.RegisterType((*UserSearchRequest)(nil), "caos.zitadel.management.api.v1.UserSearchRequest") + proto.RegisterType((*UserSearchQuery)(nil), "caos.zitadel.management.api.v1.UserSearchQuery") + proto.RegisterType((*UserSearchResponse)(nil), "caos.zitadel.management.api.v1.UserSearchResponse") + proto.RegisterType((*UserProfile)(nil), "caos.zitadel.management.api.v1.UserProfile") + proto.RegisterType((*UserProfileView)(nil), "caos.zitadel.management.api.v1.UserProfileView") + proto.RegisterType((*UpdateUserProfileRequest)(nil), "caos.zitadel.management.api.v1.UpdateUserProfileRequest") + proto.RegisterType((*UpdateUserUserNameRequest)(nil), "caos.zitadel.management.api.v1.UpdateUserUserNameRequest") + proto.RegisterType((*UserEmail)(nil), "caos.zitadel.management.api.v1.UserEmail") + proto.RegisterType((*UserEmailView)(nil), "caos.zitadel.management.api.v1.UserEmailView") + proto.RegisterType((*UpdateUserEmailRequest)(nil), "caos.zitadel.management.api.v1.UpdateUserEmailRequest") + proto.RegisterType((*UserPhone)(nil), "caos.zitadel.management.api.v1.UserPhone") + proto.RegisterType((*UserPhoneView)(nil), "caos.zitadel.management.api.v1.UserPhoneView") + proto.RegisterType((*UpdateUserPhoneRequest)(nil), "caos.zitadel.management.api.v1.UpdateUserPhoneRequest") + proto.RegisterType((*UserAddress)(nil), "caos.zitadel.management.api.v1.UserAddress") + proto.RegisterType((*UserAddressView)(nil), "caos.zitadel.management.api.v1.UserAddressView") + proto.RegisterType((*UpdateUserAddressRequest)(nil), "caos.zitadel.management.api.v1.UpdateUserAddressRequest") + proto.RegisterType((*MultiFactors)(nil), "caos.zitadel.management.api.v1.MultiFactors") + proto.RegisterType((*MultiFactor)(nil), "caos.zitadel.management.api.v1.MultiFactor") + proto.RegisterType((*PasswordRequest)(nil), "caos.zitadel.management.api.v1.PasswordRequest") + proto.RegisterType((*SetPasswordNotificationRequest)(nil), "caos.zitadel.management.api.v1.SetPasswordNotificationRequest") + proto.RegisterType((*PasswordComplexityPolicyID)(nil), "caos.zitadel.management.api.v1.PasswordComplexityPolicyID") + proto.RegisterType((*PasswordComplexityPolicy)(nil), "caos.zitadel.management.api.v1.PasswordComplexityPolicy") + proto.RegisterType((*PasswordComplexityPolicyCreate)(nil), "caos.zitadel.management.api.v1.PasswordComplexityPolicyCreate") + proto.RegisterType((*PasswordComplexityPolicyUpdate)(nil), "caos.zitadel.management.api.v1.PasswordComplexityPolicyUpdate") + proto.RegisterType((*PasswordAgePolicyID)(nil), "caos.zitadel.management.api.v1.PasswordAgePolicyID") + proto.RegisterType((*PasswordAgePolicy)(nil), "caos.zitadel.management.api.v1.PasswordAgePolicy") + proto.RegisterType((*PasswordAgePolicyCreate)(nil), "caos.zitadel.management.api.v1.PasswordAgePolicyCreate") + proto.RegisterType((*PasswordAgePolicyUpdate)(nil), "caos.zitadel.management.api.v1.PasswordAgePolicyUpdate") + proto.RegisterType((*PasswordLockoutPolicyID)(nil), "caos.zitadel.management.api.v1.PasswordLockoutPolicyID") + proto.RegisterType((*PasswordLockoutPolicy)(nil), "caos.zitadel.management.api.v1.PasswordLockoutPolicy") + proto.RegisterType((*PasswordLockoutPolicyCreate)(nil), "caos.zitadel.management.api.v1.PasswordLockoutPolicyCreate") + proto.RegisterType((*PasswordLockoutPolicyUpdate)(nil), "caos.zitadel.management.api.v1.PasswordLockoutPolicyUpdate") + proto.RegisterType((*OrgIamPolicy)(nil), "caos.zitadel.management.api.v1.OrgIamPolicy") + proto.RegisterType((*OrgCreateRequest)(nil), "caos.zitadel.management.api.v1.OrgCreateRequest") + proto.RegisterType((*Org)(nil), "caos.zitadel.management.api.v1.Org") + proto.RegisterType((*OrgView)(nil), "caos.zitadel.management.api.v1.OrgView") + proto.RegisterType((*Domain)(nil), "caos.zitadel.management.api.v1.Domain") + proto.RegisterType((*OrgDomain)(nil), "caos.zitadel.management.api.v1.OrgDomain") + proto.RegisterType((*OrgDomainView)(nil), "caos.zitadel.management.api.v1.OrgDomainView") + proto.RegisterType((*AddOrgDomainRequest)(nil), "caos.zitadel.management.api.v1.AddOrgDomainRequest") + proto.RegisterType((*OrgDomainValidationRequest)(nil), "caos.zitadel.management.api.v1.OrgDomainValidationRequest") + proto.RegisterType((*OrgDomainValidationResponse)(nil), "caos.zitadel.management.api.v1.OrgDomainValidationResponse") + proto.RegisterType((*ValidateOrgDomainRequest)(nil), "caos.zitadel.management.api.v1.ValidateOrgDomainRequest") + proto.RegisterType((*PrimaryOrgDomainRequest)(nil), "caos.zitadel.management.api.v1.PrimaryOrgDomainRequest") + proto.RegisterType((*RemoveOrgDomainRequest)(nil), "caos.zitadel.management.api.v1.RemoveOrgDomainRequest") + proto.RegisterType((*OrgDomainSearchResponse)(nil), "caos.zitadel.management.api.v1.OrgDomainSearchResponse") + proto.RegisterType((*OrgDomainSearchRequest)(nil), "caos.zitadel.management.api.v1.OrgDomainSearchRequest") + proto.RegisterType((*OrgDomainSearchQuery)(nil), "caos.zitadel.management.api.v1.OrgDomainSearchQuery") + proto.RegisterType((*OrgMemberRoles)(nil), "caos.zitadel.management.api.v1.OrgMemberRoles") + proto.RegisterType((*OrgMember)(nil), "caos.zitadel.management.api.v1.OrgMember") + proto.RegisterType((*AddOrgMemberRequest)(nil), "caos.zitadel.management.api.v1.AddOrgMemberRequest") + proto.RegisterType((*ChangeOrgMemberRequest)(nil), "caos.zitadel.management.api.v1.ChangeOrgMemberRequest") + proto.RegisterType((*RemoveOrgMemberRequest)(nil), "caos.zitadel.management.api.v1.RemoveOrgMemberRequest") + proto.RegisterType((*OrgMemberSearchResponse)(nil), "caos.zitadel.management.api.v1.OrgMemberSearchResponse") + proto.RegisterType((*OrgMemberView)(nil), "caos.zitadel.management.api.v1.OrgMemberView") + proto.RegisterType((*OrgMemberSearchRequest)(nil), "caos.zitadel.management.api.v1.OrgMemberSearchRequest") + proto.RegisterType((*OrgMemberSearchQuery)(nil), "caos.zitadel.management.api.v1.OrgMemberSearchQuery") + proto.RegisterType((*ProjectCreateRequest)(nil), "caos.zitadel.management.api.v1.ProjectCreateRequest") + proto.RegisterType((*ProjectUpdateRequest)(nil), "caos.zitadel.management.api.v1.ProjectUpdateRequest") + proto.RegisterType((*ProjectSearchResponse)(nil), "caos.zitadel.management.api.v1.ProjectSearchResponse") + proto.RegisterType((*ProjectView)(nil), "caos.zitadel.management.api.v1.ProjectView") + proto.RegisterType((*ProjectSearchRequest)(nil), "caos.zitadel.management.api.v1.ProjectSearchRequest") + proto.RegisterType((*ProjectSearchQuery)(nil), "caos.zitadel.management.api.v1.ProjectSearchQuery") + proto.RegisterType((*Projects)(nil), "caos.zitadel.management.api.v1.Projects") + proto.RegisterType((*Project)(nil), "caos.zitadel.management.api.v1.Project") + proto.RegisterType((*ProjectMemberRoles)(nil), "caos.zitadel.management.api.v1.ProjectMemberRoles") + proto.RegisterType((*ProjectMember)(nil), "caos.zitadel.management.api.v1.ProjectMember") + proto.RegisterType((*ProjectMemberAdd)(nil), "caos.zitadel.management.api.v1.ProjectMemberAdd") + proto.RegisterType((*ProjectMemberChange)(nil), "caos.zitadel.management.api.v1.ProjectMemberChange") + proto.RegisterType((*ProjectMemberRemove)(nil), "caos.zitadel.management.api.v1.ProjectMemberRemove") + proto.RegisterType((*ProjectRoleAdd)(nil), "caos.zitadel.management.api.v1.ProjectRoleAdd") + proto.RegisterType((*ProjectRoleAddBulk)(nil), "caos.zitadel.management.api.v1.ProjectRoleAddBulk") + proto.RegisterType((*ProjectRoleChange)(nil), "caos.zitadel.management.api.v1.ProjectRoleChange") + proto.RegisterType((*ProjectRole)(nil), "caos.zitadel.management.api.v1.ProjectRole") + proto.RegisterType((*ProjectRoleView)(nil), "caos.zitadel.management.api.v1.ProjectRoleView") + proto.RegisterType((*ProjectRoleRemove)(nil), "caos.zitadel.management.api.v1.ProjectRoleRemove") + proto.RegisterType((*ProjectRoleSearchResponse)(nil), "caos.zitadel.management.api.v1.ProjectRoleSearchResponse") + proto.RegisterType((*ProjectRoleSearchRequest)(nil), "caos.zitadel.management.api.v1.ProjectRoleSearchRequest") + proto.RegisterType((*ProjectRoleSearchQuery)(nil), "caos.zitadel.management.api.v1.ProjectRoleSearchQuery") + proto.RegisterType((*ProjectMemberView)(nil), "caos.zitadel.management.api.v1.ProjectMemberView") + proto.RegisterType((*ProjectMemberSearchResponse)(nil), "caos.zitadel.management.api.v1.ProjectMemberSearchResponse") + proto.RegisterType((*ProjectMemberSearchRequest)(nil), "caos.zitadel.management.api.v1.ProjectMemberSearchRequest") + proto.RegisterType((*ProjectMemberSearchQuery)(nil), "caos.zitadel.management.api.v1.ProjectMemberSearchQuery") + proto.RegisterType((*Application)(nil), "caos.zitadel.management.api.v1.Application") + proto.RegisterType((*ApplicationUpdate)(nil), "caos.zitadel.management.api.v1.ApplicationUpdate") + proto.RegisterType((*OIDCConfig)(nil), "caos.zitadel.management.api.v1.OIDCConfig") + proto.RegisterType((*OIDCApplicationCreate)(nil), "caos.zitadel.management.api.v1.OIDCApplicationCreate") + proto.RegisterType((*OIDCConfigUpdate)(nil), "caos.zitadel.management.api.v1.OIDCConfigUpdate") + proto.RegisterType((*ClientSecret)(nil), "caos.zitadel.management.api.v1.ClientSecret") + proto.RegisterType((*ApplicationView)(nil), "caos.zitadel.management.api.v1.ApplicationView") + proto.RegisterType((*ApplicationSearchResponse)(nil), "caos.zitadel.management.api.v1.ApplicationSearchResponse") + proto.RegisterType((*ApplicationSearchRequest)(nil), "caos.zitadel.management.api.v1.ApplicationSearchRequest") + proto.RegisterType((*ApplicationSearchQuery)(nil), "caos.zitadel.management.api.v1.ApplicationSearchQuery") + proto.RegisterType((*ProjectGrant)(nil), "caos.zitadel.management.api.v1.ProjectGrant") + proto.RegisterType((*ProjectGrantCreate)(nil), "caos.zitadel.management.api.v1.ProjectGrantCreate") + proto.RegisterType((*ProjectGrantUpdate)(nil), "caos.zitadel.management.api.v1.ProjectGrantUpdate") + proto.RegisterType((*ProjectGrantID)(nil), "caos.zitadel.management.api.v1.ProjectGrantID") + proto.RegisterType((*ProjectGrantView)(nil), "caos.zitadel.management.api.v1.ProjectGrantView") + proto.RegisterType((*ProjectGrantSearchResponse)(nil), "caos.zitadel.management.api.v1.ProjectGrantSearchResponse") + proto.RegisterType((*GrantedProjectSearchRequest)(nil), "caos.zitadel.management.api.v1.GrantedProjectSearchRequest") + proto.RegisterType((*ProjectGrantSearchRequest)(nil), "caos.zitadel.management.api.v1.ProjectGrantSearchRequest") + proto.RegisterType((*ProjectGrantSearchQuery)(nil), "caos.zitadel.management.api.v1.ProjectGrantSearchQuery") + proto.RegisterType((*ProjectGrantMemberRoles)(nil), "caos.zitadel.management.api.v1.ProjectGrantMemberRoles") + proto.RegisterType((*ProjectGrantMember)(nil), "caos.zitadel.management.api.v1.ProjectGrantMember") + proto.RegisterType((*ProjectGrantMemberAdd)(nil), "caos.zitadel.management.api.v1.ProjectGrantMemberAdd") + proto.RegisterType((*ProjectGrantMemberChange)(nil), "caos.zitadel.management.api.v1.ProjectGrantMemberChange") + proto.RegisterType((*ProjectGrantMemberRemove)(nil), "caos.zitadel.management.api.v1.ProjectGrantMemberRemove") + proto.RegisterType((*ProjectGrantMemberView)(nil), "caos.zitadel.management.api.v1.ProjectGrantMemberView") + proto.RegisterType((*ProjectGrantMemberSearchResponse)(nil), "caos.zitadel.management.api.v1.ProjectGrantMemberSearchResponse") + proto.RegisterType((*ProjectGrantMemberSearchRequest)(nil), "caos.zitadel.management.api.v1.ProjectGrantMemberSearchRequest") + proto.RegisterType((*ProjectGrantMemberSearchQuery)(nil), "caos.zitadel.management.api.v1.ProjectGrantMemberSearchQuery") + proto.RegisterType((*UserGrant)(nil), "caos.zitadel.management.api.v1.UserGrant") + proto.RegisterType((*UserGrantCreate)(nil), "caos.zitadel.management.api.v1.UserGrantCreate") + proto.RegisterType((*UserGrantUpdate)(nil), "caos.zitadel.management.api.v1.UserGrantUpdate") + proto.RegisterType((*UserGrantRemoveBulk)(nil), "caos.zitadel.management.api.v1.UserGrantRemoveBulk") + proto.RegisterType((*UserGrantID)(nil), "caos.zitadel.management.api.v1.UserGrantID") + proto.RegisterType((*UserGrantView)(nil), "caos.zitadel.management.api.v1.UserGrantView") + proto.RegisterType((*UserGrantSearchResponse)(nil), "caos.zitadel.management.api.v1.UserGrantSearchResponse") + proto.RegisterType((*UserGrantSearchRequest)(nil), "caos.zitadel.management.api.v1.UserGrantSearchRequest") + proto.RegisterType((*UserGrantSearchQuery)(nil), "caos.zitadel.management.api.v1.UserGrantSearchQuery") + proto.RegisterType((*UserMembershipSearchResponse)(nil), "caos.zitadel.management.api.v1.UserMembershipSearchResponse") + proto.RegisterType((*UserMembershipSearchRequest)(nil), "caos.zitadel.management.api.v1.UserMembershipSearchRequest") + proto.RegisterType((*UserMembershipSearchQuery)(nil), "caos.zitadel.management.api.v1.UserMembershipSearchQuery") + proto.RegisterType((*UserMembershipView)(nil), "caos.zitadel.management.api.v1.UserMembershipView") + proto.RegisterType((*IdpID)(nil), "caos.zitadel.management.api.v1.IdpID") + proto.RegisterType((*Idp)(nil), "caos.zitadel.management.api.v1.Idp") + proto.RegisterType((*IdpUpdate)(nil), "caos.zitadel.management.api.v1.IdpUpdate") + proto.RegisterType((*OidcIdpConfig)(nil), "caos.zitadel.management.api.v1.OidcIdpConfig") + proto.RegisterType((*OidcIdpConfigCreate)(nil), "caos.zitadel.management.api.v1.OidcIdpConfigCreate") + proto.RegisterType((*OidcIdpConfigUpdate)(nil), "caos.zitadel.management.api.v1.OidcIdpConfigUpdate") + proto.RegisterType((*IdpSearchResponse)(nil), "caos.zitadel.management.api.v1.IdpSearchResponse") + proto.RegisterType((*IdpView)(nil), "caos.zitadel.management.api.v1.IdpView") + proto.RegisterType((*OidcIdpConfigView)(nil), "caos.zitadel.management.api.v1.OidcIdpConfigView") + proto.RegisterType((*IdpSearchRequest)(nil), "caos.zitadel.management.api.v1.IdpSearchRequest") + proto.RegisterType((*IdpSearchQuery)(nil), "caos.zitadel.management.api.v1.IdpSearchQuery") + proto.RegisterType((*LoginPolicy)(nil), "caos.zitadel.management.api.v1.LoginPolicy") + proto.RegisterType((*LoginPolicyAdd)(nil), "caos.zitadel.management.api.v1.LoginPolicyAdd") + proto.RegisterType((*IdpProviderID)(nil), "caos.zitadel.management.api.v1.IdpProviderID") + proto.RegisterType((*IdpProviderAdd)(nil), "caos.zitadel.management.api.v1.IdpProviderAdd") + proto.RegisterType((*IdpProvider)(nil), "caos.zitadel.management.api.v1.IdpProvider") + proto.RegisterType((*LoginPolicyView)(nil), "caos.zitadel.management.api.v1.LoginPolicyView") + proto.RegisterType((*IdpProviderView)(nil), "caos.zitadel.management.api.v1.IdpProviderView") + proto.RegisterType((*IdpProviderSearchResponse)(nil), "caos.zitadel.management.api.v1.IdpProviderSearchResponse") + proto.RegisterType((*IdpProviderSearchRequest)(nil), "caos.zitadel.management.api.v1.IdpProviderSearchRequest") } -var ( - file_management_proto_rawDescOnce sync.Once - file_management_proto_rawDescData = file_management_proto_rawDesc -) +func init() { proto.RegisterFile("management.proto", fileDescriptor_edc174f991dc0a25) } -func file_management_proto_rawDescGZIP() []byte { - file_management_proto_rawDescOnce.Do(func() { - file_management_proto_rawDescData = protoimpl.X.CompressGZIP(file_management_proto_rawDescData) - }) - return file_management_proto_rawDescData -} - -var file_management_proto_enumTypes = make([]protoimpl.EnumInfo, 35) -var file_management_proto_msgTypes = make([]protoimpl.MessageInfo, 167) -var file_management_proto_goTypes = []interface{}{ - (UserState)(0), // 0: caos.zitadel.management.api.v1.UserState - (Gender)(0), // 1: caos.zitadel.management.api.v1.Gender - (UserSearchKey)(0), // 2: caos.zitadel.management.api.v1.UserSearchKey - (SearchMethod)(0), // 3: caos.zitadel.management.api.v1.SearchMethod - (MfaType)(0), // 4: caos.zitadel.management.api.v1.MfaType - (MFAState)(0), // 5: caos.zitadel.management.api.v1.MFAState - (NotificationType)(0), // 6: caos.zitadel.management.api.v1.NotificationType - (PolicyState)(0), // 7: caos.zitadel.management.api.v1.PolicyState - (OrgState)(0), // 8: caos.zitadel.management.api.v1.OrgState - (OrgDomainValidationType)(0), // 9: caos.zitadel.management.api.v1.OrgDomainValidationType - (OrgDomainSearchKey)(0), // 10: caos.zitadel.management.api.v1.OrgDomainSearchKey - (OrgMemberSearchKey)(0), // 11: caos.zitadel.management.api.v1.OrgMemberSearchKey - (ProjectSearchKey)(0), // 12: caos.zitadel.management.api.v1.ProjectSearchKey - (ProjectState)(0), // 13: caos.zitadel.management.api.v1.ProjectState - (ProjectType)(0), // 14: caos.zitadel.management.api.v1.ProjectType - (ProjectRoleSearchKey)(0), // 15: caos.zitadel.management.api.v1.ProjectRoleSearchKey - (ProjectMemberSearchKey)(0), // 16: caos.zitadel.management.api.v1.ProjectMemberSearchKey - (AppState)(0), // 17: caos.zitadel.management.api.v1.AppState - (OIDCVersion)(0), // 18: caos.zitadel.management.api.v1.OIDCVersion - (OIDCResponseType)(0), // 19: caos.zitadel.management.api.v1.OIDCResponseType - (OIDCGrantType)(0), // 20: caos.zitadel.management.api.v1.OIDCGrantType - (OIDCApplicationType)(0), // 21: caos.zitadel.management.api.v1.OIDCApplicationType - (OIDCAuthMethodType)(0), // 22: caos.zitadel.management.api.v1.OIDCAuthMethodType - (ApplicationSearchKey)(0), // 23: caos.zitadel.management.api.v1.ApplicationSearchKey - (ProjectGrantState)(0), // 24: caos.zitadel.management.api.v1.ProjectGrantState - (ProjectGrantSearchKey)(0), // 25: caos.zitadel.management.api.v1.ProjectGrantSearchKey - (ProjectGrantMemberSearchKey)(0), // 26: caos.zitadel.management.api.v1.ProjectGrantMemberSearchKey - (UserGrantState)(0), // 27: caos.zitadel.management.api.v1.UserGrantState - (UserGrantSearchKey)(0), // 28: caos.zitadel.management.api.v1.UserGrantSearchKey - (UserMembershipSearchKey)(0), // 29: caos.zitadel.management.api.v1.UserMembershipSearchKey - (MemberType)(0), // 30: caos.zitadel.management.api.v1.MemberType - (IdpState)(0), // 31: caos.zitadel.management.api.v1.IdpState - (IdpSearchKey)(0), // 32: caos.zitadel.management.api.v1.IdpSearchKey - (IdpType)(0), // 33: caos.zitadel.management.api.v1.IdpType - (IdpProviderType)(0), // 34: caos.zitadel.management.api.v1.IdpProviderType - (*ZitadelDocs)(nil), // 35: caos.zitadel.management.api.v1.ZitadelDocs - (*Iam)(nil), // 36: caos.zitadel.management.api.v1.Iam - (*ChangeRequest)(nil), // 37: caos.zitadel.management.api.v1.ChangeRequest - (*Changes)(nil), // 38: caos.zitadel.management.api.v1.Changes - (*Change)(nil), // 39: caos.zitadel.management.api.v1.Change - (*ApplicationID)(nil), // 40: caos.zitadel.management.api.v1.ApplicationID - (*ProjectID)(nil), // 41: caos.zitadel.management.api.v1.ProjectID - (*UserID)(nil), // 42: caos.zitadel.management.api.v1.UserID - (*LoginName)(nil), // 43: caos.zitadel.management.api.v1.LoginName - (*UniqueUserRequest)(nil), // 44: caos.zitadel.management.api.v1.UniqueUserRequest - (*UniqueUserResponse)(nil), // 45: caos.zitadel.management.api.v1.UniqueUserResponse - (*CreateUserRequest)(nil), // 46: caos.zitadel.management.api.v1.CreateUserRequest - (*User)(nil), // 47: caos.zitadel.management.api.v1.User - (*UserView)(nil), // 48: caos.zitadel.management.api.v1.UserView - (*UserSearchRequest)(nil), // 49: caos.zitadel.management.api.v1.UserSearchRequest - (*UserSearchQuery)(nil), // 50: caos.zitadel.management.api.v1.UserSearchQuery - (*UserSearchResponse)(nil), // 51: caos.zitadel.management.api.v1.UserSearchResponse - (*UserProfile)(nil), // 52: caos.zitadel.management.api.v1.UserProfile - (*UserProfileView)(nil), // 53: caos.zitadel.management.api.v1.UserProfileView - (*UpdateUserProfileRequest)(nil), // 54: caos.zitadel.management.api.v1.UpdateUserProfileRequest - (*UpdateUserUserNameRequest)(nil), // 55: caos.zitadel.management.api.v1.UpdateUserUserNameRequest - (*UserEmail)(nil), // 56: caos.zitadel.management.api.v1.UserEmail - (*UserEmailView)(nil), // 57: caos.zitadel.management.api.v1.UserEmailView - (*UpdateUserEmailRequest)(nil), // 58: caos.zitadel.management.api.v1.UpdateUserEmailRequest - (*UserPhone)(nil), // 59: caos.zitadel.management.api.v1.UserPhone - (*UserPhoneView)(nil), // 60: caos.zitadel.management.api.v1.UserPhoneView - (*UpdateUserPhoneRequest)(nil), // 61: caos.zitadel.management.api.v1.UpdateUserPhoneRequest - (*UserAddress)(nil), // 62: caos.zitadel.management.api.v1.UserAddress - (*UserAddressView)(nil), // 63: caos.zitadel.management.api.v1.UserAddressView - (*UpdateUserAddressRequest)(nil), // 64: caos.zitadel.management.api.v1.UpdateUserAddressRequest - (*MultiFactors)(nil), // 65: caos.zitadel.management.api.v1.MultiFactors - (*MultiFactor)(nil), // 66: caos.zitadel.management.api.v1.MultiFactor - (*PasswordID)(nil), // 67: caos.zitadel.management.api.v1.PasswordID - (*PasswordRequest)(nil), // 68: caos.zitadel.management.api.v1.PasswordRequest - (*ResetPasswordRequest)(nil), // 69: caos.zitadel.management.api.v1.ResetPasswordRequest - (*SetPasswordNotificationRequest)(nil), // 70: caos.zitadel.management.api.v1.SetPasswordNotificationRequest - (*PasswordComplexityPolicyID)(nil), // 71: caos.zitadel.management.api.v1.PasswordComplexityPolicyID - (*PasswordComplexityPolicy)(nil), // 72: caos.zitadel.management.api.v1.PasswordComplexityPolicy - (*PasswordComplexityPolicyCreate)(nil), // 73: caos.zitadel.management.api.v1.PasswordComplexityPolicyCreate - (*PasswordComplexityPolicyUpdate)(nil), // 74: caos.zitadel.management.api.v1.PasswordComplexityPolicyUpdate - (*PasswordAgePolicyID)(nil), // 75: caos.zitadel.management.api.v1.PasswordAgePolicyID - (*PasswordAgePolicy)(nil), // 76: caos.zitadel.management.api.v1.PasswordAgePolicy - (*PasswordAgePolicyCreate)(nil), // 77: caos.zitadel.management.api.v1.PasswordAgePolicyCreate - (*PasswordAgePolicyUpdate)(nil), // 78: caos.zitadel.management.api.v1.PasswordAgePolicyUpdate - (*PasswordLockoutPolicyID)(nil), // 79: caos.zitadel.management.api.v1.PasswordLockoutPolicyID - (*PasswordLockoutPolicy)(nil), // 80: caos.zitadel.management.api.v1.PasswordLockoutPolicy - (*PasswordLockoutPolicyCreate)(nil), // 81: caos.zitadel.management.api.v1.PasswordLockoutPolicyCreate - (*PasswordLockoutPolicyUpdate)(nil), // 82: caos.zitadel.management.api.v1.PasswordLockoutPolicyUpdate - (*OrgIamPolicy)(nil), // 83: caos.zitadel.management.api.v1.OrgIamPolicy - (*OrgID)(nil), // 84: caos.zitadel.management.api.v1.OrgID - (*OrgCreateRequest)(nil), // 85: caos.zitadel.management.api.v1.OrgCreateRequest - (*Org)(nil), // 86: caos.zitadel.management.api.v1.Org - (*OrgView)(nil), // 87: caos.zitadel.management.api.v1.OrgView - (*Domain)(nil), // 88: caos.zitadel.management.api.v1.Domain - (*OrgDomains)(nil), // 89: caos.zitadel.management.api.v1.OrgDomains - (*OrgDomain)(nil), // 90: caos.zitadel.management.api.v1.OrgDomain - (*OrgDomainView)(nil), // 91: caos.zitadel.management.api.v1.OrgDomainView - (*AddOrgDomainRequest)(nil), // 92: caos.zitadel.management.api.v1.AddOrgDomainRequest - (*OrgDomainValidationRequest)(nil), // 93: caos.zitadel.management.api.v1.OrgDomainValidationRequest - (*OrgDomainValidationResponse)(nil), // 94: caos.zitadel.management.api.v1.OrgDomainValidationResponse - (*ValidateOrgDomainRequest)(nil), // 95: caos.zitadel.management.api.v1.ValidateOrgDomainRequest - (*PrimaryOrgDomainRequest)(nil), // 96: caos.zitadel.management.api.v1.PrimaryOrgDomainRequest - (*RemoveOrgDomainRequest)(nil), // 97: caos.zitadel.management.api.v1.RemoveOrgDomainRequest - (*OrgDomainSearchResponse)(nil), // 98: caos.zitadel.management.api.v1.OrgDomainSearchResponse - (*OrgDomainSearchRequest)(nil), // 99: caos.zitadel.management.api.v1.OrgDomainSearchRequest - (*OrgDomainSearchQuery)(nil), // 100: caos.zitadel.management.api.v1.OrgDomainSearchQuery - (*OrgMemberRoles)(nil), // 101: caos.zitadel.management.api.v1.OrgMemberRoles - (*OrgMember)(nil), // 102: caos.zitadel.management.api.v1.OrgMember - (*AddOrgMemberRequest)(nil), // 103: caos.zitadel.management.api.v1.AddOrgMemberRequest - (*ChangeOrgMemberRequest)(nil), // 104: caos.zitadel.management.api.v1.ChangeOrgMemberRequest - (*RemoveOrgMemberRequest)(nil), // 105: caos.zitadel.management.api.v1.RemoveOrgMemberRequest - (*OrgMemberSearchResponse)(nil), // 106: caos.zitadel.management.api.v1.OrgMemberSearchResponse - (*OrgMemberView)(nil), // 107: caos.zitadel.management.api.v1.OrgMemberView - (*OrgMemberSearchRequest)(nil), // 108: caos.zitadel.management.api.v1.OrgMemberSearchRequest - (*OrgMemberSearchQuery)(nil), // 109: caos.zitadel.management.api.v1.OrgMemberSearchQuery - (*ProjectCreateRequest)(nil), // 110: caos.zitadel.management.api.v1.ProjectCreateRequest - (*ProjectUpdateRequest)(nil), // 111: caos.zitadel.management.api.v1.ProjectUpdateRequest - (*ProjectSearchResponse)(nil), // 112: caos.zitadel.management.api.v1.ProjectSearchResponse - (*ProjectView)(nil), // 113: caos.zitadel.management.api.v1.ProjectView - (*ProjectSearchRequest)(nil), // 114: caos.zitadel.management.api.v1.ProjectSearchRequest - (*ProjectSearchQuery)(nil), // 115: caos.zitadel.management.api.v1.ProjectSearchQuery - (*Projects)(nil), // 116: caos.zitadel.management.api.v1.Projects - (*Project)(nil), // 117: caos.zitadel.management.api.v1.Project - (*ProjectMemberRoles)(nil), // 118: caos.zitadel.management.api.v1.ProjectMemberRoles - (*ProjectMember)(nil), // 119: caos.zitadel.management.api.v1.ProjectMember - (*ProjectMemberAdd)(nil), // 120: caos.zitadel.management.api.v1.ProjectMemberAdd - (*ProjectMemberChange)(nil), // 121: caos.zitadel.management.api.v1.ProjectMemberChange - (*ProjectMemberRemove)(nil), // 122: caos.zitadel.management.api.v1.ProjectMemberRemove - (*ProjectRoleAdd)(nil), // 123: caos.zitadel.management.api.v1.ProjectRoleAdd - (*ProjectRoleAddBulk)(nil), // 124: caos.zitadel.management.api.v1.ProjectRoleAddBulk - (*ProjectRoleChange)(nil), // 125: caos.zitadel.management.api.v1.ProjectRoleChange - (*ProjectRole)(nil), // 126: caos.zitadel.management.api.v1.ProjectRole - (*ProjectRoleView)(nil), // 127: caos.zitadel.management.api.v1.ProjectRoleView - (*ProjectRoleRemove)(nil), // 128: caos.zitadel.management.api.v1.ProjectRoleRemove - (*ProjectRoleSearchResponse)(nil), // 129: caos.zitadel.management.api.v1.ProjectRoleSearchResponse - (*ProjectRoleSearchRequest)(nil), // 130: caos.zitadel.management.api.v1.ProjectRoleSearchRequest - (*ProjectRoleSearchQuery)(nil), // 131: caos.zitadel.management.api.v1.ProjectRoleSearchQuery - (*ProjectMemberView)(nil), // 132: caos.zitadel.management.api.v1.ProjectMemberView - (*ProjectMemberSearchResponse)(nil), // 133: caos.zitadel.management.api.v1.ProjectMemberSearchResponse - (*ProjectMemberSearchRequest)(nil), // 134: caos.zitadel.management.api.v1.ProjectMemberSearchRequest - (*ProjectMemberSearchQuery)(nil), // 135: caos.zitadel.management.api.v1.ProjectMemberSearchQuery - (*Application)(nil), // 136: caos.zitadel.management.api.v1.Application - (*ApplicationUpdate)(nil), // 137: caos.zitadel.management.api.v1.ApplicationUpdate - (*OIDCConfig)(nil), // 138: caos.zitadel.management.api.v1.OIDCConfig - (*OIDCApplicationCreate)(nil), // 139: caos.zitadel.management.api.v1.OIDCApplicationCreate - (*OIDCConfigUpdate)(nil), // 140: caos.zitadel.management.api.v1.OIDCConfigUpdate - (*ClientSecret)(nil), // 141: caos.zitadel.management.api.v1.ClientSecret - (*ApplicationView)(nil), // 142: caos.zitadel.management.api.v1.ApplicationView - (*ApplicationSearchResponse)(nil), // 143: caos.zitadel.management.api.v1.ApplicationSearchResponse - (*ApplicationSearchRequest)(nil), // 144: caos.zitadel.management.api.v1.ApplicationSearchRequest - (*ApplicationSearchQuery)(nil), // 145: caos.zitadel.management.api.v1.ApplicationSearchQuery - (*ProjectGrant)(nil), // 146: caos.zitadel.management.api.v1.ProjectGrant - (*ProjectGrantCreate)(nil), // 147: caos.zitadel.management.api.v1.ProjectGrantCreate - (*ProjectGrantUpdate)(nil), // 148: caos.zitadel.management.api.v1.ProjectGrantUpdate - (*ProjectGrantID)(nil), // 149: caos.zitadel.management.api.v1.ProjectGrantID - (*ProjectGrantView)(nil), // 150: caos.zitadel.management.api.v1.ProjectGrantView - (*ProjectGrantSearchResponse)(nil), // 151: caos.zitadel.management.api.v1.ProjectGrantSearchResponse - (*GrantedProjectSearchRequest)(nil), // 152: caos.zitadel.management.api.v1.GrantedProjectSearchRequest - (*ProjectGrantSearchRequest)(nil), // 153: caos.zitadel.management.api.v1.ProjectGrantSearchRequest - (*ProjectGrantSearchQuery)(nil), // 154: caos.zitadel.management.api.v1.ProjectGrantSearchQuery - (*ProjectGrantMemberRoles)(nil), // 155: caos.zitadel.management.api.v1.ProjectGrantMemberRoles - (*ProjectGrantMember)(nil), // 156: caos.zitadel.management.api.v1.ProjectGrantMember - (*ProjectGrantMemberAdd)(nil), // 157: caos.zitadel.management.api.v1.ProjectGrantMemberAdd - (*ProjectGrantMemberChange)(nil), // 158: caos.zitadel.management.api.v1.ProjectGrantMemberChange - (*ProjectGrantMemberRemove)(nil), // 159: caos.zitadel.management.api.v1.ProjectGrantMemberRemove - (*ProjectGrantMemberView)(nil), // 160: caos.zitadel.management.api.v1.ProjectGrantMemberView - (*ProjectGrantMemberSearchResponse)(nil), // 161: caos.zitadel.management.api.v1.ProjectGrantMemberSearchResponse - (*ProjectGrantMemberSearchRequest)(nil), // 162: caos.zitadel.management.api.v1.ProjectGrantMemberSearchRequest - (*ProjectGrantMemberSearchQuery)(nil), // 163: caos.zitadel.management.api.v1.ProjectGrantMemberSearchQuery - (*UserGrant)(nil), // 164: caos.zitadel.management.api.v1.UserGrant - (*UserGrantCreateBulk)(nil), // 165: caos.zitadel.management.api.v1.UserGrantCreateBulk - (*UserGrantCreate)(nil), // 166: caos.zitadel.management.api.v1.UserGrantCreate - (*UserGrantUpdateBulk)(nil), // 167: caos.zitadel.management.api.v1.UserGrantUpdateBulk - (*UserGrantUpdate)(nil), // 168: caos.zitadel.management.api.v1.UserGrantUpdate - (*UserGrantRemoveBulk)(nil), // 169: caos.zitadel.management.api.v1.UserGrantRemoveBulk - (*UserGrantID)(nil), // 170: caos.zitadel.management.api.v1.UserGrantID - (*UserGrantView)(nil), // 171: caos.zitadel.management.api.v1.UserGrantView - (*UserGrantSearchResponse)(nil), // 172: caos.zitadel.management.api.v1.UserGrantSearchResponse - (*UserGrantSearchRequest)(nil), // 173: caos.zitadel.management.api.v1.UserGrantSearchRequest - (*UserGrantSearchQuery)(nil), // 174: caos.zitadel.management.api.v1.UserGrantSearchQuery - (*ProjectUserGrantSearchRequest)(nil), // 175: caos.zitadel.management.api.v1.ProjectUserGrantSearchRequest - (*ProjectGrantUserGrantSearchRequest)(nil), // 176: caos.zitadel.management.api.v1.ProjectGrantUserGrantSearchRequest - (*UserMembershipSearchResponse)(nil), // 177: caos.zitadel.management.api.v1.UserMembershipSearchResponse - (*UserMembershipSearchRequest)(nil), // 178: caos.zitadel.management.api.v1.UserMembershipSearchRequest - (*UserMembershipSearchQuery)(nil), // 179: caos.zitadel.management.api.v1.UserMembershipSearchQuery - (*UserMembershipView)(nil), // 180: caos.zitadel.management.api.v1.UserMembershipView - (*IdpID)(nil), // 181: caos.zitadel.management.api.v1.IdpID - (*Idp)(nil), // 182: caos.zitadel.management.api.v1.Idp - (*IdpUpdate)(nil), // 183: caos.zitadel.management.api.v1.IdpUpdate - (*OidcIdpConfig)(nil), // 184: caos.zitadel.management.api.v1.OidcIdpConfig - (*OidcIdpConfigCreate)(nil), // 185: caos.zitadel.management.api.v1.OidcIdpConfigCreate - (*OidcIdpConfigUpdate)(nil), // 186: caos.zitadel.management.api.v1.OidcIdpConfigUpdate - (*IdpSearchResponse)(nil), // 187: caos.zitadel.management.api.v1.IdpSearchResponse - (*IdpView)(nil), // 188: caos.zitadel.management.api.v1.IdpView - (*OidcIdpConfigView)(nil), // 189: caos.zitadel.management.api.v1.OidcIdpConfigView - (*IdpSearchRequest)(nil), // 190: caos.zitadel.management.api.v1.IdpSearchRequest - (*IdpSearchQuery)(nil), // 191: caos.zitadel.management.api.v1.IdpSearchQuery - (*LoginPolicy)(nil), // 192: caos.zitadel.management.api.v1.LoginPolicy - (*LoginPolicyAdd)(nil), // 193: caos.zitadel.management.api.v1.LoginPolicyAdd - (*IdpProviderID)(nil), // 194: caos.zitadel.management.api.v1.IdpProviderID - (*IdpProviderAdd)(nil), // 195: caos.zitadel.management.api.v1.IdpProviderAdd - (*IdpProvider)(nil), // 196: caos.zitadel.management.api.v1.IdpProvider - (*LoginPolicyView)(nil), // 197: caos.zitadel.management.api.v1.LoginPolicyView - (*IdpProviderViews)(nil), // 198: caos.zitadel.management.api.v1.IdpProviderViews - (*IdpProviderView)(nil), // 199: caos.zitadel.management.api.v1.IdpProviderView - (*IdpProviderSearchResponse)(nil), // 200: caos.zitadel.management.api.v1.IdpProviderSearchResponse - (*IdpProviderSearchRequest)(nil), // 201: caos.zitadel.management.api.v1.IdpProviderSearchRequest - (*timestamp.Timestamp)(nil), // 202: google.protobuf.Timestamp - (*message.LocalizedMessage)(nil), // 203: caos.zitadel.api.v1.LocalizedMessage - (*_struct.Struct)(nil), // 204: google.protobuf.Struct - (*empty.Empty)(nil), // 205: google.protobuf.Empty -} -var file_management_proto_depIdxs = []int32{ - 39, // 0: caos.zitadel.management.api.v1.Changes.changes:type_name -> caos.zitadel.management.api.v1.Change - 202, // 1: caos.zitadel.management.api.v1.Change.change_date:type_name -> google.protobuf.Timestamp - 203, // 2: caos.zitadel.management.api.v1.Change.event_type:type_name -> caos.zitadel.api.v1.LocalizedMessage - 204, // 3: caos.zitadel.management.api.v1.Change.data:type_name -> google.protobuf.Struct - 1, // 4: caos.zitadel.management.api.v1.CreateUserRequest.gender:type_name -> caos.zitadel.management.api.v1.Gender - 0, // 5: caos.zitadel.management.api.v1.User.state:type_name -> caos.zitadel.management.api.v1.UserState - 202, // 6: caos.zitadel.management.api.v1.User.creation_date:type_name -> google.protobuf.Timestamp - 202, // 7: caos.zitadel.management.api.v1.User.change_date:type_name -> google.protobuf.Timestamp - 1, // 8: caos.zitadel.management.api.v1.User.gender:type_name -> caos.zitadel.management.api.v1.Gender - 0, // 9: caos.zitadel.management.api.v1.UserView.state:type_name -> caos.zitadel.management.api.v1.UserState - 202, // 10: caos.zitadel.management.api.v1.UserView.creation_date:type_name -> google.protobuf.Timestamp - 202, // 11: caos.zitadel.management.api.v1.UserView.change_date:type_name -> google.protobuf.Timestamp - 202, // 12: caos.zitadel.management.api.v1.UserView.last_login:type_name -> google.protobuf.Timestamp - 202, // 13: caos.zitadel.management.api.v1.UserView.password_changed:type_name -> google.protobuf.Timestamp - 1, // 14: caos.zitadel.management.api.v1.UserView.gender:type_name -> caos.zitadel.management.api.v1.Gender - 2, // 15: caos.zitadel.management.api.v1.UserSearchRequest.sorting_column:type_name -> caos.zitadel.management.api.v1.UserSearchKey - 50, // 16: caos.zitadel.management.api.v1.UserSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.UserSearchQuery - 2, // 17: caos.zitadel.management.api.v1.UserSearchQuery.key:type_name -> caos.zitadel.management.api.v1.UserSearchKey - 3, // 18: caos.zitadel.management.api.v1.UserSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod - 48, // 19: caos.zitadel.management.api.v1.UserSearchResponse.result:type_name -> caos.zitadel.management.api.v1.UserView - 202, // 20: caos.zitadel.management.api.v1.UserSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp - 1, // 21: caos.zitadel.management.api.v1.UserProfile.gender:type_name -> caos.zitadel.management.api.v1.Gender - 202, // 22: caos.zitadel.management.api.v1.UserProfile.creation_date:type_name -> google.protobuf.Timestamp - 202, // 23: caos.zitadel.management.api.v1.UserProfile.change_date:type_name -> google.protobuf.Timestamp - 1, // 24: caos.zitadel.management.api.v1.UserProfileView.gender:type_name -> caos.zitadel.management.api.v1.Gender - 202, // 25: caos.zitadel.management.api.v1.UserProfileView.creation_date:type_name -> google.protobuf.Timestamp - 202, // 26: caos.zitadel.management.api.v1.UserProfileView.change_date:type_name -> google.protobuf.Timestamp - 1, // 27: caos.zitadel.management.api.v1.UpdateUserProfileRequest.gender:type_name -> caos.zitadel.management.api.v1.Gender - 202, // 28: caos.zitadel.management.api.v1.UserEmail.creation_date:type_name -> google.protobuf.Timestamp - 202, // 29: caos.zitadel.management.api.v1.UserEmail.change_date:type_name -> google.protobuf.Timestamp - 202, // 30: caos.zitadel.management.api.v1.UserEmailView.creation_date:type_name -> google.protobuf.Timestamp - 202, // 31: caos.zitadel.management.api.v1.UserEmailView.change_date:type_name -> google.protobuf.Timestamp - 202, // 32: caos.zitadel.management.api.v1.UserPhone.creation_date:type_name -> google.protobuf.Timestamp - 202, // 33: caos.zitadel.management.api.v1.UserPhone.change_date:type_name -> google.protobuf.Timestamp - 202, // 34: caos.zitadel.management.api.v1.UserPhoneView.creation_date:type_name -> google.protobuf.Timestamp - 202, // 35: caos.zitadel.management.api.v1.UserPhoneView.change_date:type_name -> google.protobuf.Timestamp - 202, // 36: caos.zitadel.management.api.v1.UserAddress.creation_date:type_name -> google.protobuf.Timestamp - 202, // 37: caos.zitadel.management.api.v1.UserAddress.change_date:type_name -> google.protobuf.Timestamp - 202, // 38: caos.zitadel.management.api.v1.UserAddressView.creation_date:type_name -> google.protobuf.Timestamp - 202, // 39: caos.zitadel.management.api.v1.UserAddressView.change_date:type_name -> google.protobuf.Timestamp - 66, // 40: caos.zitadel.management.api.v1.MultiFactors.mfas:type_name -> caos.zitadel.management.api.v1.MultiFactor - 4, // 41: caos.zitadel.management.api.v1.MultiFactor.type:type_name -> caos.zitadel.management.api.v1.MfaType - 5, // 42: caos.zitadel.management.api.v1.MultiFactor.state:type_name -> caos.zitadel.management.api.v1.MFAState - 6, // 43: caos.zitadel.management.api.v1.SetPasswordNotificationRequest.type:type_name -> caos.zitadel.management.api.v1.NotificationType - 7, // 44: caos.zitadel.management.api.v1.PasswordComplexityPolicy.state:type_name -> caos.zitadel.management.api.v1.PolicyState - 202, // 45: caos.zitadel.management.api.v1.PasswordComplexityPolicy.creation_date:type_name -> google.protobuf.Timestamp - 202, // 46: caos.zitadel.management.api.v1.PasswordComplexityPolicy.change_date:type_name -> google.protobuf.Timestamp - 7, // 47: caos.zitadel.management.api.v1.PasswordAgePolicy.state:type_name -> caos.zitadel.management.api.v1.PolicyState - 202, // 48: caos.zitadel.management.api.v1.PasswordAgePolicy.creation_date:type_name -> google.protobuf.Timestamp - 202, // 49: caos.zitadel.management.api.v1.PasswordAgePolicy.change_date:type_name -> google.protobuf.Timestamp - 7, // 50: caos.zitadel.management.api.v1.PasswordLockoutPolicy.state:type_name -> caos.zitadel.management.api.v1.PolicyState - 202, // 51: caos.zitadel.management.api.v1.PasswordLockoutPolicy.creation_date:type_name -> google.protobuf.Timestamp - 202, // 52: caos.zitadel.management.api.v1.PasswordLockoutPolicy.change_date:type_name -> google.protobuf.Timestamp - 8, // 53: caos.zitadel.management.api.v1.Org.state:type_name -> caos.zitadel.management.api.v1.OrgState - 202, // 54: caos.zitadel.management.api.v1.Org.creation_date:type_name -> google.protobuf.Timestamp - 202, // 55: caos.zitadel.management.api.v1.Org.change_date:type_name -> google.protobuf.Timestamp - 8, // 56: caos.zitadel.management.api.v1.OrgView.state:type_name -> caos.zitadel.management.api.v1.OrgState - 202, // 57: caos.zitadel.management.api.v1.OrgView.creation_date:type_name -> google.protobuf.Timestamp - 202, // 58: caos.zitadel.management.api.v1.OrgView.change_date:type_name -> google.protobuf.Timestamp - 90, // 59: caos.zitadel.management.api.v1.OrgDomains.domains:type_name -> caos.zitadel.management.api.v1.OrgDomain - 202, // 60: caos.zitadel.management.api.v1.OrgDomain.creation_date:type_name -> google.protobuf.Timestamp - 202, // 61: caos.zitadel.management.api.v1.OrgDomain.change_date:type_name -> google.protobuf.Timestamp - 202, // 62: caos.zitadel.management.api.v1.OrgDomainView.creation_date:type_name -> google.protobuf.Timestamp - 202, // 63: caos.zitadel.management.api.v1.OrgDomainView.change_date:type_name -> google.protobuf.Timestamp - 9, // 64: caos.zitadel.management.api.v1.OrgDomainView.validation_type:type_name -> caos.zitadel.management.api.v1.OrgDomainValidationType - 9, // 65: caos.zitadel.management.api.v1.OrgDomainValidationRequest.type:type_name -> caos.zitadel.management.api.v1.OrgDomainValidationType - 91, // 66: caos.zitadel.management.api.v1.OrgDomainSearchResponse.result:type_name -> caos.zitadel.management.api.v1.OrgDomainView - 202, // 67: caos.zitadel.management.api.v1.OrgDomainSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp - 100, // 68: caos.zitadel.management.api.v1.OrgDomainSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.OrgDomainSearchQuery - 10, // 69: caos.zitadel.management.api.v1.OrgDomainSearchQuery.key:type_name -> caos.zitadel.management.api.v1.OrgDomainSearchKey - 3, // 70: caos.zitadel.management.api.v1.OrgDomainSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod - 202, // 71: caos.zitadel.management.api.v1.OrgMember.change_date:type_name -> google.protobuf.Timestamp - 202, // 72: caos.zitadel.management.api.v1.OrgMember.creation_date:type_name -> google.protobuf.Timestamp - 107, // 73: caos.zitadel.management.api.v1.OrgMemberSearchResponse.result:type_name -> caos.zitadel.management.api.v1.OrgMemberView - 202, // 74: caos.zitadel.management.api.v1.OrgMemberSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp - 202, // 75: caos.zitadel.management.api.v1.OrgMemberView.change_date:type_name -> google.protobuf.Timestamp - 202, // 76: caos.zitadel.management.api.v1.OrgMemberView.creation_date:type_name -> google.protobuf.Timestamp - 109, // 77: caos.zitadel.management.api.v1.OrgMemberSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.OrgMemberSearchQuery - 11, // 78: caos.zitadel.management.api.v1.OrgMemberSearchQuery.key:type_name -> caos.zitadel.management.api.v1.OrgMemberSearchKey - 3, // 79: caos.zitadel.management.api.v1.OrgMemberSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod - 113, // 80: caos.zitadel.management.api.v1.ProjectSearchResponse.result:type_name -> caos.zitadel.management.api.v1.ProjectView - 202, // 81: caos.zitadel.management.api.v1.ProjectSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp - 13, // 82: caos.zitadel.management.api.v1.ProjectView.state:type_name -> caos.zitadel.management.api.v1.ProjectState - 202, // 83: caos.zitadel.management.api.v1.ProjectView.change_date:type_name -> google.protobuf.Timestamp - 202, // 84: caos.zitadel.management.api.v1.ProjectView.creation_date:type_name -> google.protobuf.Timestamp - 115, // 85: caos.zitadel.management.api.v1.ProjectSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.ProjectSearchQuery - 12, // 86: caos.zitadel.management.api.v1.ProjectSearchQuery.key:type_name -> caos.zitadel.management.api.v1.ProjectSearchKey - 3, // 87: caos.zitadel.management.api.v1.ProjectSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod - 117, // 88: caos.zitadel.management.api.v1.Projects.projects:type_name -> caos.zitadel.management.api.v1.Project - 13, // 89: caos.zitadel.management.api.v1.Project.state:type_name -> caos.zitadel.management.api.v1.ProjectState - 202, // 90: caos.zitadel.management.api.v1.Project.change_date:type_name -> google.protobuf.Timestamp - 202, // 91: caos.zitadel.management.api.v1.Project.creation_date:type_name -> google.protobuf.Timestamp - 202, // 92: caos.zitadel.management.api.v1.ProjectMember.change_date:type_name -> google.protobuf.Timestamp - 202, // 93: caos.zitadel.management.api.v1.ProjectMember.creation_date:type_name -> google.protobuf.Timestamp - 123, // 94: caos.zitadel.management.api.v1.ProjectRoleAddBulk.project_roles:type_name -> caos.zitadel.management.api.v1.ProjectRoleAdd - 202, // 95: caos.zitadel.management.api.v1.ProjectRole.creation_date:type_name -> google.protobuf.Timestamp - 202, // 96: caos.zitadel.management.api.v1.ProjectRole.change_date:type_name -> google.protobuf.Timestamp - 202, // 97: caos.zitadel.management.api.v1.ProjectRoleView.creation_date:type_name -> google.protobuf.Timestamp - 127, // 98: caos.zitadel.management.api.v1.ProjectRoleSearchResponse.result:type_name -> caos.zitadel.management.api.v1.ProjectRoleView - 202, // 99: caos.zitadel.management.api.v1.ProjectRoleSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp - 131, // 100: caos.zitadel.management.api.v1.ProjectRoleSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.ProjectRoleSearchQuery - 15, // 101: caos.zitadel.management.api.v1.ProjectRoleSearchQuery.key:type_name -> caos.zitadel.management.api.v1.ProjectRoleSearchKey - 3, // 102: caos.zitadel.management.api.v1.ProjectRoleSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod - 202, // 103: caos.zitadel.management.api.v1.ProjectMemberView.change_date:type_name -> google.protobuf.Timestamp - 202, // 104: caos.zitadel.management.api.v1.ProjectMemberView.creation_date:type_name -> google.protobuf.Timestamp - 132, // 105: caos.zitadel.management.api.v1.ProjectMemberSearchResponse.result:type_name -> caos.zitadel.management.api.v1.ProjectMemberView - 202, // 106: caos.zitadel.management.api.v1.ProjectMemberSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp - 135, // 107: caos.zitadel.management.api.v1.ProjectMemberSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.ProjectMemberSearchQuery - 16, // 108: caos.zitadel.management.api.v1.ProjectMemberSearchQuery.key:type_name -> caos.zitadel.management.api.v1.ProjectMemberSearchKey - 3, // 109: caos.zitadel.management.api.v1.ProjectMemberSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod - 17, // 110: caos.zitadel.management.api.v1.Application.state:type_name -> caos.zitadel.management.api.v1.AppState - 202, // 111: caos.zitadel.management.api.v1.Application.creation_date:type_name -> google.protobuf.Timestamp - 202, // 112: caos.zitadel.management.api.v1.Application.change_date:type_name -> google.protobuf.Timestamp - 138, // 113: caos.zitadel.management.api.v1.Application.oidc_config:type_name -> caos.zitadel.management.api.v1.OIDCConfig - 19, // 114: caos.zitadel.management.api.v1.OIDCConfig.response_types:type_name -> caos.zitadel.management.api.v1.OIDCResponseType - 20, // 115: caos.zitadel.management.api.v1.OIDCConfig.grant_types:type_name -> caos.zitadel.management.api.v1.OIDCGrantType - 21, // 116: caos.zitadel.management.api.v1.OIDCConfig.application_type:type_name -> caos.zitadel.management.api.v1.OIDCApplicationType - 22, // 117: caos.zitadel.management.api.v1.OIDCConfig.auth_method_type:type_name -> caos.zitadel.management.api.v1.OIDCAuthMethodType - 18, // 118: caos.zitadel.management.api.v1.OIDCConfig.version:type_name -> caos.zitadel.management.api.v1.OIDCVersion - 203, // 119: caos.zitadel.management.api.v1.OIDCConfig.compliance_problems:type_name -> caos.zitadel.api.v1.LocalizedMessage - 19, // 120: caos.zitadel.management.api.v1.OIDCApplicationCreate.response_types:type_name -> caos.zitadel.management.api.v1.OIDCResponseType - 20, // 121: caos.zitadel.management.api.v1.OIDCApplicationCreate.grant_types:type_name -> caos.zitadel.management.api.v1.OIDCGrantType - 21, // 122: caos.zitadel.management.api.v1.OIDCApplicationCreate.application_type:type_name -> caos.zitadel.management.api.v1.OIDCApplicationType - 22, // 123: caos.zitadel.management.api.v1.OIDCApplicationCreate.auth_method_type:type_name -> caos.zitadel.management.api.v1.OIDCAuthMethodType - 18, // 124: caos.zitadel.management.api.v1.OIDCApplicationCreate.version:type_name -> caos.zitadel.management.api.v1.OIDCVersion - 19, // 125: caos.zitadel.management.api.v1.OIDCConfigUpdate.response_types:type_name -> caos.zitadel.management.api.v1.OIDCResponseType - 20, // 126: caos.zitadel.management.api.v1.OIDCConfigUpdate.grant_types:type_name -> caos.zitadel.management.api.v1.OIDCGrantType - 21, // 127: caos.zitadel.management.api.v1.OIDCConfigUpdate.application_type:type_name -> caos.zitadel.management.api.v1.OIDCApplicationType - 22, // 128: caos.zitadel.management.api.v1.OIDCConfigUpdate.auth_method_type:type_name -> caos.zitadel.management.api.v1.OIDCAuthMethodType - 17, // 129: caos.zitadel.management.api.v1.ApplicationView.state:type_name -> caos.zitadel.management.api.v1.AppState - 202, // 130: caos.zitadel.management.api.v1.ApplicationView.creation_date:type_name -> google.protobuf.Timestamp - 202, // 131: caos.zitadel.management.api.v1.ApplicationView.change_date:type_name -> google.protobuf.Timestamp - 138, // 132: caos.zitadel.management.api.v1.ApplicationView.oidc_config:type_name -> caos.zitadel.management.api.v1.OIDCConfig - 142, // 133: caos.zitadel.management.api.v1.ApplicationSearchResponse.result:type_name -> caos.zitadel.management.api.v1.ApplicationView - 202, // 134: caos.zitadel.management.api.v1.ApplicationSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp - 145, // 135: caos.zitadel.management.api.v1.ApplicationSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.ApplicationSearchQuery - 23, // 136: caos.zitadel.management.api.v1.ApplicationSearchQuery.key:type_name -> caos.zitadel.management.api.v1.ApplicationSearchKey - 3, // 137: caos.zitadel.management.api.v1.ApplicationSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod - 24, // 138: caos.zitadel.management.api.v1.ProjectGrant.state:type_name -> caos.zitadel.management.api.v1.ProjectGrantState - 202, // 139: caos.zitadel.management.api.v1.ProjectGrant.creation_date:type_name -> google.protobuf.Timestamp - 202, // 140: caos.zitadel.management.api.v1.ProjectGrant.change_date:type_name -> google.protobuf.Timestamp - 24, // 141: caos.zitadel.management.api.v1.ProjectGrantView.state:type_name -> caos.zitadel.management.api.v1.ProjectGrantState - 202, // 142: caos.zitadel.management.api.v1.ProjectGrantView.creation_date:type_name -> google.protobuf.Timestamp - 202, // 143: caos.zitadel.management.api.v1.ProjectGrantView.change_date:type_name -> google.protobuf.Timestamp - 150, // 144: caos.zitadel.management.api.v1.ProjectGrantSearchResponse.result:type_name -> caos.zitadel.management.api.v1.ProjectGrantView - 202, // 145: caos.zitadel.management.api.v1.ProjectGrantSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp - 115, // 146: caos.zitadel.management.api.v1.GrantedProjectSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.ProjectSearchQuery - 154, // 147: caos.zitadel.management.api.v1.ProjectGrantSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.ProjectGrantSearchQuery - 25, // 148: caos.zitadel.management.api.v1.ProjectGrantSearchQuery.key:type_name -> caos.zitadel.management.api.v1.ProjectGrantSearchKey - 3, // 149: caos.zitadel.management.api.v1.ProjectGrantSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod - 202, // 150: caos.zitadel.management.api.v1.ProjectGrantMember.change_date:type_name -> google.protobuf.Timestamp - 202, // 151: caos.zitadel.management.api.v1.ProjectGrantMember.creation_date:type_name -> google.protobuf.Timestamp - 202, // 152: caos.zitadel.management.api.v1.ProjectGrantMemberView.change_date:type_name -> google.protobuf.Timestamp - 202, // 153: caos.zitadel.management.api.v1.ProjectGrantMemberView.creation_date:type_name -> google.protobuf.Timestamp - 160, // 154: caos.zitadel.management.api.v1.ProjectGrantMemberSearchResponse.result:type_name -> caos.zitadel.management.api.v1.ProjectGrantMemberView - 202, // 155: caos.zitadel.management.api.v1.ProjectGrantMemberSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp - 163, // 156: caos.zitadel.management.api.v1.ProjectGrantMemberSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.ProjectGrantMemberSearchQuery - 26, // 157: caos.zitadel.management.api.v1.ProjectGrantMemberSearchQuery.key:type_name -> caos.zitadel.management.api.v1.ProjectGrantMemberSearchKey - 3, // 158: caos.zitadel.management.api.v1.ProjectGrantMemberSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod - 27, // 159: caos.zitadel.management.api.v1.UserGrant.state:type_name -> caos.zitadel.management.api.v1.UserGrantState - 202, // 160: caos.zitadel.management.api.v1.UserGrant.creation_date:type_name -> google.protobuf.Timestamp - 202, // 161: caos.zitadel.management.api.v1.UserGrant.change_date:type_name -> google.protobuf.Timestamp - 166, // 162: caos.zitadel.management.api.v1.UserGrantCreateBulk.user_grants:type_name -> caos.zitadel.management.api.v1.UserGrantCreate - 168, // 163: caos.zitadel.management.api.v1.UserGrantUpdateBulk.user_grants:type_name -> caos.zitadel.management.api.v1.UserGrantUpdate - 27, // 164: caos.zitadel.management.api.v1.UserGrantView.state:type_name -> caos.zitadel.management.api.v1.UserGrantState - 202, // 165: caos.zitadel.management.api.v1.UserGrantView.creation_date:type_name -> google.protobuf.Timestamp - 202, // 166: caos.zitadel.management.api.v1.UserGrantView.change_date:type_name -> google.protobuf.Timestamp - 171, // 167: caos.zitadel.management.api.v1.UserGrantSearchResponse.result:type_name -> caos.zitadel.management.api.v1.UserGrantView - 202, // 168: caos.zitadel.management.api.v1.UserGrantSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp - 174, // 169: caos.zitadel.management.api.v1.UserGrantSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.UserGrantSearchQuery - 28, // 170: caos.zitadel.management.api.v1.UserGrantSearchQuery.key:type_name -> caos.zitadel.management.api.v1.UserGrantSearchKey - 3, // 171: caos.zitadel.management.api.v1.UserGrantSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod - 174, // 172: caos.zitadel.management.api.v1.ProjectUserGrantSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.UserGrantSearchQuery - 174, // 173: caos.zitadel.management.api.v1.ProjectGrantUserGrantSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.UserGrantSearchQuery - 180, // 174: caos.zitadel.management.api.v1.UserMembershipSearchResponse.result:type_name -> caos.zitadel.management.api.v1.UserMembershipView - 202, // 175: caos.zitadel.management.api.v1.UserMembershipSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp - 179, // 176: caos.zitadel.management.api.v1.UserMembershipSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.UserMembershipSearchQuery - 29, // 177: caos.zitadel.management.api.v1.UserMembershipSearchQuery.key:type_name -> caos.zitadel.management.api.v1.UserMembershipSearchKey - 3, // 178: caos.zitadel.management.api.v1.UserMembershipSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod - 30, // 179: caos.zitadel.management.api.v1.UserMembershipView.member_type:type_name -> caos.zitadel.management.api.v1.MemberType - 202, // 180: caos.zitadel.management.api.v1.UserMembershipView.creation_date:type_name -> google.protobuf.Timestamp - 202, // 181: caos.zitadel.management.api.v1.UserMembershipView.change_date:type_name -> google.protobuf.Timestamp - 31, // 182: caos.zitadel.management.api.v1.Idp.state:type_name -> caos.zitadel.management.api.v1.IdpState - 202, // 183: caos.zitadel.management.api.v1.Idp.creation_date:type_name -> google.protobuf.Timestamp - 202, // 184: caos.zitadel.management.api.v1.Idp.change_date:type_name -> google.protobuf.Timestamp - 184, // 185: caos.zitadel.management.api.v1.Idp.oidc_config:type_name -> caos.zitadel.management.api.v1.OidcIdpConfig - 188, // 186: caos.zitadel.management.api.v1.IdpSearchResponse.result:type_name -> caos.zitadel.management.api.v1.IdpView - 202, // 187: caos.zitadel.management.api.v1.IdpSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp - 31, // 188: caos.zitadel.management.api.v1.IdpView.state:type_name -> caos.zitadel.management.api.v1.IdpState - 202, // 189: caos.zitadel.management.api.v1.IdpView.creation_date:type_name -> google.protobuf.Timestamp - 202, // 190: caos.zitadel.management.api.v1.IdpView.change_date:type_name -> google.protobuf.Timestamp - 34, // 191: caos.zitadel.management.api.v1.IdpView.provider_type:type_name -> caos.zitadel.management.api.v1.IdpProviderType - 189, // 192: caos.zitadel.management.api.v1.IdpView.oidc_config:type_name -> caos.zitadel.management.api.v1.OidcIdpConfigView - 191, // 193: caos.zitadel.management.api.v1.IdpSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.IdpSearchQuery - 32, // 194: caos.zitadel.management.api.v1.IdpSearchQuery.key:type_name -> caos.zitadel.management.api.v1.IdpSearchKey - 3, // 195: caos.zitadel.management.api.v1.IdpSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod - 34, // 196: caos.zitadel.management.api.v1.IdpProviderAdd.idp_provider_type:type_name -> caos.zitadel.management.api.v1.IdpProviderType - 34, // 197: caos.zitadel.management.api.v1.IdpProvider.idp_provider_Type:type_name -> caos.zitadel.management.api.v1.IdpProviderType - 199, // 198: caos.zitadel.management.api.v1.IdpProviderViews.providers:type_name -> caos.zitadel.management.api.v1.IdpProviderView - 33, // 199: caos.zitadel.management.api.v1.IdpProviderView.type:type_name -> caos.zitadel.management.api.v1.IdpType - 199, // 200: caos.zitadel.management.api.v1.IdpProviderSearchResponse.result:type_name -> caos.zitadel.management.api.v1.IdpProviderView - 202, // 201: caos.zitadel.management.api.v1.IdpProviderSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp - 205, // 202: caos.zitadel.management.api.v1.ManagementService.Healthz:input_type -> google.protobuf.Empty - 205, // 203: caos.zitadel.management.api.v1.ManagementService.Ready:input_type -> google.protobuf.Empty - 205, // 204: caos.zitadel.management.api.v1.ManagementService.Validate:input_type -> google.protobuf.Empty - 205, // 205: caos.zitadel.management.api.v1.ManagementService.GetZitadelDocs:input_type -> google.protobuf.Empty - 205, // 206: caos.zitadel.management.api.v1.ManagementService.GetIam:input_type -> google.protobuf.Empty - 42, // 207: caos.zitadel.management.api.v1.ManagementService.GetUserByID:input_type -> caos.zitadel.management.api.v1.UserID - 43, // 208: caos.zitadel.management.api.v1.ManagementService.GetUserByLoginNameGlobal:input_type -> caos.zitadel.management.api.v1.LoginName - 49, // 209: caos.zitadel.management.api.v1.ManagementService.SearchUsers:input_type -> caos.zitadel.management.api.v1.UserSearchRequest - 44, // 210: caos.zitadel.management.api.v1.ManagementService.IsUserUnique:input_type -> caos.zitadel.management.api.v1.UniqueUserRequest - 46, // 211: caos.zitadel.management.api.v1.ManagementService.CreateUser:input_type -> caos.zitadel.management.api.v1.CreateUserRequest - 42, // 212: caos.zitadel.management.api.v1.ManagementService.DeactivateUser:input_type -> caos.zitadel.management.api.v1.UserID - 42, // 213: caos.zitadel.management.api.v1.ManagementService.ReactivateUser:input_type -> caos.zitadel.management.api.v1.UserID - 42, // 214: caos.zitadel.management.api.v1.ManagementService.LockUser:input_type -> caos.zitadel.management.api.v1.UserID - 42, // 215: caos.zitadel.management.api.v1.ManagementService.UnlockUser:input_type -> caos.zitadel.management.api.v1.UserID - 42, // 216: caos.zitadel.management.api.v1.ManagementService.DeleteUser:input_type -> caos.zitadel.management.api.v1.UserID - 37, // 217: caos.zitadel.management.api.v1.ManagementService.UserChanges:input_type -> caos.zitadel.management.api.v1.ChangeRequest - 37, // 218: caos.zitadel.management.api.v1.ManagementService.ApplicationChanges:input_type -> caos.zitadel.management.api.v1.ChangeRequest - 37, // 219: caos.zitadel.management.api.v1.ManagementService.OrgChanges:input_type -> caos.zitadel.management.api.v1.ChangeRequest - 37, // 220: caos.zitadel.management.api.v1.ManagementService.ProjectChanges:input_type -> caos.zitadel.management.api.v1.ChangeRequest - 42, // 221: caos.zitadel.management.api.v1.ManagementService.GetUserProfile:input_type -> caos.zitadel.management.api.v1.UserID - 54, // 222: caos.zitadel.management.api.v1.ManagementService.UpdateUserProfile:input_type -> caos.zitadel.management.api.v1.UpdateUserProfileRequest - 42, // 223: caos.zitadel.management.api.v1.ManagementService.GetUserEmail:input_type -> caos.zitadel.management.api.v1.UserID - 55, // 224: caos.zitadel.management.api.v1.ManagementService.ChangeUserUserName:input_type -> caos.zitadel.management.api.v1.UpdateUserUserNameRequest - 58, // 225: caos.zitadel.management.api.v1.ManagementService.ChangeUserEmail:input_type -> caos.zitadel.management.api.v1.UpdateUserEmailRequest - 42, // 226: caos.zitadel.management.api.v1.ManagementService.ResendEmailVerificationMail:input_type -> caos.zitadel.management.api.v1.UserID - 42, // 227: caos.zitadel.management.api.v1.ManagementService.GetUserPhone:input_type -> caos.zitadel.management.api.v1.UserID - 61, // 228: caos.zitadel.management.api.v1.ManagementService.ChangeUserPhone:input_type -> caos.zitadel.management.api.v1.UpdateUserPhoneRequest - 42, // 229: caos.zitadel.management.api.v1.ManagementService.RemoveUserPhone:input_type -> caos.zitadel.management.api.v1.UserID - 42, // 230: caos.zitadel.management.api.v1.ManagementService.ResendPhoneVerificationCode:input_type -> caos.zitadel.management.api.v1.UserID - 42, // 231: caos.zitadel.management.api.v1.ManagementService.GetUserAddress:input_type -> caos.zitadel.management.api.v1.UserID - 64, // 232: caos.zitadel.management.api.v1.ManagementService.UpdateUserAddress:input_type -> caos.zitadel.management.api.v1.UpdateUserAddressRequest - 42, // 233: caos.zitadel.management.api.v1.ManagementService.GetUserMfas:input_type -> caos.zitadel.management.api.v1.UserID - 70, // 234: caos.zitadel.management.api.v1.ManagementService.SendSetPasswordNotification:input_type -> caos.zitadel.management.api.v1.SetPasswordNotificationRequest - 68, // 235: caos.zitadel.management.api.v1.ManagementService.SetInitialPassword:input_type -> caos.zitadel.management.api.v1.PasswordRequest - 178, // 236: caos.zitadel.management.api.v1.ManagementService.SearchUserMemberships:input_type -> caos.zitadel.management.api.v1.UserMembershipSearchRequest - 205, // 237: caos.zitadel.management.api.v1.ManagementService.GetPasswordComplexityPolicy:input_type -> google.protobuf.Empty - 205, // 238: caos.zitadel.management.api.v1.ManagementService.GetDefaultPasswordComplexityPolicy:input_type -> google.protobuf.Empty - 73, // 239: caos.zitadel.management.api.v1.ManagementService.CreatePasswordComplexityPolicy:input_type -> caos.zitadel.management.api.v1.PasswordComplexityPolicyCreate - 74, // 240: caos.zitadel.management.api.v1.ManagementService.UpdatePasswordComplexityPolicy:input_type -> caos.zitadel.management.api.v1.PasswordComplexityPolicyUpdate - 71, // 241: caos.zitadel.management.api.v1.ManagementService.DeletePasswordComplexityPolicy:input_type -> caos.zitadel.management.api.v1.PasswordComplexityPolicyID - 205, // 242: caos.zitadel.management.api.v1.ManagementService.GetPasswordAgePolicy:input_type -> google.protobuf.Empty - 77, // 243: caos.zitadel.management.api.v1.ManagementService.CreatePasswordAgePolicy:input_type -> caos.zitadel.management.api.v1.PasswordAgePolicyCreate - 78, // 244: caos.zitadel.management.api.v1.ManagementService.UpdatePasswordAgePolicy:input_type -> caos.zitadel.management.api.v1.PasswordAgePolicyUpdate - 75, // 245: caos.zitadel.management.api.v1.ManagementService.DeletePasswordAgePolicy:input_type -> caos.zitadel.management.api.v1.PasswordAgePolicyID - 205, // 246: caos.zitadel.management.api.v1.ManagementService.GetPasswordLockoutPolicy:input_type -> google.protobuf.Empty - 81, // 247: caos.zitadel.management.api.v1.ManagementService.CreatePasswordLockoutPolicy:input_type -> caos.zitadel.management.api.v1.PasswordLockoutPolicyCreate - 82, // 248: caos.zitadel.management.api.v1.ManagementService.UpdatePasswordLockoutPolicy:input_type -> caos.zitadel.management.api.v1.PasswordLockoutPolicyUpdate - 79, // 249: caos.zitadel.management.api.v1.ManagementService.DeletePasswordLockoutPolicy:input_type -> caos.zitadel.management.api.v1.PasswordLockoutPolicyID - 85, // 250: caos.zitadel.management.api.v1.ManagementService.CreateOrg:input_type -> caos.zitadel.management.api.v1.OrgCreateRequest - 205, // 251: caos.zitadel.management.api.v1.ManagementService.GetMyOrg:input_type -> google.protobuf.Empty - 88, // 252: caos.zitadel.management.api.v1.ManagementService.GetOrgByDomainGlobal:input_type -> caos.zitadel.management.api.v1.Domain - 205, // 253: caos.zitadel.management.api.v1.ManagementService.DeactivateMyOrg:input_type -> google.protobuf.Empty - 205, // 254: caos.zitadel.management.api.v1.ManagementService.ReactivateMyOrg:input_type -> google.protobuf.Empty - 99, // 255: caos.zitadel.management.api.v1.ManagementService.SearchMyOrgDomains:input_type -> caos.zitadel.management.api.v1.OrgDomainSearchRequest - 92, // 256: caos.zitadel.management.api.v1.ManagementService.AddMyOrgDomain:input_type -> caos.zitadel.management.api.v1.AddOrgDomainRequest - 93, // 257: caos.zitadel.management.api.v1.ManagementService.GenerateMyOrgDomainValidation:input_type -> caos.zitadel.management.api.v1.OrgDomainValidationRequest - 95, // 258: caos.zitadel.management.api.v1.ManagementService.ValidateMyOrgDomain:input_type -> caos.zitadel.management.api.v1.ValidateOrgDomainRequest - 96, // 259: caos.zitadel.management.api.v1.ManagementService.SetMyPrimaryOrgDomain:input_type -> caos.zitadel.management.api.v1.PrimaryOrgDomainRequest - 97, // 260: caos.zitadel.management.api.v1.ManagementService.RemoveMyOrgDomain:input_type -> caos.zitadel.management.api.v1.RemoveOrgDomainRequest - 205, // 261: caos.zitadel.management.api.v1.ManagementService.GetMyOrgIamPolicy:input_type -> google.protobuf.Empty - 205, // 262: caos.zitadel.management.api.v1.ManagementService.GetOrgMemberRoles:input_type -> google.protobuf.Empty - 103, // 263: caos.zitadel.management.api.v1.ManagementService.AddMyOrgMember:input_type -> caos.zitadel.management.api.v1.AddOrgMemberRequest - 104, // 264: caos.zitadel.management.api.v1.ManagementService.ChangeMyOrgMember:input_type -> caos.zitadel.management.api.v1.ChangeOrgMemberRequest - 105, // 265: caos.zitadel.management.api.v1.ManagementService.RemoveMyOrgMember:input_type -> caos.zitadel.management.api.v1.RemoveOrgMemberRequest - 108, // 266: caos.zitadel.management.api.v1.ManagementService.SearchMyOrgMembers:input_type -> caos.zitadel.management.api.v1.OrgMemberSearchRequest - 114, // 267: caos.zitadel.management.api.v1.ManagementService.SearchProjects:input_type -> caos.zitadel.management.api.v1.ProjectSearchRequest - 41, // 268: caos.zitadel.management.api.v1.ManagementService.ProjectByID:input_type -> caos.zitadel.management.api.v1.ProjectID - 110, // 269: caos.zitadel.management.api.v1.ManagementService.CreateProject:input_type -> caos.zitadel.management.api.v1.ProjectCreateRequest - 111, // 270: caos.zitadel.management.api.v1.ManagementService.UpdateProject:input_type -> caos.zitadel.management.api.v1.ProjectUpdateRequest - 41, // 271: caos.zitadel.management.api.v1.ManagementService.DeactivateProject:input_type -> caos.zitadel.management.api.v1.ProjectID - 41, // 272: caos.zitadel.management.api.v1.ManagementService.ReactivateProject:input_type -> caos.zitadel.management.api.v1.ProjectID - 41, // 273: caos.zitadel.management.api.v1.ManagementService.RemoveProject:input_type -> caos.zitadel.management.api.v1.ProjectID - 152, // 274: caos.zitadel.management.api.v1.ManagementService.SearchGrantedProjects:input_type -> caos.zitadel.management.api.v1.GrantedProjectSearchRequest - 149, // 275: caos.zitadel.management.api.v1.ManagementService.GetGrantedProjectByID:input_type -> caos.zitadel.management.api.v1.ProjectGrantID - 205, // 276: caos.zitadel.management.api.v1.ManagementService.GetProjectMemberRoles:input_type -> google.protobuf.Empty - 134, // 277: caos.zitadel.management.api.v1.ManagementService.SearchProjectMembers:input_type -> caos.zitadel.management.api.v1.ProjectMemberSearchRequest - 120, // 278: caos.zitadel.management.api.v1.ManagementService.AddProjectMember:input_type -> caos.zitadel.management.api.v1.ProjectMemberAdd - 121, // 279: caos.zitadel.management.api.v1.ManagementService.ChangeProjectMember:input_type -> caos.zitadel.management.api.v1.ProjectMemberChange - 122, // 280: caos.zitadel.management.api.v1.ManagementService.RemoveProjectMember:input_type -> caos.zitadel.management.api.v1.ProjectMemberRemove - 130, // 281: caos.zitadel.management.api.v1.ManagementService.SearchProjectRoles:input_type -> caos.zitadel.management.api.v1.ProjectRoleSearchRequest - 123, // 282: caos.zitadel.management.api.v1.ManagementService.AddProjectRole:input_type -> caos.zitadel.management.api.v1.ProjectRoleAdd - 124, // 283: caos.zitadel.management.api.v1.ManagementService.BulkAddProjectRole:input_type -> caos.zitadel.management.api.v1.ProjectRoleAddBulk - 125, // 284: caos.zitadel.management.api.v1.ManagementService.ChangeProjectRole:input_type -> caos.zitadel.management.api.v1.ProjectRoleChange - 128, // 285: caos.zitadel.management.api.v1.ManagementService.RemoveProjectRole:input_type -> caos.zitadel.management.api.v1.ProjectRoleRemove - 144, // 286: caos.zitadel.management.api.v1.ManagementService.SearchApplications:input_type -> caos.zitadel.management.api.v1.ApplicationSearchRequest - 40, // 287: caos.zitadel.management.api.v1.ManagementService.ApplicationByID:input_type -> caos.zitadel.management.api.v1.ApplicationID - 139, // 288: caos.zitadel.management.api.v1.ManagementService.CreateOIDCApplication:input_type -> caos.zitadel.management.api.v1.OIDCApplicationCreate - 137, // 289: caos.zitadel.management.api.v1.ManagementService.UpdateApplication:input_type -> caos.zitadel.management.api.v1.ApplicationUpdate - 40, // 290: caos.zitadel.management.api.v1.ManagementService.DeactivateApplication:input_type -> caos.zitadel.management.api.v1.ApplicationID - 40, // 291: caos.zitadel.management.api.v1.ManagementService.ReactivateApplication:input_type -> caos.zitadel.management.api.v1.ApplicationID - 40, // 292: caos.zitadel.management.api.v1.ManagementService.RemoveApplication:input_type -> caos.zitadel.management.api.v1.ApplicationID - 140, // 293: caos.zitadel.management.api.v1.ManagementService.UpdateApplicationOIDCConfig:input_type -> caos.zitadel.management.api.v1.OIDCConfigUpdate - 40, // 294: caos.zitadel.management.api.v1.ManagementService.RegenerateOIDCClientSecret:input_type -> caos.zitadel.management.api.v1.ApplicationID - 153, // 295: caos.zitadel.management.api.v1.ManagementService.SearchProjectGrants:input_type -> caos.zitadel.management.api.v1.ProjectGrantSearchRequest - 149, // 296: caos.zitadel.management.api.v1.ManagementService.ProjectGrantByID:input_type -> caos.zitadel.management.api.v1.ProjectGrantID - 147, // 297: caos.zitadel.management.api.v1.ManagementService.CreateProjectGrant:input_type -> caos.zitadel.management.api.v1.ProjectGrantCreate - 148, // 298: caos.zitadel.management.api.v1.ManagementService.UpdateProjectGrant:input_type -> caos.zitadel.management.api.v1.ProjectGrantUpdate - 149, // 299: caos.zitadel.management.api.v1.ManagementService.DeactivateProjectGrant:input_type -> caos.zitadel.management.api.v1.ProjectGrantID - 149, // 300: caos.zitadel.management.api.v1.ManagementService.ReactivateProjectGrant:input_type -> caos.zitadel.management.api.v1.ProjectGrantID - 149, // 301: caos.zitadel.management.api.v1.ManagementService.RemoveProjectGrant:input_type -> caos.zitadel.management.api.v1.ProjectGrantID - 205, // 302: caos.zitadel.management.api.v1.ManagementService.GetProjectGrantMemberRoles:input_type -> google.protobuf.Empty - 162, // 303: caos.zitadel.management.api.v1.ManagementService.SearchProjectGrantMembers:input_type -> caos.zitadel.management.api.v1.ProjectGrantMemberSearchRequest - 157, // 304: caos.zitadel.management.api.v1.ManagementService.AddProjectGrantMember:input_type -> caos.zitadel.management.api.v1.ProjectGrantMemberAdd - 158, // 305: caos.zitadel.management.api.v1.ManagementService.ChangeProjectGrantMember:input_type -> caos.zitadel.management.api.v1.ProjectGrantMemberChange - 159, // 306: caos.zitadel.management.api.v1.ManagementService.RemoveProjectGrantMember:input_type -> caos.zitadel.management.api.v1.ProjectGrantMemberRemove - 173, // 307: caos.zitadel.management.api.v1.ManagementService.SearchUserGrants:input_type -> caos.zitadel.management.api.v1.UserGrantSearchRequest - 170, // 308: caos.zitadel.management.api.v1.ManagementService.UserGrantByID:input_type -> caos.zitadel.management.api.v1.UserGrantID - 166, // 309: caos.zitadel.management.api.v1.ManagementService.CreateUserGrant:input_type -> caos.zitadel.management.api.v1.UserGrantCreate - 168, // 310: caos.zitadel.management.api.v1.ManagementService.UpdateUserGrant:input_type -> caos.zitadel.management.api.v1.UserGrantUpdate - 170, // 311: caos.zitadel.management.api.v1.ManagementService.DeactivateUserGrant:input_type -> caos.zitadel.management.api.v1.UserGrantID - 170, // 312: caos.zitadel.management.api.v1.ManagementService.ReactivateUserGrant:input_type -> caos.zitadel.management.api.v1.UserGrantID - 170, // 313: caos.zitadel.management.api.v1.ManagementService.RemoveUserGrant:input_type -> caos.zitadel.management.api.v1.UserGrantID - 169, // 314: caos.zitadel.management.api.v1.ManagementService.BulkRemoveUserGrant:input_type -> caos.zitadel.management.api.v1.UserGrantRemoveBulk - 181, // 315: caos.zitadel.management.api.v1.ManagementService.IdpByID:input_type -> caos.zitadel.management.api.v1.IdpID - 185, // 316: caos.zitadel.management.api.v1.ManagementService.CreateOidcIdp:input_type -> caos.zitadel.management.api.v1.OidcIdpConfigCreate - 183, // 317: caos.zitadel.management.api.v1.ManagementService.UpdateIdpConfig:input_type -> caos.zitadel.management.api.v1.IdpUpdate - 181, // 318: caos.zitadel.management.api.v1.ManagementService.DeactivateIdpConfig:input_type -> caos.zitadel.management.api.v1.IdpID - 181, // 319: caos.zitadel.management.api.v1.ManagementService.ReactivateIdpConfig:input_type -> caos.zitadel.management.api.v1.IdpID - 181, // 320: caos.zitadel.management.api.v1.ManagementService.RemoveIdpConfig:input_type -> caos.zitadel.management.api.v1.IdpID - 186, // 321: caos.zitadel.management.api.v1.ManagementService.UpdateOidcIdpConfig:input_type -> caos.zitadel.management.api.v1.OidcIdpConfigUpdate - 190, // 322: caos.zitadel.management.api.v1.ManagementService.SearchIdps:input_type -> caos.zitadel.management.api.v1.IdpSearchRequest - 205, // 323: caos.zitadel.management.api.v1.ManagementService.GetLoginPolicy:input_type -> google.protobuf.Empty - 193, // 324: caos.zitadel.management.api.v1.ManagementService.CreateLoginPolicy:input_type -> caos.zitadel.management.api.v1.LoginPolicyAdd - 192, // 325: caos.zitadel.management.api.v1.ManagementService.UpdateLoginPolicy:input_type -> caos.zitadel.management.api.v1.LoginPolicy - 205, // 326: caos.zitadel.management.api.v1.ManagementService.RemoveLoginPolicy:input_type -> google.protobuf.Empty - 201, // 327: caos.zitadel.management.api.v1.ManagementService.GetLoginPolicyIdpProviders:input_type -> caos.zitadel.management.api.v1.IdpProviderSearchRequest - 195, // 328: caos.zitadel.management.api.v1.ManagementService.AddIdpProviderToLoginPolicy:input_type -> caos.zitadel.management.api.v1.IdpProviderAdd - 194, // 329: caos.zitadel.management.api.v1.ManagementService.RemoveIdpProviderFromLoginPolicy:input_type -> caos.zitadel.management.api.v1.IdpProviderID - 205, // 330: caos.zitadel.management.api.v1.ManagementService.Healthz:output_type -> google.protobuf.Empty - 205, // 331: caos.zitadel.management.api.v1.ManagementService.Ready:output_type -> google.protobuf.Empty - 204, // 332: caos.zitadel.management.api.v1.ManagementService.Validate:output_type -> google.protobuf.Struct - 35, // 333: caos.zitadel.management.api.v1.ManagementService.GetZitadelDocs:output_type -> caos.zitadel.management.api.v1.ZitadelDocs - 36, // 334: caos.zitadel.management.api.v1.ManagementService.GetIam:output_type -> caos.zitadel.management.api.v1.Iam - 48, // 335: caos.zitadel.management.api.v1.ManagementService.GetUserByID:output_type -> caos.zitadel.management.api.v1.UserView - 48, // 336: caos.zitadel.management.api.v1.ManagementService.GetUserByLoginNameGlobal:output_type -> caos.zitadel.management.api.v1.UserView - 51, // 337: caos.zitadel.management.api.v1.ManagementService.SearchUsers:output_type -> caos.zitadel.management.api.v1.UserSearchResponse - 45, // 338: caos.zitadel.management.api.v1.ManagementService.IsUserUnique:output_type -> caos.zitadel.management.api.v1.UniqueUserResponse - 47, // 339: caos.zitadel.management.api.v1.ManagementService.CreateUser:output_type -> caos.zitadel.management.api.v1.User - 47, // 340: caos.zitadel.management.api.v1.ManagementService.DeactivateUser:output_type -> caos.zitadel.management.api.v1.User - 47, // 341: caos.zitadel.management.api.v1.ManagementService.ReactivateUser:output_type -> caos.zitadel.management.api.v1.User - 47, // 342: caos.zitadel.management.api.v1.ManagementService.LockUser:output_type -> caos.zitadel.management.api.v1.User - 47, // 343: caos.zitadel.management.api.v1.ManagementService.UnlockUser:output_type -> caos.zitadel.management.api.v1.User - 205, // 344: caos.zitadel.management.api.v1.ManagementService.DeleteUser:output_type -> google.protobuf.Empty - 38, // 345: caos.zitadel.management.api.v1.ManagementService.UserChanges:output_type -> caos.zitadel.management.api.v1.Changes - 38, // 346: caos.zitadel.management.api.v1.ManagementService.ApplicationChanges:output_type -> caos.zitadel.management.api.v1.Changes - 38, // 347: caos.zitadel.management.api.v1.ManagementService.OrgChanges:output_type -> caos.zitadel.management.api.v1.Changes - 38, // 348: caos.zitadel.management.api.v1.ManagementService.ProjectChanges:output_type -> caos.zitadel.management.api.v1.Changes - 53, // 349: caos.zitadel.management.api.v1.ManagementService.GetUserProfile:output_type -> caos.zitadel.management.api.v1.UserProfileView - 52, // 350: caos.zitadel.management.api.v1.ManagementService.UpdateUserProfile:output_type -> caos.zitadel.management.api.v1.UserProfile - 57, // 351: caos.zitadel.management.api.v1.ManagementService.GetUserEmail:output_type -> caos.zitadel.management.api.v1.UserEmailView - 205, // 352: caos.zitadel.management.api.v1.ManagementService.ChangeUserUserName:output_type -> google.protobuf.Empty - 56, // 353: caos.zitadel.management.api.v1.ManagementService.ChangeUserEmail:output_type -> caos.zitadel.management.api.v1.UserEmail - 205, // 354: caos.zitadel.management.api.v1.ManagementService.ResendEmailVerificationMail:output_type -> google.protobuf.Empty - 60, // 355: caos.zitadel.management.api.v1.ManagementService.GetUserPhone:output_type -> caos.zitadel.management.api.v1.UserPhoneView - 59, // 356: caos.zitadel.management.api.v1.ManagementService.ChangeUserPhone:output_type -> caos.zitadel.management.api.v1.UserPhone - 205, // 357: caos.zitadel.management.api.v1.ManagementService.RemoveUserPhone:output_type -> google.protobuf.Empty - 205, // 358: caos.zitadel.management.api.v1.ManagementService.ResendPhoneVerificationCode:output_type -> google.protobuf.Empty - 63, // 359: caos.zitadel.management.api.v1.ManagementService.GetUserAddress:output_type -> caos.zitadel.management.api.v1.UserAddressView - 62, // 360: caos.zitadel.management.api.v1.ManagementService.UpdateUserAddress:output_type -> caos.zitadel.management.api.v1.UserAddress - 65, // 361: caos.zitadel.management.api.v1.ManagementService.GetUserMfas:output_type -> caos.zitadel.management.api.v1.MultiFactors - 205, // 362: caos.zitadel.management.api.v1.ManagementService.SendSetPasswordNotification:output_type -> google.protobuf.Empty - 205, // 363: caos.zitadel.management.api.v1.ManagementService.SetInitialPassword:output_type -> google.protobuf.Empty - 177, // 364: caos.zitadel.management.api.v1.ManagementService.SearchUserMemberships:output_type -> caos.zitadel.management.api.v1.UserMembershipSearchResponse - 72, // 365: caos.zitadel.management.api.v1.ManagementService.GetPasswordComplexityPolicy:output_type -> caos.zitadel.management.api.v1.PasswordComplexityPolicy - 72, // 366: caos.zitadel.management.api.v1.ManagementService.GetDefaultPasswordComplexityPolicy:output_type -> caos.zitadel.management.api.v1.PasswordComplexityPolicy - 72, // 367: caos.zitadel.management.api.v1.ManagementService.CreatePasswordComplexityPolicy:output_type -> caos.zitadel.management.api.v1.PasswordComplexityPolicy - 72, // 368: caos.zitadel.management.api.v1.ManagementService.UpdatePasswordComplexityPolicy:output_type -> caos.zitadel.management.api.v1.PasswordComplexityPolicy - 205, // 369: caos.zitadel.management.api.v1.ManagementService.DeletePasswordComplexityPolicy:output_type -> google.protobuf.Empty - 76, // 370: caos.zitadel.management.api.v1.ManagementService.GetPasswordAgePolicy:output_type -> caos.zitadel.management.api.v1.PasswordAgePolicy - 76, // 371: caos.zitadel.management.api.v1.ManagementService.CreatePasswordAgePolicy:output_type -> caos.zitadel.management.api.v1.PasswordAgePolicy - 76, // 372: caos.zitadel.management.api.v1.ManagementService.UpdatePasswordAgePolicy:output_type -> caos.zitadel.management.api.v1.PasswordAgePolicy - 205, // 373: caos.zitadel.management.api.v1.ManagementService.DeletePasswordAgePolicy:output_type -> google.protobuf.Empty - 80, // 374: caos.zitadel.management.api.v1.ManagementService.GetPasswordLockoutPolicy:output_type -> caos.zitadel.management.api.v1.PasswordLockoutPolicy - 80, // 375: caos.zitadel.management.api.v1.ManagementService.CreatePasswordLockoutPolicy:output_type -> caos.zitadel.management.api.v1.PasswordLockoutPolicy - 80, // 376: caos.zitadel.management.api.v1.ManagementService.UpdatePasswordLockoutPolicy:output_type -> caos.zitadel.management.api.v1.PasswordLockoutPolicy - 205, // 377: caos.zitadel.management.api.v1.ManagementService.DeletePasswordLockoutPolicy:output_type -> google.protobuf.Empty - 86, // 378: caos.zitadel.management.api.v1.ManagementService.CreateOrg:output_type -> caos.zitadel.management.api.v1.Org - 87, // 379: caos.zitadel.management.api.v1.ManagementService.GetMyOrg:output_type -> caos.zitadel.management.api.v1.OrgView - 87, // 380: caos.zitadel.management.api.v1.ManagementService.GetOrgByDomainGlobal:output_type -> caos.zitadel.management.api.v1.OrgView - 86, // 381: caos.zitadel.management.api.v1.ManagementService.DeactivateMyOrg:output_type -> caos.zitadel.management.api.v1.Org - 86, // 382: caos.zitadel.management.api.v1.ManagementService.ReactivateMyOrg:output_type -> caos.zitadel.management.api.v1.Org - 98, // 383: caos.zitadel.management.api.v1.ManagementService.SearchMyOrgDomains:output_type -> caos.zitadel.management.api.v1.OrgDomainSearchResponse - 90, // 384: caos.zitadel.management.api.v1.ManagementService.AddMyOrgDomain:output_type -> caos.zitadel.management.api.v1.OrgDomain - 94, // 385: caos.zitadel.management.api.v1.ManagementService.GenerateMyOrgDomainValidation:output_type -> caos.zitadel.management.api.v1.OrgDomainValidationResponse - 205, // 386: caos.zitadel.management.api.v1.ManagementService.ValidateMyOrgDomain:output_type -> google.protobuf.Empty - 205, // 387: caos.zitadel.management.api.v1.ManagementService.SetMyPrimaryOrgDomain:output_type -> google.protobuf.Empty - 205, // 388: caos.zitadel.management.api.v1.ManagementService.RemoveMyOrgDomain:output_type -> google.protobuf.Empty - 83, // 389: caos.zitadel.management.api.v1.ManagementService.GetMyOrgIamPolicy:output_type -> caos.zitadel.management.api.v1.OrgIamPolicy - 101, // 390: caos.zitadel.management.api.v1.ManagementService.GetOrgMemberRoles:output_type -> caos.zitadel.management.api.v1.OrgMemberRoles - 102, // 391: caos.zitadel.management.api.v1.ManagementService.AddMyOrgMember:output_type -> caos.zitadel.management.api.v1.OrgMember - 102, // 392: caos.zitadel.management.api.v1.ManagementService.ChangeMyOrgMember:output_type -> caos.zitadel.management.api.v1.OrgMember - 205, // 393: caos.zitadel.management.api.v1.ManagementService.RemoveMyOrgMember:output_type -> google.protobuf.Empty - 106, // 394: caos.zitadel.management.api.v1.ManagementService.SearchMyOrgMembers:output_type -> caos.zitadel.management.api.v1.OrgMemberSearchResponse - 112, // 395: caos.zitadel.management.api.v1.ManagementService.SearchProjects:output_type -> caos.zitadel.management.api.v1.ProjectSearchResponse - 113, // 396: caos.zitadel.management.api.v1.ManagementService.ProjectByID:output_type -> caos.zitadel.management.api.v1.ProjectView - 117, // 397: caos.zitadel.management.api.v1.ManagementService.CreateProject:output_type -> caos.zitadel.management.api.v1.Project - 117, // 398: caos.zitadel.management.api.v1.ManagementService.UpdateProject:output_type -> caos.zitadel.management.api.v1.Project - 117, // 399: caos.zitadel.management.api.v1.ManagementService.DeactivateProject:output_type -> caos.zitadel.management.api.v1.Project - 117, // 400: caos.zitadel.management.api.v1.ManagementService.ReactivateProject:output_type -> caos.zitadel.management.api.v1.Project - 205, // 401: caos.zitadel.management.api.v1.ManagementService.RemoveProject:output_type -> google.protobuf.Empty - 151, // 402: caos.zitadel.management.api.v1.ManagementService.SearchGrantedProjects:output_type -> caos.zitadel.management.api.v1.ProjectGrantSearchResponse - 150, // 403: caos.zitadel.management.api.v1.ManagementService.GetGrantedProjectByID:output_type -> caos.zitadel.management.api.v1.ProjectGrantView - 118, // 404: caos.zitadel.management.api.v1.ManagementService.GetProjectMemberRoles:output_type -> caos.zitadel.management.api.v1.ProjectMemberRoles - 133, // 405: caos.zitadel.management.api.v1.ManagementService.SearchProjectMembers:output_type -> caos.zitadel.management.api.v1.ProjectMemberSearchResponse - 119, // 406: caos.zitadel.management.api.v1.ManagementService.AddProjectMember:output_type -> caos.zitadel.management.api.v1.ProjectMember - 119, // 407: caos.zitadel.management.api.v1.ManagementService.ChangeProjectMember:output_type -> caos.zitadel.management.api.v1.ProjectMember - 205, // 408: caos.zitadel.management.api.v1.ManagementService.RemoveProjectMember:output_type -> google.protobuf.Empty - 129, // 409: caos.zitadel.management.api.v1.ManagementService.SearchProjectRoles:output_type -> caos.zitadel.management.api.v1.ProjectRoleSearchResponse - 126, // 410: caos.zitadel.management.api.v1.ManagementService.AddProjectRole:output_type -> caos.zitadel.management.api.v1.ProjectRole - 205, // 411: caos.zitadel.management.api.v1.ManagementService.BulkAddProjectRole:output_type -> google.protobuf.Empty - 126, // 412: caos.zitadel.management.api.v1.ManagementService.ChangeProjectRole:output_type -> caos.zitadel.management.api.v1.ProjectRole - 205, // 413: caos.zitadel.management.api.v1.ManagementService.RemoveProjectRole:output_type -> google.protobuf.Empty - 143, // 414: caos.zitadel.management.api.v1.ManagementService.SearchApplications:output_type -> caos.zitadel.management.api.v1.ApplicationSearchResponse - 142, // 415: caos.zitadel.management.api.v1.ManagementService.ApplicationByID:output_type -> caos.zitadel.management.api.v1.ApplicationView - 136, // 416: caos.zitadel.management.api.v1.ManagementService.CreateOIDCApplication:output_type -> caos.zitadel.management.api.v1.Application - 136, // 417: caos.zitadel.management.api.v1.ManagementService.UpdateApplication:output_type -> caos.zitadel.management.api.v1.Application - 136, // 418: caos.zitadel.management.api.v1.ManagementService.DeactivateApplication:output_type -> caos.zitadel.management.api.v1.Application - 136, // 419: caos.zitadel.management.api.v1.ManagementService.ReactivateApplication:output_type -> caos.zitadel.management.api.v1.Application - 205, // 420: caos.zitadel.management.api.v1.ManagementService.RemoveApplication:output_type -> google.protobuf.Empty - 138, // 421: caos.zitadel.management.api.v1.ManagementService.UpdateApplicationOIDCConfig:output_type -> caos.zitadel.management.api.v1.OIDCConfig - 141, // 422: caos.zitadel.management.api.v1.ManagementService.RegenerateOIDCClientSecret:output_type -> caos.zitadel.management.api.v1.ClientSecret - 151, // 423: caos.zitadel.management.api.v1.ManagementService.SearchProjectGrants:output_type -> caos.zitadel.management.api.v1.ProjectGrantSearchResponse - 150, // 424: caos.zitadel.management.api.v1.ManagementService.ProjectGrantByID:output_type -> caos.zitadel.management.api.v1.ProjectGrantView - 146, // 425: caos.zitadel.management.api.v1.ManagementService.CreateProjectGrant:output_type -> caos.zitadel.management.api.v1.ProjectGrant - 146, // 426: caos.zitadel.management.api.v1.ManagementService.UpdateProjectGrant:output_type -> caos.zitadel.management.api.v1.ProjectGrant - 146, // 427: caos.zitadel.management.api.v1.ManagementService.DeactivateProjectGrant:output_type -> caos.zitadel.management.api.v1.ProjectGrant - 146, // 428: caos.zitadel.management.api.v1.ManagementService.ReactivateProjectGrant:output_type -> caos.zitadel.management.api.v1.ProjectGrant - 205, // 429: caos.zitadel.management.api.v1.ManagementService.RemoveProjectGrant:output_type -> google.protobuf.Empty - 155, // 430: caos.zitadel.management.api.v1.ManagementService.GetProjectGrantMemberRoles:output_type -> caos.zitadel.management.api.v1.ProjectGrantMemberRoles - 161, // 431: caos.zitadel.management.api.v1.ManagementService.SearchProjectGrantMembers:output_type -> caos.zitadel.management.api.v1.ProjectGrantMemberSearchResponse - 156, // 432: caos.zitadel.management.api.v1.ManagementService.AddProjectGrantMember:output_type -> caos.zitadel.management.api.v1.ProjectGrantMember - 156, // 433: caos.zitadel.management.api.v1.ManagementService.ChangeProjectGrantMember:output_type -> caos.zitadel.management.api.v1.ProjectGrantMember - 205, // 434: caos.zitadel.management.api.v1.ManagementService.RemoveProjectGrantMember:output_type -> google.protobuf.Empty - 172, // 435: caos.zitadel.management.api.v1.ManagementService.SearchUserGrants:output_type -> caos.zitadel.management.api.v1.UserGrantSearchResponse - 171, // 436: caos.zitadel.management.api.v1.ManagementService.UserGrantByID:output_type -> caos.zitadel.management.api.v1.UserGrantView - 164, // 437: caos.zitadel.management.api.v1.ManagementService.CreateUserGrant:output_type -> caos.zitadel.management.api.v1.UserGrant - 164, // 438: caos.zitadel.management.api.v1.ManagementService.UpdateUserGrant:output_type -> caos.zitadel.management.api.v1.UserGrant - 164, // 439: caos.zitadel.management.api.v1.ManagementService.DeactivateUserGrant:output_type -> caos.zitadel.management.api.v1.UserGrant - 164, // 440: caos.zitadel.management.api.v1.ManagementService.ReactivateUserGrant:output_type -> caos.zitadel.management.api.v1.UserGrant - 205, // 441: caos.zitadel.management.api.v1.ManagementService.RemoveUserGrant:output_type -> google.protobuf.Empty - 205, // 442: caos.zitadel.management.api.v1.ManagementService.BulkRemoveUserGrant:output_type -> google.protobuf.Empty - 188, // 443: caos.zitadel.management.api.v1.ManagementService.IdpByID:output_type -> caos.zitadel.management.api.v1.IdpView - 182, // 444: caos.zitadel.management.api.v1.ManagementService.CreateOidcIdp:output_type -> caos.zitadel.management.api.v1.Idp - 182, // 445: caos.zitadel.management.api.v1.ManagementService.UpdateIdpConfig:output_type -> caos.zitadel.management.api.v1.Idp - 182, // 446: caos.zitadel.management.api.v1.ManagementService.DeactivateIdpConfig:output_type -> caos.zitadel.management.api.v1.Idp - 182, // 447: caos.zitadel.management.api.v1.ManagementService.ReactivateIdpConfig:output_type -> caos.zitadel.management.api.v1.Idp - 205, // 448: caos.zitadel.management.api.v1.ManagementService.RemoveIdpConfig:output_type -> google.protobuf.Empty - 184, // 449: caos.zitadel.management.api.v1.ManagementService.UpdateOidcIdpConfig:output_type -> caos.zitadel.management.api.v1.OidcIdpConfig - 187, // 450: caos.zitadel.management.api.v1.ManagementService.SearchIdps:output_type -> caos.zitadel.management.api.v1.IdpSearchResponse - 197, // 451: caos.zitadel.management.api.v1.ManagementService.GetLoginPolicy:output_type -> caos.zitadel.management.api.v1.LoginPolicyView - 192, // 452: caos.zitadel.management.api.v1.ManagementService.CreateLoginPolicy:output_type -> caos.zitadel.management.api.v1.LoginPolicy - 192, // 453: caos.zitadel.management.api.v1.ManagementService.UpdateLoginPolicy:output_type -> caos.zitadel.management.api.v1.LoginPolicy - 205, // 454: caos.zitadel.management.api.v1.ManagementService.RemoveLoginPolicy:output_type -> google.protobuf.Empty - 200, // 455: caos.zitadel.management.api.v1.ManagementService.GetLoginPolicyIdpProviders:output_type -> caos.zitadel.management.api.v1.IdpProviderSearchResponse - 196, // 456: caos.zitadel.management.api.v1.ManagementService.AddIdpProviderToLoginPolicy:output_type -> caos.zitadel.management.api.v1.IdpProvider - 205, // 457: caos.zitadel.management.api.v1.ManagementService.RemoveIdpProviderFromLoginPolicy:output_type -> google.protobuf.Empty - 330, // [330:458] is the sub-list for method output_type - 202, // [202:330] is the sub-list for method input_type - 202, // [202:202] is the sub-list for extension type_name - 202, // [202:202] is the sub-list for extension extendee - 0, // [0:202] is the sub-list for field type_name -} - -func init() { file_management_proto_init() } -func file_management_proto_init() { - if File_management_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_management_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZitadelDocs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Iam); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChangeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Changes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Change); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApplicationID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LoginName); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UniqueUserRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UniqueUserResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateUserRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*User); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserSearchQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserSearchResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserProfile); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserProfileView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateUserProfileRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateUserUserNameRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserEmail); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserEmailView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateUserEmailRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserPhone); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserPhoneView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateUserPhoneRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserAddress); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserAddressView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateUserAddressRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MultiFactors); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MultiFactor); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PasswordID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PasswordRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResetPasswordRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetPasswordNotificationRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PasswordComplexityPolicyID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PasswordComplexityPolicy); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PasswordComplexityPolicyCreate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PasswordComplexityPolicyUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PasswordAgePolicyID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PasswordAgePolicy); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PasswordAgePolicyCreate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PasswordAgePolicyUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PasswordLockoutPolicyID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PasswordLockoutPolicy); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PasswordLockoutPolicyCreate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PasswordLockoutPolicyUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgIamPolicy); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgCreateRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Org); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Domain); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgDomains); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgDomain); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgDomainView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddOrgDomainRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgDomainValidationRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgDomainValidationResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidateOrgDomainRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PrimaryOrgDomainRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveOrgDomainRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgDomainSearchResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgDomainSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgDomainSearchQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgMemberRoles); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgMember); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddOrgMemberRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChangeOrgMemberRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveOrgMemberRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgMemberSearchResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgMemberView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgMemberSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgMemberSearchQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectCreateRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectUpdateRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectSearchResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectSearchQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Projects); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Project); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectMemberRoles); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectMember); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectMemberAdd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectMemberChange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectMemberRemove); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectRoleAdd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectRoleAddBulk); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectRoleChange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectRole); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectRoleView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectRoleRemove); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectRoleSearchResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectRoleSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectRoleSearchQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectMemberView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectMemberSearchResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectMemberSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectMemberSearchQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Application); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApplicationUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OIDCConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OIDCApplicationCreate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OIDCConfigUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClientSecret); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApplicationView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApplicationSearchResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApplicationSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApplicationSearchQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectGrant); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectGrantCreate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectGrantUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectGrantID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectGrantView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectGrantSearchResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GrantedProjectSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectGrantSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectGrantSearchQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectGrantMemberRoles); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectGrantMember); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectGrantMemberAdd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectGrantMemberChange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectGrantMemberRemove); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectGrantMemberView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectGrantMemberSearchResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectGrantMemberSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectGrantMemberSearchQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserGrant); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserGrantCreateBulk); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserGrantCreate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserGrantUpdateBulk); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserGrantUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserGrantRemoveBulk); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserGrantID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserGrantView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserGrantSearchResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserGrantSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserGrantSearchQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectUserGrantSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectGrantUserGrantSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserMembershipSearchResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserMembershipSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserMembershipSearchQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserMembershipView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Idp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OidcIdpConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OidcIdpConfigCreate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OidcIdpConfigUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpSearchResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OidcIdpConfigView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpSearchQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LoginPolicy); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LoginPolicyAdd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpProviderID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpProviderAdd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpProvider); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LoginPolicyView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpProviderViews); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpProviderView); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpProviderSearchResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_management_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IdpProviderSearchRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_management_proto_msgTypes[101].OneofWrappers = []interface{}{ - (*Application_OidcConfig)(nil), - } - file_management_proto_msgTypes[107].OneofWrappers = []interface{}{ - (*ApplicationView_OidcConfig)(nil), - } - file_management_proto_msgTypes[147].OneofWrappers = []interface{}{ - (*Idp_OidcConfig)(nil), - } - file_management_proto_msgTypes[153].OneofWrappers = []interface{}{ - (*IdpView_OidcConfig)(nil), - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_management_proto_rawDesc, - NumEnums: 35, - NumMessages: 167, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_management_proto_goTypes, - DependencyIndexes: file_management_proto_depIdxs, - EnumInfos: file_management_proto_enumTypes, - MessageInfos: file_management_proto_msgTypes, - }.Build() - File_management_proto = out.File - file_management_proto_rawDesc = nil - file_management_proto_goTypes = nil - file_management_proto_depIdxs = nil +var fileDescriptor_edc174f991dc0a25 = []byte{ + // 11439 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x7b, 0x90, 0x1b, 0xc9, + 0x79, 0xdf, 0x0d, 0x1e, 0xbb, 0xd8, 0x0f, 0xfb, 0xc0, 0xf6, 0xbe, 0xb0, 0x58, 0x3e, 0xf6, 0xe6, + 0xc8, 0x23, 0x09, 0x92, 0x0b, 0x92, 0xf7, 0x24, 0x4f, 0xd6, 0x09, 0xbb, 0x00, 0x97, 0x10, 0x77, + 0x17, 0x7b, 0xc0, 0xf2, 0x2e, 0x27, 0xc5, 0x86, 0x40, 0xcc, 0x10, 0x1c, 0x13, 0x2f, 0xcd, 0x0c, + 0xc8, 0x5b, 0x5d, 0x4e, 0x8e, 0xa9, 0xd8, 0x52, 0xa4, 0xc8, 0xb1, 0x74, 0x56, 0x64, 0xeb, 0x19, + 0x4b, 0x25, 0x2b, 0xb6, 0x22, 0xab, 0x92, 0x88, 0xf6, 0xc5, 0x4e, 0xac, 0x2a, 0x97, 0xec, 0xb8, + 0x6c, 0xe7, 0x0f, 0x27, 0x2e, 0xdb, 0x55, 0xb1, 0xcb, 0x71, 0x92, 0x72, 0x25, 0xae, 0x54, 0x9c, + 0x2a, 0xab, 0x92, 0xe8, 0x52, 0x95, 0x4a, 0xf5, 0x63, 0x66, 0x7a, 0x06, 0x33, 0x98, 0x99, 0x5d, + 0xbe, 0x74, 0x77, 0x7f, 0xed, 0xa2, 0x9f, 0xbf, 0xef, 0xeb, 0xaf, 0xbf, 0xef, 0xeb, 0xaf, 0x7b, + 0xba, 0x21, 0xd5, 0xae, 0x77, 0xea, 0x4d, 0xb9, 0x2d, 0x77, 0xf4, 0x95, 0x9e, 0xda, 0xd5, 0xbb, + 0xe8, 0x50, 0xa3, 0xde, 0xd5, 0x56, 0x3e, 0xa4, 0xe8, 0x75, 0x49, 0x6e, 0xad, 0x70, 0xd9, 0xf5, + 0x9e, 0xb2, 0x72, 0xf3, 0x6c, 0xe6, 0x40, 0xb3, 0xdb, 0x6d, 0xb6, 0xe4, 0x5c, 0xbd, 0xa7, 0xe4, + 0xea, 0x9d, 0x4e, 0x57, 0xaf, 0xeb, 0x4a, 0xb7, 0xa3, 0xd1, 0xda, 0x99, 0x25, 0x96, 0x4b, 0x7e, + 0x5d, 0xed, 0x5f, 0xcb, 0xc9, 0xed, 0x9e, 0xbe, 0xcb, 0x32, 0x0f, 0x38, 0x33, 0x35, 0x5d, 0xed, + 0x37, 0x58, 0xc7, 0x99, 0xc3, 0xce, 0x5c, 0x5d, 0x69, 0xcb, 0x9a, 0x5e, 0x6f, 0xf7, 0x58, 0x81, + 0x53, 0xe4, 0x4f, 0xe3, 0x74, 0x53, 0xee, 0x9c, 0xd6, 0x6e, 0xd5, 0x9b, 0x4d, 0x59, 0xcd, 0x75, + 0x7b, 0xa4, 0x77, 0x17, 0x24, 0x0b, 0x37, 0xeb, 0x2d, 0x45, 0xaa, 0xeb, 0x72, 0xce, 0xf8, 0x87, + 0x65, 0xa4, 0xeb, 0x7d, 0xfd, 0x3a, 0xad, 0x67, 0x54, 0x67, 0x39, 0x33, 0xe4, 0x4f, 0xae, 0x2d, + 0x6b, 0x5a, 0xbd, 0xc9, 0x8a, 0x8b, 0x3b, 0x90, 0x7c, 0x1f, 0x65, 0x46, 0xa1, 0xdb, 0xd0, 0xd0, + 0x3c, 0x8c, 0x28, 0x9a, 0xd6, 0x97, 0xd5, 0xb4, 0xb0, 0x2c, 0x1c, 0x1f, 0xab, 0xb0, 0x5f, 0xe8, + 0x34, 0x20, 0x49, 0xd1, 0x1a, 0xdd, 0x9b, 0xb2, 0xba, 0x5b, 0x93, 0x3b, 0x52, 0xaf, 0xab, 0x74, + 0xf4, 0x74, 0x84, 0x94, 0x99, 0x36, 0x73, 0x8a, 0x2c, 0x43, 0xfc, 0x8c, 0x00, 0xd1, 0x52, 0xbd, + 0x8d, 0x44, 0x98, 0x68, 0xb6, 0xba, 0x57, 0xeb, 0xad, 0x5a, 0x57, 0x6d, 0xd6, 0x14, 0x89, 0xb5, + 0x9a, 0xa4, 0x89, 0x65, 0xb5, 0x59, 0x92, 0xd0, 0x11, 0x98, 0x54, 0xea, 0xed, 0x5a, 0x4f, 0xed, + 0xfe, 0xa8, 0xdc, 0xd0, 0x71, 0x21, 0xda, 0xec, 0xb8, 0x52, 0x6f, 0x6f, 0xd3, 0xc4, 0x92, 0x84, + 0x0e, 0x41, 0x52, 0x93, 0xf5, 0x5a, 0xbf, 0x57, 0x93, 0xba, 0x1d, 0x39, 0x1d, 0x5d, 0x16, 0x8e, + 0x27, 0x2a, 0x63, 0x9a, 0xac, 0x5f, 0xe9, 0x15, 0xba, 0x1d, 0x19, 0xb7, 0xc2, 0xf2, 0x35, 0xbd, + 0xae, 0xea, 0xb2, 0x94, 0x8e, 0x91, 0x22, 0xe3, 0xa4, 0x48, 0x95, 0xa6, 0x89, 0x1f, 0x15, 0x60, + 0x62, 0xed, 0x7a, 0xbd, 0xd3, 0x94, 0x2b, 0xf2, 0x07, 0xfb, 0xb2, 0xa6, 0xa3, 0x49, 0x88, 0x98, + 0xb0, 0x22, 0x8a, 0x84, 0xe6, 0x60, 0x44, 0x93, 0x1b, 0x16, 0x8a, 0xb8, 0x26, 0x37, 0x4a, 0x12, + 0x9a, 0x85, 0x78, 0x4b, 0x69, 0x2b, 0x3a, 0xe9, 0x38, 0x56, 0xa1, 0x3f, 0xd0, 0x31, 0x98, 0xd2, + 0x70, 0x3b, 0x9d, 0x86, 0x5c, 0xeb, 0x5e, 0xbb, 0xa6, 0xc9, 0x3a, 0xe9, 0x35, 0x56, 0x99, 0x34, + 0x92, 0xcb, 0x24, 0x15, 0xa5, 0x20, 0x5a, 0xd7, 0x1a, 0xe9, 0x38, 0x81, 0x84, 0xff, 0x15, 0x77, + 0x61, 0x94, 0x02, 0xd1, 0xd0, 0x7b, 0x60, 0xb4, 0x41, 0xff, 0x4d, 0x0b, 0xcb, 0xd1, 0xe3, 0xc9, + 0x73, 0x8f, 0xaf, 0x0c, 0x17, 0xd2, 0x15, 0x46, 0x82, 0x51, 0x0d, 0x8f, 0x1a, 0xeb, 0x3e, 0x42, + 0xba, 0x67, 0xbf, 0xdc, 0x51, 0x8b, 0x7f, 0x3f, 0x02, 0x23, 0xb4, 0x05, 0xf4, 0x1c, 0x24, 0x69, + 0x1b, 0x35, 0x2c, 0x41, 0x84, 0x0d, 0xc9, 0x73, 0x99, 0x15, 0x2a, 0xaa, 0x2b, 0x86, 0xa8, 0xae, + 0xec, 0x18, 0xa2, 0x5a, 0x01, 0x5a, 0xbc, 0x50, 0xd7, 0x65, 0x54, 0x00, 0x90, 0x6f, 0xca, 0x1d, + 0xbd, 0xa6, 0xef, 0xf6, 0x64, 0xd2, 0x73, 0xf2, 0xdc, 0x51, 0x3b, 0x74, 0x86, 0x77, 0xa3, 0xdb, + 0xa8, 0xb7, 0x94, 0x0f, 0xc9, 0xd2, 0x26, 0x95, 0xbd, 0xca, 0x18, 0xa9, 0xb8, 0xb3, 0xdb, 0x93, + 0x51, 0x06, 0x12, 0x06, 0xb3, 0x18, 0x4c, 0xf3, 0x37, 0x5a, 0x82, 0x31, 0x59, 0x52, 0xf4, 0xae, + 0x8a, 0xc7, 0x23, 0x46, 0xc6, 0x23, 0x41, 0x13, 0x4a, 0x12, 0x26, 0x9a, 0xfe, 0x4f, 0xd8, 0x3a, + 0x56, 0x61, 0xbf, 0xd0, 0x49, 0x88, 0x49, 0x75, 0xbd, 0x9e, 0x1e, 0x21, 0x80, 0x16, 0x06, 0x88, + 0xa9, 0x92, 0x59, 0x59, 0x21, 0x85, 0xc4, 0x6d, 0x98, 0xc8, 0xf7, 0x7a, 0x2d, 0xa5, 0x41, 0x26, + 0x57, 0xa9, 0x80, 0x16, 0x2c, 0x79, 0x58, 0x1d, 0x7d, 0x73, 0x35, 0xa6, 0x46, 0x52, 0x02, 0x11, + 0x8c, 0xc7, 0x01, 0x9c, 0x22, 0x6a, 0x15, 0x18, 0xeb, 0x19, 0x82, 0x2a, 0x1e, 0x81, 0x31, 0x43, + 0x6a, 0xbd, 0x5b, 0x13, 0x1f, 0x85, 0x91, 0x2b, 0x9a, 0xac, 0x0e, 0x2b, 0xf2, 0x04, 0x8c, 0x6d, + 0x74, 0x9b, 0x4a, 0x67, 0xab, 0xde, 0x96, 0x71, 0xef, 0x2d, 0xfc, 0xa3, 0xd6, 0xa9, 0xb7, 0x65, + 0x67, 0xe9, 0xb1, 0x96, 0x51, 0x4e, 0xec, 0xc1, 0xf4, 0x95, 0x8e, 0xf2, 0xc1, 0xbe, 0x8c, 0x5b, + 0x37, 0x64, 0xfc, 0x3c, 0x8c, 0xf5, 0x35, 0x59, 0xe5, 0xeb, 0x1e, 0x78, 0x73, 0x75, 0x51, 0x5d, + 0x38, 0x37, 0xf7, 0x23, 0xef, 0xff, 0x91, 0xf7, 0x5f, 0xd0, 0x7a, 0xf5, 0x86, 0x7c, 0xe1, 0x87, + 0x7f, 0xf8, 0xd5, 0xb3, 0xa7, 0xce, 0x9d, 0x39, 0xf3, 0xda, 0x91, 0x4a, 0x02, 0x17, 0x27, 0xfd, + 0x2e, 0x43, 0x5c, 0x6e, 0xd7, 0x95, 0x16, 0x23, 0x18, 0xde, 0x5c, 0x1d, 0x55, 0xe3, 0x29, 0x21, + 0xfd, 0x3b, 0x42, 0x85, 0x66, 0x88, 0x67, 0x01, 0xf1, 0x3d, 0x6a, 0xbd, 0x6e, 0x47, 0x23, 0x23, + 0xa7, 0x68, 0xb5, 0x3e, 0xc9, 0x20, 0x5d, 0x26, 0x2a, 0x09, 0x45, 0xa3, 0x05, 0xc5, 0xef, 0x0b, + 0x30, 0xbd, 0xa6, 0xca, 0x75, 0xfd, 0x6e, 0xa1, 0x7c, 0x2f, 0xc4, 0xaf, 0xf7, 0xdb, 0xf5, 0x0e, + 0x13, 0xc2, 0x73, 0xbe, 0xf3, 0x87, 0x74, 0x7e, 0x09, 0x57, 0x61, 0xbd, 0x5f, 0x7a, 0xa4, 0x42, + 0x9b, 0x40, 0xdb, 0x30, 0xda, 0xae, 0x37, 0xae, 0x2b, 0x4c, 0xc9, 0x24, 0xcf, 0x3d, 0x19, 0xac, + 0xb5, 0x4d, 0x5a, 0xc9, 0x6a, 0xcf, 0x68, 0x66, 0x35, 0x09, 0x31, 0x8c, 0x14, 0x45, 0xff, 0xcf, + 0xaa, 0x20, 0xfe, 0x74, 0x1c, 0xd0, 0x60, 0xf7, 0xe8, 0x04, 0xc0, 0x35, 0x45, 0xd5, 0x74, 0x9e, + 0x7a, 0x9e, 0xd9, 0x63, 0x24, 0x97, 0x10, 0x7b, 0x0c, 0xc6, 0x5a, 0x75, 0xa3, 0xe4, 0xe0, 0xb0, + 0x24, 0x70, 0x26, 0x29, 0x78, 0x14, 0xc6, 0x3a, 0x4a, 0xe3, 0x06, 0x2d, 0x18, 0x25, 0x05, 0x13, + 0x6f, 0xae, 0xc6, 0xd5, 0x28, 0x29, 0x86, 0xb3, 0x48, 0xb1, 0x67, 0x00, 0xf5, 0x54, 0xf9, 0x9a, + 0xac, 0xaa, 0xb2, 0x54, 0x6b, 0xd5, 0x3b, 0xcd, 0x7e, 0xbd, 0x29, 0xd3, 0xd9, 0xc6, 0x95, 0x9f, + 0x36, 0xcb, 0x6c, 0xb0, 0x22, 0xe8, 0xdd, 0x30, 0xd2, 0x94, 0x3b, 0x92, 0x4c, 0x27, 0xe0, 0xa4, + 0xbf, 0xda, 0x5a, 0x27, 0xa5, 0x2b, 0xac, 0x16, 0x12, 0x0d, 0xd9, 0x1a, 0x21, 0x7d, 0x8d, 0xbf, + 0xb9, 0x3a, 0xa6, 0x8e, 0x12, 0x22, 0x3e, 0x60, 0x48, 0x17, 0xca, 0xc2, 0xb4, 0xa2, 0xd5, 0xc8, + 0xff, 0xb5, 0x9b, 0xb2, 0xaa, 0x5c, 0x53, 0x64, 0x29, 0x3d, 0x4a, 0xe4, 0x69, 0x4a, 0xd1, 0x8a, + 0x38, 0xfd, 0x45, 0x96, 0x8c, 0x0e, 0x42, 0xbc, 0x77, 0x1d, 0x1b, 0x87, 0x04, 0x37, 0x3d, 0xd2, + 0xb3, 0x15, 0x9a, 0xca, 0x9a, 0x22, 0xff, 0x5b, 0x4d, 0x8d, 0x19, 0x4d, 0x6d, 0xe3, 0x74, 0xb3, + 0x29, 0x11, 0x46, 0x1b, 0xdd, 0x7e, 0x47, 0x57, 0x77, 0xd3, 0xe0, 0x60, 0x84, 0x91, 0x81, 0x8e, + 0x40, 0xa2, 0x45, 0xf4, 0x9a, 0xbe, 0x9b, 0x4e, 0x3a, 0xb9, 0x6b, 0xe4, 0xa0, 0x13, 0x90, 0xec, + 0x75, 0x35, 0xbd, 0xde, 0xaa, 0x35, 0xba, 0x92, 0x9c, 0x1e, 0x77, 0x14, 0x04, 0x9a, 0xb9, 0xd6, + 0x95, 0xf0, 0x5c, 0x1b, 0x51, 0xe5, 0xa6, 0xd2, 0xed, 0xa4, 0x27, 0x1c, 0xa5, 0x58, 0x3a, 0xca, + 0xc1, 0xa4, 0xa6, 0xab, 0xb2, 0xac, 0xd7, 0xea, 0x92, 0xa4, 0xca, 0x9a, 0x96, 0x9e, 0x74, 0x94, + 0x9c, 0xa0, 0xf9, 0x79, 0x9a, 0x8d, 0x1e, 0x83, 0x44, 0xaf, 0xae, 0x69, 0xb7, 0xba, 0xaa, 0x94, + 0x9e, 0xe2, 0xb9, 0x72, 0xa9, 0x62, 0x66, 0x88, 0x57, 0x61, 0xd6, 0x4d, 0x84, 0xd1, 0x21, 0x88, + 0x79, 0x48, 0x23, 0x49, 0x47, 0x59, 0x48, 0x4a, 0xb2, 0xd6, 0x50, 0x15, 0xe2, 0x65, 0x30, 0x51, + 0x64, 0x50, 0xbe, 0x17, 0xad, 0xf0, 0x99, 0xe2, 0xaf, 0x46, 0x61, 0xdc, 0xa6, 0x20, 0x9c, 0x76, + 0xf7, 0x79, 0x88, 0x6b, 0x3a, 0xb6, 0x41, 0x11, 0x22, 0x4b, 0x27, 0xfc, 0x64, 0x09, 0x37, 0x56, + 0xc5, 0x15, 0x2a, 0xb4, 0x1e, 0x7a, 0x1e, 0x26, 0x1a, 0x98, 0x0a, 0xa5, 0xdb, 0xa1, 0xc6, 0x2c, + 0xea, 0x6b, 0xcc, 0xc6, 0x8d, 0x0a, 0xc4, 0x9c, 0x39, 0x6c, 0x61, 0x2c, 0x94, 0x2d, 0xe4, 0xad, + 0x58, 0x7c, 0xd0, 0x8a, 0x59, 0x8a, 0x6d, 0x84, 0x5a, 0x31, 0x53, 0x75, 0x15, 0x0d, 0xd5, 0x35, + 0x4a, 0xfa, 0x3b, 0xed, 0x47, 0x37, 0xd3, 0x1a, 0x94, 0x8b, 0x96, 0xd6, 0xba, 0x6c, 0x69, 0xad, + 0x04, 0x69, 0x28, 0xe7, 0xd7, 0x90, 0x39, 0xd8, 0x66, 0x53, 0xee, 0x0a, 0xeb, 0x3f, 0xc6, 0x20, + 0x81, 0x99, 0xfd, 0xa2, 0x22, 0xdf, 0x7a, 0x3b, 0x8d, 0xda, 0x61, 0x48, 0x5a, 0x16, 0x57, 0x4b, + 0x8f, 0x2c, 0x47, 0x8f, 0x8f, 0x55, 0xc0, 0xb4, 0xb4, 0x1a, 0x3a, 0x03, 0xb3, 0x9c, 0xde, 0xb4, + 0x8c, 0xf3, 0x28, 0xe1, 0x8e, 0xa5, 0x53, 0x2d, 0x23, 0x7e, 0x1e, 0x80, 0x68, 0x6e, 0x52, 0x98, + 0x8d, 0xd3, 0x30, 0xa8, 0x44, 0xcf, 0x93, 0xea, 0xe8, 0x28, 0x4c, 0xaa, 0xb2, 0xd6, 0xed, 0xab, + 0xd8, 0xd3, 0xbc, 0xd5, 0x91, 0x55, 0xa2, 0xb9, 0xc6, 0x2a, 0x13, 0x46, 0x6a, 0x19, 0x27, 0xda, + 0x45, 0x0d, 0x1c, 0xa2, 0x96, 0x37, 0x44, 0x2d, 0x49, 0x7a, 0x3e, 0x11, 0x48, 0xd4, 0xf0, 0xb0, + 0x5b, 0x62, 0xb6, 0x6e, 0x89, 0xd9, 0x38, 0x69, 0xe4, 0x64, 0x40, 0x31, 0x63, 0xcd, 0xb8, 0x8b, + 0xd8, 0xcf, 0xc4, 0x60, 0xc2, 0x26, 0xd7, 0xe8, 0xe0, 0xa0, 0x39, 0xe4, 0x4d, 0xe0, 0xd2, 0x80, + 0x09, 0xe4, 0xcc, 0xde, 0xa3, 0x30, 0x2e, 0x29, 0x5a, 0xaf, 0x55, 0xdf, 0xe5, 0x2c, 0x5f, 0x25, + 0xc9, 0xd2, 0x8c, 0xfa, 0x96, 0x65, 0x64, 0x7e, 0xa5, 0x69, 0x0f, 0x4f, 0xbb, 0xda, 0x43, 0xea, + 0x63, 0x0e, 0xb5, 0x82, 0x23, 0x7b, 0xb2, 0x82, 0xb3, 0x86, 0x15, 0xa4, 0x72, 0x33, 0xcc, 0xee, + 0x25, 0xdc, 0xed, 0xde, 0xac, 0x61, 0xf7, 0xa8, 0x48, 0x0c, 0x33, 0x77, 0xe0, 0x6e, 0xee, 0xd2, + 0x96, 0xb9, 0x23, 0x96, 0xcc, 0x32, 0x72, 0x19, 0xce, 0xc8, 0x8d, 0x33, 0x46, 0x1b, 0xa6, 0xed, + 0xb0, 0xdd, 0xb4, 0x11, 0xa3, 0x65, 0x33, 0x68, 0xf3, 0xa6, 0x41, 0x9b, 0xa4, 0x1e, 0x3a, 0x33, + 0x63, 0x47, 0x07, 0xcc, 0xd8, 0x14, 0x15, 0x66, 0x9b, 0xf1, 0x12, 0xff, 0x38, 0x06, 0x63, 0xa6, + 0x0c, 0xa2, 0x22, 0xa4, 0x0c, 0x8b, 0x55, 0xa3, 0x53, 0x58, 0x0a, 0xb0, 0x5e, 0x99, 0x32, 0xea, + 0xd0, 0x05, 0x8f, 0xe4, 0x90, 0xac, 0xc8, 0x50, 0xc9, 0x8a, 0xfa, 0x48, 0x56, 0xcc, 0x47, 0xb2, + 0xe2, 0x81, 0x24, 0x6b, 0xc4, 0x5f, 0xb2, 0x46, 0xf7, 0x27, 0x59, 0x09, 0x5f, 0xc9, 0x1a, 0xf3, + 0x91, 0x2c, 0xf0, 0x95, 0xac, 0xa4, 0xaf, 0x64, 0x8d, 0x7b, 0x4b, 0xd6, 0xc4, 0x70, 0xc9, 0x9a, + 0x1c, 0x22, 0x59, 0x53, 0x3e, 0x92, 0x95, 0x72, 0x93, 0xac, 0x75, 0x98, 0x72, 0x98, 0x3f, 0x84, + 0x78, 0x67, 0x87, 0x39, 0x38, 0xcb, 0x2e, 0x0e, 0x8e, 0xdd, 0xad, 0xf9, 0x09, 0x01, 0x92, 0x9c, + 0x86, 0x43, 0xef, 0x81, 0x49, 0x22, 0x3e, 0x37, 0xe4, 0x5d, 0x8c, 0x20, 0x90, 0x88, 0x8e, 0xe3, + 0x1a, 0x97, 0xe5, 0xdd, 0x3c, 0x2e, 0x6f, 0xe2, 0x88, 0x78, 0xe3, 0x88, 0x0e, 0xe2, 0x78, 0x3f, + 0xcc, 0x5e, 0xe9, 0x49, 0x83, 0x2e, 0x9c, 0xe7, 0x6a, 0x36, 0x8c, 0xef, 0xf6, 0x7b, 0x02, 0xcc, + 0xe6, 0x25, 0x89, 0x35, 0x7d, 0x59, 0xde, 0x35, 0x5a, 0x5f, 0x86, 0x51, 0x62, 0x6d, 0x06, 0xbb, + 0x18, 0xc1, 0xe9, 0x25, 0x09, 0x6d, 0x40, 0xcc, 0x0c, 0x0e, 0x4c, 0x9e, 0x5b, 0x09, 0x68, 0x2c, + 0x2e, 0xcb, 0xbb, 0x3b, 0xbb, 0x3d, 0x99, 0xe0, 0xb9, 0x2d, 0x44, 0x96, 0x1f, 0xa9, 0x90, 0x56, + 0xd0, 0x1a, 0x4c, 0xc9, 0xaf, 0xf4, 0x14, 0x35, 0x94, 0xbb, 0x30, 0x69, 0x55, 0xc1, 0x36, 0x5f, + 0xfc, 0xe5, 0x08, 0xcc, 0x39, 0xa8, 0xf1, 0x74, 0x49, 0x1d, 0xbe, 0x49, 0x24, 0xa4, 0x6f, 0x32, + 0x2c, 0xb4, 0xb1, 0xca, 0x38, 0x13, 0xdb, 0x0b, 0x67, 0xbc, 0xf9, 0x11, 0x0f, 0xcb, 0x0f, 0x3c, + 0xd7, 0xb0, 0xb4, 0x4a, 0xb2, 0x5e, 0x57, 0x5a, 0x1a, 0xd1, 0x46, 0xe3, 0x15, 0xb8, 0x21, 0xef, + 0x16, 0x68, 0x8a, 0xf8, 0x12, 0xcc, 0x58, 0xbd, 0x97, 0x0a, 0xc1, 0x07, 0xff, 0x10, 0x8c, 0xe0, + 0x96, 0x07, 0xa3, 0x25, 0xf1, 0x1b, 0xf2, 0x6e, 0x49, 0x12, 0x7f, 0x32, 0x02, 0x93, 0x56, 0xcb, + 0xae, 0xfe, 0xe5, 0xea, 0x7e, 0xe4, 0x87, 0x71, 0x69, 0xd8, 0x28, 0x0c, 0x0c, 0x71, 0x2c, 0xe4, + 0x10, 0xdf, 0x8d, 0x21, 0x10, 0x5f, 0x85, 0x05, 0x0b, 0x79, 0x55, 0xae, 0xab, 0x8d, 0xeb, 0x06, + 0x97, 0xad, 0xc8, 0x9e, 0xe0, 0x1e, 0xd9, 0x8b, 0xf0, 0xf1, 0x48, 0x16, 0x66, 0x8c, 0x9a, 0x61, + 0x46, 0x7e, 0x94, 0x62, 0xae, 0xa3, 0x24, 0x7e, 0x2d, 0x02, 0xe9, 0xc1, 0xde, 0xd9, 0x94, 0x08, + 0xd7, 0xfd, 0xa3, 0x30, 0xae, 0x77, 0xb1, 0xd6, 0x56, 0x65, 0xad, 0xdf, 0x32, 0xa2, 0x8e, 0x49, + 0x92, 0x56, 0x21, 0x49, 0xe8, 0x22, 0x56, 0xdc, 0x24, 0x33, 0x46, 0x42, 0x9d, 0x21, 0x86, 0x14, + 0x0b, 0x48, 0x85, 0xd5, 0xa6, 0xa6, 0xb4, 0xdb, 0x90, 0x35, 0x4d, 0x96, 0x6a, 0x0e, 0x1f, 0x7e, + 0xda, 0xcc, 0xa9, 0x1a, 0xe3, 0x9c, 0x87, 0xc9, 0x9b, 0x8a, 0x7c, 0xab, 0x66, 0xc6, 0xdc, 0x59, + 0x74, 0x70, 0xd8, 0x28, 0x4d, 0xe0, 0x1a, 0xe6, 0x4f, 0xf1, 0x7b, 0x02, 0x4c, 0x93, 0xe5, 0xcb, + 0x3e, 0xc6, 0x67, 0x07, 0x26, 0xb5, 0xae, 0xaa, 0x2b, 0x9d, 0x66, 0xad, 0xd1, 0x6d, 0xf5, 0xdb, + 0x54, 0x97, 0x4f, 0xfa, 0xaf, 0xfa, 0xac, 0x8e, 0xb1, 0xc2, 0x9a, 0x60, 0x8d, 0xac, 0x91, 0x36, + 0x8c, 0x51, 0x8f, 0x59, 0xa3, 0x5e, 0x82, 0xd1, 0x0f, 0xf6, 0x65, 0x55, 0x91, 0xb5, 0x74, 0x9c, + 0xb0, 0x39, 0x17, 0xbc, 0x83, 0x17, 0xfa, 0xb2, 0xba, 0x5b, 0x31, 0xea, 0x8b, 0x6f, 0x08, 0x30, + 0xe5, 0xc8, 0x44, 0x25, 0x88, 0xde, 0x90, 0x77, 0x09, 0xc5, 0x61, 0xb1, 0x73, 0x3a, 0x1d, 0xb7, + 0x81, 0x0a, 0x30, 0xd2, 0x96, 0xf5, 0xeb, 0x5d, 0x89, 0x4d, 0xf1, 0x53, 0x7e, 0xad, 0xd1, 0x96, + 0x36, 0x49, 0x9d, 0x0a, 0xab, 0x8b, 0xb9, 0x7d, 0xb3, 0xde, 0xea, 0x1b, 0x1e, 0x1b, 0xfd, 0x21, + 0xfe, 0x5c, 0x04, 0x10, 0x3f, 0x62, 0xf7, 0x4a, 0xa6, 0xdf, 0xe3, 0x90, 0xe9, 0xe3, 0x41, 0x38, + 0xf2, 0x80, 0xa5, 0xf9, 0x2b, 0x51, 0x48, 0x62, 0x18, 0xdb, 0x6a, 0xf7, 0x9a, 0xd2, 0x1a, 0xb4, + 0x7d, 0xfb, 0x71, 0x93, 0x87, 0xae, 0xae, 0x9c, 0x3e, 0x74, 0x7c, 0xd0, 0x87, 0xbe, 0xcf, 0x6e, + 0x32, 0x6f, 0x1f, 0x12, 0x7e, 0xf6, 0x61, 0x6c, 0x7f, 0xe1, 0x09, 0x08, 0x13, 0x9e, 0x10, 0xbf, + 0x1f, 0xa5, 0x73, 0x8f, 0x0d, 0x92, 0xab, 0x85, 0x7c, 0x67, 0xa0, 0x1e, 0xfc, 0x40, 0x39, 0x63, + 0x45, 0xc9, 0xc0, 0xb1, 0xa2, 0x71, 0xaf, 0x58, 0x91, 0xf8, 0xa5, 0x08, 0xa4, 0xa9, 0x4b, 0xcf, + 0x49, 0x80, 0xd7, 0xa6, 0xe5, 0x89, 0x41, 0x21, 0x08, 0xb4, 0x7b, 0x10, 0x0d, 0xba, 0x7b, 0x10, + 0x0b, 0xb9, 0x7b, 0x10, 0x0f, 0xb3, 0x7b, 0xb0, 0xa7, 0xb8, 0x89, 0x78, 0x0d, 0x16, 0x2d, 0xfe, + 0x5c, 0x61, 0x31, 0x2e, 0x2f, 0x06, 0xd9, 0xf6, 0x96, 0x22, 0x61, 0xf6, 0x96, 0xc4, 0xff, 0x2d, + 0xc0, 0x18, 0x6e, 0x9e, 0xac, 0x8c, 0x07, 0x1a, 0x9e, 0xb5, 0xed, 0x8f, 0x0d, 0x5d, 0x63, 0x47, + 0xdd, 0xd7, 0xd8, 0xbc, 0x54, 0xc7, 0xfc, 0xa4, 0x3a, 0xbe, 0x3f, 0xa9, 0x1e, 0x09, 0xa5, 0x7e, + 0xfe, 0xaf, 0x00, 0x13, 0x26, 0xe5, 0xae, 0xca, 0xe7, 0xad, 0x4c, 0xfd, 0x4d, 0x98, 0xb7, 0xe4, + 0x8b, 0x80, 0xf6, 0x12, 0x2e, 0xdf, 0x3d, 0xd2, 0x30, 0x1c, 0x31, 0xe5, 0x8d, 0xc4, 0x51, 0xdc, + 0x38, 0x4e, 0x23, 0x32, 0x11, 0xdf, 0x88, 0x4c, 0xd4, 0x3d, 0x22, 0x33, 0x2c, 0xe6, 0x3d, 0xc0, + 0xf1, 0x91, 0xfd, 0x71, 0x7c, 0x74, 0x4f, 0xf2, 0x46, 0xf1, 0x7a, 0xc8, 0xdb, 0x5b, 0x96, 0xfa, + 0x0f, 0xf3, 0xf2, 0x46, 0x40, 0xfb, 0x06, 0x71, 0x0e, 0xdb, 0xd8, 0xb1, 0x3a, 0xf6, 0xe6, 0xea, + 0x88, 0x1a, 0x4b, 0x09, 0x3e, 0x5b, 0x9e, 0xee, 0x9c, 0x11, 0xff, 0x6d, 0x84, 0x7a, 0x84, 0xc6, + 0xd6, 0xa1, 0x93, 0xf7, 0x5c, 0x24, 0x2f, 0xe2, 0x1d, 0xc9, 0x8b, 0x0e, 0x8f, 0xe4, 0xc5, 0x86, + 0x44, 0xf2, 0xe2, 0x3e, 0x91, 0xbc, 0x11, 0x97, 0x48, 0x9e, 0x6d, 0x3c, 0x47, 0xfd, 0xc6, 0x33, + 0xb1, 0xbf, 0xf1, 0x1c, 0x0b, 0x35, 0x9e, 0x7f, 0x10, 0xa1, 0xce, 0x1b, 0x43, 0xea, 0x2a, 0xcf, + 0xef, 0xf0, 0x74, 0x2c, 0xac, 0x86, 0xe0, 0x9c, 0x22, 0x86, 0xd7, 0x77, 0x9a, 0x88, 0x0e, 0x2e, + 0xfb, 0x6d, 0xe6, 0x47, 0x83, 0x6e, 0xe6, 0xc7, 0x02, 0x6d, 0xe6, 0xc7, 0x03, 0x6f, 0xe6, 0x8f, + 0x0c, 0xdd, 0xcc, 0x17, 0xcb, 0x30, 0xbe, 0xd9, 0x6f, 0xe9, 0xca, 0xc5, 0x7a, 0x43, 0xef, 0xaa, + 0x1a, 0x7a, 0x1e, 0x62, 0xed, 0x6b, 0x75, 0xe3, 0xd0, 0x98, 0xff, 0x4e, 0x9c, 0x55, 0xb7, 0x42, + 0x2a, 0x8a, 0x1f, 0x17, 0x20, 0xc9, 0xa5, 0xa2, 0xe7, 0x58, 0xb4, 0x8d, 0x2e, 0xec, 0x8f, 0xf9, + 0x36, 0x78, 0xad, 0xce, 0x85, 0xd9, 0xde, 0x6d, 0xdf, 0x0a, 0xf6, 0x5d, 0x04, 0x6f, 0x5e, 0xcc, + 0xf3, 0x3b, 0xc1, 0xe2, 0x0b, 0x30, 0xb5, 0xcd, 0xf6, 0x6a, 0x7c, 0x47, 0xf4, 0x28, 0x77, 0xac, + 0xc1, 0xa1, 0xfb, 0xf8, 0x83, 0x0d, 0x3f, 0x06, 0x87, 0xaa, 0xb2, 0x6e, 0xb4, 0xba, 0xd5, 0xd5, + 0x95, 0x6b, 0xec, 0xa0, 0x97, 0x6f, 0x0f, 0x05, 0x5b, 0xe0, 0xf1, 0x8c, 0x1f, 0x31, 0x7c, 0xdb, + 0x16, 0x4f, 0xc4, 0x53, 0x90, 0x31, 0x7a, 0x5f, 0xeb, 0xb6, 0x7b, 0x2d, 0xf9, 0x15, 0x45, 0xdf, + 0xdd, 0xee, 0xb6, 0x94, 0xc6, 0x6e, 0xa9, 0xe0, 0xd4, 0x06, 0xe2, 0x5f, 0x47, 0x21, 0xed, 0x55, + 0xdc, 0xc5, 0xe9, 0xf0, 0xd9, 0x9b, 0x40, 0x79, 0x63, 0x40, 0x68, 0x8c, 0xc9, 0x57, 0x3e, 0x68, + 0x47, 0xc3, 0x77, 0xe7, 0x63, 0xfb, 0x9b, 0xed, 0xf1, 0x50, 0xab, 0xaa, 0x83, 0x00, 0x6d, 0xa5, + 0x53, 0x6b, 0xc9, 0x9d, 0xa6, 0x7e, 0x9d, 0x4c, 0x8e, 0x58, 0x65, 0xac, 0xad, 0x74, 0x36, 0x48, + 0x02, 0x7a, 0x0c, 0x26, 0xae, 0xd7, 0xb5, 0x5a, 0xab, 0x7b, 0x4b, 0x56, 0x1b, 0x75, 0x4d, 0x66, + 0xc7, 0x82, 0xc6, 0xaf, 0xd7, 0xb5, 0x0d, 0x23, 0xcd, 0x28, 0xd4, 0xef, 0xf5, 0x58, 0xa1, 0x84, + 0x59, 0xe8, 0x8a, 0x91, 0x86, 0x3b, 0xc2, 0x85, 0x3a, 0xfd, 0xf6, 0x55, 0xb6, 0xb1, 0x9e, 0xa8, + 0x8c, 0x5d, 0xaf, 0x6b, 0x5b, 0x24, 0xc1, 0xc8, 0xd6, 0x76, 0xdb, 0x57, 0xbb, 0x2d, 0xb6, 0x85, + 0x8a, 0xb3, 0xab, 0x24, 0xc1, 0xa6, 0x2e, 0x93, 0x0e, 0x75, 0x79, 0x10, 0x40, 0xd1, 0x6a, 0x92, + 0x7c, 0xad, 0xde, 0x6f, 0xe9, 0x64, 0xb5, 0x97, 0xa8, 0x8c, 0x29, 0x5a, 0x81, 0x26, 0x88, 0x7f, + 0x23, 0xc0, 0x21, 0xaf, 0x11, 0xa7, 0x47, 0x72, 0x9c, 0x1b, 0x35, 0xc2, 0x90, 0x8d, 0x1a, 0x07, + 0xc3, 0x22, 0xbe, 0x0c, 0x8b, 0x06, 0x61, 0x58, 0xcc, 0x97, 0x61, 0xf1, 0xe1, 0x0c, 0x1b, 0x71, + 0x30, 0x4c, 0xfc, 0x48, 0xc4, 0x9b, 0x6a, 0xaa, 0xdd, 0x07, 0xa4, 0x3d, 0xc4, 0x76, 0x95, 0x83, + 0x0b, 0x51, 0x5f, 0x2e, 0xc4, 0x82, 0x70, 0x21, 0xee, 0xcb, 0x85, 0x91, 0xe1, 0x5c, 0x18, 0x75, + 0x72, 0xe1, 0x28, 0xcc, 0x18, 0x4c, 0xc8, 0x37, 0x65, 0x4f, 0xa5, 0xf0, 0xc9, 0x28, 0x4c, 0x0f, + 0x94, 0x7b, 0x3b, 0x6a, 0x83, 0x65, 0x18, 0x6f, 0xd7, 0x5f, 0xa9, 0xd5, 0x49, 0xed, 0x5d, 0x8d, + 0xe9, 0x03, 0x68, 0xd7, 0x5f, 0xc9, 0xe3, 0x12, 0xbb, 0x1a, 0x3a, 0x0e, 0x29, 0xb2, 0xb1, 0x22, + 0xd7, 0x6e, 0xd5, 0xd5, 0x0e, 0x2d, 0x45, 0xfd, 0x17, 0xba, 0xe1, 0x22, 0xbf, 0x54, 0x57, 0x3b, + 0xa4, 0xe4, 0xb0, 0x48, 0x92, 0x7d, 0xca, 0x8e, 0x39, 0xa7, 0xec, 0xa7, 0x04, 0x58, 0x18, 0x18, + 0x8f, 0x3d, 0xcc, 0x55, 0x27, 0x39, 0x91, 0x40, 0xe4, 0x44, 0xdd, 0xc8, 0x11, 0x7f, 0xde, 0x0d, + 0xd3, 0x5d, 0x98, 0x49, 0x4e, 0x8c, 0xd1, 0x40, 0x18, 0x63, 0xae, 0x18, 0x4f, 0x58, 0x10, 0x37, + 0xba, 0x8d, 0x1b, 0xdd, 0xbe, 0xee, 0x29, 0xf2, 0x5f, 0x8c, 0xc2, 0x9c, 0x6b, 0xd9, 0xb7, 0xa3, + 0xd8, 0x3f, 0xca, 0xc6, 0x40, 0xd7, 0xe5, 0x76, 0x4f, 0x37, 0xc4, 0x3e, 0x89, 0xc7, 0x80, 0x25, + 0xa1, 0x27, 0x60, 0x5e, 0xbb, 0xde, 0xbd, 0x55, 0x6b, 0x75, 0x1b, 0x37, 0x6a, 0xdd, 0xbe, 0x5e, + 0xbb, 0x56, 0x57, 0x5a, 0x7d, 0x55, 0xd6, 0x98, 0xd2, 0x99, 0xc1, 0xb9, 0x98, 0x91, 0xe5, 0xbe, + 0x7e, 0x91, 0x65, 0xed, 0x67, 0x0a, 0xfc, 0xbc, 0x00, 0x4b, 0xae, 0xe3, 0xb3, 0x87, 0x69, 0xe0, + 0x24, 0x2f, 0x12, 0x86, 0xbc, 0xa8, 0x27, 0x79, 0xe2, 0x3f, 0xf3, 0xc2, 0x78, 0x17, 0xa6, 0x85, + 0x13, 0x73, 0x34, 0x0c, 0xe6, 0x98, 0x37, 0xe6, 0xcf, 0x0b, 0x30, 0x5e, 0x56, 0x9b, 0xa5, 0x7a, + 0x9b, 0x89, 0xfb, 0x1c, 0x8c, 0xd8, 0x3e, 0x9b, 0x89, 0x77, 0xc9, 0x07, 0x33, 0xfe, 0x52, 0xff, + 0x2c, 0x2c, 0x92, 0x70, 0x27, 0x8d, 0x34, 0xb7, 0xfb, 0x9a, 0x5e, 0xbb, 0x2a, 0xd7, 0xa4, 0x6e, + 0xbb, 0xae, 0x74, 0x18, 0xd7, 0xe6, 0x70, 0x01, 0x12, 0x6e, 0xde, 0xec, 0x6b, 0xfa, 0xaa, 0x5c, + 0x20, 0x99, 0x78, 0x45, 0x6a, 0x8c, 0x3b, 0x45, 0x6a, 0xfc, 0x14, 0xcf, 0x41, 0xaa, 0xac, 0x36, + 0xe9, 0x10, 0x07, 0x3c, 0x21, 0x8c, 0x2d, 0x7d, 0xb4, 0xac, 0x36, 0x07, 0xb8, 0x1d, 0x76, 0xad, + 0x50, 0x56, 0x9b, 0x0f, 0xd1, 0xa9, 0x51, 0xe3, 0x88, 0x4e, 0x9c, 0x3b, 0xa2, 0xc3, 0x4f, 0xa7, + 0x11, 0xfb, 0x74, 0x12, 0x3f, 0x1a, 0x81, 0xd1, 0xb2, 0xda, 0x74, 0x8d, 0x00, 0xbc, 0xbd, 0x38, + 0x71, 0x02, 0x46, 0x98, 0x9c, 0x1d, 0x86, 0x11, 0x26, 0x8e, 0xce, 0xc3, 0x23, 0x34, 0x59, 0xfc, + 0x78, 0x04, 0xc6, 0xca, 0x6a, 0x93, 0x15, 0xf7, 0x98, 0x09, 0xfb, 0x3e, 0xa1, 0xe3, 0xa0, 0x3e, + 0x1a, 0x8a, 0xfa, 0x79, 0x93, 0x06, 0x1a, 0x82, 0x61, 0xbf, 0x30, 0x07, 0xcc, 0x60, 0x1b, 0xf5, + 0x1b, 0xcd, 0xdf, 0x78, 0x7e, 0xf5, 0x54, 0xa5, 0x5d, 0x57, 0x77, 0x99, 0xc3, 0x68, 0xfc, 0x1c, + 0x16, 0x75, 0x11, 0xff, 0x67, 0x04, 0x26, 0x4c, 0x66, 0x10, 0x39, 0x7a, 0x7b, 0x33, 0x04, 0x7d, + 0x00, 0xa6, 0xd8, 0x67, 0x8f, 0x98, 0x52, 0xb2, 0x52, 0x4f, 0x90, 0x09, 0xf4, 0x4c, 0x80, 0x09, + 0xc4, 0xd8, 0x68, 0xd6, 0x27, 0x0b, 0xf6, 0xc9, 0x9b, 0xb6, 0xdf, 0xe2, 0x79, 0x98, 0xc9, 0x4b, + 0x92, 0x59, 0xda, 0xd0, 0x78, 0xa2, 0x43, 0x6e, 0x79, 0x9d, 0x67, 0x88, 0xee, 0x67, 0x05, 0xc8, + 0xb8, 0x74, 0x13, 0xa2, 0x09, 0x74, 0xc5, 0x16, 0x7e, 0xd8, 0x2b, 0x51, 0xce, 0x03, 0x74, 0x62, + 0x11, 0x96, 0x5c, 0x81, 0xb1, 0x93, 0x11, 0xb3, 0x10, 0xd7, 0xbb, 0x37, 0xe4, 0x8e, 0x21, 0x53, + 0xe4, 0x07, 0x4a, 0x41, 0xb4, 0xaf, 0x1a, 0x5b, 0x3c, 0xf8, 0x5f, 0xf1, 0xdd, 0x90, 0x66, 0xb5, + 0xe5, 0x3d, 0x31, 0xe8, 0x02, 0x2c, 0x6c, 0xd3, 0x41, 0x1e, 0xa8, 0xee, 0xab, 0x17, 0xce, 0xc3, + 0x7c, 0x45, 0x6e, 0x77, 0x6f, 0xca, 0xe1, 0xab, 0x7e, 0x35, 0x02, 0x0b, 0x66, 0xad, 0x7b, 0x7d, + 0x28, 0xa4, 0xe8, 0x38, 0x14, 0x72, 0x3a, 0xf8, 0x18, 0x3e, 0xd8, 0x93, 0x21, 0xff, 0x48, 0x80, + 0xf9, 0x01, 0x2e, 0xed, 0xe5, 0xb0, 0xd3, 0x96, 0x75, 0x08, 0x29, 0x4a, 0x58, 0xf0, 0x64, 0x60, + 0x16, 0xb8, 0x9e, 0x44, 0xfa, 0x4d, 0x01, 0x66, 0xdd, 0x4a, 0xa0, 0x2d, 0xfe, 0x38, 0xd2, 0xb9, + 0x90, 0x9d, 0xdc, 0xe7, 0x33, 0x49, 0x8f, 0xc3, 0x64, 0x59, 0x6d, 0x6e, 0xca, 0xed, 0xab, 0xb2, + 0x5a, 0xe9, 0xb6, 0x64, 0x0d, 0x97, 0x53, 0xf1, 0x3f, 0x24, 0x8c, 0x3b, 0x56, 0xa1, 0x3f, 0xc4, + 0x3f, 0x14, 0x88, 0xf9, 0xa3, 0x05, 0xd1, 0x82, 0xe3, 0xac, 0xa5, 0x79, 0xc4, 0xd2, 0xac, 0x1c, + 0xe1, 0x2a, 0xef, 0x4f, 0x89, 0xef, 0x7b, 0xb9, 0x33, 0x64, 0x8b, 0x4d, 0xdc, 0x34, 0xb4, 0x2a, + 0xe3, 0x40, 0xe0, 0xb3, 0xa4, 0xae, 0x84, 0x8a, 0xdb, 0x30, 0x4f, 0xcf, 0xf5, 0xdf, 0xb5, 0x16, + 0x2f, 0x70, 0xea, 0x25, 0x64, 0x8b, 0x86, 0x7e, 0xa1, 0xd5, 0x1e, 0x46, 0xfd, 0x42, 0x91, 0x3d, + 0x60, 0xfd, 0xf2, 0x57, 0xd4, 0x97, 0xb1, 0xb0, 0xbc, 0x65, 0xa4, 0x7b, 0xf8, 0x87, 0x7e, 0xee, + 0xdf, 0xf9, 0xd8, 0x8f, 0x6f, 0x25, 0x86, 0x1e, 0xdf, 0x1a, 0xf3, 0xf9, 0x1c, 0x05, 0x06, 0x4e, + 0x68, 0x19, 0xca, 0xdc, 0x2e, 0x92, 0xf7, 0x4d, 0x99, 0xf3, 0xdd, 0xba, 0x2b, 0xf3, 0x81, 0x12, + 0xe1, 0x95, 0x39, 0xdf, 0xc4, 0x7d, 0x56, 0xe6, 0x4f, 0xc3, 0x2c, 0xfb, 0xd4, 0x3f, 0xdc, 0xb2, + 0xb8, 0x6c, 0xd6, 0xa3, 0xd1, 0x08, 0xdf, 0xdd, 0xa8, 0x43, 0xfc, 0x47, 0x21, 0x2e, 0x0d, 0x7e, + 0x39, 0x02, 0x73, 0xac, 0xc5, 0x7b, 0xad, 0x77, 0xd6, 0x1c, 0x7a, 0xc7, 0x3f, 0xa2, 0x46, 0x71, + 0x3d, 0x60, 0xad, 0xf3, 0x5b, 0x11, 0x48, 0x72, 0x48, 0xf0, 0xbc, 0xe3, 0x6e, 0x73, 0x60, 0x1f, + 0x18, 0x9a, 0x97, 0x38, 0xb8, 0x7e, 0x85, 0xb3, 0x6a, 0x0f, 0x25, 0x9e, 0x0a, 0x48, 0xb8, 0x6d, + 0xb9, 0xbe, 0xaf, 0xd5, 0xf6, 0xbe, 0xcf, 0x43, 0x0d, 0x7e, 0x44, 0x3a, 0xe2, 0xf6, 0x11, 0xe9, + 0xb0, 0x95, 0xe8, 0xa7, 0x05, 0x53, 0x76, 0xf7, 0xa3, 0x4e, 0x36, 0x9c, 0xea, 0xe4, 0x5c, 0x50, + 0x6e, 0xba, 0x29, 0x93, 0xdf, 0x10, 0x00, 0x0d, 0xe6, 0xa3, 0x0d, 0x5e, 0x95, 0x9c, 0x09, 0xd5, + 0xc1, 0x7d, 0x56, 0x24, 0x65, 0x48, 0xb0, 0xee, 0x35, 0xb4, 0x06, 0x09, 0x26, 0x87, 0xc6, 0xce, + 0xfe, 0xb1, 0x80, 0xd0, 0x2b, 0x66, 0x45, 0xf1, 0x13, 0x11, 0x18, 0x65, 0xa9, 0x03, 0x21, 0xa7, + 0xb7, 0xa6, 0x6c, 0x0f, 0x0b, 0x3b, 0x65, 0x4d, 0xf1, 0xf0, 0x77, 0xbc, 0xff, 0x44, 0x80, 0x09, + 0x5b, 0xe1, 0xb7, 0x8e, 0xf3, 0xdd, 0x80, 0x94, 0x8d, 0xb2, 0xbc, 0x24, 0x79, 0x9b, 0x1c, 0xce, + 0xdd, 0x8d, 0xf8, 0x38, 0xd0, 0x51, 0x9e, 0x7f, 0xd7, 0x60, 0xc6, 0xd6, 0x09, 0xbb, 0x68, 0xe8, + 0xae, 0xf7, 0xb3, 0xed, 0xe8, 0x87, 0x7a, 0xed, 0xfb, 0xe8, 0x47, 0xd4, 0x61, 0xd2, 0x98, 0x48, + 0xdd, 0x96, 0x3c, 0x94, 0x39, 0x29, 0xaa, 0x59, 0x58, 0x48, 0x04, 0x6b, 0x87, 0x00, 0x1f, 0x9d, + 0xcf, 0x42, 0xbc, 0xa9, 0x76, 0xfb, 0x3d, 0x16, 0x1c, 0xa3, 0x3f, 0xc4, 0xdb, 0x96, 0xee, 0x62, + 0xdd, 0xae, 0xf6, 0x5b, 0x37, 0xbc, 0xbb, 0xae, 0xc2, 0x84, 0x61, 0xb8, 0x2c, 0xe1, 0x0b, 0xf0, + 0x1d, 0x95, 0xbd, 0x8f, 0xca, 0x78, 0xcf, 0xfa, 0xad, 0x89, 0x7f, 0x57, 0x80, 0x69, 0xae, 0x80, + 0xdf, 0x98, 0x2d, 0x72, 0xe4, 0x5b, 0x39, 0xfb, 0xe3, 0xc3, 0xa7, 0x2c, 0x03, 0x8d, 0x21, 0xf8, + 0x19, 0xe8, 0x3d, 0x8d, 0xc0, 0x83, 0xdd, 0xc9, 0x33, 0xe9, 0x1e, 0xe1, 0xe8, 0x1e, 0x6a, 0x6c, + 0xff, 0x44, 0x80, 0x29, 0x8e, 0x27, 0x41, 0x1c, 0x97, 0x07, 0xc3, 0x97, 0xf0, 0xa4, 0xad, 0xdb, + 0x04, 0xce, 0x6f, 0xf2, 0x7a, 0x0b, 0x9c, 0xf8, 0xf5, 0x08, 0x2c, 0x72, 0x2d, 0xdd, 0x6b, 0xf7, + 0x77, 0xdd, 0xe1, 0xfe, 0xe6, 0x42, 0xcc, 0xbb, 0x07, 0xec, 0x02, 0xff, 0xa6, 0x00, 0x69, 0x17, + 0x4e, 0x51, 0xf7, 0xed, 0xf1, 0x41, 0xb1, 0x72, 0xbb, 0xdd, 0x2c, 0xdc, 0x4d, 0x73, 0x68, 0xdb, + 0x72, 0xf3, 0x28, 0xbb, 0x9e, 0x0e, 0xc1, 0x2e, 0x57, 0x57, 0xef, 0xb7, 0x05, 0x98, 0x77, 0x2f, + 0x83, 0xb6, 0x79, 0x77, 0xef, 0xc9, 0xd0, 0x1d, 0xdd, 0x67, 0x97, 0xef, 0x7f, 0x44, 0xcc, 0x19, + 0x10, 0x24, 0x14, 0xb2, 0x34, 0xf0, 0x01, 0x8b, 0x5b, 0x68, 0x21, 0xea, 0x1d, 0x5a, 0x88, 0x0d, + 0x0d, 0x2d, 0xc4, 0x1d, 0xa1, 0x05, 0xd3, 0xe6, 0x8e, 0x0c, 0x71, 0x6d, 0x46, 0xf7, 0xe7, 0xda, + 0x24, 0xf6, 0xe1, 0xda, 0x80, 0x23, 0xf2, 0xe2, 0x54, 0x72, 0xc9, 0xc1, 0x50, 0xc8, 0x37, 0x22, + 0xb0, 0x64, 0x63, 0xf8, 0xbd, 0x56, 0x15, 0x25, 0x87, 0xaa, 0x38, 0x1b, 0x50, 0x24, 0x1f, 0x8a, + 0x28, 0xdd, 0x6f, 0x0b, 0x90, 0x71, 0xe5, 0xd6, 0xbd, 0x54, 0x17, 0x15, 0xa7, 0xba, 0x78, 0x36, + 0x14, 0xcb, 0x5c, 0x15, 0xc6, 0xef, 0x5a, 0x5a, 0x6f, 0x30, 0xd8, 0x54, 0xe1, 0x55, 0xc6, 0xd3, + 0x7b, 0xe8, 0xec, 0x3e, 0x2b, 0x8d, 0xff, 0x1a, 0x81, 0x24, 0x77, 0x5d, 0xe5, 0xbe, 0x4f, 0x13, + 0xe4, 0x7b, 0xbd, 0x87, 0xfc, 0x34, 0xc1, 0x26, 0x24, 0xbb, 0x8a, 0xd4, 0xa8, 0x35, 0xba, 0x9d, + 0x6b, 0x4a, 0x93, 0xe9, 0x8c, 0xac, 0x6f, 0x58, 0xb0, 0x54, 0x58, 0x5b, 0x23, 0x35, 0x2e, 0x3d, + 0x52, 0x01, 0xdc, 0x00, 0xfd, 0x65, 0xd3, 0x21, 0x63, 0x76, 0x1d, 0xb2, 0x3a, 0x0e, 0x50, 0xef, + 0xf5, 0x58, 0x4f, 0xa2, 0x0e, 0xd3, 0x1c, 0xa7, 0xd9, 0xa9, 0xa1, 0xa0, 0x62, 0x4f, 0x1d, 0x99, + 0x88, 0x77, 0x20, 0x2f, 0xee, 0x11, 0xc8, 0xfb, 0x5f, 0x71, 0x00, 0x0b, 0x3c, 0x7a, 0x0c, 0x26, + 0x54, 0x59, 0x52, 0x54, 0xdc, 0x61, 0x5f, 0x55, 0x8c, 0xa5, 0xea, 0xb8, 0x91, 0x78, 0x45, 0x55, + 0x34, 0xf4, 0x12, 0x89, 0xea, 0x10, 0x25, 0x46, 0x76, 0xc2, 0xe9, 0x92, 0x20, 0x40, 0xc4, 0x03, + 0x77, 0x64, 0xa8, 0x3f, 0xb2, 0x07, 0x3e, 0xa1, 0x72, 0xbf, 0x34, 0xb4, 0x05, 0xc9, 0xa6, 0x5a, + 0x67, 0xf7, 0xbb, 0xd2, 0xe5, 0x57, 0x80, 0xcf, 0xfd, 0x71, 0xab, 0xeb, 0xb8, 0x1a, 0x69, 0x12, + 0x9a, 0xc6, 0xbf, 0x1a, 0xfa, 0x11, 0x48, 0xd5, 0x2d, 0x96, 0xd6, 0xb8, 0xeb, 0x4f, 0x9e, 0x08, + 0xd2, 0x28, 0x37, 0x1c, 0xa4, 0xe9, 0xa9, 0xba, 0x3d, 0x01, 0x5b, 0xb4, 0x46, 0x4b, 0x91, 0x3b, + 0x64, 0x70, 0x98, 0x45, 0xa3, 0x09, 0x25, 0x09, 0xb3, 0x92, 0x65, 0x6a, 0x72, 0x43, 0x95, 0x75, + 0xe6, 0xaa, 0x8e, 0xd3, 0xc4, 0x2a, 0x49, 0x43, 0x7f, 0x1b, 0x52, 0xf5, 0xbe, 0x7e, 0xbd, 0x46, + 0x27, 0x21, 0x45, 0x38, 0x1a, 0x30, 0x12, 0x8d, 0x11, 0xf6, 0x75, 0x36, 0x8f, 0xe9, 0x91, 0x82, + 0xba, 0xed, 0x37, 0x3a, 0x0f, 0x8b, 0xbd, 0x2e, 0xbd, 0xfe, 0xad, 0xdb, 0xd7, 0x6b, 0xf6, 0x91, + 0x4d, 0x90, 0x91, 0x9d, 0xc7, 0x05, 0x36, 0x48, 0x7e, 0x85, 0x1f, 0xe3, 0x22, 0x8c, 0xde, 0x94, + 0x55, 0x4d, 0xe9, 0x76, 0x88, 0xd8, 0x06, 0x38, 0xc8, 0x88, 0xf1, 0xbc, 0x48, 0xab, 0x54, 0x8c, + 0xba, 0xe8, 0x28, 0x4c, 0x76, 0xba, 0x1d, 0xb9, 0xd6, 0xe8, 0xb6, 0x7b, 0x2d, 0xa5, 0xde, 0xd1, + 0xd9, 0x69, 0xf6, 0x09, 0x9c, 0xba, 0x66, 0x24, 0xa2, 0x17, 0x61, 0xc6, 0x28, 0xd1, 0x90, 0x6b, + 0x3d, 0xb5, 0x7b, 0xb5, 0x25, 0xb7, 0xe9, 0x67, 0xcd, 0x81, 0x6f, 0xf8, 0x45, 0x56, 0x0b, 0xdb, + 0xac, 0x01, 0xb4, 0x08, 0x09, 0x49, 0xbe, 0x59, 0x6b, 0x1b, 0x17, 0x61, 0x92, 0xd3, 0x65, 0x37, + 0x37, 0xbb, 0x92, 0x2c, 0x7e, 0x2c, 0x0e, 0x73, 0x8e, 0x41, 0x66, 0xa7, 0x09, 0x83, 0xce, 0x39, + 0x9f, 0x18, 0xf9, 0xe0, 0x5c, 0x8a, 0x06, 0x9a, 0x4b, 0xb1, 0x7b, 0x32, 0x97, 0xe2, 0xf7, 0x62, + 0x2e, 0x8d, 0xdc, 0xc5, 0xb9, 0xf4, 0x56, 0x9f, 0x09, 0xbc, 0x28, 0x82, 0x5d, 0x14, 0x7f, 0x3f, + 0x06, 0x29, 0x4b, 0x07, 0x87, 0xd4, 0xfc, 0x2b, 0x30, 0xc9, 0x8f, 0xcb, 0xa0, 0x15, 0x98, 0xe0, + 0xb2, 0xa9, 0x5a, 0x7a, 0x47, 0x2a, 0x7f, 0xf0, 0xa5, 0x92, 0x17, 0xa7, 0x31, 0xbb, 0x38, 0x3d, + 0x01, 0xe3, 0x6b, 0xbc, 0x8d, 0x19, 0x30, 0x44, 0xc2, 0xa0, 0x21, 0x12, 0xff, 0x7b, 0x04, 0xa6, + 0x38, 0x6e, 0xdc, 0x95, 0xa3, 0xa3, 0xef, 0x38, 0x7b, 0x9e, 0xce, 0xde, 0xd7, 0x23, 0xb0, 0xc8, + 0xb1, 0xfb, 0xa1, 0x0b, 0x22, 0x39, 0x44, 0xe1, 0x01, 0x07, 0x91, 0x5c, 0x38, 0xf5, 0x70, 0x05, + 0x91, 0x06, 0x00, 0xba, 0x04, 0x91, 0xdc, 0xcb, 0x84, 0x0c, 0x22, 0x0d, 0x34, 0x72, 0x9f, 0xd7, + 0x83, 0xff, 0x39, 0x02, 0xe3, 0x6c, 0x55, 0x4a, 0x14, 0xb2, 0xdb, 0xed, 0x40, 0x03, 0xef, 0x6a, + 0x70, 0x03, 0x71, 0x04, 0x26, 0x89, 0xf6, 0x96, 0x25, 0xe3, 0x7d, 0x0e, 0xda, 0xfc, 0x38, 0x4b, + 0xa5, 0x0f, 0x74, 0x2c, 0xc1, 0x98, 0xda, 0x6d, 0xc9, 0xb5, 0x1b, 0xf2, 0x2e, 0x1d, 0x82, 0xb1, + 0x4a, 0x02, 0x27, 0x5c, 0x96, 0x77, 0x35, 0xb4, 0x6e, 0x68, 0x21, 0x7a, 0x07, 0x7c, 0xd0, 0x20, + 0x07, 0x81, 0x3b, 0x5c, 0x1d, 0xdd, 0xcf, 0xdb, 0x17, 0x86, 0xe9, 0x0a, 0xf1, 0x63, 0xd6, 0x16, + 0x0d, 0x81, 0x1d, 0xd2, 0x31, 0x3d, 0x3d, 0xc0, 0x64, 0x87, 0x4b, 0x30, 0x84, 0xdb, 0x51, 0x3b, + 0xb7, 0x45, 0xd5, 0x8e, 0xe4, 0x6e, 0x2d, 0x4b, 0x87, 0xf6, 0xf9, 0x82, 0xb9, 0x2f, 0x46, 0xfa, + 0x2c, 0x15, 0xf6, 0xdd, 0x9f, 0xf8, 0x89, 0x98, 0xb9, 0x15, 0x49, 0xda, 0xf4, 0xba, 0xd9, 0x6a, + 0xff, 0xb2, 0x7b, 0x1c, 0x52, 0x7c, 0x29, 0x2e, 0x14, 0x3a, 0x69, 0x95, 0x33, 0xe2, 0xa1, 0x16, + 0x0f, 0xe2, 0x5e, 0x52, 0x3e, 0x72, 0xb7, 0xa5, 0x7c, 0x74, 0x7f, 0x52, 0x9e, 0x08, 0xfb, 0x31, + 0x99, 0xc1, 0x52, 0xee, 0x44, 0x59, 0x92, 0xa5, 0x6d, 0x39, 0x3f, 0xdf, 0x70, 0x46, 0x59, 0x07, + 0xcf, 0x8f, 0x24, 0xdd, 0xce, 0x8f, 0xac, 0xc0, 0x8c, 0xbd, 0x18, 0x7f, 0xd7, 0xd5, 0xb4, 0xad, + 0x2c, 0x89, 0xcc, 0xfe, 0x62, 0xc4, 0x8c, 0x35, 0x52, 0x86, 0xdd, 0x63, 0xf3, 0x7b, 0xc9, 0x61, + 0x7e, 0xcf, 0x84, 0x19, 0xcd, 0x07, 0x6c, 0x7f, 0x7f, 0x4e, 0x80, 0xa5, 0x75, 0x2a, 0xb8, 0x0f, + 0xdd, 0x31, 0x9c, 0xef, 0x0a, 0xe6, 0x56, 0x9c, 0x6d, 0x1c, 0xef, 0xa5, 0x73, 0xf0, 0x82, 0xd3, + 0x39, 0x78, 0x26, 0xd4, 0xd4, 0x74, 0x23, 0xe3, 0x77, 0x04, 0x58, 0xf0, 0x28, 0x84, 0x5e, 0xe0, + 0xdd, 0x83, 0xa7, 0xc2, 0x77, 0x75, 0x9f, 0xfd, 0x83, 0x9c, 0x9d, 0x12, 0xff, 0xd3, 0x2f, 0x7f, + 0xe6, 0x30, 0x75, 0x6f, 0xb5, 0x23, 0x30, 0x9f, 0x17, 0xcc, 0x83, 0x92, 0x1c, 0x7d, 0x79, 0x49, + 0x0a, 0x2c, 0x9e, 0x22, 0x24, 0xe8, 0x92, 0x79, 0xd0, 0xb2, 0x8d, 0x92, 0x8c, 0x92, 0xed, 0xac, + 0x49, 0xd4, 0xe7, 0x4c, 0x4b, 0x8c, 0xe7, 0xfe, 0x97, 0xac, 0xbd, 0x0a, 0x0e, 0x1d, 0x3b, 0x8d, + 0xf1, 0x30, 0x00, 0xfc, 0x98, 0x2b, 0x40, 0xb6, 0x7b, 0x7f, 0x5f, 0x01, 0x8a, 0x7f, 0x13, 0x31, + 0x37, 0x82, 0x39, 0x28, 0xef, 0x6c, 0xa2, 0x86, 0x98, 0x1c, 0x63, 0x3e, 0x9b, 0xa8, 0x2e, 0xe7, + 0xc9, 0xef, 0x44, 0x60, 0x79, 0x90, 0xeb, 0xf7, 0xda, 0x60, 0x6f, 0x39, 0x0c, 0xf6, 0xd3, 0x61, + 0x14, 0xef, 0x43, 0xb1, 0x9d, 0xfa, 0x3d, 0x01, 0x0e, 0x7b, 0xf3, 0x2d, 0x9c, 0x81, 0x0c, 0x32, + 0x7f, 0xac, 0x21, 0x88, 0xba, 0x0f, 0x41, 0x8c, 0x1f, 0x82, 0x97, 0x9c, 0xd7, 0x45, 0xff, 0x50, + 0x78, 0x06, 0xbb, 0x9a, 0xd2, 0x3f, 0x14, 0xe0, 0xe0, 0xd0, 0xa2, 0xe8, 0x25, 0xde, 0xa0, 0x3e, + 0xb7, 0xd7, 0x6e, 0xef, 0xb3, 0x59, 0xbd, 0x1d, 0xa5, 0x57, 0x34, 0xba, 0xaf, 0xb9, 0x17, 0x1c, + 0x27, 0x0d, 0x4d, 0xf5, 0x63, 0x7d, 0xb3, 0x1b, 0xe5, 0xbf, 0xd9, 0xb5, 0xaf, 0x73, 0x62, 0xce, + 0x75, 0xce, 0xd0, 0x75, 0x49, 0xc1, 0xbe, 0x2e, 0x59, 0x09, 0x72, 0xf3, 0xf4, 0xc3, 0xb6, 0x28, + 0x19, 0xa6, 0x92, 0x16, 0x39, 0x59, 0xa7, 0xea, 0xc8, 0x10, 0x71, 0xf1, 0x75, 0x76, 0x31, 0x39, + 0xbf, 0x24, 0xf7, 0xff, 0xea, 0x2b, 0xe0, 0x2b, 0x8e, 0x43, 0x57, 0xc4, 0x36, 0x54, 0x31, 0x3b, + 0x2a, 0x85, 0x03, 0xc5, 0x56, 0xe7, 0xfe, 0xa0, 0xf6, 0xb6, 0x2e, 0x3f, 0x0b, 0x33, 0x66, 0x57, + 0xd4, 0x04, 0x93, 0x93, 0xa3, 0x19, 0x88, 0x2a, 0x12, 0x73, 0xeb, 0xc8, 0xa4, 0xf8, 0xb4, 0x10, + 0x49, 0x08, 0x15, 0x9c, 0x28, 0x5e, 0xa2, 0x57, 0x3c, 0x1a, 0xeb, 0xf8, 0xbd, 0x23, 0x13, 0xbf, + 0x10, 0xa7, 0x77, 0x75, 0x7a, 0x2f, 0xdf, 0xdf, 0x99, 0x06, 0xe1, 0xa6, 0x81, 0xcd, 0x39, 0x19, + 0x73, 0x38, 0x27, 0x76, 0x37, 0x04, 0x86, 0xba, 0x21, 0xc9, 0x41, 0x37, 0x84, 0x3a, 0x36, 0xe3, + 0xbc, 0x63, 0xb3, 0x08, 0x09, 0x33, 0x20, 0x42, 0x9f, 0xdf, 0x19, 0xed, 0xb2, 0x48, 0xc8, 0x41, + 0x00, 0x9c, 0xc5, 0x3e, 0xa6, 0xa6, 0x8f, 0xef, 0x8c, 0x75, 0xcd, 0xbb, 0x18, 0x9c, 0x41, 0x84, + 0xa9, 0xe1, 0x41, 0x84, 0x94, 0x6f, 0x10, 0x61, 0xda, 0x2d, 0x88, 0xe0, 0x74, 0x46, 0xd0, 0xe0, + 0xb1, 0x55, 0x7e, 0x1a, 0xce, 0xd8, 0xa7, 0xe1, 0x57, 0x23, 0xb0, 0x60, 0x0d, 0xf2, 0xc3, 0xf6, + 0x29, 0xa6, 0x6d, 0xe2, 0x3c, 0xe0, 0x4f, 0xbd, 0x07, 0xb8, 0x74, 0x7f, 0xbe, 0x0e, 0x74, 0x74, + 0xeb, 0xf0, 0x1b, 0x7e, 0x5f, 0x80, 0x59, 0xb7, 0x12, 0x21, 0xbf, 0x0e, 0x74, 0x34, 0xe1, 0xe2, + 0x25, 0x6c, 0xed, 0xc7, 0x4b, 0x30, 0x1a, 0x4b, 0x3f, 0xe2, 0xe3, 0x2f, 0x7c, 0x33, 0x02, 0x07, + 0x30, 0x16, 0xea, 0xb2, 0x68, 0xd7, 0x95, 0xde, 0xbd, 0x16, 0xc9, 0xf7, 0x3a, 0x44, 0x32, 0x10, + 0xab, 0x2c, 0x78, 0x0f, 0x7e, 0x93, 0x69, 0xc9, 0x9d, 0x5f, 0x41, 0x3f, 0xee, 0x0e, 0x17, 0x44, + 0xaa, 0x3a, 0x83, 0x48, 0xe7, 0xc3, 0xb1, 0xcb, 0x55, 0x86, 0xff, 0x48, 0x80, 0x45, 0xcf, 0x62, + 0xa8, 0xca, 0x0b, 0xf2, 0x33, 0x7b, 0xe9, 0xee, 0x81, 0x49, 0xf3, 0xb7, 0xa3, 0xf4, 0x59, 0x15, + 0xbb, 0xb8, 0x78, 0xaf, 0xba, 0x2f, 0x43, 0xb2, 0x4d, 0x8a, 0xd6, 0xb8, 0x2b, 0x4d, 0x7c, 0x77, + 0x75, 0x69, 0xeb, 0xf4, 0x84, 0x41, 0xdb, 0xfc, 0x1f, 0xcb, 0x7e, 0xbd, 0xd9, 0x54, 0xe5, 0x66, + 0x5d, 0x97, 0x2d, 0x17, 0x22, 0x69, 0xa6, 0x51, 0x4f, 0xa1, 0x7b, 0xd5, 0xee, 0x47, 0x24, 0x68, + 0x02, 0x1f, 0xd7, 0x88, 0xf3, 0x6b, 0x72, 0xa7, 0xb1, 0x19, 0x09, 0xf0, 0x8d, 0xc4, 0x43, 0xe3, + 0x23, 0x0f, 0x1a, 0x54, 0x70, 0x31, 0xa8, 0xe2, 0x32, 0xc4, 0x4b, 0x52, 0x6f, 0xd8, 0x83, 0xe3, + 0xff, 0x2f, 0x02, 0xd1, 0x92, 0xd4, 0xdb, 0xf7, 0x41, 0x83, 0x92, 0xf4, 0xb0, 0x1f, 0x34, 0x58, + 0x84, 0x44, 0xab, 0xdb, 0xec, 0xd6, 0x34, 0xb5, 0xc1, 0x1e, 0x3c, 0x1b, 0xc5, 0xbf, 0xab, 0x6a, + 0x03, 0x6d, 0xdb, 0xcf, 0x20, 0x04, 0x7c, 0x95, 0xb7, 0xac, 0x48, 0x8d, 0x92, 0xd4, 0xf3, 0x3d, + 0x86, 0x90, 0x18, 0x3c, 0x86, 0xa0, 0x48, 0xe6, 0x31, 0x84, 0x1a, 0x8c, 0x95, 0xa4, 0x1e, 0x5b, + 0x36, 0xec, 0xf5, 0x63, 0x70, 0x1b, 0x71, 0x51, 0x1b, 0x71, 0xe2, 0x8f, 0x0b, 0x30, 0x61, 0x83, + 0x6a, 0x3f, 0x33, 0x29, 0xf8, 0x9d, 0x99, 0x8c, 0xb8, 0x9c, 0x99, 0x9c, 0x87, 0x11, 0x45, 0xd3, + 0xfa, 0xb2, 0xca, 0xe6, 0x22, 0xfb, 0x85, 0xd3, 0xb5, 0x46, 0xb7, 0x67, 0x86, 0x10, 0xd9, 0x2f, + 0xf1, 0x2f, 0x05, 0x98, 0xb1, 0x61, 0x60, 0x6b, 0x37, 0xbf, 0xd7, 0xa6, 0x79, 0xb2, 0x22, 0xf6, + 0x31, 0x3b, 0xc6, 0x13, 0xe1, 0xf2, 0xa6, 0x89, 0x49, 0x50, 0xce, 0x49, 0x50, 0x6c, 0xa0, 0xb0, + 0x9d, 0x38, 0xd1, 0x24, 0x6e, 0xf0, 0xc4, 0xee, 0x20, 0xa1, 0x23, 0x36, 0x42, 0xbf, 0xe3, 0x24, + 0x94, 0x0d, 0xec, 0x21, 0x18, 0xc1, 0x63, 0x3e, 0x38, 0xb8, 0x71, 0x45, 0xea, 0x95, 0x24, 0x3b, + 0x35, 0x91, 0x21, 0xd4, 0x0c, 0x0c, 0x4f, 0xd4, 0x65, 0x78, 0x2c, 0x0a, 0x62, 0x01, 0x28, 0x88, + 0xdb, 0x28, 0xf8, 0x6c, 0x04, 0xa6, 0xf1, 0x64, 0xbe, 0xc7, 0xce, 0xca, 0xf3, 0x0e, 0x67, 0xe5, + 0x58, 0x00, 0x05, 0xf3, 0x80, 0x3d, 0x94, 0xbf, 0x88, 0xc2, 0x28, 0x43, 0xf1, 0xf6, 0x56, 0x97, + 0x3b, 0xe4, 0x73, 0xd4, 0x9b, 0x8a, 0x64, 0x98, 0x77, 0x7a, 0x1c, 0x2f, 0x17, 0x80, 0xe8, 0x6d, + 0x56, 0x8f, 0xd8, 0xf8, 0xf1, 0x1e, 0xf7, 0x0b, 0xed, 0xb8, 0x1d, 0x04, 0x3b, 0x1b, 0x4a, 0x09, + 0xb3, 0x07, 0xa7, 0x83, 0x9e, 0x07, 0x9b, 0x86, 0x29, 0x4b, 0x11, 0xd7, 0xf0, 0x60, 0x8b, 0x1f, + 0x80, 0xe9, 0x81, 0x16, 0x87, 0xeb, 0x4b, 0x4b, 0x15, 0x46, 0x3c, 0x54, 0x61, 0xd4, 0x36, 0xbf, + 0x3e, 0x2e, 0x40, 0x8a, 0x9b, 0x5f, 0x7b, 0x59, 0x79, 0x5d, 0x72, 0xae, 0xbc, 0x56, 0x82, 0x88, + 0x9b, 0x9b, 0xbf, 0xfa, 0x2b, 0x02, 0x4c, 0xda, 0xf3, 0xd0, 0x25, 0xde, 0x49, 0x3d, 0x15, 0xb8, + 0xe1, 0xfb, 0x1c, 0x8d, 0xfd, 0x9c, 0x00, 0x49, 0x72, 0x91, 0x29, 0xbb, 0x35, 0xf5, 0x69, 0x58, + 0xa8, 0xb7, 0x5a, 0xdd, 0x5b, 0x35, 0xec, 0x7f, 0x62, 0xf9, 0xad, 0x99, 0x6f, 0x05, 0x08, 0xf4, + 0xea, 0x53, 0x92, 0x7d, 0x85, 0xe5, 0x1a, 0xb7, 0xc4, 0x62, 0x3f, 0x8a, 0xd6, 0x53, 0xe5, 0xa6, + 0xa2, 0xe9, 0x6c, 0x14, 0x13, 0x95, 0x09, 0x92, 0x5a, 0x61, 0x89, 0xe8, 0x14, 0x20, 0x5a, 0x4c, + 0x7e, 0x45, 0xc7, 0x2d, 0xb4, 0x6a, 0x8a, 0xd4, 0x63, 0x97, 0xaa, 0xa6, 0x48, 0x4e, 0x91, 0x65, + 0x94, 0xa4, 0x9e, 0xf8, 0x45, 0x01, 0x26, 0x39, 0x70, 0x79, 0x49, 0x7a, 0xb8, 0xf0, 0xbd, 0x0b, + 0x26, 0xb8, 0xa9, 0x58, 0x2a, 0xa0, 0x93, 0x30, 0xc1, 0x4d, 0x84, 0x41, 0x23, 0x95, 0x54, 0x8c, + 0xf9, 0x50, 0x92, 0xc4, 0xaf, 0x53, 0x99, 0x31, 0xaa, 0x63, 0xea, 0x56, 0xdc, 0xeb, 0xf3, 0x66, + 0x87, 0x6f, 0x02, 0xc9, 0x30, 0x8d, 0xcb, 0xdb, 0x95, 0x48, 0x64, 0x4f, 0x4a, 0x84, 0x13, 0x3a, + 0x3c, 0x99, 0xf9, 0x2c, 0xf1, 0xa7, 0x04, 0x48, 0x72, 0xc5, 0x91, 0xe8, 0x0a, 0xd3, 0x0e, 0xed, + 0xfd, 0x0e, 0x68, 0x3b, 0x7b, 0x87, 0x36, 0x08, 0xe8, 0x0d, 0x01, 0xa6, 0x38, 0xc1, 0x20, 0xca, + 0x85, 0xbb, 0x7c, 0x57, 0xb0, 0x5d, 0xbe, 0x3b, 0x4c, 0x66, 0x22, 0xe1, 0x64, 0x26, 0x1a, 0x5c, + 0x66, 0x62, 0x1e, 0x32, 0xf3, 0x93, 0x02, 0x4c, 0x71, 0xf4, 0x11, 0xe8, 0x41, 0xf8, 0xe9, 0x76, + 0xf1, 0x88, 0xf1, 0xe4, 0x48, 0x34, 0xd8, 0x93, 0x23, 0x25, 0xa9, 0xc7, 0x3d, 0xaf, 0xf1, 0xf5, + 0x08, 0x2c, 0x72, 0x40, 0x1e, 0xba, 0x63, 0xbb, 0x0e, 0x26, 0x3d, 0x40, 0x7f, 0xe5, 0x12, 0xa4, + 0x5d, 0x18, 0xb5, 0x07, 0x83, 0x93, 0xfd, 0x16, 0x7b, 0x9e, 0x8c, 0xb8, 0x2c, 0x68, 0x11, 0xe6, + 0xae, 0x54, 0x8b, 0x95, 0xea, 0x4e, 0x7e, 0xa7, 0x58, 0xbb, 0xb2, 0x55, 0xdd, 0x2e, 0xae, 0x95, + 0x2e, 0x96, 0x8a, 0x85, 0xd4, 0x23, 0x68, 0x16, 0x52, 0x56, 0x56, 0x7e, 0x6d, 0xa7, 0xf4, 0x62, + 0x31, 0x25, 0xa0, 0x79, 0x40, 0x56, 0x6a, 0x69, 0x8b, 0xa5, 0x47, 0xd0, 0x1c, 0x4c, 0x5b, 0xe9, + 0x85, 0xe2, 0x46, 0x71, 0xa7, 0x58, 0x48, 0x45, 0xed, 0x8d, 0x6c, 0x94, 0xd7, 0x2e, 0x17, 0x0b, + 0xa9, 0x98, 0xbd, 0x70, 0xf5, 0x4a, 0x75, 0xbb, 0xb8, 0x55, 0x48, 0xc5, 0xed, 0xc9, 0xa5, 0xad, + 0xd2, 0x4e, 0x29, 0xbf, 0x91, 0x1a, 0xc9, 0xfe, 0x2d, 0x18, 0xa1, 0x4f, 0x07, 0xe2, 0xce, 0xd7, + 0x8b, 0x5b, 0x85, 0x62, 0xc5, 0x01, 0x75, 0x1a, 0x26, 0x58, 0xfa, 0xc5, 0xe2, 0x66, 0x7e, 0x03, + 0xe3, 0x9c, 0x82, 0x24, 0x4b, 0x22, 0x09, 0x11, 0x84, 0x60, 0x92, 0x25, 0x14, 0x4a, 0x2f, 0x16, + 0x2b, 0xd5, 0x62, 0x2a, 0x9a, 0xcd, 0xf3, 0xef, 0x57, 0xef, 0xd0, 0xb7, 0xa6, 0xe7, 0x37, 0xf3, + 0x6b, 0x97, 0x4a, 0x5b, 0xc5, 0xcb, 0xc5, 0x97, 0x1d, 0xbd, 0xcc, 0xc0, 0x14, 0x97, 0xf7, 0xde, + 0x6a, 0x79, 0x2b, 0x25, 0x64, 0x3f, 0x19, 0xa1, 0xfb, 0x28, 0xa6, 0xe5, 0x44, 0x07, 0x61, 0x91, + 0x50, 0x51, 0xcc, 0x57, 0xd6, 0x2e, 0x0d, 0xb6, 0xb2, 0x04, 0x0b, 0x8e, 0xec, 0x6a, 0xb1, 0x52, + 0xdb, 0xca, 0x6f, 0x62, 0xd4, 0x07, 0x20, 0x6d, 0xcf, 0xbc, 0x58, 0xaa, 0x54, 0x77, 0x68, 0x6e, + 0x64, 0xb0, 0xea, 0x46, 0xde, 0xc8, 0x8c, 0x0e, 0x66, 0x6e, 0x95, 0xd6, 0x2e, 0xd3, 0xcc, 0x18, + 0x3a, 0x04, 0x19, 0x7b, 0x66, 0xa1, 0x54, 0xdd, 0xde, 0xc8, 0xbf, 0x4c, 0xf3, 0xe3, 0x68, 0x01, + 0x66, 0xec, 0xf9, 0xc5, 0xcd, 0x7c, 0x69, 0x23, 0x35, 0x32, 0x98, 0x41, 0x06, 0x27, 0x35, 0x6a, + 0xca, 0x81, 0x99, 0xb1, 0xf3, 0xf2, 0x76, 0x31, 0x95, 0xc8, 0xfe, 0x55, 0x04, 0xc6, 0x79, 0xdb, + 0x8f, 0x5b, 0xa0, 0x85, 0x36, 0x8b, 0x3b, 0x97, 0xca, 0x85, 0x5a, 0xf1, 0x85, 0x2b, 0xf9, 0x8d, + 0x6a, 0xea, 0x11, 0x4c, 0xab, 0x2d, 0xa3, 0xba, 0x93, 0xaf, 0xec, 0x54, 0x6b, 0x2f, 0x95, 0x76, + 0x2e, 0xa5, 0x04, 0x2c, 0x98, 0xb6, 0xdc, 0xb5, 0xf2, 0xd6, 0x4e, 0xbe, 0xb4, 0x55, 0x4d, 0x45, + 0xd0, 0x63, 0x70, 0xd8, 0xa5, 0xc5, 0x5a, 0x69, 0x7d, 0xab, 0x5c, 0x29, 0xd6, 0xd6, 0xf2, 0x78, + 0x68, 0xd1, 0x71, 0x38, 0xe2, 0xd5, 0xba, 0xad, 0x64, 0x0c, 0x1d, 0x85, 0x47, 0x5d, 0x7b, 0xb2, + 0x15, 0x8b, 0x63, 0xfe, 0xda, 0x8a, 0x6d, 0x95, 0x77, 0x0c, 0x5a, 0x46, 0xf0, 0x98, 0xdb, 0x32, + 0xd7, 0x2b, 0xc5, 0xfc, 0x4e, 0xb1, 0x52, 0xdb, 0xb9, 0x94, 0xdf, 0x4a, 0x8d, 0x62, 0xa9, 0xb2, + 0x65, 0x6f, 0x14, 0xab, 0x55, 0x9a, 0x97, 0x18, 0xc8, 0x2b, 0x55, 0x6b, 0xe5, 0xad, 0x62, 0xad, + 0x7c, 0x31, 0x35, 0x86, 0x87, 0xcd, 0x5e, 0xaf, 0x54, 0xdd, 0xb1, 0x38, 0x01, 0xd9, 0x02, 0x8c, + 0xb2, 0x37, 0x9c, 0x30, 0x9b, 0x37, 0x2f, 0xe6, 0xf1, 0x20, 0x38, 0xe4, 0x6d, 0x0a, 0x92, 0x46, + 0x46, 0x75, 0xb3, 0x4a, 0x67, 0x86, 0x91, 0x50, 0xde, 0xd9, 0x4e, 0x45, 0xb2, 0xd7, 0x20, 0x61, + 0xbc, 0xe5, 0x84, 0xd2, 0x30, 0x8b, 0xff, 0x77, 0x51, 0x07, 0xf3, 0x80, 0xcc, 0x1c, 0x4c, 0x7b, + 0xa5, 0x98, 0x2f, 0xbc, 0x9c, 0x12, 0xf0, 0xbc, 0x32, 0xd3, 0x69, 0x5a, 0x04, 0xcf, 0x7a, 0x2e, + 0x6d, 0xb3, 0xfc, 0x22, 0xd6, 0x05, 0xd9, 0x4b, 0x90, 0x72, 0x3e, 0xb3, 0x84, 0xa9, 0xdf, 0x2a, + 0xef, 0x94, 0x2e, 0x96, 0xd6, 0xf2, 0x3b, 0xa5, 0xf2, 0x16, 0x41, 0x45, 0x65, 0xef, 0x11, 0x8c, + 0x65, 0x20, 0x8f, 0x90, 0x90, 0xed, 0x43, 0x92, 0x7b, 0xe7, 0x01, 0x0f, 0xcd, 0x76, 0x79, 0xa3, + 0xb4, 0xf6, 0xb2, 0x07, 0x6e, 0x3e, 0xd3, 0x54, 0x64, 0x69, 0x98, 0xe5, 0xd3, 0x39, 0x55, 0xb6, + 0x00, 0x33, 0x7c, 0x8e, 0xa9, 0xcc, 0xb2, 0xdb, 0x90, 0x30, 0xae, 0x6f, 0xc7, 0xd5, 0xcb, 0x95, + 0x75, 0xb7, 0x0e, 0x67, 0x60, 0xca, 0xcc, 0x31, 0x7b, 0x9b, 0x83, 0x69, 0x33, 0xd1, 0xea, 0x2a, + 0xfb, 0x13, 0x02, 0x77, 0xa3, 0xb1, 0xfd, 0xee, 0x67, 0x74, 0x0c, 0x1e, 0x2b, 0x57, 0xd6, 0x0b, + 0xe5, 0xcd, 0x7c, 0x69, 0xeb, 0xc5, 0xfc, 0x46, 0xa9, 0x60, 0x71, 0xc1, 0xde, 0xe1, 0x32, 0x1c, + 0xf0, 0x2a, 0x78, 0x69, 0x67, 0x67, 0x3b, 0x25, 0xa0, 0xc3, 0xb0, 0xe4, 0x55, 0xa2, 0x80, 0xa7, + 0x54, 0xf6, 0x25, 0x40, 0x83, 0xd7, 0xea, 0x22, 0x11, 0x0e, 0x99, 0xd5, 0xbc, 0xd4, 0xd9, 0x41, + 0x58, 0x74, 0x29, 0x43, 0x7f, 0xa7, 0x84, 0xec, 0xaf, 0x0b, 0xa4, 0x65, 0xc7, 0x59, 0x0f, 0xd6, + 0xf2, 0x66, 0x71, 0x73, 0xd5, 0x5b, 0x51, 0x3e, 0x0a, 0x07, 0x5d, 0xca, 0x70, 0x0a, 0x51, 0x60, + 0x94, 0x3b, 0x8b, 0x58, 0x5a, 0x31, 0x82, 0x95, 0x8c, 0x4b, 0x09, 0x2a, 0x61, 0x51, 0x3c, 0xbf, + 0xdc, 0x60, 0x60, 0x85, 0x5c, 0x2a, 0xa4, 0x62, 0xd9, 0x97, 0xcc, 0x53, 0xee, 0x16, 0xf4, 0x65, + 0x38, 0xb0, 0x5d, 0x29, 0xbf, 0xb7, 0xb8, 0xb6, 0x33, 0x04, 0xf8, 0x40, 0x09, 0x96, 0xc0, 0x80, + 0x67, 0x3f, 0x60, 0x7e, 0xf6, 0x41, 0xa5, 0xe9, 0x00, 0xa4, 0x8d, 0x2a, 0x2e, 0x12, 0x85, 0x05, + 0x92, 0xcf, 0x35, 0xa5, 0x6a, 0x11, 0xe6, 0x6c, 0x19, 0x9c, 0x64, 0xfd, 0xb8, 0x75, 0xcf, 0x9f, + 0xed, 0x8a, 0x14, 0x74, 0x04, 0x96, 0x59, 0x9d, 0x4a, 0x79, 0xa3, 0xe8, 0x45, 0x83, 0x05, 0xc8, + 0x5e, 0xea, 0x72, 0x11, 0xcf, 0xf9, 0xa3, 0xf0, 0xa8, 0x6b, 0xae, 0xcd, 0xaa, 0x44, 0xb2, 0xdf, + 0xb7, 0xee, 0x7a, 0x71, 0x0a, 0xc0, 0xe3, 0x20, 0xb2, 0x16, 0x86, 0x0b, 0x81, 0xd5, 0xd3, 0x50, + 0x41, 0xb0, 0x88, 0x1a, 0x26, 0x0c, 0xd6, 0xd0, 0x79, 0x09, 0x84, 0x08, 0x87, 0xbc, 0x60, 0x19, + 0x42, 0x31, 0xa4, 0x2f, 0xcb, 0x92, 0xc7, 0xb1, 0xae, 0x30, 0xbe, 0xd7, 0xc3, 0xba, 0x22, 0xbf, + 0xbd, 0xed, 0xa1, 0x2b, 0xcc, 0x1c, 0x5e, 0x57, 0x98, 0x89, 0xdc, 0x88, 0x2e, 0x41, 0x92, 0xfb, + 0x12, 0x16, 0x8d, 0x43, 0x82, 0xfc, 0x3c, 0x5b, 0x3b, 0x93, 0x7a, 0x24, 0xfb, 0x41, 0xfa, 0xc9, + 0x2b, 0xff, 0xad, 0x28, 0x96, 0x0e, 0x92, 0x56, 0xac, 0x6e, 0x97, 0xb7, 0xaa, 0x45, 0x32, 0xdd, + 0xd7, 0xca, 0x85, 0x22, 0x9b, 0xb5, 0xce, 0xac, 0x52, 0xa1, 0xb6, 0x53, 0xbe, 0x5c, 0xdc, 0x4a, + 0x09, 0xd8, 0xc2, 0x7a, 0x66, 0xb3, 0x42, 0x91, 0xac, 0x0a, 0x13, 0xb6, 0x0f, 0x49, 0x31, 0x63, + 0x48, 0x42, 0x25, 0xbf, 0xb5, 0x43, 0xaa, 0xe4, 0xaf, 0xec, 0x5c, 0x2a, 0x57, 0x4a, 0xef, 0x23, + 0xda, 0xc6, 0xe8, 0x3a, 0x03, 0xf3, 0xf6, 0x52, 0xa5, 0xcd, 0xed, 0x8d, 0xd2, 0x5a, 0x69, 0x87, + 0xe9, 0x29, 0x5b, 0x5e, 0xa5, 0x78, 0xb1, 0x52, 0xac, 0x5e, 0x32, 0xfb, 0xbc, 0x09, 0x33, 0x2e, + 0xdf, 0x99, 0x62, 0x03, 0x40, 0x92, 0xb7, 0x71, 0x4b, 0x96, 0x6e, 0x7b, 0xa9, 0xb8, 0x9a, 0x7a, + 0x84, 0xe8, 0x1a, 0x97, 0x4c, 0x32, 0x58, 0xf9, 0xf5, 0xe2, 0x16, 0xee, 0x18, 0x2b, 0x02, 0x97, + 0x32, 0x5b, 0x79, 0xc6, 0xfb, 0x16, 0xa0, 0xc1, 0xef, 0x4f, 0x89, 0x72, 0xc1, 0xa9, 0x57, 0x76, + 0x98, 0x81, 0x26, 0x95, 0x56, 0xf3, 0xd5, 0xd2, 0x1a, 0x75, 0xf4, 0x5c, 0x72, 0xb7, 0xcb, 0x55, + 0xdc, 0xa1, 0x7b, 0xe6, 0x56, 0x79, 0x0b, 0xf7, 0x56, 0x83, 0x59, 0xb7, 0x0f, 0xd3, 0x30, 0x83, + 0x39, 0x84, 0xd5, 0x62, 0x25, 0xef, 0xa1, 0x7e, 0x6c, 0xa5, 0x0c, 0xe9, 0xcc, 0x6f, 0x6f, 0x1b, + 0xea, 0x47, 0x37, 0xaf, 0x2e, 0xb2, 0x0e, 0xd1, 0x70, 0x6a, 0x8b, 0xf0, 0xdf, 0x4d, 0x5c, 0x2d, + 0xad, 0xc0, 0x15, 0x31, 0xe5, 0xf6, 0x10, 0x64, 0x06, 0x73, 0x39, 0x01, 0xfe, 0xb8, 0xe3, 0xec, + 0xb6, 0x45, 0x98, 0x35, 0xcb, 0x69, 0x4d, 0x0f, 0x65, 0x60, 0x29, 0x0d, 0x47, 0x31, 0xbb, 0x76, + 0xe5, 0x66, 0xb1, 0xa3, 0x1c, 0xd6, 0x56, 0x44, 0x85, 0x45, 0xb2, 0x5f, 0xb0, 0x6e, 0x13, 0x72, + 0x3b, 0x8d, 0x88, 0x4e, 0xc2, 0x31, 0xbe, 0x8d, 0xe1, 0x5a, 0x2a, 0x0b, 0x8f, 0x0f, 0x2b, 0x6c, + 0x53, 0x55, 0x27, 0xe0, 0xe8, 0xb0, 0xb2, 0xbc, 0xbe, 0x72, 0xb0, 0xc5, 0x4b, 0x69, 0x1d, 0x83, + 0xc7, 0x86, 0x42, 0x35, 0x35, 0x97, 0x4f, 0xd7, 0xbc, 0xfa, 0xba, 0x0e, 0x93, 0xf6, 0x33, 0x56, + 0xc6, 0x12, 0xc2, 0x53, 0x36, 0xd8, 0x4a, 0xd2, 0x4d, 0x30, 0xd8, 0xd2, 0xc4, 0x5d, 0x2a, 0xfe, + 0x54, 0xa0, 0xbb, 0xd1, 0x0e, 0x91, 0x10, 0xe1, 0x90, 0x55, 0xc7, 0xdb, 0xd0, 0xba, 0x94, 0x31, + 0x84, 0xa1, 0x54, 0xa0, 0x32, 0xe9, 0xd6, 0x0c, 0x63, 0x49, 0xc4, 0x58, 0xac, 0x39, 0xf2, 0xcb, + 0x95, 0x75, 0x9c, 0x1d, 0xc5, 0x0a, 0xc9, 0x25, 0xdb, 0x14, 0xa3, 0x98, 0x47, 0x01, 0xf2, 0x13, + 0xb7, 0x10, 0xcf, 0x7e, 0x42, 0xa0, 0x07, 0x99, 0x5c, 0x76, 0xff, 0xf1, 0xc0, 0xe1, 0xca, 0x6c, + 0x1c, 0x2e, 0x95, 0xb6, 0xbd, 0x08, 0x5d, 0x86, 0x03, 0x5e, 0x05, 0xc9, 0xb2, 0x8b, 0x58, 0x64, + 0xaf, 0x12, 0xe5, 0x55, 0x83, 0x1d, 0x91, 0xec, 0xab, 0x00, 0xd6, 0xbe, 0x3c, 0x59, 0xec, 0x92, + 0x0a, 0x2e, 0x4e, 0xe5, 0x12, 0x2c, 0x70, 0x79, 0xe5, 0xca, 0x7a, 0x7e, 0xab, 0x54, 0x25, 0x1a, + 0x85, 0x06, 0x01, 0xb8, 0x4c, 0xc6, 0x70, 0xea, 0x6d, 0x0d, 0xa6, 0x53, 0x6e, 0xa4, 0xa2, 0xd9, + 0xab, 0x90, 0x30, 0xb6, 0x4a, 0xf0, 0xb8, 0x94, 0x0a, 0xdb, 0x6b, 0xe5, 0xad, 0x8b, 0xa5, 0x75, + 0x0f, 0x69, 0x72, 0xe4, 0xf3, 0xd2, 0xe4, 0xc8, 0xe2, 0xa4, 0xe9, 0x23, 0x02, 0x8c, 0xf3, 0x71, + 0x6c, 0x0c, 0xa9, 0x54, 0xf0, 0x64, 0x2c, 0x85, 0x61, 0xe5, 0x96, 0x0a, 0xdb, 0x35, 0xda, 0x32, + 0x15, 0x9f, 0x39, 0x98, 0xb6, 0xe5, 0xb3, 0x89, 0xe9, 0xac, 0xb6, 0x5d, 0x29, 0xbf, 0x58, 0x2a, + 0xe0, 0xf5, 0x1e, 0x1e, 0x8d, 0x68, 0xf6, 0x22, 0xd9, 0x5c, 0x32, 0xd6, 0x65, 0xa5, 0xc2, 0xb6, + 0x0b, 0x83, 0x53, 0x30, 0x6e, 0x64, 0x60, 0x4b, 0x90, 0x12, 0xf8, 0x94, 0x6a, 0x7e, 0x73, 0x23, + 0x15, 0xc9, 0x36, 0x6d, 0x71, 0x3a, 0xd2, 0xde, 0x61, 0x58, 0x2a, 0x15, 0xb6, 0x8d, 0x0e, 0x5d, + 0xda, 0xcd, 0xc0, 0xbc, 0xb3, 0x40, 0xf5, 0xe5, 0xea, 0x4e, 0x71, 0x33, 0x25, 0x30, 0x30, 0xb6, + 0xbc, 0x72, 0x65, 0x3d, 0x15, 0xc9, 0xbe, 0xcf, 0xbc, 0xbb, 0xd3, 0xb0, 0xa7, 0x6c, 0xf0, 0x5c, + 0x3a, 0x98, 0x83, 0x69, 0x3e, 0xb3, 0xfc, 0xd2, 0x56, 0xb1, 0x40, 0xdb, 0xe6, 0x93, 0xc9, 0xa0, + 0x17, 0x0b, 0xa9, 0xc8, 0xb9, 0x9f, 0xfd, 0xe7, 0x02, 0x4c, 0x6f, 0x9a, 0xb1, 0xb5, 0xaa, 0xac, + 0xde, 0x54, 0x1a, 0x32, 0xba, 0x0c, 0xa3, 0x97, 0xe4, 0x7a, 0x4b, 0xbf, 0xfe, 0x21, 0x34, 0x3f, + 0x10, 0x07, 0x2b, 0xb6, 0x7b, 0xfa, 0x6e, 0xc6, 0x23, 0x5d, 0x4c, 0xdd, 0xfe, 0xf7, 0xff, 0xe5, + 0xf5, 0x08, 0xa0, 0x44, 0xee, 0x3a, 0x6b, 0x61, 0x1d, 0xe2, 0x15, 0xb9, 0x2e, 0xed, 0x86, 0x6e, + 0x6a, 0x92, 0x34, 0x95, 0x40, 0x23, 0x39, 0x95, 0xd4, 0xdf, 0x82, 0x84, 0xf1, 0x32, 0x8e, 0x67, + 0x5b, 0x0b, 0x03, 0xe9, 0x55, 0x5d, 0xed, 0x37, 0x74, 0x71, 0x9a, 0x34, 0x96, 0x44, 0x63, 0xb9, + 0x9b, 0x46, 0x1b, 0x2d, 0x98, 0x5c, 0x97, 0xf5, 0xf7, 0xd1, 0x08, 0x63, 0xa1, 0xdb, 0xd0, 0x3c, + 0x5b, 0xf5, 0xbd, 0x06, 0x85, 0x6b, 0x44, 0x9c, 0x23, 0x3d, 0x4d, 0xa1, 0x89, 0x1c, 0x2b, 0x9f, + 0x93, 0x70, 0xdb, 0xd7, 0x60, 0x64, 0x5d, 0xd6, 0x4b, 0xf5, 0xb6, 0x67, 0x2f, 0x8f, 0xf9, 0x86, + 0x3c, 0xeb, 0x6d, 0xf1, 0xf0, 0xed, 0x3b, 0xe9, 0x29, 0x98, 0xa8, 0xf7, 0xf5, 0xeb, 0x72, 0x47, + 0xc7, 0x6e, 0x88, 0x2c, 0x91, 0x0e, 0x47, 0x50, 0x2c, 0xa7, 0xd4, 0xdb, 0xe8, 0x4b, 0x78, 0x96, + 0x69, 0x58, 0xad, 0x5d, 0xe9, 0x28, 0x1f, 0xec, 0xcb, 0xc8, 0x77, 0x6b, 0x8f, 0x96, 0xc3, 0x35, + 0x58, 0xd4, 0x32, 0x73, 0x2e, 0x4c, 0x15, 0xea, 0xd5, 0x8a, 0xc7, 0x6e, 0xdf, 0x49, 0x27, 0xe9, + 0x31, 0xdb, 0x15, 0x3c, 0x5e, 0x04, 0x14, 0x42, 0xa9, 0x1c, 0x4e, 0xd1, 0x72, 0x35, 0x45, 0xeb, + 0x53, 0x3c, 0x1f, 0x11, 0x20, 0xb9, 0x2e, 0xeb, 0xb8, 0xf2, 0xea, 0x6e, 0xa9, 0x80, 0x1e, 0x0f, + 0x72, 0x40, 0xab, 0x54, 0xc8, 0x1c, 0x0f, 0x52, 0xee, 0x45, 0x45, 0xbe, 0x25, 0x8a, 0x6e, 0x50, + 0x26, 0x50, 0x92, 0x41, 0x79, 0x55, 0x91, 0x5e, 0x43, 0xbf, 0x28, 0x40, 0xda, 0x44, 0x41, 0xf6, + 0x0a, 0xb6, 0xea, 0x6d, 0x79, 0xbd, 0xd5, 0xbd, 0x5a, 0x6f, 0xa1, 0x13, 0x7e, 0x5d, 0x99, 0x15, + 0x42, 0xa0, 0x7a, 0xf6, 0xf6, 0x9d, 0x34, 0x82, 0x14, 0x41, 0xd5, 0x24, 0xfd, 0x58, 0xe0, 0x0e, + 0xa0, 0x4c, 0x8e, 0xa6, 0x19, 0xec, 0xba, 0xba, 0x4b, 0xde, 0x17, 0x24, 0x71, 0xfc, 0x2f, 0x09, + 0x90, 0xa4, 0x5a, 0x13, 0x37, 0xa6, 0x05, 0x18, 0x51, 0xcd, 0x11, 0x87, 0xce, 0x9c, 0x0b, 0x53, + 0x85, 0x8d, 0xe8, 0x71, 0x37, 0x36, 0xce, 0x88, 0x93, 0x06, 0x44, 0x8d, 0x14, 0xbf, 0x20, 0x64, + 0xd1, 0x4f, 0x0b, 0x00, 0xf4, 0xa4, 0x09, 0x6e, 0xc6, 0x1f, 0x9f, 0x55, 0xd6, 0xc0, 0x77, 0x2a, + 0x08, 0x3e, 0x13, 0xd9, 0xa3, 0xb7, 0xef, 0xa4, 0xc7, 0x01, 0x08, 0xb2, 0x5b, 0xaa, 0xa2, 0xcb, + 0x74, 0x72, 0x8b, 0x23, 0x14, 0x1a, 0x86, 0xf4, 0x39, 0x01, 0x26, 0x0b, 0x72, 0xbd, 0xa1, 0x2b, + 0x37, 0x0d, 0x58, 0x41, 0x05, 0x2d, 0x1c, 0x96, 0x73, 0xae, 0x58, 0x0e, 0x64, 0x16, 0x38, 0x69, + 0xcb, 0xd5, 0x24, 0x13, 0x8a, 0x01, 0xae, 0xf2, 0xf0, 0x80, 0x53, 0x6d, 0xe0, 0x7e, 0x4a, 0x80, + 0xc4, 0x46, 0xb7, 0x71, 0xe3, 0x1e, 0xc2, 0x3a, 0xe5, 0x0a, 0x6b, 0x3e, 0x33, 0x6d, 0x83, 0xd5, + 0xea, 0x36, 0x6e, 0x60, 0x40, 0x9f, 0x16, 0x00, 0xae, 0x74, 0x5a, 0xf7, 0x16, 0xd2, 0x8a, 0x2b, + 0xa4, 0x74, 0x66, 0xc6, 0x06, 0xa9, 0xdf, 0x31, 0x40, 0xa9, 0x00, 0x05, 0xb9, 0x25, 0x87, 0x1c, + 0x3d, 0x2f, 0x53, 0x77, 0xe4, 0xf6, 0x9d, 0xf4, 0x04, 0x24, 0x49, 0xef, 0x12, 0x69, 0x96, 0xea, + 0xac, 0xac, 0x4d, 0x67, 0x7d, 0x4a, 0xa0, 0x9f, 0x98, 0xd0, 0x8f, 0x56, 0x35, 0xe4, 0x7b, 0x72, + 0x8e, 0x16, 0x34, 0xe6, 0xd8, 0xb1, 0x60, 0xc5, 0x35, 0x31, 0xeb, 0x36, 0xf1, 0xe7, 0x90, 0x8d, + 0x15, 0x0d, 0x86, 0xe1, 0x97, 0x05, 0x98, 0xc8, 0x4b, 0x92, 0xb5, 0x55, 0x83, 0xfc, 0x2f, 0x76, + 0xe1, 0x8b, 0x1b, 0xe0, 0x9e, 0x0a, 0x59, 0x8b, 0x0d, 0xdb, 0x19, 0xd7, 0x61, 0xcb, 0x88, 0x73, + 0x06, 0x56, 0x76, 0x6c, 0xf6, 0xb5, 0xdc, 0x0d, 0x79, 0x97, 0x28, 0x86, 0xcf, 0x0a, 0x90, 0xa2, + 0x23, 0xc7, 0x61, 0xf6, 0xbd, 0x41, 0xcb, 0x2a, 0x5b, 0x2a, 0x18, 0x90, 0xbd, 0x06, 0xf3, 0x69, + 0x57, 0x4c, 0xcb, 0xd9, 0x43, 0xae, 0x98, 0x72, 0xaf, 0xde, 0x90, 0x77, 0xf1, 0x2f, 0xf4, 0x1d, + 0x01, 0xa6, 0xd9, 0xf6, 0x8c, 0xd9, 0x9b, 0x86, 0x9e, 0x09, 0x0e, 0xcd, 0xae, 0xf2, 0x9f, 0x0d, + 0x5f, 0x91, 0x31, 0xf5, 0x19, 0xb7, 0xf1, 0x17, 0xc5, 0x83, 0xee, 0xf8, 0x39, 0x3b, 0xf0, 0x0d, + 0x01, 0x26, 0xd6, 0x65, 0x7d, 0xbf, 0x8c, 0x5d, 0x09, 0x5e, 0x89, 0x58, 0xd6, 0xa7, 0xdc, 0xf0, + 0x2e, 0x23, 0x3f, 0x7e, 0x7f, 0x46, 0x20, 0x0e, 0x20, 0x9e, 0x51, 0xdb, 0x6a, 0xf7, 0x9a, 0xd2, + 0x92, 0x03, 0xcf, 0xe3, 0x5c, 0x90, 0x72, 0xac, 0x51, 0x02, 0x31, 0xc8, 0x94, 0xea, 0x31, 0x10, + 0xbf, 0x24, 0xc0, 0x34, 0x3d, 0xce, 0xc8, 0x43, 0xf3, 0x1d, 0xce, 0x81, 0x2a, 0x06, 0x3b, 0x4f, + 0x86, 0x00, 0x1b, 0x4c, 0x0f, 0x32, 0xa4, 0x78, 0xc8, 0xff, 0xa1, 0x00, 0xe3, 0x8c, 0x89, 0x45, + 0xf2, 0xed, 0x53, 0x50, 0x16, 0x06, 0xfa, 0x90, 0x87, 0x34, 0x49, 0x18, 0xe8, 0xee, 0x8c, 0x20, + 0x9b, 0xc5, 0xa0, 0x1f, 0x5f, 0x7d, 0x46, 0x00, 0x44, 0x35, 0x19, 0x71, 0x82, 0x8d, 0xaf, 0xbc, + 0xce, 0x07, 0xe7, 0x9f, 0x51, 0xc7, 0x6f, 0xa2, 0x7b, 0x98, 0x31, 0x34, 0xcb, 0x83, 0x32, 0x0e, + 0x95, 0xa0, 0xaf, 0x08, 0x30, 0x65, 0xe1, 0xa2, 0xcc, 0x7a, 0x3a, 0x38, 0x28, 0x52, 0xc1, 0x40, + 0x74, 0x22, 0x30, 0xf3, 0x82, 0xd9, 0x5a, 0xc2, 0x39, 0x3c, 0x9c, 0x5f, 0x16, 0x60, 0xa9, 0x22, + 0x6b, 0x72, 0x47, 0xa2, 0xac, 0x27, 0x2f, 0xc9, 0xd2, 0x58, 0xe7, 0x66, 0x98, 0xd1, 0xf5, 0x62, + 0xd9, 0x7b, 0x5c, 0xd1, 0x64, 0xc5, 0xa3, 0x03, 0x68, 0xb0, 0x5b, 0x82, 0x71, 0xdc, 0xe4, 0x20, + 0x38, 0x04, 0x6e, 0xfb, 0x7a, 0xb7, 0x23, 0xdf, 0x5d, 0x81, 0x23, 0x4d, 0x06, 0x16, 0xb8, 0x1e, + 0x01, 0x60, 0x1f, 0x58, 0x0a, 0x2a, 0xc4, 0xc0, 0x92, 0x0a, 0xa1, 0x06, 0x96, 0xd4, 0x08, 0x36, + 0xb0, 0x04, 0x21, 0x66, 0xdb, 0xdf, 0x81, 0x29, 0xfa, 0x1d, 0x6b, 0x78, 0xc6, 0x79, 0x8d, 0xe5, + 0x09, 0x57, 0x00, 0x33, 0x59, 0x17, 0x16, 0x59, 0x62, 0x45, 0x19, 0xcc, 0x8d, 0xe9, 0x5a, 0x57, + 0x92, 0xef, 0x8f, 0x58, 0x11, 0x28, 0x5e, 0x62, 0xc5, 0x19, 0x83, 0xbc, 0x24, 0xa9, 0xb2, 0xa6, + 0xdd, 0x5d, 0x63, 0xc0, 0x1a, 0x0d, 0x6c, 0x0c, 0xea, 0x0c, 0x84, 0xdd, 0x18, 0x18, 0xd0, 0x42, + 0x18, 0x03, 0x56, 0x25, 0x94, 0x31, 0x60, 0x75, 0x82, 0x19, 0x03, 0x86, 0x14, 0x33, 0xd1, 0x0e, + 0x96, 0x59, 0x69, 0x7f, 0x87, 0x90, 0x56, 0x61, 0xc5, 0x0d, 0xa0, 0xb9, 0x80, 0x4e, 0x40, 0x38, + 0x0f, 0xbe, 0x4d, 0x2b, 0x61, 0xb0, 0xff, 0xc0, 0x8a, 0x43, 0x6c, 0x5e, 0xab, 0x6b, 0x77, 0x6f, + 0x5d, 0xb1, 0xd9, 0x6f, 0xe9, 0xca, 0xc5, 0x7a, 0x43, 0xef, 0xaa, 0x9a, 0x5f, 0x58, 0x84, 0x82, + 0xc2, 0xdd, 0xff, 0xba, 0x00, 0x4b, 0x55, 0xb9, 0x23, 0x55, 0x65, 0xdd, 0x38, 0x61, 0xc8, 0x9f, + 0xc8, 0x40, 0xef, 0xf6, 0x3f, 0xd5, 0xeb, 0x5a, 0xd1, 0xcf, 0x88, 0x15, 0x5c, 0xd9, 0xb6, 0x22, + 0x9e, 0xb0, 0x4d, 0x1d, 0xd6, 0x30, 0x76, 0xf6, 0x3a, 0x92, 0x26, 0xeb, 0x1d, 0xae, 0x07, 0xb6, + 0xa2, 0x45, 0x55, 0x59, 0x2f, 0x75, 0x14, 0x5d, 0xa9, 0xb7, 0xcc, 0x23, 0x92, 0xfe, 0x2f, 0xb8, + 0xb0, 0x92, 0x7e, 0x28, 0x9f, 0x73, 0x45, 0x79, 0x54, 0x5c, 0x76, 0x47, 0xa9, 0x50, 0x1c, 0xca, + 0x87, 0xc8, 0x48, 0xff, 0x99, 0x00, 0x73, 0x56, 0xfc, 0xc4, 0x8a, 0xf6, 0x6b, 0xe8, 0xb9, 0xbd, + 0x7c, 0x1c, 0x68, 0x60, 0x7d, 0xd7, 0xde, 0x2a, 0x33, 0x71, 0x2d, 0xdd, 0xbe, 0x93, 0x9e, 0x87, + 0x59, 0x42, 0x51, 0xdb, 0x2c, 0x64, 0xc9, 0xc8, 0x09, 0xf1, 0xc8, 0x80, 0xff, 0x6a, 0x95, 0xb3, + 0xb9, 0xdd, 0xff, 0x44, 0x80, 0xa5, 0x75, 0x6b, 0xf4, 0xc9, 0x5d, 0xe3, 0xf2, 0x2b, 0x8a, 0xbe, + 0xcb, 0x0e, 0x6d, 0x7b, 0x05, 0x1c, 0x9f, 0x0d, 0x3a, 0x3a, 0xce, 0x16, 0xc9, 0x0a, 0x61, 0x02, + 0x92, 0x3d, 0xf2, 0xcb, 0xee, 0x73, 0x93, 0x34, 0x45, 0xd6, 0xcc, 0xd1, 0xd0, 0x72, 0x0d, 0xb3, + 0x3a, 0xfa, 0x55, 0x01, 0xc4, 0x75, 0x59, 0x2f, 0xd0, 0xa3, 0xb7, 0xf7, 0x11, 0xf1, 0xf3, 0xee, + 0x88, 0x8f, 0xa3, 0xc7, 0x87, 0x23, 0xce, 0x19, 0xa7, 0x84, 0xff, 0x58, 0x80, 0x43, 0x34, 0x6e, + 0xe5, 0x89, 0xfa, 0xdd, 0x7b, 0x45, 0x47, 0xdb, 0xdd, 0x07, 0x75, 0x78, 0x7a, 0x4c, 0xc2, 0x38, + 0xa3, 0xce, 0x9a, 0x20, 0x8f, 0x89, 0x3e, 0x03, 0x82, 0xc5, 0x07, 0x53, 0x46, 0x55, 0xf0, 0xdd, + 0xa7, 0x8c, 0xb6, 0x7b, 0x2f, 0x28, 0xcb, 0x04, 0xa0, 0xec, 0x5b, 0x02, 0x1c, 0xa2, 0x6b, 0x7d, + 0x4f, 0xca, 0x2e, 0xec, 0x15, 0xd9, 0x10, 0x6f, 0xe4, 0x3c, 0x8d, 0xd1, 0x33, 0xcc, 0x5c, 0x3c, + 0x67, 0x39, 0xeb, 0x37, 0x3f, 0x5e, 0x17, 0x60, 0x96, 0x9b, 0xca, 0xf9, 0xa6, 0xec, 0x33, 0x23, + 0xce, 0x06, 0xc5, 0x6f, 0x36, 0x45, 0x62, 0x26, 0x2e, 0x53, 0x61, 0x11, 0x2d, 0xb8, 0x81, 0xab, + 0x37, 0x65, 0x6c, 0x9b, 0x16, 0xec, 0xb2, 0x6f, 0x01, 0x7b, 0x26, 0x34, 0x00, 0x26, 0xed, 0x7b, + 0x40, 0xfe, 0xa4, 0x87, 0x30, 0x1c, 0x10, 0xbd, 0xa0, 0x63, 0x29, 0xc0, 0xe8, 0xed, 0xf2, 0xbd, + 0x1f, 0xf4, 0x4c, 0xa2, 0xef, 0x26, 0xfa, 0xcc, 0x30, 0xf4, 0x9f, 0x13, 0x60, 0xc1, 0x2e, 0xc3, + 0x16, 0xfa, 0x27, 0x42, 0x83, 0x18, 0x22, 0xb5, 0xe7, 0xbc, 0xa4, 0x76, 0x31, 0xeb, 0x29, 0x18, + 0x5f, 0xa6, 0xbb, 0x28, 0x46, 0x37, 0x1b, 0xdd, 0xc6, 0x8d, 0x6e, 0x5f, 0xf7, 0x11, 0xd9, 0xa7, + 0x82, 0xa2, 0xb6, 0x35, 0x47, 0xd8, 0xe7, 0x22, 0xb6, 0x07, 0xd1, 0x92, 0x1b, 0xba, 0x16, 0xad, + 0x8b, 0x7e, 0x4f, 0x80, 0x25, 0xbb, 0xe8, 0xda, 0x41, 0x3e, 0xb7, 0x27, 0x30, 0x4c, 0x84, 0xf7, + 0x48, 0xc9, 0xb3, 0x1e, 0x82, 0xb0, 0x2c, 0x0e, 0x23, 0x05, 0x0b, 0x03, 0xa6, 0xc6, 0x2e, 0xca, + 0x77, 0x83, 0x1a, 0x26, 0xd2, 0x77, 0x9b, 0x9a, 0x8c, 0x1f, 0x35, 0xbf, 0x20, 0xc0, 0x92, 0x5d, + 0xb4, 0xed, 0xd4, 0x3c, 0xb3, 0x27, 0x40, 0x43, 0x44, 0xfc, 0x69, 0x2f, 0x11, 0x3f, 0x98, 0x1d, + 0x2a, 0x44, 0x7f, 0x4f, 0x80, 0x31, 0x3a, 0xe4, 0x65, 0xb5, 0x89, 0xce, 0x04, 0x78, 0x38, 0xdd, + 0xf6, 0x66, 0xb9, 0xff, 0xce, 0x6e, 0x59, 0x6d, 0x8a, 0xcb, 0xd4, 0xc5, 0xed, 0xaa, 0xcd, 0x15, + 0xf2, 0xc5, 0x29, 0x45, 0x06, 0x62, 0x3c, 0xd7, 0x55, 0x9b, 0x1a, 0xdb, 0x99, 0x01, 0xdc, 0xf6, + 0x3d, 0x0e, 0xff, 0x1f, 0xbf, 0x7d, 0x27, 0x0d, 0xe4, 0x06, 0x23, 0x6b, 0x96, 0xcd, 0x22, 0x44, + 0x60, 0xd8, 0x83, 0xff, 0x37, 0x20, 0xb1, 0x2e, 0xeb, 0x9b, 0xbb, 0x98, 0x2b, 0x5e, 0xb3, 0xfd, + 0x58, 0x00, 0xda, 0xc9, 0xaa, 0xf8, 0x90, 0x4b, 0xb7, 0x80, 0x12, 0xb4, 0xdb, 0xb6, 0x8c, 0xbe, + 0x40, 0x4d, 0x63, 0x59, 0x6d, 0xae, 0xee, 0xd2, 0xd3, 0xd0, 0x6c, 0xb7, 0xd6, 0x77, 0xe1, 0x46, + 0x4b, 0x07, 0x47, 0xf2, 0xc4, 0xed, 0x3b, 0xe9, 0x69, 0x98, 0xc2, 0x48, 0x9c, 0x1b, 0xb5, 0x69, + 0x34, 0x6f, 0x6c, 0xd4, 0x12, 0x5c, 0xb5, 0xab, 0xbb, 0xf4, 0x2a, 0x27, 0xf4, 0x61, 0x98, 0xb2, + 0xf6, 0x1b, 0x87, 0xb3, 0x24, 0x90, 0x38, 0xac, 0xd0, 0x85, 0x23, 0x06, 0x61, 0xcd, 0xa9, 0xc5, + 0xcc, 0xac, 0xc1, 0x0f, 0xe7, 0x9e, 0xe2, 0x87, 0x61, 0xaa, 0x72, 0x7f, 0xfb, 0xb7, 0x6f, 0x1b, + 0xbe, 0x41, 0x56, 0x80, 0x64, 0xf7, 0x62, 0xd7, 0x3c, 0xaf, 0xae, 0xf9, 0x07, 0xc2, 0x1c, 0x67, + 0xdb, 0x0d, 0x69, 0x7d, 0x26, 0x74, 0x3d, 0xb6, 0xae, 0x3a, 0xeb, 0x22, 0x46, 0x07, 0xc5, 0xb4, + 0x09, 0x9b, 0x0e, 0x97, 0x6d, 0xfd, 0xf4, 0x05, 0x01, 0x26, 0xf3, 0x92, 0xc4, 0xe1, 0xf6, 0xb7, + 0xac, 0x79, 0x49, 0x32, 0x4b, 0x07, 0x0e, 0xde, 0x99, 0x35, 0x8c, 0x10, 0x90, 0x9d, 0xbb, 0x73, + 0x62, 0xca, 0x09, 0x13, 0xc3, 0xfb, 0x73, 0x01, 0x0e, 0xae, 0xcb, 0x1d, 0x59, 0x35, 0x06, 0xd6, + 0xf9, 0x49, 0x82, 0xbf, 0x13, 0xeb, 0x52, 0xc9, 0x00, 0xfd, 0xdc, 0x9e, 0xea, 0x32, 0x66, 0x17, + 0xdd, 0xc8, 0x38, 0x23, 0x9e, 0x1c, 0xe0, 0xf6, 0xab, 0xf4, 0x9f, 0xd7, 0x8c, 0xd3, 0x37, 0x4a, + 0xb7, 0x93, 0xa3, 0x5a, 0x0e, 0x53, 0xf8, 0x4d, 0x01, 0x66, 0x8c, 0xa3, 0x3d, 0xfc, 0x28, 0xf8, + 0x2e, 0x1b, 0x8c, 0x4a, 0x03, 0x43, 0x31, 0x2c, 0xda, 0x31, 0x00, 0x38, 0x27, 0x66, 0x83, 0x01, + 0xbe, 0x2e, 0xd3, 0xcd, 0xdf, 0xaf, 0x92, 0x80, 0x82, 0xbe, 0xb9, 0xbb, 0xad, 0x2a, 0xed, 0xba, + 0xca, 0x21, 0x0e, 0x70, 0x43, 0xb6, 0xbd, 0x86, 0x1f, 0xe0, 0xf3, 0x6e, 0x80, 0x8f, 0x88, 0xa2, + 0x37, 0xe0, 0x5a, 0x8f, 0x76, 0x81, 0x3e, 0x23, 0xc0, 0x34, 0x8d, 0xf9, 0xf2, 0x3c, 0xf5, 0x9d, + 0x90, 0xb4, 0x4a, 0x60, 0x80, 0x67, 0xdc, 0x00, 0x2e, 0x65, 0x17, 0x3d, 0x01, 0xa2, 0x8f, 0x09, + 0x30, 0x6d, 0x98, 0x8d, 0x52, 0xbd, 0xed, 0xe3, 0x2d, 0x9e, 0x0a, 0x20, 0x9f, 0x66, 0x2b, 0xe2, + 0x69, 0xaf, 0xe3, 0x51, 0xa6, 0x01, 0x6b, 0xcb, 0x39, 0xa5, 0xde, 0xa6, 0x2e, 0x00, 0xfa, 0x24, + 0x85, 0x62, 0x7e, 0x05, 0x43, 0xaf, 0xef, 0xf6, 0x82, 0xb2, 0x12, 0x00, 0x0a, 0xd7, 0x0e, 0x61, + 0x0d, 0xb3, 0x23, 0x34, 0x72, 0x63, 0x8f, 0xf6, 0x32, 0x38, 0x24, 0xa4, 0x93, 0xa3, 0x77, 0x25, + 0x7d, 0x95, 0xd3, 0x44, 0xec, 0x7a, 0xf0, 0x80, 0x9a, 0xc8, 0xb8, 0x2d, 0x3a, 0xb8, 0x26, 0xa2, + 0x35, 0x88, 0xbe, 0x44, 0x90, 0xe2, 0x40, 0xba, 0x2b, 0x24, 0x06, 0x14, 0x8b, 0xff, 0xbf, 0x10, + 0x60, 0x9a, 0x3a, 0x0b, 0x3c, 0xd0, 0xa7, 0x83, 0xf9, 0x17, 0xfb, 0xc1, 0xfa, 0xdc, 0x10, 0xac, + 0x87, 0x33, 0x19, 0x27, 0x56, 0x2b, 0x72, 0x86, 0x51, 0x7f, 0xc9, 0x3e, 0x1d, 0x82, 0xa2, 0x36, + 0xa7, 0x83, 0x1d, 0xf5, 0xb0, 0xf9, 0x3a, 0x03, 0xd3, 0x1c, 0x44, 0xce, 0xcd, 0x3c, 0x90, 0x1d, + 0x82, 0x11, 0x7d, 0xc7, 0x6e, 0x41, 0x59, 0xe4, 0x30, 0x90, 0x05, 0x75, 0xb9, 0xf2, 0x38, 0x90, + 0x05, 0x75, 0xbb, 0x62, 0x9a, 0x38, 0xf4, 0x1e, 0x62, 0xcb, 0x1b, 0x52, 0x83, 0x00, 0xce, 0x90, + 0x7e, 0x4e, 0x30, 0x9f, 0x33, 0xb9, 0xd7, 0x4e, 0xea, 0x19, 0xb6, 0xea, 0xa0, 0xbd, 0xd9, 0x1d, + 0x34, 0x96, 0xe8, 0x70, 0x56, 0xbf, 0x29, 0xc0, 0x24, 0xa5, 0x94, 0x41, 0xd4, 0xd0, 0x93, 0xa1, + 0x5e, 0x64, 0x08, 0x7c, 0x54, 0xc5, 0x51, 0x8b, 0xdb, 0x9f, 0x70, 0x43, 0x3c, 0x2f, 0x4e, 0x5b, + 0x88, 0x39, 0x66, 0xbe, 0x2e, 0x98, 0x07, 0x7f, 0xc9, 0x39, 0xc9, 0x13, 0x01, 0xbb, 0x2d, 0x15, + 0xfc, 0x37, 0x79, 0x58, 0x51, 0xe2, 0xed, 0x9e, 0x22, 0x93, 0xca, 0x86, 0x0b, 0x45, 0x4a, 0x14, + 0x5b, 0x0a, 0x4d, 0xda, 0xb9, 0x89, 0x3e, 0x2b, 0xc0, 0x04, 0x5b, 0x4f, 0xd3, 0xf4, 0xc0, 0x4c, + 0xb4, 0x2f, 0x89, 0x8e, 0x05, 0xac, 0x45, 0x36, 0x50, 0xa6, 0xc8, 0x45, 0x38, 0x04, 0x9e, 0x35, + 0xe1, 0x27, 0xc5, 0x31, 0x13, 0x1b, 0xe6, 0xd7, 0x3f, 0x16, 0x60, 0x82, 0xad, 0x8d, 0x43, 0x22, + 0xa3, 0xb5, 0x42, 0x23, 0x3b, 0x43, 0xa6, 0xba, 0x1d, 0x99, 0xc9, 0xb9, 0x99, 0x8c, 0x83, 0x73, + 0x18, 0xe2, 0xd7, 0x04, 0x98, 0xb6, 0x16, 0x09, 0x06, 0xcc, 0x10, 0x03, 0x1b, 0x18, 0xdb, 0xbb, + 0x86, 0x61, 0xc3, 0xaa, 0xd2, 0x3e, 0x47, 0x1c, 0x6b, 0x89, 0xaf, 0x11, 0x55, 0xf9, 0x30, 0xe2, + 0xb4, 0xaf, 0x39, 0x6e, 0x0b, 0x30, 0x41, 0xf5, 0xf3, 0x1e, 0x30, 0x7a, 0x69, 0x70, 0x3c, 0x4f, + 0x67, 0x61, 0xd2, 0x80, 0x44, 0xd5, 0xb7, 0x35, 0x23, 0xb2, 0xce, 0x19, 0xf1, 0x6f, 0xcc, 0xdd, + 0x25, 0xfb, 0xdb, 0x31, 0x01, 0x76, 0x97, 0x86, 0x3c, 0x36, 0x93, 0xb9, 0x10, 0xfe, 0x01, 0x14, + 0x53, 0xd5, 0x3c, 0xe5, 0xa1, 0x6a, 0xb0, 0xfa, 0x66, 0x2f, 0x33, 0xb9, 0x69, 0x9c, 0xdf, 0x10, + 0x60, 0x6e, 0x5d, 0xd6, 0xed, 0xa8, 0x88, 0xee, 0x59, 0x09, 0x03, 0xa6, 0x54, 0xc8, 0x84, 0x7e, + 0xf5, 0x47, 0x5c, 0xf3, 0x80, 0x7c, 0x12, 0x9d, 0x18, 0x80, 0xfc, 0xaa, 0x75, 0x97, 0xf5, 0x6b, + 0x34, 0x93, 0x0d, 0xc5, 0x17, 0x29, 0x01, 0xb6, 0xef, 0x5a, 0x87, 0xbb, 0x74, 0xe7, 0x42, 0xbd, + 0x4b, 0x4e, 0xdd, 0x3a, 0x6c, 0x1f, 0xe7, 0x60, 0xc6, 0x80, 0xea, 0xb4, 0x91, 0x24, 0x8e, 0x6e, + 0x40, 0xb5, 0xbb, 0x77, 0x7f, 0x29, 0xc0, 0xac, 0xcd, 0x04, 0x19, 0x36, 0xfe, 0xc2, 0x1e, 0x9e, + 0x47, 0x0f, 0xbc, 0x80, 0x1b, 0xf2, 0x30, 0xbf, 0x78, 0xe5, 0xf6, 0x9d, 0xf4, 0xb2, 0x2b, 0x2d, + 0x68, 0xcc, 0x98, 0x2a, 0x6c, 0x20, 0xc4, 0xc7, 0x73, 0xee, 0x23, 0xe0, 0xe2, 0x08, 0x7c, 0x5b, + 0x80, 0x54, 0x5e, 0x92, 0x6c, 0x3d, 0xa3, 0x33, 0xa1, 0x80, 0xe6, 0x25, 0xc9, 0xff, 0xc8, 0x8e, + 0xad, 0x06, 0xd9, 0xe3, 0xcb, 0xc0, 0xac, 0x83, 0x18, 0xbb, 0x4e, 0x59, 0x12, 0x9d, 0xfe, 0x01, + 0xe7, 0xd8, 0x7e, 0x57, 0x80, 0x19, 0xea, 0x60, 0xd8, 0x91, 0x3f, 0x11, 0x0a, 0x07, 0x6d, 0x21, + 0x2c, 0xf8, 0x52, 0x00, 0xf0, 0x47, 0x33, 0xcb, 0xee, 0xe0, 0xed, 0x9e, 0xee, 0x37, 0x04, 0x98, + 0xb1, 0xa9, 0xc5, 0x3d, 0x91, 0x41, 0x5b, 0xf0, 0x54, 0x93, 0xeb, 0xb7, 0xef, 0xa4, 0x97, 0x60, + 0xce, 0x81, 0xd7, 0xa1, 0x2d, 0xc5, 0xac, 0x2f, 0x60, 0xf4, 0xa7, 0xa6, 0xdb, 0xcb, 0x7d, 0x13, + 0x1f, 0xe0, 0x88, 0xcb, 0xc0, 0x17, 0xf4, 0xc6, 0x84, 0x38, 0xbf, 0x87, 0x9a, 0x6c, 0x3a, 0xbc, + 0x70, 0xfb, 0x4e, 0xfa, 0x10, 0x4c, 0x9b, 0x5a, 0xa8, 0xdb, 0x92, 0x5d, 0x27, 0xc3, 0x09, 0xf1, + 0x88, 0xc7, 0x64, 0x20, 0x13, 0x9d, 0x9f, 0x0a, 0xbf, 0x44, 0x97, 0x74, 0x5c, 0x9f, 0x81, 0xb5, + 0x29, 0x2e, 0x8c, 0xa7, 0xc1, 0xc9, 0x10, 0xe5, 0xc9, 0x1a, 0x29, 0x4d, 0xee, 0x40, 0xb2, 0x48, + 0xb0, 0x4b, 0xd1, 0xa2, 0x38, 0xeb, 0x18, 0x14, 0x02, 0x9a, 0x05, 0x36, 0xd0, 0x6a, 0xbf, 0x75, + 0xc3, 0x01, 0xf8, 0x5c, 0x38, 0xc0, 0xb8, 0x05, 0x4f, 0xb9, 0xc9, 0xfb, 0xe2, 0x3b, 0x2c, 0x66, + 0xdc, 0xf0, 0xe5, 0x6a, 0x57, 0xfb, 0x2d, 0x12, 0x7e, 0xf9, 0x15, 0x73, 0xfd, 0xc9, 0x83, 0x3c, + 0x1b, 0x02, 0x24, 0x9b, 0xa2, 0xa1, 0x18, 0x1b, 0x00, 0x78, 0xc6, 0x1d, 0xf8, 0xab, 0x37, 0xe4, + 0xdd, 0xd7, 0xd8, 0xe9, 0xca, 0x69, 0xdb, 0xc4, 0x0c, 0x0d, 0xdc, 0x67, 0x52, 0x62, 0x0d, 0xb8, + 0x68, 0xa9, 0x73, 0x82, 0xd1, 0x31, 0x25, 0xf1, 0x1a, 0xd4, 0x13, 0x24, 0xfa, 0x4f, 0xe6, 0x64, + 0xe4, 0xbe, 0x72, 0x0f, 0x30, 0x19, 0xbd, 0x9e, 0xad, 0xf5, 0x9f, 0x8c, 0x9e, 0x4f, 0x03, 0x8b, + 0x2f, 0xdd, 0xbe, 0x93, 0x3e, 0x08, 0x29, 0x83, 0x98, 0x7a, 0xaf, 0xe7, 0x3a, 0x17, 0xcf, 0x88, + 0x27, 0x3d, 0xe6, 0x22, 0xf7, 0xc2, 0xb5, 0x6d, 0x4a, 0x7e, 0x57, 0xb0, 0x3d, 0x00, 0x4d, 0x3c, + 0x9c, 0xd3, 0x21, 0x70, 0x06, 0x39, 0xf3, 0xe7, 0x78, 0x55, 0x98, 0x68, 0x96, 0x00, 0xc4, 0x64, + 0xd1, 0xf1, 0x20, 0xc4, 0x10, 0x6f, 0xe7, 0x0d, 0x01, 0x10, 0xff, 0xa4, 0xff, 0x3d, 0x5e, 0x71, + 0xbf, 0x97, 0x06, 0x5f, 0x9c, 0x14, 0xd0, 0xe3, 0x62, 0xe8, 0x94, 0x43, 0xa8, 0xec, 0x70, 0x35, + 0xb9, 0x51, 0xe3, 0xd7, 0xe2, 0xff, 0x4e, 0x80, 0x39, 0xb6, 0xa1, 0x66, 0xbf, 0x32, 0x02, 0x3d, + 0x15, 0xf2, 0x2d, 0x73, 0xb6, 0x13, 0x7b, 0x32, 0xc4, 0x78, 0x10, 0xa7, 0x87, 0xd3, 0xf2, 0x98, + 0x12, 0x3a, 0x91, 0x1d, 0x83, 0x71, 0x5a, 0x0c, 0x34, 0x18, 0x5d, 0x45, 0x6a, 0x60, 0xb1, 0xfa, + 0x5d, 0xf3, 0xf4, 0x23, 0x4f, 0xd0, 0xd9, 0x10, 0xc8, 0xd8, 0x46, 0xec, 0xbd, 0x21, 0x26, 0x13, + 0x58, 0xb2, 0x30, 0x31, 0x7f, 0x24, 0xc0, 0x9c, 0xb5, 0x54, 0xe5, 0x09, 0x0a, 0x39, 0x53, 0x42, + 0x11, 0x53, 0x0f, 0x48, 0xcc, 0xf9, 0xcc, 0x93, 0x41, 0x89, 0x71, 0xae, 0x6d, 0x31, 0x61, 0x95, + 0xb7, 0x06, 0x61, 0xf6, 0xc5, 0xf0, 0xb7, 0x4c, 0xe3, 0xb2, 0x0f, 0xa2, 0xbc, 0x0c, 0x4b, 0xf5, + 0xf6, 0x9d, 0xf4, 0x61, 0xcb, 0xf8, 0x61, 0xfc, 0xcc, 0xae, 0x38, 0x15, 0x58, 0x36, 0xb8, 0x02, + 0xfb, 0x6f, 0xe6, 0x69, 0x06, 0x0e, 0x84, 0xf5, 0xe2, 0x7c, 0x80, 0x8d, 0x76, 0xb3, 0x2c, 0x9b, + 0x39, 0x21, 0xde, 0xb3, 0x17, 0x5b, 0x01, 0x87, 0xa4, 0x90, 0x79, 0x3e, 0x10, 0x45, 0xdc, 0x2f, + 0x92, 0x8b, 0xd5, 0x02, 0xbd, 0xb2, 0x13, 0x8f, 0xce, 0x5f, 0x0b, 0x90, 0xa9, 0xc8, 0x4d, 0xb6, + 0x8d, 0x47, 0x60, 0xf0, 0x37, 0x89, 0x87, 0x1c, 0x26, 0xdf, 0x4d, 0x11, 0xbe, 0x71, 0x51, 0x0f, + 0x48, 0xe9, 0x46, 0x66, 0x3d, 0xb0, 0xf0, 0x59, 0xd4, 0xe5, 0x6a, 0x54, 0xab, 0xd3, 0x9b, 0x9a, + 0xe9, 0x6d, 0xe9, 0x98, 0xe2, 0xbf, 0x10, 0x60, 0xc6, 0xe6, 0xd7, 0x93, 0xc5, 0xbe, 0x86, 0xce, + 0xef, 0x25, 0xb0, 0xb1, 0xff, 0x98, 0x88, 0x43, 0x82, 0x49, 0xd8, 0xc0, 0xdd, 0x04, 0x8b, 0x47, + 0x73, 0x43, 0x43, 0x0d, 0x9c, 0x27, 0xf1, 0x86, 0x60, 0x7f, 0x6b, 0xfb, 0x3e, 0x05, 0x4b, 0x56, + 0x49, 0x88, 0xca, 0x85, 0x16, 0xba, 0x3b, 0x88, 0xc4, 0x9c, 0x7f, 0xac, 0xe4, 0x5f, 0x0a, 0x80, + 0x6c, 0x81, 0x5c, 0xfa, 0xe0, 0xde, 0xb9, 0x30, 0x60, 0x98, 0xf1, 0x3d, 0x15, 0xa6, 0x0e, 0xf1, + 0xa3, 0xb9, 0xf0, 0x09, 0x05, 0x6f, 0x85, 0x75, 0x45, 0xf1, 0xe0, 0x50, 0xf4, 0x2c, 0x50, 0x85, + 0x6c, 0xa1, 0xde, 0x3d, 0x60, 0x67, 0x1a, 0x23, 0x1c, 0xf6, 0x8b, 0xc3, 0xb1, 0x1f, 0xcb, 0x04, + 0xe0, 0x3c, 0x73, 0x15, 0xe6, 0x07, 0x02, 0xc1, 0x94, 0x88, 0xb0, 0xd2, 0x13, 0x8e, 0x80, 0xca, + 0x70, 0x02, 0x9e, 0xc8, 0xac, 0xf8, 0x13, 0xe0, 0xb4, 0xa8, 0x98, 0x98, 0xca, 0x0f, 0x2e, 0x31, + 0x76, 0x2b, 0xfa, 0x15, 0x01, 0x90, 0x6d, 0x89, 0xb6, 0x37, 0x42, 0x86, 0x9d, 0x3f, 0x98, 0xb7, + 0xa2, 0x3c, 0x14, 0x32, 0xb7, 0x43, 0x78, 0x24, 0x1b, 0x64, 0xee, 0x7e, 0x5b, 0x80, 0x8c, 0x15, + 0xe7, 0x1c, 0x78, 0x7e, 0xda, 0x2b, 0xd8, 0xf9, 0x4c, 0xf8, 0x27, 0x40, 0x69, 0xc4, 0xb3, 0x48, + 0x62, 0x3d, 0x8b, 0x76, 0xd4, 0xce, 0xb8, 0x27, 0x39, 0xfc, 0x6f, 0x40, 0x67, 0x68, 0xed, 0xe1, + 0xcf, 0xdb, 0x11, 0x58, 0x1c, 0xb4, 0x08, 0x46, 0x0c, 0xf4, 0xf9, 0xbd, 0x3e, 0x50, 0x6a, 0x58, + 0x87, 0xf7, 0xec, 0xbd, 0x01, 0x66, 0x23, 0xae, 0x06, 0xa1, 0xf3, 0x87, 0xc4, 0x67, 0x7d, 0x86, + 0xc8, 0x78, 0x38, 0xcf, 0x35, 0x34, 0xfa, 0xe7, 0x02, 0xcc, 0x59, 0xe1, 0x15, 0xfe, 0x21, 0xf0, + 0xa7, 0xc2, 0xe3, 0xcf, 0x4b, 0x52, 0xe6, 0x5c, 0xf8, 0x6a, 0xe2, 0xfb, 0x6f, 0xdf, 0x49, 0x1f, + 0x80, 0x8c, 0x2b, 0xa1, 0xd6, 0x04, 0x7a, 0x4a, 0x3c, 0x13, 0x96, 0x52, 0xe6, 0xea, 0xa4, 0x6d, + 0xe1, 0x19, 0x9e, 0xc8, 0x67, 0xc3, 0xa3, 0x65, 0xc1, 0x9a, 0xbd, 0xd0, 0x29, 0x07, 0xa2, 0xf3, + 0xf9, 0xcc, 0x85, 0xd0, 0x23, 0x6a, 0x0b, 0xb8, 0xfe, 0x81, 0x00, 0xe9, 0x41, 0xa5, 0xb1, 0x77, + 0x8a, 0x7d, 0xa2, 0x3c, 0x0d, 0x12, 0x4b, 0x58, 0x72, 0xa5, 0x8a, 0xd3, 0x25, 0xef, 0xca, 0xee, + 0x83, 0x2c, 0xf4, 0x6b, 0x02, 0xa4, 0xac, 0x8f, 0xa6, 0x98, 0xef, 0xf6, 0x74, 0xc8, 0x57, 0x01, + 0x03, 0x9f, 0x45, 0xf0, 0x78, 0x4f, 0x92, 0xec, 0x64, 0x4d, 0xc3, 0x14, 0xbd, 0x34, 0xc7, 0xee, + 0xe6, 0x58, 0x97, 0x3c, 0x0c, 0xfa, 0x65, 0xbf, 0x20, 0x70, 0x2f, 0xa8, 0x12, 0xa7, 0xec, 0x64, + 0x60, 0x04, 0x41, 0x3f, 0x15, 0xb6, 0xdc, 0xb1, 0xf3, 0xde, 0x20, 0x0f, 0xa1, 0x03, 0x03, 0x5f, + 0x71, 0xf1, 0x9a, 0xfc, 0xeb, 0x02, 0x4c, 0x59, 0xb7, 0xe1, 0x50, 0x5b, 0x93, 0x0b, 0xdc, 0x3b, + 0xf3, 0xbf, 0x4e, 0x04, 0xae, 0x60, 0xbf, 0x84, 0xc8, 0x61, 0x2f, 0x0f, 0x88, 0x0b, 0x1e, 0x58, + 0x31, 0x4b, 0xff, 0xa9, 0x00, 0x53, 0xd6, 0xb7, 0x9d, 0x61, 0x91, 0x32, 0x6f, 0x2b, 0x04, 0xd2, + 0x1f, 0x1a, 0x82, 0xf4, 0xd1, 0xcc, 0x50, 0xae, 0x32, 0xcf, 0x7c, 0xc6, 0x7e, 0xff, 0x0f, 0x85, + 0x1c, 0x4a, 0x0e, 0x42, 0xc0, 0x2d, 0x0d, 0x81, 0x7b, 0x3a, 0x73, 0x7c, 0x18, 0x5c, 0xa7, 0x3f, + 0xf5, 0x06, 0xd9, 0xbe, 0xf9, 0x01, 0x81, 0x6e, 0xf7, 0x9e, 0x5e, 0x17, 0xf8, 0xcf, 0xcc, 0xf7, + 0x00, 0x7b, 0xd8, 0xf7, 0x9f, 0x33, 0x30, 0xcd, 0x61, 0xe4, 0x14, 0xdd, 0xa1, 0xec, 0xf0, 0x49, + 0xf6, 0xb3, 0x02, 0xcc, 0xac, 0xf6, 0x5b, 0x37, 0x9c, 0xc8, 0x9e, 0x08, 0x8c, 0xcc, 0x7a, 0x02, + 0xda, 0x13, 0xe1, 0x93, 0xc3, 0x10, 0x2e, 0x64, 0x11, 0x45, 0x68, 0xa8, 0x2a, 0x63, 0x2b, 0xe3, + 0xa3, 0x02, 0xb9, 0x8e, 0x90, 0xa8, 0xa8, 0xa3, 0x01, 0x9e, 0xbc, 0x08, 0x72, 0xb6, 0x82, 0xbd, + 0x9d, 0x45, 0x0e, 0xf6, 0x4c, 0xc2, 0x78, 0x57, 0x6d, 0xae, 0x28, 0x52, 0xcf, 0xe5, 0x2c, 0x7f, + 0x5b, 0xce, 0x29, 0x52, 0x8f, 0x31, 0xe9, 0xf3, 0xe6, 0xc1, 0x1e, 0xf6, 0x30, 0x93, 0x3f, 0x7b, + 0x5c, 0x5e, 0x9a, 0x0b, 0x70, 0x89, 0x9d, 0xd4, 0x23, 0x27, 0x67, 0xa6, 0x60, 0xc2, 0x40, 0x66, + 0x89, 0xdb, 0x82, 0xe8, 0x80, 0x66, 0xc4, 0x56, 0x5f, 0x37, 0xb5, 0x8f, 0xf5, 0xbc, 0xde, 0x89, + 0x00, 0x5d, 0x31, 0xbd, 0xb3, 0x4f, 0x54, 0x19, 0x17, 0x86, 0xb1, 0xfd, 0x1c, 0x4e, 0xc9, 0x58, + 0xc8, 0x02, 0x8e, 0x64, 0x20, 0x54, 0xef, 0xf2, 0x42, 0xf5, 0x58, 0xe6, 0xd0, 0x20, 0x2a, 0xa7, + 0x2e, 0xf9, 0xb2, 0x4d, 0x97, 0x3c, 0x1c, 0x08, 0xed, 0x2a, 0xe3, 0xc7, 0x0c, 0x8d, 0x11, 0x1a, + 0x9c, 0xd7, 0x4c, 0x3c, 0xed, 0x85, 0x67, 0x36, 0xeb, 0x26, 0xf8, 0xbf, 0x26, 0xc0, 0x0c, 0x15, + 0x13, 0xfb, 0xeb, 0x8d, 0xe1, 0xc4, 0x9f, 0x09, 0x5a, 0xb8, 0xc7, 0x2c, 0xc9, 0x7e, 0x9d, 0x2b, + 0xd4, 0xc7, 0x33, 0x8f, 0x0e, 0x40, 0xed, 0xb9, 0x84, 0x15, 0xbf, 0x26, 0x00, 0x50, 0x97, 0xa9, + 0x24, 0xf5, 0x34, 0xff, 0x88, 0xa9, 0xf3, 0x45, 0x34, 0xff, 0xef, 0x18, 0x07, 0xde, 0x28, 0x24, + 0x1f, 0x0a, 0xba, 0xe9, 0x15, 0xec, 0x90, 0xd9, 0x30, 0x73, 0x0e, 0xd9, 0x27, 0xe8, 0xf5, 0x1a, + 0xfc, 0x53, 0x62, 0x5e, 0xab, 0xd4, 0x5c, 0xa0, 0xcb, 0x17, 0xad, 0x97, 0x9d, 0x86, 0x7d, 0xcf, + 0x6a, 0xc0, 0x31, 0xbf, 0xed, 0x22, 0x97, 0x2a, 0x62, 0xf7, 0x70, 0x9a, 0xea, 0x2b, 0x1e, 0xd0, + 0x4a, 0x88, 0x8e, 0x03, 0x6d, 0xcb, 0x73, 0xe5, 0x87, 0x7e, 0xba, 0xea, 0x8e, 0x92, 0xed, 0xc7, + 0xb3, 0x2d, 0x25, 0x1e, 0x68, 0x98, 0x8e, 0xef, 0x12, 0xca, 0xcc, 0x30, 0x94, 0xb7, 0x8c, 0x8d, + 0x87, 0x20, 0xc3, 0xbb, 0xa7, 0xcf, 0x4f, 0x3d, 0xc6, 0xf1, 0x3f, 0xd0, 0x38, 0x08, 0xd7, 0x2d, + 0x77, 0x25, 0x6f, 0x80, 0x5d, 0x6b, 0xaf, 0x67, 0x9b, 0xfc, 0x77, 0xad, 0x3d, 0x5f, 0xc6, 0x12, + 0x2f, 0xb9, 0x4b, 0xe3, 0x59, 0xf1, 0x94, 0x07, 0x15, 0x78, 0xae, 0x18, 0xcf, 0xa0, 0xd9, 0xe6, + 0xcc, 0xbf, 0x16, 0x60, 0x29, 0x2f, 0x49, 0xfc, 0x2d, 0xc3, 0xdd, 0x50, 0xf2, 0x6a, 0x7f, 0x3d, + 0xce, 0x5f, 0x12, 0xb8, 0xf2, 0x24, 0x4a, 0xeb, 0x26, 0x09, 0x27, 0xc4, 0x23, 0x41, 0xe8, 0xc0, + 0xf8, 0xff, 0x95, 0x00, 0xcb, 0xa6, 0x6a, 0x37, 0x1a, 0xbe, 0xa8, 0x76, 0xdb, 0x3c, 0x11, 0xa7, + 0x43, 0x80, 0x1a, 0xa2, 0xf3, 0x5f, 0xf0, 0x80, 0x7b, 0x5e, 0x7c, 0x32, 0x10, 0xdb, 0x5f, 0xb5, + 0x3d, 0xb0, 0x86, 0x8d, 0xfb, 0xea, 0x6f, 0x09, 0x9f, 0xce, 0xff, 0x8c, 0x80, 0xd6, 0x61, 0xd2, + 0xba, 0x20, 0x79, 0x39, 0xbf, 0x5d, 0x12, 0xcf, 0xa0, 0x95, 0xeb, 0xba, 0xde, 0xd3, 0x2e, 0xe4, + 0x72, 0x4d, 0x45, 0xbf, 0xde, 0xbf, 0xba, 0xd2, 0xe8, 0xb6, 0x73, 0x98, 0x0c, 0xf3, 0xc6, 0xdf, + 0xde, 0x8d, 0x66, 0xce, 0x22, 0xe5, 0x5c, 0xf4, 0xcc, 0xca, 0xd9, 0xac, 0x10, 0x39, 0x97, 0xe2, + 0xf6, 0x51, 0x72, 0x3f, 0xaa, 0x75, 0x3b, 0xf6, 0x94, 0xa6, 0xda, 0x6b, 0x5c, 0x18, 0x28, 0x73, + 0x61, 0xa0, 0xcc, 0xfb, 0x4e, 0x0e, 0xeb, 0x17, 0x97, 0xe0, 0x3a, 0xbf, 0x3a, 0x42, 0x58, 0xf5, + 0xc4, 0xff, 0x0f, 0x00, 0x00, 0xff, 0xff, 0x10, 0xb9, 0x1b, 0x77, 0xaf, 0xfb, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context -var _ grpc.ClientConnInterface +var _ grpc.ClientConn // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 +const _ = grpc.SupportPackageIsVersion4 // ManagementServiceClient is the client API for ManagementService service. // @@ -21109,26 +13856,24 @@ type ManagementServiceClient interface { GetZitadelDocs(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*ZitadelDocs, error) // GetIam returns some needed settings of the iam (Global Organisation ID, Zitadel Project ID) GetIam(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Iam, error) + IsUserUnique(ctx context.Context, in *UniqueUserRequest, opts ...grpc.CallOption) (*UniqueUserResponse, error) GetUserByID(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserView, error) // GetUserByLoginNameGlobal returns User, global search is overall organisations GetUserByLoginNameGlobal(ctx context.Context, in *LoginName, opts ...grpc.CallOption) (*UserView, error) // Limit should always be set, there is a default limit set by the service SearchUsers(ctx context.Context, in *UserSearchRequest, opts ...grpc.CallOption) (*UserSearchResponse, error) - IsUserUnique(ctx context.Context, in *UniqueUserRequest, opts ...grpc.CallOption) (*UniqueUserResponse, error) - CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*User, error) - DeactivateUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*User, error) - ReactivateUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*User, error) - LockUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*User, error) - UnlockUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*User, error) + CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*UserResponse, error) + DeactivateUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserResponse, error) + ReactivateUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserResponse, error) + LockUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserResponse, error) + UnlockUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserResponse, error) DeleteUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*empty.Empty, error) // UserChanges returns the event stream of the user object UserChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) - // ApplicationChanges returns the event stream of the application object - ApplicationChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) - // OrgChanges returns the event stream of the org object - OrgChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) - // ProjectChanges returns the event stream of the project object - ProjectChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) + AddMachineKey(ctx context.Context, in *AddMachineKeyRequest, opts ...grpc.CallOption) (*AddMachineKeyResponse, error) + DeleteMachineKey(ctx context.Context, in *MachineKeyIDRequest, opts ...grpc.CallOption) (*empty.Empty, error) + SearchMachineKeys(ctx context.Context, in *MachineKeySearchRequest, opts ...grpc.CallOption) (*MachineKeySearchResponse, error) + GetMachineKey(ctx context.Context, in *MachineKeyIDRequest, opts ...grpc.CallOption) (*MachineKeyView, error) GetUserProfile(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserProfileView, error) UpdateUserProfile(ctx context.Context, in *UpdateUserProfileRequest, opts ...grpc.CallOption) (*UserProfile, error) GetUserEmail(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserEmailView, error) @@ -21141,6 +13886,7 @@ type ManagementServiceClient interface { ResendPhoneVerificationCode(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*empty.Empty, error) GetUserAddress(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserAddressView, error) UpdateUserAddress(ctx context.Context, in *UpdateUserAddressRequest, opts ...grpc.CallOption) (*UserAddress, error) + UpdateUserMachine(ctx context.Context, in *UpdateMachineRequest, opts ...grpc.CallOption) (*MachineResponse, error) GetUserMfas(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*MultiFactors, error) // Sends an Notification (Email/SMS) with a password reset Link SendSetPasswordNotification(ctx context.Context, in *SetPasswordNotificationRequest, opts ...grpc.CallOption) (*empty.Empty, error) @@ -21164,6 +13910,8 @@ type ManagementServiceClient interface { UpdatePasswordLockoutPolicy(ctx context.Context, in *PasswordLockoutPolicyUpdate, opts ...grpc.CallOption) (*PasswordLockoutPolicy, error) DeletePasswordLockoutPolicy(ctx context.Context, in *PasswordLockoutPolicyID, opts ...grpc.CallOption) (*empty.Empty, error) CreateOrg(ctx context.Context, in *OrgCreateRequest, opts ...grpc.CallOption) (*Org, error) + // OrgChanges returns the event stream of the org object + OrgChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) GetMyOrg(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*OrgView, error) // search a organisation by its domain overall organisations GetOrgByDomainGlobal(ctx context.Context, in *Domain, opts ...grpc.CallOption) (*OrgView, error) @@ -21181,6 +13929,8 @@ type ManagementServiceClient interface { ChangeMyOrgMember(ctx context.Context, in *ChangeOrgMemberRequest, opts ...grpc.CallOption) (*OrgMember, error) RemoveMyOrgMember(ctx context.Context, in *RemoveOrgMemberRequest, opts ...grpc.CallOption) (*empty.Empty, error) SearchMyOrgMembers(ctx context.Context, in *OrgMemberSearchRequest, opts ...grpc.CallOption) (*OrgMemberSearchResponse, error) + // ProjectChanges returns the event stream of the project object + ProjectChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) SearchProjects(ctx context.Context, in *ProjectSearchRequest, opts ...grpc.CallOption) (*ProjectSearchResponse, error) ProjectByID(ctx context.Context, in *ProjectID, opts ...grpc.CallOption) (*ProjectView, error) CreateProject(ctx context.Context, in *ProjectCreateRequest, opts ...grpc.CallOption) (*Project, error) @@ -21206,6 +13956,8 @@ type ManagementServiceClient interface { RemoveProjectRole(ctx context.Context, in *ProjectRoleRemove, opts ...grpc.CallOption) (*empty.Empty, error) SearchApplications(ctx context.Context, in *ApplicationSearchRequest, opts ...grpc.CallOption) (*ApplicationSearchResponse, error) ApplicationByID(ctx context.Context, in *ApplicationID, opts ...grpc.CallOption) (*ApplicationView, error) + // ApplicationChanges returns the event stream of the application object + ApplicationChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) CreateOIDCApplication(ctx context.Context, in *OIDCApplicationCreate, opts ...grpc.CallOption) (*Application, error) UpdateApplication(ctx context.Context, in *ApplicationUpdate, opts ...grpc.CallOption) (*Application, error) DeactivateApplication(ctx context.Context, in *ApplicationID, opts ...grpc.CallOption) (*Application, error) @@ -21253,10 +14005,10 @@ type ManagementServiceClient interface { } type managementServiceClient struct { - cc grpc.ClientConnInterface + cc *grpc.ClientConn } -func NewManagementServiceClient(cc grpc.ClientConnInterface) ManagementServiceClient { +func NewManagementServiceClient(cc *grpc.ClientConn) ManagementServiceClient { return &managementServiceClient{cc} } @@ -21305,6 +14057,15 @@ func (c *managementServiceClient) GetIam(ctx context.Context, in *empty.Empty, o return out, nil } +func (c *managementServiceClient) IsUserUnique(ctx context.Context, in *UniqueUserRequest, opts ...grpc.CallOption) (*UniqueUserResponse, error) { + out := new(UniqueUserResponse) + err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/IsUserUnique", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *managementServiceClient) GetUserByID(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserView, error) { out := new(UserView) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetUserByID", in, out, opts...) @@ -21332,17 +14093,8 @@ func (c *managementServiceClient) SearchUsers(ctx context.Context, in *UserSearc return out, nil } -func (c *managementServiceClient) IsUserUnique(ctx context.Context, in *UniqueUserRequest, opts ...grpc.CallOption) (*UniqueUserResponse, error) { - out := new(UniqueUserResponse) - err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/IsUserUnique", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *managementServiceClient) CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*User, error) { - out := new(User) +func (c *managementServiceClient) CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*UserResponse, error) { + out := new(UserResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/CreateUser", in, out, opts...) if err != nil { return nil, err @@ -21350,8 +14102,8 @@ func (c *managementServiceClient) CreateUser(ctx context.Context, in *CreateUser return out, nil } -func (c *managementServiceClient) DeactivateUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*User, error) { - out := new(User) +func (c *managementServiceClient) DeactivateUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserResponse, error) { + out := new(UserResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/DeactivateUser", in, out, opts...) if err != nil { return nil, err @@ -21359,8 +14111,8 @@ func (c *managementServiceClient) DeactivateUser(ctx context.Context, in *UserID return out, nil } -func (c *managementServiceClient) ReactivateUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*User, error) { - out := new(User) +func (c *managementServiceClient) ReactivateUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserResponse, error) { + out := new(UserResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ReactivateUser", in, out, opts...) if err != nil { return nil, err @@ -21368,8 +14120,8 @@ func (c *managementServiceClient) ReactivateUser(ctx context.Context, in *UserID return out, nil } -func (c *managementServiceClient) LockUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*User, error) { - out := new(User) +func (c *managementServiceClient) LockUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserResponse, error) { + out := new(UserResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/LockUser", in, out, opts...) if err != nil { return nil, err @@ -21377,8 +14129,8 @@ func (c *managementServiceClient) LockUser(ctx context.Context, in *UserID, opts return out, nil } -func (c *managementServiceClient) UnlockUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*User, error) { - out := new(User) +func (c *managementServiceClient) UnlockUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserResponse, error) { + out := new(UserResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/UnlockUser", in, out, opts...) if err != nil { return nil, err @@ -21404,27 +14156,36 @@ func (c *managementServiceClient) UserChanges(ctx context.Context, in *ChangeReq return out, nil } -func (c *managementServiceClient) ApplicationChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) { - out := new(Changes) - err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ApplicationChanges", in, out, opts...) +func (c *managementServiceClient) AddMachineKey(ctx context.Context, in *AddMachineKeyRequest, opts ...grpc.CallOption) (*AddMachineKeyResponse, error) { + out := new(AddMachineKeyResponse) + err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/AddMachineKey", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *managementServiceClient) OrgChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) { - out := new(Changes) - err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/OrgChanges", in, out, opts...) +func (c *managementServiceClient) DeleteMachineKey(ctx context.Context, in *MachineKeyIDRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/DeleteMachineKey", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *managementServiceClient) ProjectChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) { - out := new(Changes) - err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ProjectChanges", in, out, opts...) +func (c *managementServiceClient) SearchMachineKeys(ctx context.Context, in *MachineKeySearchRequest, opts ...grpc.CallOption) (*MachineKeySearchResponse, error) { + out := new(MachineKeySearchResponse) + err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/SearchMachineKeys", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *managementServiceClient) GetMachineKey(ctx context.Context, in *MachineKeyIDRequest, opts ...grpc.CallOption) (*MachineKeyView, error) { + out := new(MachineKeyView) + err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetMachineKey", in, out, opts...) if err != nil { return nil, err } @@ -21539,6 +14300,15 @@ func (c *managementServiceClient) UpdateUserAddress(ctx context.Context, in *Upd return out, nil } +func (c *managementServiceClient) UpdateUserMachine(ctx context.Context, in *UpdateMachineRequest, opts ...grpc.CallOption) (*MachineResponse, error) { + out := new(MachineResponse) + err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/UpdateUserMachine", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *managementServiceClient) GetUserMfas(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*MultiFactors, error) { out := new(MultiFactors) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetUserMfas", in, out, opts...) @@ -21701,6 +14471,15 @@ func (c *managementServiceClient) CreateOrg(ctx context.Context, in *OrgCreateRe return out, nil } +func (c *managementServiceClient) OrgChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) { + out := new(Changes) + err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/OrgChanges", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *managementServiceClient) GetMyOrg(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*OrgView, error) { out := new(OrgView) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetMyOrg", in, out, opts...) @@ -21845,6 +14624,15 @@ func (c *managementServiceClient) SearchMyOrgMembers(ctx context.Context, in *Or return out, nil } +func (c *managementServiceClient) ProjectChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) { + out := new(Changes) + err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ProjectChanges", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *managementServiceClient) SearchProjects(ctx context.Context, in *ProjectSearchRequest, opts ...grpc.CallOption) (*ProjectSearchResponse, error) { out := new(ProjectSearchResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/SearchProjects", in, out, opts...) @@ -22034,6 +14822,15 @@ func (c *managementServiceClient) ApplicationByID(ctx context.Context, in *Appli return out, nil } +func (c *managementServiceClient) ApplicationChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) { + out := new(Changes) + err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ApplicationChanges", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *managementServiceClient) CreateOIDCApplication(ctx context.Context, in *OIDCApplicationCreate, opts ...grpc.CallOption) (*Application, error) { out := new(Application) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/CreateOIDCApplication", in, out, opts...) @@ -22421,26 +15218,24 @@ type ManagementServiceServer interface { GetZitadelDocs(context.Context, *empty.Empty) (*ZitadelDocs, error) // GetIam returns some needed settings of the iam (Global Organisation ID, Zitadel Project ID) GetIam(context.Context, *empty.Empty) (*Iam, error) + IsUserUnique(context.Context, *UniqueUserRequest) (*UniqueUserResponse, error) GetUserByID(context.Context, *UserID) (*UserView, error) // GetUserByLoginNameGlobal returns User, global search is overall organisations GetUserByLoginNameGlobal(context.Context, *LoginName) (*UserView, error) // Limit should always be set, there is a default limit set by the service SearchUsers(context.Context, *UserSearchRequest) (*UserSearchResponse, error) - IsUserUnique(context.Context, *UniqueUserRequest) (*UniqueUserResponse, error) - CreateUser(context.Context, *CreateUserRequest) (*User, error) - DeactivateUser(context.Context, *UserID) (*User, error) - ReactivateUser(context.Context, *UserID) (*User, error) - LockUser(context.Context, *UserID) (*User, error) - UnlockUser(context.Context, *UserID) (*User, error) + CreateUser(context.Context, *CreateUserRequest) (*UserResponse, error) + DeactivateUser(context.Context, *UserID) (*UserResponse, error) + ReactivateUser(context.Context, *UserID) (*UserResponse, error) + LockUser(context.Context, *UserID) (*UserResponse, error) + UnlockUser(context.Context, *UserID) (*UserResponse, error) DeleteUser(context.Context, *UserID) (*empty.Empty, error) // UserChanges returns the event stream of the user object UserChanges(context.Context, *ChangeRequest) (*Changes, error) - // ApplicationChanges returns the event stream of the application object - ApplicationChanges(context.Context, *ChangeRequest) (*Changes, error) - // OrgChanges returns the event stream of the org object - OrgChanges(context.Context, *ChangeRequest) (*Changes, error) - // ProjectChanges returns the event stream of the project object - ProjectChanges(context.Context, *ChangeRequest) (*Changes, error) + AddMachineKey(context.Context, *AddMachineKeyRequest) (*AddMachineKeyResponse, error) + DeleteMachineKey(context.Context, *MachineKeyIDRequest) (*empty.Empty, error) + SearchMachineKeys(context.Context, *MachineKeySearchRequest) (*MachineKeySearchResponse, error) + GetMachineKey(context.Context, *MachineKeyIDRequest) (*MachineKeyView, error) GetUserProfile(context.Context, *UserID) (*UserProfileView, error) UpdateUserProfile(context.Context, *UpdateUserProfileRequest) (*UserProfile, error) GetUserEmail(context.Context, *UserID) (*UserEmailView, error) @@ -22453,6 +15248,7 @@ type ManagementServiceServer interface { ResendPhoneVerificationCode(context.Context, *UserID) (*empty.Empty, error) GetUserAddress(context.Context, *UserID) (*UserAddressView, error) UpdateUserAddress(context.Context, *UpdateUserAddressRequest) (*UserAddress, error) + UpdateUserMachine(context.Context, *UpdateMachineRequest) (*MachineResponse, error) GetUserMfas(context.Context, *UserID) (*MultiFactors, error) // Sends an Notification (Email/SMS) with a password reset Link SendSetPasswordNotification(context.Context, *SetPasswordNotificationRequest) (*empty.Empty, error) @@ -22476,6 +15272,8 @@ type ManagementServiceServer interface { UpdatePasswordLockoutPolicy(context.Context, *PasswordLockoutPolicyUpdate) (*PasswordLockoutPolicy, error) DeletePasswordLockoutPolicy(context.Context, *PasswordLockoutPolicyID) (*empty.Empty, error) CreateOrg(context.Context, *OrgCreateRequest) (*Org, error) + // OrgChanges returns the event stream of the org object + OrgChanges(context.Context, *ChangeRequest) (*Changes, error) GetMyOrg(context.Context, *empty.Empty) (*OrgView, error) // search a organisation by its domain overall organisations GetOrgByDomainGlobal(context.Context, *Domain) (*OrgView, error) @@ -22493,6 +15291,8 @@ type ManagementServiceServer interface { ChangeMyOrgMember(context.Context, *ChangeOrgMemberRequest) (*OrgMember, error) RemoveMyOrgMember(context.Context, *RemoveOrgMemberRequest) (*empty.Empty, error) SearchMyOrgMembers(context.Context, *OrgMemberSearchRequest) (*OrgMemberSearchResponse, error) + // ProjectChanges returns the event stream of the project object + ProjectChanges(context.Context, *ChangeRequest) (*Changes, error) SearchProjects(context.Context, *ProjectSearchRequest) (*ProjectSearchResponse, error) ProjectByID(context.Context, *ProjectID) (*ProjectView, error) CreateProject(context.Context, *ProjectCreateRequest) (*Project, error) @@ -22518,6 +15318,8 @@ type ManagementServiceServer interface { RemoveProjectRole(context.Context, *ProjectRoleRemove) (*empty.Empty, error) SearchApplications(context.Context, *ApplicationSearchRequest) (*ApplicationSearchResponse, error) ApplicationByID(context.Context, *ApplicationID) (*ApplicationView, error) + // ApplicationChanges returns the event stream of the application object + ApplicationChanges(context.Context, *ChangeRequest) (*Changes, error) CreateOIDCApplication(context.Context, *OIDCApplicationCreate) (*Application, error) UpdateApplication(context.Context, *ApplicationUpdate) (*Application, error) DeactivateApplication(context.Context, *ApplicationID) (*Application, error) @@ -22568,388 +15370,403 @@ type ManagementServiceServer interface { type UnimplementedManagementServiceServer struct { } -func (*UnimplementedManagementServiceServer) Healthz(context.Context, *empty.Empty) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) Healthz(ctx context.Context, req *empty.Empty) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Healthz not implemented") } -func (*UnimplementedManagementServiceServer) Ready(context.Context, *empty.Empty) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) Ready(ctx context.Context, req *empty.Empty) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Ready not implemented") } -func (*UnimplementedManagementServiceServer) Validate(context.Context, *empty.Empty) (*_struct.Struct, error) { +func (*UnimplementedManagementServiceServer) Validate(ctx context.Context, req *empty.Empty) (*_struct.Struct, error) { return nil, status.Errorf(codes.Unimplemented, "method Validate not implemented") } -func (*UnimplementedManagementServiceServer) GetZitadelDocs(context.Context, *empty.Empty) (*ZitadelDocs, error) { +func (*UnimplementedManagementServiceServer) GetZitadelDocs(ctx context.Context, req *empty.Empty) (*ZitadelDocs, error) { return nil, status.Errorf(codes.Unimplemented, "method GetZitadelDocs not implemented") } -func (*UnimplementedManagementServiceServer) GetIam(context.Context, *empty.Empty) (*Iam, error) { +func (*UnimplementedManagementServiceServer) GetIam(ctx context.Context, req *empty.Empty) (*Iam, error) { return nil, status.Errorf(codes.Unimplemented, "method GetIam not implemented") } -func (*UnimplementedManagementServiceServer) GetUserByID(context.Context, *UserID) (*UserView, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUserByID not implemented") -} -func (*UnimplementedManagementServiceServer) GetUserByLoginNameGlobal(context.Context, *LoginName) (*UserView, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUserByLoginNameGlobal not implemented") -} -func (*UnimplementedManagementServiceServer) SearchUsers(context.Context, *UserSearchRequest) (*UserSearchResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SearchUsers not implemented") -} -func (*UnimplementedManagementServiceServer) IsUserUnique(context.Context, *UniqueUserRequest) (*UniqueUserResponse, error) { +func (*UnimplementedManagementServiceServer) IsUserUnique(ctx context.Context, req *UniqueUserRequest) (*UniqueUserResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method IsUserUnique not implemented") } -func (*UnimplementedManagementServiceServer) CreateUser(context.Context, *CreateUserRequest) (*User, error) { +func (*UnimplementedManagementServiceServer) GetUserByID(ctx context.Context, req *UserID) (*UserView, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetUserByID not implemented") +} +func (*UnimplementedManagementServiceServer) GetUserByLoginNameGlobal(ctx context.Context, req *LoginName) (*UserView, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetUserByLoginNameGlobal not implemented") +} +func (*UnimplementedManagementServiceServer) SearchUsers(ctx context.Context, req *UserSearchRequest) (*UserSearchResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SearchUsers not implemented") +} +func (*UnimplementedManagementServiceServer) CreateUser(ctx context.Context, req *CreateUserRequest) (*UserResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateUser not implemented") } -func (*UnimplementedManagementServiceServer) DeactivateUser(context.Context, *UserID) (*User, error) { +func (*UnimplementedManagementServiceServer) DeactivateUser(ctx context.Context, req *UserID) (*UserResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DeactivateUser not implemented") } -func (*UnimplementedManagementServiceServer) ReactivateUser(context.Context, *UserID) (*User, error) { +func (*UnimplementedManagementServiceServer) ReactivateUser(ctx context.Context, req *UserID) (*UserResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ReactivateUser not implemented") } -func (*UnimplementedManagementServiceServer) LockUser(context.Context, *UserID) (*User, error) { +func (*UnimplementedManagementServiceServer) LockUser(ctx context.Context, req *UserID) (*UserResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method LockUser not implemented") } -func (*UnimplementedManagementServiceServer) UnlockUser(context.Context, *UserID) (*User, error) { +func (*UnimplementedManagementServiceServer) UnlockUser(ctx context.Context, req *UserID) (*UserResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UnlockUser not implemented") } -func (*UnimplementedManagementServiceServer) DeleteUser(context.Context, *UserID) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) DeleteUser(ctx context.Context, req *UserID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteUser not implemented") } -func (*UnimplementedManagementServiceServer) UserChanges(context.Context, *ChangeRequest) (*Changes, error) { +func (*UnimplementedManagementServiceServer) UserChanges(ctx context.Context, req *ChangeRequest) (*Changes, error) { return nil, status.Errorf(codes.Unimplemented, "method UserChanges not implemented") } -func (*UnimplementedManagementServiceServer) ApplicationChanges(context.Context, *ChangeRequest) (*Changes, error) { - return nil, status.Errorf(codes.Unimplemented, "method ApplicationChanges not implemented") +func (*UnimplementedManagementServiceServer) AddMachineKey(ctx context.Context, req *AddMachineKeyRequest) (*AddMachineKeyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddMachineKey not implemented") } -func (*UnimplementedManagementServiceServer) OrgChanges(context.Context, *ChangeRequest) (*Changes, error) { - return nil, status.Errorf(codes.Unimplemented, "method OrgChanges not implemented") +func (*UnimplementedManagementServiceServer) DeleteMachineKey(ctx context.Context, req *MachineKeyIDRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteMachineKey not implemented") } -func (*UnimplementedManagementServiceServer) ProjectChanges(context.Context, *ChangeRequest) (*Changes, error) { - return nil, status.Errorf(codes.Unimplemented, "method ProjectChanges not implemented") +func (*UnimplementedManagementServiceServer) SearchMachineKeys(ctx context.Context, req *MachineKeySearchRequest) (*MachineKeySearchResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SearchMachineKeys not implemented") } -func (*UnimplementedManagementServiceServer) GetUserProfile(context.Context, *UserID) (*UserProfileView, error) { +func (*UnimplementedManagementServiceServer) GetMachineKey(ctx context.Context, req *MachineKeyIDRequest) (*MachineKeyView, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMachineKey not implemented") +} +func (*UnimplementedManagementServiceServer) GetUserProfile(ctx context.Context, req *UserID) (*UserProfileView, error) { return nil, status.Errorf(codes.Unimplemented, "method GetUserProfile not implemented") } -func (*UnimplementedManagementServiceServer) UpdateUserProfile(context.Context, *UpdateUserProfileRequest) (*UserProfile, error) { +func (*UnimplementedManagementServiceServer) UpdateUserProfile(ctx context.Context, req *UpdateUserProfileRequest) (*UserProfile, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateUserProfile not implemented") } -func (*UnimplementedManagementServiceServer) GetUserEmail(context.Context, *UserID) (*UserEmailView, error) { +func (*UnimplementedManagementServiceServer) GetUserEmail(ctx context.Context, req *UserID) (*UserEmailView, error) { return nil, status.Errorf(codes.Unimplemented, "method GetUserEmail not implemented") } -func (*UnimplementedManagementServiceServer) ChangeUserUserName(context.Context, *UpdateUserUserNameRequest) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) ChangeUserUserName(ctx context.Context, req *UpdateUserUserNameRequest) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method ChangeUserUserName not implemented") } -func (*UnimplementedManagementServiceServer) ChangeUserEmail(context.Context, *UpdateUserEmailRequest) (*UserEmail, error) { +func (*UnimplementedManagementServiceServer) ChangeUserEmail(ctx context.Context, req *UpdateUserEmailRequest) (*UserEmail, error) { return nil, status.Errorf(codes.Unimplemented, "method ChangeUserEmail not implemented") } -func (*UnimplementedManagementServiceServer) ResendEmailVerificationMail(context.Context, *UserID) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) ResendEmailVerificationMail(ctx context.Context, req *UserID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method ResendEmailVerificationMail not implemented") } -func (*UnimplementedManagementServiceServer) GetUserPhone(context.Context, *UserID) (*UserPhoneView, error) { +func (*UnimplementedManagementServiceServer) GetUserPhone(ctx context.Context, req *UserID) (*UserPhoneView, error) { return nil, status.Errorf(codes.Unimplemented, "method GetUserPhone not implemented") } -func (*UnimplementedManagementServiceServer) ChangeUserPhone(context.Context, *UpdateUserPhoneRequest) (*UserPhone, error) { +func (*UnimplementedManagementServiceServer) ChangeUserPhone(ctx context.Context, req *UpdateUserPhoneRequest) (*UserPhone, error) { return nil, status.Errorf(codes.Unimplemented, "method ChangeUserPhone not implemented") } -func (*UnimplementedManagementServiceServer) RemoveUserPhone(context.Context, *UserID) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) RemoveUserPhone(ctx context.Context, req *UserID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveUserPhone not implemented") } -func (*UnimplementedManagementServiceServer) ResendPhoneVerificationCode(context.Context, *UserID) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) ResendPhoneVerificationCode(ctx context.Context, req *UserID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method ResendPhoneVerificationCode not implemented") } -func (*UnimplementedManagementServiceServer) GetUserAddress(context.Context, *UserID) (*UserAddressView, error) { +func (*UnimplementedManagementServiceServer) GetUserAddress(ctx context.Context, req *UserID) (*UserAddressView, error) { return nil, status.Errorf(codes.Unimplemented, "method GetUserAddress not implemented") } -func (*UnimplementedManagementServiceServer) UpdateUserAddress(context.Context, *UpdateUserAddressRequest) (*UserAddress, error) { +func (*UnimplementedManagementServiceServer) UpdateUserAddress(ctx context.Context, req *UpdateUserAddressRequest) (*UserAddress, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateUserAddress not implemented") } -func (*UnimplementedManagementServiceServer) GetUserMfas(context.Context, *UserID) (*MultiFactors, error) { +func (*UnimplementedManagementServiceServer) UpdateUserMachine(ctx context.Context, req *UpdateMachineRequest) (*MachineResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateUserMachine not implemented") +} +func (*UnimplementedManagementServiceServer) GetUserMfas(ctx context.Context, req *UserID) (*MultiFactors, error) { return nil, status.Errorf(codes.Unimplemented, "method GetUserMfas not implemented") } -func (*UnimplementedManagementServiceServer) SendSetPasswordNotification(context.Context, *SetPasswordNotificationRequest) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) SendSetPasswordNotification(ctx context.Context, req *SetPasswordNotificationRequest) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method SendSetPasswordNotification not implemented") } -func (*UnimplementedManagementServiceServer) SetInitialPassword(context.Context, *PasswordRequest) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) SetInitialPassword(ctx context.Context, req *PasswordRequest) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method SetInitialPassword not implemented") } -func (*UnimplementedManagementServiceServer) SearchUserMemberships(context.Context, *UserMembershipSearchRequest) (*UserMembershipSearchResponse, error) { +func (*UnimplementedManagementServiceServer) SearchUserMemberships(ctx context.Context, req *UserMembershipSearchRequest) (*UserMembershipSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchUserMemberships not implemented") } -func (*UnimplementedManagementServiceServer) GetPasswordComplexityPolicy(context.Context, *empty.Empty) (*PasswordComplexityPolicy, error) { +func (*UnimplementedManagementServiceServer) GetPasswordComplexityPolicy(ctx context.Context, req *empty.Empty) (*PasswordComplexityPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method GetPasswordComplexityPolicy not implemented") } -func (*UnimplementedManagementServiceServer) GetDefaultPasswordComplexityPolicy(context.Context, *empty.Empty) (*PasswordComplexityPolicy, error) { +func (*UnimplementedManagementServiceServer) GetDefaultPasswordComplexityPolicy(ctx context.Context, req *empty.Empty) (*PasswordComplexityPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method GetDefaultPasswordComplexityPolicy not implemented") } -func (*UnimplementedManagementServiceServer) CreatePasswordComplexityPolicy(context.Context, *PasswordComplexityPolicyCreate) (*PasswordComplexityPolicy, error) { +func (*UnimplementedManagementServiceServer) CreatePasswordComplexityPolicy(ctx context.Context, req *PasswordComplexityPolicyCreate) (*PasswordComplexityPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method CreatePasswordComplexityPolicy not implemented") } -func (*UnimplementedManagementServiceServer) UpdatePasswordComplexityPolicy(context.Context, *PasswordComplexityPolicyUpdate) (*PasswordComplexityPolicy, error) { +func (*UnimplementedManagementServiceServer) UpdatePasswordComplexityPolicy(ctx context.Context, req *PasswordComplexityPolicyUpdate) (*PasswordComplexityPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdatePasswordComplexityPolicy not implemented") } -func (*UnimplementedManagementServiceServer) DeletePasswordComplexityPolicy(context.Context, *PasswordComplexityPolicyID) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) DeletePasswordComplexityPolicy(ctx context.Context, req *PasswordComplexityPolicyID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeletePasswordComplexityPolicy not implemented") } -func (*UnimplementedManagementServiceServer) GetPasswordAgePolicy(context.Context, *empty.Empty) (*PasswordAgePolicy, error) { +func (*UnimplementedManagementServiceServer) GetPasswordAgePolicy(ctx context.Context, req *empty.Empty) (*PasswordAgePolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method GetPasswordAgePolicy not implemented") } -func (*UnimplementedManagementServiceServer) CreatePasswordAgePolicy(context.Context, *PasswordAgePolicyCreate) (*PasswordAgePolicy, error) { +func (*UnimplementedManagementServiceServer) CreatePasswordAgePolicy(ctx context.Context, req *PasswordAgePolicyCreate) (*PasswordAgePolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method CreatePasswordAgePolicy not implemented") } -func (*UnimplementedManagementServiceServer) UpdatePasswordAgePolicy(context.Context, *PasswordAgePolicyUpdate) (*PasswordAgePolicy, error) { +func (*UnimplementedManagementServiceServer) UpdatePasswordAgePolicy(ctx context.Context, req *PasswordAgePolicyUpdate) (*PasswordAgePolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdatePasswordAgePolicy not implemented") } -func (*UnimplementedManagementServiceServer) DeletePasswordAgePolicy(context.Context, *PasswordAgePolicyID) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) DeletePasswordAgePolicy(ctx context.Context, req *PasswordAgePolicyID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeletePasswordAgePolicy not implemented") } -func (*UnimplementedManagementServiceServer) GetPasswordLockoutPolicy(context.Context, *empty.Empty) (*PasswordLockoutPolicy, error) { +func (*UnimplementedManagementServiceServer) GetPasswordLockoutPolicy(ctx context.Context, req *empty.Empty) (*PasswordLockoutPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method GetPasswordLockoutPolicy not implemented") } -func (*UnimplementedManagementServiceServer) CreatePasswordLockoutPolicy(context.Context, *PasswordLockoutPolicyCreate) (*PasswordLockoutPolicy, error) { +func (*UnimplementedManagementServiceServer) CreatePasswordLockoutPolicy(ctx context.Context, req *PasswordLockoutPolicyCreate) (*PasswordLockoutPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method CreatePasswordLockoutPolicy not implemented") } -func (*UnimplementedManagementServiceServer) UpdatePasswordLockoutPolicy(context.Context, *PasswordLockoutPolicyUpdate) (*PasswordLockoutPolicy, error) { +func (*UnimplementedManagementServiceServer) UpdatePasswordLockoutPolicy(ctx context.Context, req *PasswordLockoutPolicyUpdate) (*PasswordLockoutPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdatePasswordLockoutPolicy not implemented") } -func (*UnimplementedManagementServiceServer) DeletePasswordLockoutPolicy(context.Context, *PasswordLockoutPolicyID) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) DeletePasswordLockoutPolicy(ctx context.Context, req *PasswordLockoutPolicyID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeletePasswordLockoutPolicy not implemented") } -func (*UnimplementedManagementServiceServer) CreateOrg(context.Context, *OrgCreateRequest) (*Org, error) { +func (*UnimplementedManagementServiceServer) CreateOrg(ctx context.Context, req *OrgCreateRequest) (*Org, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateOrg not implemented") } -func (*UnimplementedManagementServiceServer) GetMyOrg(context.Context, *empty.Empty) (*OrgView, error) { +func (*UnimplementedManagementServiceServer) OrgChanges(ctx context.Context, req *ChangeRequest) (*Changes, error) { + return nil, status.Errorf(codes.Unimplemented, "method OrgChanges not implemented") +} +func (*UnimplementedManagementServiceServer) GetMyOrg(ctx context.Context, req *empty.Empty) (*OrgView, error) { return nil, status.Errorf(codes.Unimplemented, "method GetMyOrg not implemented") } -func (*UnimplementedManagementServiceServer) GetOrgByDomainGlobal(context.Context, *Domain) (*OrgView, error) { +func (*UnimplementedManagementServiceServer) GetOrgByDomainGlobal(ctx context.Context, req *Domain) (*OrgView, error) { return nil, status.Errorf(codes.Unimplemented, "method GetOrgByDomainGlobal not implemented") } -func (*UnimplementedManagementServiceServer) DeactivateMyOrg(context.Context, *empty.Empty) (*Org, error) { +func (*UnimplementedManagementServiceServer) DeactivateMyOrg(ctx context.Context, req *empty.Empty) (*Org, error) { return nil, status.Errorf(codes.Unimplemented, "method DeactivateMyOrg not implemented") } -func (*UnimplementedManagementServiceServer) ReactivateMyOrg(context.Context, *empty.Empty) (*Org, error) { +func (*UnimplementedManagementServiceServer) ReactivateMyOrg(ctx context.Context, req *empty.Empty) (*Org, error) { return nil, status.Errorf(codes.Unimplemented, "method ReactivateMyOrg not implemented") } -func (*UnimplementedManagementServiceServer) SearchMyOrgDomains(context.Context, *OrgDomainSearchRequest) (*OrgDomainSearchResponse, error) { +func (*UnimplementedManagementServiceServer) SearchMyOrgDomains(ctx context.Context, req *OrgDomainSearchRequest) (*OrgDomainSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchMyOrgDomains not implemented") } -func (*UnimplementedManagementServiceServer) AddMyOrgDomain(context.Context, *AddOrgDomainRequest) (*OrgDomain, error) { +func (*UnimplementedManagementServiceServer) AddMyOrgDomain(ctx context.Context, req *AddOrgDomainRequest) (*OrgDomain, error) { return nil, status.Errorf(codes.Unimplemented, "method AddMyOrgDomain not implemented") } -func (*UnimplementedManagementServiceServer) GenerateMyOrgDomainValidation(context.Context, *OrgDomainValidationRequest) (*OrgDomainValidationResponse, error) { +func (*UnimplementedManagementServiceServer) GenerateMyOrgDomainValidation(ctx context.Context, req *OrgDomainValidationRequest) (*OrgDomainValidationResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GenerateMyOrgDomainValidation not implemented") } -func (*UnimplementedManagementServiceServer) ValidateMyOrgDomain(context.Context, *ValidateOrgDomainRequest) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) ValidateMyOrgDomain(ctx context.Context, req *ValidateOrgDomainRequest) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method ValidateMyOrgDomain not implemented") } -func (*UnimplementedManagementServiceServer) SetMyPrimaryOrgDomain(context.Context, *PrimaryOrgDomainRequest) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) SetMyPrimaryOrgDomain(ctx context.Context, req *PrimaryOrgDomainRequest) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method SetMyPrimaryOrgDomain not implemented") } -func (*UnimplementedManagementServiceServer) RemoveMyOrgDomain(context.Context, *RemoveOrgDomainRequest) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) RemoveMyOrgDomain(ctx context.Context, req *RemoveOrgDomainRequest) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveMyOrgDomain not implemented") } -func (*UnimplementedManagementServiceServer) GetMyOrgIamPolicy(context.Context, *empty.Empty) (*OrgIamPolicy, error) { +func (*UnimplementedManagementServiceServer) GetMyOrgIamPolicy(ctx context.Context, req *empty.Empty) (*OrgIamPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method GetMyOrgIamPolicy not implemented") } -func (*UnimplementedManagementServiceServer) GetOrgMemberRoles(context.Context, *empty.Empty) (*OrgMemberRoles, error) { +func (*UnimplementedManagementServiceServer) GetOrgMemberRoles(ctx context.Context, req *empty.Empty) (*OrgMemberRoles, error) { return nil, status.Errorf(codes.Unimplemented, "method GetOrgMemberRoles not implemented") } -func (*UnimplementedManagementServiceServer) AddMyOrgMember(context.Context, *AddOrgMemberRequest) (*OrgMember, error) { +func (*UnimplementedManagementServiceServer) AddMyOrgMember(ctx context.Context, req *AddOrgMemberRequest) (*OrgMember, error) { return nil, status.Errorf(codes.Unimplemented, "method AddMyOrgMember not implemented") } -func (*UnimplementedManagementServiceServer) ChangeMyOrgMember(context.Context, *ChangeOrgMemberRequest) (*OrgMember, error) { +func (*UnimplementedManagementServiceServer) ChangeMyOrgMember(ctx context.Context, req *ChangeOrgMemberRequest) (*OrgMember, error) { return nil, status.Errorf(codes.Unimplemented, "method ChangeMyOrgMember not implemented") } -func (*UnimplementedManagementServiceServer) RemoveMyOrgMember(context.Context, *RemoveOrgMemberRequest) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) RemoveMyOrgMember(ctx context.Context, req *RemoveOrgMemberRequest) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveMyOrgMember not implemented") } -func (*UnimplementedManagementServiceServer) SearchMyOrgMembers(context.Context, *OrgMemberSearchRequest) (*OrgMemberSearchResponse, error) { +func (*UnimplementedManagementServiceServer) SearchMyOrgMembers(ctx context.Context, req *OrgMemberSearchRequest) (*OrgMemberSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchMyOrgMembers not implemented") } -func (*UnimplementedManagementServiceServer) SearchProjects(context.Context, *ProjectSearchRequest) (*ProjectSearchResponse, error) { +func (*UnimplementedManagementServiceServer) ProjectChanges(ctx context.Context, req *ChangeRequest) (*Changes, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProjectChanges not implemented") +} +func (*UnimplementedManagementServiceServer) SearchProjects(ctx context.Context, req *ProjectSearchRequest) (*ProjectSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchProjects not implemented") } -func (*UnimplementedManagementServiceServer) ProjectByID(context.Context, *ProjectID) (*ProjectView, error) { +func (*UnimplementedManagementServiceServer) ProjectByID(ctx context.Context, req *ProjectID) (*ProjectView, error) { return nil, status.Errorf(codes.Unimplemented, "method ProjectByID not implemented") } -func (*UnimplementedManagementServiceServer) CreateProject(context.Context, *ProjectCreateRequest) (*Project, error) { +func (*UnimplementedManagementServiceServer) CreateProject(ctx context.Context, req *ProjectCreateRequest) (*Project, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateProject not implemented") } -func (*UnimplementedManagementServiceServer) UpdateProject(context.Context, *ProjectUpdateRequest) (*Project, error) { +func (*UnimplementedManagementServiceServer) UpdateProject(ctx context.Context, req *ProjectUpdateRequest) (*Project, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateProject not implemented") } -func (*UnimplementedManagementServiceServer) DeactivateProject(context.Context, *ProjectID) (*Project, error) { +func (*UnimplementedManagementServiceServer) DeactivateProject(ctx context.Context, req *ProjectID) (*Project, error) { return nil, status.Errorf(codes.Unimplemented, "method DeactivateProject not implemented") } -func (*UnimplementedManagementServiceServer) ReactivateProject(context.Context, *ProjectID) (*Project, error) { +func (*UnimplementedManagementServiceServer) ReactivateProject(ctx context.Context, req *ProjectID) (*Project, error) { return nil, status.Errorf(codes.Unimplemented, "method ReactivateProject not implemented") } -func (*UnimplementedManagementServiceServer) RemoveProject(context.Context, *ProjectID) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) RemoveProject(ctx context.Context, req *ProjectID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveProject not implemented") } -func (*UnimplementedManagementServiceServer) SearchGrantedProjects(context.Context, *GrantedProjectSearchRequest) (*ProjectGrantSearchResponse, error) { +func (*UnimplementedManagementServiceServer) SearchGrantedProjects(ctx context.Context, req *GrantedProjectSearchRequest) (*ProjectGrantSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchGrantedProjects not implemented") } -func (*UnimplementedManagementServiceServer) GetGrantedProjectByID(context.Context, *ProjectGrantID) (*ProjectGrantView, error) { +func (*UnimplementedManagementServiceServer) GetGrantedProjectByID(ctx context.Context, req *ProjectGrantID) (*ProjectGrantView, error) { return nil, status.Errorf(codes.Unimplemented, "method GetGrantedProjectByID not implemented") } -func (*UnimplementedManagementServiceServer) GetProjectMemberRoles(context.Context, *empty.Empty) (*ProjectMemberRoles, error) { +func (*UnimplementedManagementServiceServer) GetProjectMemberRoles(ctx context.Context, req *empty.Empty) (*ProjectMemberRoles, error) { return nil, status.Errorf(codes.Unimplemented, "method GetProjectMemberRoles not implemented") } -func (*UnimplementedManagementServiceServer) SearchProjectMembers(context.Context, *ProjectMemberSearchRequest) (*ProjectMemberSearchResponse, error) { +func (*UnimplementedManagementServiceServer) SearchProjectMembers(ctx context.Context, req *ProjectMemberSearchRequest) (*ProjectMemberSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchProjectMembers not implemented") } -func (*UnimplementedManagementServiceServer) AddProjectMember(context.Context, *ProjectMemberAdd) (*ProjectMember, error) { +func (*UnimplementedManagementServiceServer) AddProjectMember(ctx context.Context, req *ProjectMemberAdd) (*ProjectMember, error) { return nil, status.Errorf(codes.Unimplemented, "method AddProjectMember not implemented") } -func (*UnimplementedManagementServiceServer) ChangeProjectMember(context.Context, *ProjectMemberChange) (*ProjectMember, error) { +func (*UnimplementedManagementServiceServer) ChangeProjectMember(ctx context.Context, req *ProjectMemberChange) (*ProjectMember, error) { return nil, status.Errorf(codes.Unimplemented, "method ChangeProjectMember not implemented") } -func (*UnimplementedManagementServiceServer) RemoveProjectMember(context.Context, *ProjectMemberRemove) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) RemoveProjectMember(ctx context.Context, req *ProjectMemberRemove) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveProjectMember not implemented") } -func (*UnimplementedManagementServiceServer) SearchProjectRoles(context.Context, *ProjectRoleSearchRequest) (*ProjectRoleSearchResponse, error) { +func (*UnimplementedManagementServiceServer) SearchProjectRoles(ctx context.Context, req *ProjectRoleSearchRequest) (*ProjectRoleSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchProjectRoles not implemented") } -func (*UnimplementedManagementServiceServer) AddProjectRole(context.Context, *ProjectRoleAdd) (*ProjectRole, error) { +func (*UnimplementedManagementServiceServer) AddProjectRole(ctx context.Context, req *ProjectRoleAdd) (*ProjectRole, error) { return nil, status.Errorf(codes.Unimplemented, "method AddProjectRole not implemented") } -func (*UnimplementedManagementServiceServer) BulkAddProjectRole(context.Context, *ProjectRoleAddBulk) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) BulkAddProjectRole(ctx context.Context, req *ProjectRoleAddBulk) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method BulkAddProjectRole not implemented") } -func (*UnimplementedManagementServiceServer) ChangeProjectRole(context.Context, *ProjectRoleChange) (*ProjectRole, error) { +func (*UnimplementedManagementServiceServer) ChangeProjectRole(ctx context.Context, req *ProjectRoleChange) (*ProjectRole, error) { return nil, status.Errorf(codes.Unimplemented, "method ChangeProjectRole not implemented") } -func (*UnimplementedManagementServiceServer) RemoveProjectRole(context.Context, *ProjectRoleRemove) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) RemoveProjectRole(ctx context.Context, req *ProjectRoleRemove) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveProjectRole not implemented") } -func (*UnimplementedManagementServiceServer) SearchApplications(context.Context, *ApplicationSearchRequest) (*ApplicationSearchResponse, error) { +func (*UnimplementedManagementServiceServer) SearchApplications(ctx context.Context, req *ApplicationSearchRequest) (*ApplicationSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchApplications not implemented") } -func (*UnimplementedManagementServiceServer) ApplicationByID(context.Context, *ApplicationID) (*ApplicationView, error) { +func (*UnimplementedManagementServiceServer) ApplicationByID(ctx context.Context, req *ApplicationID) (*ApplicationView, error) { return nil, status.Errorf(codes.Unimplemented, "method ApplicationByID not implemented") } -func (*UnimplementedManagementServiceServer) CreateOIDCApplication(context.Context, *OIDCApplicationCreate) (*Application, error) { +func (*UnimplementedManagementServiceServer) ApplicationChanges(ctx context.Context, req *ChangeRequest) (*Changes, error) { + return nil, status.Errorf(codes.Unimplemented, "method ApplicationChanges not implemented") +} +func (*UnimplementedManagementServiceServer) CreateOIDCApplication(ctx context.Context, req *OIDCApplicationCreate) (*Application, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateOIDCApplication not implemented") } -func (*UnimplementedManagementServiceServer) UpdateApplication(context.Context, *ApplicationUpdate) (*Application, error) { +func (*UnimplementedManagementServiceServer) UpdateApplication(ctx context.Context, req *ApplicationUpdate) (*Application, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateApplication not implemented") } -func (*UnimplementedManagementServiceServer) DeactivateApplication(context.Context, *ApplicationID) (*Application, error) { +func (*UnimplementedManagementServiceServer) DeactivateApplication(ctx context.Context, req *ApplicationID) (*Application, error) { return nil, status.Errorf(codes.Unimplemented, "method DeactivateApplication not implemented") } -func (*UnimplementedManagementServiceServer) ReactivateApplication(context.Context, *ApplicationID) (*Application, error) { +func (*UnimplementedManagementServiceServer) ReactivateApplication(ctx context.Context, req *ApplicationID) (*Application, error) { return nil, status.Errorf(codes.Unimplemented, "method ReactivateApplication not implemented") } -func (*UnimplementedManagementServiceServer) RemoveApplication(context.Context, *ApplicationID) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) RemoveApplication(ctx context.Context, req *ApplicationID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveApplication not implemented") } -func (*UnimplementedManagementServiceServer) UpdateApplicationOIDCConfig(context.Context, *OIDCConfigUpdate) (*OIDCConfig, error) { +func (*UnimplementedManagementServiceServer) UpdateApplicationOIDCConfig(ctx context.Context, req *OIDCConfigUpdate) (*OIDCConfig, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateApplicationOIDCConfig not implemented") } -func (*UnimplementedManagementServiceServer) RegenerateOIDCClientSecret(context.Context, *ApplicationID) (*ClientSecret, error) { +func (*UnimplementedManagementServiceServer) RegenerateOIDCClientSecret(ctx context.Context, req *ApplicationID) (*ClientSecret, error) { return nil, status.Errorf(codes.Unimplemented, "method RegenerateOIDCClientSecret not implemented") } -func (*UnimplementedManagementServiceServer) SearchProjectGrants(context.Context, *ProjectGrantSearchRequest) (*ProjectGrantSearchResponse, error) { +func (*UnimplementedManagementServiceServer) SearchProjectGrants(ctx context.Context, req *ProjectGrantSearchRequest) (*ProjectGrantSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchProjectGrants not implemented") } -func (*UnimplementedManagementServiceServer) ProjectGrantByID(context.Context, *ProjectGrantID) (*ProjectGrantView, error) { +func (*UnimplementedManagementServiceServer) ProjectGrantByID(ctx context.Context, req *ProjectGrantID) (*ProjectGrantView, error) { return nil, status.Errorf(codes.Unimplemented, "method ProjectGrantByID not implemented") } -func (*UnimplementedManagementServiceServer) CreateProjectGrant(context.Context, *ProjectGrantCreate) (*ProjectGrant, error) { +func (*UnimplementedManagementServiceServer) CreateProjectGrant(ctx context.Context, req *ProjectGrantCreate) (*ProjectGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateProjectGrant not implemented") } -func (*UnimplementedManagementServiceServer) UpdateProjectGrant(context.Context, *ProjectGrantUpdate) (*ProjectGrant, error) { +func (*UnimplementedManagementServiceServer) UpdateProjectGrant(ctx context.Context, req *ProjectGrantUpdate) (*ProjectGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectGrant not implemented") } -func (*UnimplementedManagementServiceServer) DeactivateProjectGrant(context.Context, *ProjectGrantID) (*ProjectGrant, error) { +func (*UnimplementedManagementServiceServer) DeactivateProjectGrant(ctx context.Context, req *ProjectGrantID) (*ProjectGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method DeactivateProjectGrant not implemented") } -func (*UnimplementedManagementServiceServer) ReactivateProjectGrant(context.Context, *ProjectGrantID) (*ProjectGrant, error) { +func (*UnimplementedManagementServiceServer) ReactivateProjectGrant(ctx context.Context, req *ProjectGrantID) (*ProjectGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method ReactivateProjectGrant not implemented") } -func (*UnimplementedManagementServiceServer) RemoveProjectGrant(context.Context, *ProjectGrantID) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) RemoveProjectGrant(ctx context.Context, req *ProjectGrantID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveProjectGrant not implemented") } -func (*UnimplementedManagementServiceServer) GetProjectGrantMemberRoles(context.Context, *empty.Empty) (*ProjectGrantMemberRoles, error) { +func (*UnimplementedManagementServiceServer) GetProjectGrantMemberRoles(ctx context.Context, req *empty.Empty) (*ProjectGrantMemberRoles, error) { return nil, status.Errorf(codes.Unimplemented, "method GetProjectGrantMemberRoles not implemented") } -func (*UnimplementedManagementServiceServer) SearchProjectGrantMembers(context.Context, *ProjectGrantMemberSearchRequest) (*ProjectGrantMemberSearchResponse, error) { +func (*UnimplementedManagementServiceServer) SearchProjectGrantMembers(ctx context.Context, req *ProjectGrantMemberSearchRequest) (*ProjectGrantMemberSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchProjectGrantMembers not implemented") } -func (*UnimplementedManagementServiceServer) AddProjectGrantMember(context.Context, *ProjectGrantMemberAdd) (*ProjectGrantMember, error) { +func (*UnimplementedManagementServiceServer) AddProjectGrantMember(ctx context.Context, req *ProjectGrantMemberAdd) (*ProjectGrantMember, error) { return nil, status.Errorf(codes.Unimplemented, "method AddProjectGrantMember not implemented") } -func (*UnimplementedManagementServiceServer) ChangeProjectGrantMember(context.Context, *ProjectGrantMemberChange) (*ProjectGrantMember, error) { +func (*UnimplementedManagementServiceServer) ChangeProjectGrantMember(ctx context.Context, req *ProjectGrantMemberChange) (*ProjectGrantMember, error) { return nil, status.Errorf(codes.Unimplemented, "method ChangeProjectGrantMember not implemented") } -func (*UnimplementedManagementServiceServer) RemoveProjectGrantMember(context.Context, *ProjectGrantMemberRemove) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) RemoveProjectGrantMember(ctx context.Context, req *ProjectGrantMemberRemove) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveProjectGrantMember not implemented") } -func (*UnimplementedManagementServiceServer) SearchUserGrants(context.Context, *UserGrantSearchRequest) (*UserGrantSearchResponse, error) { +func (*UnimplementedManagementServiceServer) SearchUserGrants(ctx context.Context, req *UserGrantSearchRequest) (*UserGrantSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchUserGrants not implemented") } -func (*UnimplementedManagementServiceServer) UserGrantByID(context.Context, *UserGrantID) (*UserGrantView, error) { +func (*UnimplementedManagementServiceServer) UserGrantByID(ctx context.Context, req *UserGrantID) (*UserGrantView, error) { return nil, status.Errorf(codes.Unimplemented, "method UserGrantByID not implemented") } -func (*UnimplementedManagementServiceServer) CreateUserGrant(context.Context, *UserGrantCreate) (*UserGrant, error) { +func (*UnimplementedManagementServiceServer) CreateUserGrant(ctx context.Context, req *UserGrantCreate) (*UserGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateUserGrant not implemented") } -func (*UnimplementedManagementServiceServer) UpdateUserGrant(context.Context, *UserGrantUpdate) (*UserGrant, error) { +func (*UnimplementedManagementServiceServer) UpdateUserGrant(ctx context.Context, req *UserGrantUpdate) (*UserGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateUserGrant not implemented") } -func (*UnimplementedManagementServiceServer) DeactivateUserGrant(context.Context, *UserGrantID) (*UserGrant, error) { +func (*UnimplementedManagementServiceServer) DeactivateUserGrant(ctx context.Context, req *UserGrantID) (*UserGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method DeactivateUserGrant not implemented") } -func (*UnimplementedManagementServiceServer) ReactivateUserGrant(context.Context, *UserGrantID) (*UserGrant, error) { +func (*UnimplementedManagementServiceServer) ReactivateUserGrant(ctx context.Context, req *UserGrantID) (*UserGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method ReactivateUserGrant not implemented") } -func (*UnimplementedManagementServiceServer) RemoveUserGrant(context.Context, *UserGrantID) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) RemoveUserGrant(ctx context.Context, req *UserGrantID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveUserGrant not implemented") } -func (*UnimplementedManagementServiceServer) BulkRemoveUserGrant(context.Context, *UserGrantRemoveBulk) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) BulkRemoveUserGrant(ctx context.Context, req *UserGrantRemoveBulk) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method BulkRemoveUserGrant not implemented") } -func (*UnimplementedManagementServiceServer) IdpByID(context.Context, *IdpID) (*IdpView, error) { +func (*UnimplementedManagementServiceServer) IdpByID(ctx context.Context, req *IdpID) (*IdpView, error) { return nil, status.Errorf(codes.Unimplemented, "method IdpByID not implemented") } -func (*UnimplementedManagementServiceServer) CreateOidcIdp(context.Context, *OidcIdpConfigCreate) (*Idp, error) { +func (*UnimplementedManagementServiceServer) CreateOidcIdp(ctx context.Context, req *OidcIdpConfigCreate) (*Idp, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateOidcIdp not implemented") } -func (*UnimplementedManagementServiceServer) UpdateIdpConfig(context.Context, *IdpUpdate) (*Idp, error) { +func (*UnimplementedManagementServiceServer) UpdateIdpConfig(ctx context.Context, req *IdpUpdate) (*Idp, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateIdpConfig not implemented") } -func (*UnimplementedManagementServiceServer) DeactivateIdpConfig(context.Context, *IdpID) (*Idp, error) { +func (*UnimplementedManagementServiceServer) DeactivateIdpConfig(ctx context.Context, req *IdpID) (*Idp, error) { return nil, status.Errorf(codes.Unimplemented, "method DeactivateIdpConfig not implemented") } -func (*UnimplementedManagementServiceServer) ReactivateIdpConfig(context.Context, *IdpID) (*Idp, error) { +func (*UnimplementedManagementServiceServer) ReactivateIdpConfig(ctx context.Context, req *IdpID) (*Idp, error) { return nil, status.Errorf(codes.Unimplemented, "method ReactivateIdpConfig not implemented") } -func (*UnimplementedManagementServiceServer) RemoveIdpConfig(context.Context, *IdpID) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) RemoveIdpConfig(ctx context.Context, req *IdpID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveIdpConfig not implemented") } -func (*UnimplementedManagementServiceServer) UpdateOidcIdpConfig(context.Context, *OidcIdpConfigUpdate) (*OidcIdpConfig, error) { +func (*UnimplementedManagementServiceServer) UpdateOidcIdpConfig(ctx context.Context, req *OidcIdpConfigUpdate) (*OidcIdpConfig, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateOidcIdpConfig not implemented") } -func (*UnimplementedManagementServiceServer) SearchIdps(context.Context, *IdpSearchRequest) (*IdpSearchResponse, error) { +func (*UnimplementedManagementServiceServer) SearchIdps(ctx context.Context, req *IdpSearchRequest) (*IdpSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchIdps not implemented") } -func (*UnimplementedManagementServiceServer) GetLoginPolicy(context.Context, *empty.Empty) (*LoginPolicyView, error) { +func (*UnimplementedManagementServiceServer) GetLoginPolicy(ctx context.Context, req *empty.Empty) (*LoginPolicyView, error) { return nil, status.Errorf(codes.Unimplemented, "method GetLoginPolicy not implemented") } -func (*UnimplementedManagementServiceServer) CreateLoginPolicy(context.Context, *LoginPolicyAdd) (*LoginPolicy, error) { +func (*UnimplementedManagementServiceServer) CreateLoginPolicy(ctx context.Context, req *LoginPolicyAdd) (*LoginPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateLoginPolicy not implemented") } -func (*UnimplementedManagementServiceServer) UpdateLoginPolicy(context.Context, *LoginPolicy) (*LoginPolicy, error) { +func (*UnimplementedManagementServiceServer) UpdateLoginPolicy(ctx context.Context, req *LoginPolicy) (*LoginPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateLoginPolicy not implemented") } -func (*UnimplementedManagementServiceServer) RemoveLoginPolicy(context.Context, *empty.Empty) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) RemoveLoginPolicy(ctx context.Context, req *empty.Empty) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveLoginPolicy not implemented") } -func (*UnimplementedManagementServiceServer) GetLoginPolicyIdpProviders(context.Context, *IdpProviderSearchRequest) (*IdpProviderSearchResponse, error) { +func (*UnimplementedManagementServiceServer) GetLoginPolicyIdpProviders(ctx context.Context, req *IdpProviderSearchRequest) (*IdpProviderSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetLoginPolicyIdpProviders not implemented") } -func (*UnimplementedManagementServiceServer) AddIdpProviderToLoginPolicy(context.Context, *IdpProviderAdd) (*IdpProvider, error) { +func (*UnimplementedManagementServiceServer) AddIdpProviderToLoginPolicy(ctx context.Context, req *IdpProviderAdd) (*IdpProvider, error) { return nil, status.Errorf(codes.Unimplemented, "method AddIdpProviderToLoginPolicy not implemented") } -func (*UnimplementedManagementServiceServer) RemoveIdpProviderFromLoginPolicy(context.Context, *IdpProviderID) (*empty.Empty, error) { +func (*UnimplementedManagementServiceServer) RemoveIdpProviderFromLoginPolicy(ctx context.Context, req *IdpProviderID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveIdpProviderFromLoginPolicy not implemented") } @@ -23047,6 +15864,24 @@ func _ManagementService_GetIam_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _ManagementService_IsUserUnique_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UniqueUserRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ManagementServiceServer).IsUserUnique(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/caos.zitadel.management.api.v1.ManagementService/IsUserUnique", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ManagementServiceServer).IsUserUnique(ctx, req.(*UniqueUserRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _ManagementService_GetUserByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserID) if err := dec(in); err != nil { @@ -23101,24 +15936,6 @@ func _ManagementService_SearchUsers_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } -func _ManagementService_IsUserUnique_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UniqueUserRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ManagementServiceServer).IsUserUnique(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/caos.zitadel.management.api.v1.ManagementService/IsUserUnique", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ManagementServiceServer).IsUserUnique(ctx, req.(*UniqueUserRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _ManagementService_CreateUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CreateUserRequest) if err := dec(in); err != nil { @@ -23245,56 +16062,74 @@ func _ManagementService_UserChanges_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } -func _ManagementService_ApplicationChanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ChangeRequest) +func _ManagementService_AddMachineKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddMachineKeyRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(ManagementServiceServer).ApplicationChanges(ctx, in) + return srv.(ManagementServiceServer).AddMachineKey(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ApplicationChanges", + FullMethod: "/caos.zitadel.management.api.v1.ManagementService/AddMachineKey", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ManagementServiceServer).ApplicationChanges(ctx, req.(*ChangeRequest)) + return srv.(ManagementServiceServer).AddMachineKey(ctx, req.(*AddMachineKeyRequest)) } return interceptor(ctx, in, info, handler) } -func _ManagementService_OrgChanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ChangeRequest) +func _ManagementService_DeleteMachineKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MachineKeyIDRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(ManagementServiceServer).OrgChanges(ctx, in) + return srv.(ManagementServiceServer).DeleteMachineKey(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/caos.zitadel.management.api.v1.ManagementService/OrgChanges", + FullMethod: "/caos.zitadel.management.api.v1.ManagementService/DeleteMachineKey", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ManagementServiceServer).OrgChanges(ctx, req.(*ChangeRequest)) + return srv.(ManagementServiceServer).DeleteMachineKey(ctx, req.(*MachineKeyIDRequest)) } return interceptor(ctx, in, info, handler) } -func _ManagementService_ProjectChanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ChangeRequest) +func _ManagementService_SearchMachineKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MachineKeySearchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(ManagementServiceServer).ProjectChanges(ctx, in) + return srv.(ManagementServiceServer).SearchMachineKeys(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ProjectChanges", + FullMethod: "/caos.zitadel.management.api.v1.ManagementService/SearchMachineKeys", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ManagementServiceServer).ProjectChanges(ctx, req.(*ChangeRequest)) + return srv.(ManagementServiceServer).SearchMachineKeys(ctx, req.(*MachineKeySearchRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ManagementService_GetMachineKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MachineKeyIDRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ManagementServiceServer).GetMachineKey(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetMachineKey", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ManagementServiceServer).GetMachineKey(ctx, req.(*MachineKeyIDRequest)) } return interceptor(ctx, in, info, handler) } @@ -23515,6 +16350,24 @@ func _ManagementService_UpdateUserAddress_Handler(srv interface{}, ctx context.C return interceptor(ctx, in, info, handler) } +func _ManagementService_UpdateUserMachine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateMachineRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ManagementServiceServer).UpdateUserMachine(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/caos.zitadel.management.api.v1.ManagementService/UpdateUserMachine", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ManagementServiceServer).UpdateUserMachine(ctx, req.(*UpdateMachineRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _ManagementService_GetUserMfas_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserID) if err := dec(in); err != nil { @@ -23839,6 +16692,24 @@ func _ManagementService_CreateOrg_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _ManagementService_OrgChanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ChangeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ManagementServiceServer).OrgChanges(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/caos.zitadel.management.api.v1.ManagementService/OrgChanges", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ManagementServiceServer).OrgChanges(ctx, req.(*ChangeRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _ManagementService_GetMyOrg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(empty.Empty) if err := dec(in); err != nil { @@ -24127,6 +16998,24 @@ func _ManagementService_SearchMyOrgMembers_Handler(srv interface{}, ctx context. return interceptor(ctx, in, info, handler) } +func _ManagementService_ProjectChanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ChangeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ManagementServiceServer).ProjectChanges(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ProjectChanges", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ManagementServiceServer).ProjectChanges(ctx, req.(*ChangeRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _ManagementService_SearchProjects_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectSearchRequest) if err := dec(in); err != nil { @@ -24505,6 +17394,24 @@ func _ManagementService_ApplicationByID_Handler(srv interface{}, ctx context.Con return interceptor(ctx, in, info, handler) } +func _ManagementService_ApplicationChanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ChangeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ManagementServiceServer).ApplicationChanges(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ApplicationChanges", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ManagementServiceServer).ApplicationChanges(ctx, req.(*ChangeRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _ManagementService_CreateOIDCApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(OIDCApplicationCreate) if err := dec(in); err != nil { @@ -25285,6 +18192,10 @@ var _ManagementService_serviceDesc = grpc.ServiceDesc{ MethodName: "GetIam", Handler: _ManagementService_GetIam_Handler, }, + { + MethodName: "IsUserUnique", + Handler: _ManagementService_IsUserUnique_Handler, + }, { MethodName: "GetUserByID", Handler: _ManagementService_GetUserByID_Handler, @@ -25297,10 +18208,6 @@ var _ManagementService_serviceDesc = grpc.ServiceDesc{ MethodName: "SearchUsers", Handler: _ManagementService_SearchUsers_Handler, }, - { - MethodName: "IsUserUnique", - Handler: _ManagementService_IsUserUnique_Handler, - }, { MethodName: "CreateUser", Handler: _ManagementService_CreateUser_Handler, @@ -25330,16 +18237,20 @@ var _ManagementService_serviceDesc = grpc.ServiceDesc{ Handler: _ManagementService_UserChanges_Handler, }, { - MethodName: "ApplicationChanges", - Handler: _ManagementService_ApplicationChanges_Handler, + MethodName: "AddMachineKey", + Handler: _ManagementService_AddMachineKey_Handler, }, { - MethodName: "OrgChanges", - Handler: _ManagementService_OrgChanges_Handler, + MethodName: "DeleteMachineKey", + Handler: _ManagementService_DeleteMachineKey_Handler, }, { - MethodName: "ProjectChanges", - Handler: _ManagementService_ProjectChanges_Handler, + MethodName: "SearchMachineKeys", + Handler: _ManagementService_SearchMachineKeys_Handler, + }, + { + MethodName: "GetMachineKey", + Handler: _ManagementService_GetMachineKey_Handler, }, { MethodName: "GetUserProfile", @@ -25389,6 +18300,10 @@ var _ManagementService_serviceDesc = grpc.ServiceDesc{ MethodName: "UpdateUserAddress", Handler: _ManagementService_UpdateUserAddress_Handler, }, + { + MethodName: "UpdateUserMachine", + Handler: _ManagementService_UpdateUserMachine_Handler, + }, { MethodName: "GetUserMfas", Handler: _ManagementService_GetUserMfas_Handler, @@ -25461,6 +18376,10 @@ var _ManagementService_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateOrg", Handler: _ManagementService_CreateOrg_Handler, }, + { + MethodName: "OrgChanges", + Handler: _ManagementService_OrgChanges_Handler, + }, { MethodName: "GetMyOrg", Handler: _ManagementService_GetMyOrg_Handler, @@ -25525,6 +18444,10 @@ var _ManagementService_serviceDesc = grpc.ServiceDesc{ MethodName: "SearchMyOrgMembers", Handler: _ManagementService_SearchMyOrgMembers_Handler, }, + { + MethodName: "ProjectChanges", + Handler: _ManagementService_ProjectChanges_Handler, + }, { MethodName: "SearchProjects", Handler: _ManagementService_SearchProjects_Handler, @@ -25609,6 +18532,10 @@ var _ManagementService_serviceDesc = grpc.ServiceDesc{ MethodName: "ApplicationByID", Handler: _ManagementService_ApplicationByID_Handler, }, + { + MethodName: "ApplicationChanges", + Handler: _ManagementService_ApplicationChanges_Handler, + }, { MethodName: "CreateOIDCApplication", Handler: _ManagementService_CreateOIDCApplication_Handler, diff --git a/pkg/grpc/management/management.pb.gw.go b/pkg/grpc/management/management.pb.gw.go index cb509fd8d6..6745c11ebc 100644 --- a/pkg/grpc/management/management.pb.gw.go +++ b/pkg/grpc/management/management.pb.gw.go @@ -13,6 +13,7 @@ import ( "io" "net/http" + "github.com/golang/protobuf/descriptor" "github.com/golang/protobuf/proto" "github.com/golang/protobuf/ptypes/empty" "github.com/grpc-ecosystem/grpc-gateway/runtime" @@ -23,11 +24,13 @@ import ( "google.golang.org/grpc/status" ) +// Suppress "imported and not used" errors var _ codes.Code var _ io.Reader var _ status.Status var _ = runtime.String var _ = utilities.NewDoubleArray +var _ = descriptor.ForMessage func request_ManagementService_Healthz_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty @@ -38,6 +41,15 @@ func request_ManagementService_Healthz_0(ctx context.Context, marshaler runtime. } +func local_request_ManagementService_Healthz_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.Healthz(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_Ready_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -47,6 +59,15 @@ func request_ManagementService_Ready_0(ctx context.Context, marshaler runtime.Ma } +func local_request_ManagementService_Ready_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.Ready(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_Validate_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -56,6 +77,15 @@ func request_ManagementService_Validate_0(ctx context.Context, marshaler runtime } +func local_request_ManagementService_Validate_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.Validate(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetZitadelDocs_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -65,6 +95,15 @@ func request_ManagementService_GetZitadelDocs_0(ctx context.Context, marshaler r } +func local_request_ManagementService_GetZitadelDocs_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetZitadelDocs(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetIam_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -74,6 +113,48 @@ func request_ManagementService_GetIam_0(ctx context.Context, marshaler runtime.M } +func local_request_ManagementService_GetIam_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetIam(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ManagementService_IsUserUnique_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_ManagementService_IsUserUnique_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UniqueUserRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ManagementService_IsUserUnique_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.IsUserUnique(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ManagementService_IsUserUnique_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UniqueUserRequest + var metadata runtime.ServerMetadata + + if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_IsUserUnique_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.IsUserUnique(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetUserByID_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -101,6 +182,33 @@ func request_ManagementService_GetUserByID_0(ctx context.Context, marshaler runt } +func local_request_ManagementService_GetUserByID_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.GetUserByID(ctx, &protoReq) + return msg, metadata, err + +} + var ( filter_ManagementService_GetUserByLoginNameGlobal_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) @@ -109,7 +217,10 @@ func request_ManagementService_GetUserByLoginNameGlobal_0(ctx context.Context, m var protoReq LoginName var metadata runtime.ServerMetadata - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_GetUserByLoginNameGlobal_0); err != nil { + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ManagementService_GetUserByLoginNameGlobal_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -118,6 +229,19 @@ func request_ManagementService_GetUserByLoginNameGlobal_0(ctx context.Context, m } +func local_request_ManagementService_GetUserByLoginNameGlobal_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq LoginName + var metadata runtime.ServerMetadata + + if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_GetUserByLoginNameGlobal_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetUserByLoginNameGlobal(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchUsers_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserSearchRequest var metadata runtime.ServerMetadata @@ -135,19 +259,19 @@ func request_ManagementService_SearchUsers_0(ctx context.Context, marshaler runt } -var ( - filter_ManagementService_IsUserUnique_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_ManagementService_IsUserUnique_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UniqueUserRequest +func local_request_ManagementService_SearchUsers_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserSearchRequest var metadata runtime.ServerMetadata - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_IsUserUnique_0); err != nil { + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.IsUserUnique(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := server.SearchUsers(ctx, &protoReq) return msg, metadata, err } @@ -169,6 +293,23 @@ func request_ManagementService_CreateUser_0(ctx context.Context, marshaler runti } +func local_request_ManagementService_CreateUser_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateUserRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateUser(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeactivateUser_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -204,6 +345,41 @@ func request_ManagementService_DeactivateUser_0(ctx context.Context, marshaler r } +func local_request_ManagementService_DeactivateUser_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeactivateUser(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ReactivateUser_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -239,6 +415,41 @@ func request_ManagementService_ReactivateUser_0(ctx context.Context, marshaler r } +func local_request_ManagementService_ReactivateUser_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ReactivateUser(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_LockUser_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -274,6 +485,41 @@ func request_ManagementService_LockUser_0(ctx context.Context, marshaler runtime } +func local_request_ManagementService_LockUser_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.LockUser(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UnlockUser_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -309,6 +555,41 @@ func request_ManagementService_UnlockUser_0(ctx context.Context, marshaler runti } +func local_request_ManagementService_UnlockUser_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UnlockUser(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeleteUser_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -336,6 +617,33 @@ func request_ManagementService_DeleteUser_0(ctx context.Context, marshaler runti } +func local_request_ManagementService_DeleteUser_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeleteUser(ctx, &protoReq) + return msg, metadata, err + +} + var ( filter_ManagementService_UserChanges_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} ) @@ -362,7 +670,10 @@ func request_ManagementService_UserChanges_0(ctx context.Context, marshaler runt return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_UserChanges_0); err != nil { + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ManagementService_UserChanges_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -371,11 +682,7 @@ func request_ManagementService_UserChanges_0(ctx context.Context, marshaler runt } -var ( - filter_ManagementService_ApplicationChanges_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "sec_id": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} -) - -func request_ManagementService_ApplicationChanges_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func local_request_ManagementService_UserChanges_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ChangeRequest var metadata runtime.ServerMetadata @@ -397,34 +704,27 @@ func request_ManagementService_ApplicationChanges_0(ctx context.Context, marshal return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) } - val, ok = pathParams["sec_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sec_id") - } - - protoReq.SecId, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sec_id", err) - } - - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_ApplicationChanges_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_UserChanges_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ApplicationChanges(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := server.UserChanges(ctx, &protoReq) return msg, metadata, err } -var ( - filter_ManagementService_OrgChanges_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} -) - -func request_ManagementService_OrgChanges_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ChangeRequest +func request_ManagementService_AddMachineKey_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AddMachineKeyRequest var metadata runtime.ServerMetadata + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + var ( val string ok bool @@ -432,32 +732,59 @@ func request_ManagementService_OrgChanges_0(ctx context.Context, marshaler runti _ = err ) - val, ok = pathParams["id"] + val, ok = pathParams["user_id"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") } - protoReq.Id, err = runtime.String(val) + protoReq.UserId, err = runtime.String(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_OrgChanges_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.OrgChanges(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.AddMachineKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -var ( - filter_ManagementService_ProjectChanges_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} -) +func local_request_ManagementService_AddMachineKey_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AddMachineKeyRequest + var metadata runtime.ServerMetadata -func request_ManagementService_ProjectChanges_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ChangeRequest + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.AddMachineKey(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ManagementService_DeleteMachineKey_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq MachineKeyIDRequest var metadata runtime.ServerMetadata var ( @@ -467,22 +794,213 @@ func request_ManagementService_ProjectChanges_0(ctx context.Context, marshaler r _ = err ) - val, ok = pathParams["id"] + val, ok = pathParams["user_id"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") } - protoReq.Id, err = runtime.String(val) + protoReq.UserId, err = runtime.String(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_ProjectChanges_0); err != nil { + val, ok = pathParams["key_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "key_id") + } + + protoReq.KeyId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "key_id", err) + } + + msg, err := client.DeleteMachineKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ManagementService_DeleteMachineKey_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq MachineKeyIDRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["key_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "key_id") + } + + protoReq.KeyId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "key_id", err) + } + + msg, err := server.DeleteMachineKey(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ManagementService_SearchMachineKeys_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq MachineKeySearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ProjectChanges(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := client.SearchMachineKeys(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ManagementService_SearchMachineKeys_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq MachineKeySearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.SearchMachineKeys(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ManagementService_GetMachineKey_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq MachineKeyIDRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["key_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "key_id") + } + + protoReq.KeyId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "key_id", err) + } + + msg, err := client.GetMachineKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ManagementService_GetMachineKey_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq MachineKeyIDRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["key_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "key_id") + } + + protoReq.KeyId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "key_id", err) + } + + msg, err := server.GetMachineKey(ctx, &protoReq) return msg, metadata, err } @@ -514,6 +1032,33 @@ func request_ManagementService_GetUserProfile_0(ctx context.Context, marshaler r } +func local_request_ManagementService_GetUserProfile_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.GetUserProfile(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateUserProfile_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UpdateUserProfileRequest var metadata runtime.ServerMetadata @@ -549,6 +1094,41 @@ func request_ManagementService_UpdateUserProfile_0(ctx context.Context, marshale } +func local_request_ManagementService_UpdateUserProfile_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateUserProfileRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdateUserProfile(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetUserEmail_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -576,6 +1156,33 @@ func request_ManagementService_GetUserEmail_0(ctx context.Context, marshaler run } +func local_request_ManagementService_GetUserEmail_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.GetUserEmail(ctx, &protoReq) + return msg, metadata, err + +} + var ( filter_ManagementService_ChangeUserUserName_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} ) @@ -602,7 +1209,10 @@ func request_ManagementService_ChangeUserUserName_0(ctx context.Context, marshal return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_ChangeUserUserName_0); err != nil { + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ManagementService_ChangeUserUserName_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -611,6 +1221,37 @@ func request_ManagementService_ChangeUserUserName_0(ctx context.Context, marshal } +func local_request_ManagementService_ChangeUserUserName_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateUserUserNameRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_ChangeUserUserName_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ChangeUserUserName(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ChangeUserEmail_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UpdateUserEmailRequest var metadata runtime.ServerMetadata @@ -646,6 +1287,41 @@ func request_ManagementService_ChangeUserEmail_0(ctx context.Context, marshaler } +func local_request_ManagementService_ChangeUserEmail_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateUserEmailRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ChangeUserEmail(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ResendEmailVerificationMail_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -681,6 +1357,41 @@ func request_ManagementService_ResendEmailVerificationMail_0(ctx context.Context } +func local_request_ManagementService_ResendEmailVerificationMail_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ResendEmailVerificationMail(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetUserPhone_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -708,6 +1419,33 @@ func request_ManagementService_GetUserPhone_0(ctx context.Context, marshaler run } +func local_request_ManagementService_GetUserPhone_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.GetUserPhone(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ChangeUserPhone_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UpdateUserPhoneRequest var metadata runtime.ServerMetadata @@ -743,6 +1481,41 @@ func request_ManagementService_ChangeUserPhone_0(ctx context.Context, marshaler } +func local_request_ManagementService_ChangeUserPhone_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateUserPhoneRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ChangeUserPhone(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RemoveUserPhone_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -770,6 +1543,33 @@ func request_ManagementService_RemoveUserPhone_0(ctx context.Context, marshaler } +func local_request_ManagementService_RemoveUserPhone_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.RemoveUserPhone(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ResendPhoneVerificationCode_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -805,6 +1605,41 @@ func request_ManagementService_ResendPhoneVerificationCode_0(ctx context.Context } +func local_request_ManagementService_ResendPhoneVerificationCode_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ResendPhoneVerificationCode(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetUserAddress_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -832,6 +1667,33 @@ func request_ManagementService_GetUserAddress_0(ctx context.Context, marshaler r } +func local_request_ManagementService_GetUserAddress_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.GetUserAddress(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateUserAddress_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UpdateUserAddressRequest var metadata runtime.ServerMetadata @@ -867,6 +1729,111 @@ func request_ManagementService_UpdateUserAddress_0(ctx context.Context, marshale } +func local_request_ManagementService_UpdateUserAddress_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateUserAddressRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdateUserAddress(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ManagementService_UpdateUserMachine_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateMachineRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := client.UpdateUserMachine(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ManagementService_UpdateUserMachine_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateMachineRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdateUserMachine(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetUserMfas_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -894,6 +1861,33 @@ func request_ManagementService_GetUserMfas_0(ctx context.Context, marshaler runt } +func local_request_ManagementService_GetUserMfas_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.GetUserMfas(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SendSetPasswordNotification_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq SetPasswordNotificationRequest var metadata runtime.ServerMetadata @@ -929,6 +1923,41 @@ func request_ManagementService_SendSetPasswordNotification_0(ctx context.Context } +func local_request_ManagementService_SendSetPasswordNotification_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SetPasswordNotificationRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.SendSetPasswordNotification(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SetInitialPassword_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq PasswordRequest var metadata runtime.ServerMetadata @@ -964,6 +1993,41 @@ func request_ManagementService_SetInitialPassword_0(ctx context.Context, marshal } +func local_request_ManagementService_SetInitialPassword_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.SetInitialPassword(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchUserMemberships_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserMembershipSearchRequest var metadata runtime.ServerMetadata @@ -999,6 +2063,41 @@ func request_ManagementService_SearchUserMemberships_0(ctx context.Context, mars } +func local_request_ManagementService_SearchUserMemberships_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserMembershipSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.SearchUserMemberships(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetPasswordComplexityPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -1008,6 +2107,15 @@ func request_ManagementService_GetPasswordComplexityPolicy_0(ctx context.Context } +func local_request_ManagementService_GetPasswordComplexityPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetPasswordComplexityPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetDefaultPasswordComplexityPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -1017,6 +2125,15 @@ func request_ManagementService_GetDefaultPasswordComplexityPolicy_0(ctx context. } +func local_request_ManagementService_GetDefaultPasswordComplexityPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetDefaultPasswordComplexityPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreatePasswordComplexityPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq PasswordComplexityPolicyCreate var metadata runtime.ServerMetadata @@ -1034,6 +2151,23 @@ func request_ManagementService_CreatePasswordComplexityPolicy_0(ctx context.Cont } +func local_request_ManagementService_CreatePasswordComplexityPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordComplexityPolicyCreate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreatePasswordComplexityPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdatePasswordComplexityPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq PasswordComplexityPolicyUpdate var metadata runtime.ServerMetadata @@ -1051,6 +2185,23 @@ func request_ManagementService_UpdatePasswordComplexityPolicy_0(ctx context.Cont } +func local_request_ManagementService_UpdatePasswordComplexityPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordComplexityPolicyUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdatePasswordComplexityPolicy(ctx, &protoReq) + return msg, metadata, err + +} + var ( filter_ManagementService_DeletePasswordComplexityPolicy_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) @@ -1059,7 +2210,10 @@ func request_ManagementService_DeletePasswordComplexityPolicy_0(ctx context.Cont var protoReq PasswordComplexityPolicyID var metadata runtime.ServerMetadata - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_DeletePasswordComplexityPolicy_0); err != nil { + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ManagementService_DeletePasswordComplexityPolicy_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -1068,6 +2222,19 @@ func request_ManagementService_DeletePasswordComplexityPolicy_0(ctx context.Cont } +func local_request_ManagementService_DeletePasswordComplexityPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordComplexityPolicyID + var metadata runtime.ServerMetadata + + if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_DeletePasswordComplexityPolicy_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeletePasswordComplexityPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetPasswordAgePolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -1077,6 +2244,15 @@ func request_ManagementService_GetPasswordAgePolicy_0(ctx context.Context, marsh } +func local_request_ManagementService_GetPasswordAgePolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetPasswordAgePolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreatePasswordAgePolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq PasswordAgePolicyCreate var metadata runtime.ServerMetadata @@ -1094,6 +2270,23 @@ func request_ManagementService_CreatePasswordAgePolicy_0(ctx context.Context, ma } +func local_request_ManagementService_CreatePasswordAgePolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordAgePolicyCreate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreatePasswordAgePolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdatePasswordAgePolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq PasswordAgePolicyUpdate var metadata runtime.ServerMetadata @@ -1111,6 +2304,23 @@ func request_ManagementService_UpdatePasswordAgePolicy_0(ctx context.Context, ma } +func local_request_ManagementService_UpdatePasswordAgePolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordAgePolicyUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdatePasswordAgePolicy(ctx, &protoReq) + return msg, metadata, err + +} + var ( filter_ManagementService_DeletePasswordAgePolicy_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) @@ -1119,7 +2329,10 @@ func request_ManagementService_DeletePasswordAgePolicy_0(ctx context.Context, ma var protoReq PasswordAgePolicyID var metadata runtime.ServerMetadata - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_DeletePasswordAgePolicy_0); err != nil { + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ManagementService_DeletePasswordAgePolicy_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -1128,6 +2341,19 @@ func request_ManagementService_DeletePasswordAgePolicy_0(ctx context.Context, ma } +func local_request_ManagementService_DeletePasswordAgePolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordAgePolicyID + var metadata runtime.ServerMetadata + + if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_DeletePasswordAgePolicy_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeletePasswordAgePolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetPasswordLockoutPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -1137,6 +2363,15 @@ func request_ManagementService_GetPasswordLockoutPolicy_0(ctx context.Context, m } +func local_request_ManagementService_GetPasswordLockoutPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetPasswordLockoutPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreatePasswordLockoutPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq PasswordLockoutPolicyCreate var metadata runtime.ServerMetadata @@ -1154,6 +2389,23 @@ func request_ManagementService_CreatePasswordLockoutPolicy_0(ctx context.Context } +func local_request_ManagementService_CreatePasswordLockoutPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordLockoutPolicyCreate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreatePasswordLockoutPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdatePasswordLockoutPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq PasswordLockoutPolicyUpdate var metadata runtime.ServerMetadata @@ -1171,6 +2423,23 @@ func request_ManagementService_UpdatePasswordLockoutPolicy_0(ctx context.Context } +func local_request_ManagementService_UpdatePasswordLockoutPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordLockoutPolicyUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdatePasswordLockoutPolicy(ctx, &protoReq) + return msg, metadata, err + +} + var ( filter_ManagementService_DeletePasswordLockoutPolicy_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) @@ -1179,7 +2448,10 @@ func request_ManagementService_DeletePasswordLockoutPolicy_0(ctx context.Context var protoReq PasswordLockoutPolicyID var metadata runtime.ServerMetadata - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_DeletePasswordLockoutPolicy_0); err != nil { + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ManagementService_DeletePasswordLockoutPolicy_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -1188,6 +2460,19 @@ func request_ManagementService_DeletePasswordLockoutPolicy_0(ctx context.Context } +func local_request_ManagementService_DeletePasswordLockoutPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordLockoutPolicyID + var metadata runtime.ServerMetadata + + if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_DeletePasswordLockoutPolicy_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeletePasswordLockoutPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreateOrg_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OrgCreateRequest var metadata runtime.ServerMetadata @@ -1205,6 +2490,92 @@ func request_ManagementService_CreateOrg_0(ctx context.Context, marshaler runtim } +func local_request_ManagementService_CreateOrg_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrgCreateRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateOrg(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ManagementService_OrgChanges_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ManagementService_OrgChanges_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ChangeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ManagementService_OrgChanges_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.OrgChanges(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ManagementService_OrgChanges_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ChangeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_OrgChanges_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.OrgChanges(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetMyOrg_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -1214,6 +2585,15 @@ func request_ManagementService_GetMyOrg_0(ctx context.Context, marshaler runtime } +func local_request_ManagementService_GetMyOrg_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetMyOrg(ctx, &protoReq) + return msg, metadata, err + +} + var ( filter_ManagementService_GetOrgByDomainGlobal_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) @@ -1222,7 +2602,10 @@ func request_ManagementService_GetOrgByDomainGlobal_0(ctx context.Context, marsh var protoReq Domain var metadata runtime.ServerMetadata - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_GetOrgByDomainGlobal_0); err != nil { + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ManagementService_GetOrgByDomainGlobal_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -1231,6 +2614,19 @@ func request_ManagementService_GetOrgByDomainGlobal_0(ctx context.Context, marsh } +func local_request_ManagementService_GetOrgByDomainGlobal_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq Domain + var metadata runtime.ServerMetadata + + if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_GetOrgByDomainGlobal_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetOrgByDomainGlobal(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeactivateMyOrg_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -1248,6 +2644,23 @@ func request_ManagementService_DeactivateMyOrg_0(ctx context.Context, marshaler } +func local_request_ManagementService_DeactivateMyOrg_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeactivateMyOrg(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ReactivateMyOrg_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -1265,6 +2678,23 @@ func request_ManagementService_ReactivateMyOrg_0(ctx context.Context, marshaler } +func local_request_ManagementService_ReactivateMyOrg_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ReactivateMyOrg(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchMyOrgDomains_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OrgDomainSearchRequest var metadata runtime.ServerMetadata @@ -1282,6 +2712,23 @@ func request_ManagementService_SearchMyOrgDomains_0(ctx context.Context, marshal } +func local_request_ManagementService_SearchMyOrgDomains_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrgDomainSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SearchMyOrgDomains(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_AddMyOrgDomain_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq AddOrgDomainRequest var metadata runtime.ServerMetadata @@ -1299,6 +2746,23 @@ func request_ManagementService_AddMyOrgDomain_0(ctx context.Context, marshaler r } +func local_request_ManagementService_AddMyOrgDomain_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AddOrgDomainRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.AddMyOrgDomain(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GenerateMyOrgDomainValidation_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OrgDomainValidationRequest var metadata runtime.ServerMetadata @@ -1334,6 +2798,41 @@ func request_ManagementService_GenerateMyOrgDomainValidation_0(ctx context.Conte } +func local_request_ManagementService_GenerateMyOrgDomainValidation_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrgDomainValidationRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + } + + protoReq.Domain, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + } + + msg, err := server.GenerateMyOrgDomainValidation(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ValidateMyOrgDomain_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ValidateOrgDomainRequest var metadata runtime.ServerMetadata @@ -1369,6 +2868,41 @@ func request_ManagementService_ValidateMyOrgDomain_0(ctx context.Context, marsha } +func local_request_ManagementService_ValidateMyOrgDomain_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ValidateOrgDomainRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + } + + protoReq.Domain, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + } + + msg, err := server.ValidateMyOrgDomain(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SetMyPrimaryOrgDomain_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq PrimaryOrgDomainRequest var metadata runtime.ServerMetadata @@ -1396,6 +2930,33 @@ func request_ManagementService_SetMyPrimaryOrgDomain_0(ctx context.Context, mars } +func local_request_ManagementService_SetMyPrimaryOrgDomain_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PrimaryOrgDomainRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + } + + protoReq.Domain, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + } + + msg, err := server.SetMyPrimaryOrgDomain(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RemoveMyOrgDomain_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq RemoveOrgDomainRequest var metadata runtime.ServerMetadata @@ -1423,6 +2984,33 @@ func request_ManagementService_RemoveMyOrgDomain_0(ctx context.Context, marshale } +func local_request_ManagementService_RemoveMyOrgDomain_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RemoveOrgDomainRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + } + + protoReq.Domain, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + } + + msg, err := server.RemoveMyOrgDomain(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetMyOrgIamPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -1432,6 +3020,15 @@ func request_ManagementService_GetMyOrgIamPolicy_0(ctx context.Context, marshale } +func local_request_ManagementService_GetMyOrgIamPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetMyOrgIamPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetOrgMemberRoles_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -1441,6 +3038,15 @@ func request_ManagementService_GetOrgMemberRoles_0(ctx context.Context, marshale } +func local_request_ManagementService_GetOrgMemberRoles_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetOrgMemberRoles(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_AddMyOrgMember_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq AddOrgMemberRequest var metadata runtime.ServerMetadata @@ -1458,6 +3064,23 @@ func request_ManagementService_AddMyOrgMember_0(ctx context.Context, marshaler r } +func local_request_ManagementService_AddMyOrgMember_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AddOrgMemberRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.AddMyOrgMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ChangeMyOrgMember_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ChangeOrgMemberRequest var metadata runtime.ServerMetadata @@ -1493,6 +3116,41 @@ func request_ManagementService_ChangeMyOrgMember_0(ctx context.Context, marshale } +func local_request_ManagementService_ChangeMyOrgMember_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ChangeOrgMemberRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.ChangeMyOrgMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RemoveMyOrgMember_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq RemoveOrgMemberRequest var metadata runtime.ServerMetadata @@ -1520,6 +3178,33 @@ func request_ManagementService_RemoveMyOrgMember_0(ctx context.Context, marshale } +func local_request_ManagementService_RemoveMyOrgMember_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RemoveOrgMemberRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.RemoveMyOrgMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchMyOrgMembers_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OrgMemberSearchRequest var metadata runtime.ServerMetadata @@ -1537,6 +3222,92 @@ func request_ManagementService_SearchMyOrgMembers_0(ctx context.Context, marshal } +func local_request_ManagementService_SearchMyOrgMembers_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrgMemberSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SearchMyOrgMembers(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ManagementService_ProjectChanges_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ManagementService_ProjectChanges_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ChangeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ManagementService_ProjectChanges_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ProjectChanges(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ManagementService_ProjectChanges_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ChangeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_ProjectChanges_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ProjectChanges(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchProjects_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectSearchRequest var metadata runtime.ServerMetadata @@ -1554,6 +3325,23 @@ func request_ManagementService_SearchProjects_0(ctx context.Context, marshaler r } +func local_request_ManagementService_SearchProjects_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SearchProjects(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ProjectByID_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectID var metadata runtime.ServerMetadata @@ -1581,6 +3369,33 @@ func request_ManagementService_ProjectByID_0(ctx context.Context, marshaler runt } +func local_request_ManagementService_ProjectByID_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ProjectByID(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreateProject_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectCreateRequest var metadata runtime.ServerMetadata @@ -1598,6 +3413,23 @@ func request_ManagementService_CreateProject_0(ctx context.Context, marshaler ru } +func local_request_ManagementService_CreateProject_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectCreateRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateProject(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateProject_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectUpdateRequest var metadata runtime.ServerMetadata @@ -1633,6 +3465,41 @@ func request_ManagementService_UpdateProject_0(ctx context.Context, marshaler ru } +func local_request_ManagementService_UpdateProject_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectUpdateRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdateProject(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeactivateProject_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectID var metadata runtime.ServerMetadata @@ -1668,6 +3535,41 @@ func request_ManagementService_DeactivateProject_0(ctx context.Context, marshale } +func local_request_ManagementService_DeactivateProject_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeactivateProject(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ReactivateProject_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectID var metadata runtime.ServerMetadata @@ -1703,6 +3605,41 @@ func request_ManagementService_ReactivateProject_0(ctx context.Context, marshale } +func local_request_ManagementService_ReactivateProject_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ReactivateProject(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RemoveProject_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectID var metadata runtime.ServerMetadata @@ -1730,6 +3667,33 @@ func request_ManagementService_RemoveProject_0(ctx context.Context, marshaler ru } +func local_request_ManagementService_RemoveProject_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.RemoveProject(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchGrantedProjects_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq GrantedProjectSearchRequest var metadata runtime.ServerMetadata @@ -1747,6 +3711,23 @@ func request_ManagementService_SearchGrantedProjects_0(ctx context.Context, mars } +func local_request_ManagementService_SearchGrantedProjects_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GrantedProjectSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SearchGrantedProjects(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetGrantedProjectByID_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantID var metadata runtime.ServerMetadata @@ -1785,6 +3766,44 @@ func request_ManagementService_GetGrantedProjectByID_0(ctx context.Context, mars } +func local_request_ManagementService_GetGrantedProjectByID_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.GetGrantedProjectByID(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetProjectMemberRoles_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -1794,6 +3813,15 @@ func request_ManagementService_GetProjectMemberRoles_0(ctx context.Context, mars } +func local_request_ManagementService_GetProjectMemberRoles_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetProjectMemberRoles(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchProjectMembers_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectMemberSearchRequest var metadata runtime.ServerMetadata @@ -1829,6 +3857,41 @@ func request_ManagementService_SearchProjectMembers_0(ctx context.Context, marsh } +func local_request_ManagementService_SearchProjectMembers_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectMemberSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.SearchProjectMembers(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_AddProjectMember_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectMemberAdd var metadata runtime.ServerMetadata @@ -1864,6 +3927,41 @@ func request_ManagementService_AddProjectMember_0(ctx context.Context, marshaler } +func local_request_ManagementService_AddProjectMember_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectMemberAdd + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.AddProjectMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ChangeProjectMember_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectMemberChange var metadata runtime.ServerMetadata @@ -1910,6 +4008,52 @@ func request_ManagementService_ChangeProjectMember_0(ctx context.Context, marsha } +func local_request_ManagementService_ChangeProjectMember_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectMemberChange + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.ChangeProjectMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RemoveProjectMember_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectMemberRemove var metadata runtime.ServerMetadata @@ -1948,6 +4092,44 @@ func request_ManagementService_RemoveProjectMember_0(ctx context.Context, marsha } +func local_request_ManagementService_RemoveProjectMember_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectMemberRemove + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.RemoveProjectMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchProjectRoles_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectRoleSearchRequest var metadata runtime.ServerMetadata @@ -1983,6 +4165,41 @@ func request_ManagementService_SearchProjectRoles_0(ctx context.Context, marshal } +func local_request_ManagementService_SearchProjectRoles_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectRoleSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.SearchProjectRoles(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_AddProjectRole_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectRoleAdd var metadata runtime.ServerMetadata @@ -2018,6 +4235,41 @@ func request_ManagementService_AddProjectRole_0(ctx context.Context, marshaler r } +func local_request_ManagementService_AddProjectRole_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectRoleAdd + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.AddProjectRole(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_BulkAddProjectRole_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectRoleAddBulk var metadata runtime.ServerMetadata @@ -2053,6 +4305,41 @@ func request_ManagementService_BulkAddProjectRole_0(ctx context.Context, marshal } +func local_request_ManagementService_BulkAddProjectRole_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectRoleAddBulk + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.BulkAddProjectRole(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ChangeProjectRole_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectRoleChange var metadata runtime.ServerMetadata @@ -2099,6 +4386,52 @@ func request_ManagementService_ChangeProjectRole_0(ctx context.Context, marshale } +func local_request_ManagementService_ChangeProjectRole_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectRoleChange + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + val, ok = pathParams["key"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "key") + } + + protoReq.Key, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "key", err) + } + + msg, err := server.ChangeProjectRole(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RemoveProjectRole_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectRoleRemove var metadata runtime.ServerMetadata @@ -2137,6 +4470,44 @@ func request_ManagementService_RemoveProjectRole_0(ctx context.Context, marshale } +func local_request_ManagementService_RemoveProjectRole_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectRoleRemove + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + val, ok = pathParams["key"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "key") + } + + protoReq.Key, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "key", err) + } + + msg, err := server.RemoveProjectRole(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchApplications_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ApplicationSearchRequest var metadata runtime.ServerMetadata @@ -2172,6 +4543,41 @@ func request_ManagementService_SearchApplications_0(ctx context.Context, marshal } +func local_request_ManagementService_SearchApplications_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ApplicationSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.SearchApplications(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ApplicationByID_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ApplicationID var metadata runtime.ServerMetadata @@ -2210,6 +4616,135 @@ func request_ManagementService_ApplicationByID_0(ctx context.Context, marshaler } +func local_request_ManagementService_ApplicationByID_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ApplicationID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ApplicationByID(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ManagementService_ApplicationChanges_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "sec_id": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_ManagementService_ApplicationChanges_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ChangeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + val, ok = pathParams["sec_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sec_id") + } + + protoReq.SecId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sec_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ManagementService_ApplicationChanges_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ApplicationChanges(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ManagementService_ApplicationChanges_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ChangeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + val, ok = pathParams["sec_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sec_id") + } + + protoReq.SecId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sec_id", err) + } + + if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_ApplicationChanges_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ApplicationChanges(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreateOIDCApplication_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OIDCApplicationCreate var metadata runtime.ServerMetadata @@ -2245,6 +4780,41 @@ func request_ManagementService_CreateOIDCApplication_0(ctx context.Context, mars } +func local_request_ManagementService_CreateOIDCApplication_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OIDCApplicationCreate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.CreateOIDCApplication(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateApplication_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ApplicationUpdate var metadata runtime.ServerMetadata @@ -2291,6 +4861,52 @@ func request_ManagementService_UpdateApplication_0(ctx context.Context, marshale } +func local_request_ManagementService_UpdateApplication_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ApplicationUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdateApplication(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeactivateApplication_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ApplicationID var metadata runtime.ServerMetadata @@ -2337,6 +4953,52 @@ func request_ManagementService_DeactivateApplication_0(ctx context.Context, mars } +func local_request_ManagementService_DeactivateApplication_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ApplicationID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeactivateApplication(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ReactivateApplication_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ApplicationID var metadata runtime.ServerMetadata @@ -2383,6 +5045,52 @@ func request_ManagementService_ReactivateApplication_0(ctx context.Context, mars } +func local_request_ManagementService_ReactivateApplication_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ApplicationID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ReactivateApplication(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RemoveApplication_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ApplicationID var metadata runtime.ServerMetadata @@ -2421,6 +5129,44 @@ func request_ManagementService_RemoveApplication_0(ctx context.Context, marshale } +func local_request_ManagementService_RemoveApplication_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ApplicationID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.RemoveApplication(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateApplicationOIDCConfig_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OIDCConfigUpdate var metadata runtime.ServerMetadata @@ -2467,6 +5213,52 @@ func request_ManagementService_UpdateApplicationOIDCConfig_0(ctx context.Context } +func local_request_ManagementService_UpdateApplicationOIDCConfig_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OIDCConfigUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["application_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application_id") + } + + protoReq.ApplicationId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application_id", err) + } + + msg, err := server.UpdateApplicationOIDCConfig(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RegenerateOIDCClientSecret_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ApplicationID var metadata runtime.ServerMetadata @@ -2513,6 +5305,52 @@ func request_ManagementService_RegenerateOIDCClientSecret_0(ctx context.Context, } +func local_request_ManagementService_RegenerateOIDCClientSecret_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ApplicationID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.RegenerateOIDCClientSecret(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchProjectGrants_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantSearchRequest var metadata runtime.ServerMetadata @@ -2548,6 +5386,41 @@ func request_ManagementService_SearchProjectGrants_0(ctx context.Context, marsha } +func local_request_ManagementService_SearchProjectGrants_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.SearchProjectGrants(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ProjectGrantByID_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantID var metadata runtime.ServerMetadata @@ -2586,6 +5459,44 @@ func request_ManagementService_ProjectGrantByID_0(ctx context.Context, marshaler } +func local_request_ManagementService_ProjectGrantByID_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ProjectGrantByID(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreateProjectGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantCreate var metadata runtime.ServerMetadata @@ -2621,6 +5532,41 @@ func request_ManagementService_CreateProjectGrant_0(ctx context.Context, marshal } +func local_request_ManagementService_CreateProjectGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantCreate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.CreateProjectGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateProjectGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantUpdate var metadata runtime.ServerMetadata @@ -2667,6 +5613,52 @@ func request_ManagementService_UpdateProjectGrant_0(ctx context.Context, marshal } +func local_request_ManagementService_UpdateProjectGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdateProjectGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeactivateProjectGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantID var metadata runtime.ServerMetadata @@ -2713,6 +5705,52 @@ func request_ManagementService_DeactivateProjectGrant_0(ctx context.Context, mar } +func local_request_ManagementService_DeactivateProjectGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeactivateProjectGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ReactivateProjectGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantID var metadata runtime.ServerMetadata @@ -2759,6 +5797,52 @@ func request_ManagementService_ReactivateProjectGrant_0(ctx context.Context, mar } +func local_request_ManagementService_ReactivateProjectGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ReactivateProjectGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RemoveProjectGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantID var metadata runtime.ServerMetadata @@ -2797,6 +5881,44 @@ func request_ManagementService_RemoveProjectGrant_0(ctx context.Context, marshal } +func local_request_ManagementService_RemoveProjectGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.RemoveProjectGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetProjectGrantMemberRoles_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -2806,6 +5928,15 @@ func request_ManagementService_GetProjectGrantMemberRoles_0(ctx context.Context, } +func local_request_ManagementService_GetProjectGrantMemberRoles_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetProjectGrantMemberRoles(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchProjectGrantMembers_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantMemberSearchRequest var metadata runtime.ServerMetadata @@ -2852,6 +5983,52 @@ func request_ManagementService_SearchProjectGrantMembers_0(ctx context.Context, } +func local_request_ManagementService_SearchProjectGrantMembers_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantMemberSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["grant_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "grant_id") + } + + protoReq.GrantId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "grant_id", err) + } + + msg, err := server.SearchProjectGrantMembers(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_AddProjectGrantMember_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantMemberAdd var metadata runtime.ServerMetadata @@ -2898,6 +6075,52 @@ func request_ManagementService_AddProjectGrantMember_0(ctx context.Context, mars } +func local_request_ManagementService_AddProjectGrantMember_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantMemberAdd + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["grant_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "grant_id") + } + + protoReq.GrantId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "grant_id", err) + } + + msg, err := server.AddProjectGrantMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ChangeProjectGrantMember_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantMemberChange var metadata runtime.ServerMetadata @@ -2955,6 +6178,63 @@ func request_ManagementService_ChangeProjectGrantMember_0(ctx context.Context, m } +func local_request_ManagementService_ChangeProjectGrantMember_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantMemberChange + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["grant_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "grant_id") + } + + protoReq.GrantId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "grant_id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.ChangeProjectGrantMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RemoveProjectGrantMember_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantMemberRemove var metadata runtime.ServerMetadata @@ -3004,6 +6284,55 @@ func request_ManagementService_RemoveProjectGrantMember_0(ctx context.Context, m } +func local_request_ManagementService_RemoveProjectGrantMember_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantMemberRemove + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["grant_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "grant_id") + } + + protoReq.GrantId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "grant_id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.RemoveProjectGrantMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchUserGrants_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserGrantSearchRequest var metadata runtime.ServerMetadata @@ -3021,6 +6350,23 @@ func request_ManagementService_SearchUserGrants_0(ctx context.Context, marshaler } +func local_request_ManagementService_SearchUserGrants_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserGrantSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SearchUserGrants(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UserGrantByID_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserGrantID var metadata runtime.ServerMetadata @@ -3059,6 +6405,44 @@ func request_ManagementService_UserGrantByID_0(ctx context.Context, marshaler ru } +func local_request_ManagementService_UserGrantByID_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserGrantID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UserGrantByID(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreateUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserGrantCreate var metadata runtime.ServerMetadata @@ -3094,6 +6478,41 @@ func request_ManagementService_CreateUserGrant_0(ctx context.Context, marshaler } +func local_request_ManagementService_CreateUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserGrantCreate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.CreateUserGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserGrantUpdate var metadata runtime.ServerMetadata @@ -3140,6 +6559,52 @@ func request_ManagementService_UpdateUserGrant_0(ctx context.Context, marshaler } +func local_request_ManagementService_UpdateUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserGrantUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdateUserGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeactivateUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserGrantID var metadata runtime.ServerMetadata @@ -3186,6 +6651,52 @@ func request_ManagementService_DeactivateUserGrant_0(ctx context.Context, marsha } +func local_request_ManagementService_DeactivateUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserGrantID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeactivateUserGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ReactivateUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserGrantID var metadata runtime.ServerMetadata @@ -3232,6 +6743,52 @@ func request_ManagementService_ReactivateUserGrant_0(ctx context.Context, marsha } +func local_request_ManagementService_ReactivateUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserGrantID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ReactivateUserGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RemoveUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserGrantID var metadata runtime.ServerMetadata @@ -3270,6 +6827,44 @@ func request_ManagementService_RemoveUserGrant_0(ctx context.Context, marshaler } +func local_request_ManagementService_RemoveUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserGrantID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.RemoveUserGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_BulkRemoveUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserGrantRemoveBulk var metadata runtime.ServerMetadata @@ -3287,6 +6882,23 @@ func request_ManagementService_BulkRemoveUserGrant_0(ctx context.Context, marsha } +func local_request_ManagementService_BulkRemoveUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserGrantRemoveBulk + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.BulkRemoveUserGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_IdpByID_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IdpID var metadata runtime.ServerMetadata @@ -3314,6 +6926,33 @@ func request_ManagementService_IdpByID_0(ctx context.Context, marshaler runtime. } +func local_request_ManagementService_IdpByID_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IdpID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.IdpByID(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreateOidcIdp_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OidcIdpConfigCreate var metadata runtime.ServerMetadata @@ -3331,6 +6970,23 @@ func request_ManagementService_CreateOidcIdp_0(ctx context.Context, marshaler ru } +func local_request_ManagementService_CreateOidcIdp_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OidcIdpConfigCreate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateOidcIdp(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IdpUpdate var metadata runtime.ServerMetadata @@ -3366,6 +7022,41 @@ func request_ManagementService_UpdateIdpConfig_0(ctx context.Context, marshaler } +func local_request_ManagementService_UpdateIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IdpUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdateIdpConfig(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeactivateIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IdpID var metadata runtime.ServerMetadata @@ -3401,6 +7092,41 @@ func request_ManagementService_DeactivateIdpConfig_0(ctx context.Context, marsha } +func local_request_ManagementService_DeactivateIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IdpID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeactivateIdpConfig(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ReactivateIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IdpID var metadata runtime.ServerMetadata @@ -3436,6 +7162,41 @@ func request_ManagementService_ReactivateIdpConfig_0(ctx context.Context, marsha } +func local_request_ManagementService_ReactivateIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IdpID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ReactivateIdpConfig(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RemoveIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IdpID var metadata runtime.ServerMetadata @@ -3463,6 +7224,33 @@ func request_ManagementService_RemoveIdpConfig_0(ctx context.Context, marshaler } +func local_request_ManagementService_RemoveIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IdpID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.RemoveIdpConfig(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateOidcIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OidcIdpConfigUpdate var metadata runtime.ServerMetadata @@ -3498,6 +7286,41 @@ func request_ManagementService_UpdateOidcIdpConfig_0(ctx context.Context, marsha } +func local_request_ManagementService_UpdateOidcIdpConfig_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OidcIdpConfigUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["idp_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "idp_id") + } + + protoReq.IdpId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "idp_id", err) + } + + msg, err := server.UpdateOidcIdpConfig(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchIdps_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IdpSearchRequest var metadata runtime.ServerMetadata @@ -3515,6 +7338,23 @@ func request_ManagementService_SearchIdps_0(ctx context.Context, marshaler runti } +func local_request_ManagementService_SearchIdps_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IdpSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SearchIdps(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -3524,6 +7364,15 @@ func request_ManagementService_GetLoginPolicy_0(ctx context.Context, marshaler r } +func local_request_ManagementService_GetLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetLoginPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreateLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq LoginPolicyAdd var metadata runtime.ServerMetadata @@ -3541,6 +7390,23 @@ func request_ManagementService_CreateLoginPolicy_0(ctx context.Context, marshale } +func local_request_ManagementService_CreateLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq LoginPolicyAdd + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateLoginPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq LoginPolicy var metadata runtime.ServerMetadata @@ -3558,6 +7424,23 @@ func request_ManagementService_UpdateLoginPolicy_0(ctx context.Context, marshale } +func local_request_ManagementService_UpdateLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq LoginPolicy + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateLoginPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RemoveLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -3567,6 +7450,15 @@ func request_ManagementService_RemoveLoginPolicy_0(ctx context.Context, marshale } +func local_request_ManagementService_RemoveLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.RemoveLoginPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetLoginPolicyIdpProviders_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IdpProviderSearchRequest var metadata runtime.ServerMetadata @@ -3584,6 +7476,23 @@ func request_ManagementService_GetLoginPolicyIdpProviders_0(ctx context.Context, } +func local_request_ManagementService_GetLoginPolicyIdpProviders_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IdpProviderSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetLoginPolicyIdpProviders(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_AddIdpProviderToLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IdpProviderAdd var metadata runtime.ServerMetadata @@ -3601,6 +7510,23 @@ func request_ManagementService_AddIdpProviderToLoginPolicy_0(ctx context.Context } +func local_request_ManagementService_AddIdpProviderToLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IdpProviderAdd + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.AddIdpProviderToLoginPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RemoveIdpProviderFromLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq IdpProviderID var metadata runtime.ServerMetadata @@ -3636,6 +7562,2709 @@ func request_ManagementService_RemoveIdpProviderFromLoginPolicy_0(ctx context.Co } +func local_request_ManagementService_RemoveIdpProviderFromLoginPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq IdpProviderID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["idp_config_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "idp_config_id") + } + + protoReq.IdpConfigId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "idp_config_id", err) + } + + msg, err := server.RemoveIdpProviderFromLoginPolicy(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterManagementServiceHandlerServer registers the http handlers for service ManagementService to "mux". +// UnaryRPC :call ManagementServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +func RegisterManagementServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ManagementServiceServer) error { + + mux.Handle("GET", pattern_ManagementService_Healthz_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_Healthz_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_Healthz_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_Ready_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_Ready_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_Ready_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_Validate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_Validate_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_Validate_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetZitadelDocs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetZitadelDocs_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetZitadelDocs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetIam_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetIam_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetIam_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_IsUserUnique_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_IsUserUnique_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_IsUserUnique_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetUserByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetUserByID_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetUserByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetUserByLoginNameGlobal_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetUserByLoginNameGlobal_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetUserByLoginNameGlobal_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchUsers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchUsers_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchUsers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreateUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreateUser_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreateUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_DeactivateUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeactivateUser_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeactivateUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ReactivateUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ReactivateUser_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ReactivateUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_LockUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_LockUser_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_LockUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UnlockUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UnlockUser_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UnlockUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_DeleteUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeleteUser_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeleteUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_UserChanges_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UserChanges_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UserChanges_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_AddMachineKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_AddMachineKey_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_AddMachineKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_DeleteMachineKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeleteMachineKey_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeleteMachineKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchMachineKeys_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchMachineKeys_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchMachineKeys_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetMachineKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetMachineKey_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetMachineKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetUserProfile_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetUserProfile_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetUserProfile_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateUserProfile_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateUserProfile_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateUserProfile_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetUserEmail_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetUserEmail_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetUserEmail_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_ChangeUserUserName_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ChangeUserUserName_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ChangeUserUserName_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ChangeUserEmail_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ChangeUserEmail_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ChangeUserEmail_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_ResendEmailVerificationMail_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ResendEmailVerificationMail_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ResendEmailVerificationMail_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetUserPhone_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetUserPhone_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetUserPhone_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ChangeUserPhone_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ChangeUserPhone_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ChangeUserPhone_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_RemoveUserPhone_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RemoveUserPhone_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RemoveUserPhone_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_ResendPhoneVerificationCode_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ResendPhoneVerificationCode_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ResendPhoneVerificationCode_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetUserAddress_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetUserAddress_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetUserAddress_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateUserAddress_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateUserAddress_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateUserAddress_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateUserMachine_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateUserMachine_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateUserMachine_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetUserMfas_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetUserMfas_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetUserMfas_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SendSetPasswordNotification_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SendSetPasswordNotification_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SendSetPasswordNotification_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SetInitialPassword_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SetInitialPassword_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SetInitialPassword_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchUserMemberships_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchUserMemberships_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchUserMemberships_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetPasswordComplexityPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetPasswordComplexityPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetPasswordComplexityPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetDefaultPasswordComplexityPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetDefaultPasswordComplexityPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetDefaultPasswordComplexityPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreatePasswordComplexityPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreatePasswordComplexityPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreatePasswordComplexityPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdatePasswordComplexityPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdatePasswordComplexityPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdatePasswordComplexityPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_DeletePasswordComplexityPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeletePasswordComplexityPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeletePasswordComplexityPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetPasswordAgePolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetPasswordAgePolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetPasswordAgePolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreatePasswordAgePolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreatePasswordAgePolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreatePasswordAgePolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdatePasswordAgePolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdatePasswordAgePolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdatePasswordAgePolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_DeletePasswordAgePolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeletePasswordAgePolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeletePasswordAgePolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetPasswordLockoutPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetPasswordLockoutPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetPasswordLockoutPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreatePasswordLockoutPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreatePasswordLockoutPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreatePasswordLockoutPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdatePasswordLockoutPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdatePasswordLockoutPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdatePasswordLockoutPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_DeletePasswordLockoutPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeletePasswordLockoutPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeletePasswordLockoutPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreateOrg_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreateOrg_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreateOrg_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_OrgChanges_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_OrgChanges_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_OrgChanges_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetMyOrg_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetMyOrg_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetMyOrg_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetOrgByDomainGlobal_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetOrgByDomainGlobal_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetOrgByDomainGlobal_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_DeactivateMyOrg_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeactivateMyOrg_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeactivateMyOrg_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ReactivateMyOrg_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ReactivateMyOrg_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ReactivateMyOrg_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchMyOrgDomains_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchMyOrgDomains_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchMyOrgDomains_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_AddMyOrgDomain_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_AddMyOrgDomain_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_AddMyOrgDomain_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_GenerateMyOrgDomainValidation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GenerateMyOrgDomainValidation_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GenerateMyOrgDomainValidation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_ValidateMyOrgDomain_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ValidateMyOrgDomain_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ValidateMyOrgDomain_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SetMyPrimaryOrgDomain_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SetMyPrimaryOrgDomain_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SetMyPrimaryOrgDomain_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_RemoveMyOrgDomain_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RemoveMyOrgDomain_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RemoveMyOrgDomain_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetMyOrgIamPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetMyOrgIamPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetMyOrgIamPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetOrgMemberRoles_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetOrgMemberRoles_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetOrgMemberRoles_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_AddMyOrgMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_AddMyOrgMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_AddMyOrgMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ChangeMyOrgMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ChangeMyOrgMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ChangeMyOrgMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_RemoveMyOrgMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RemoveMyOrgMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RemoveMyOrgMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchMyOrgMembers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchMyOrgMembers_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchMyOrgMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_ProjectChanges_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ProjectChanges_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ProjectChanges_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchProjects_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchProjects_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchProjects_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_ProjectByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ProjectByID_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ProjectByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreateProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreateProject_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreateProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateProject_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_DeactivateProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeactivateProject_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeactivateProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ReactivateProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ReactivateProject_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ReactivateProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_RemoveProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RemoveProject_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RemoveProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchGrantedProjects_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchGrantedProjects_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchGrantedProjects_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetGrantedProjectByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetGrantedProjectByID_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetGrantedProjectByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetProjectMemberRoles_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetProjectMemberRoles_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetProjectMemberRoles_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchProjectMembers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchProjectMembers_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchProjectMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_AddProjectMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_AddProjectMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_AddProjectMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ChangeProjectMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ChangeProjectMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ChangeProjectMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_RemoveProjectMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RemoveProjectMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RemoveProjectMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchProjectRoles_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchProjectRoles_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchProjectRoles_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_AddProjectRole_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_AddProjectRole_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_AddProjectRole_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_BulkAddProjectRole_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_BulkAddProjectRole_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_BulkAddProjectRole_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ChangeProjectRole_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ChangeProjectRole_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ChangeProjectRole_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_RemoveProjectRole_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RemoveProjectRole_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RemoveProjectRole_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchApplications_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchApplications_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchApplications_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_ApplicationByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ApplicationByID_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ApplicationByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_ApplicationChanges_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ApplicationChanges_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ApplicationChanges_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreateOIDCApplication_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreateOIDCApplication_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreateOIDCApplication_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateApplication_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateApplication_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateApplication_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_DeactivateApplication_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeactivateApplication_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeactivateApplication_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ReactivateApplication_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ReactivateApplication_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ReactivateApplication_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_RemoveApplication_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RemoveApplication_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RemoveApplication_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateApplicationOIDCConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateApplicationOIDCConfig_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateApplicationOIDCConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_RegenerateOIDCClientSecret_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RegenerateOIDCClientSecret_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RegenerateOIDCClientSecret_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchProjectGrants_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchProjectGrants_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchProjectGrants_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_ProjectGrantByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ProjectGrantByID_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ProjectGrantByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreateProjectGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreateProjectGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreateProjectGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateProjectGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateProjectGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateProjectGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_DeactivateProjectGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeactivateProjectGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeactivateProjectGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ReactivateProjectGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ReactivateProjectGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ReactivateProjectGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_RemoveProjectGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RemoveProjectGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RemoveProjectGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetProjectGrantMemberRoles_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetProjectGrantMemberRoles_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetProjectGrantMemberRoles_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchProjectGrantMembers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchProjectGrantMembers_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchProjectGrantMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_AddProjectGrantMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_AddProjectGrantMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_AddProjectGrantMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ChangeProjectGrantMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ChangeProjectGrantMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ChangeProjectGrantMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_RemoveProjectGrantMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RemoveProjectGrantMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RemoveProjectGrantMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchUserGrants_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchUserGrants_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchUserGrants_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_UserGrantByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UserGrantByID_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UserGrantByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreateUserGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreateUserGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreateUserGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateUserGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateUserGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateUserGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_DeactivateUserGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeactivateUserGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeactivateUserGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ReactivateUserGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ReactivateUserGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ReactivateUserGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_RemoveUserGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RemoveUserGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RemoveUserGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_BulkRemoveUserGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_BulkRemoveUserGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_BulkRemoveUserGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_IdpByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_IdpByID_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_IdpByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreateOidcIdp_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreateOidcIdp_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreateOidcIdp_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateIdpConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateIdpConfig_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateIdpConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_DeactivateIdpConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeactivateIdpConfig_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeactivateIdpConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ReactivateIdpConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ReactivateIdpConfig_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ReactivateIdpConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_RemoveIdpConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RemoveIdpConfig_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RemoveIdpConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateOidcIdpConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateOidcIdpConfig_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateOidcIdpConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchIdps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchIdps_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchIdps_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetLoginPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetLoginPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetLoginPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreateLoginPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreateLoginPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreateLoginPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateLoginPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateLoginPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateLoginPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_RemoveLoginPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RemoveLoginPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RemoveLoginPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_GetLoginPolicyIdpProviders_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetLoginPolicyIdpProviders_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetLoginPolicyIdpProviders_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_AddIdpProviderToLoginPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_AddIdpProviderToLoginPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_AddIdpProviderToLoginPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_RemoveIdpProviderFromLoginPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RemoveIdpProviderFromLoginPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RemoveIdpProviderFromLoginPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + // RegisterManagementServiceHandlerFromEndpoint is same as RegisterManagementServiceHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterManagementServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { @@ -3774,6 +10403,26 @@ func RegisterManagementServiceHandlerClient(ctx context.Context, mux *runtime.Se }) + mux.Handle("GET", pattern_ManagementService_IsUserUnique_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ManagementService_IsUserUnique_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_IsUserUnique_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_ManagementService_GetUserByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -3834,26 +10483,6 @@ func RegisterManagementServiceHandlerClient(ctx context.Context, mux *runtime.Se }) - mux.Handle("GET", pattern_ManagementService_IsUserUnique_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ManagementService_IsUserUnique_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_ManagementService_IsUserUnique_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("POST", pattern_ManagementService_CreateUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -3994,7 +10623,7 @@ func RegisterManagementServiceHandlerClient(ctx context.Context, mux *runtime.Se }) - mux.Handle("GET", pattern_ManagementService_ApplicationChanges_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_ManagementService_AddMachineKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -4003,18 +10632,18 @@ func RegisterManagementServiceHandlerClient(ctx context.Context, mux *runtime.Se runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_ManagementService_ApplicationChanges_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_ManagementService_AddMachineKey_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_ManagementService_ApplicationChanges_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_ManagementService_AddMachineKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_ManagementService_OrgChanges_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_ManagementService_DeleteMachineKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -4023,18 +10652,18 @@ func RegisterManagementServiceHandlerClient(ctx context.Context, mux *runtime.Se runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_ManagementService_OrgChanges_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_ManagementService_DeleteMachineKey_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_ManagementService_OrgChanges_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_ManagementService_DeleteMachineKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_ManagementService_ProjectChanges_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_ManagementService_SearchMachineKeys_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -4043,14 +10672,34 @@ func RegisterManagementServiceHandlerClient(ctx context.Context, mux *runtime.Se runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_ManagementService_ProjectChanges_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_ManagementService_SearchMachineKeys_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_ManagementService_ProjectChanges_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_ManagementService_SearchMachineKeys_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetMachineKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ManagementService_GetMachineKey_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetMachineKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -4294,6 +10943,26 @@ func RegisterManagementServiceHandlerClient(ctx context.Context, mux *runtime.Se }) + mux.Handle("PUT", pattern_ManagementService_UpdateUserMachine_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ManagementService_UpdateUserMachine_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateUserMachine_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_ManagementService_GetUserMfas_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -4654,6 +11323,26 @@ func RegisterManagementServiceHandlerClient(ctx context.Context, mux *runtime.Se }) + mux.Handle("GET", pattern_ManagementService_OrgChanges_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ManagementService_OrgChanges_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_OrgChanges_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_ManagementService_GetMyOrg_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -4974,6 +11663,26 @@ func RegisterManagementServiceHandlerClient(ctx context.Context, mux *runtime.Se }) + mux.Handle("GET", pattern_ManagementService_ProjectChanges_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ManagementService_ProjectChanges_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ProjectChanges_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("POST", pattern_ManagementService_SearchProjects_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -5394,6 +12103,26 @@ func RegisterManagementServiceHandlerClient(ctx context.Context, mux *runtime.Se }) + mux.Handle("GET", pattern_ManagementService_ApplicationChanges_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ManagementService_ApplicationChanges_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ApplicationChanges_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("POST", pattern_ManagementService_CreateOIDCApplication_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -6238,261 +12967,271 @@ func RegisterManagementServiceHandlerClient(ctx context.Context, mux *runtime.Se } var ( - pattern_ManagementService_Healthz_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"healthz"}, "")) + pattern_ManagementService_Healthz_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"healthz"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_Ready_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"ready"}, "")) + pattern_ManagementService_Ready_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"ready"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_Validate_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"validate"}, "")) + pattern_ManagementService_Validate_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"validate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetZitadelDocs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"zitadel", "docs"}, "")) + pattern_ManagementService_GetZitadelDocs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"zitadel", "docs"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetIam_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"iam"}, "")) + pattern_ManagementService_GetIam_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"iam"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetUserByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"users", "id"}, "")) + pattern_ManagementService_IsUserUnique_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"users", "_isunique"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetUserByLoginNameGlobal_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"global", "users", "_byloginname"}, "")) + pattern_ManagementService_GetUserByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"users", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchUsers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"users", "_search"}, "")) + pattern_ManagementService_GetUserByLoginNameGlobal_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"global", "users", "_byloginname"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_IsUserUnique_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"users", "_isunique"}, "")) + pattern_ManagementService_SearchUsers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"users", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreateUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"users"}, "")) + pattern_ManagementService_CreateUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"users"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeactivateUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_deactivate"}, "")) + pattern_ManagementService_DeactivateUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_deactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ReactivateUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_reactivate"}, "")) + pattern_ManagementService_ReactivateUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_reactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_LockUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_lock"}, "")) + pattern_ManagementService_LockUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_lock"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UnlockUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_unlock"}, "")) + pattern_ManagementService_UnlockUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_unlock"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeleteUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"users", "id"}, "")) + pattern_ManagementService_DeleteUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"users", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UserChanges_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "changes"}, "")) + pattern_ManagementService_UserChanges_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "changes"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ApplicationChanges_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "id", "applications", "sec_id", "changes"}, "")) + pattern_ManagementService_AddMachineKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "user_id", "keys"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_OrgChanges_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"orgs", "id", "changes"}, "")) + pattern_ManagementService_DeleteMachineKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"users", "user_id", "keys", "key_id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ProjectChanges_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "changes"}, "")) + pattern_ManagementService_SearchMachineKeys_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"users", "user_id", "keys", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetUserProfile_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "profile"}, "")) + pattern_ManagementService_GetMachineKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"users", "user_id", "keys", "key_id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateUserProfile_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "profile"}, "")) + pattern_ManagementService_GetUserProfile_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "profile"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetUserEmail_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "email"}, "")) + pattern_ManagementService_UpdateUserProfile_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "profile"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ChangeUserUserName_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "username"}, "")) + pattern_ManagementService_GetUserEmail_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "email"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ChangeUserEmail_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "email"}, "")) + pattern_ManagementService_ChangeUserUserName_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "username"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ResendEmailVerificationMail_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"users", "id", "email", "_resendverification"}, "")) + pattern_ManagementService_ChangeUserEmail_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "email"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetUserPhone_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "phone"}, "")) + pattern_ManagementService_ResendEmailVerificationMail_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"users", "id", "email", "_resendverification"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ChangeUserPhone_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "phone"}, "")) + pattern_ManagementService_GetUserPhone_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "phone"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RemoveUserPhone_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "phone"}, "")) + pattern_ManagementService_ChangeUserPhone_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "phone"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ResendPhoneVerificationCode_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"users", "id", "phone", "_resendverification"}, "")) + pattern_ManagementService_RemoveUserPhone_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "phone"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetUserAddress_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "address"}, "")) + pattern_ManagementService_ResendPhoneVerificationCode_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"users", "id", "phone", "_resendverification"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateUserAddress_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "address"}, "")) + pattern_ManagementService_GetUserAddress_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "address"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetUserMfas_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "mfas"}, "")) + pattern_ManagementService_UpdateUserAddress_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "address"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SendSetPasswordNotification_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"users", "id", "password", "_sendsetnotification"}, "")) + pattern_ManagementService_UpdateUserMachine_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "machine"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SetInitialPassword_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"users", "id", "password", "_initialize"}, "")) + pattern_ManagementService_GetUserMfas_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "mfas"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchUserMemberships_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"users", "user_id", "memberships", "_search"}, "")) + pattern_ManagementService_SendSetPasswordNotification_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"users", "id", "password", "_sendsetnotification"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetPasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "complexity"}, "")) + pattern_ManagementService_SetInitialPassword_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"users", "id", "password", "_initialize"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetDefaultPasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"policies", "passwords", "complexity", "default"}, "")) + pattern_ManagementService_SearchUserMemberships_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"users", "user_id", "memberships", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreatePasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "complexity"}, "")) + pattern_ManagementService_GetPasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "complexity"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdatePasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "complexity"}, "")) + pattern_ManagementService_GetDefaultPasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"policies", "passwords", "complexity", "default"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeletePasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "complexity"}, "")) + pattern_ManagementService_CreatePasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "complexity"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetPasswordAgePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "age"}, "")) + pattern_ManagementService_UpdatePasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "complexity"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreatePasswordAgePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "age"}, "")) + pattern_ManagementService_DeletePasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "complexity"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdatePasswordAgePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "age"}, "")) + pattern_ManagementService_GetPasswordAgePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "age"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeletePasswordAgePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "age"}, "")) + pattern_ManagementService_CreatePasswordAgePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "age"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetPasswordLockoutPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "lockout"}, "")) + pattern_ManagementService_UpdatePasswordAgePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "age"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreatePasswordLockoutPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "lockout"}, "")) + pattern_ManagementService_DeletePasswordAgePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "age"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdatePasswordLockoutPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "lockout"}, "")) + pattern_ManagementService_GetPasswordLockoutPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "lockout"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeletePasswordLockoutPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "lockout"}, "")) + pattern_ManagementService_CreatePasswordLockoutPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "lockout"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreateOrg_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"orgs"}, "")) + pattern_ManagementService_UpdatePasswordLockoutPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "lockout"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetMyOrg_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"orgs", "me"}, "")) + pattern_ManagementService_DeletePasswordLockoutPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "lockout"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetOrgByDomainGlobal_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"global", "orgs", "_bydomain"}, "")) + pattern_ManagementService_CreateOrg_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"orgs"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeactivateMyOrg_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"orgs", "me", "_deactivate"}, "")) + pattern_ManagementService_OrgChanges_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"orgs", "id", "changes"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ReactivateMyOrg_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"orgs", "me", "_reactivate"}, "")) + pattern_ManagementService_GetMyOrg_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"orgs", "me"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchMyOrgDomains_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"orgs", "me", "domains", "_search"}, "")) + pattern_ManagementService_GetOrgByDomainGlobal_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"global", "orgs", "_bydomain"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_AddMyOrgDomain_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"orgs", "me", "domains"}, "")) + pattern_ManagementService_DeactivateMyOrg_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"orgs", "me", "_deactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GenerateMyOrgDomainValidation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"orgs", "me", "domains", "domain", "validation", "create"}, "")) + pattern_ManagementService_ReactivateMyOrg_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"orgs", "me", "_reactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ValidateMyOrgDomain_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"orgs", "me", "domains", "domain", "validation", "check"}, "")) + pattern_ManagementService_SearchMyOrgDomains_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"orgs", "me", "domains", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SetMyPrimaryOrgDomain_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"orgs", "me", "domains", "domain", "_primary"}, "")) + pattern_ManagementService_AddMyOrgDomain_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"orgs", "me", "domains"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RemoveMyOrgDomain_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"orgs", "me", "domains", "domain"}, "")) + pattern_ManagementService_GenerateMyOrgDomainValidation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"orgs", "me", "domains", "domain", "validation", "create"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetMyOrgIamPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"orgs", "me", "iampolicy"}, "")) + pattern_ManagementService_ValidateMyOrgDomain_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"orgs", "me", "domains", "domain", "validation", "check"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetOrgMemberRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"orgs", "members", "roles"}, "")) + pattern_ManagementService_SetMyPrimaryOrgDomain_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"orgs", "me", "domains", "domain", "_primary"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_AddMyOrgMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"orgs", "me", "members"}, "")) + pattern_ManagementService_RemoveMyOrgDomain_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"orgs", "me", "domains", "domain"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ChangeMyOrgMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"orgs", "me", "members", "user_id"}, "")) + pattern_ManagementService_GetMyOrgIamPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"orgs", "me", "iampolicy"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RemoveMyOrgMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"orgs", "me", "members", "user_id"}, "")) + pattern_ManagementService_GetOrgMemberRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"orgs", "members", "roles"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchMyOrgMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"orgs", "me", "members", "_search"}, "")) + pattern_ManagementService_AddMyOrgMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"orgs", "me", "members"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchProjects_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"projects", "_search"}, "")) + pattern_ManagementService_ChangeMyOrgMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"orgs", "me", "members", "user_id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ProjectByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"projects", "id"}, "")) + pattern_ManagementService_RemoveMyOrgMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"orgs", "me", "members", "user_id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"projects"}, "")) + pattern_ManagementService_SearchMyOrgMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"orgs", "me", "members", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"projects", "id"}, "")) + pattern_ManagementService_ProjectChanges_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "changes"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeactivateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "_deactivate"}, "")) + pattern_ManagementService_SearchProjects_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"projects", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ReactivateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "_reactivate"}, "")) + pattern_ManagementService_ProjectByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"projects", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RemoveProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"projects", "id"}, "")) + pattern_ManagementService_CreateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"projects"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchGrantedProjects_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"grantedprojects", "_search"}, "")) + pattern_ManagementService_UpdateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"projects", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetGrantedProjectByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"grantedprojects", "project_id", "grants", "id"}, "")) + pattern_ManagementService_DeactivateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "_deactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetProjectMemberRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"projects", "members", "roles"}, "")) + pattern_ManagementService_ReactivateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "_reactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchProjectMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "project_id", "members", "_search"}, "")) + pattern_ManagementService_RemoveProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"projects", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_AddProjectMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "members"}, "")) + pattern_ManagementService_SearchGrantedProjects_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"grantedprojects", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ChangeProjectMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "id", "members", "user_id"}, "")) + pattern_ManagementService_GetGrantedProjectByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"grantedprojects", "project_id", "grants", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RemoveProjectMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "id", "members", "user_id"}, "")) + pattern_ManagementService_GetProjectMemberRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"projects", "members", "roles"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchProjectRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "project_id", "roles", "_search"}, "")) + pattern_ManagementService_SearchProjectMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "project_id", "members", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_AddProjectRole_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "roles"}, "")) + pattern_ManagementService_AddProjectMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "members"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_BulkAddProjectRole_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "id", "roles", "_bulk"}, "")) + pattern_ManagementService_ChangeProjectMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "id", "members", "user_id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ChangeProjectRole_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "id", "roles", "key"}, "")) + pattern_ManagementService_RemoveProjectMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "id", "members", "user_id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RemoveProjectRole_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "id", "roles", "key"}, "")) + pattern_ManagementService_SearchProjectRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "project_id", "roles", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchApplications_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "project_id", "applications", "_search"}, "")) + pattern_ManagementService_AddProjectRole_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "roles"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ApplicationByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "applications", "id"}, "")) + pattern_ManagementService_BulkAddProjectRole_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "id", "roles", "_bulk"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreateOIDCApplication_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "project_id", "applications", "oidc"}, "")) + pattern_ManagementService_ChangeProjectRole_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "id", "roles", "key"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateApplication_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "applications", "id"}, "")) + pattern_ManagementService_RemoveProjectRole_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "id", "roles", "key"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeactivateApplication_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "applications", "id", "_deactivate"}, "")) + pattern_ManagementService_SearchApplications_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "project_id", "applications", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ReactivateApplication_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "applications", "id", "_reactivate"}, "")) + pattern_ManagementService_ApplicationByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "applications", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RemoveApplication_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "applications", "id"}, "")) + pattern_ManagementService_ApplicationChanges_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "id", "applications", "sec_id", "changes"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateApplicationOIDCConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "applications", "application_id", "oidcconfig"}, "")) + pattern_ManagementService_CreateOIDCApplication_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "project_id", "applications", "oidc"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RegenerateOIDCClientSecret_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"projects", "project_id", "applications", "id", "oidcconfig", "_changeclientsecret"}, "")) + pattern_ManagementService_UpdateApplication_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "applications", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchProjectGrants_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "project_id", "grants", "_search"}, "")) + pattern_ManagementService_DeactivateApplication_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "applications", "id", "_deactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ProjectGrantByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "grants", "id"}, "")) + pattern_ManagementService_ReactivateApplication_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "applications", "id", "_reactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreateProjectGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "project_id", "grants"}, "")) + pattern_ManagementService_RemoveApplication_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "applications", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateProjectGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "grants", "id"}, "")) + pattern_ManagementService_UpdateApplicationOIDCConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "applications", "application_id", "oidcconfig"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeactivateProjectGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "grants", "id", "_deactivate"}, "")) + pattern_ManagementService_RegenerateOIDCClientSecret_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"projects", "project_id", "applications", "id", "oidcconfig", "_changeclientsecret"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ReactivateProjectGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "grants", "id", "_reactivate"}, "")) + pattern_ManagementService_SearchProjectGrants_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "project_id", "grants", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RemoveProjectGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "grants", "id"}, "")) + pattern_ManagementService_ProjectGrantByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "grants", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetProjectGrantMemberRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"projects", "grants", "members", "roles"}, "")) + pattern_ManagementService_CreateProjectGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "project_id", "grants"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchProjectGrantMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"projects", "project_id", "grants", "grant_id", "members", "_search"}, "")) + pattern_ManagementService_UpdateProjectGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "grants", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_AddProjectGrantMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "grants", "grant_id", "members"}, "")) + pattern_ManagementService_DeactivateProjectGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "grants", "id", "_deactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ChangeProjectGrantMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"projects", "project_id", "grants", "grant_id", "members", "user_id"}, "")) + pattern_ManagementService_ReactivateProjectGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "grants", "id", "_reactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RemoveProjectGrantMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"projects", "project_id", "grants", "grant_id", "members", "user_id"}, "")) + pattern_ManagementService_RemoveProjectGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "grants", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchUserGrants_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"users", "grants", "_search"}, "")) + pattern_ManagementService_GetProjectGrantMemberRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"projects", "grants", "members", "roles"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UserGrantByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"users", "user_id", "grants", "id"}, "")) + pattern_ManagementService_SearchProjectGrantMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"projects", "project_id", "grants", "grant_id", "members", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreateUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "user_id", "grants"}, "")) + pattern_ManagementService_AddProjectGrantMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "grants", "grant_id", "members"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"users", "user_id", "grants", "id"}, "")) + pattern_ManagementService_ChangeProjectGrantMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"projects", "project_id", "grants", "grant_id", "members", "user_id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeactivateUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"users", "user_id", "grants", "id", "_deactivate"}, "")) + pattern_ManagementService_RemoveProjectGrantMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"projects", "project_id", "grants", "grant_id", "members", "user_id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ReactivateUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"users", "user_id", "grants", "id", "_reactivate"}, "")) + pattern_ManagementService_SearchUserGrants_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"users", "grants", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RemoveUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"users", "user_id", "grants", "id"}, "")) + pattern_ManagementService_UserGrantByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"users", "user_id", "grants", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_BulkRemoveUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"usersgrants", "_bulk"}, "")) + pattern_ManagementService_CreateUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "user_id", "grants"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_IdpByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"orgs", "me", "idps", "id"}, "")) + pattern_ManagementService_UpdateUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"users", "user_id", "grants", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreateOidcIdp_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"orgs", "me", "idps", "oidc"}, "")) + pattern_ManagementService_DeactivateUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"users", "user_id", "grants", "id", "_deactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"orgs", "me", "idps", "id"}, "")) + pattern_ManagementService_ReactivateUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"users", "user_id", "grants", "id", "_reactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeactivateIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"orgs", "me", "idps", "id", "_deactivate"}, "")) + pattern_ManagementService_RemoveUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"users", "user_id", "grants", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ReactivateIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"orgs", "me", "idps", "id", "_reactivate"}, "")) + pattern_ManagementService_BulkRemoveUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"usersgrants", "_bulk"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RemoveIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"orgs", "me", "idps", "id"}, "")) + pattern_ManagementService_IdpByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"orgs", "me", "idps", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateOidcIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"orgs", "me", "idps", "idp_id", "oidcconfig"}, "")) + pattern_ManagementService_CreateOidcIdp_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"orgs", "me", "idps", "oidc"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchIdps_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"orgs", "me", "idps", "_search"}, "")) + pattern_ManagementService_UpdateIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"orgs", "me", "idps", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"orgs", "me", "policies", "login"}, "")) + pattern_ManagementService_DeactivateIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"orgs", "me", "idps", "id", "_deactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreateLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"orgs", "me", "policies", "login"}, "")) + pattern_ManagementService_ReactivateIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"orgs", "me", "idps", "id", "_reactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"orgs", "me", "policies", "login"}, "")) + pattern_ManagementService_RemoveIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"orgs", "me", "idps", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RemoveLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"orgs", "me", "policies", "login"}, "")) + pattern_ManagementService_UpdateOidcIdpConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"orgs", "me", "idps", "idp_id", "oidcconfig"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetLoginPolicyIdpProviders_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5}, []string{"orgs", "me", "policies", "login", "idpproviders", "_search"}, "")) + pattern_ManagementService_SearchIdps_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"orgs", "me", "idps", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_AddIdpProviderToLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"orgs", "me", "policies", "login", "idpproviders"}, "")) + pattern_ManagementService_GetLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"orgs", "me", "policies", "login"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RemoveIdpProviderFromLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"orgs", "me", "policies", "login", "idpproviders", "idp_config_id"}, "")) + pattern_ManagementService_CreateLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"orgs", "me", "policies", "login"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_ManagementService_UpdateLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"orgs", "me", "policies", "login"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_ManagementService_RemoveLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"orgs", "me", "policies", "login"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_ManagementService_GetLoginPolicyIdpProviders_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5}, []string{"orgs", "me", "policies", "login", "idpproviders", "_search"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_ManagementService_AddIdpProviderToLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"orgs", "me", "policies", "login", "idpproviders"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_ManagementService_RemoveIdpProviderFromLoginPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"orgs", "me", "policies", "login", "idpproviders", "idp_config_id"}, "", runtime.AssumeColonVerbOpt(true))) ) var ( @@ -6506,14 +13245,14 @@ var ( forward_ManagementService_GetIam_0 = runtime.ForwardResponseMessage + forward_ManagementService_IsUserUnique_0 = runtime.ForwardResponseMessage + forward_ManagementService_GetUserByID_0 = runtime.ForwardResponseMessage forward_ManagementService_GetUserByLoginNameGlobal_0 = runtime.ForwardResponseMessage forward_ManagementService_SearchUsers_0 = runtime.ForwardResponseMessage - forward_ManagementService_IsUserUnique_0 = runtime.ForwardResponseMessage - forward_ManagementService_CreateUser_0 = runtime.ForwardResponseMessage forward_ManagementService_DeactivateUser_0 = runtime.ForwardResponseMessage @@ -6528,11 +13267,13 @@ var ( forward_ManagementService_UserChanges_0 = runtime.ForwardResponseMessage - forward_ManagementService_ApplicationChanges_0 = runtime.ForwardResponseMessage + forward_ManagementService_AddMachineKey_0 = runtime.ForwardResponseMessage - forward_ManagementService_OrgChanges_0 = runtime.ForwardResponseMessage + forward_ManagementService_DeleteMachineKey_0 = runtime.ForwardResponseMessage - forward_ManagementService_ProjectChanges_0 = runtime.ForwardResponseMessage + forward_ManagementService_SearchMachineKeys_0 = runtime.ForwardResponseMessage + + forward_ManagementService_GetMachineKey_0 = runtime.ForwardResponseMessage forward_ManagementService_GetUserProfile_0 = runtime.ForwardResponseMessage @@ -6558,6 +13299,8 @@ var ( forward_ManagementService_UpdateUserAddress_0 = runtime.ForwardResponseMessage + forward_ManagementService_UpdateUserMachine_0 = runtime.ForwardResponseMessage + forward_ManagementService_GetUserMfas_0 = runtime.ForwardResponseMessage forward_ManagementService_SendSetPasswordNotification_0 = runtime.ForwardResponseMessage @@ -6594,6 +13337,8 @@ var ( forward_ManagementService_CreateOrg_0 = runtime.ForwardResponseMessage + forward_ManagementService_OrgChanges_0 = runtime.ForwardResponseMessage + forward_ManagementService_GetMyOrg_0 = runtime.ForwardResponseMessage forward_ManagementService_GetOrgByDomainGlobal_0 = runtime.ForwardResponseMessage @@ -6626,6 +13371,8 @@ var ( forward_ManagementService_SearchMyOrgMembers_0 = runtime.ForwardResponseMessage + forward_ManagementService_ProjectChanges_0 = runtime.ForwardResponseMessage + forward_ManagementService_SearchProjects_0 = runtime.ForwardResponseMessage forward_ManagementService_ProjectByID_0 = runtime.ForwardResponseMessage @@ -6668,6 +13415,8 @@ var ( forward_ManagementService_ApplicationByID_0 = runtime.ForwardResponseMessage + forward_ManagementService_ApplicationChanges_0 = runtime.ForwardResponseMessage + forward_ManagementService_CreateOIDCApplication_0 = runtime.ForwardResponseMessage forward_ManagementService_UpdateApplication_0 = runtime.ForwardResponseMessage diff --git a/pkg/grpc/management/management.pb.validate.go b/pkg/grpc/management/management.pb.validate.go new file mode 100644 index 0000000000..7edc452aa0 --- /dev/null +++ b/pkg/grpc/management/management.pb.validate.go @@ -0,0 +1,14991 @@ +// Code generated by protoc-gen-validate. DO NOT EDIT. +// source: management.proto + +package management + +import ( + "bytes" + "errors" + "fmt" + "net" + "net/mail" + "net/url" + "regexp" + "strings" + "time" + "unicode/utf8" + + "github.com/golang/protobuf/ptypes" +) + +// ensure the imports are used +var ( + _ = bytes.MinRead + _ = errors.New("") + _ = fmt.Print + _ = utf8.UTFMax + _ = (*regexp.Regexp)(nil) + _ = (*strings.Reader)(nil) + _ = net.IPv4len + _ = time.Duration(0) + _ = (*url.URL)(nil) + _ = (*mail.Address)(nil) + _ = ptypes.DynamicAny{} +) + +// define the regex for a UUID once up-front +var _management_uuidPattern = regexp.MustCompile("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$") + +// Validate checks the field values on ZitadelDocs with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *ZitadelDocs) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Issuer + + // no validation rules for DiscoveryEndpoint + + return nil +} + +// ZitadelDocsValidationError is the validation error returned by +// ZitadelDocs.Validate if the designated constraints aren't met. +type ZitadelDocsValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ZitadelDocsValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ZitadelDocsValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ZitadelDocsValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ZitadelDocsValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ZitadelDocsValidationError) ErrorName() string { return "ZitadelDocsValidationError" } + +// Error satisfies the builtin error interface +func (e ZitadelDocsValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sZitadelDocs.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ZitadelDocsValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ZitadelDocsValidationError{} + +// Validate checks the field values on Iam with the rules defined in the proto +// definition for this message. If any rules are violated, an error is returned. +func (m *Iam) Validate() error { + if m == nil { + return nil + } + + // no validation rules for GlobalOrgId + + // no validation rules for IamProjectId + + // no validation rules for SetUpDone + + // no validation rules for SetUpStarted + + return nil +} + +// IamValidationError is the validation error returned by Iam.Validate if the +// designated constraints aren't met. +type IamValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IamValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IamValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IamValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IamValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IamValidationError) ErrorName() string { return "IamValidationError" } + +// Error satisfies the builtin error interface +func (e IamValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIam.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IamValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IamValidationError{} + +// Validate checks the field values on ChangeRequest with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *ChangeRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for SecId + + // no validation rules for Limit + + // no validation rules for SequenceOffset + + // no validation rules for Asc + + return nil +} + +// ChangeRequestValidationError is the validation error returned by +// ChangeRequest.Validate if the designated constraints aren't met. +type ChangeRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ChangeRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ChangeRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ChangeRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ChangeRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ChangeRequestValidationError) ErrorName() string { return "ChangeRequestValidationError" } + +// Error satisfies the builtin error interface +func (e ChangeRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sChangeRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ChangeRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ChangeRequestValidationError{} + +// Validate checks the field values on Changes with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *Changes) Validate() error { + if m == nil { + return nil + } + + for idx, item := range m.GetChanges() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ChangesValidationError{ + field: fmt.Sprintf("Changes[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for Offset + + // no validation rules for Limit + + return nil +} + +// ChangesValidationError is the validation error returned by Changes.Validate +// if the designated constraints aren't met. +type ChangesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ChangesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ChangesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ChangesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ChangesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ChangesValidationError) ErrorName() string { return "ChangesValidationError" } + +// Error satisfies the builtin error interface +func (e ChangesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sChanges.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ChangesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ChangesValidationError{} + +// Validate checks the field values on Change with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *Change) Validate() error { + if m == nil { + return nil + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ChangeValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetEventType()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ChangeValidationError{ + field: "EventType", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + // no validation rules for EditorId + + // no validation rules for Editor + + if v, ok := interface{}(m.GetData()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ChangeValidationError{ + field: "Data", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// ChangeValidationError is the validation error returned by Change.Validate if +// the designated constraints aren't met. +type ChangeValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ChangeValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ChangeValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ChangeValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ChangeValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ChangeValidationError) ErrorName() string { return "ChangeValidationError" } + +// Error satisfies the builtin error interface +func (e ChangeValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sChange.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ChangeValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ChangeValidationError{} + +// Validate checks the field values on ApplicationID with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *ApplicationID) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return ApplicationIDValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetProjectId()) < 1 { + return ApplicationIDValidationError{ + field: "ProjectId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// ApplicationIDValidationError is the validation error returned by +// ApplicationID.Validate if the designated constraints aren't met. +type ApplicationIDValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ApplicationIDValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ApplicationIDValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ApplicationIDValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ApplicationIDValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ApplicationIDValidationError) ErrorName() string { return "ApplicationIDValidationError" } + +// Error satisfies the builtin error interface +func (e ApplicationIDValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sApplicationID.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ApplicationIDValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ApplicationIDValidationError{} + +// Validate checks the field values on ProjectID with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *ProjectID) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return ProjectIDValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// ProjectIDValidationError is the validation error returned by +// ProjectID.Validate if the designated constraints aren't met. +type ProjectIDValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectIDValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectIDValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectIDValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectIDValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectIDValidationError) ErrorName() string { return "ProjectIDValidationError" } + +// Error satisfies the builtin error interface +func (e ProjectIDValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectID.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectIDValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectIDValidationError{} + +// Validate checks the field values on UserID with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *UserID) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return UserIDValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// UserIDValidationError is the validation error returned by UserID.Validate if +// the designated constraints aren't met. +type UserIDValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserIDValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserIDValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserIDValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserIDValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserIDValidationError) ErrorName() string { return "UserIDValidationError" } + +// Error satisfies the builtin error interface +func (e UserIDValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserID.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserIDValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserIDValidationError{} + +// Validate checks the field values on LoginName with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *LoginName) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetLoginName()) < 1 { + return LoginNameValidationError{ + field: "LoginName", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// LoginNameValidationError is the validation error returned by +// LoginName.Validate if the designated constraints aren't met. +type LoginNameValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e LoginNameValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e LoginNameValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e LoginNameValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e LoginNameValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e LoginNameValidationError) ErrorName() string { return "LoginNameValidationError" } + +// Error satisfies the builtin error interface +func (e LoginNameValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sLoginName.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = LoginNameValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = LoginNameValidationError{} + +// Validate checks the field values on UniqueUserRequest with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *UniqueUserRequest) Validate() error { + if m == nil { + return nil + } + + if !_UniqueUserRequest_UserName_Pattern.MatchString(m.GetUserName()) { + return UniqueUserRequestValidationError{ + field: "UserName", + reason: "value does not match regex pattern \"^[^[:space:]]{1,200}$\"", + } + } + + if l := utf8.RuneCountInString(m.GetEmail()); l < 1 || l > 200 { + return UniqueUserRequestValidationError{ + field: "Email", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + return nil +} + +// UniqueUserRequestValidationError is the validation error returned by +// UniqueUserRequest.Validate if the designated constraints aren't met. +type UniqueUserRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UniqueUserRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UniqueUserRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UniqueUserRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UniqueUserRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UniqueUserRequestValidationError) ErrorName() string { + return "UniqueUserRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e UniqueUserRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUniqueUserRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UniqueUserRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UniqueUserRequestValidationError{} + +var _UniqueUserRequest_UserName_Pattern = regexp.MustCompile("^[^[:space:]]{1,200}$") + +// Validate checks the field values on UniqueUserResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UniqueUserResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for IsUnique + + return nil +} + +// UniqueUserResponseValidationError is the validation error returned by +// UniqueUserResponse.Validate if the designated constraints aren't met. +type UniqueUserResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UniqueUserResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UniqueUserResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UniqueUserResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UniqueUserResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UniqueUserResponseValidationError) ErrorName() string { + return "UniqueUserResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e UniqueUserResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUniqueUserResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UniqueUserResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UniqueUserResponseValidationError{} + +// Validate checks the field values on CreateUserRequest with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *CreateUserRequest) Validate() error { + if m == nil { + return nil + } + + if !_CreateUserRequest_UserName_Pattern.MatchString(m.GetUserName()) { + return CreateUserRequestValidationError{ + field: "UserName", + reason: "value does not match regex pattern \"^[^[:space:]]{1,200}$\"", + } + } + + switch m.User.(type) { + + case *CreateUserRequest_Human: + + if v, ok := interface{}(m.GetHuman()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return CreateUserRequestValidationError{ + field: "Human", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *CreateUserRequest_Machine: + + if v, ok := interface{}(m.GetMachine()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return CreateUserRequestValidationError{ + field: "Machine", + reason: "embedded message failed validation", + cause: err, + } + } + } + + default: + return CreateUserRequestValidationError{ + field: "User", + reason: "value is required", + } + + } + + return nil +} + +// CreateUserRequestValidationError is the validation error returned by +// CreateUserRequest.Validate if the designated constraints aren't met. +type CreateUserRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e CreateUserRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e CreateUserRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e CreateUserRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e CreateUserRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e CreateUserRequestValidationError) ErrorName() string { + return "CreateUserRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e CreateUserRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sCreateUserRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = CreateUserRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = CreateUserRequestValidationError{} + +var _CreateUserRequest_UserName_Pattern = regexp.MustCompile("^[^[:space:]]{1,200}$") + +// Validate checks the field values on CreateHumanRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *CreateHumanRequest) Validate() error { + if m == nil { + return nil + } + + if l := utf8.RuneCountInString(m.GetFirstName()); l < 1 || l > 200 { + return CreateHumanRequestValidationError{ + field: "FirstName", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + if l := utf8.RuneCountInString(m.GetLastName()); l < 1 || l > 200 { + return CreateHumanRequestValidationError{ + field: "LastName", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + if utf8.RuneCountInString(m.GetNickName()) > 200 { + return CreateHumanRequestValidationError{ + field: "NickName", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetPreferredLanguage()) > 200 { + return CreateHumanRequestValidationError{ + field: "PreferredLanguage", + reason: "value length must be at most 200 runes", + } + } + + // no validation rules for Gender + + if l := utf8.RuneCountInString(m.GetEmail()); l < 1 || l > 200 { + return CreateHumanRequestValidationError{ + field: "Email", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + if err := m._validateEmail(m.GetEmail()); err != nil { + return CreateHumanRequestValidationError{ + field: "Email", + reason: "value must be a valid email address", + cause: err, + } + } + + // no validation rules for IsEmailVerified + + if utf8.RuneCountInString(m.GetPhone()) > 20 { + return CreateHumanRequestValidationError{ + field: "Phone", + reason: "value length must be at most 20 runes", + } + } + + // no validation rules for IsPhoneVerified + + if utf8.RuneCountInString(m.GetCountry()) > 200 { + return CreateHumanRequestValidationError{ + field: "Country", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetLocality()) > 200 { + return CreateHumanRequestValidationError{ + field: "Locality", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetPostalCode()) > 200 { + return CreateHumanRequestValidationError{ + field: "PostalCode", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetRegion()) > 200 { + return CreateHumanRequestValidationError{ + field: "Region", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetStreetAddress()) > 200 { + return CreateHumanRequestValidationError{ + field: "StreetAddress", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetPassword()) > 72 { + return CreateHumanRequestValidationError{ + field: "Password", + reason: "value length must be at most 72 runes", + } + } + + return nil +} + +func (m *CreateHumanRequest) _validateHostname(host string) error { + s := strings.ToLower(strings.TrimSuffix(host, ".")) + + if len(host) > 253 { + return errors.New("hostname cannot exceed 253 characters") + } + + for _, part := range strings.Split(s, ".") { + if l := len(part); l == 0 || l > 63 { + return errors.New("hostname part must be non-empty and cannot exceed 63 characters") + } + + if part[0] == '-' { + return errors.New("hostname parts cannot begin with hyphens") + } + + if part[len(part)-1] == '-' { + return errors.New("hostname parts cannot end with hyphens") + } + + for _, r := range part { + if (r < 'a' || r > 'z') && (r < '0' || r > '9') && r != '-' { + return fmt.Errorf("hostname parts can only contain alphanumeric characters or hyphens, got %q", string(r)) + } + } + } + + return nil +} + +func (m *CreateHumanRequest) _validateEmail(addr string) error { + a, err := mail.ParseAddress(addr) + if err != nil { + return err + } + addr = a.Address + + if len(addr) > 254 { + return errors.New("email addresses cannot exceed 254 characters") + } + + parts := strings.SplitN(addr, "@", 2) + + if len(parts[0]) > 64 { + return errors.New("email address local phrase cannot exceed 64 characters") + } + + return m._validateHostname(parts[1]) +} + +// CreateHumanRequestValidationError is the validation error returned by +// CreateHumanRequest.Validate if the designated constraints aren't met. +type CreateHumanRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e CreateHumanRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e CreateHumanRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e CreateHumanRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e CreateHumanRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e CreateHumanRequestValidationError) ErrorName() string { + return "CreateHumanRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e CreateHumanRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sCreateHumanRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = CreateHumanRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = CreateHumanRequestValidationError{} + +// Validate checks the field values on CreateMachineRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *CreateMachineRequest) Validate() error { + if m == nil { + return nil + } + + if l := utf8.RuneCountInString(m.GetName()); l < 1 || l > 200 { + return CreateMachineRequestValidationError{ + field: "Name", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + if utf8.RuneCountInString(m.GetDescription()) > 500 { + return CreateMachineRequestValidationError{ + field: "Description", + reason: "value length must be at most 500 runes", + } + } + + return nil +} + +// CreateMachineRequestValidationError is the validation error returned by +// CreateMachineRequest.Validate if the designated constraints aren't met. +type CreateMachineRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e CreateMachineRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e CreateMachineRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e CreateMachineRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e CreateMachineRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e CreateMachineRequestValidationError) ErrorName() string { + return "CreateMachineRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e CreateMachineRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sCreateMachineRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = CreateMachineRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = CreateMachineRequestValidationError{} + +// Validate checks the field values on UserResponse with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *UserResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserResponseValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserResponseValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + // no validation rules for UserName + + switch m.User.(type) { + + case *UserResponse_Human: + + if v, ok := interface{}(m.GetHuman()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserResponseValidationError{ + field: "Human", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *UserResponse_Machine: + + if v, ok := interface{}(m.GetMachine()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserResponseValidationError{ + field: "Machine", + reason: "embedded message failed validation", + cause: err, + } + } + } + + default: + return UserResponseValidationError{ + field: "User", + reason: "value is required", + } + + } + + return nil +} + +// UserResponseValidationError is the validation error returned by +// UserResponse.Validate if the designated constraints aren't met. +type UserResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserResponseValidationError) ErrorName() string { return "UserResponseValidationError" } + +// Error satisfies the builtin error interface +func (e UserResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserResponseValidationError{} + +// Validate checks the field values on UserView with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *UserView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + // no validation rules for PreferredLoginName + + if v, ok := interface{}(m.GetLastLogin()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserViewValidationError{ + field: "LastLogin", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for ResourceOwner + + // no validation rules for UserName + + switch m.User.(type) { + + case *UserView_Human: + + if v, ok := interface{}(m.GetHuman()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserViewValidationError{ + field: "Human", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *UserView_Machine: + + if v, ok := interface{}(m.GetMachine()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserViewValidationError{ + field: "Machine", + reason: "embedded message failed validation", + cause: err, + } + } + } + + default: + return UserViewValidationError{ + field: "User", + reason: "value is required", + } + + } + + return nil +} + +// UserViewValidationError is the validation error returned by +// UserView.Validate if the designated constraints aren't met. +type UserViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserViewValidationError) ErrorName() string { return "UserViewValidationError" } + +// Error satisfies the builtin error interface +func (e UserViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserViewValidationError{} + +// Validate checks the field values on HumanResponse with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *HumanResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for FirstName + + // no validation rules for LastName + + // no validation rules for DisplayName + + // no validation rules for NickName + + // no validation rules for PreferredLanguage + + // no validation rules for Gender + + // no validation rules for Email + + // no validation rules for IsEmailVerified + + // no validation rules for Phone + + // no validation rules for IsPhoneVerified + + // no validation rules for Country + + // no validation rules for Locality + + // no validation rules for PostalCode + + // no validation rules for Region + + // no validation rules for StreetAddress + + return nil +} + +// HumanResponseValidationError is the validation error returned by +// HumanResponse.Validate if the designated constraints aren't met. +type HumanResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e HumanResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e HumanResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e HumanResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e HumanResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e HumanResponseValidationError) ErrorName() string { return "HumanResponseValidationError" } + +// Error satisfies the builtin error interface +func (e HumanResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sHumanResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = HumanResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = HumanResponseValidationError{} + +// Validate checks the field values on HumanView with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *HumanView) Validate() error { + if m == nil { + return nil + } + + if v, ok := interface{}(m.GetPasswordChanged()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return HumanViewValidationError{ + field: "PasswordChanged", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for FirstName + + // no validation rules for LastName + + // no validation rules for DisplayName + + // no validation rules for NickName + + // no validation rules for PreferredLanguage + + // no validation rules for Gender + + // no validation rules for Email + + // no validation rules for IsEmailVerified + + // no validation rules for Phone + + // no validation rules for IsPhoneVerified + + // no validation rules for Country + + // no validation rules for Locality + + // no validation rules for PostalCode + + // no validation rules for Region + + // no validation rules for StreetAddress + + return nil +} + +// HumanViewValidationError is the validation error returned by +// HumanView.Validate if the designated constraints aren't met. +type HumanViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e HumanViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e HumanViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e HumanViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e HumanViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e HumanViewValidationError) ErrorName() string { return "HumanViewValidationError" } + +// Error satisfies the builtin error interface +func (e HumanViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sHumanView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = HumanViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = HumanViewValidationError{} + +// Validate checks the field values on MachineResponse with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *MachineResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Name + + // no validation rules for Description + + return nil +} + +// MachineResponseValidationError is the validation error returned by +// MachineResponse.Validate if the designated constraints aren't met. +type MachineResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MachineResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MachineResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MachineResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MachineResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MachineResponseValidationError) ErrorName() string { return "MachineResponseValidationError" } + +// Error satisfies the builtin error interface +func (e MachineResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMachineResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MachineResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MachineResponseValidationError{} + +// Validate checks the field values on MachineView with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *MachineView) Validate() error { + if m == nil { + return nil + } + + if v, ok := interface{}(m.GetLastKeyAdded()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MachineViewValidationError{ + field: "LastKeyAdded", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Name + + // no validation rules for Description + + return nil +} + +// MachineViewValidationError is the validation error returned by +// MachineView.Validate if the designated constraints aren't met. +type MachineViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MachineViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MachineViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MachineViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MachineViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MachineViewValidationError) ErrorName() string { return "MachineViewValidationError" } + +// Error satisfies the builtin error interface +func (e MachineViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMachineView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MachineViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MachineViewValidationError{} + +// Validate checks the field values on UpdateMachineRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UpdateMachineRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return UpdateMachineRequestValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetDescription()) > 500 { + return UpdateMachineRequestValidationError{ + field: "Description", + reason: "value length must be at most 500 runes", + } + } + + return nil +} + +// UpdateMachineRequestValidationError is the validation error returned by +// UpdateMachineRequest.Validate if the designated constraints aren't met. +type UpdateMachineRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateMachineRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateMachineRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateMachineRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateMachineRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateMachineRequestValidationError) ErrorName() string { + return "UpdateMachineRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateMachineRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUpdateMachineRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateMachineRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateMachineRequestValidationError{} + +// Validate checks the field values on AddMachineKeyRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *AddMachineKeyRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return AddMachineKeyRequestValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + if _, ok := _AddMachineKeyRequest_Type_NotInLookup[m.GetType()]; ok { + return AddMachineKeyRequestValidationError{ + field: "Type", + reason: "value must not be in list [0]", + } + } + + if v, ok := interface{}(m.GetExpirationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return AddMachineKeyRequestValidationError{ + field: "ExpirationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// AddMachineKeyRequestValidationError is the validation error returned by +// AddMachineKeyRequest.Validate if the designated constraints aren't met. +type AddMachineKeyRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e AddMachineKeyRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e AddMachineKeyRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e AddMachineKeyRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e AddMachineKeyRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e AddMachineKeyRequestValidationError) ErrorName() string { + return "AddMachineKeyRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e AddMachineKeyRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sAddMachineKeyRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = AddMachineKeyRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = AddMachineKeyRequestValidationError{} + +var _AddMachineKeyRequest_Type_NotInLookup = map[MachineKeyType]struct{}{ + 0: {}, +} + +// Validate checks the field values on AddMachineKeyResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *AddMachineKeyResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return AddMachineKeyResponseValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + // no validation rules for Type + + if v, ok := interface{}(m.GetExpirationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return AddMachineKeyResponseValidationError{ + field: "ExpirationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for KeyDetails + + return nil +} + +// AddMachineKeyResponseValidationError is the validation error returned by +// AddMachineKeyResponse.Validate if the designated constraints aren't met. +type AddMachineKeyResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e AddMachineKeyResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e AddMachineKeyResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e AddMachineKeyResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e AddMachineKeyResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e AddMachineKeyResponseValidationError) ErrorName() string { + return "AddMachineKeyResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e AddMachineKeyResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sAddMachineKeyResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = AddMachineKeyResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = AddMachineKeyResponseValidationError{} + +// Validate checks the field values on MachineKeyIDRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *MachineKeyIDRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return MachineKeyIDRequestValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetKeyId()) < 1 { + return MachineKeyIDRequestValidationError{ + field: "KeyId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// MachineKeyIDRequestValidationError is the validation error returned by +// MachineKeyIDRequest.Validate if the designated constraints aren't met. +type MachineKeyIDRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MachineKeyIDRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MachineKeyIDRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MachineKeyIDRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MachineKeyIDRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MachineKeyIDRequestValidationError) ErrorName() string { + return "MachineKeyIDRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e MachineKeyIDRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMachineKeyIDRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MachineKeyIDRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MachineKeyIDRequestValidationError{} + +// Validate checks the field values on MachineKeyView with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *MachineKeyView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Type + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MachineKeyViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetExpirationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MachineKeyViewValidationError{ + field: "ExpirationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// MachineKeyViewValidationError is the validation error returned by +// MachineKeyView.Validate if the designated constraints aren't met. +type MachineKeyViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MachineKeyViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MachineKeyViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MachineKeyViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MachineKeyViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MachineKeyViewValidationError) ErrorName() string { return "MachineKeyViewValidationError" } + +// Error satisfies the builtin error interface +func (e MachineKeyViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMachineKeyView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MachineKeyViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MachineKeyViewValidationError{} + +// Validate checks the field values on MachineKeySearchRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *MachineKeySearchRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for Asc + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return MachineKeySearchRequestValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// MachineKeySearchRequestValidationError is the validation error returned by +// MachineKeySearchRequest.Validate if the designated constraints aren't met. +type MachineKeySearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MachineKeySearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MachineKeySearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MachineKeySearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MachineKeySearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MachineKeySearchRequestValidationError) ErrorName() string { + return "MachineKeySearchRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e MachineKeySearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMachineKeySearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MachineKeySearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MachineKeySearchRequestValidationError{} + +// Validate checks the field values on MachineKeySearchResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *MachineKeySearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MachineKeySearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MachineKeySearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// MachineKeySearchResponseValidationError is the validation error returned by +// MachineKeySearchResponse.Validate if the designated constraints aren't met. +type MachineKeySearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MachineKeySearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MachineKeySearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MachineKeySearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MachineKeySearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MachineKeySearchResponseValidationError) ErrorName() string { + return "MachineKeySearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e MachineKeySearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMachineKeySearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MachineKeySearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MachineKeySearchResponseValidationError{} + +// Validate checks the field values on UserSearchRequest with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *UserSearchRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for SortingColumn + + // no validation rules for Asc + + for idx, item := range m.GetQueries() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserSearchRequestValidationError{ + field: fmt.Sprintf("Queries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// UserSearchRequestValidationError is the validation error returned by +// UserSearchRequest.Validate if the designated constraints aren't met. +type UserSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserSearchRequestValidationError) ErrorName() string { + return "UserSearchRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e UserSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserSearchRequestValidationError{} + +// Validate checks the field values on UserSearchQuery with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *UserSearchQuery) Validate() error { + if m == nil { + return nil + } + + if _, ok := _UserSearchQuery_Key_NotInLookup[m.GetKey()]; ok { + return UserSearchQueryValidationError{ + field: "Key", + reason: "value must not be in list [0]", + } + } + + // no validation rules for Method + + // no validation rules for Value + + return nil +} + +// UserSearchQueryValidationError is the validation error returned by +// UserSearchQuery.Validate if the designated constraints aren't met. +type UserSearchQueryValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserSearchQueryValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserSearchQueryValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserSearchQueryValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserSearchQueryValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserSearchQueryValidationError) ErrorName() string { return "UserSearchQueryValidationError" } + +// Error satisfies the builtin error interface +func (e UserSearchQueryValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserSearchQuery.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserSearchQueryValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserSearchQueryValidationError{} + +var _UserSearchQuery_Key_NotInLookup = map[UserSearchKey]struct{}{ + 0: {}, +} + +// Validate checks the field values on UserSearchResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UserSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserSearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// UserSearchResponseValidationError is the validation error returned by +// UserSearchResponse.Validate if the designated constraints aren't met. +type UserSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserSearchResponseValidationError) ErrorName() string { + return "UserSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e UserSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserSearchResponseValidationError{} + +// Validate checks the field values on UserProfile with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *UserProfile) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for FirstName + + // no validation rules for LastName + + // no validation rules for NickName + + // no validation rules for DisplayName + + // no validation rules for PreferredLanguage + + // no validation rules for Gender + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserProfileValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserProfileValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// UserProfileValidationError is the validation error returned by +// UserProfile.Validate if the designated constraints aren't met. +type UserProfileValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserProfileValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserProfileValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserProfileValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserProfileValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserProfileValidationError) ErrorName() string { return "UserProfileValidationError" } + +// Error satisfies the builtin error interface +func (e UserProfileValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserProfile.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserProfileValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserProfileValidationError{} + +// Validate checks the field values on UserProfileView with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *UserProfileView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for FirstName + + // no validation rules for LastName + + // no validation rules for NickName + + // no validation rules for DisplayName + + // no validation rules for PreferredLanguage + + // no validation rules for Gender + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserProfileViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserProfileViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for PreferredLoginName + + return nil +} + +// UserProfileViewValidationError is the validation error returned by +// UserProfileView.Validate if the designated constraints aren't met. +type UserProfileViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserProfileViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserProfileViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserProfileViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserProfileViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserProfileViewValidationError) ErrorName() string { return "UserProfileViewValidationError" } + +// Error satisfies the builtin error interface +func (e UserProfileViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserProfileView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserProfileViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserProfileViewValidationError{} + +// Validate checks the field values on UpdateUserProfileRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UpdateUserProfileRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + if l := utf8.RuneCountInString(m.GetFirstName()); l < 1 || l > 200 { + return UpdateUserProfileRequestValidationError{ + field: "FirstName", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + if l := utf8.RuneCountInString(m.GetLastName()); l < 1 || l > 200 { + return UpdateUserProfileRequestValidationError{ + field: "LastName", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + if utf8.RuneCountInString(m.GetNickName()) > 200 { + return UpdateUserProfileRequestValidationError{ + field: "NickName", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetPreferredLanguage()) > 200 { + return UpdateUserProfileRequestValidationError{ + field: "PreferredLanguage", + reason: "value length must be at most 200 runes", + } + } + + // no validation rules for Gender + + return nil +} + +// UpdateUserProfileRequestValidationError is the validation error returned by +// UpdateUserProfileRequest.Validate if the designated constraints aren't met. +type UpdateUserProfileRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateUserProfileRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateUserProfileRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateUserProfileRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateUserProfileRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateUserProfileRequestValidationError) ErrorName() string { + return "UpdateUserProfileRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateUserProfileRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUpdateUserProfileRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateUserProfileRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateUserProfileRequestValidationError{} + +// Validate checks the field values on UpdateUserUserNameRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UpdateUserUserNameRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + if !_UpdateUserUserNameRequest_UserName_Pattern.MatchString(m.GetUserName()) { + return UpdateUserUserNameRequestValidationError{ + field: "UserName", + reason: "value does not match regex pattern \"^[^[:space:]]{1,200}$\"", + } + } + + return nil +} + +// UpdateUserUserNameRequestValidationError is the validation error returned by +// UpdateUserUserNameRequest.Validate if the designated constraints aren't met. +type UpdateUserUserNameRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateUserUserNameRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateUserUserNameRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateUserUserNameRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateUserUserNameRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateUserUserNameRequestValidationError) ErrorName() string { + return "UpdateUserUserNameRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateUserUserNameRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUpdateUserUserNameRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateUserUserNameRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateUserUserNameRequestValidationError{} + +var _UpdateUserUserNameRequest_UserName_Pattern = regexp.MustCompile("^[^[:space:]]{1,200}$") + +// Validate checks the field values on UserEmail with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *UserEmail) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Email + + // no validation rules for IsEmailVerified + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserEmailValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserEmailValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// UserEmailValidationError is the validation error returned by +// UserEmail.Validate if the designated constraints aren't met. +type UserEmailValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserEmailValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserEmailValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserEmailValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserEmailValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserEmailValidationError) ErrorName() string { return "UserEmailValidationError" } + +// Error satisfies the builtin error interface +func (e UserEmailValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserEmail.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserEmailValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserEmailValidationError{} + +// Validate checks the field values on UserEmailView with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *UserEmailView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Email + + // no validation rules for IsEmailVerified + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserEmailViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserEmailViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// UserEmailViewValidationError is the validation error returned by +// UserEmailView.Validate if the designated constraints aren't met. +type UserEmailViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserEmailViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserEmailViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserEmailViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserEmailViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserEmailViewValidationError) ErrorName() string { return "UserEmailViewValidationError" } + +// Error satisfies the builtin error interface +func (e UserEmailViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserEmailView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserEmailViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserEmailViewValidationError{} + +// Validate checks the field values on UpdateUserEmailRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UpdateUserEmailRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + if l := utf8.RuneCountInString(m.GetEmail()); l < 1 || l > 200 { + return UpdateUserEmailRequestValidationError{ + field: "Email", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + // no validation rules for IsEmailVerified + + return nil +} + +// UpdateUserEmailRequestValidationError is the validation error returned by +// UpdateUserEmailRequest.Validate if the designated constraints aren't met. +type UpdateUserEmailRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateUserEmailRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateUserEmailRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateUserEmailRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateUserEmailRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateUserEmailRequestValidationError) ErrorName() string { + return "UpdateUserEmailRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateUserEmailRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUpdateUserEmailRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateUserEmailRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateUserEmailRequestValidationError{} + +// Validate checks the field values on UserPhone with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *UserPhone) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Phone + + // no validation rules for IsPhoneVerified + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserPhoneValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserPhoneValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// UserPhoneValidationError is the validation error returned by +// UserPhone.Validate if the designated constraints aren't met. +type UserPhoneValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserPhoneValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserPhoneValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserPhoneValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserPhoneValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserPhoneValidationError) ErrorName() string { return "UserPhoneValidationError" } + +// Error satisfies the builtin error interface +func (e UserPhoneValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserPhone.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserPhoneValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserPhoneValidationError{} + +// Validate checks the field values on UserPhoneView with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *UserPhoneView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Phone + + // no validation rules for IsPhoneVerified + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserPhoneViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserPhoneViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// UserPhoneViewValidationError is the validation error returned by +// UserPhoneView.Validate if the designated constraints aren't met. +type UserPhoneViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserPhoneViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserPhoneViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserPhoneViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserPhoneViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserPhoneViewValidationError) ErrorName() string { return "UserPhoneViewValidationError" } + +// Error satisfies the builtin error interface +func (e UserPhoneViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserPhoneView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserPhoneViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserPhoneViewValidationError{} + +// Validate checks the field values on UpdateUserPhoneRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UpdateUserPhoneRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return UpdateUserPhoneRequestValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + if l := utf8.RuneCountInString(m.GetPhone()); l < 1 || l > 20 { + return UpdateUserPhoneRequestValidationError{ + field: "Phone", + reason: "value length must be between 1 and 20 runes, inclusive", + } + } + + // no validation rules for IsPhoneVerified + + return nil +} + +// UpdateUserPhoneRequestValidationError is the validation error returned by +// UpdateUserPhoneRequest.Validate if the designated constraints aren't met. +type UpdateUserPhoneRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateUserPhoneRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateUserPhoneRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateUserPhoneRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateUserPhoneRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateUserPhoneRequestValidationError) ErrorName() string { + return "UpdateUserPhoneRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateUserPhoneRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUpdateUserPhoneRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateUserPhoneRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateUserPhoneRequestValidationError{} + +// Validate checks the field values on UserAddress with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *UserAddress) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Country + + // no validation rules for Locality + + // no validation rules for PostalCode + + // no validation rules for Region + + // no validation rules for StreetAddress + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserAddressValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserAddressValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// UserAddressValidationError is the validation error returned by +// UserAddress.Validate if the designated constraints aren't met. +type UserAddressValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserAddressValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserAddressValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserAddressValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserAddressValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserAddressValidationError) ErrorName() string { return "UserAddressValidationError" } + +// Error satisfies the builtin error interface +func (e UserAddressValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserAddress.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserAddressValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserAddressValidationError{} + +// Validate checks the field values on UserAddressView with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *UserAddressView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Country + + // no validation rules for Locality + + // no validation rules for PostalCode + + // no validation rules for Region + + // no validation rules for StreetAddress + + // no validation rules for Sequence + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserAddressViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserAddressViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// UserAddressViewValidationError is the validation error returned by +// UserAddressView.Validate if the designated constraints aren't met. +type UserAddressViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserAddressViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserAddressViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserAddressViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserAddressViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserAddressViewValidationError) ErrorName() string { return "UserAddressViewValidationError" } + +// Error satisfies the builtin error interface +func (e UserAddressViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserAddressView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserAddressViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserAddressViewValidationError{} + +// Validate checks the field values on UpdateUserAddressRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UpdateUserAddressRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return UpdateUserAddressRequestValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetCountry()) > 200 { + return UpdateUserAddressRequestValidationError{ + field: "Country", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetLocality()) > 200 { + return UpdateUserAddressRequestValidationError{ + field: "Locality", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetPostalCode()) > 200 { + return UpdateUserAddressRequestValidationError{ + field: "PostalCode", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetRegion()) > 200 { + return UpdateUserAddressRequestValidationError{ + field: "Region", + reason: "value length must be at most 200 runes", + } + } + + if utf8.RuneCountInString(m.GetStreetAddress()) > 200 { + return UpdateUserAddressRequestValidationError{ + field: "StreetAddress", + reason: "value length must be at most 200 runes", + } + } + + return nil +} + +// UpdateUserAddressRequestValidationError is the validation error returned by +// UpdateUserAddressRequest.Validate if the designated constraints aren't met. +type UpdateUserAddressRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateUserAddressRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateUserAddressRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateUserAddressRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateUserAddressRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateUserAddressRequestValidationError) ErrorName() string { + return "UpdateUserAddressRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateUserAddressRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUpdateUserAddressRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateUserAddressRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateUserAddressRequestValidationError{} + +// Validate checks the field values on MultiFactors with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *MultiFactors) Validate() error { + if m == nil { + return nil + } + + for idx, item := range m.GetMfas() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MultiFactorsValidationError{ + field: fmt.Sprintf("Mfas[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// MultiFactorsValidationError is the validation error returned by +// MultiFactors.Validate if the designated constraints aren't met. +type MultiFactorsValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MultiFactorsValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MultiFactorsValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MultiFactorsValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MultiFactorsValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MultiFactorsValidationError) ErrorName() string { return "MultiFactorsValidationError" } + +// Error satisfies the builtin error interface +func (e MultiFactorsValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMultiFactors.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MultiFactorsValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MultiFactorsValidationError{} + +// Validate checks the field values on MultiFactor with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *MultiFactor) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Type + + // no validation rules for State + + return nil +} + +// MultiFactorValidationError is the validation error returned by +// MultiFactor.Validate if the designated constraints aren't met. +type MultiFactorValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MultiFactorValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MultiFactorValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MultiFactorValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MultiFactorValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MultiFactorValidationError) ErrorName() string { return "MultiFactorValidationError" } + +// Error satisfies the builtin error interface +func (e MultiFactorValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMultiFactor.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MultiFactorValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MultiFactorValidationError{} + +// Validate checks the field values on PasswordRequest with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *PasswordRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return PasswordRequestValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + if l := utf8.RuneCountInString(m.GetPassword()); l < 1 || l > 72 { + return PasswordRequestValidationError{ + field: "Password", + reason: "value length must be between 1 and 72 runes, inclusive", + } + } + + return nil +} + +// PasswordRequestValidationError is the validation error returned by +// PasswordRequest.Validate if the designated constraints aren't met. +type PasswordRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e PasswordRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e PasswordRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e PasswordRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e PasswordRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e PasswordRequestValidationError) ErrorName() string { return "PasswordRequestValidationError" } + +// Error satisfies the builtin error interface +func (e PasswordRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sPasswordRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = PasswordRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = PasswordRequestValidationError{} + +// Validate checks the field values on SetPasswordNotificationRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *SetPasswordNotificationRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return SetPasswordNotificationRequestValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + // no validation rules for Type + + return nil +} + +// SetPasswordNotificationRequestValidationError is the validation error +// returned by SetPasswordNotificationRequest.Validate if the designated +// constraints aren't met. +type SetPasswordNotificationRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SetPasswordNotificationRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SetPasswordNotificationRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SetPasswordNotificationRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SetPasswordNotificationRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SetPasswordNotificationRequestValidationError) ErrorName() string { + return "SetPasswordNotificationRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e SetPasswordNotificationRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sSetPasswordNotificationRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SetPasswordNotificationRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SetPasswordNotificationRequestValidationError{} + +// Validate checks the field values on PasswordComplexityPolicyID with the +// rules defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *PasswordComplexityPolicyID) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + return nil +} + +// PasswordComplexityPolicyIDValidationError is the validation error returned +// by PasswordComplexityPolicyID.Validate if the designated constraints aren't met. +type PasswordComplexityPolicyIDValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e PasswordComplexityPolicyIDValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e PasswordComplexityPolicyIDValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e PasswordComplexityPolicyIDValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e PasswordComplexityPolicyIDValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e PasswordComplexityPolicyIDValidationError) ErrorName() string { + return "PasswordComplexityPolicyIDValidationError" +} + +// Error satisfies the builtin error interface +func (e PasswordComplexityPolicyIDValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sPasswordComplexityPolicyID.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = PasswordComplexityPolicyIDValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = PasswordComplexityPolicyIDValidationError{} + +// Validate checks the field values on PasswordComplexityPolicy with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *PasswordComplexityPolicy) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Description + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return PasswordComplexityPolicyValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return PasswordComplexityPolicyValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for MinLength + + // no validation rules for HasLowercase + + // no validation rules for HasUppercase + + // no validation rules for HasNumber + + // no validation rules for HasSymbol + + // no validation rules for Sequence + + // no validation rules for IsDefault + + return nil +} + +// PasswordComplexityPolicyValidationError is the validation error returned by +// PasswordComplexityPolicy.Validate if the designated constraints aren't met. +type PasswordComplexityPolicyValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e PasswordComplexityPolicyValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e PasswordComplexityPolicyValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e PasswordComplexityPolicyValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e PasswordComplexityPolicyValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e PasswordComplexityPolicyValidationError) ErrorName() string { + return "PasswordComplexityPolicyValidationError" +} + +// Error satisfies the builtin error interface +func (e PasswordComplexityPolicyValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sPasswordComplexityPolicy.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = PasswordComplexityPolicyValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = PasswordComplexityPolicyValidationError{} + +// Validate checks the field values on PasswordComplexityPolicyCreate with the +// rules defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *PasswordComplexityPolicyCreate) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetDescription()) > 500 { + return PasswordComplexityPolicyCreateValidationError{ + field: "Description", + reason: "value length must be at most 500 runes", + } + } + + // no validation rules for MinLength + + // no validation rules for HasLowercase + + // no validation rules for HasUppercase + + // no validation rules for HasNumber + + // no validation rules for HasSymbol + + return nil +} + +// PasswordComplexityPolicyCreateValidationError is the validation error +// returned by PasswordComplexityPolicyCreate.Validate if the designated +// constraints aren't met. +type PasswordComplexityPolicyCreateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e PasswordComplexityPolicyCreateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e PasswordComplexityPolicyCreateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e PasswordComplexityPolicyCreateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e PasswordComplexityPolicyCreateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e PasswordComplexityPolicyCreateValidationError) ErrorName() string { + return "PasswordComplexityPolicyCreateValidationError" +} + +// Error satisfies the builtin error interface +func (e PasswordComplexityPolicyCreateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sPasswordComplexityPolicyCreate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = PasswordComplexityPolicyCreateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = PasswordComplexityPolicyCreateValidationError{} + +// Validate checks the field values on PasswordComplexityPolicyUpdate with the +// rules defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *PasswordComplexityPolicyUpdate) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + if utf8.RuneCountInString(m.GetDescription()) > 500 { + return PasswordComplexityPolicyUpdateValidationError{ + field: "Description", + reason: "value length must be at most 500 runes", + } + } + + // no validation rules for MinLength + + // no validation rules for HasLowercase + + // no validation rules for HasUppercase + + // no validation rules for HasNumber + + // no validation rules for HasSymbol + + return nil +} + +// PasswordComplexityPolicyUpdateValidationError is the validation error +// returned by PasswordComplexityPolicyUpdate.Validate if the designated +// constraints aren't met. +type PasswordComplexityPolicyUpdateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e PasswordComplexityPolicyUpdateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e PasswordComplexityPolicyUpdateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e PasswordComplexityPolicyUpdateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e PasswordComplexityPolicyUpdateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e PasswordComplexityPolicyUpdateValidationError) ErrorName() string { + return "PasswordComplexityPolicyUpdateValidationError" +} + +// Error satisfies the builtin error interface +func (e PasswordComplexityPolicyUpdateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sPasswordComplexityPolicyUpdate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = PasswordComplexityPolicyUpdateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = PasswordComplexityPolicyUpdateValidationError{} + +// Validate checks the field values on PasswordAgePolicyID with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *PasswordAgePolicyID) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + return nil +} + +// PasswordAgePolicyIDValidationError is the validation error returned by +// PasswordAgePolicyID.Validate if the designated constraints aren't met. +type PasswordAgePolicyIDValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e PasswordAgePolicyIDValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e PasswordAgePolicyIDValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e PasswordAgePolicyIDValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e PasswordAgePolicyIDValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e PasswordAgePolicyIDValidationError) ErrorName() string { + return "PasswordAgePolicyIDValidationError" +} + +// Error satisfies the builtin error interface +func (e PasswordAgePolicyIDValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sPasswordAgePolicyID.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = PasswordAgePolicyIDValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = PasswordAgePolicyIDValidationError{} + +// Validate checks the field values on PasswordAgePolicy with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *PasswordAgePolicy) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Description + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return PasswordAgePolicyValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return PasswordAgePolicyValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for MaxAgeDays + + // no validation rules for ExpireWarnDays + + // no validation rules for Sequence + + // no validation rules for IsDefault + + return nil +} + +// PasswordAgePolicyValidationError is the validation error returned by +// PasswordAgePolicy.Validate if the designated constraints aren't met. +type PasswordAgePolicyValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e PasswordAgePolicyValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e PasswordAgePolicyValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e PasswordAgePolicyValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e PasswordAgePolicyValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e PasswordAgePolicyValidationError) ErrorName() string { + return "PasswordAgePolicyValidationError" +} + +// Error satisfies the builtin error interface +func (e PasswordAgePolicyValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sPasswordAgePolicy.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = PasswordAgePolicyValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = PasswordAgePolicyValidationError{} + +// Validate checks the field values on PasswordAgePolicyCreate with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *PasswordAgePolicyCreate) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetDescription()) > 500 { + return PasswordAgePolicyCreateValidationError{ + field: "Description", + reason: "value length must be at most 500 runes", + } + } + + // no validation rules for MaxAgeDays + + // no validation rules for ExpireWarnDays + + return nil +} + +// PasswordAgePolicyCreateValidationError is the validation error returned by +// PasswordAgePolicyCreate.Validate if the designated constraints aren't met. +type PasswordAgePolicyCreateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e PasswordAgePolicyCreateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e PasswordAgePolicyCreateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e PasswordAgePolicyCreateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e PasswordAgePolicyCreateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e PasswordAgePolicyCreateValidationError) ErrorName() string { + return "PasswordAgePolicyCreateValidationError" +} + +// Error satisfies the builtin error interface +func (e PasswordAgePolicyCreateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sPasswordAgePolicyCreate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = PasswordAgePolicyCreateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = PasswordAgePolicyCreateValidationError{} + +// Validate checks the field values on PasswordAgePolicyUpdate with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *PasswordAgePolicyUpdate) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + if utf8.RuneCountInString(m.GetDescription()) > 500 { + return PasswordAgePolicyUpdateValidationError{ + field: "Description", + reason: "value length must be at most 500 runes", + } + } + + // no validation rules for MaxAgeDays + + // no validation rules for ExpireWarnDays + + return nil +} + +// PasswordAgePolicyUpdateValidationError is the validation error returned by +// PasswordAgePolicyUpdate.Validate if the designated constraints aren't met. +type PasswordAgePolicyUpdateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e PasswordAgePolicyUpdateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e PasswordAgePolicyUpdateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e PasswordAgePolicyUpdateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e PasswordAgePolicyUpdateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e PasswordAgePolicyUpdateValidationError) ErrorName() string { + return "PasswordAgePolicyUpdateValidationError" +} + +// Error satisfies the builtin error interface +func (e PasswordAgePolicyUpdateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sPasswordAgePolicyUpdate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = PasswordAgePolicyUpdateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = PasswordAgePolicyUpdateValidationError{} + +// Validate checks the field values on PasswordLockoutPolicyID with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *PasswordLockoutPolicyID) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + return nil +} + +// PasswordLockoutPolicyIDValidationError is the validation error returned by +// PasswordLockoutPolicyID.Validate if the designated constraints aren't met. +type PasswordLockoutPolicyIDValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e PasswordLockoutPolicyIDValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e PasswordLockoutPolicyIDValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e PasswordLockoutPolicyIDValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e PasswordLockoutPolicyIDValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e PasswordLockoutPolicyIDValidationError) ErrorName() string { + return "PasswordLockoutPolicyIDValidationError" +} + +// Error satisfies the builtin error interface +func (e PasswordLockoutPolicyIDValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sPasswordLockoutPolicyID.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = PasswordLockoutPolicyIDValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = PasswordLockoutPolicyIDValidationError{} + +// Validate checks the field values on PasswordLockoutPolicy with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *PasswordLockoutPolicy) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Description + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return PasswordLockoutPolicyValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return PasswordLockoutPolicyValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for MaxAttempts + + // no validation rules for ShowLockOutFailures + + // no validation rules for Sequence + + // no validation rules for IsDefault + + return nil +} + +// PasswordLockoutPolicyValidationError is the validation error returned by +// PasswordLockoutPolicy.Validate if the designated constraints aren't met. +type PasswordLockoutPolicyValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e PasswordLockoutPolicyValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e PasswordLockoutPolicyValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e PasswordLockoutPolicyValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e PasswordLockoutPolicyValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e PasswordLockoutPolicyValidationError) ErrorName() string { + return "PasswordLockoutPolicyValidationError" +} + +// Error satisfies the builtin error interface +func (e PasswordLockoutPolicyValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sPasswordLockoutPolicy.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = PasswordLockoutPolicyValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = PasswordLockoutPolicyValidationError{} + +// Validate checks the field values on PasswordLockoutPolicyCreate with the +// rules defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *PasswordLockoutPolicyCreate) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetDescription()) > 500 { + return PasswordLockoutPolicyCreateValidationError{ + field: "Description", + reason: "value length must be at most 500 runes", + } + } + + // no validation rules for MaxAttempts + + // no validation rules for ShowLockOutFailures + + return nil +} + +// PasswordLockoutPolicyCreateValidationError is the validation error returned +// by PasswordLockoutPolicyCreate.Validate if the designated constraints +// aren't met. +type PasswordLockoutPolicyCreateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e PasswordLockoutPolicyCreateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e PasswordLockoutPolicyCreateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e PasswordLockoutPolicyCreateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e PasswordLockoutPolicyCreateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e PasswordLockoutPolicyCreateValidationError) ErrorName() string { + return "PasswordLockoutPolicyCreateValidationError" +} + +// Error satisfies the builtin error interface +func (e PasswordLockoutPolicyCreateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sPasswordLockoutPolicyCreate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = PasswordLockoutPolicyCreateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = PasswordLockoutPolicyCreateValidationError{} + +// Validate checks the field values on PasswordLockoutPolicyUpdate with the +// rules defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *PasswordLockoutPolicyUpdate) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + if utf8.RuneCountInString(m.GetDescription()) > 500 { + return PasswordLockoutPolicyUpdateValidationError{ + field: "Description", + reason: "value length must be at most 500 runes", + } + } + + // no validation rules for MaxAttempts + + // no validation rules for ShowLockOutFailures + + return nil +} + +// PasswordLockoutPolicyUpdateValidationError is the validation error returned +// by PasswordLockoutPolicyUpdate.Validate if the designated constraints +// aren't met. +type PasswordLockoutPolicyUpdateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e PasswordLockoutPolicyUpdateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e PasswordLockoutPolicyUpdateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e PasswordLockoutPolicyUpdateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e PasswordLockoutPolicyUpdateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e PasswordLockoutPolicyUpdateValidationError) ErrorName() string { + return "PasswordLockoutPolicyUpdateValidationError" +} + +// Error satisfies the builtin error interface +func (e PasswordLockoutPolicyUpdateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sPasswordLockoutPolicyUpdate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = PasswordLockoutPolicyUpdateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = PasswordLockoutPolicyUpdateValidationError{} + +// Validate checks the field values on OrgIamPolicy with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *OrgIamPolicy) Validate() error { + if m == nil { + return nil + } + + // no validation rules for OrgId + + // no validation rules for Description + + // no validation rules for UserLoginMustBeDomain + + // no validation rules for Default + + return nil +} + +// OrgIamPolicyValidationError is the validation error returned by +// OrgIamPolicy.Validate if the designated constraints aren't met. +type OrgIamPolicyValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgIamPolicyValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgIamPolicyValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgIamPolicyValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgIamPolicyValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgIamPolicyValidationError) ErrorName() string { return "OrgIamPolicyValidationError" } + +// Error satisfies the builtin error interface +func (e OrgIamPolicyValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgIamPolicy.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgIamPolicyValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgIamPolicyValidationError{} + +// Validate checks the field values on OrgCreateRequest with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *OrgCreateRequest) Validate() error { + if m == nil { + return nil + } + + if l := utf8.RuneCountInString(m.GetName()); l < 1 || l > 200 { + return OrgCreateRequestValidationError{ + field: "Name", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + return nil +} + +// OrgCreateRequestValidationError is the validation error returned by +// OrgCreateRequest.Validate if the designated constraints aren't met. +type OrgCreateRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgCreateRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgCreateRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgCreateRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgCreateRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgCreateRequestValidationError) ErrorName() string { return "OrgCreateRequestValidationError" } + +// Error satisfies the builtin error interface +func (e OrgCreateRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgCreateRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgCreateRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgCreateRequestValidationError{} + +// Validate checks the field values on Org with the rules defined in the proto +// definition for this message. If any rules are violated, an error is returned. +func (m *Org) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Name + + // no validation rules for Sequence + + return nil +} + +// OrgValidationError is the validation error returned by Org.Validate if the +// designated constraints aren't met. +type OrgValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgValidationError) ErrorName() string { return "OrgValidationError" } + +// Error satisfies the builtin error interface +func (e OrgValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrg.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgValidationError{} + +// Validate checks the field values on OrgView with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *OrgView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Name + + // no validation rules for Sequence + + return nil +} + +// OrgViewValidationError is the validation error returned by OrgView.Validate +// if the designated constraints aren't met. +type OrgViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgViewValidationError) ErrorName() string { return "OrgViewValidationError" } + +// Error satisfies the builtin error interface +func (e OrgViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgViewValidationError{} + +// Validate checks the field values on Domain with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *Domain) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetDomain()) < 1 { + return DomainValidationError{ + field: "Domain", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// DomainValidationError is the validation error returned by Domain.Validate if +// the designated constraints aren't met. +type DomainValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e DomainValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e DomainValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e DomainValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e DomainValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e DomainValidationError) ErrorName() string { return "DomainValidationError" } + +// Error satisfies the builtin error interface +func (e DomainValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sDomain.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = DomainValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = DomainValidationError{} + +// Validate checks the field values on OrgDomain with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *OrgDomain) Validate() error { + if m == nil { + return nil + } + + // no validation rules for OrgId + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgDomainValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgDomainValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Domain + + // no validation rules for Verified + + // no validation rules for Primary + + // no validation rules for Sequence + + return nil +} + +// OrgDomainValidationError is the validation error returned by +// OrgDomain.Validate if the designated constraints aren't met. +type OrgDomainValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgDomainValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgDomainValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgDomainValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgDomainValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgDomainValidationError) ErrorName() string { return "OrgDomainValidationError" } + +// Error satisfies the builtin error interface +func (e OrgDomainValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgDomain.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgDomainValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgDomainValidationError{} + +// Validate checks the field values on OrgDomainView with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *OrgDomainView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for OrgId + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgDomainViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgDomainViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Domain + + // no validation rules for Verified + + // no validation rules for Primary + + // no validation rules for Sequence + + // no validation rules for ValidationType + + return nil +} + +// OrgDomainViewValidationError is the validation error returned by +// OrgDomainView.Validate if the designated constraints aren't met. +type OrgDomainViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgDomainViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgDomainViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgDomainViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgDomainViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgDomainViewValidationError) ErrorName() string { return "OrgDomainViewValidationError" } + +// Error satisfies the builtin error interface +func (e OrgDomainViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgDomainView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgDomainViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgDomainViewValidationError{} + +// Validate checks the field values on AddOrgDomainRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *AddOrgDomainRequest) Validate() error { + if m == nil { + return nil + } + + if l := utf8.RuneCountInString(m.GetDomain()); l < 1 || l > 200 { + return AddOrgDomainRequestValidationError{ + field: "Domain", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + return nil +} + +// AddOrgDomainRequestValidationError is the validation error returned by +// AddOrgDomainRequest.Validate if the designated constraints aren't met. +type AddOrgDomainRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e AddOrgDomainRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e AddOrgDomainRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e AddOrgDomainRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e AddOrgDomainRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e AddOrgDomainRequestValidationError) ErrorName() string { + return "AddOrgDomainRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e AddOrgDomainRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sAddOrgDomainRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = AddOrgDomainRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = AddOrgDomainRequestValidationError{} + +// Validate checks the field values on OrgDomainValidationRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *OrgDomainValidationRequest) Validate() error { + if m == nil { + return nil + } + + if l := utf8.RuneCountInString(m.GetDomain()); l < 1 || l > 200 { + return OrgDomainValidationRequestValidationError{ + field: "Domain", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + if _, ok := _OrgDomainValidationRequest_Type_NotInLookup[m.GetType()]; ok { + return OrgDomainValidationRequestValidationError{ + field: "Type", + reason: "value must not be in list [0]", + } + } + + return nil +} + +// OrgDomainValidationRequestValidationError is the validation error returned +// by OrgDomainValidationRequest.Validate if the designated constraints aren't met. +type OrgDomainValidationRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgDomainValidationRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgDomainValidationRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgDomainValidationRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgDomainValidationRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgDomainValidationRequestValidationError) ErrorName() string { + return "OrgDomainValidationRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e OrgDomainValidationRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgDomainValidationRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgDomainValidationRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgDomainValidationRequestValidationError{} + +var _OrgDomainValidationRequest_Type_NotInLookup = map[OrgDomainValidationType]struct{}{ + 0: {}, +} + +// Validate checks the field values on OrgDomainValidationResponse with the +// rules defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *OrgDomainValidationResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Token + + // no validation rules for Url + + return nil +} + +// OrgDomainValidationResponseValidationError is the validation error returned +// by OrgDomainValidationResponse.Validate if the designated constraints +// aren't met. +type OrgDomainValidationResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgDomainValidationResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgDomainValidationResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgDomainValidationResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgDomainValidationResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgDomainValidationResponseValidationError) ErrorName() string { + return "OrgDomainValidationResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e OrgDomainValidationResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgDomainValidationResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgDomainValidationResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgDomainValidationResponseValidationError{} + +// Validate checks the field values on ValidateOrgDomainRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ValidateOrgDomainRequest) Validate() error { + if m == nil { + return nil + } + + if l := utf8.RuneCountInString(m.GetDomain()); l < 1 || l > 200 { + return ValidateOrgDomainRequestValidationError{ + field: "Domain", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + return nil +} + +// ValidateOrgDomainRequestValidationError is the validation error returned by +// ValidateOrgDomainRequest.Validate if the designated constraints aren't met. +type ValidateOrgDomainRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ValidateOrgDomainRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ValidateOrgDomainRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ValidateOrgDomainRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ValidateOrgDomainRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ValidateOrgDomainRequestValidationError) ErrorName() string { + return "ValidateOrgDomainRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ValidateOrgDomainRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sValidateOrgDomainRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ValidateOrgDomainRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ValidateOrgDomainRequestValidationError{} + +// Validate checks the field values on PrimaryOrgDomainRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *PrimaryOrgDomainRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetDomain()) < 1 { + return PrimaryOrgDomainRequestValidationError{ + field: "Domain", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// PrimaryOrgDomainRequestValidationError is the validation error returned by +// PrimaryOrgDomainRequest.Validate if the designated constraints aren't met. +type PrimaryOrgDomainRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e PrimaryOrgDomainRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e PrimaryOrgDomainRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e PrimaryOrgDomainRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e PrimaryOrgDomainRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e PrimaryOrgDomainRequestValidationError) ErrorName() string { + return "PrimaryOrgDomainRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e PrimaryOrgDomainRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sPrimaryOrgDomainRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = PrimaryOrgDomainRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = PrimaryOrgDomainRequestValidationError{} + +// Validate checks the field values on RemoveOrgDomainRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *RemoveOrgDomainRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetDomain()) < 1 { + return RemoveOrgDomainRequestValidationError{ + field: "Domain", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// RemoveOrgDomainRequestValidationError is the validation error returned by +// RemoveOrgDomainRequest.Validate if the designated constraints aren't met. +type RemoveOrgDomainRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e RemoveOrgDomainRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e RemoveOrgDomainRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e RemoveOrgDomainRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e RemoveOrgDomainRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e RemoveOrgDomainRequestValidationError) ErrorName() string { + return "RemoveOrgDomainRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e RemoveOrgDomainRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sRemoveOrgDomainRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = RemoveOrgDomainRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = RemoveOrgDomainRequestValidationError{} + +// Validate checks the field values on OrgDomainSearchResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *OrgDomainSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgDomainSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgDomainSearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// OrgDomainSearchResponseValidationError is the validation error returned by +// OrgDomainSearchResponse.Validate if the designated constraints aren't met. +type OrgDomainSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgDomainSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgDomainSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgDomainSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgDomainSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgDomainSearchResponseValidationError) ErrorName() string { + return "OrgDomainSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e OrgDomainSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgDomainSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgDomainSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgDomainSearchResponseValidationError{} + +// Validate checks the field values on OrgDomainSearchRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *OrgDomainSearchRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + for idx, item := range m.GetQueries() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgDomainSearchRequestValidationError{ + field: fmt.Sprintf("Queries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// OrgDomainSearchRequestValidationError is the validation error returned by +// OrgDomainSearchRequest.Validate if the designated constraints aren't met. +type OrgDomainSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgDomainSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgDomainSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgDomainSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgDomainSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgDomainSearchRequestValidationError) ErrorName() string { + return "OrgDomainSearchRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e OrgDomainSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgDomainSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgDomainSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgDomainSearchRequestValidationError{} + +// Validate checks the field values on OrgDomainSearchQuery with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *OrgDomainSearchQuery) Validate() error { + if m == nil { + return nil + } + + if _, ok := _OrgDomainSearchQuery_Key_NotInLookup[m.GetKey()]; ok { + return OrgDomainSearchQueryValidationError{ + field: "Key", + reason: "value must not be in list [0]", + } + } + + // no validation rules for Method + + // no validation rules for Value + + return nil +} + +// OrgDomainSearchQueryValidationError is the validation error returned by +// OrgDomainSearchQuery.Validate if the designated constraints aren't met. +type OrgDomainSearchQueryValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgDomainSearchQueryValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgDomainSearchQueryValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgDomainSearchQueryValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgDomainSearchQueryValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgDomainSearchQueryValidationError) ErrorName() string { + return "OrgDomainSearchQueryValidationError" +} + +// Error satisfies the builtin error interface +func (e OrgDomainSearchQueryValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgDomainSearchQuery.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgDomainSearchQueryValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgDomainSearchQueryValidationError{} + +var _OrgDomainSearchQuery_Key_NotInLookup = map[OrgDomainSearchKey]struct{}{ + 0: {}, +} + +// Validate checks the field values on OrgMemberRoles with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *OrgMemberRoles) Validate() error { + if m == nil { + return nil + } + + return nil +} + +// OrgMemberRolesValidationError is the validation error returned by +// OrgMemberRoles.Validate if the designated constraints aren't met. +type OrgMemberRolesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgMemberRolesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgMemberRolesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgMemberRolesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgMemberRolesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgMemberRolesValidationError) ErrorName() string { return "OrgMemberRolesValidationError" } + +// Error satisfies the builtin error interface +func (e OrgMemberRolesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgMemberRoles.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgMemberRolesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgMemberRolesValidationError{} + +// Validate checks the field values on OrgMember with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *OrgMember) Validate() error { + if m == nil { + return nil + } + + // no validation rules for UserId + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgMemberValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgMemberValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + return nil +} + +// OrgMemberValidationError is the validation error returned by +// OrgMember.Validate if the designated constraints aren't met. +type OrgMemberValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgMemberValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgMemberValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgMemberValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgMemberValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgMemberValidationError) ErrorName() string { return "OrgMemberValidationError" } + +// Error satisfies the builtin error interface +func (e OrgMemberValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgMember.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgMemberValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgMemberValidationError{} + +// Validate checks the field values on AddOrgMemberRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *AddOrgMemberRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return AddOrgMemberRequestValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// AddOrgMemberRequestValidationError is the validation error returned by +// AddOrgMemberRequest.Validate if the designated constraints aren't met. +type AddOrgMemberRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e AddOrgMemberRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e AddOrgMemberRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e AddOrgMemberRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e AddOrgMemberRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e AddOrgMemberRequestValidationError) ErrorName() string { + return "AddOrgMemberRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e AddOrgMemberRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sAddOrgMemberRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = AddOrgMemberRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = AddOrgMemberRequestValidationError{} + +// Validate checks the field values on ChangeOrgMemberRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ChangeOrgMemberRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return ChangeOrgMemberRequestValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// ChangeOrgMemberRequestValidationError is the validation error returned by +// ChangeOrgMemberRequest.Validate if the designated constraints aren't met. +type ChangeOrgMemberRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ChangeOrgMemberRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ChangeOrgMemberRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ChangeOrgMemberRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ChangeOrgMemberRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ChangeOrgMemberRequestValidationError) ErrorName() string { + return "ChangeOrgMemberRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ChangeOrgMemberRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sChangeOrgMemberRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ChangeOrgMemberRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ChangeOrgMemberRequestValidationError{} + +// Validate checks the field values on RemoveOrgMemberRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *RemoveOrgMemberRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return RemoveOrgMemberRequestValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// RemoveOrgMemberRequestValidationError is the validation error returned by +// RemoveOrgMemberRequest.Validate if the designated constraints aren't met. +type RemoveOrgMemberRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e RemoveOrgMemberRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e RemoveOrgMemberRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e RemoveOrgMemberRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e RemoveOrgMemberRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e RemoveOrgMemberRequestValidationError) ErrorName() string { + return "RemoveOrgMemberRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e RemoveOrgMemberRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sRemoveOrgMemberRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = RemoveOrgMemberRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = RemoveOrgMemberRequestValidationError{} + +// Validate checks the field values on OrgMemberSearchResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *OrgMemberSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgMemberSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgMemberSearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// OrgMemberSearchResponseValidationError is the validation error returned by +// OrgMemberSearchResponse.Validate if the designated constraints aren't met. +type OrgMemberSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgMemberSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgMemberSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgMemberSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgMemberSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgMemberSearchResponseValidationError) ErrorName() string { + return "OrgMemberSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e OrgMemberSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgMemberSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgMemberSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgMemberSearchResponseValidationError{} + +// Validate checks the field values on OrgMemberView with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *OrgMemberView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for UserId + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgMemberViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgMemberViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + // no validation rules for UserName + + // no validation rules for Email + + // no validation rules for FirstName + + // no validation rules for LastName + + // no validation rules for DisplayName + + return nil +} + +// OrgMemberViewValidationError is the validation error returned by +// OrgMemberView.Validate if the designated constraints aren't met. +type OrgMemberViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgMemberViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgMemberViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgMemberViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgMemberViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgMemberViewValidationError) ErrorName() string { return "OrgMemberViewValidationError" } + +// Error satisfies the builtin error interface +func (e OrgMemberViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgMemberView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgMemberViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgMemberViewValidationError{} + +// Validate checks the field values on OrgMemberSearchRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *OrgMemberSearchRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + for idx, item := range m.GetQueries() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OrgMemberSearchRequestValidationError{ + field: fmt.Sprintf("Queries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// OrgMemberSearchRequestValidationError is the validation error returned by +// OrgMemberSearchRequest.Validate if the designated constraints aren't met. +type OrgMemberSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgMemberSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgMemberSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgMemberSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgMemberSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgMemberSearchRequestValidationError) ErrorName() string { + return "OrgMemberSearchRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e OrgMemberSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgMemberSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgMemberSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgMemberSearchRequestValidationError{} + +// Validate checks the field values on OrgMemberSearchQuery with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *OrgMemberSearchQuery) Validate() error { + if m == nil { + return nil + } + + if _, ok := _OrgMemberSearchQuery_Key_NotInLookup[m.GetKey()]; ok { + return OrgMemberSearchQueryValidationError{ + field: "Key", + reason: "value must not be in list [0]", + } + } + + // no validation rules for Method + + // no validation rules for Value + + return nil +} + +// OrgMemberSearchQueryValidationError is the validation error returned by +// OrgMemberSearchQuery.Validate if the designated constraints aren't met. +type OrgMemberSearchQueryValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OrgMemberSearchQueryValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OrgMemberSearchQueryValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OrgMemberSearchQueryValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OrgMemberSearchQueryValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OrgMemberSearchQueryValidationError) ErrorName() string { + return "OrgMemberSearchQueryValidationError" +} + +// Error satisfies the builtin error interface +func (e OrgMemberSearchQueryValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOrgMemberSearchQuery.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OrgMemberSearchQueryValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OrgMemberSearchQueryValidationError{} + +var _OrgMemberSearchQuery_Key_NotInLookup = map[OrgMemberSearchKey]struct{}{ + 0: {}, +} + +// Validate checks the field values on ProjectCreateRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectCreateRequest) Validate() error { + if m == nil { + return nil + } + + if l := utf8.RuneCountInString(m.GetName()); l < 1 || l > 200 { + return ProjectCreateRequestValidationError{ + field: "Name", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + return nil +} + +// ProjectCreateRequestValidationError is the validation error returned by +// ProjectCreateRequest.Validate if the designated constraints aren't met. +type ProjectCreateRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectCreateRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectCreateRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectCreateRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectCreateRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectCreateRequestValidationError) ErrorName() string { + return "ProjectCreateRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectCreateRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectCreateRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectCreateRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectCreateRequestValidationError{} + +// Validate checks the field values on ProjectUpdateRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectUpdateRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return ProjectUpdateRequestValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + if l := utf8.RuneCountInString(m.GetName()); l < 1 || l > 200 { + return ProjectUpdateRequestValidationError{ + field: "Name", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + return nil +} + +// ProjectUpdateRequestValidationError is the validation error returned by +// ProjectUpdateRequest.Validate if the designated constraints aren't met. +type ProjectUpdateRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectUpdateRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectUpdateRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectUpdateRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectUpdateRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectUpdateRequestValidationError) ErrorName() string { + return "ProjectUpdateRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectUpdateRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectUpdateRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectUpdateRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectUpdateRequestValidationError{} + +// Validate checks the field values on ProjectSearchResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectSearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// ProjectSearchResponseValidationError is the validation error returned by +// ProjectSearchResponse.Validate if the designated constraints aren't met. +type ProjectSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectSearchResponseValidationError) ErrorName() string { + return "ProjectSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectSearchResponseValidationError{} + +// Validate checks the field values on ProjectView with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *ProjectView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for ProjectId + + // no validation rules for Name + + // no validation rules for State + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for ResourceOwner + + // no validation rules for Sequence + + return nil +} + +// ProjectViewValidationError is the validation error returned by +// ProjectView.Validate if the designated constraints aren't met. +type ProjectViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectViewValidationError) ErrorName() string { return "ProjectViewValidationError" } + +// Error satisfies the builtin error interface +func (e ProjectViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectViewValidationError{} + +// Validate checks the field values on ProjectSearchRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectSearchRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + for idx, item := range m.GetQueries() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectSearchRequestValidationError{ + field: fmt.Sprintf("Queries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// ProjectSearchRequestValidationError is the validation error returned by +// ProjectSearchRequest.Validate if the designated constraints aren't met. +type ProjectSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectSearchRequestValidationError) ErrorName() string { + return "ProjectSearchRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectSearchRequestValidationError{} + +// Validate checks the field values on ProjectSearchQuery with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectSearchQuery) Validate() error { + if m == nil { + return nil + } + + if _, ok := _ProjectSearchQuery_Key_NotInLookup[m.GetKey()]; ok { + return ProjectSearchQueryValidationError{ + field: "Key", + reason: "value must not be in list [0]", + } + } + + // no validation rules for Method + + // no validation rules for Value + + return nil +} + +// ProjectSearchQueryValidationError is the validation error returned by +// ProjectSearchQuery.Validate if the designated constraints aren't met. +type ProjectSearchQueryValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectSearchQueryValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectSearchQueryValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectSearchQueryValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectSearchQueryValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectSearchQueryValidationError) ErrorName() string { + return "ProjectSearchQueryValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectSearchQueryValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectSearchQuery.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectSearchQueryValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectSearchQueryValidationError{} + +var _ProjectSearchQuery_Key_NotInLookup = map[ProjectSearchKey]struct{}{ + 0: {}, +} + +// Validate checks the field values on Projects with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *Projects) Validate() error { + if m == nil { + return nil + } + + for idx, item := range m.GetProjects() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectsValidationError{ + field: fmt.Sprintf("Projects[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// ProjectsValidationError is the validation error returned by +// Projects.Validate if the designated constraints aren't met. +type ProjectsValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectsValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectsValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectsValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectsValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectsValidationError) ErrorName() string { return "ProjectsValidationError" } + +// Error satisfies the builtin error interface +func (e ProjectsValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjects.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectsValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectsValidationError{} + +// Validate checks the field values on Project with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *Project) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for Name + + // no validation rules for State + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + return nil +} + +// ProjectValidationError is the validation error returned by Project.Validate +// if the designated constraints aren't met. +type ProjectValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectValidationError) ErrorName() string { return "ProjectValidationError" } + +// Error satisfies the builtin error interface +func (e ProjectValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProject.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectValidationError{} + +// Validate checks the field values on ProjectMemberRoles with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectMemberRoles) Validate() error { + if m == nil { + return nil + } + + return nil +} + +// ProjectMemberRolesValidationError is the validation error returned by +// ProjectMemberRoles.Validate if the designated constraints aren't met. +type ProjectMemberRolesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectMemberRolesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectMemberRolesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectMemberRolesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectMemberRolesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectMemberRolesValidationError) ErrorName() string { + return "ProjectMemberRolesValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectMemberRolesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectMemberRoles.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectMemberRolesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectMemberRolesValidationError{} + +// Validate checks the field values on ProjectMember with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *ProjectMember) Validate() error { + if m == nil { + return nil + } + + // no validation rules for UserId + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectMemberValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectMemberValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + return nil +} + +// ProjectMemberValidationError is the validation error returned by +// ProjectMember.Validate if the designated constraints aren't met. +type ProjectMemberValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectMemberValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectMemberValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectMemberValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectMemberValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectMemberValidationError) ErrorName() string { return "ProjectMemberValidationError" } + +// Error satisfies the builtin error interface +func (e ProjectMemberValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectMember.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectMemberValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectMemberValidationError{} + +// Validate checks the field values on ProjectMemberAdd with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *ProjectMemberAdd) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return ProjectMemberAddValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return ProjectMemberAddValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// ProjectMemberAddValidationError is the validation error returned by +// ProjectMemberAdd.Validate if the designated constraints aren't met. +type ProjectMemberAddValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectMemberAddValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectMemberAddValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectMemberAddValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectMemberAddValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectMemberAddValidationError) ErrorName() string { return "ProjectMemberAddValidationError" } + +// Error satisfies the builtin error interface +func (e ProjectMemberAddValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectMemberAdd.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectMemberAddValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectMemberAddValidationError{} + +// Validate checks the field values on ProjectMemberChange with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectMemberChange) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return ProjectMemberChangeValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return ProjectMemberChangeValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// ProjectMemberChangeValidationError is the validation error returned by +// ProjectMemberChange.Validate if the designated constraints aren't met. +type ProjectMemberChangeValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectMemberChangeValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectMemberChangeValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectMemberChangeValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectMemberChangeValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectMemberChangeValidationError) ErrorName() string { + return "ProjectMemberChangeValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectMemberChangeValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectMemberChange.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectMemberChangeValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectMemberChangeValidationError{} + +// Validate checks the field values on ProjectMemberRemove with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectMemberRemove) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return ProjectMemberRemoveValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return ProjectMemberRemoveValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// ProjectMemberRemoveValidationError is the validation error returned by +// ProjectMemberRemove.Validate if the designated constraints aren't met. +type ProjectMemberRemoveValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectMemberRemoveValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectMemberRemoveValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectMemberRemoveValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectMemberRemoveValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectMemberRemoveValidationError) ErrorName() string { + return "ProjectMemberRemoveValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectMemberRemoveValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectMemberRemove.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectMemberRemoveValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectMemberRemoveValidationError{} + +// Validate checks the field values on ProjectRoleAdd with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *ProjectRoleAdd) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return ProjectRoleAddValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + // no validation rules for Key + + // no validation rules for DisplayName + + // no validation rules for Group + + return nil +} + +// ProjectRoleAddValidationError is the validation error returned by +// ProjectRoleAdd.Validate if the designated constraints aren't met. +type ProjectRoleAddValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectRoleAddValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectRoleAddValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectRoleAddValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectRoleAddValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectRoleAddValidationError) ErrorName() string { return "ProjectRoleAddValidationError" } + +// Error satisfies the builtin error interface +func (e ProjectRoleAddValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectRoleAdd.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectRoleAddValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectRoleAddValidationError{} + +// Validate checks the field values on ProjectRoleAddBulk with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectRoleAddBulk) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return ProjectRoleAddBulkValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + for idx, item := range m.GetProjectRoles() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectRoleAddBulkValidationError{ + field: fmt.Sprintf("ProjectRoles[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// ProjectRoleAddBulkValidationError is the validation error returned by +// ProjectRoleAddBulk.Validate if the designated constraints aren't met. +type ProjectRoleAddBulkValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectRoleAddBulkValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectRoleAddBulkValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectRoleAddBulkValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectRoleAddBulkValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectRoleAddBulkValidationError) ErrorName() string { + return "ProjectRoleAddBulkValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectRoleAddBulkValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectRoleAddBulk.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectRoleAddBulkValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectRoleAddBulkValidationError{} + +// Validate checks the field values on ProjectRoleChange with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *ProjectRoleChange) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return ProjectRoleChangeValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetKey()) < 1 { + return ProjectRoleChangeValidationError{ + field: "Key", + reason: "value length must be at least 1 runes", + } + } + + // no validation rules for DisplayName + + // no validation rules for Group + + return nil +} + +// ProjectRoleChangeValidationError is the validation error returned by +// ProjectRoleChange.Validate if the designated constraints aren't met. +type ProjectRoleChangeValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectRoleChangeValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectRoleChangeValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectRoleChangeValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectRoleChangeValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectRoleChangeValidationError) ErrorName() string { + return "ProjectRoleChangeValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectRoleChangeValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectRoleChange.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectRoleChangeValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectRoleChangeValidationError{} + +// Validate checks the field values on ProjectRole with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *ProjectRole) Validate() error { + if m == nil { + return nil + } + + // no validation rules for ProjectId + + // no validation rules for Key + + // no validation rules for DisplayName + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectRoleValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectRoleValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Group + + // no validation rules for Sequence + + return nil +} + +// ProjectRoleValidationError is the validation error returned by +// ProjectRole.Validate if the designated constraints aren't met. +type ProjectRoleValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectRoleValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectRoleValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectRoleValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectRoleValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectRoleValidationError) ErrorName() string { return "ProjectRoleValidationError" } + +// Error satisfies the builtin error interface +func (e ProjectRoleValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectRole.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectRoleValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectRoleValidationError{} + +// Validate checks the field values on ProjectRoleView with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *ProjectRoleView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for ProjectId + + // no validation rules for Key + + // no validation rules for DisplayName + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectRoleViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Group + + // no validation rules for Sequence + + return nil +} + +// ProjectRoleViewValidationError is the validation error returned by +// ProjectRoleView.Validate if the designated constraints aren't met. +type ProjectRoleViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectRoleViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectRoleViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectRoleViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectRoleViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectRoleViewValidationError) ErrorName() string { return "ProjectRoleViewValidationError" } + +// Error satisfies the builtin error interface +func (e ProjectRoleViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectRoleView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectRoleViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectRoleViewValidationError{} + +// Validate checks the field values on ProjectRoleRemove with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *ProjectRoleRemove) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return ProjectRoleRemoveValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetKey()) < 1 { + return ProjectRoleRemoveValidationError{ + field: "Key", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// ProjectRoleRemoveValidationError is the validation error returned by +// ProjectRoleRemove.Validate if the designated constraints aren't met. +type ProjectRoleRemoveValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectRoleRemoveValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectRoleRemoveValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectRoleRemoveValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectRoleRemoveValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectRoleRemoveValidationError) ErrorName() string { + return "ProjectRoleRemoveValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectRoleRemoveValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectRoleRemove.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectRoleRemoveValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectRoleRemoveValidationError{} + +// Validate checks the field values on ProjectRoleSearchResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectRoleSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectRoleSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectRoleSearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// ProjectRoleSearchResponseValidationError is the validation error returned by +// ProjectRoleSearchResponse.Validate if the designated constraints aren't met. +type ProjectRoleSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectRoleSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectRoleSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectRoleSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectRoleSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectRoleSearchResponseValidationError) ErrorName() string { + return "ProjectRoleSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectRoleSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectRoleSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectRoleSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectRoleSearchResponseValidationError{} + +// Validate checks the field values on ProjectRoleSearchRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectRoleSearchRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetProjectId()) < 1 { + return ProjectRoleSearchRequestValidationError{ + field: "ProjectId", + reason: "value length must be at least 1 runes", + } + } + + // no validation rules for Offset + + // no validation rules for Limit + + for idx, item := range m.GetQueries() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectRoleSearchRequestValidationError{ + field: fmt.Sprintf("Queries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// ProjectRoleSearchRequestValidationError is the validation error returned by +// ProjectRoleSearchRequest.Validate if the designated constraints aren't met. +type ProjectRoleSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectRoleSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectRoleSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectRoleSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectRoleSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectRoleSearchRequestValidationError) ErrorName() string { + return "ProjectRoleSearchRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectRoleSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectRoleSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectRoleSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectRoleSearchRequestValidationError{} + +// Validate checks the field values on ProjectRoleSearchQuery with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectRoleSearchQuery) Validate() error { + if m == nil { + return nil + } + + if _, ok := _ProjectRoleSearchQuery_Key_NotInLookup[m.GetKey()]; ok { + return ProjectRoleSearchQueryValidationError{ + field: "Key", + reason: "value must not be in list [0]", + } + } + + // no validation rules for Method + + // no validation rules for Value + + return nil +} + +// ProjectRoleSearchQueryValidationError is the validation error returned by +// ProjectRoleSearchQuery.Validate if the designated constraints aren't met. +type ProjectRoleSearchQueryValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectRoleSearchQueryValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectRoleSearchQueryValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectRoleSearchQueryValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectRoleSearchQueryValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectRoleSearchQueryValidationError) ErrorName() string { + return "ProjectRoleSearchQueryValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectRoleSearchQueryValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectRoleSearchQuery.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectRoleSearchQueryValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectRoleSearchQueryValidationError{} + +var _ProjectRoleSearchQuery_Key_NotInLookup = map[ProjectRoleSearchKey]struct{}{ + 0: {}, +} + +// Validate checks the field values on ProjectMemberView with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *ProjectMemberView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for UserId + + // no validation rules for UserName + + // no validation rules for Email + + // no validation rules for FirstName + + // no validation rules for LastName + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectMemberViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectMemberViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + // no validation rules for DisplayName + + return nil +} + +// ProjectMemberViewValidationError is the validation error returned by +// ProjectMemberView.Validate if the designated constraints aren't met. +type ProjectMemberViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectMemberViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectMemberViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectMemberViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectMemberViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectMemberViewValidationError) ErrorName() string { + return "ProjectMemberViewValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectMemberViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectMemberView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectMemberViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectMemberViewValidationError{} + +// Validate checks the field values on ProjectMemberSearchResponse with the +// rules defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectMemberSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectMemberSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectMemberSearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// ProjectMemberSearchResponseValidationError is the validation error returned +// by ProjectMemberSearchResponse.Validate if the designated constraints +// aren't met. +type ProjectMemberSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectMemberSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectMemberSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectMemberSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectMemberSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectMemberSearchResponseValidationError) ErrorName() string { + return "ProjectMemberSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectMemberSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectMemberSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectMemberSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectMemberSearchResponseValidationError{} + +// Validate checks the field values on ProjectMemberSearchRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectMemberSearchRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetProjectId()) < 1 { + return ProjectMemberSearchRequestValidationError{ + field: "ProjectId", + reason: "value length must be at least 1 runes", + } + } + + // no validation rules for Offset + + // no validation rules for Limit + + for idx, item := range m.GetQueries() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectMemberSearchRequestValidationError{ + field: fmt.Sprintf("Queries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// ProjectMemberSearchRequestValidationError is the validation error returned +// by ProjectMemberSearchRequest.Validate if the designated constraints aren't met. +type ProjectMemberSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectMemberSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectMemberSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectMemberSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectMemberSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectMemberSearchRequestValidationError) ErrorName() string { + return "ProjectMemberSearchRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectMemberSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectMemberSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectMemberSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectMemberSearchRequestValidationError{} + +// Validate checks the field values on ProjectMemberSearchQuery with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectMemberSearchQuery) Validate() error { + if m == nil { + return nil + } + + if _, ok := _ProjectMemberSearchQuery_Key_NotInLookup[m.GetKey()]; ok { + return ProjectMemberSearchQueryValidationError{ + field: "Key", + reason: "value must not be in list [0]", + } + } + + // no validation rules for Method + + // no validation rules for Value + + return nil +} + +// ProjectMemberSearchQueryValidationError is the validation error returned by +// ProjectMemberSearchQuery.Validate if the designated constraints aren't met. +type ProjectMemberSearchQueryValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectMemberSearchQueryValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectMemberSearchQueryValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectMemberSearchQueryValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectMemberSearchQueryValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectMemberSearchQueryValidationError) ErrorName() string { + return "ProjectMemberSearchQueryValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectMemberSearchQueryValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectMemberSearchQuery.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectMemberSearchQueryValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectMemberSearchQueryValidationError{} + +var _ProjectMemberSearchQuery_Key_NotInLookup = map[ProjectMemberSearchKey]struct{}{ + 0: {}, +} + +// Validate checks the field values on Application with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *Application) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ApplicationValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ApplicationValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Name + + // no validation rules for Sequence + + switch m.AppConfig.(type) { + + case *Application_OidcConfig: + + if v, ok := interface{}(m.GetOidcConfig()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ApplicationValidationError{ + field: "OidcConfig", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// ApplicationValidationError is the validation error returned by +// Application.Validate if the designated constraints aren't met. +type ApplicationValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ApplicationValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ApplicationValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ApplicationValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ApplicationValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ApplicationValidationError) ErrorName() string { return "ApplicationValidationError" } + +// Error satisfies the builtin error interface +func (e ApplicationValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sApplication.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ApplicationValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ApplicationValidationError{} + +// Validate checks the field values on ApplicationUpdate with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *ApplicationUpdate) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetProjectId()) < 1 { + return ApplicationUpdateValidationError{ + field: "ProjectId", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return ApplicationUpdateValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + if l := utf8.RuneCountInString(m.GetName()); l < 1 || l > 200 { + return ApplicationUpdateValidationError{ + field: "Name", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + return nil +} + +// ApplicationUpdateValidationError is the validation error returned by +// ApplicationUpdate.Validate if the designated constraints aren't met. +type ApplicationUpdateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ApplicationUpdateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ApplicationUpdateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ApplicationUpdateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ApplicationUpdateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ApplicationUpdateValidationError) ErrorName() string { + return "ApplicationUpdateValidationError" +} + +// Error satisfies the builtin error interface +func (e ApplicationUpdateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sApplicationUpdate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ApplicationUpdateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ApplicationUpdateValidationError{} + +// Validate checks the field values on OIDCConfig with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *OIDCConfig) Validate() error { + if m == nil { + return nil + } + + // no validation rules for ApplicationType + + // no validation rules for ClientId + + // no validation rules for ClientSecret + + // no validation rules for AuthMethodType + + // no validation rules for Version + + // no validation rules for NoneCompliant + + for idx, item := range m.GetComplianceProblems() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OIDCConfigValidationError{ + field: fmt.Sprintf("ComplianceProblems[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for DevMode + + return nil +} + +// OIDCConfigValidationError is the validation error returned by +// OIDCConfig.Validate if the designated constraints aren't met. +type OIDCConfigValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OIDCConfigValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OIDCConfigValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OIDCConfigValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OIDCConfigValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OIDCConfigValidationError) ErrorName() string { return "OIDCConfigValidationError" } + +// Error satisfies the builtin error interface +func (e OIDCConfigValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOIDCConfig.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OIDCConfigValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OIDCConfigValidationError{} + +// Validate checks the field values on OIDCApplicationCreate with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *OIDCApplicationCreate) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetProjectId()) < 1 { + return OIDCApplicationCreateValidationError{ + field: "ProjectId", + reason: "value length must be at least 1 runes", + } + } + + if l := utf8.RuneCountInString(m.GetName()); l < 1 || l > 200 { + return OIDCApplicationCreateValidationError{ + field: "Name", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + // no validation rules for ApplicationType + + // no validation rules for AuthMethodType + + // no validation rules for Version + + // no validation rules for DevMode + + return nil +} + +// OIDCApplicationCreateValidationError is the validation error returned by +// OIDCApplicationCreate.Validate if the designated constraints aren't met. +type OIDCApplicationCreateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OIDCApplicationCreateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OIDCApplicationCreateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OIDCApplicationCreateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OIDCApplicationCreateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OIDCApplicationCreateValidationError) ErrorName() string { + return "OIDCApplicationCreateValidationError" +} + +// Error satisfies the builtin error interface +func (e OIDCApplicationCreateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOIDCApplicationCreate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OIDCApplicationCreateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OIDCApplicationCreateValidationError{} + +// Validate checks the field values on OIDCConfigUpdate with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *OIDCConfigUpdate) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetProjectId()) < 1 { + return OIDCConfigUpdateValidationError{ + field: "ProjectId", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetApplicationId()) < 1 { + return OIDCConfigUpdateValidationError{ + field: "ApplicationId", + reason: "value length must be at least 1 runes", + } + } + + // no validation rules for ApplicationType + + // no validation rules for AuthMethodType + + // no validation rules for DevMode + + return nil +} + +// OIDCConfigUpdateValidationError is the validation error returned by +// OIDCConfigUpdate.Validate if the designated constraints aren't met. +type OIDCConfigUpdateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OIDCConfigUpdateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OIDCConfigUpdateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OIDCConfigUpdateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OIDCConfigUpdateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OIDCConfigUpdateValidationError) ErrorName() string { return "OIDCConfigUpdateValidationError" } + +// Error satisfies the builtin error interface +func (e OIDCConfigUpdateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOIDCConfigUpdate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OIDCConfigUpdateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OIDCConfigUpdateValidationError{} + +// Validate checks the field values on ClientSecret with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *ClientSecret) Validate() error { + if m == nil { + return nil + } + + // no validation rules for ClientSecret + + return nil +} + +// ClientSecretValidationError is the validation error returned by +// ClientSecret.Validate if the designated constraints aren't met. +type ClientSecretValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ClientSecretValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ClientSecretValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ClientSecretValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ClientSecretValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ClientSecretValidationError) ErrorName() string { return "ClientSecretValidationError" } + +// Error satisfies the builtin error interface +func (e ClientSecretValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sClientSecret.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ClientSecretValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ClientSecretValidationError{} + +// Validate checks the field values on ApplicationView with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *ApplicationView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ApplicationViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ApplicationViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Name + + // no validation rules for Sequence + + switch m.AppConfig.(type) { + + case *ApplicationView_OidcConfig: + + if v, ok := interface{}(m.GetOidcConfig()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ApplicationViewValidationError{ + field: "OidcConfig", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// ApplicationViewValidationError is the validation error returned by +// ApplicationView.Validate if the designated constraints aren't met. +type ApplicationViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ApplicationViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ApplicationViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ApplicationViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ApplicationViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ApplicationViewValidationError) ErrorName() string { return "ApplicationViewValidationError" } + +// Error satisfies the builtin error interface +func (e ApplicationViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sApplicationView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ApplicationViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ApplicationViewValidationError{} + +// Validate checks the field values on ApplicationSearchResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ApplicationSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ApplicationSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ApplicationSearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// ApplicationSearchResponseValidationError is the validation error returned by +// ApplicationSearchResponse.Validate if the designated constraints aren't met. +type ApplicationSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ApplicationSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ApplicationSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ApplicationSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ApplicationSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ApplicationSearchResponseValidationError) ErrorName() string { + return "ApplicationSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e ApplicationSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sApplicationSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ApplicationSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ApplicationSearchResponseValidationError{} + +// Validate checks the field values on ApplicationSearchRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ApplicationSearchRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetProjectId()) < 1 { + return ApplicationSearchRequestValidationError{ + field: "ProjectId", + reason: "value length must be at least 1 runes", + } + } + + // no validation rules for Offset + + // no validation rules for Limit + + for idx, item := range m.GetQueries() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ApplicationSearchRequestValidationError{ + field: fmt.Sprintf("Queries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// ApplicationSearchRequestValidationError is the validation error returned by +// ApplicationSearchRequest.Validate if the designated constraints aren't met. +type ApplicationSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ApplicationSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ApplicationSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ApplicationSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ApplicationSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ApplicationSearchRequestValidationError) ErrorName() string { + return "ApplicationSearchRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ApplicationSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sApplicationSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ApplicationSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ApplicationSearchRequestValidationError{} + +// Validate checks the field values on ApplicationSearchQuery with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ApplicationSearchQuery) Validate() error { + if m == nil { + return nil + } + + if _, ok := _ApplicationSearchQuery_Key_NotInLookup[m.GetKey()]; ok { + return ApplicationSearchQueryValidationError{ + field: "Key", + reason: "value must not be in list [0]", + } + } + + // no validation rules for Method + + // no validation rules for Value + + return nil +} + +// ApplicationSearchQueryValidationError is the validation error returned by +// ApplicationSearchQuery.Validate if the designated constraints aren't met. +type ApplicationSearchQueryValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ApplicationSearchQueryValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ApplicationSearchQueryValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ApplicationSearchQueryValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ApplicationSearchQueryValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ApplicationSearchQueryValidationError) ErrorName() string { + return "ApplicationSearchQueryValidationError" +} + +// Error satisfies the builtin error interface +func (e ApplicationSearchQueryValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sApplicationSearchQuery.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ApplicationSearchQueryValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ApplicationSearchQueryValidationError{} + +var _ApplicationSearchQuery_Key_NotInLookup = map[ApplicationSearchKey]struct{}{ + 0: {}, +} + +// Validate checks the field values on ProjectGrant with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *ProjectGrant) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for ProjectId + + // no validation rules for GrantedOrgId + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectGrantValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectGrantValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + return nil +} + +// ProjectGrantValidationError is the validation error returned by +// ProjectGrant.Validate if the designated constraints aren't met. +type ProjectGrantValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectGrantValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectGrantValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectGrantValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectGrantValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectGrantValidationError) ErrorName() string { return "ProjectGrantValidationError" } + +// Error satisfies the builtin error interface +func (e ProjectGrantValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectGrant.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectGrantValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectGrantValidationError{} + +// Validate checks the field values on ProjectGrantCreate with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectGrantCreate) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetProjectId()) < 1 { + return ProjectGrantCreateValidationError{ + field: "ProjectId", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetGrantedOrgId()) < 1 { + return ProjectGrantCreateValidationError{ + field: "GrantedOrgId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// ProjectGrantCreateValidationError is the validation error returned by +// ProjectGrantCreate.Validate if the designated constraints aren't met. +type ProjectGrantCreateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectGrantCreateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectGrantCreateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectGrantCreateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectGrantCreateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectGrantCreateValidationError) ErrorName() string { + return "ProjectGrantCreateValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectGrantCreateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectGrantCreate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectGrantCreateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectGrantCreateValidationError{} + +// Validate checks the field values on ProjectGrantUpdate with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectGrantUpdate) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetProjectId()) < 1 { + return ProjectGrantUpdateValidationError{ + field: "ProjectId", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return ProjectGrantUpdateValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// ProjectGrantUpdateValidationError is the validation error returned by +// ProjectGrantUpdate.Validate if the designated constraints aren't met. +type ProjectGrantUpdateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectGrantUpdateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectGrantUpdateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectGrantUpdateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectGrantUpdateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectGrantUpdateValidationError) ErrorName() string { + return "ProjectGrantUpdateValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectGrantUpdateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectGrantUpdate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectGrantUpdateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectGrantUpdateValidationError{} + +// Validate checks the field values on ProjectGrantID with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *ProjectGrantID) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetProjectId()) < 1 { + return ProjectGrantIDValidationError{ + field: "ProjectId", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return ProjectGrantIDValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// ProjectGrantIDValidationError is the validation error returned by +// ProjectGrantID.Validate if the designated constraints aren't met. +type ProjectGrantIDValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectGrantIDValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectGrantIDValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectGrantIDValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectGrantIDValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectGrantIDValidationError) ErrorName() string { return "ProjectGrantIDValidationError" } + +// Error satisfies the builtin error interface +func (e ProjectGrantIDValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectGrantID.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectGrantIDValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectGrantIDValidationError{} + +// Validate checks the field values on ProjectGrantView with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *ProjectGrantView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for ProjectId + + // no validation rules for GrantedOrgId + + // no validation rules for GrantedOrgName + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectGrantViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectGrantViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for ProjectName + + // no validation rules for Sequence + + // no validation rules for ResourceOwner + + // no validation rules for ResourceOwnerName + + return nil +} + +// ProjectGrantViewValidationError is the validation error returned by +// ProjectGrantView.Validate if the designated constraints aren't met. +type ProjectGrantViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectGrantViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectGrantViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectGrantViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectGrantViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectGrantViewValidationError) ErrorName() string { return "ProjectGrantViewValidationError" } + +// Error satisfies the builtin error interface +func (e ProjectGrantViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectGrantView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectGrantViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectGrantViewValidationError{} + +// Validate checks the field values on ProjectGrantSearchResponse with the +// rules defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectGrantSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectGrantSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectGrantSearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// ProjectGrantSearchResponseValidationError is the validation error returned +// by ProjectGrantSearchResponse.Validate if the designated constraints aren't met. +type ProjectGrantSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectGrantSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectGrantSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectGrantSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectGrantSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectGrantSearchResponseValidationError) ErrorName() string { + return "ProjectGrantSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectGrantSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectGrantSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectGrantSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectGrantSearchResponseValidationError{} + +// Validate checks the field values on GrantedProjectSearchRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *GrantedProjectSearchRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + for idx, item := range m.GetQueries() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GrantedProjectSearchRequestValidationError{ + field: fmt.Sprintf("Queries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// GrantedProjectSearchRequestValidationError is the validation error returned +// by GrantedProjectSearchRequest.Validate if the designated constraints +// aren't met. +type GrantedProjectSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GrantedProjectSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GrantedProjectSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GrantedProjectSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GrantedProjectSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GrantedProjectSearchRequestValidationError) ErrorName() string { + return "GrantedProjectSearchRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e GrantedProjectSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sGrantedProjectSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GrantedProjectSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GrantedProjectSearchRequestValidationError{} + +// Validate checks the field values on ProjectGrantSearchRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectGrantSearchRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetProjectId()) < 1 { + return ProjectGrantSearchRequestValidationError{ + field: "ProjectId", + reason: "value length must be at least 1 runes", + } + } + + // no validation rules for Offset + + // no validation rules for Limit + + for idx, item := range m.GetQueries() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectGrantSearchRequestValidationError{ + field: fmt.Sprintf("Queries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// ProjectGrantSearchRequestValidationError is the validation error returned by +// ProjectGrantSearchRequest.Validate if the designated constraints aren't met. +type ProjectGrantSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectGrantSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectGrantSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectGrantSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectGrantSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectGrantSearchRequestValidationError) ErrorName() string { + return "ProjectGrantSearchRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectGrantSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectGrantSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectGrantSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectGrantSearchRequestValidationError{} + +// Validate checks the field values on ProjectGrantSearchQuery with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectGrantSearchQuery) Validate() error { + if m == nil { + return nil + } + + if _, ok := _ProjectGrantSearchQuery_Key_NotInLookup[m.GetKey()]; ok { + return ProjectGrantSearchQueryValidationError{ + field: "Key", + reason: "value must not be in list [0]", + } + } + + // no validation rules for Method + + // no validation rules for Value + + return nil +} + +// ProjectGrantSearchQueryValidationError is the validation error returned by +// ProjectGrantSearchQuery.Validate if the designated constraints aren't met. +type ProjectGrantSearchQueryValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectGrantSearchQueryValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectGrantSearchQueryValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectGrantSearchQueryValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectGrantSearchQueryValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectGrantSearchQueryValidationError) ErrorName() string { + return "ProjectGrantSearchQueryValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectGrantSearchQueryValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectGrantSearchQuery.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectGrantSearchQueryValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectGrantSearchQueryValidationError{} + +var _ProjectGrantSearchQuery_Key_NotInLookup = map[ProjectGrantSearchKey]struct{}{ + 0: {}, +} + +// Validate checks the field values on ProjectGrantMemberRoles with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectGrantMemberRoles) Validate() error { + if m == nil { + return nil + } + + return nil +} + +// ProjectGrantMemberRolesValidationError is the validation error returned by +// ProjectGrantMemberRoles.Validate if the designated constraints aren't met. +type ProjectGrantMemberRolesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectGrantMemberRolesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectGrantMemberRolesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectGrantMemberRolesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectGrantMemberRolesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectGrantMemberRolesValidationError) ErrorName() string { + return "ProjectGrantMemberRolesValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectGrantMemberRolesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectGrantMemberRoles.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectGrantMemberRolesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectGrantMemberRolesValidationError{} + +// Validate checks the field values on ProjectGrantMember with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectGrantMember) Validate() error { + if m == nil { + return nil + } + + // no validation rules for UserId + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectGrantMemberValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectGrantMemberValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + return nil +} + +// ProjectGrantMemberValidationError is the validation error returned by +// ProjectGrantMember.Validate if the designated constraints aren't met. +type ProjectGrantMemberValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectGrantMemberValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectGrantMemberValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectGrantMemberValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectGrantMemberValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectGrantMemberValidationError) ErrorName() string { + return "ProjectGrantMemberValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectGrantMemberValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectGrantMember.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectGrantMemberValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectGrantMemberValidationError{} + +// Validate checks the field values on ProjectGrantMemberAdd with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectGrantMemberAdd) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetProjectId()) < 1 { + return ProjectGrantMemberAddValidationError{ + field: "ProjectId", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetGrantId()) < 1 { + return ProjectGrantMemberAddValidationError{ + field: "GrantId", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return ProjectGrantMemberAddValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// ProjectGrantMemberAddValidationError is the validation error returned by +// ProjectGrantMemberAdd.Validate if the designated constraints aren't met. +type ProjectGrantMemberAddValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectGrantMemberAddValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectGrantMemberAddValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectGrantMemberAddValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectGrantMemberAddValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectGrantMemberAddValidationError) ErrorName() string { + return "ProjectGrantMemberAddValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectGrantMemberAddValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectGrantMemberAdd.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectGrantMemberAddValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectGrantMemberAddValidationError{} + +// Validate checks the field values on ProjectGrantMemberChange with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectGrantMemberChange) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetProjectId()) < 1 { + return ProjectGrantMemberChangeValidationError{ + field: "ProjectId", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetGrantId()) < 1 { + return ProjectGrantMemberChangeValidationError{ + field: "GrantId", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return ProjectGrantMemberChangeValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// ProjectGrantMemberChangeValidationError is the validation error returned by +// ProjectGrantMemberChange.Validate if the designated constraints aren't met. +type ProjectGrantMemberChangeValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectGrantMemberChangeValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectGrantMemberChangeValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectGrantMemberChangeValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectGrantMemberChangeValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectGrantMemberChangeValidationError) ErrorName() string { + return "ProjectGrantMemberChangeValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectGrantMemberChangeValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectGrantMemberChange.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectGrantMemberChangeValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectGrantMemberChangeValidationError{} + +// Validate checks the field values on ProjectGrantMemberRemove with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectGrantMemberRemove) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetProjectId()) < 1 { + return ProjectGrantMemberRemoveValidationError{ + field: "ProjectId", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetGrantId()) < 1 { + return ProjectGrantMemberRemoveValidationError{ + field: "GrantId", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return ProjectGrantMemberRemoveValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// ProjectGrantMemberRemoveValidationError is the validation error returned by +// ProjectGrantMemberRemove.Validate if the designated constraints aren't met. +type ProjectGrantMemberRemoveValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectGrantMemberRemoveValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectGrantMemberRemoveValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectGrantMemberRemoveValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectGrantMemberRemoveValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectGrantMemberRemoveValidationError) ErrorName() string { + return "ProjectGrantMemberRemoveValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectGrantMemberRemoveValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectGrantMemberRemove.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectGrantMemberRemoveValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectGrantMemberRemoveValidationError{} + +// Validate checks the field values on ProjectGrantMemberView with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectGrantMemberView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for UserId + + // no validation rules for UserName + + // no validation rules for Email + + // no validation rules for FirstName + + // no validation rules for LastName + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectGrantMemberViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectGrantMemberViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + // no validation rules for DisplayName + + return nil +} + +// ProjectGrantMemberViewValidationError is the validation error returned by +// ProjectGrantMemberView.Validate if the designated constraints aren't met. +type ProjectGrantMemberViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectGrantMemberViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectGrantMemberViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectGrantMemberViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectGrantMemberViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectGrantMemberViewValidationError) ErrorName() string { + return "ProjectGrantMemberViewValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectGrantMemberViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectGrantMemberView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectGrantMemberViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectGrantMemberViewValidationError{} + +// Validate checks the field values on ProjectGrantMemberSearchResponse with +// the rules defined in the proto definition for this message. If any rules +// are violated, an error is returned. +func (m *ProjectGrantMemberSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectGrantMemberSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectGrantMemberSearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// ProjectGrantMemberSearchResponseValidationError is the validation error +// returned by ProjectGrantMemberSearchResponse.Validate if the designated +// constraints aren't met. +type ProjectGrantMemberSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectGrantMemberSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectGrantMemberSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectGrantMemberSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectGrantMemberSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectGrantMemberSearchResponseValidationError) ErrorName() string { + return "ProjectGrantMemberSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectGrantMemberSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectGrantMemberSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectGrantMemberSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectGrantMemberSearchResponseValidationError{} + +// Validate checks the field values on ProjectGrantMemberSearchRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectGrantMemberSearchRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetProjectId()) < 1 { + return ProjectGrantMemberSearchRequestValidationError{ + field: "ProjectId", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetGrantId()) < 1 { + return ProjectGrantMemberSearchRequestValidationError{ + field: "GrantId", + reason: "value length must be at least 1 runes", + } + } + + // no validation rules for Offset + + // no validation rules for Limit + + for idx, item := range m.GetQueries() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ProjectGrantMemberSearchRequestValidationError{ + field: fmt.Sprintf("Queries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// ProjectGrantMemberSearchRequestValidationError is the validation error +// returned by ProjectGrantMemberSearchRequest.Validate if the designated +// constraints aren't met. +type ProjectGrantMemberSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectGrantMemberSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectGrantMemberSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectGrantMemberSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectGrantMemberSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectGrantMemberSearchRequestValidationError) ErrorName() string { + return "ProjectGrantMemberSearchRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectGrantMemberSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectGrantMemberSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectGrantMemberSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectGrantMemberSearchRequestValidationError{} + +// Validate checks the field values on ProjectGrantMemberSearchQuery with the +// rules defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *ProjectGrantMemberSearchQuery) Validate() error { + if m == nil { + return nil + } + + if _, ok := _ProjectGrantMemberSearchQuery_Key_NotInLookup[m.GetKey()]; ok { + return ProjectGrantMemberSearchQueryValidationError{ + field: "Key", + reason: "value must not be in list [0]", + } + } + + // no validation rules for Method + + // no validation rules for Value + + return nil +} + +// ProjectGrantMemberSearchQueryValidationError is the validation error +// returned by ProjectGrantMemberSearchQuery.Validate if the designated +// constraints aren't met. +type ProjectGrantMemberSearchQueryValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ProjectGrantMemberSearchQueryValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ProjectGrantMemberSearchQueryValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ProjectGrantMemberSearchQueryValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ProjectGrantMemberSearchQueryValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ProjectGrantMemberSearchQueryValidationError) ErrorName() string { + return "ProjectGrantMemberSearchQueryValidationError" +} + +// Error satisfies the builtin error interface +func (e ProjectGrantMemberSearchQueryValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sProjectGrantMemberSearchQuery.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ProjectGrantMemberSearchQueryValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ProjectGrantMemberSearchQueryValidationError{} + +var _ProjectGrantMemberSearchQuery_Key_NotInLookup = map[ProjectGrantMemberSearchKey]struct{}{ + 0: {}, +} + +// Validate checks the field values on UserGrant with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *UserGrant) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for UserId + + // no validation rules for OrgId + + // no validation rules for ProjectId + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserGrantValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserGrantValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + // no validation rules for GrantId + + return nil +} + +// UserGrantValidationError is the validation error returned by +// UserGrant.Validate if the designated constraints aren't met. +type UserGrantValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserGrantValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserGrantValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserGrantValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserGrantValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserGrantValidationError) ErrorName() string { return "UserGrantValidationError" } + +// Error satisfies the builtin error interface +func (e UserGrantValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserGrant.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserGrantValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserGrantValidationError{} + +// Validate checks the field values on UserGrantCreate with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *UserGrantCreate) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return UserGrantCreateValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetProjectId()) < 1 { + return UserGrantCreateValidationError{ + field: "ProjectId", + reason: "value length must be at least 1 runes", + } + } + + // no validation rules for GrantId + + return nil +} + +// UserGrantCreateValidationError is the validation error returned by +// UserGrantCreate.Validate if the designated constraints aren't met. +type UserGrantCreateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserGrantCreateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserGrantCreateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserGrantCreateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserGrantCreateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserGrantCreateValidationError) ErrorName() string { return "UserGrantCreateValidationError" } + +// Error satisfies the builtin error interface +func (e UserGrantCreateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserGrantCreate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserGrantCreateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserGrantCreateValidationError{} + +// Validate checks the field values on UserGrantUpdate with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *UserGrantUpdate) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return UserGrantUpdateValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return UserGrantUpdateValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// UserGrantUpdateValidationError is the validation error returned by +// UserGrantUpdate.Validate if the designated constraints aren't met. +type UserGrantUpdateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserGrantUpdateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserGrantUpdateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserGrantUpdateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserGrantUpdateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserGrantUpdateValidationError) ErrorName() string { return "UserGrantUpdateValidationError" } + +// Error satisfies the builtin error interface +func (e UserGrantUpdateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserGrantUpdate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserGrantUpdateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserGrantUpdateValidationError{} + +// Validate checks the field values on UserGrantRemoveBulk with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UserGrantRemoveBulk) Validate() error { + if m == nil { + return nil + } + + if len(m.GetIds()) < 1 { + return UserGrantRemoveBulkValidationError{ + field: "Ids", + reason: "value must contain at least 1 item(s)", + } + } + + return nil +} + +// UserGrantRemoveBulkValidationError is the validation error returned by +// UserGrantRemoveBulk.Validate if the designated constraints aren't met. +type UserGrantRemoveBulkValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserGrantRemoveBulkValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserGrantRemoveBulkValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserGrantRemoveBulkValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserGrantRemoveBulkValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserGrantRemoveBulkValidationError) ErrorName() string { + return "UserGrantRemoveBulkValidationError" +} + +// Error satisfies the builtin error interface +func (e UserGrantRemoveBulkValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserGrantRemoveBulk.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserGrantRemoveBulkValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserGrantRemoveBulkValidationError{} + +// Validate checks the field values on UserGrantID with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *UserGrantID) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return UserGrantIDValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return UserGrantIDValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// UserGrantIDValidationError is the validation error returned by +// UserGrantID.Validate if the designated constraints aren't met. +type UserGrantIDValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserGrantIDValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserGrantIDValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserGrantIDValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserGrantIDValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserGrantIDValidationError) ErrorName() string { return "UserGrantIDValidationError" } + +// Error satisfies the builtin error interface +func (e UserGrantIDValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserGrantID.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserGrantIDValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserGrantIDValidationError{} + +// Validate checks the field values on UserGrantView with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *UserGrantView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for UserId + + // no validation rules for OrgId + + // no validation rules for ProjectId + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserGrantViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserGrantViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for UserName + + // no validation rules for FirstName + + // no validation rules for LastName + + // no validation rules for Email + + // no validation rules for OrgName + + // no validation rules for OrgDomain + + // no validation rules for ProjectName + + // no validation rules for Sequence + + // no validation rules for ResourceOwner + + // no validation rules for DisplayName + + // no validation rules for GrantId + + return nil +} + +// UserGrantViewValidationError is the validation error returned by +// UserGrantView.Validate if the designated constraints aren't met. +type UserGrantViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserGrantViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserGrantViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserGrantViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserGrantViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserGrantViewValidationError) ErrorName() string { return "UserGrantViewValidationError" } + +// Error satisfies the builtin error interface +func (e UserGrantViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserGrantView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserGrantViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserGrantViewValidationError{} + +// Validate checks the field values on UserGrantSearchResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UserGrantSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserGrantSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserGrantSearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// UserGrantSearchResponseValidationError is the validation error returned by +// UserGrantSearchResponse.Validate if the designated constraints aren't met. +type UserGrantSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserGrantSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserGrantSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserGrantSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserGrantSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserGrantSearchResponseValidationError) ErrorName() string { + return "UserGrantSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e UserGrantSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserGrantSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserGrantSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserGrantSearchResponseValidationError{} + +// Validate checks the field values on UserGrantSearchRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UserGrantSearchRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + for idx, item := range m.GetQueries() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserGrantSearchRequestValidationError{ + field: fmt.Sprintf("Queries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// UserGrantSearchRequestValidationError is the validation error returned by +// UserGrantSearchRequest.Validate if the designated constraints aren't met. +type UserGrantSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserGrantSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserGrantSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserGrantSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserGrantSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserGrantSearchRequestValidationError) ErrorName() string { + return "UserGrantSearchRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e UserGrantSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserGrantSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserGrantSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserGrantSearchRequestValidationError{} + +// Validate checks the field values on UserGrantSearchQuery with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UserGrantSearchQuery) Validate() error { + if m == nil { + return nil + } + + if _, ok := _UserGrantSearchQuery_Key_NotInLookup[m.GetKey()]; ok { + return UserGrantSearchQueryValidationError{ + field: "Key", + reason: "value must not be in list [0]", + } + } + + if _, ok := _UserGrantSearchQuery_Method_InLookup[m.GetMethod()]; !ok { + return UserGrantSearchQueryValidationError{ + field: "Method", + reason: "value must be in list [0]", + } + } + + // no validation rules for Value + + return nil +} + +// UserGrantSearchQueryValidationError is the validation error returned by +// UserGrantSearchQuery.Validate if the designated constraints aren't met. +type UserGrantSearchQueryValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserGrantSearchQueryValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserGrantSearchQueryValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserGrantSearchQueryValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserGrantSearchQueryValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserGrantSearchQueryValidationError) ErrorName() string { + return "UserGrantSearchQueryValidationError" +} + +// Error satisfies the builtin error interface +func (e UserGrantSearchQueryValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserGrantSearchQuery.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserGrantSearchQueryValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserGrantSearchQueryValidationError{} + +var _UserGrantSearchQuery_Key_NotInLookup = map[UserGrantSearchKey]struct{}{ + 0: {}, +} + +var _UserGrantSearchQuery_Method_InLookup = map[SearchMethod]struct{}{ + 0: {}, +} + +// Validate checks the field values on UserMembershipSearchResponse with the +// rules defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UserMembershipSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserMembershipSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserMembershipSearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// UserMembershipSearchResponseValidationError is the validation error returned +// by UserMembershipSearchResponse.Validate if the designated constraints +// aren't met. +type UserMembershipSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserMembershipSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserMembershipSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserMembershipSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserMembershipSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserMembershipSearchResponseValidationError) ErrorName() string { + return "UserMembershipSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e UserMembershipSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserMembershipSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserMembershipSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserMembershipSearchResponseValidationError{} + +// Validate checks the field values on UserMembershipSearchRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UserMembershipSearchRequest) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetUserId()) < 1 { + return UserMembershipSearchRequestValidationError{ + field: "UserId", + reason: "value length must be at least 1 runes", + } + } + + // no validation rules for Offset + + // no validation rules for Limit + + for idx, item := range m.GetQueries() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserMembershipSearchRequestValidationError{ + field: fmt.Sprintf("Queries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// UserMembershipSearchRequestValidationError is the validation error returned +// by UserMembershipSearchRequest.Validate if the designated constraints +// aren't met. +type UserMembershipSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserMembershipSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserMembershipSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserMembershipSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserMembershipSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserMembershipSearchRequestValidationError) ErrorName() string { + return "UserMembershipSearchRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e UserMembershipSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserMembershipSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserMembershipSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserMembershipSearchRequestValidationError{} + +// Validate checks the field values on UserMembershipSearchQuery with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UserMembershipSearchQuery) Validate() error { + if m == nil { + return nil + } + + if _, ok := _UserMembershipSearchQuery_Key_NotInLookup[m.GetKey()]; ok { + return UserMembershipSearchQueryValidationError{ + field: "Key", + reason: "value must not be in list [0]", + } + } + + if _, ok := _UserMembershipSearchQuery_Method_InLookup[m.GetMethod()]; !ok { + return UserMembershipSearchQueryValidationError{ + field: "Method", + reason: "value must be in list [0]", + } + } + + // no validation rules for Value + + return nil +} + +// UserMembershipSearchQueryValidationError is the validation error returned by +// UserMembershipSearchQuery.Validate if the designated constraints aren't met. +type UserMembershipSearchQueryValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserMembershipSearchQueryValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserMembershipSearchQueryValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserMembershipSearchQueryValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserMembershipSearchQueryValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserMembershipSearchQueryValidationError) ErrorName() string { + return "UserMembershipSearchQueryValidationError" +} + +// Error satisfies the builtin error interface +func (e UserMembershipSearchQueryValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserMembershipSearchQuery.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserMembershipSearchQueryValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserMembershipSearchQueryValidationError{} + +var _UserMembershipSearchQuery_Key_NotInLookup = map[UserMembershipSearchKey]struct{}{ + 0: {}, +} + +var _UserMembershipSearchQuery_Method_InLookup = map[SearchMethod]struct{}{ + 0: {}, +} + +// Validate checks the field values on UserMembershipView with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *UserMembershipView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for UserId + + // no validation rules for MemberType + + // no validation rules for AggregateId + + // no validation rules for ObjectId + + // no validation rules for DisplayName + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserMembershipViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UserMembershipViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Sequence + + // no validation rules for ResourceOwner + + return nil +} + +// UserMembershipViewValidationError is the validation error returned by +// UserMembershipView.Validate if the designated constraints aren't met. +type UserMembershipViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UserMembershipViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UserMembershipViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UserMembershipViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UserMembershipViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UserMembershipViewValidationError) ErrorName() string { + return "UserMembershipViewValidationError" +} + +// Error satisfies the builtin error interface +func (e UserMembershipViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUserMembershipView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UserMembershipViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UserMembershipViewValidationError{} + +// Validate checks the field values on IdpID with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *IdpID) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return IdpIDValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// IdpIDValidationError is the validation error returned by IdpID.Validate if +// the designated constraints aren't met. +type IdpIDValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpIDValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpIDValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpIDValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpIDValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpIDValidationError) ErrorName() string { return "IdpIDValidationError" } + +// Error satisfies the builtin error interface +func (e IdpIDValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpID.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpIDValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpIDValidationError{} + +// Validate checks the field values on Idp with the rules defined in the proto +// definition for this message. If any rules are violated, an error is returned. +func (m *Idp) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Name + + // no validation rules for LogoSrc + + // no validation rules for Sequence + + switch m.IdpConfig.(type) { + + case *Idp_OidcConfig: + + if v, ok := interface{}(m.GetOidcConfig()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpValidationError{ + field: "OidcConfig", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// IdpValidationError is the validation error returned by Idp.Validate if the +// designated constraints aren't met. +type IdpValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpValidationError) ErrorName() string { return "IdpValidationError" } + +// Error satisfies the builtin error interface +func (e IdpValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpValidationError{} + +// Validate checks the field values on IdpUpdate with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *IdpUpdate) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetId()) < 1 { + return IdpUpdateValidationError{ + field: "Id", + reason: "value length must be at least 1 runes", + } + } + + if l := utf8.RuneCountInString(m.GetName()); l < 1 || l > 200 { + return IdpUpdateValidationError{ + field: "Name", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + // no validation rules for LogoSrc + + return nil +} + +// IdpUpdateValidationError is the validation error returned by +// IdpUpdate.Validate if the designated constraints aren't met. +type IdpUpdateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpUpdateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpUpdateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpUpdateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpUpdateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpUpdateValidationError) ErrorName() string { return "IdpUpdateValidationError" } + +// Error satisfies the builtin error interface +func (e IdpUpdateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpUpdate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpUpdateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpUpdateValidationError{} + +// Validate checks the field values on OidcIdpConfig with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *OidcIdpConfig) Validate() error { + if m == nil { + return nil + } + + // no validation rules for ClientId + + // no validation rules for ClientSecret + + // no validation rules for Issuer + + return nil +} + +// OidcIdpConfigValidationError is the validation error returned by +// OidcIdpConfig.Validate if the designated constraints aren't met. +type OidcIdpConfigValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OidcIdpConfigValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OidcIdpConfigValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OidcIdpConfigValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OidcIdpConfigValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OidcIdpConfigValidationError) ErrorName() string { return "OidcIdpConfigValidationError" } + +// Error satisfies the builtin error interface +func (e OidcIdpConfigValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOidcIdpConfig.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OidcIdpConfigValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OidcIdpConfigValidationError{} + +// Validate checks the field values on OidcIdpConfigCreate with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *OidcIdpConfigCreate) Validate() error { + if m == nil { + return nil + } + + if l := utf8.RuneCountInString(m.GetName()); l < 1 || l > 200 { + return OidcIdpConfigCreateValidationError{ + field: "Name", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + // no validation rules for LogoSrc + + if l := utf8.RuneCountInString(m.GetClientId()); l < 1 || l > 200 { + return OidcIdpConfigCreateValidationError{ + field: "ClientId", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + if l := utf8.RuneCountInString(m.GetClientSecret()); l < 1 || l > 200 { + return OidcIdpConfigCreateValidationError{ + field: "ClientSecret", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + if l := utf8.RuneCountInString(m.GetIssuer()); l < 1 || l > 200 { + return OidcIdpConfigCreateValidationError{ + field: "Issuer", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + return nil +} + +// OidcIdpConfigCreateValidationError is the validation error returned by +// OidcIdpConfigCreate.Validate if the designated constraints aren't met. +type OidcIdpConfigCreateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OidcIdpConfigCreateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OidcIdpConfigCreateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OidcIdpConfigCreateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OidcIdpConfigCreateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OidcIdpConfigCreateValidationError) ErrorName() string { + return "OidcIdpConfigCreateValidationError" +} + +// Error satisfies the builtin error interface +func (e OidcIdpConfigCreateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOidcIdpConfigCreate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OidcIdpConfigCreateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OidcIdpConfigCreateValidationError{} + +// Validate checks the field values on OidcIdpConfigUpdate with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *OidcIdpConfigUpdate) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetIdpId()) < 1 { + return OidcIdpConfigUpdateValidationError{ + field: "IdpId", + reason: "value length must be at least 1 runes", + } + } + + if l := utf8.RuneCountInString(m.GetClientId()); l < 1 || l > 200 { + return OidcIdpConfigUpdateValidationError{ + field: "ClientId", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + // no validation rules for ClientSecret + + if l := utf8.RuneCountInString(m.GetIssuer()); l < 1 || l > 200 { + return OidcIdpConfigUpdateValidationError{ + field: "Issuer", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + return nil +} + +// OidcIdpConfigUpdateValidationError is the validation error returned by +// OidcIdpConfigUpdate.Validate if the designated constraints aren't met. +type OidcIdpConfigUpdateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OidcIdpConfigUpdateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OidcIdpConfigUpdateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OidcIdpConfigUpdateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OidcIdpConfigUpdateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OidcIdpConfigUpdateValidationError) ErrorName() string { + return "OidcIdpConfigUpdateValidationError" +} + +// Error satisfies the builtin error interface +func (e OidcIdpConfigUpdateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOidcIdpConfigUpdate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OidcIdpConfigUpdateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OidcIdpConfigUpdateValidationError{} + +// Validate checks the field values on IdpSearchResponse with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *IdpSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpSearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// IdpSearchResponseValidationError is the validation error returned by +// IdpSearchResponse.Validate if the designated constraints aren't met. +type IdpSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpSearchResponseValidationError) ErrorName() string { + return "IdpSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e IdpSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpSearchResponseValidationError{} + +// Validate checks the field values on IdpView with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *IdpView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Id + + // no validation rules for State + + if v, ok := interface{}(m.GetCreationDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpViewValidationError{ + field: "CreationDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetChangeDate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpViewValidationError{ + field: "ChangeDate", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Name + + // no validation rules for LogoSrc + + // no validation rules for ProviderType + + // no validation rules for Sequence + + switch m.IdpConfigView.(type) { + + case *IdpView_OidcConfig: + + if v, ok := interface{}(m.GetOidcConfig()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpViewValidationError{ + field: "OidcConfig", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// IdpViewValidationError is the validation error returned by IdpView.Validate +// if the designated constraints aren't met. +type IdpViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpViewValidationError) ErrorName() string { return "IdpViewValidationError" } + +// Error satisfies the builtin error interface +func (e IdpViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpViewValidationError{} + +// Validate checks the field values on OidcIdpConfigView with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *OidcIdpConfigView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for ClientId + + // no validation rules for Issuer + + return nil +} + +// OidcIdpConfigViewValidationError is the validation error returned by +// OidcIdpConfigView.Validate if the designated constraints aren't met. +type OidcIdpConfigViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OidcIdpConfigViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OidcIdpConfigViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OidcIdpConfigViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OidcIdpConfigViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OidcIdpConfigViewValidationError) ErrorName() string { + return "OidcIdpConfigViewValidationError" +} + +// Error satisfies the builtin error interface +func (e OidcIdpConfigViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOidcIdpConfigView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OidcIdpConfigViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OidcIdpConfigViewValidationError{} + +// Validate checks the field values on IdpSearchRequest with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *IdpSearchRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + for idx, item := range m.GetQueries() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpSearchRequestValidationError{ + field: fmt.Sprintf("Queries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// IdpSearchRequestValidationError is the validation error returned by +// IdpSearchRequest.Validate if the designated constraints aren't met. +type IdpSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpSearchRequestValidationError) ErrorName() string { return "IdpSearchRequestValidationError" } + +// Error satisfies the builtin error interface +func (e IdpSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpSearchRequestValidationError{} + +// Validate checks the field values on IdpSearchQuery with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *IdpSearchQuery) Validate() error { + if m == nil { + return nil + } + + if _, ok := _IdpSearchQuery_Key_NotInLookup[m.GetKey()]; ok { + return IdpSearchQueryValidationError{ + field: "Key", + reason: "value must not be in list [0]", + } + } + + // no validation rules for Method + + // no validation rules for Value + + return nil +} + +// IdpSearchQueryValidationError is the validation error returned by +// IdpSearchQuery.Validate if the designated constraints aren't met. +type IdpSearchQueryValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpSearchQueryValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpSearchQueryValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpSearchQueryValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpSearchQueryValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpSearchQueryValidationError) ErrorName() string { return "IdpSearchQueryValidationError" } + +// Error satisfies the builtin error interface +func (e IdpSearchQueryValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpSearchQuery.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpSearchQueryValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpSearchQueryValidationError{} + +var _IdpSearchQuery_Key_NotInLookup = map[IdpSearchKey]struct{}{ + 0: {}, +} + +// Validate checks the field values on LoginPolicy with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *LoginPolicy) Validate() error { + if m == nil { + return nil + } + + // no validation rules for AllowUsernamePassword + + // no validation rules for AllowRegister + + // no validation rules for AllowExternalIdp + + return nil +} + +// LoginPolicyValidationError is the validation error returned by +// LoginPolicy.Validate if the designated constraints aren't met. +type LoginPolicyValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e LoginPolicyValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e LoginPolicyValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e LoginPolicyValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e LoginPolicyValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e LoginPolicyValidationError) ErrorName() string { return "LoginPolicyValidationError" } + +// Error satisfies the builtin error interface +func (e LoginPolicyValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sLoginPolicy.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = LoginPolicyValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = LoginPolicyValidationError{} + +// Validate checks the field values on LoginPolicyAdd with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *LoginPolicyAdd) Validate() error { + if m == nil { + return nil + } + + // no validation rules for AllowUsernamePassword + + // no validation rules for AllowRegister + + // no validation rules for AllowExternalIdp + + return nil +} + +// LoginPolicyAddValidationError is the validation error returned by +// LoginPolicyAdd.Validate if the designated constraints aren't met. +type LoginPolicyAddValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e LoginPolicyAddValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e LoginPolicyAddValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e LoginPolicyAddValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e LoginPolicyAddValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e LoginPolicyAddValidationError) ErrorName() string { return "LoginPolicyAddValidationError" } + +// Error satisfies the builtin error interface +func (e LoginPolicyAddValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sLoginPolicyAdd.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = LoginPolicyAddValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = LoginPolicyAddValidationError{} + +// Validate checks the field values on IdpProviderID with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *IdpProviderID) Validate() error { + if m == nil { + return nil + } + + if utf8.RuneCountInString(m.GetIdpConfigId()) < 1 { + return IdpProviderIDValidationError{ + field: "IdpConfigId", + reason: "value length must be at least 1 runes", + } + } + + return nil +} + +// IdpProviderIDValidationError is the validation error returned by +// IdpProviderID.Validate if the designated constraints aren't met. +type IdpProviderIDValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpProviderIDValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpProviderIDValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpProviderIDValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpProviderIDValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpProviderIDValidationError) ErrorName() string { return "IdpProviderIDValidationError" } + +// Error satisfies the builtin error interface +func (e IdpProviderIDValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpProviderID.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpProviderIDValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpProviderIDValidationError{} + +// Validate checks the field values on IdpProviderAdd with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *IdpProviderAdd) Validate() error { + if m == nil { + return nil + } + + if l := utf8.RuneCountInString(m.GetIdpConfigId()); l < 1 || l > 200 { + return IdpProviderAddValidationError{ + field: "IdpConfigId", + reason: "value length must be between 1 and 200 runes, inclusive", + } + } + + if _, ok := _IdpProviderAdd_IdpProviderType_NotInLookup[m.GetIdpProviderType()]; ok { + return IdpProviderAddValidationError{ + field: "IdpProviderType", + reason: "value must not be in list [0]", + } + } + + return nil +} + +// IdpProviderAddValidationError is the validation error returned by +// IdpProviderAdd.Validate if the designated constraints aren't met. +type IdpProviderAddValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpProviderAddValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpProviderAddValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpProviderAddValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpProviderAddValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpProviderAddValidationError) ErrorName() string { return "IdpProviderAddValidationError" } + +// Error satisfies the builtin error interface +func (e IdpProviderAddValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpProviderAdd.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpProviderAddValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpProviderAddValidationError{} + +var _IdpProviderAdd_IdpProviderType_NotInLookup = map[IdpProviderType]struct{}{ + 0: {}, +} + +// Validate checks the field values on IdpProvider with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *IdpProvider) Validate() error { + if m == nil { + return nil + } + + // no validation rules for IdpConfigId + + // no validation rules for IdpProvider_Type + + return nil +} + +// IdpProviderValidationError is the validation error returned by +// IdpProvider.Validate if the designated constraints aren't met. +type IdpProviderValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpProviderValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpProviderValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpProviderValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpProviderValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpProviderValidationError) ErrorName() string { return "IdpProviderValidationError" } + +// Error satisfies the builtin error interface +func (e IdpProviderValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpProvider.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpProviderValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpProviderValidationError{} + +// Validate checks the field values on LoginPolicyView with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *LoginPolicyView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Default + + // no validation rules for AllowUsernamePassword + + // no validation rules for AllowRegister + + // no validation rules for AllowExternalIdp + + return nil +} + +// LoginPolicyViewValidationError is the validation error returned by +// LoginPolicyView.Validate if the designated constraints aren't met. +type LoginPolicyViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e LoginPolicyViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e LoginPolicyViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e LoginPolicyViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e LoginPolicyViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e LoginPolicyViewValidationError) ErrorName() string { return "LoginPolicyViewValidationError" } + +// Error satisfies the builtin error interface +func (e LoginPolicyViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sLoginPolicyView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = LoginPolicyViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = LoginPolicyViewValidationError{} + +// Validate checks the field values on IdpProviderView with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *IdpProviderView) Validate() error { + if m == nil { + return nil + } + + // no validation rules for IdpConfigId + + // no validation rules for Name + + // no validation rules for Type + + return nil +} + +// IdpProviderViewValidationError is the validation error returned by +// IdpProviderView.Validate if the designated constraints aren't met. +type IdpProviderViewValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpProviderViewValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpProviderViewValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpProviderViewValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpProviderViewValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpProviderViewValidationError) ErrorName() string { return "IdpProviderViewValidationError" } + +// Error satisfies the builtin error interface +func (e IdpProviderViewValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpProviderView.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpProviderViewValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpProviderViewValidationError{} + +// Validate checks the field values on IdpProviderSearchResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *IdpProviderSearchResponse) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + // no validation rules for TotalResult + + for idx, item := range m.GetResult() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpProviderSearchResponseValidationError{ + field: fmt.Sprintf("Result[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProcessedSequence + + if v, ok := interface{}(m.GetViewTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return IdpProviderSearchResponseValidationError{ + field: "ViewTimestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// IdpProviderSearchResponseValidationError is the validation error returned by +// IdpProviderSearchResponse.Validate if the designated constraints aren't met. +type IdpProviderSearchResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpProviderSearchResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpProviderSearchResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpProviderSearchResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpProviderSearchResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpProviderSearchResponseValidationError) ErrorName() string { + return "IdpProviderSearchResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e IdpProviderSearchResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpProviderSearchResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpProviderSearchResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpProviderSearchResponseValidationError{} + +// Validate checks the field values on IdpProviderSearchRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *IdpProviderSearchRequest) Validate() error { + if m == nil { + return nil + } + + // no validation rules for Offset + + // no validation rules for Limit + + return nil +} + +// IdpProviderSearchRequestValidationError is the validation error returned by +// IdpProviderSearchRequest.Validate if the designated constraints aren't met. +type IdpProviderSearchRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e IdpProviderSearchRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e IdpProviderSearchRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e IdpProviderSearchRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e IdpProviderSearchRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e IdpProviderSearchRequestValidationError) ErrorName() string { + return "IdpProviderSearchRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e IdpProviderSearchRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sIdpProviderSearchRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = IdpProviderSearchRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = IdpProviderSearchRequestValidationError{} diff --git a/pkg/grpc/management/mock/management.proto.mock.go b/pkg/grpc/management/mock/management.proto.mock.go index 89ce144371..865602a630 100644 --- a/pkg/grpc/management/mock/management.proto.mock.go +++ b/pkg/grpc/management/mock/management.proto.mock.go @@ -57,6 +57,26 @@ func (mr *MockManagementServiceClientMockRecorder) AddIdpProviderToLoginPolicy(a return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddIdpProviderToLoginPolicy", reflect.TypeOf((*MockManagementServiceClient)(nil).AddIdpProviderToLoginPolicy), varargs...) } +// AddMachineKey mocks base method +func (m *MockManagementServiceClient) AddMachineKey(arg0 context.Context, arg1 *management.AddMachineKeyRequest, arg2 ...grpc.CallOption) (*management.AddMachineKeyResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddMachineKey", varargs...) + ret0, _ := ret[0].(*management.AddMachineKeyResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// AddMachineKey indicates an expected call of AddMachineKey +func (mr *MockManagementServiceClientMockRecorder) AddMachineKey(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMachineKey", reflect.TypeOf((*MockManagementServiceClient)(nil).AddMachineKey), varargs...) +} + // AddMyOrgDomain mocks base method func (m *MockManagementServiceClient) AddMyOrgDomain(arg0 context.Context, arg1 *management.AddOrgDomainRequest, arg2 ...grpc.CallOption) (*management.OrgDomain, error) { m.ctrl.T.Helper() @@ -558,14 +578,14 @@ func (mr *MockManagementServiceClientMockRecorder) CreateProjectGrant(arg0, arg1 } // CreateUser mocks base method -func (m *MockManagementServiceClient) CreateUser(arg0 context.Context, arg1 *management.CreateUserRequest, arg2 ...grpc.CallOption) (*management.User, error) { +func (m *MockManagementServiceClient) CreateUser(arg0 context.Context, arg1 *management.CreateUserRequest, arg2 ...grpc.CallOption) (*management.UserResponse, error) { m.ctrl.T.Helper() varargs := []interface{}{arg0, arg1} for _, a := range arg2 { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "CreateUser", varargs...) - ret0, _ := ret[0].(*management.User) + ret0, _ := ret[0].(*management.UserResponse) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -698,14 +718,14 @@ func (mr *MockManagementServiceClientMockRecorder) DeactivateProjectGrant(arg0, } // DeactivateUser mocks base method -func (m *MockManagementServiceClient) DeactivateUser(arg0 context.Context, arg1 *management.UserID, arg2 ...grpc.CallOption) (*management.User, error) { +func (m *MockManagementServiceClient) DeactivateUser(arg0 context.Context, arg1 *management.UserID, arg2 ...grpc.CallOption) (*management.UserResponse, error) { m.ctrl.T.Helper() varargs := []interface{}{arg0, arg1} for _, a := range arg2 { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "DeactivateUser", varargs...) - ret0, _ := ret[0].(*management.User) + ret0, _ := ret[0].(*management.UserResponse) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -737,6 +757,26 @@ func (mr *MockManagementServiceClientMockRecorder) DeactivateUserGrant(arg0, arg return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeactivateUserGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).DeactivateUserGrant), varargs...) } +// DeleteMachineKey mocks base method +func (m *MockManagementServiceClient) DeleteMachineKey(arg0 context.Context, arg1 *management.MachineKeyIDRequest, arg2 ...grpc.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteMachineKey", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteMachineKey indicates an expected call of DeleteMachineKey +func (mr *MockManagementServiceClientMockRecorder) DeleteMachineKey(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteMachineKey", reflect.TypeOf((*MockManagementServiceClient)(nil).DeleteMachineKey), varargs...) +} + // DeletePasswordAgePolicy mocks base method func (m *MockManagementServiceClient) DeletePasswordAgePolicy(arg0 context.Context, arg1 *management.PasswordAgePolicyID, arg2 ...grpc.CallOption) (*emptypb.Empty, error) { m.ctrl.T.Helper() @@ -937,6 +977,26 @@ func (mr *MockManagementServiceClientMockRecorder) GetLoginPolicyIdpProviders(ar return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLoginPolicyIdpProviders", reflect.TypeOf((*MockManagementServiceClient)(nil).GetLoginPolicyIdpProviders), varargs...) } +// GetMachineKey mocks base method +func (m *MockManagementServiceClient) GetMachineKey(arg0 context.Context, arg1 *management.MachineKeyIDRequest, arg2 ...grpc.CallOption) (*management.MachineKeyView, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetMachineKey", varargs...) + ret0, _ := ret[0].(*management.MachineKeyView) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetMachineKey indicates an expected call of GetMachineKey +func (mr *MockManagementServiceClientMockRecorder) GetMachineKey(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMachineKey", reflect.TypeOf((*MockManagementServiceClient)(nil).GetMachineKey), varargs...) +} + // GetMyOrg mocks base method func (m *MockManagementServiceClient) GetMyOrg(arg0 context.Context, arg1 *emptypb.Empty, arg2 ...grpc.CallOption) (*management.OrgView, error) { m.ctrl.T.Helper() @@ -1338,14 +1398,14 @@ func (mr *MockManagementServiceClientMockRecorder) IsUserUnique(arg0, arg1 inter } // LockUser mocks base method -func (m *MockManagementServiceClient) LockUser(arg0 context.Context, arg1 *management.UserID, arg2 ...grpc.CallOption) (*management.User, error) { +func (m *MockManagementServiceClient) LockUser(arg0 context.Context, arg1 *management.UserID, arg2 ...grpc.CallOption) (*management.UserResponse, error) { m.ctrl.T.Helper() varargs := []interface{}{arg0, arg1} for _, a := range arg2 { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "LockUser", varargs...) - ret0, _ := ret[0].(*management.User) + ret0, _ := ret[0].(*management.UserResponse) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -1538,14 +1598,14 @@ func (mr *MockManagementServiceClientMockRecorder) ReactivateProjectGrant(arg0, } // ReactivateUser mocks base method -func (m *MockManagementServiceClient) ReactivateUser(arg0 context.Context, arg1 *management.UserID, arg2 ...grpc.CallOption) (*management.User, error) { +func (m *MockManagementServiceClient) ReactivateUser(arg0 context.Context, arg1 *management.UserID, arg2 ...grpc.CallOption) (*management.UserResponse, error) { m.ctrl.T.Helper() varargs := []interface{}{arg0, arg1} for _, a := range arg2 { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "ReactivateUser", varargs...) - ret0, _ := ret[0].(*management.User) + ret0, _ := ret[0].(*management.UserResponse) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -1977,6 +2037,26 @@ func (mr *MockManagementServiceClientMockRecorder) SearchIdps(arg0, arg1 interfa return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchIdps", reflect.TypeOf((*MockManagementServiceClient)(nil).SearchIdps), varargs...) } +// SearchMachineKeys mocks base method +func (m *MockManagementServiceClient) SearchMachineKeys(arg0 context.Context, arg1 *management.MachineKeySearchRequest, arg2 ...grpc.CallOption) (*management.MachineKeySearchResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SearchMachineKeys", varargs...) + ret0, _ := ret[0].(*management.MachineKeySearchResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SearchMachineKeys indicates an expected call of SearchMachineKeys +func (mr *MockManagementServiceClientMockRecorder) SearchMachineKeys(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchMachineKeys", reflect.TypeOf((*MockManagementServiceClient)(nil).SearchMachineKeys), varargs...) +} + // SearchMyOrgDomains mocks base method func (m *MockManagementServiceClient) SearchMyOrgDomains(arg0 context.Context, arg1 *management.OrgDomainSearchRequest, arg2 ...grpc.CallOption) (*management.OrgDomainSearchResponse, error) { m.ctrl.T.Helper() @@ -2238,14 +2318,14 @@ func (mr *MockManagementServiceClientMockRecorder) SetMyPrimaryOrgDomain(arg0, a } // UnlockUser mocks base method -func (m *MockManagementServiceClient) UnlockUser(arg0 context.Context, arg1 *management.UserID, arg2 ...grpc.CallOption) (*management.User, error) { +func (m *MockManagementServiceClient) UnlockUser(arg0 context.Context, arg1 *management.UserID, arg2 ...grpc.CallOption) (*management.UserResponse, error) { m.ctrl.T.Helper() varargs := []interface{}{arg0, arg1} for _, a := range arg2 { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "UnlockUser", varargs...) - ret0, _ := ret[0].(*management.User) + ret0, _ := ret[0].(*management.UserResponse) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -2497,6 +2577,26 @@ func (mr *MockManagementServiceClientMockRecorder) UpdateUserGrant(arg0, arg1 in return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateUserGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).UpdateUserGrant), varargs...) } +// UpdateUserMachine mocks base method +func (m *MockManagementServiceClient) UpdateUserMachine(arg0 context.Context, arg1 *management.UpdateMachineRequest, arg2 ...grpc.CallOption) (*management.MachineResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateUserMachine", varargs...) + ret0, _ := ret[0].(*management.MachineResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateUserMachine indicates an expected call of UpdateUserMachine +func (mr *MockManagementServiceClientMockRecorder) UpdateUserMachine(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateUserMachine", reflect.TypeOf((*MockManagementServiceClient)(nil).UpdateUserMachine), varargs...) +} + // UpdateUserProfile mocks base method func (m *MockManagementServiceClient) UpdateUserProfile(arg0 context.Context, arg1 *management.UpdateUserProfileRequest, arg2 ...grpc.CallOption) (*management.UserProfile, error) { m.ctrl.T.Helper() diff --git a/pkg/grpc/management/proto/generate.go b/pkg/grpc/management/proto/generate.go index bd6df39d0b..21e94d3e23 100644 --- a/pkg/grpc/management/proto/generate.go +++ b/pkg/grpc/management/proto/generate.go @@ -1,4 +1,4 @@ package proto -//go:generate protoc -I${GOPATH}/src -I../proto -I${GOPATH}/src/github.com/caos/zitadel/pkg/grpc/message -I${GOPATH}/src/github.com/grpc-ecosystem/grpc-gateway -I${GOPATH}/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis -I${GOPATH}/src/github.com/envoyproxy/protoc-gen-validate -I${GOPATH}/src/github.com/caos/zitadel/internal/protoc/protoc-gen-authoption --go_out=plugins=grpc:${GOPATH}/src --grpc-gateway_out=logtostderr=true,allow_delete_body=true:${GOPATH}/src --swagger_out=logtostderr=true,allow_delete_body=true:$GOPATH/src --authoption_out=.. management.proto +//go:generate protoc -I${GOPATH}/src -I../proto -I${GOPATH}/src/github.com/caos/zitadel/pkg/grpc/message -I${GOPATH}/src/github.com/grpc-ecosystem/grpc-gateway -I${GOPATH}/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis -I${GOPATH}/src/github.com/envoyproxy/protoc-gen-validate -I${GOPATH}/src/github.com/caos/zitadel/internal/protoc/protoc-gen-authoption --go_out=plugins=grpc:${GOPATH}/src --grpc-gateway_out=logtostderr=true,allow_delete_body=true:${GOPATH}/src --swagger_out=logtostderr=true,allow_delete_body=true:$GOPATH/src --authoption_out=.. --validate_out=lang=go:${GOPATH}/src management.proto //go:generate mockgen -package api -destination ../mock/management.proto.mock.go github.com/caos/zitadel/pkg/grpc/management ManagementServiceClient diff --git a/pkg/grpc/management/proto/management.proto b/pkg/grpc/management/proto/management.proto index be0ae5025d..7a410e932c 100644 --- a/pkg/grpc/management/proto/management.proto +++ b/pkg/grpc/management/proto/management.proto @@ -71,7 +71,17 @@ service ManagementService { }; } - rpc GetUserByID(UserID) returns (UserView) { + rpc IsUserUnique(UniqueUserRequest) returns (UniqueUserResponse) { + option (google.api.http) = { + get: "/users/_isunique" + }; + + option (caos.zitadel.utils.v1.auth_option) = { + permission: "user.read" + }; + } + +rpc GetUserByID(UserID) returns (UserView) { option (google.api.http) = { get: "/users/{id}" }; @@ -104,17 +114,7 @@ service ManagementService { }; } - rpc IsUserUnique(UniqueUserRequest) returns (UniqueUserResponse) { - option (google.api.http) = { - get: "/users/_isunique" - }; - - option (caos.zitadel.utils.v1.auth_option) = { - permission: "user.read" - }; - } - - rpc CreateUser(CreateUserRequest) returns (User) { + rpc CreateUser(CreateUserRequest) returns (UserResponse) { option (google.api.http) = { post: "/users" body: "*" @@ -125,7 +125,7 @@ service ManagementService { }; } - rpc DeactivateUser(UserID) returns (User) { + rpc DeactivateUser(UserID) returns (UserResponse) { option (google.api.http) = { put: "/users/{id}/_deactivate" body: "*" @@ -136,7 +136,7 @@ service ManagementService { }; } - rpc ReactivateUser(UserID) returns (User) { + rpc ReactivateUser(UserID) returns (UserResponse) { option (google.api.http) = { put: "/users/{id}/_reactivate" body: "*" @@ -147,7 +147,7 @@ service ManagementService { }; } - rpc LockUser(UserID) returns (User) { + rpc LockUser(UserID) returns (UserResponse) { option (google.api.http) = { put: "/users/{id}/_lock" body: "*" @@ -158,7 +158,7 @@ service ManagementService { }; } - rpc UnlockUser(UserID) returns (User) { + rpc UnlockUser(UserID) returns (UserResponse) { option (google.api.http) = { put: "/users/{id}/_unlock" body: "*" @@ -190,36 +190,45 @@ service ManagementService { }; } - // ApplicationChanges returns the event stream of the application object - rpc ApplicationChanges(ChangeRequest) returns (Changes) { + rpc AddMachineKey(AddMachineKeyRequest) returns (AddMachineKeyResponse) { option (google.api.http) = { - get: "/projects/{id}/applications/{sec_id}/changes" + post: "/users/{user_id}/keys" + body: "*" }; option (caos.zitadel.utils.v1.auth_option) = { - permission: "project.app.read" + permission: "user.write" }; } - // OrgChanges returns the event stream of the org object - rpc OrgChanges(ChangeRequest) returns (Changes) { + rpc DeleteMachineKey(MachineKeyIDRequest) returns (google.protobuf.Empty) { option (google.api.http) = { - get: "/orgs/{id}/changes" + delete: "/users/{user_id}/keys/{key_id}" }; option (caos.zitadel.utils.v1.auth_option) = { - permission: "org.read" + permission: "user.write" }; } - // ProjectChanges returns the event stream of the project object - rpc ProjectChanges(ChangeRequest) returns (Changes) { + rpc SearchMachineKeys(MachineKeySearchRequest) returns (MachineKeySearchResponse) { option (google.api.http) = { - get: "/projects/{id}/changes" + post: "/users/{user_id}/keys/_search" + body: "*" }; option (caos.zitadel.utils.v1.auth_option) = { - permission: "project.read" + permission: "user.read" + }; + } + + rpc GetMachineKey(MachineKeyIDRequest) returns (MachineKeyView) { + option (google.api.http) = { + get: "/users/{user_id}/keys/{key_id}" + }; + + option (caos.zitadel.utils.v1.auth_option) = { + permission: "user.read" }; } @@ -349,6 +358,17 @@ service ManagementService { }; } + rpc UpdateUserMachine(UpdateMachineRequest) returns (MachineResponse) { + option (google.api.http) = { + put: "/users/{id}/machine" + body: "*" + }; + + option (caos.zitadel.utils.v1.auth_option) = { + permission: "user.write" + }; + } + rpc GetUserMfas(UserID) returns (MultiFactors) { option (google.api.http) = { get: "/users/{id}/mfas" @@ -544,6 +564,17 @@ service ManagementService { }; } + // OrgChanges returns the event stream of the org object + rpc OrgChanges(ChangeRequest) returns (Changes) { + option (google.api.http) = { + get: "/orgs/{id}/changes" + }; + + option (caos.zitadel.utils.v1.auth_option) = { + permission: "org.read" + }; + } + rpc GetMyOrg(google.protobuf.Empty) returns (OrgView) { option (google.api.http) = { get: "/orgs/me" @@ -714,6 +745,17 @@ service ManagementService { }; } + // ProjectChanges returns the event stream of the project object + rpc ProjectChanges(ChangeRequest) returns (Changes) { + option (google.api.http) = { + get: "/projects/{id}/changes" + }; + + option (caos.zitadel.utils.v1.auth_option) = { + permission: "project.read" + }; + } + rpc SearchProjects(ProjectSearchRequest) returns (ProjectSearchResponse) { option (google.api.http) = { post: "/projects/_search" @@ -958,6 +1000,17 @@ service ManagementService { }; } + // ApplicationChanges returns the event stream of the application object + rpc ApplicationChanges(ChangeRequest) returns (Changes) { + option (google.api.http) = { + get: "/projects/{id}/applications/{sec_id}/changes" + }; + + option (caos.zitadel.utils.v1.auth_option) = { + permission: "project.app.read" + }; + } + rpc CreateOIDCApplication(OIDCApplicationCreate) returns (Application) { option (google.api.http) = { post: "/projects/{project_id}/applications/oidc" @@ -1253,172 +1306,172 @@ service ManagementService { body: "*" }; - option (caos.zitadel.utils.v1.auth_option) = { - permission: "user.grant.delete" - }; - } + option (caos.zitadel.utils.v1.auth_option) = { + permission: "user.grant.delete" + }; + } - rpc IdpByID(IdpID) returns (IdpView) { - option (google.api.http) = { - get: "/orgs/me/idps/{id}" - }; + rpc IdpByID(IdpID) returns (IdpView) { + option (google.api.http) = { + get: "/orgs/me/idps/{id}" + }; - option (caos.zitadel.utils.v1.auth_option) = { - permission: "org.idp.read" - }; - } + option (caos.zitadel.utils.v1.auth_option) = { + permission: "org.idp.read" + }; + } - rpc CreateOidcIdp(OidcIdpConfigCreate) returns (Idp) { - option (google.api.http) = { - post: "/orgs/me/idps/oidc" - body: "*" - }; + rpc CreateOidcIdp(OidcIdpConfigCreate) returns (Idp) { + option (google.api.http) = { + post: "/orgs/me/idps/oidc" + body: "*" + }; - option (caos.zitadel.utils.v1.auth_option) = { - permission: "org.idp.write" - }; - } + option (caos.zitadel.utils.v1.auth_option) = { + permission: "org.idp.write" + }; + } - rpc UpdateIdpConfig(IdpUpdate) returns (Idp) { - option (google.api.http) = { - put: "/orgs/me/idps/{id}" - body: "*" - }; + rpc UpdateIdpConfig(IdpUpdate) returns (Idp) { + option (google.api.http) = { + put: "/orgs/me/idps/{id}" + body: "*" + }; - option (caos.zitadel.utils.v1.auth_option) = { - permission: "org.idp.write" - }; - } + option (caos.zitadel.utils.v1.auth_option) = { + permission: "org.idp.write" + }; + } - rpc DeactivateIdpConfig(IdpID) returns (Idp) { - option (google.api.http) = { - put: "/orgs/me/idps/{id}/_deactivate" - body: "*" - }; + rpc DeactivateIdpConfig(IdpID) returns (Idp) { + option (google.api.http) = { + put: "/orgs/me/idps/{id}/_deactivate" + body: "*" + }; - option (caos.zitadel.utils.v1.auth_option) = { - permission: "org.idp.write" - }; - } + option (caos.zitadel.utils.v1.auth_option) = { + permission: "org.idp.write" + }; + } - rpc ReactivateIdpConfig(IdpID) returns (Idp) { - option (google.api.http) = { - put: "/orgs/me/idps/{id}/_reactivate" - body: "*" - }; + rpc ReactivateIdpConfig(IdpID) returns (Idp) { + option (google.api.http) = { + put: "/orgs/me/idps/{id}/_reactivate" + body: "*" + }; - option (caos.zitadel.utils.v1.auth_option) = { - permission: "org.idp.write" - }; - } + option (caos.zitadel.utils.v1.auth_option) = { + permission: "org.idp.write" + }; + } - rpc RemoveIdpConfig(IdpID) returns (google.protobuf.Empty) { - option (google.api.http) = { - delete: "/orgs/me/idps/{id}" - }; + rpc RemoveIdpConfig(IdpID) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/orgs/me/idps/{id}" + }; - option (caos.zitadel.utils.v1.auth_option) = { - permission: "org.idp.write" - }; - } + option (caos.zitadel.utils.v1.auth_option) = { + permission: "org.idp.write" + }; + } - rpc UpdateOidcIdpConfig(OidcIdpConfigUpdate) returns (OidcIdpConfig) { - option (google.api.http) = { - put: "/orgs/me/idps/{idp_id}/oidcconfig" - body: "*" - }; + rpc UpdateOidcIdpConfig(OidcIdpConfigUpdate) returns (OidcIdpConfig) { + option (google.api.http) = { + put: "/orgs/me/idps/{idp_id}/oidcconfig" + body: "*" + }; - option (caos.zitadel.utils.v1.auth_option) = { - permission: "org.idp.write" - }; - } + option (caos.zitadel.utils.v1.auth_option) = { + permission: "org.idp.write" + }; + } - rpc SearchIdps(IdpSearchRequest) returns (IdpSearchResponse) { - option (google.api.http) = { - post: "/orgs/me/idps/_search" - body: "*" - }; + rpc SearchIdps(IdpSearchRequest) returns (IdpSearchResponse) { + option (google.api.http) = { + post: "/orgs/me/idps/_search" + body: "*" + }; - option (caos.zitadel.utils.v1.auth_option) = { - permission: "org.idp.read" - }; - } + option (caos.zitadel.utils.v1.auth_option) = { + permission: "org.idp.read" + }; + } - rpc GetLoginPolicy(google.protobuf.Empty) returns (LoginPolicyView) { - option (google.api.http) = { - get: "/orgs/me/policies/login" - }; + rpc GetLoginPolicy(google.protobuf.Empty) returns (LoginPolicyView) { + option (google.api.http) = { + get: "/orgs/me/policies/login" + }; - option (caos.zitadel.utils.v1.auth_option) = { - permission: "policy.read" - }; - } + option (caos.zitadel.utils.v1.auth_option) = { + permission: "policy.read" + }; + } - rpc CreateLoginPolicy(LoginPolicyAdd) returns (LoginPolicy) { - option (google.api.http) = { - post: "/orgs/me/policies/login" - body: "*" - }; + rpc CreateLoginPolicy(LoginPolicyAdd) returns (LoginPolicy) { + option (google.api.http) = { + post: "/orgs/me/policies/login" + body: "*" + }; - option (caos.zitadel.utils.v1.auth_option) = { - permission: "policy.write" - }; - } + option (caos.zitadel.utils.v1.auth_option) = { + permission: "policy.write" + }; + } - rpc UpdateLoginPolicy(LoginPolicy) returns (LoginPolicy) { - option (google.api.http) = { - put: "/orgs/me/policies/login" - body: "*" - }; + rpc UpdateLoginPolicy(LoginPolicy) returns (LoginPolicy) { + option (google.api.http) = { + put: "/orgs/me/policies/login" + body: "*" + }; - option (caos.zitadel.utils.v1.auth_option) = { - permission: "policy.write" - }; - } + option (caos.zitadel.utils.v1.auth_option) = { + permission: "policy.write" + }; + } - rpc RemoveLoginPolicy(google.protobuf.Empty) returns (google.protobuf.Empty) { - option (google.api.http) = { - delete: "/orgs/me/policies/login" - }; + rpc RemoveLoginPolicy(google.protobuf.Empty) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/orgs/me/policies/login" + }; - option (caos.zitadel.utils.v1.auth_option) = { - permission: "policy.delete" - }; - } + option (caos.zitadel.utils.v1.auth_option) = { + permission: "policy.delete" + }; + } - rpc GetLoginPolicyIdpProviders(IdpProviderSearchRequest) returns (IdpProviderSearchResponse) { - option (google.api.http) = { - post: "/orgs/me/policies/login/idpproviders/_search" - body: "*" - }; + rpc GetLoginPolicyIdpProviders(IdpProviderSearchRequest) returns (IdpProviderSearchResponse) { + option (google.api.http) = { + post: "/orgs/me/policies/login/idpproviders/_search" + body: "*" + }; - option (caos.zitadel.utils.v1.auth_option) = { - permission: "policy.read" - }; - } + option (caos.zitadel.utils.v1.auth_option) = { + permission: "policy.read" + }; + } - rpc AddIdpProviderToLoginPolicy(IdpProviderAdd) returns (IdpProvider) { - option (google.api.http) = { - post: "/orgs/me/policies/login/idpproviders" - body: "*" - }; + rpc AddIdpProviderToLoginPolicy(IdpProviderAdd) returns (IdpProvider) { + option (google.api.http) = { + post: "/orgs/me/policies/login/idpproviders" + body: "*" + }; - option (caos.zitadel.utils.v1.auth_option) = { - permission: "policy.write" - }; - } + option (caos.zitadel.utils.v1.auth_option) = { + permission: "policy.write" + }; + } - rpc RemoveIdpProviderFromLoginPolicy(IdpProviderID) returns (google.protobuf.Empty) { - option (google.api.http) = { - post: "/orgs/me/policies/login/idpproviders/{idp_config_id}" - body: "*" - }; + rpc RemoveIdpProviderFromLoginPolicy(IdpProviderID) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/orgs/me/policies/login/idpproviders/{idp_config_id}" + body: "*" + }; - option (caos.zitadel.utils.v1.auth_option) = { - permission: "policy.write" - }; - } + option (caos.zitadel.utils.v1.auth_option) = { + permission: "policy.write" + }; + } } message ZitadelDocs { @@ -1457,24 +1510,24 @@ message Change { } message ApplicationID { - string id = 1; - string project_id = 2; + string id = 1 [(validate.rules).string.min_len = 1]; + string project_id = 2 [(validate.rules).string.min_len = 1]; } message ProjectID { - string id = 1; + string id = 1 [(validate.rules).string.min_len = 1]; } message UserID { - string id = 1; + string id = 1 [(validate.rules).string.min_len = 1]; } message LoginName { - string login_name = 1; + string login_name = 1 [(validate.rules).string.min_len = 1]; } message UniqueUserRequest { - string user_name = 1 [(validate.rules).string = {min_len: 1, max_len: 200}]; + string user_name = 1 [(validate.rules).string.pattern = "^[^[:space:]]{1,200}$"]; string email = 2 [(validate.rules).string = {min_len: 1, max_len: 200}]; } @@ -1483,46 +1536,53 @@ message UniqueUserResponse { } message CreateUserRequest { - string user_name = 1 [(validate.rules).string = {min_len: 1, max_len: 200}]; - string first_name = 2 [(validate.rules).string = {min_len: 1, max_len: 200}]; - string last_name = 3 [(validate.rules).string = {min_len: 1, max_len: 200}]; - string nick_name = 4 [(validate.rules).string = {max_len: 200}]; - string preferred_language = 5[(validate.rules).string = {max_len: 200}]; - Gender gender = 6; - string email = 7 [(validate.rules).string = {min_len: 1, max_len: 200, email: true}]; - bool is_email_verified = 8; - string phone = 9 [(validate.rules).string = {max_len: 20}]; - bool is_phone_verified = 10; - string country = 11 [(validate.rules).string = {max_len: 200}]; - string locality = 12 [(validate.rules).string = {max_len: 200}]; - string postal_code = 13 [(validate.rules).string = {max_len: 200}]; - string region = 14 [(validate.rules).string = {max_len: 200}]; - string street_address = 15 [(validate.rules).string = {max_len: 200}]; - string password = 16 [(validate.rules).string = {max_len: 72}]; + string user_name = 1 [(validate.rules).string.pattern = "^[^[:space:]]{1,200}$"]; + + oneof user { + option (validate.required) = true; + + CreateHumanRequest human = 2; + CreateMachineRequest machine = 3; + } } -message User { +message CreateHumanRequest { + string first_name = 1 [(validate.rules).string = {min_len: 1, max_len: 200}]; + string last_name = 2 [(validate.rules).string = {min_len: 1, max_len: 200}]; + string nick_name = 3 [(validate.rules).string = {max_len: 200}]; + string preferred_language = 4 [(validate.rules).string = {max_len: 200}]; + Gender gender = 5; + string email = 6 [(validate.rules).string = {min_len: 1, max_len: 200, email: true}]; + bool is_email_verified = 7; + string phone = 8 [(validate.rules).string = {max_len: 20}]; + bool is_phone_verified = 9; + string country = 10 [(validate.rules).string = {max_len: 200}]; + string locality = 11 [(validate.rules).string = {max_len: 200}]; + string postal_code = 12 [(validate.rules).string = {max_len: 200}]; + string region = 13 [(validate.rules).string = {max_len: 200}]; + string street_address = 14 [(validate.rules).string = {max_len: 200}]; + string password = 15 [(validate.rules).string = {max_len: 72}]; +} + +message CreateMachineRequest { + string name = 1 [(validate.rules).string = {min_len: 1, max_len: 200}]; + string description = 2 [(validate.rules).string.max_len = 500]; +} + +message UserResponse { string id = 1; UserState state = 2; google.protobuf.Timestamp creation_date = 3; google.protobuf.Timestamp change_date = 4; - string user_name = 5; - string first_name = 6; - string last_name = 7; - string display_name = 8; - string nick_name = 9; - string preferred_language = 10; - Gender gender = 11; - string email = 12; - bool is_email_verified = 13; - string phone = 14; - bool is_phone_verified = 15; - string country = 16; - string locality = 17; - string postal_code = 18; - string region = 19; - string street_address = 20; - uint64 sequence = 21; + uint64 sequence = 5; + string user_name = 6; + + oneof user { + option (validate.required) = true; + + HumanResponse human = 7; + MachineResponse machine = 8; + } } enum UserState { @@ -1547,40 +1607,135 @@ message UserView { UserState state = 2; google.protobuf.Timestamp creation_date = 3; google.protobuf.Timestamp change_date = 4; - google.protobuf.Timestamp last_login = 5; - google.protobuf.Timestamp password_changed = 6; - string user_name = 7; - string first_name = 8; - string last_name = 9; - string display_name = 10; - string nick_name = 11; - string preferred_language = 12; - Gender gender = 13; - string email = 14; - bool is_email_verified = 15; - string phone = 16; - bool is_phone_verified = 17; - string country = 18; - string locality = 19; - string postal_code = 20; - string region = 21; - string street_address = 22; - uint64 sequence = 23; - string resource_owner = 24; - repeated string login_names = 25; - string preferred_login_name = 26; + uint64 sequence = 5; + repeated string login_names = 6; + string preferred_login_name = 7; + google.protobuf.Timestamp last_login = 8; + string resource_owner = 9; + string user_name = 10; + + oneof user { + option (validate.required) = true; + + HumanView human = 11; + MachineView machine = 12; + } +} + +message HumanResponse { + string first_name = 1; + string last_name = 2; + string display_name = 3; + string nick_name = 4; + string preferred_language = 5; + Gender gender = 6; + string email = 7; + bool is_email_verified = 8; + string phone = 9; + bool is_phone_verified = 10; + string country = 11; + string locality = 12; + string postal_code = 13; + string region = 14; + string street_address = 15; +} + +message HumanView { + google.protobuf.Timestamp password_changed = 1; + string first_name = 2; + string last_name = 3; + string display_name = 4; + string nick_name = 5; + string preferred_language = 6; + Gender gender = 7; + string email = 8; + bool is_email_verified = 9; + string phone = 10; + bool is_phone_verified = 11; + string country = 12; + string locality = 13; + string postal_code = 14; + string region = 15; + string street_address = 16; +} + +message MachineResponse { + string name = 1; + string description = 2; +} + +message MachineView { + google.protobuf.Timestamp last_key_added = 1; + string name = 2; + string description = 3; +} + +message UpdateMachineRequest { + string id = 1 [(validate.rules).string.min_len = 1]; + string description = 2 [(validate.rules).string.max_len = 500]; +} + +message AddMachineKeyRequest { + string user_id = 1 [(validate.rules).string.min_len = 1]; + MachineKeyType type = 2 [(validate.rules).enum = {not_in: [0]}]; + google.protobuf.Timestamp expiration_date = 3; +} + +message AddMachineKeyResponse { + string id = 1; + google.protobuf.Timestamp creation_date = 2; + uint64 sequence = 3; + + MachineKeyType type = 4; + google.protobuf.Timestamp expiration_date = 5; + bytes key_details = 6; +} + +message MachineKeyIDRequest { + string user_id = 1 [(validate.rules).string.min_len = 1]; + string key_id = 2 [(validate.rules).string.min_len = 1]; +} + +message MachineKeyView { + string id = 1; + MachineKeyType type = 2; + uint64 sequence = 3; + + google.protobuf.Timestamp creation_date = 4; + google.protobuf.Timestamp expiration_date = 5; +} + +enum MachineKeyType { + MACHINEKEY_UNSPECIFIED = 0; + MACHINEKEY_JSON = 1; +} + +message MachineKeySearchRequest { + uint64 offset = 1; + uint64 limit = 2; + bool asc = 3; + string user_id = 4 [(validate.rules).string.min_len = 1]; +} + +message MachineKeySearchResponse { + uint64 offset = 1; + uint64 limit = 2; + uint64 total_result = 3; + repeated MachineKeyView result = 4; + uint64 processed_sequence = 5; + google.protobuf.Timestamp view_timestamp = 6; } message UserSearchRequest { uint64 offset = 1; uint64 limit = 2; - UserSearchKey sorting_column = 3 [(validate.rules).enum = {not_in: [0]}];; + UserSearchKey sorting_column = 3; bool asc = 4; repeated UserSearchQuery queries = 5; } message UserSearchQuery { - UserSearchKey key = 1 [(validate.rules).enum = {not_in: [0]}];; + UserSearchKey key = 1 [(validate.rules).enum = {not_in: [0]}]; SearchMethod method = 2; string value = 3; } @@ -1594,6 +1749,7 @@ enum UserSearchKey { USERSEARCHKEY_DISPLAY_NAME = 5; USERSEARCHKEY_EMAIL = 6; USERSEARCHKEY_STATE = 7; + USERSEARCHKEY_TYPE = 8; } message UserSearchResponse { @@ -1627,10 +1783,9 @@ message UserProfile { string display_name = 5; string preferred_language = 6; Gender gender = 7; - string user_name = 8; - uint64 sequence = 9; - google.protobuf.Timestamp creation_date = 10; - google.protobuf.Timestamp change_date = 11; + uint64 sequence = 8; + google.protobuf.Timestamp creation_date = 9; + google.protobuf.Timestamp change_date = 10; } message UserProfileView { @@ -1641,12 +1796,11 @@ message UserProfileView { string display_name = 5; string preferred_language = 6; Gender gender = 7; - string user_name = 8; - uint64 sequence = 9; - google.protobuf.Timestamp creation_date = 10; - google.protobuf.Timestamp change_date = 11; - repeated string login_names = 12; - string preferred_login_name = 27; + uint64 sequence = 8; + google.protobuf.Timestamp creation_date = 9; + google.protobuf.Timestamp change_date = 10; + repeated string login_names = 11; + string preferred_login_name = 12; } message UpdateUserProfileRequest { @@ -1660,7 +1814,7 @@ message UpdateUserProfileRequest { message UpdateUserUserNameRequest { string id = 1; - string user_name = 2 [(validate.rules).string = {min_len: 1, max_len: 200}]; + string user_name = 2 [(validate.rules).string.pattern = "^[^[:space:]]{1,200}$"]; } message UserEmail { @@ -1706,7 +1860,7 @@ message UserPhoneView { } message UpdateUserPhoneRequest { - string id = 1; + string id = 1 [(validate.rules).string.min_len = 1]; string phone = 2 [(validate.rules).string = {min_len: 1, max_len: 20}]; bool is_phone_verified = 3; } @@ -1723,7 +1877,7 @@ message UserAddress { google.protobuf.Timestamp change_date = 9; } -message UserAddressView { +message UserAddressView { string id = 1; string country = 2; string locality = 3; @@ -1736,7 +1890,7 @@ message UserAddressView { } message UpdateUserAddressRequest { - string id = 1; + string id = 1 [(validate.rules).string.min_len = 1]; string country = 2 [(validate.rules).string = {max_len: 200}]; string locality = 3 [(validate.rules).string = {max_len: 200}]; string postal_code = 4 [(validate.rules).string = {max_len: 200}]; @@ -1766,21 +1920,13 @@ enum MFAState { MFASTATE_REMOVED = 3; } -message PasswordID{ - string id = 1; -} - message PasswordRequest { - string id = 1; + string id = 1 [(validate.rules).string.min_len = 1]; string password = 2 [(validate.rules).string = {min_len: 1, max_len: 72}]; } -message ResetPasswordRequest { - string id = 1; -} - message SetPasswordNotificationRequest { - string id = 1; + string id = 1 [(validate.rules).string.min_len = 1]; NotificationType type = 2; } @@ -1789,7 +1935,7 @@ enum NotificationType { NOTIFICATIONTYPE_SMS = 1; } -message PasswordComplexityPolicyID { +message PasswordComplexityPolicyID { //TODO: why do we need this? string id = 1; } @@ -1818,7 +1964,7 @@ message PasswordComplexityPolicyCreate { } message PasswordComplexityPolicyUpdate { - string id = 1; + string id = 1; //TODO: do we need id? string description = 2 [(validate.rules).string = {max_len: 500}]; uint64 min_length = 3; bool has_lowercase = 4; @@ -1827,12 +1973,12 @@ message PasswordComplexityPolicyUpdate { bool has_symbol = 7; } -message PasswordAgePolicyID { +message PasswordAgePolicyID { //TODO: why do we need this? string id = 1; } message PasswordAgePolicy { - string id = 1; + string id = 1; //TODO: do we need id? string description = 2; PolicyState state = 3; google.protobuf.Timestamp creation_date = 4; @@ -1850,18 +1996,18 @@ message PasswordAgePolicyCreate { } message PasswordAgePolicyUpdate { - string id = 1; + string id = 1; //TODO: do we need id? string description = 2 [(validate.rules).string = {max_len: 500}]; uint64 max_age_days = 3; uint64 expire_warn_days = 4; } message PasswordLockoutPolicyID { - string id = 1; + string id = 1; //TODO: why do we need this? } message PasswordLockoutPolicy { - string id = 1; + string id = 1; //TODO: why do we need this? string description = 2; PolicyState state = 3; google.protobuf.Timestamp creation_date = 4; @@ -1869,8 +2015,7 @@ message PasswordLockoutPolicy { uint64 max_attempts = 6; bool show_lock_out_failures = 7; uint64 sequence = 8; - bool is_default = 9 - ; + bool is_default = 9; } message PasswordLockoutPolicyCreate { @@ -1880,7 +2025,7 @@ message PasswordLockoutPolicyCreate { } message PasswordLockoutPolicyUpdate { - string id = 1; + string id = 1; //TODO: do we need id? string description = 2 [(validate.rules).string = {max_len: 500}]; uint64 max_attempts = 3; bool show_lock_out_failures = 4; @@ -1894,18 +2039,14 @@ enum PolicyState { } message OrgIamPolicy { - string org_id = 1; + string org_id = 1; //TODO: do we need id? string description = 2; bool user_login_must_be_domain = 3; bool default = 4; } -message OrgID { - string id = 1; -} - message OrgCreateRequest { - string name = 1; + string name = 1 [(validate.rules).string = {min_len: 1, max_len: 200}]; } message Org { @@ -1933,11 +2074,7 @@ enum OrgState { } message Domain { - string domain = 1; -} - -message OrgDomains { - repeated OrgDomain domains = 1; + string domain = 1 [(validate.rules).string = {min_len: 1}]; } message OrgDomain { @@ -1986,11 +2123,11 @@ message ValidateOrgDomainRequest { } message PrimaryOrgDomainRequest { - string domain = 1 [(validate.rules).string = {min_len: 1, max_len: 200}]; + string domain = 1 [(validate.rules).string = {min_len: 1}]; } message RemoveOrgDomainRequest { - string domain = 1 [(validate.rules).string = {min_len: 1, max_len: 200}]; + string domain = 1 [(validate.rules).string = {min_len: 1}]; } message OrgDomainSearchResponse { @@ -2032,17 +2169,17 @@ message OrgMember { } message AddOrgMemberRequest { - string user_id = 1; + string user_id = 1 [(validate.rules).string = {min_len: 1}]; repeated string roles = 2; } message ChangeOrgMemberRequest { - string user_id = 1; + string user_id = 1 [(validate.rules).string = {min_len: 1}]; repeated string roles = 2; } message RemoveOrgMemberRequest { - string user_id = 1; + string user_id = 1 [(validate.rules).string = {min_len: 1}]; } message OrgMemberSearchResponse { @@ -2092,7 +2229,7 @@ message ProjectCreateRequest { } message ProjectUpdateRequest { - string id = 1; + string id = 1 [(validate.rules).string = {min_len: 1}]; string name = 2 [(validate.rules).string = {min_len: 1, max_len: 200}]; } @@ -2115,7 +2252,6 @@ message ProjectView { uint64 sequence = 7; } - message ProjectSearchRequest { uint64 offset = 1; uint64 limit = 2; @@ -2152,12 +2288,6 @@ enum ProjectState { PROJECTSTATE_INACTIVE = 2; } -enum ProjectType { - PROJECTTYPE_UNSPECIFIED = 0; - PROJECTTYPE_OWNED = 1; - PROJECTTYPE_GRANTED = 2; -} - message ProjectMemberRoles { repeated string roles = 1; } @@ -2171,37 +2301,37 @@ message ProjectMember { } message ProjectMemberAdd { - string id = 1; - string user_id = 2; + string id = 1 [(validate.rules).string = {min_len: 1}]; + string user_id = 2 [(validate.rules).string = {min_len: 1}]; repeated string roles = 3; } message ProjectMemberChange { - string id = 1; - string user_id = 2; + string id = 1 [(validate.rules).string = {min_len: 1}]; + string user_id = 2 [(validate.rules).string = {min_len: 1}]; repeated string roles = 3; } message ProjectMemberRemove { - string id = 1; - string user_id = 2; + string id = 1 [(validate.rules).string = {min_len: 1}]; + string user_id = 2 [(validate.rules).string = {min_len: 1}]; } message ProjectRoleAdd { - string id = 1; + string id = 1 [(validate.rules).string = {min_len: 1}]; string key = 2; string display_name = 3; string group = 4; } message ProjectRoleAddBulk { - string id = 1; + string id = 1 [(validate.rules).string = {min_len: 1}]; repeated ProjectRoleAdd project_roles = 2; } message ProjectRoleChange { - string id = 1; - string key = 2; + string id = 1 [(validate.rules).string = {min_len: 1}]; + string key = 2 [(validate.rules).string = {min_len: 1}]; string display_name = 3; string group = 4; } @@ -2226,8 +2356,8 @@ message ProjectRoleView { } message ProjectRoleRemove { - string id = 1; - string key = 2; + string id = 1 [(validate.rules).string = {min_len: 1}]; + string key = 2 [(validate.rules).string = {min_len: 1}]; } message ProjectRoleSearchResponse { @@ -2240,7 +2370,7 @@ message ProjectRoleSearchResponse { } message ProjectRoleSearchRequest { - string project_id = 1; + string project_id = 1 [(validate.rules).string = {min_len: 1}]; uint64 offset = 2; uint64 limit = 3; repeated ProjectRoleSearchQuery queries = 4; @@ -2281,7 +2411,7 @@ message ProjectMemberSearchResponse { } message ProjectMemberSearchRequest { - string project_id = 1; + string project_id = 1 [(validate.rules).string = {min_len: 1}]; uint64 offset = 2; uint64 limit = 3; repeated ProjectMemberSearchQuery queries = 4; @@ -2321,8 +2451,8 @@ message Application { } message ApplicationUpdate { - string project_id = 1; - string id = 2; + string project_id = 1 [(validate.rules).string = {min_len: 1}]; + string id = 2 [(validate.rules).string = {min_len: 1}]; string name = 5 [(validate.rules).string = {min_len: 1, max_len: 200}]; } @@ -2342,7 +2472,7 @@ message OIDCConfig { } message OIDCApplicationCreate { - string project_id = 1; + string project_id = 1 [(validate.rules).string = {min_len: 1}]; string name = 2 [(validate.rules).string = {min_len: 1, max_len: 200}]; repeated string redirect_uris = 3; repeated OIDCResponseType response_types = 4; @@ -2359,8 +2489,8 @@ enum OIDCVersion { } message OIDCConfigUpdate { - string project_id = 1; - string application_id = 2; + string project_id = 1 [(validate.rules).string = {min_len: 1}]; + string application_id = 2 [(validate.rules).string = {min_len: 1}]; repeated string redirect_uris = 3; repeated OIDCResponseType response_types = 4; repeated OIDCGrantType grant_types = 5; @@ -2407,6 +2537,7 @@ message ApplicationView { oneof app_config { OIDCConfig oidc_config = 8; } + uint64 sequence = 9; } @@ -2420,7 +2551,7 @@ message ApplicationSearchResponse { } message ApplicationSearchRequest { - string project_id = 1; + string project_id = 1 [(validate.rules).string = {min_len: 1}]; uint64 offset = 2; uint64 limit = 3; repeated ApplicationSearchQuery queries = 4; @@ -2449,20 +2580,20 @@ message ProjectGrant { } message ProjectGrantCreate { - string project_id = 1; - string granted_org_id = 2; + string project_id = 1 [(validate.rules).string = {min_len: 1}]; + string granted_org_id = 2 [(validate.rules).string = {min_len: 1}]; repeated string role_keys = 3; } message ProjectGrantUpdate { - string project_id = 1; - string id = 2; + string project_id = 1 [(validate.rules).string = {min_len: 1}]; + string id = 2 [(validate.rules).string = {min_len: 1}]; repeated string role_keys = 3; } message ProjectGrantID { - string project_id = 1; - string id = 2; + string project_id = 1 [(validate.rules).string = {min_len: 1}]; + string id = 2 [(validate.rules).string = {min_len: 1}]; } enum ProjectGrantState { @@ -2502,7 +2633,7 @@ message GrantedProjectSearchRequest { } message ProjectGrantSearchRequest { - string project_id = 1; + string project_id = 1 [(validate.rules).string = {min_len: 1}]; uint64 offset = 2; uint64 limit = 3; repeated ProjectGrantSearchQuery queries = 4; @@ -2520,7 +2651,6 @@ enum ProjectGrantSearchKey { PROJECTGRANTSEARCHKEY_ROLE_KEY = 2; } - message ProjectGrantMemberRoles { repeated string roles = 1; } @@ -2534,23 +2664,23 @@ message ProjectGrantMember { } message ProjectGrantMemberAdd { - string project_id = 1; - string grant_id = 2; - string user_id = 3; + string project_id = 1 [(validate.rules).string = {min_len: 1}]; + string grant_id = 2 [(validate.rules).string = {min_len: 1}]; + string user_id = 3 [(validate.rules).string = {min_len: 1}]; repeated string roles = 4; } message ProjectGrantMemberChange { - string project_id = 1; - string grant_id = 2; - string user_id = 3; + string project_id = 1 [(validate.rules).string = {min_len: 1}]; + string grant_id = 2 [(validate.rules).string = {min_len: 1}]; + string user_id = 3 [(validate.rules).string = {min_len: 1}]; repeated string roles = 4; } message ProjectGrantMemberRemove { - string project_id = 1; - string grant_id = 2; - string user_id = 3; + string project_id = 1 [(validate.rules).string = {min_len: 1}]; + string grant_id = 2 [(validate.rules).string = {min_len: 1}]; + string user_id = 3 [(validate.rules).string = {min_len: 1}]; } message ProjectGrantMemberView { @@ -2576,8 +2706,8 @@ message ProjectGrantMemberSearchResponse { } message ProjectGrantMemberSearchRequest { - string project_id = 1; - string grant_id = 2; + string project_id = 1 [(validate.rules).string = {min_len: 1}]; + string grant_id = 2 [(validate.rules).string = {min_len: 1}]; uint64 offset = 3; uint64 limit = 4; repeated ProjectGrantMemberSearchQuery queries = 5; @@ -2611,34 +2741,26 @@ message UserGrant { string grant_id = 10; } -message UserGrantCreateBulk { - repeated UserGrantCreate user_grants = 1; -} - message UserGrantCreate { - string user_id = 1; - string project_id = 2; + string user_id = 1 [(validate.rules).string = {min_len: 1}]; + string project_id = 2 [(validate.rules).string = {min_len: 1}]; repeated string role_keys = 3; string grant_id = 4; } -message UserGrantUpdateBulk { - repeated UserGrantUpdate user_grants = 1; -} - message UserGrantUpdate { - string user_id = 1; - string id = 2; + string user_id = 1 [(validate.rules).string = {min_len: 1}]; + string id = 2 [(validate.rules).string = {min_len: 1}]; repeated string role_keys = 3; } message UserGrantRemoveBulk { - repeated string ids = 1; + repeated string ids = 1 [(validate.rules).repeated.min_items = 1]; } message UserGrantID { - string user_id = 1; - string id = 2; + string user_id = 1 [(validate.rules).string = {min_len: 1}]; + string id = 2 [(validate.rules).string = {min_len: 1}]; } enum UserGrantState { @@ -2684,6 +2806,7 @@ message UserGrantSearchRequest { uint64 limit = 2; repeated UserGrantSearchQuery queries = 3; } + message UserGrantSearchQuery { UserGrantSearchKey key = 1 [(validate.rules).enum = {not_in: [0]}]; SearchMethod method = 2 [(validate.rules).enum = {in: [0]}]; @@ -2699,20 +2822,6 @@ enum UserGrantSearchKey { USERGRANTSEARCHKEY_GRANT_ID = 5; } -message ProjectUserGrantSearchRequest { - string project_id = 1; - uint64 offset = 2; - uint64 limit = 3; - repeated UserGrantSearchQuery queries = 4; -} - -message ProjectGrantUserGrantSearchRequest { - string project_grant_id = 1; - uint64 offset = 2; - uint64 limit = 3; - repeated UserGrantSearchQuery queries = 4; -} - message UserMembershipSearchResponse { uint64 offset = 1; uint64 limit = 2; @@ -2723,7 +2832,7 @@ message UserMembershipSearchResponse { } message UserMembershipSearchRequest { - string user_id = 1; + string user_id = 1 [(validate.rules).string = {min_len: 1}]; uint64 offset = 2; uint64 limit = 3; repeated UserMembershipSearchQuery queries = 4; @@ -2761,9 +2870,8 @@ enum MemberType { MEMBERTYPE_PROJECT_GRANT = 3; } - message IdpID { - string id = 1; + string id = 1 [(validate.rules).string = {min_len: 1}]; } message Idp { @@ -2780,8 +2888,8 @@ message Idp { } message IdpUpdate { - string id = 1; - string name = 2; + string id = 1 [(validate.rules).string = {min_len: 1}]; + string name = 2 [(validate.rules).string = {min_len: 1, max_len: 200}]; bytes logo_src = 3; } @@ -2791,6 +2899,7 @@ message OidcIdpConfig { string issuer = 3; repeated string scopes = 4; } + enum IdpState { IDPCONFIGSTATE_UNSPECIFIED = 0; IDPCONFIGSTATE_ACTIVE = 1; @@ -2807,7 +2916,7 @@ message OidcIdpConfigCreate { } message OidcIdpConfigUpdate { - string idp_id = 1; + string idp_id = 1 [(validate.rules).string = {min_len: 1}]; string client_id = 2 [(validate.rules).string = {min_len: 1, max_len: 200}]; string client_secret = 3; string issuer = 4 [(validate.rules).string = {min_len: 1, max_len: 200}]; @@ -2875,12 +2984,12 @@ message LoginPolicyAdd { } message IdpProviderID { - string idp_config_id = 1; + string idp_config_id = 1 [(validate.rules).string = {min_len: 1}]; } message IdpProviderAdd { string idp_config_id = 1 [(validate.rules).string = {min_len: 1, max_len: 200}]; - IdpProviderType idp_provider_type = 2; + IdpProviderType idp_provider_type = 2 [(validate.rules).enum = {not_in: [0]}]; } message IdpProvider { @@ -2895,10 +3004,6 @@ message LoginPolicyView { bool allow_external_idp = 4; } -message IdpProviderViews { - repeated IdpProviderView providers = 1; -} - message IdpProviderView { string idp_config_id = 1; string name = 2; @@ -2930,3 +3035,10 @@ message IdpProviderSearchRequest { uint64 offset = 1; uint64 limit = 2; } + +//ProjectType is deprecated, remove as soon as console is ready +enum ProjectType { + PROJECTTYPE_UNSPECIFIED = 0; + PROJECTTYPE_OWNED = 1; + PROJECTTYPE_GRANTED = 2; +} \ No newline at end of file