This commit is contained in:
geek
2018-04-24 21:20:01 +09:00
commit f47354cd49
74 changed files with 965 additions and 0 deletions

5
src/model/alert/Alert.ts Normal file
View File

@@ -0,0 +1,5 @@
export interface Alert {
created: string;
msg: string;
}

View File

@@ -0,0 +1,5 @@
import {Alert} from './Alert';
export interface AlertMetric extends Alert {
status: string;
}

View File

@@ -0,0 +1,6 @@
import {Alert} from './Alert';
export interface AlertSystem extends Alert {
status?: string; // test
}

3
src/model/alert/index.ts Normal file
View File

@@ -0,0 +1,3 @@
export * from './Alert';
export * from './AlertMetric';
export * from './AlertSystem';

View File

@@ -0,0 +1,10 @@
import { DiscoveryPort } from './DiscoveryPort';
export interface DiscoveryHost {
firstScanRange?: string;
lastScanRange?: string;
excludeHosts?: string[];
includeHosts?: string[];
discoveryPort?: DiscoveryPort;
}

View File

@@ -0,0 +1,11 @@
import { DiscoveryService } from './DiscoveryService';
export interface DiscoveryPort {
firstScanRange: number;
lastScanRange: number;
excludePorts: number[];
includeTCP: boolean;
includeUDP: boolean;
discoveryService?: DiscoveryService;
}

View File

@@ -0,0 +1,3 @@
export interface DiscoveryService {
includeServices: string[];
}

View File

@@ -0,0 +1,11 @@
export interface DiscoveryStartInfo {
startIp: string;
endIP: string;
excludeIp?: string;
startPort?: string;
endPort?: string;
services?: Array<string>;
}
// export default DiscoveryStartInfo;

View File

@@ -0,0 +1,7 @@
import { DiscoveryHost } from './DiscoveryHost';
export interface DiscoveryZone {
excludePatterns?: string[];
discoveryHost?: DiscoveryHost;
}

View File

@@ -0,0 +1,15 @@
import { Zone } from './Zone';
import { Port } from './Port';
export interface Host {
id?: number;
ip: string;
mac: number;
os: string;
discoveredDate?: Date;
zone?: Zone;
target?: boolean;
ports: Map<number, Port> | null;
portList: Port[] | null;
}

View File

@@ -0,0 +1,15 @@
import { Host } from './Host';
import { PortType } from './PortType';
import { Service } from './Service';
export interface Port {
id?: number;
portType: PortType;
portNumber: number;
discoveredDate?: Date;
host: Host;
target?: boolean;
services: Map<string, Service> | null;
serviceList: Service[] | null;
}

View File

@@ -0,0 +1,8 @@
// enum PortType {
// TCP = 1,
// UDP = 2,
// TLS = 3,
// }
export type PortType = 'TCP' | 'UDP' | 'TLS';

View File

@@ -0,0 +1,10 @@
import { Port } from './Port';
export interface Service {
id: number;
cryptoType: string;
serviceName: string;
discoveredDate?: Date;
port: Port;
target?: boolean;
}

View File

@@ -0,0 +1,12 @@
import { Host } from './Host';
export interface Zone {
id?: number;
network?: string;
ip?: string;
iface?: string;
mac?: string;
discoveredDate?: Date;
hosts: Map<string, Host> | null;
}

View File

@@ -0,0 +1,11 @@
export * from './DiscoveryHost';
export * from './DiscoveryPort';
export * from './DiscoveryService';
export * from './DiscoveryZone';
export * from './DiscoveryStartInfo';
export * from './Host';
export * from './Port';
export * from './PortType';
export * from './Service';
export * from './Zone';

View File

@@ -0,0 +1,5 @@
export interface Domain {
id?: number;
name?: string;
createDate?: Date;
}

View File

@@ -0,0 +1,9 @@
import { Domain } from './Domain';
import { Member } from 'model/member';
export interface DomainMember {
id: number;
createDate: Date;
member: Member;
domain: Domain;
}

View File

@@ -0,0 +1,2 @@
export * from './Domain';
export * from './DomainMember';

13
src/model/infra/Infra.ts Normal file
View File

@@ -0,0 +1,13 @@
import { Probe } from 'model/probe';
import { Target } from 'model/target';
import { MetaInfraType } from 'model/meta/infra-type/MetaInfraType';
export interface Infra {
id?: number;
infraType?: MetaInfraType;
childId?: number;
createDate?: Date;
probe?: Probe;
target?: Target;
}

