diff --git a/database/entity/0018-combine_login_user_backups_and_user_table/User.ts b/database/entity/0018-combine_login_user_backups_and_user_table/User.ts new file mode 100644 index 000000000..2ae351e47 --- /dev/null +++ b/database/entity/0018-combine_login_user_backups_and_user_table/User.ts @@ -0,0 +1,83 @@ +import { BaseEntity, Entity, PrimaryGeneratedColumn, Column, OneToMany } from 'typeorm' +import { UserSetting } from '../UserSetting' + +@Entity('state_users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) +export class User extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ name: 'login_user_id', default: null, unsigned: true }) + loginUserId: number + + @Column({ name: 'index_id', type: 'smallint', default: 0, nullable: false }) + indexId: number + + @Column({ name: 'public_key', type: 'binary', length: 32, default: null, nullable: true }) + pubKey: Buffer + + @Column({ name: 'privkey', type: 'binary', length: 80, default: null, nullable: true }) + privKey: Buffer + + @Column({ length: 255, unique: true, nullable: false, collation: 'utf8mb4_unicode_ci' }) + email: string + + @Column({ + name: 'first_name', + length: 255, + nullable: true, + default: null, + collation: 'utf8mb4_unicode_ci', + }) + firstName: string + + @Column({ + name: 'last_name', + length: 255, + nullable: true, + default: null, + collation: 'utf8mb4_unicode_ci', + }) + lastName: string + + @Column({ length: 255, nullable: true, default: null, collation: 'utf8mb4_unicode_ci' }) + username: string + + @Column({ type: 'bool', default: false }) + disabled: boolean + + @Column({ type: 'mediumtext', default: '', collation: 'utf8mb4_unicode_ci', nullable: true }) + description: string + + @Column({ type: 'bigint', default: 0, unsigned: true }) + password: BigInt + + @Column({ name: 'email_hash', type: 'binary', length: 32, default: null, nullable: true }) + emailHash: Buffer + + @Column({ name: 'created', default: () => 'CURRENT_TIMESTAMP', nullable: false }) + createdAt: Date + + @Column({ name: 'email_checked', type: 'bool', nullable: false, default: false }) + emailChecked: boolean + + @Column({ name: 'passphrase_shown', type: 'bool', nullable: false, default: false }) + passphraseShown: boolean + + @Column({ length: 4, default: 'de', collation: 'utf8mb4_unicode_ci', nullable: false }) + language: string + + @Column({ name: 'publisher_id', default: 0 }) + publisherId: number + + @Column({ + type: 'text', + name: 'passphrase', + collation: 'utf8mb4_unicode_ci', + nullable: true, + default: null, + }) + passphrase: string + + @OneToMany(() => UserSetting, (userSetting) => userSetting.user) + settings: UserSetting[] +} diff --git a/database/entity/LoginUserBackup.ts b/database/entity/LoginUserBackup.ts deleted file mode 100644 index 7a3031a33..000000000 --- a/database/entity/LoginUserBackup.ts +++ /dev/null @@ -1 +0,0 @@ -export { LoginUserBackup } from './0017-combine_user_tables/LoginUserBackup' diff --git a/database/entity/User.ts b/database/entity/User.ts index 3cf3e6c46..0e61cec1a 100644 --- a/database/entity/User.ts +++ b/database/entity/User.ts @@ -1 +1 @@ -export { User } from './0017-combine_user_tables/User' +export { User } from './0018-combine_login_user_backups_and_user_table/User' diff --git a/database/entity/index.ts b/database/entity/index.ts index d64c66d51..37fe6eb55 100644 --- a/database/entity/index.ts +++ b/database/entity/index.ts @@ -1,7 +1,6 @@ import { Balance } from './Balance' import { LoginElopageBuys } from './LoginElopageBuys' import { LoginEmailOptIn } from './LoginEmailOptIn' -import { LoginUserBackup } from './LoginUserBackup' import { Migration } from './Migration' import { ServerUser } from './ServerUser' import { Transaction } from './Transaction' @@ -17,7 +16,6 @@ export const entities = [ Balance, LoginElopageBuys, LoginEmailOptIn, - LoginUserBackup, Migration, ServerUser, Transaction,