Browse Source

refactoring

feature/ssr-migration-schematic
erdemcaygor 9 months ago
parent
commit
0dd7edae59
  1. 34
      npm/ng-packs/apps/dev-app/src/app/app.config.server.ts
  2. 2
      npm/ng-packs/apps/dev-app/src/app/app.config.ts
  3. 7
      npm/ng-packs/package.json
  4. 2
      npm/ng-packs/packages/oauth/src/lib/oauth.module.ts
  5. 11
      npm/ng-packs/packages/oauth/src/lib/providers/oauth-module-config.provider.ts
  6. 3
      npm/ng-packs/packages/oauth/src/lib/services/index.ts

34
npm/ng-packs/apps/dev-app/src/app/app.config.server.ts

@ -1,42 +1,10 @@
import { mergeApplicationConfig, ApplicationConfig } from '@angular/core';
import { provideServerRendering } from '@angular/platform-server';
import { appConfig } from './app.config';
import { provideAbpCore, withOptions } from '@abp/ng.core';
import { environment } from '../environments/environment';
import { registerLocale, safeRegisterLocale } from '@abp/ng.core/locale';
import { provideAbpOAuth } from '@abp/ng.oauth';
import { provideAbpThemeShared } from '@abp/ng.theme.shared';
import { provideSettingManagementConfig } from '@abp/ng.setting-management/config';
import { provideAccountConfig } from '@abp/ng.account/config';
import { provideIdentityConfig } from '@abp/ng.identity/config';
import { provideTenantManagementConfig } from '@abp/ng.tenant-management/config';
import { provideFeatureManagementConfig } from '@abp/ng.feature-management';
import { APP_ROUTE_PROVIDER } from './route.provider';
import { provideThemeBasicConfig } from '@abp/ng.theme.basic';
import { provideAnimations } from '@angular/platform-browser/animations';
const serverConfig: ApplicationConfig = {
providers: [
provideAbpCore(
withOptions({
environment,
registerLocaleFn: safeRegisterLocale(),
sendNullsAsQueryParam: false,
skipGetAppConfiguration: false,
}),
),
APP_ROUTE_PROVIDER,
provideAbpOAuth({ ssr: true }),
provideAbpThemeShared(),
provideSettingManagementConfig(),
provideAccountConfig(),
provideIdentityConfig(),
provideTenantManagementConfig(),
provideFeatureManagementConfig(),
provideServerRendering(),
provideThemeBasicConfig(),
provideAnimations(),
],
providers: [provideAbpOAuth({ ssr: true }), provideServerRendering()],
};
export const config = mergeApplicationConfig(appConfig, serverConfig);

2
npm/ng-packs/apps/dev-app/src/app/app.config.ts

@ -29,7 +29,7 @@ export const appConfig: ApplicationConfig = {
skipGetAppConfiguration: false,
}),
),
provideAbpOAuth(),
provideAbpOAuth({ ssr: false }),
provideAbpThemeShared(),
provideSettingManagementConfig(),
provideAccountConfig(),

7
npm/ng-packs/package.json

@ -50,12 +50,7 @@
"devDependencies": {
"@abp/ng.theme.lepton-x": "~4.2.0-rc.3",
"@abp/utils": "~9.2.0-rc.3",
"@angular-devkit/build-angular": "~19.1.0",
"@angular-devkit/core": "~19.1.0",
"@angular-devkit/schematics": "~19.1.0",
"@abp/ng.theme.lepton-x": "~4.2.0-rc.2",
"@abp/utils": "~9.2.0-rc.2",
"@angular-devkit/build-angular": "19.2.9",
"@angular-devkit/build-angular": "~19.2.9",
"@angular-devkit/core": "19.2.9",
"@angular-devkit/schematics": "19.2.9",
"@angular-devkit/schematics-cli": "~19.1.0",

2
npm/ng-packs/packages/oauth/src/lib/oauth.module.ts

@ -9,7 +9,7 @@ export class AbpOAuthModule {
static forRoot(): ModuleWithProviders<AbpOAuthModule> {
return {
ngModule: AbpOAuthModule,
providers: [provideAbpOAuth()],
providers: [provideAbpOAuth({ ssr: false })],
};
}
}

11
npm/ng-packs/packages/oauth/src/lib/providers/oauth-module-config.provider.ts

@ -5,7 +5,6 @@ import {
ApiInterceptor,
PIPE_TO_LOGIN_FN_KEY,
CHECK_AUTHENTICATION_STATE_FN_KEY,
AbpLocalStorageService,
AuthErrorFilterService,
} from '@abp/ng.core';
import { Provider, makeEnvironmentProviders, inject, provideAppInitializer } from '@angular/core';
@ -14,11 +13,12 @@ import { OAuthModule, OAuthStorage } from 'angular-oauth2-oidc';
import { AbpOAuthGuard, abpOAuthGuard } from '../guards';
import { OAuthConfigurationHandler } from '../handlers';
import { OAuthApiInterceptor } from '../interceptors';
import { AbpOAuthService, OAuthErrorFilterService } from '../services';
import { AbpOAuthService, BrowserTokenStorageService, OAuthErrorFilterService } from '../services';
import { pipeToLogin, checkAccessToken, oAuthStorageFactory } from '../utils';
import { NavigateToManageProfileProvider } from './navigate-to-manage-profile.provider';
import { ServerTokenStorageService } from '../services/server-token-storage.service';
export function provideAbpOAuth() {
export function provideAbpOAuth({ ssr = false }: { ssr?: boolean }) {
const providers = [
{
provide: AuthService,
@ -58,7 +58,10 @@ export function provideAbpOAuth() {
inject(OAuthConfigurationHandler);
}),
OAuthModule.forRoot().providers as Provider[],
{ provide: OAuthStorage, useClass: AbpLocalStorageService },
{
provide: OAuthStorage,
useClass: ssr ? ServerTokenStorageService : BrowserTokenStorageService,
},
{ provide: AuthErrorFilterService, useExisting: OAuthErrorFilterService },
];

3
npm/ng-packs/packages/oauth/src/lib/services/index.ts

@ -1,3 +1,4 @@
export * from './oauth.service';
export * from './oauth-error-filter.service';
export * from './remember-me.service'
export * from './remember-me.service';
export * from './browser-token-storage.service';

Loading…
Cancel
Save