View File

@@ -0,0 +1,10 @@
import { InfraOS } from './InfraOS';
import { Infra } from './Infra';
export interface InfraHost extends Infra {
// id?: number;
os?: InfraOS;
ip?: number;
mac?: number;
createDate?: Date;
}

View File

@@ -0,0 +1,8 @@
import { Infra } from './Infra';
export interface InfraMachine extends Infra {
// id?: number;
meta?: string;
createDate?: Date;
}

View File

@@ -0,0 +1,11 @@
import { InfraMachine } from './InfraMachine';
import { Infra } from './Infra';
import { MetaInfraVendor } from 'model/meta/infra-vendor/MetaInfraVendor';
export interface InfraOS extends Infra {
// id?: number;
machine?: InfraMachine;
meta?: string;
createDate?: Date;
vendor?: MetaInfraVendor;
}

View File

@@ -0,0 +1,10 @@
import { InfraOS } from './InfraOS';
import { Infra } from './Infra';
export interface InfraOSApplication extends Infra {
// id?: number;
os?: InfraOS;
name?: string;
createDate?: Date;
}

View File

@@ -0,0 +1,9 @@
import { InfraOS } from './InfraOS';
import { Infra } from './Infra';
export interface InfraOSDaemon extends Infra {
// id?: number;
os?: InfraOS;
name?: string;
createDate?: Date;
}

View File

@@ -0,0 +1,13 @@
import { InfraOS } from './InfraOS';
import { Infra } from './Infra';
import { MetaInfraVendor } from 'model/meta/infra-vendor/MetaInfraVendor';
export interface InfraOSPort extends Infra {
// id?: number;
os?: InfraOS;
createDate?: Date;
port?: number;
portType?: string;
vendor?: MetaInfraVendor;
tlsType?: boolean;
}

View File

@@ -0,0 +1,13 @@
import { InfraHost } from './InfraHost';
import { Infra } from './Infra';
import { MetaInfraVendor } from 'model/meta/infra-vendor/MetaInfraVendor';
export interface InfraService extends Infra {
// id?: number;
host?: InfraHost;
portType?: string;
port?: number;
vendor?: MetaInfraVendor;
createDate?: Date;
tlsType?: boolean;
}

8
src/model/infra/index.ts Normal file
View File

@@ -0,0 +1,8 @@
export * from './InfraHost';
export * from './InfraMachine';
export * from './InfraOSApplication';
export * from './InfraOSDaemon';
export * from './InfraOSPort';
export * from './InfraOS';
export * from './InfraService';
export * from './Infra';

View File

@@ -0,0 +1,13 @@
import { MetaMemberStatus } from 'model/meta/member-status/MetaMemberStatus';
export interface Member {
id?: number;
email?: string;
password?: string;
name?: string;
phone?: string;
companyName?: string;
createDate?: Date;
totpType?: boolean;
status?: MetaMemberStatus;
}

View File

@@ -0,0 +1,6 @@
export enum MemberStatus {
NOAUTH = 1,
NORMAL = 2,
DORMANCY = 3,
WITHDRAWAL = 4,
}

View File

@@ -0,0 +1,10 @@
import { Member } from 'model/member';
export interface MemberTotp {
id?: number;
member: Member;
secretCode?: string;
createDate?: Date;
updateDate?: Date;
otpAuthUrl?: string;
}

View File

@@ -0,0 +1 @@
export * from './Member';

View File

@@ -0,0 +1,17 @@
import { MetaInputType } from 'model/meta/input-type/MetaInputType';
import { MetaCrawler } from 'model/meta/crawler/MetaCrawler';
export interface MetaCrawlerInputItem {
id?: number;
inputType?: MetaInputType;
crawler?: MetaCrawler;
description?: string;
name?: string;
createDate?: Date;
required?: boolean;
defaultValue?: string;
pattern?: string;
keyName?: string;
keyValue?: string;
}

View File

