Merge branch 'master' of https://git.loafle.net/overflow/overflow-webapp
This commit is contained in:
commit
311dfee153
|
@ -19,7 +19,7 @@
|
|||
|
||||
<!-- target 별 sensor list -->
|
||||
<div fxFlex="80%" class="example-container mat-elevation-z8">
|
||||
<!-- <div fxLayout="row" >
|
||||
<div fxLayout="row" >
|
||||
<div fxFlex="20">aaaaaaaaaaaaaaaaaaa</div>
|
||||
|
||||
<div fxFlex="80">
|
||||
|
@ -48,7 +48,7 @@
|
|||
<mat-row *matRowDef="let row; columns: displayedColumns;" (click)="handleRowClick(row)"></mat-row>
|
||||
</mat-table>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
@ -4,6 +4,14 @@ import { AfterContentInit } from '@angular/core/src/metadata/lifecycle_hooks';
|
|||
import { Router } from '@angular/router';
|
||||
import { Sensor } from '../../model';
|
||||
|
||||
import { Store, select } from '@ngrx/store';
|
||||
|
||||
import * as SensorStore from '../../store';
|
||||
|
||||
import { RPCError } from 'packages/core/rpc/error';
|
||||
import * as ReadAllByDomainStore from '../../store/readallbydomain';
|
||||
import { ReadAllByMemberSelector } from '../../store';
|
||||
import { Domain } from '../../../domain/model';
|
||||
|
||||
@Component({
|
||||
selector: 'of-sensor-list',
|
||||
|
@ -12,6 +20,8 @@ import { Sensor } from '../../model';
|
|||
})
|
||||
export class ListComponent implements OnInit, AfterContentInit {
|
||||
|
||||
sensorList$ = this.store.pipe(select(ReadAllByMemberSelector.select('sensorList')));
|
||||
|
||||
displayedColumns = ['crawler', 'type', 'name', 'sensors'];
|
||||
dataSource: MatTableDataSource<Sensor>;
|
||||
@ViewChild(MatSort) sort: MatSort;
|
||||
|
@ -22,27 +32,55 @@ export class ListComponent implements OnInit, AfterContentInit {
|
|||
*/
|
||||
ngAfterContentInit() {
|
||||
// temporary data
|
||||
const data: Sensor[] = new Array();
|
||||
for (let i = 0; i < 3; i++) {
|
||||
const t: Sensor = {
|
||||
id: i,
|
||||
target: {
|
||||
id: 1,
|
||||
displayName: '192.168.1.1',
|
||||
},
|
||||
crawler: {
|
||||
id: 1,
|
||||
name: 'WMI'
|
||||
},
|
||||
};
|
||||
data.push(t);
|
||||
}
|
||||
// const data: Sensor[] = new Array();
|
||||
// for (let i = 0; i < 3; i++) {
|
||||
// const t: Sensor = {
|
||||
// id: i,
|
||||
// target: {
|
||||
// id: 1,
|
||||
// displayName: '192.168.1.1',
|
||||
// },
|
||||
// crawler: {
|
||||
// id: 1,
|
||||
// name: 'WMI'
|
||||
// },
|
||||
// };
|
||||
// data.push(t);
|
||||
// }
|
||||
|
||||
this.dataSource = new MatTableDataSource(data);
|
||||
this.dataSource.sort = this.sort;
|
||||
this.store.select(ReadAllByMemberSelector.select('domain')).subscribe(
|
||||
(domain: Domain) => {
|
||||
this.store.dispatch(new ReadAllByDomainStore.ReadAllByDomain(domain));
|
||||
},
|
||||
(error) => {
|
||||
console.log(error);
|
||||
}
|
||||
);
|
||||
|
||||
// const domain: Domain = {
|
||||
// id: 1
|
||||
// };
|
||||
|
||||
// this.store.dispatch(new ReadAllByDomainStore.ReadAllByDomain(domain));
|
||||
|
||||
this.sensorList$.subscribe(
|
||||
(probes: Sensor[]) => {
|
||||
console.log(probes);
|
||||
this.dataSource = new MatTableDataSource(probes);
|
||||
this.dataSource.sort = this.sort;
|
||||
},
|
||||
(error: RPCError) => {
|
||||
console.log(error.message);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
// this.dataSource = new MatTableDataSource(data);
|
||||
// this.dataSource.sort = this.sort;
|
||||
}
|
||||
|
||||
constructor(private router: Router) { }
|
||||
constructor(private router: Router,
|
||||
private store: Store<ReadAllByDomainStore.State>) { }
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ import { MaterialModule } from 'app/commons/ui/material/material.module';
|
|||
import { QRCodeModule } from 'angularx-qrcode';
|
||||
|
||||
import { COMPONENTS } from './component';
|
||||
import {SERVICES} from "../../probe/service";
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
|
@ -18,6 +19,9 @@ import { COMPONENTS } from './component';
|
|||
],
|
||||
declarations: [
|
||||
COMPONENTS,
|
||||
]
|
||||
],
|
||||
providers: [
|
||||
SERVICES,
|
||||
],
|
||||
})
|
||||
export class MemberModule { }
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
import {MemberTotpService} from './member-totp.service';
|
||||
|
||||
export const SERVICES = [
|
||||
MemberTotpService,
|
||||
];
|
|
@ -0,0 +1,15 @@
|
|||
import { TestBed, inject } from '@angular/core/testing';
|
||||
|
||||
import { MemberTotpService } from './member-totp.service';
|
||||
|
||||
describe('MemberTotpService', () => {
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
providers: [MemberTotpService]
|
||||
});
|
||||
});
|
||||
|
||||
it('should be created', inject([MemberTotpService], (service: MemberTotpService) => {
|
||||
expect(service).toBeTruthy();
|
||||
}));
|
||||
});
|
30
src/packages/settings/member/service/member-totp.service.ts
Normal file
30
src/packages/settings/member/service/member-totp.service.ts
Normal file
|
@ -0,0 +1,30 @@
|
|||
import { Injectable } from '@angular/core';
|
||||
import { RPCClient } from '../../../core/rpc/client/RPCClient';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
import { MemberTotp } from '../model/MemberTotp';
|
||||
import { Member } from '../../../member/model';
|
||||
|
||||
@Injectable()
|
||||
export class MemberTotpService {
|
||||
|
||||
public constructor(
|
||||
private rpcClient: RPCClient,
|
||||
) {
|
||||
|
||||
}
|
||||
|
||||
public createTotp(): Observable<MemberTotp[]> {
|
||||
// Todo Store get member object
|
||||
|
||||
return this.rpcClient.call<MemberTotp[]>('MemberTotpService.createTotp', {id: '1'});
|
||||
}
|
||||
|
||||
public regist(): Observable<boolean> {
|
||||
const param = {
|
||||
Member: {id: 1,},
|
||||
MemberTotp: {id: 1, secretCode: 'dkdkdkdk'},
|
||||
code: '123123'
|
||||
};
|
||||
return this.rpcClient.call<boolean>('MemberTotpService.regist', param);
|
||||
}
|
||||
}
|
4
src/packages/settings/member/store/totp/index.ts
Normal file
4
src/packages/settings/member/store/totp/index.ts
Normal file
|
@ -0,0 +1,4 @@
|
|||
export * from './totp.action';
|
||||
// export * from './totp.effect';
|
||||
// export * from './totp.reducer';
|
||||
// export * from './totp.state';
|
63
src/packages/settings/member/store/totp/totp.action.ts
Normal file
63
src/packages/settings/member/store/totp/totp.action.ts
Normal file
|
@ -0,0 +1,63 @@
|
|||
import { Action } from '@ngrx/store';
|
||||
|
||||
import { RESTError } from 'packages/core/rest/error';
|
||||
|
||||
import { DomainMember } from 'packages/domain/model';
|
||||
import {Member} from "../../../../member/model";
|
||||
|
||||
export enum ActionType {
|
||||
CreateTotp = '[member.totp] CreateTotp',
|
||||
CreateTotpSuccess = '[member.totp] CreateTotpSuccess',
|
||||
CreateTotpFailure = '[member.totp] CreateTotpFailure',
|
||||
|
||||
Regist = '[member.auth] SigninCookie',
|
||||
RegistSuccess = '[member.auth] SigninCookieSuccess',
|
||||
RegistFailure = '[member.auth] SigninCookieFailure',
|
||||
}
|
||||
|
||||
export class CreateTotp implements Action {
|
||||
readonly type = ActionType.CreateTotp;
|
||||
|
||||
constructor(public payload: {key: string, uri: string}) {}
|
||||
}
|
||||
|
||||
export class CreateTotpSuccess implements Action {
|
||||
readonly type = ActionType.CreateTotpSuccess;
|
||||
|
||||
constructor(public payload: {key: string, uri: string}) {}
|
||||
}
|
||||
|
||||
export class CreateTotpFailure implements Action {
|
||||
readonly type = ActionType.CreateTotpFailure;
|
||||
|
||||
constructor(public payload: RESTError) {}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
|
||||
export class Regist implements Action {
|
||||
readonly type = ActionType.Regist;
|
||||
|
||||
constructor(public payload: {member: Member, secretCode: string, code: string}) {}
|
||||
}
|
||||
|
||||
export class RegistSuccess implements Action {
|
||||
readonly type = ActionType.RegistSuccess;
|
||||
|
||||
constructor(public payload: void) {}
|
||||
}
|
||||
|
||||
export class RegistFailure implements Action {
|
||||
readonly type = ActionType.RegistFailure;
|
||||
|
||||
constructor(public payload: RESTError) {}
|
||||
}
|
||||
|
||||
export type Actions =
|
||||
| CreateTotp
|
||||
| CreateTotpSuccess
|
||||
| CreateTotpFailure
|
||||
| Regist
|
||||
| RegistSuccess
|
||||
| RegistFailure
|
||||
;
|
Loading…
Reference in New Issue
Block a user