Skip to content

Commit fb79fde

Browse files
committed
shared for storage and shared transfer http
1 parent c18466c commit fb79fde

17 files changed

+118
-136
lines changed

src/app/app.browser.module.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import { BrowserModule, BrowserTransferStateModule } from '@angular/platform-bro
55
import { TransferHttpCacheModule } from '@nguniversal/common';
66
import { REQUEST } from '@nguniversal/express-engine';
77
// shared
8-
import { CookieStorage } from '../forStorage/browser.storage';
9-
import { AppStorage } from '../forStorage/universal.inject';
8+
import { CookieStorage } from '@shared/for-storage/browser.storage';
9+
import { AppStorage } from '@shared/for-storage/universal.inject';
1010
// components
1111
import { AppComponent } from './app.component';
1212
import { AppModule } from './app.module';

src/app/app.module.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
88
import { CookieService } from 'ngx-cookie-service';
99
import { PrebootModule } from 'preboot';
1010
// shared
11-
import { TransferHttpModule } from '../modules/transfer-http/transfer-http.module';
1211
import { SharedModule } from '@shared/shared.module';
1312
// components
1413
import { AppRoutes } from './app.routing';
@@ -21,7 +20,6 @@ import { AppComponent } from './app.component';
2120
HttpClientModule,
2221
RouterModule,
2322
AppRoutes,
24-
TransferHttpModule,
2523
BrowserAnimationsModule,
2624
SharedModule.forRoot(),
2725
],

src/app/app.server.module.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import { ModuleMapLoaderModule } from '@nguniversal/module-map-ngfactory-loader'
77
import 'rxjs/add/operator/filter';
88
import 'rxjs/add/operator/first';
99
// shared
10-
import { UniversalStorage } from '../forStorage/server.storage';
11-
import { AppStorage } from '../forStorage/universal.inject';
10+
import { UniversalStorage } from '@shared/for-storage/server.storage';
11+
import { AppStorage } from '@shared/for-storage/universal.inject';
1212
import { TranslatesServerModule } from '@shared/translates/translates-server';
1313
// components
1414
import { AppComponent } from './app.component';

src/app/home/home.component.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
1-
import { AppStorage } from './../../forStorage/universal.inject';
2-
import { TransferHttp } from './../../modules/transfer-http/transfer-http';
31
import { Component, OnInit, Inject } from '@angular/core';
42

3+
import { AppStorage } from '@shared/for-storage/universal.inject';
4+
import { TransferHttpService } from '@shared/transfer-http';
5+
56
@Component({
67
selector: 'app-home',
78
templateUrl: './home.component.html',
89
styleUrls: ['./home.component.scss']
910
})
1011
export class HomeComponent implements OnInit {
11-
12-
constructor(
13-
private http: TransferHttp, @Inject(AppStorage) private appStorage: Storage
14-
) { }
12+
constructor(private http: TransferHttpService,
13+
@Inject(AppStorage) private appStorage: Storage) {
14+
}
1515

1616
ngOnInit(): void {
17-
1817
this.appStorage.setItem('test', 'test2');
1918
const resultCookie = this.appStorage.getItem('test');
2019
const t = window;
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import { Injectable } from '@angular/core';
2+
import { CookieService } from 'ngx-cookie-service';
3+
4+
@Injectable()
5+
export class CookieStorage implements Storage {
6+
[index: number]: string;
7+
[key: string]: any;
8+
length: number;
9+
10+
constructor(private cookieService: CookieService) {
11+
}
12+
13+
public clear(): void {
14+
this.cookieService.deleteAll();
15+
}
16+
17+
public getItem(key: string): string {
18+
return this.cookieService.get(key);
19+
}
20+
21+
public key(index: number): string {
22+
return this.cookieService.getAll().propertyIsEnumerable[index];
23+
}
24+
25+
public removeItem(key: string): void {
26+
this.cookieService.delete(key);
27+
}
28+
29+
public setItem(key: string, data: string): void {
30+
this.cookieService.set(key, data);
31+
}
32+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { Inject, Injectable } from '@angular/core';
2+
import { REQUEST } from '@nguniversal/express-engine';
3+
4+
@Injectable()
5+
export class UniversalStorage implements Storage {
6+
[index: number]: string;
7+
[key: string]: any;
8+
length: number;
9+
cookies: any;
10+
11+
constructor(@Inject(REQUEST) private request: any) {
12+
if (request === null) {
13+
this.cookies = [];
14+
return;
15+
}
16+
this.cookies = request.cookies;
17+
}
18+
19+
public clear(): void {
20+
this.cookies = [];
21+
}
22+
23+
public getItem(key: string): string {
24+
return this.cookies[key];
25+
}
26+
27+
public key(index: number): string {
28+
return this.cookies.propertyIsEnumerable[index];
29+
}
30+
31+
public removeItem(key: string): void {
32+
this.cookies[key] = undefined;
33+
}
34+
35+
public setItem(key: string, data: string): void {
36+
this.cookies[key] = data;
37+
}
38+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { InjectionToken } from '@angular/core';
2+
3+
export const AppStorage: InjectionToken<Storage> = new InjectionToken<Storage>('AppStorage');

src/app/shared/shared.module.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@ import { ModuleWithProviders, NgModule } from '@angular/core';
22

33
import { LayoutsModule } from './layouts/layouts.module';
44
import { SharedMetaModule } from './shared-meta';
5+
import { TransferHttpModule } from './transfer-http';
56

67
@NgModule({
78
exports: [
89
LayoutsModule,
9-
SharedMetaModule
10+
SharedMetaModule,
11+
TransferHttpModule
1012
],
1113
providers: []
1214
})
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export { TransferHttpModule } from './transfer-http.module';
2+
export { TransferHttpService } from './transfer-http.service';
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { NgModule } from '@angular/core';
2+
3+
import { TransferHttpService } from './transfer-http.service';
4+
5+
@NgModule({
6+
providers: [TransferHttpService]
7+
})
8+
export class TransferHttpModule {
9+
}

0 commit comments

Comments
 (0)