@@ -0,0 +1,34 @@
export interface MetaCrawler {
id: number;
createDate?: Date;
name?: string;
description?: string;
}
export enum MetaCrawler_ID {
ACTIVEDIRECTORY_CRAWLER = 1,
CASSANDRA_CRAWLER = 2,
DHCP_CRAWLER = 3,
DNS_CRAWLER = 4,
FTP_CRAWLER = 5,
HTTP_CRAWLER = 6,
IMAP_CRAWLER = 7,
LDAP_CRAWLER = 8,
MONGODB_CRAWLER = 9,
MSSQL_CRAWLER = 10,
MYSQL_CRAWLER = 11,
NETBIOS_CRAWLER = 12,
ORACLE_CRAWLER = 13,
POP_CRAWLER = 14,
POSTGRESQL_CRAWLER = 15,
REDIS_CRAWLER = 16,
RMI_CRAWLER = 17,
SMB_CRAWLER = 18,
SMTP_CRAWLER = 19,
SNMP_CRAWLER = 20,
SSH_CRAWLER = 21,
TELNET_CRAWLER = 22,
WMI_CRAWLER = 23,
UNKNOWN_CRAWLER = 24,
}

View File

@@ -0,0 +1,14 @@
export interface MetaHistoryType {
id?: number;
name?: string;
createDate?: Date;
}
export enum MetaHistoryType_ID {
Member = 1,
Probe = 2,
Discovery = 3,
Target = 4,
Crawler = 5,
Sensor = 6,
}

View File

@@ -0,0 +1,15 @@
export interface MetaInfraType {
id?: number;
name?: string;
createDate?: Date;
}
export enum MetaInfraType_ID {
MACHINE = 1,
HOST = 2,
OS = 3,
OS_APPLICATION = 4,
OS_DAEMON = 5,
OS_PORT = 6,
OS_SERVICE = 7,
}

View File

@@ -0,0 +1,65 @@
import { MetaInfraType } from 'model/meta/infra-type/MetaInfraType';
export interface MetaInfraVendor {
id?: number;
name?: string;
createDate?: Date;
infraType?: MetaInfraType;
}
export enum MetaInfraVendor_Machine_ID {
APPLE = 1,
MICROSOFT = 2,
ASUS = 3,
HP = 4,
DELL = 5,
LENOVO = 6,
ACER = 7,
SAMSUNG = 8,
LG = 9,
CISCO = 10,
}
export enum MetaInfraVendor_HOST_ID {
Windows = 11,
Linux = 12,
MacOS = 13,
Ubuntu = 14,
CentOS = 15,
Fedora = 16,
RedHat = 17,
Debian = 18,
SUSE = 19,
CoreOS = 20,
AmazonLinux = 21,
Kubernetes = 22,
Docker = 23,
iOS = 24,
Android = 25,
}
export enum MetaInfraVendor_OS_ID {
Windows = 26,
MacOS = 27,
Ubuntu = 28,
CentOS = 29,
Fedora = 30,
RedHat = 31,
Debian = 32,
SUSE = 33,
CoreOS = 34,
AmazonLinux = 35,
Kubernetes = 36,
Docker = 37,
iOS = 38,
Android = 39,
}
export enum MetaInfraVendor_SERVICE_ID {
MySql = 40,
PostgreSQL = 41,
WMI = 42,
SNMP_V2 = 43,
UNKNOWN = 44,
}

View File

@@ -0,0 +1,14 @@
export interface MetaInputType {
id?: number;
name: string;
description: string;
createDate: Date;
}
export enum MetaInputType_ID {
TEXT_TYPE = 1,
PASSWORD_TYPE = 2,
NUMBER_TYPE = 3,
BOOLEAN_TYPE = 4,
SELECT_TYPE = 5,
}

View File

@@ -0,0 +1,11 @@
export interface MetaMemberStatus {
id: number;
name: string;
}
export enum MetaMemberStatus_ID {
NOAUTH = 1,
NORMAL = 2,
DIAPAUSE = 3,
WITHDRAWAL = 4,
}

View File

@@ -0,0 +1,10 @@
import { MetaCrawler } from 'model/meta/crawler/MetaCrawler';
import { MetaInfraVendor } from 'model/meta/infra-vendor/MetaInfraVendor';
export interface MetaVendorCrawler {
id?: number;
crawler: MetaCrawler;
infraVendor: MetaInfraVendor;
createDate: Date;
}

View File

@@ -0,0 +1,13 @@
import { MetaSensorItem } from 'model/meta/sensor-item/MetaSensorItem';
import { MetaInfraVendor } from 'model/meta/infra-vendor/MetaInfraVendor';
export interface MetaVendorCrawlerSensorItem {
id?: number;
interval: string;
warnCondition: string;
createDate: Date;
sensorItem: MetaSensorItem;
vendor: MetaInfraVendor;
crawlerId: number;
}

