Skip to content

Commit

Permalink
feat: basic entity and column
Browse files Browse the repository at this point in the history
  • Loading branch information
ruiming committed Feb 27, 2018
1 parent fc50e38 commit 4cfb3b0
Show file tree
Hide file tree
Showing 7 changed files with 124 additions and 0 deletions.
37 changes: 37 additions & 0 deletions src/entities/Connection.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import { Entity, PrimaryGeneratedColumn, Column, ManyToOne, JoinColumn } from 'typeorm';
import Visiter from './Visiter';
import Host from './Host';

@Entity()
export default class Connection {
@PrimaryGeneratedColumn() id: number;

/** 请求文件 */
@Column() asset: string;

/** 请求方法 */
@Column() method: string;

/** 状态 */
@Column() status: number;

/** 文件地址 */
@Column() uri: string;

/** 文件大小 */
@Column() size: string;

/** 访客 ID */
@Column() visiterId: number;

@ManyToOne(type => Visiter)
@JoinColumn({ name: 'visiterId' })
visiter: Visiter;

/** 访问的网站 */
@Column() hostId: number;

@ManyToOne(type => Host)
@JoinColumn({ name: 'hostId' })
host: Host;
}
18 changes: 18 additions & 0 deletions src/entities/Host.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { Column, Entity, PrimaryGeneratedColumn, OneToOne, JoinColumn } from 'typeorm';
import User from './User';

@Entity()
export default class Host {
@PrimaryGeneratedColumn() id: number;

/** 网站 */
@Column() website: string;

/** 所属用户 ID */
@Column() userId: number;

/** 所属用户 */
@OneToOne(type => User)
@JoinColumn({ name: 'userId' })
user: User;
}
8 changes: 8 additions & 0 deletions src/entities/Page.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import { Entity, PrimaryGeneratedColumn } from 'typeorm';

@Entity()
export default class Page {
@PrimaryGeneratedColumn() id: number;

/** */
}
24 changes: 24 additions & 0 deletions src/entities/Session.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { Column, Entity, PrimaryColumn, CreateDateColumn, ManyToOne, JoinColumn } from 'typeorm';
import Visiter from './Visiter';
import Host from './Host';

@Entity()
export default class Session {
@PrimaryColumn() visiterId: number;

@PrimaryColumn() hostId: number;

/** referer */
@Column() referer: string;

/** 访问时间 */
@CreateDateColumn() createdAt: string;

@ManyToOne(type => Visiter)
@JoinColumn({ name: 'visiterId' })
visiter: Visiter;

@ManyToOne(type => Host)
@JoinColumn({ name: 'hostId' })
host: Host;
}
12 changes: 12 additions & 0 deletions src/entities/User.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';

@Entity()
export default class User {
@PrimaryGeneratedColumn() id: number;

/** 用户邮箱 */
@Column() email: string;

/** 用户密码 */
@Column() password: string;
}
24 changes: 24 additions & 0 deletions src/entities/Visiter.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { Column, Entity, PrimaryGeneratedColumn, CreateDateColumn } from 'typeorm';

@Entity()
export default class Visiter {
@PrimaryGeneratedColumn() id: number;

/** 语言 */
@Column() lang: string;

/** 地区 */
@Column() location: string;

/** 城市 */
@Column() city: string;

/** 浏览器信息 */
@Column() browser: string;

/** 操作系统 */
@Column() os: string;

/** 创建时间 */
@CreateDateColumn() createdAt: string;
}
1 change: 1 addition & 0 deletions tslint.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"no-implicit-dependencies": [true, "dev"],
"ordered-imports": false,
"object-literal-sort-keys": false,
"member-access": false,
"semicolon": [true, "always"]
}
}

0 comments on commit 4cfb3b0

Please sign in to comment.