From 960fc96d2876af25ed4636f63dcd97364903eae4 Mon Sep 17 00:00:00 2001 From: Jerko Steiner Date: Wed, 18 Sep 2019 15:54:56 +0700 Subject: [PATCH] Use entity-schemas as entities --- packages/server/config/default.yml | 2 +- packages/server/src/bootstrap.ts | 2 +- packages/server/src/entities/BaseEntity.ts | 17 ------------ .../BaseEntitySchemaPart.ts | 0 packages/server/src/entities/Role.ts | 8 ------ .../RoleEntity.ts | 0 packages/server/src/entities/Session.ts | 22 --------------- .../SessionEntity.ts | 0 packages/server/src/entities/Team.ts | 20 -------------- .../TeamEntity.ts | 0 packages/server/src/entities/User.ts | 27 ------------------- packages/server/src/entities/UserEmail.ts | 15 ----------- .../UserEmailEntity.ts | 0 .../UserEntity.ts | 0 packages/server/src/entities/UserTeam.ts | 26 ------------------ .../UserTeamEntity.ts | 0 packages/server/src/entities/index.ts | 13 +++++---- packages/server/src/entity-schemas/index.ts | 6 ----- packages/server/src/index.ts | 3 ++- .../src/middleware/SessionMiddleware.ts | 2 +- packages/server/src/rpc/SQLTeamService.ts | 2 +- packages/server/src/rpc/SQLUserService.ts | 2 +- .../server/src/services/SQLAuthService.ts | 2 +- .../server/src/services/SQLUserPermissions.ts | 2 +- 24 files changed, 15 insertions(+), 156 deletions(-) delete mode 100644 packages/server/src/entities/BaseEntity.ts rename packages/server/src/{entity-schemas => entities}/BaseEntitySchemaPart.ts (100%) delete mode 100644 packages/server/src/entities/Role.ts rename packages/server/src/{entity-schemas => entities}/RoleEntity.ts (100%) delete mode 100644 packages/server/src/entities/Session.ts rename packages/server/src/{entity-schemas => entities}/SessionEntity.ts (100%) delete mode 100644 packages/server/src/entities/Team.ts rename packages/server/src/{entity-schemas => entities}/TeamEntity.ts (100%) delete mode 100644 packages/server/src/entities/User.ts delete mode 100644 packages/server/src/entities/UserEmail.ts rename packages/server/src/{entity-schemas => entities}/UserEmailEntity.ts (100%) rename packages/server/src/{entity-schemas => entities}/UserEntity.ts (100%) delete mode 100644 packages/server/src/entities/UserTeam.ts rename packages/server/src/{entity-schemas => entities}/UserTeamEntity.ts (100%) delete mode 100644 packages/server/src/entity-schemas/index.ts diff --git a/packages/server/config/default.yml b/packages/server/config/default.yml index 4678838..e3c86d7 100644 --- a/packages/server/config/default.yml +++ b/packages/server/config/default.yml @@ -19,7 +19,7 @@ app: migrationsRun: false logging: true entities: - - src/entity-schemas/*Entity.ts + - src/entities/*Entity.ts migrations: - src/migrations/index.ts cli: diff --git a/packages/server/src/bootstrap.ts b/packages/server/src/bootstrap.ts index 0c48ae6..06f1b40 100644 --- a/packages/server/src/bootstrap.ts +++ b/packages/server/src/bootstrap.ts @@ -1,7 +1,7 @@ import { ServerBootstrap } from './application' import { configureServer } from './application/configureServer' import { config } from './config' -import * as entities from './entity-schemas' +import * as entities from './entities' import * as migrations from './migrations' export default new ServerBootstrap({ diff --git a/packages/server/src/entities/BaseEntity.ts b/packages/server/src/entities/BaseEntity.ts deleted file mode 100644 index 99b94b9..0000000 --- a/packages/server/src/entities/BaseEntity.ts +++ /dev/null @@ -1,17 +0,0 @@ -// import { CreateDateColumn, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm' - -// const transformer = { -// from: (value: Date) => !isNaN(value.getTime()) ? value.toISOString() : value, -// to: (value: undefined | null | string) => value ? new Date(value) : value, -// } - -// export abstract class BaseEntity { -// @PrimaryGeneratedColumn({type: 'bigint'}) -// id!: number - -// @CreateDateColumn({transformer, type: 'datetime'}) -// createDate!: string - -// @UpdateDateColumn({transformer, type: 'datetime'}) -// updateDate!: string -// } diff --git a/packages/server/src/entity-schemas/BaseEntitySchemaPart.ts b/packages/server/src/entities/BaseEntitySchemaPart.ts similarity index 100% rename from packages/server/src/entity-schemas/BaseEntitySchemaPart.ts rename to packages/server/src/entities/BaseEntitySchemaPart.ts diff --git a/packages/server/src/entities/Role.ts b/packages/server/src/entities/Role.ts deleted file mode 100644 index ef689e6..0000000 --- a/packages/server/src/entities/Role.ts +++ /dev/null @@ -1,8 +0,0 @@ -// import { Column, Entity } from 'typeorm' -// import { BaseEntity } from './BaseEntity' - -// @Entity() -// export class Role extends BaseEntity { -// @Column({ unique: true }) -// name!: string -// } diff --git a/packages/server/src/entity-schemas/RoleEntity.ts b/packages/server/src/entities/RoleEntity.ts similarity index 100% rename from packages/server/src/entity-schemas/RoleEntity.ts rename to packages/server/src/entities/RoleEntity.ts diff --git a/packages/server/src/entities/Session.ts b/packages/server/src/entities/Session.ts deleted file mode 100644 index a27bbd4..0000000 --- a/packages/server/src/entities/Session.ts +++ /dev/null @@ -1,22 +0,0 @@ -// import { Column, Entity, Index, ManyToOne, PrimaryColumn } from 'typeorm' -// import { DefaultSession } from '../session/DefaultSession' -// import { User } from './User' - -// @Entity() -// export class Session implements DefaultSession { -// @PrimaryColumn() -// id!: string - -// @Index() -// @Column({type: 'bigint'}) -// expiredAt: number = Date.now() - -// @ManyToOne(type => User, user => user.sessions) -// user?: User - -// @Column({ nullable: true }) -// userId!: number - -// @Column('text') -// json = '' -// } diff --git a/packages/server/src/entity-schemas/SessionEntity.ts b/packages/server/src/entities/SessionEntity.ts similarity index 100% rename from packages/server/src/entity-schemas/SessionEntity.ts rename to packages/server/src/entities/SessionEntity.ts diff --git a/packages/server/src/entities/Team.ts b/packages/server/src/entities/Team.ts deleted file mode 100644 index f61bbd2..0000000 --- a/packages/server/src/entities/Team.ts +++ /dev/null @@ -1,20 +0,0 @@ -// import { Column, Entity, Index, ManyToOne, OneToMany } from 'typeorm' -// import { BaseEntity } from './BaseEntity' -// import { User } from './User' -// import { UserTeam } from './UserTeam' - -// @Entity() -// export class Team extends BaseEntity { -// @Column() -// name!: string - -// @Column() -// @Index() -// userId!: number - -// @ManyToOne(type => User) -// user?: User - -// @OneToMany(type => UserTeam, userTeam => userTeam.team) -// userTeams!: UserTeam[] -// } diff --git a/packages/server/src/entity-schemas/TeamEntity.ts b/packages/server/src/entities/TeamEntity.ts similarity index 100% rename from packages/server/src/entity-schemas/TeamEntity.ts rename to packages/server/src/entities/TeamEntity.ts diff --git a/packages/server/src/entities/User.ts b/packages/server/src/entities/User.ts deleted file mode 100644 index ccd83e7..0000000 --- a/packages/server/src/entities/User.ts +++ /dev/null @@ -1,27 +0,0 @@ -// import { Column, Entity, OneToMany } from 'typeorm' -// import { BaseEntity } from './BaseEntity' -// import { Session } from './Session' -// import { UserEmail } from './UserEmail' -// import { UserTeam } from './UserTeam' - -// @Entity() -// export class User extends BaseEntity { -// @Column() -// firstName!: string - -// @Column() -// lastName!: string - -// @OneToMany(type => UserEmail, email => email.user) -// emails!: UserEmail[] - -// // bcrypt encoded password -// @Column({nullable: true, length: '60', select: false}) -// password?: string - -// @OneToMany(type => Session, session => session.user) -// sessions!: Session[] - -// @OneToMany(type => UserTeam, userTeam => userTeam.user) -// userTeams!: UserTeam[] -// } diff --git a/packages/server/src/entities/UserEmail.ts b/packages/server/src/entities/UserEmail.ts deleted file mode 100644 index 7c0d618..0000000 --- a/packages/server/src/entities/UserEmail.ts +++ /dev/null @@ -1,15 +0,0 @@ -// import { Column, Entity, ManyToOne } from 'typeorm' -// import { BaseEntity } from './BaseEntity' -// import { User } from './User' - -// @Entity() -// export class UserEmail extends BaseEntity { -// @Column({unique: true}) -// email!: string - -// @ManyToOne(type => User, user => user.emails) -// user?: User - -// @Column() -// userId?: number = undefined -// } diff --git a/packages/server/src/entity-schemas/UserEmailEntity.ts b/packages/server/src/entities/UserEmailEntity.ts similarity index 100% rename from packages/server/src/entity-schemas/UserEmailEntity.ts rename to packages/server/src/entities/UserEmailEntity.ts diff --git a/packages/server/src/entity-schemas/UserEntity.ts b/packages/server/src/entities/UserEntity.ts similarity index 100% rename from packages/server/src/entity-schemas/UserEntity.ts rename to packages/server/src/entities/UserEntity.ts diff --git a/packages/server/src/entities/UserTeam.ts b/packages/server/src/entities/UserTeam.ts deleted file mode 100644 index 93d54aa..0000000 --- a/packages/server/src/entities/UserTeam.ts +++ /dev/null @@ -1,26 +0,0 @@ -// import { Column, Entity, ManyToOne } from 'typeorm' -// import { BaseEntity } from './BaseEntity' -// import { Role } from './Role' -// import { Team } from './Team' -// import { User } from './User' - -// @Entity() -// export class UserTeam extends BaseEntity { -// @ManyToOne(type => User, user => user.userTeams) -// user!: User - -// @Column() -// userId!: number - -// @ManyToOne(type => Team, team => team.userTeams) -// team?: Team - -// @Column() -// teamId!: number - -// @ManyToOne(type => Role) -// role?: Role - -// @Column() -// roleId!: number -// } diff --git a/packages/server/src/entity-schemas/UserTeamEntity.ts b/packages/server/src/entities/UserTeamEntity.ts similarity index 100% rename from packages/server/src/entity-schemas/UserTeamEntity.ts rename to packages/server/src/entities/UserTeamEntity.ts diff --git a/packages/server/src/entities/index.ts b/packages/server/src/entities/index.ts index 02d92d1..a5c64d2 100644 --- a/packages/server/src/entities/index.ts +++ b/packages/server/src/entities/index.ts @@ -1,7 +1,6 @@ -// export * from './BaseEntity' -// export * from './Role' -// export * from './Session' -// export * from './Team' -// export * from './User' -// export * from './UserEmail' -// export * from './UserTeam' +export * from './RoleEntity' +export * from './SessionEntity' +export * from './TeamEntity' +export * from './UserEmailEntity' +export * from './UserEntity' +export * from './UserTeamEntity' diff --git a/packages/server/src/entity-schemas/index.ts b/packages/server/src/entity-schemas/index.ts deleted file mode 100644 index a5c64d2..0000000 --- a/packages/server/src/entity-schemas/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './RoleEntity' -export * from './SessionEntity' -export * from './TeamEntity' -export * from './UserEmailEntity' -export * from './UserEntity' -export * from './UserTeamEntity' diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index dde1b49..a2ef035 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -5,7 +5,8 @@ if (require.main === module) { } export * from './application' export * from './cli' -export * from './entity-schemas' +export * from './entities' +export * from './entities/BaseEntitySchemaPart' export * from './error' export * from './logger' export * from './middleware' diff --git a/packages/server/src/middleware/SessionMiddleware.ts b/packages/server/src/middleware/SessionMiddleware.ts index a2abd7b..5c3fa82 100644 --- a/packages/server/src/middleware/SessionMiddleware.ts +++ b/packages/server/src/middleware/SessionMiddleware.ts @@ -2,7 +2,7 @@ import { Session } from '@rondo.dev/common' import { TypeORMTransactionManager } from '@rondo.dev/db-typeorm' import ExpressSession from 'express-session' import { UrlWithStringQuery } from 'url' -import { SessionEntity } from '../entity-schemas' +import { SessionEntity } from '../entities' import { apiLogger } from '../logger' import { DefaultSession } from '../session' import { SessionStore } from '../session/SessionStore' diff --git a/packages/server/src/rpc/SQLTeamService.ts b/packages/server/src/rpc/SQLTeamService.ts index d31ff19..128685e 100644 --- a/packages/server/src/rpc/SQLTeamService.ts +++ b/packages/server/src/rpc/SQLTeamService.ts @@ -3,7 +3,7 @@ import { UserInTeam } from '@rondo.dev/common/lib/team/UserInTeam' import Validator from '@rondo.dev/validator' import { ensureLoggedIn, Context, RPC } from './RPC' import { TypeORMDatabase } from '@rondo.dev/db-typeorm' -import { TeamEntity, UserTeamEntity } from '../entity-schemas' +import { TeamEntity, UserTeamEntity } from '../entities' @ensureLoggedIn export class SQLTeamService implements RPC { diff --git a/packages/server/src/rpc/SQLUserService.ts b/packages/server/src/rpc/SQLUserService.ts index c6e9112..795f650 100644 --- a/packages/server/src/rpc/SQLUserService.ts +++ b/packages/server/src/rpc/SQLUserService.ts @@ -2,7 +2,7 @@ import { UserService } from '@rondo.dev/common' import { TypeORMDatabase } from '@rondo.dev/db-typeorm' import { hash } from 'bcrypt' import { Context, ensureLoggedIn, RPC } from './RPC' -import { UserEntity, UserEmailEntity } from '../entity-schemas' +import { UserEntity, UserEmailEntity } from '../entities' const SALT_ROUNDS = 10 // const MIN_PASSWORD_LENGTH = 10 diff --git a/packages/server/src/services/SQLAuthService.ts b/packages/server/src/services/SQLAuthService.ts index a7972a8..c6d7d71 100644 --- a/packages/server/src/services/SQLAuthService.ts +++ b/packages/server/src/services/SQLAuthService.ts @@ -4,7 +4,7 @@ import Validator from '@rondo.dev/validator' import { compare, hash } from 'bcrypt' import { validate as validateEmail } from 'email-validator' import createError from 'http-errors' -import { UserEntity, UserEmailEntity } from '../entity-schemas' +import { UserEntity, UserEmailEntity } from '../entities' const SALT_ROUNDS = 10 const MIN_PASSWORD_LENGTH = 10 diff --git a/packages/server/src/services/SQLUserPermissions.ts b/packages/server/src/services/SQLUserPermissions.ts index a4bc3fd..242f9e2 100644 --- a/packages/server/src/services/SQLUserPermissions.ts +++ b/packages/server/src/services/SQLUserPermissions.ts @@ -1,7 +1,7 @@ import { UserPermissions } from '@rondo.dev/common' import createError from 'http-errors' import { TypeORMDatabase } from '@rondo.dev/db-typeorm' -import { UserTeamEntity } from '../entity-schemas' +import { UserTeamEntity } from '../entities' export class SQLUserPermissions implements UserPermissions { constructor(protected readonly db: TypeORMDatabase) {}