View File

View File

@@ -0,0 +1,11 @@
export interface MetaNoAuthProbeStatus {
id?: number;
name: string;
}
export enum MetaNoAuthProbeStatus_ID {
ACCEPT = 1,
DENY = 2,
PROCESS = 3,
}

View File

@@ -0,0 +1,7 @@
export interface MetaNotification {
id?: number;
createDate: Date;
name: string;
description: string;
}

View File

@@ -0,0 +1,11 @@
export interface MetaProbeArchitecture {
id?: number;
architecture: string;
createDate: Date;
}
export enum MetaProbeArchitecture_ID {
x86_64bit = 1,
}

View File

@@ -0,0 +1,13 @@
export interface MetaProbeOs {
id?: number;
name: string;
createDate: Date;
}
export enum MetaProbeOs_ID {
Windows = 1,
Debian = 2,
Ubuntu = 3,
Fedora = 4,
}

View File

@@ -0,0 +1,11 @@
import { MetaProbeVersion } from 'model/meta/probe-version/MetaProbeVersion';
import { MetaProbeOs } from 'model/meta/probe-os/MetaProbeOs';
import { MetaProbeArchitecture } from 'model/meta/probe-architecture/MetaProbeArchitecture';
export interface MetaProbePackage {
id?: number;
version: MetaProbeVersion;
os: MetaProbeOs;
architecture: MetaProbeArchitecture;
createDate: Date;
}

View File

@@ -0,0 +1,10 @@
export interface MetaProbeStatus {
id: number;
name: string;
}
export enum MetaProbeStatus_ID {
INITIAL = 1,
NORMAL = 2,
}

View File

@@ -0,0 +1,7 @@
export interface MetaProbeTaskType {
id?: number;
name: string;
description: string;
createDate: Date;
}

View File

@@ -0,0 +1,5 @@
export interface MetaProbeVersion {
id?: number;
version: string;
createDate: Date;
}

View File

@@ -0,0 +1,15 @@
import { MetaCrawler } from 'model/meta/crawler/MetaCrawler';
import { MetaSensorItemUnit } from 'model/meta/sensor-item-unit/MetaSensorItemUnit';
import { MetaSensorItemType } from 'model/meta/sensor-item-type/MetaSensorItemType';
export interface MetaSensorDisplayItem {
id?: number;
key?: string;
displayName?: string;
description?: string;
crawler?: MetaCrawler;
unit?: MetaSensorItemUnit;
createDate?: Date;
default?: boolean;
itemType?: MetaSensorItemType;
}

View File

@@ -0,0 +1,12 @@
import { MetaSensorItem } from 'model/meta/sensor-item/MetaSensorItem';
import { MetaCrawler } from 'model/meta/crawler/MetaCrawler';
export interface MetaSensorItemKey {
id: number;
item: MetaSensorItem;
key: string;
froms: string;
option: string;
crawler: MetaCrawler;
createDate: Date;
}

View File

@@ -0,0 +1,6 @@
export interface MetaSensorItemType {
id?: number;
name?: string;
description?: string;
createDate?: Date;
}

View File

@@ -0,0 +1,6 @@
export interface MetaSensorItemUnit {
id: number;
unit: string;
createDate: Date;
mark: string;
}

View File

@@ -0,0 +1,10 @@
import { MetaSensorItemType } from 'model/meta/sensor-item-type/MetaSensorItemType';
export interface MetaSensorItem {
id?: number;
itemType?: MetaSensorItemType;
key?: string;
name?: string;
createDate?: Date;
}

View File

@@ -0,0 +1,10 @@
export interface MetaSensorStatus {
id?: number;
name?: string;
}
export enum MetaSensorStatus_ID {
RUNNING = 1,
STOPPED = 2,
}

View File

@@ -0,0 +1,24 @@
import { Probe } from 'model/probe';
import { Domain } from 'model/domain';
import { MetaNoAuthProbeStatus } from 'model/meta/noauth-probe-status/MetaNoAuthProbeStatus';
export interface NoAuthProbe {
// id?: number;
// hostName?: string;
// macAddress?: number;
// ipAddress?: number;
// status?: MetaNoAuthProbeStatus;
// tempProbeKey?: string;
// createDate?: Date;
// apiKey?: string;
// domain?: Domain;
// probe?: Probe;
id?: number;
description?: string;
status?: MetaNoAuthProbeStatus;
tempProbeKey?: string;
createDate?: Date;
apiKey?: string;
domain?: Domain;
probe?: Probe;
}

