diff --git a/console/src/app/modules/search-project-autocomplete/search-project-autocomplete.component.ts b/console/src/app/modules/search-project-autocomplete/search-project-autocomplete.component.ts index c5c3632d11..47981e1d8a 100644 --- a/console/src/app/modules/search-project-autocomplete/search-project-autocomplete.component.ts +++ b/console/src/app/modules/search-project-autocomplete/search-project-autocomplete.component.ts @@ -6,6 +6,7 @@ import { MatChipInputEvent } from '@angular/material/chips'; import { forkJoin, from, Subject } from 'rxjs'; import { debounceTime, switchMap, takeUntil, tap } from 'rxjs/operators'; import { ListProjectGrantsResponse, ListProjectsResponse } from 'src/app/proto/generated/zitadel/management_pb'; +import { TextQueryMethod } from 'src/app/proto/generated/zitadel/object_pb'; import { GrantedProject, Project, ProjectNameQuery, ProjectQuery } from 'src/app/proto/generated/zitadel/project_pb'; import { ManagementService } from 'src/app/services/mgmt.service'; @@ -52,6 +53,7 @@ export class SearchProjectAutocompleteComponent implements OnDestroy { const query = new ProjectQuery(); const nameQuery = new ProjectNameQuery(); nameQuery.setName(value); + nameQuery.setMethod(TextQueryMethod.TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE); query.setNameQuery(nameQuery); switch (this.autocompleteType) { 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 b5f0cea86e..09eee942d5 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,8 @@ - {{ selecteduser?.human ? (selecteduser.human.firstName + ' ' + selecteduser.human.lastName) : selecteduser?.machine?.name}} + {{ selecteduser?.human ? (selecteduser.human.firstName + ' ' + selecteduser.human.lastName) : + selecteduser?.machine?.name}} | {{selecteduser.preferredLoginName}} cancel @@ -24,7 +25,7 @@ - {{user.human? user.human.firstName : user.machine?.name}} + {{user.human?.profile?.displayName ? user.human.profile.displayName : user.machine?.name}} {{user.preferredLoginName}} diff --git a/console/src/app/modules/search-user-autocomplete/search-user-autocomplete.component.ts b/console/src/app/modules/search-user-autocomplete/search-user-autocomplete.component.ts index 524acad866..a6b16db5e4 100644 --- a/console/src/app/modules/search-user-autocomplete/search-user-autocomplete.component.ts +++ b/console/src/app/modules/search-user-autocomplete/search-user-autocomplete.component.ts @@ -15,6 +15,7 @@ import { MatAutocomplete, MatAutocompleteSelectedEvent } from '@angular/material import { MatChipInputEvent } from '@angular/material/chips'; import { from, of, Subject } from 'rxjs'; import { debounceTime, switchMap, takeUntil, tap } from 'rxjs/operators'; +import { ListUsersResponse } from 'src/app/proto/generated/zitadel/management_pb'; import { TextQueryMethod } from 'src/app/proto/generated/zitadel/object_pb'; import { SearchQuery, User, UserNameQuery } from 'src/app/proto/generated/zitadel/user_pb'; import { ManagementService } from 'src/app/services/mgmt.service'; @@ -73,9 +74,12 @@ export class SearchUserAutocompleteComponent implements OnInit, AfterContentChec tap(() => this.isLoading = true), switchMap(value => { const query = new SearchQuery(); + const unQuery = new UserNameQuery(); unQuery.setMethod(TextQueryMethod.TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE); - query.setUserNameQuery(value); + unQuery.setUserName(value); + + query.setUserNameQuery(unQuery); if (this.target === UserTarget.SELF) { return from(this.userService.listUsers(10, 0, [query])); @@ -83,10 +87,11 @@ export class SearchUserAutocompleteComponent implements OnInit, AfterContentChec return of(); } }), - ).subscribe((userresp: any) => { + ).subscribe((userresp: ListUsersResponse.AsObject | unknown) => { this.isLoading = false; + console.log(userresp); if (this.target === UserTarget.SELF && userresp) { - this.filteredUsers = userresp.toObject().resultList; + this.filteredUsers = (userresp as ListUsersResponse.AsObject).resultList; } }); } diff --git a/console/src/app/pages/projects/apps/app-detail/app-detail.component.html b/console/src/app/pages/projects/apps/app-detail/app-detail.component.html index beb88925ad..a84ba694dc 100644 --- a/console/src/app/pages/projects/apps/app-detail/app-detail.component.html +++ b/console/src/app/pages/projects/apps/app-detail/app-detail.component.html @@ -6,7 +6,7 @@

{{app?.name}}

- {{'APP.OIDC.APPTYPE.'+app?.oidcConfig?.applicationType | + {{'APP.OIDC.APPTYPE.'+app?.oidcConfig?.appType | translate}} API
diff --git a/console/src/app/pages/projects/apps/app-detail/app-detail.component.ts b/console/src/app/pages/projects/apps/app-detail/app-detail.component.ts index 2001818cef..94b81fc8ec 100644 --- a/console/src/app/pages/projects/apps/app-detail/app-detail.component.ts +++ b/console/src/app/pages/projects/apps/app-detail/app-detail.component.ts @@ -211,6 +211,7 @@ export class AppDetailComponent implements OnInit, OnDestroy { this.mgmtService.getAppByID(projectid, id).then(app => { if (app.app) { this.app = app.app; + console.log(this.app); this.appNameForm.patchValue(this.app); if (this.app.oidcConfig) { @@ -300,6 +301,7 @@ export class AppDetailComponent implements OnInit, OnDestroy { const snackRef = this.snackbar.open(message, action, { duration: 5000, verticalPosition: 'top' }); snackRef.onAction().subscribe(() => { + console.log(this.app); if (this.app.oidcConfig) { this.saveOIDCApp(); } else if (this.app.apiConfig) { diff --git a/console/src/app/pages/projects/apps/authtypes.ts b/console/src/app/pages/projects/apps/authtypes.ts index 1217c36dd7..9d72623a37 100644 --- a/console/src/app/pages/projects/apps/authtypes.ts +++ b/console/src/app/pages/projects/apps/authtypes.ts @@ -27,7 +27,7 @@ export const WEB_TYPE = { titleI18nKey: 'APP.OIDC.SELECTION.APPTYPE.WEB.TITLE', descI18nKey: 'APP.OIDC.SELECTION.APPTYPE.WEB.DESCRIPTION', createType: AppCreateType.OIDC, - oidcApplicationType: OIDCAppType.OIDC_APP_TYPE_WEB, + oidcAppType: OIDCAppType.OIDC_APP_TYPE_WEB, prefix: 'WEB', background: 'rgb(80, 110, 110)', }; @@ -37,7 +37,7 @@ export const USER_AGENT_TYPE = { titleI18nKey: 'APP.OIDC.SELECTION.APPTYPE.USERAGENT.TITLE', descI18nKey: 'APP.OIDC.SELECTION.APPTYPE.USERAGENT.DESCRIPTION', createType: AppCreateType.OIDC, - oidcApplicationType: OIDCAppType.OIDC_APP_TYPE_USER_AGENT, + oidcAppType: OIDCAppType.OIDC_APP_TYPE_USER_AGENT, prefix: 'UA', background: '#6a506e', }; @@ -47,7 +47,7 @@ export const NATIVE_TYPE = { titleI18nKey: 'APP.OIDC.SELECTION.APPTYPE.NATIVE.TITLE', descI18nKey: 'APP.OIDC.SELECTION.APPTYPE.NATIVE.DESCRIPTION', createType: AppCreateType.OIDC, - oidcApplicationType: OIDCAppType.OIDC_APP_TYPE_NATIVE, + oidcAppType: OIDCAppType.OIDC_APP_TYPE_NATIVE, prefix: 'N', background: '#595d80', }; diff --git a/console/src/app/pages/projects/owned-projects/owned-project-detail/applications/applications.component.html b/console/src/app/pages/projects/owned-projects/owned-project-detail/applications/applications.component.html index cf4e79676f..dd72fc2256 100644 --- a/console/src/app/pages/projects/owned-projects/owned-project-detail/applications/applications.component.html +++ b/console/src/app/pages/projects/owned-projects/owned-project-detail/applications/applications.component.html @@ -34,11 +34,11 @@ {{ 'APP.TYPE' | translate }} - - {{'APP.OIDC.APPTYPE.'+app?.oidcConfig?.applicationType | translate}} - - API - + + {{'APP.OIDC.APPTYPE.'+app?.oidcConfig?.appType | translate}} + + API + 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 a7121ad150..543246ef4a 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 @@ -95,6 +95,10 @@ export class UserGrantCreateComponent implements OnDestroy { public addGrant(): void { switch (this.context) { case UserGrantContext.OWNED_PROJECT: + console.log('owned', this.userId, + this.rolesList, + this.projectId, + this.grantId); this.userService.addUserGrant( this.userId, this.rolesList, @@ -107,6 +111,11 @@ export class UserGrantCreateComponent implements OnDestroy { }); break; case UserGrantContext.GRANTED_PROJECT: + + console.log('granted', this.userId, + this.rolesList, + this.projectId, + this.grantId); this.userService.addUserGrant( this.userId, this.rolesList, @@ -126,10 +135,15 @@ export class UserGrantCreateComponent implements OnDestroy { grantId = (this.project as GrantedProject.AsObject).grantId; } + console.log(this.userId, + this.rolesList, + this.projectId, + grantId); + this.userService.addUserGrant( this.userId, this.rolesList, - (this.project as GrantedProject.AsObject).projectId, + this.projectId, grantId, ).then(() => { this.toast.showInfo('PROJECT.GRANT.TOAST.PROJECTGRANTUSERGRANTADDED', true); @@ -148,7 +162,7 @@ export class UserGrantCreateComponent implements OnDestroy { this.userService.addUserGrant( this.userId, this.rolesList, - (this.project as GrantedProject.AsObject).projectId, + this.projectId, tempGrantId, ).then(() => { this.toast.showInfo('PROJECT.GRANT.TOAST.PROJECTGRANTUSERGRANTADDED', true); @@ -163,7 +177,7 @@ export class UserGrantCreateComponent implements OnDestroy { public selectProject(project: Project.AsObject | GrantedProject.AsObject | any): void { this.project = project; - this.projectId = project.projectId; + this.projectId = project.id || project.projectId; this.grantRolesKeyList = project.roleKeysList ?? []; }