mirror of
https://github.com/zitadel/zitadel.git
synced 2025-02-25 18:55:27 -06:00
* checkbox color * project grant preview * project grante expandable row * add grant detail component * proto regen * project grant members shared module * fix project grant members dialog * fix create dialog * lint * add avatar colors, meta component styling * light theme * dl report * styles * move grants out of user context, grant detail * i18n grant pipe * lint * user grants * clear expandable view project grants * fix project member routing * fix granted members routing * fix group label * rename project grant * disable zitadel grant members * fix routing user grant creation * rest member writes * ignore case searches * forkjoin observables for project search * fix grant creation with users * fix projectid reference * formfield table style, user grant dynamic load * show key if no displayvalue is set * Delete report.20200630.163913.44081.0.001.json Co-authored-by: Silvan <silvan.reusser@gmail.com>
160 lines
5.7 KiB
TypeScript
160 lines
5.7 KiB
TypeScript
import { OverlayModule } from '@angular/cdk/overlay';
|
|
import { CommonModule, registerLocaleData } from '@angular/common';
|
|
import { HttpClient, HttpClientModule } from '@angular/common/http';
|
|
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 { MatIconModule } from '@angular/material/icon';
|
|
import { MatMenuModule } from '@angular/material/menu';
|
|
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
import { MatSidenavModule } from '@angular/material/sidenav';
|
|
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
import { BrowserModule } from '@angular/platform-browser';
|
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
import { ServiceWorkerModule } from '@angular/service-worker';
|
|
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
|
|
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
import { AuthConfig, OAuthModule, OAuthStorage } from 'angular-oauth2-oidc';
|
|
|
|
import { environment } from '../environments/environment';
|
|
import { AppRoutingModule } from './app-routing.module';
|
|
import { AppComponent } from './app.component';
|
|
import { HasRoleModule } from './directives/has-role/has-role.module';
|
|
import { OutsideClickModule } from './directives/outside-click/outside-click.module';
|
|
import { AccountsCardModule } from './modules/accounts-card/accounts-card.module';
|
|
import { AvatarModule } from './modules/avatar/avatar.module';
|
|
import { SignedoutComponent } from './pages/signedout/signedout.component';
|
|
import { AuthUserService } from './services/auth-user.service';
|
|
import { AuthService } from './services/auth.service';
|
|
import { GrpcAuthInterceptor } from './services/grpc-auth.interceptor';
|
|
import { GRPC_INTERCEPTORS } from './services/grpc-interceptor';
|
|
import { GrpcOrgInterceptor } from './services/grpc-org.interceptor';
|
|
import { GrpcService } from './services/grpc.service';
|
|
import { StatehandlerProcessorService, StatehandlerProcessorServiceImpl } from './services/statehandler-processor.service';
|
|
import { StatehandlerService, StatehandlerServiceImpl } from './services/statehandler.service';
|
|
import { StorageService } from './services/storage.service';
|
|
import { ThemeService } from './services/theme.service';
|
|
|
|
registerLocaleData(localeDe);
|
|
|
|
// AoT requires an exported function for factories
|
|
export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader {
|
|
return new TranslateHttpLoader(http);
|
|
}
|
|
|
|
const appInitializerFn = (grpcServ: GrpcService) => {
|
|
return () => {
|
|
return grpcServ.loadAppEnvironment();
|
|
};
|
|
};
|
|
|
|
const stateHandlerFn = (stateHandler: StatehandlerService) => {
|
|
return () => {
|
|
return stateHandler.initStateHandler();
|
|
};
|
|
};
|
|
|
|
export let authConfig = {
|
|
redirectUri: window.location.origin + '/auth/callback',
|
|
scope: 'openid profile email', // offline_access
|
|
responseType: 'code',
|
|
oidc: true,
|
|
postLogoutRedirectUri: window.location.origin + '/signedout',
|
|
};
|
|
|
|
@NgModule({
|
|
declarations: [
|
|
AppComponent,
|
|
SignedoutComponent,
|
|
],
|
|
imports: [
|
|
AppRoutingModule,
|
|
CommonModule,
|
|
BrowserModule,
|
|
OverlayModule,
|
|
OAuthModule.forRoot({
|
|
resourceServer: {
|
|
allowedUrls: ['https://test.api.zitadel.caos.ch/caos.zitadel.auth.api.v1.AuthService', 'https://test.api.zitadel.caos.ch/oauth/v2/userinfo', 'https://test.api.zitadel.caos.ch/caos.zitadel.management.api.v1.ManagementService/', 'https://preview.api.zitadel.caos.ch'],
|
|
sendAccessToken: true,
|
|
},
|
|
}),
|
|
TranslateModule.forRoot({
|
|
loader: {
|
|
provide: TranslateLoader,
|
|
useFactory: HttpLoaderFactory,
|
|
deps: [HttpClient],
|
|
},
|
|
}),
|
|
AccountsCardModule,
|
|
HasRoleModule,
|
|
BrowserAnimationsModule,
|
|
HttpClientModule,
|
|
MatButtonModule,
|
|
MatIconModule,
|
|
MatTooltipModule,
|
|
MatSidenavModule,
|
|
MatCardModule,
|
|
OutsideClickModule,
|
|
MatProgressBarModule,
|
|
MatToolbarModule,
|
|
MatMenuModule,
|
|
MatSnackBarModule,
|
|
AvatarModule,
|
|
ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production }),
|
|
],
|
|
providers: [
|
|
ThemeService,
|
|
{
|
|
provide: APP_INITIALIZER,
|
|
useFactory: appInitializerFn,
|
|
multi: true,
|
|
deps: [GrpcService],
|
|
},
|
|
{
|
|
provide: APP_INITIALIZER,
|
|
useFactory: stateHandlerFn,
|
|
multi: true,
|
|
deps: [StatehandlerService],
|
|
},
|
|
{
|
|
provide: AuthConfig,
|
|
useValue: authConfig,
|
|
},
|
|
{
|
|
provide: StatehandlerProcessorService,
|
|
useClass: StatehandlerProcessorServiceImpl,
|
|
},
|
|
{
|
|
provide: StatehandlerService,
|
|
useClass: StatehandlerServiceImpl,
|
|
},
|
|
{
|
|
provide: OAuthStorage,
|
|
useClass: StorageService,
|
|
},
|
|
{
|
|
provide: GRPC_INTERCEPTORS,
|
|
multi: true,
|
|
useClass: GrpcAuthInterceptor,
|
|
},
|
|
{
|
|
provide: GRPC_INTERCEPTORS,
|
|
multi: true,
|
|
useClass: GrpcOrgInterceptor,
|
|
},
|
|
GrpcService,
|
|
AuthService,
|
|
AuthUserService,
|
|
],
|
|
bootstrap: [AppComponent],
|
|
})
|
|
export class AppModule {
|
|
|
|
constructor() {
|
|
console.log(window.location.href);
|
|
}
|
|
}
|