View File

@@ -0,0 +1 @@
export * from './NoAuthProbe';

View File

@@ -0,0 +1,14 @@
import { Member } from 'model/member';
export interface Notification {
id?: number;
createDate?: Date;
title?: string;
message?: string;
member?: Member;
confirmDate?: Date;
url?: string;
}

View File

@@ -0,0 +1 @@
export * from './Notification';

20
src/model/probe/Probe.ts Normal file
View File

@@ -0,0 +1,20 @@
import { Domain } from 'model/domain/';
import { Member } from 'model/member/';
import { Infra } from 'model/infra/';
import { MetaProbeStatus } from 'model/meta/probe-status/MetaProbeStatus';
export interface Probe {
id?: number;
status?: MetaProbeStatus; // INITIAL / NORMAL
description?: string;
createDate?: Date;
domain?: Domain;
probeKey?: string;
encryptionKey?: string;
displayName?: string;
cidr?: string;
authorizeDate?: Date;
authorizeMember?: Member;
// host?: InfraHost;
targets?: Infra[];
}

View File

@@ -0,0 +1,9 @@
import { Probe } from './Probe';
import { InfraHost } from 'model/infra';
export interface ProbeHost {
id?: number;
probe?: Probe;
host?: InfraHost;
}

View File

@@ -0,0 +1,14 @@
import { Probe } from './Probe';
import { MetaProbeTaskType } from 'model/meta/probe-task-type/MetaProbeTaskType';
export interface ProbeTask {
id?: number;
taskType: MetaProbeTaskType;
probe: Probe;
data: string;
createDate: Date;
sendDate: Date;
startDate: Date;
endDate: Date;
succeed: boolean;
}

3
src/model/probe/index.ts Normal file
View File

@@ -0,0 +1,3 @@
export * from './Probe';
export * from './ProbeHost';
export * from './ProbeTask';

View File

@@ -0,0 +1,9 @@
import { MetaSensorDisplayItem } from 'model/meta/sensor-display-item/MetaSensorDisplayItem';
import { Sensor } from 'model/sensor';
export interface SensorItem {
id?: number;
sensor?: Sensor;
item?: MetaSensorDisplayItem;
createDate?: Date;
}

View File

@@ -0,0 +1,8 @@
import { MetaSensorDisplayItem } from 'model/meta/sensor-display-item/MetaSensorDisplayItem';
import { MetaSensorItemKey } from 'model/meta/sensor-item-key/MetaSensorItemKey';
export interface SensorItemDependency {
id?: number;
item?: MetaSensorDisplayItem;
sensorItem?: MetaSensorItemKey;
}

View File

@@ -0,0 +1,14 @@
import { Target } from 'model/target';
import { MetaSensorStatus } from 'model/meta/sensor-status/MetaSensorStatus';
import { MetaCrawler } from 'model/meta/crawler/MetaCrawler';
export interface Sensor {
id?: number;
createDate?: Date;
description?: string;
status?: MetaSensorStatus;
target?: Target;
crawler?: MetaCrawler;
crawlerInputItems?: string;
itemCount?: number;
}

View File

@@ -0,0 +1,14 @@
import { Infra } from 'model/infra';
import { MetaCrawler } from 'model/meta/crawler/MetaCrawler';
import { MetaSensorDisplayItem } from 'model/meta/sensor-display-item/MetaSensorDisplayItem';
export interface SensorRegistInfo {
sensorItemMap: Map<number, Array<MetaSensorDisplayItem>>;
crawler: MetaCrawler;
// targetId: number;
interval: number;
// type: string;
infra: Infra;
crawlerAuth: string;
}

View File

@@ -0,0 +1,2 @@
export * from './Sensor';
export * from './SensorRegistInfo';

View File

@@ -0,0 +1,11 @@
import { Probe } from 'model/probe';
import { Infra } from 'model/infra';
import { Sensor } from 'model/sensor';
export interface Target {
id?: number;
createDate?: Date;
displayName?: string;
description?: string;
sensors?: Sensor[];
}

View File

@@ -0,0 +1 @@
export * from './Target';