From a67866908e7da9753fbf040dfb279b43b4ae67ab Mon Sep 17 00:00:00 2001 From: einhornimmond Date: Wed, 21 May 2025 13:49:49 +0200 Subject: [PATCH] remove unnecessary and unusable entity versioning folder, use git instead for entity versionig --- database/entity/0001-init_db/Balance.ts | 24 -- database/entity/0001-init_db/Migration.ts | 13 -- database/entity/0001-init_db/ServerUser.ts | 31 --- database/entity/0001-init_db/Transaction.ts | 45 ---- .../0001-init_db/TransactionCreation.ts | 24 -- .../0001-init_db/TransactionSendCoin.ts | 33 --- .../0001-init_db/TransactionSignature.ts | 21 -- database/entity/0001-init_db/User.ts | 51 ----- .../entity/0001-init_db/UserTransaction.ts | 22 -- database/entity/0002-add_settings/User.ts | 51 ----- .../entity/0002-add_settings/UserSetting.ts | 23 -- .../LoginElopageBuys.ts | 52 ----- .../LoginEmailOptIn.ts | 26 --- .../0003-login_server_tables/LoginUser.ts | 63 ------ .../LoginUserBackup.ts | 25 --- .../LoginUserRoles.ts | 13 -- .../LoginPendingTasksAdmin.ts | 25 --- .../0006-login_users_collation/LoginUser.ts | 63 ------ .../AdminPendingCreation.ts | 25 --- .../Transaction.ts | 40 ---- .../LoginUserBackup.ts | 16 -- .../entity/0017-combine_user_tables/User.ts | 77 ------- .../User.ts | 86 ------- .../User.ts | 83 ------- .../0020-rename_and_clean_state_users/User.ts | 71 ------ .../LoginElopageBuys.ts | 54 ----- .../0023-users_disabled_soft_delete/User.ts | 78 ------- .../Transaction.ts | 70 ------ .../Transaction.ts | 83 ------- .../Transaction.ts | 59 ----- .../entity/0028-decimal_types/Transaction.ts | 146 ------------ .../Transaction.ts | 85 ------- .../0030-transaction_link/TransactionLink.ts | 68 ------ .../TransactionLink.ts | 61 ----- .../Transaction.ts | 94 -------- database/entity/0033-add_referrer_id/User.ts | 81 ------- .../0034-drop_server_user_table/User.ts | 84 ------- .../AdminPendingCreation.ts | 33 --- .../Transaction.ts | 107 --------- .../0037-drop_user_setting_table/User.ts | 70 ------ .../ContributionLink.ts | 88 -------- .../0039-contributions_table/Contribution.ts | 64 ------ .../entity/0039-contributions_table/User.ts | 86 ------- .../User.ts | 95 -------- .../EventProtocol.ts | 39 ---- .../Contribution.ts | 86 ------- .../User.ts | 114 ---------- .../0047-messages_tables/Contribution.ts | 95 -------- .../ContributionMessage.ts | 57 ----- database/entity/0047-messages_tables/User.ts | 122 ---------- .../ContributionMessage.ts | 60 ----- .../0049-add_user_contacts_table/User.ts | 138 ------------ .../UserContact.ts | 63 ------ .../EventProtocol.ts | 42 ---- .../Contribution.ts | 98 -------- .../Contribution.ts | 110 --------- .../0053-change_password_encryption/User.ts | 139 ------------ .../UserContact.ts | 63 ------ .../0057-clear_old_password_junk/User.ts | 124 ----------- .../UserContact.ts | 60 ----- .../0058-add_communities_table/Community.ts | 42 ---- .../0059-add_hide_amount_to_users/User.ts | 130 ----------- .../Community.ts | 51 ----- .../entity/0061-event_refactoring/Event.ts | 83 ------- .../entity/0063-event_link_fields/Event.ts | 104 --------- .../Community.ts | 60 ----- .../FederatedCommunity.ts | 51 ----- .../Transaction.ts | 143 ------------ .../Community.ts | 63 ------ .../Community.ts | 63 ------ .../FederatedCommunity.ts | 51 ----- .../entity/0069-add_user_roles_table/User.ts | 135 ----------- .../0069-add_user_roles_table/UserRole.ts | 32 --- .../DltTransaction.ts | 42 ---- .../Transaction.ts | 151 ------------- .../PendingTransaction.ts | 152 ------------- .../Transaction.ts | 169 -------------- .../User.ts | 147 ------------ .../ContributionMessage.ts | 62 ------ .../Contribution.ts | 113 ---------- .../ContributionMessage.ts | 69 ------ .../Contribution.ts | 118 ---------- .../ContributionMessage.ts | 66 ------ .../0081-user_join_community/Community.ts | 73 ------ .../entity/0081-user_join_community/User.ts | 156 ------------- .../Community.ts | 76 ------- .../0082-introduce_gms_registration/User.ts | 188 ---------------- .../UserContact.ts | 111 --------- .../Community.ts | 84 ------- .../FederatedCommunity.ts | 61 ----- .../User.ts | 209 ----------------- .../0086-add_community_location/Community.ts | 95 -------- .../ProjectBranding.ts | 28 --- .../0089-add_openai_threads/OpenaiThreads.ts | 13 -- database/entity/AdminPendingCreation.ts | 34 ++- database/entity/Community.ts | 96 +++++++- database/entity/Contribution.ts | 119 +++++++++- database/entity/ContributionLink.ts | 89 +++++++- database/entity/ContributionMessage.ts | 67 +++++- database/entity/DltTransaction.ts | 43 +++- database/entity/Event.ts | 105 ++++++++- database/entity/FederatedCommunity.ts | 62 +++++- database/entity/LoginElopageBuys.ts | 55 ++++- database/entity/LoginEmailOptIn.ts | 27 ++- database/entity/Migration.ts | 14 +- database/entity/OpenaiThreads.ts | 14 +- database/entity/PendingTransaction.ts | 153 ++++++++++++- database/entity/ProjectBranding.ts | 29 ++- database/entity/Transaction.ts | 170 +++++++++++++- database/entity/TransactionLink.ts | 62 +++++- database/entity/User.ts | 210 +++++++++++++++++- database/entity/UserContact.ts | 112 +++++++++- database/entity/UserRole.ts | 33 ++- database/src/config/detectLastDBVersion.ts | 11 +- 114 files changed, 1478 insertions(+), 7137 deletions(-) delete mode 100644 database/entity/0001-init_db/Balance.ts delete mode 100644 database/entity/0001-init_db/Migration.ts delete mode 100644 database/entity/0001-init_db/ServerUser.ts delete mode 100644 database/entity/0001-init_db/Transaction.ts delete mode 100644 database/entity/0001-init_db/TransactionCreation.ts delete mode 100644 database/entity/0001-init_db/TransactionSendCoin.ts delete mode 100644 database/entity/0001-init_db/TransactionSignature.ts delete mode 100644 database/entity/0001-init_db/User.ts delete mode 100644 database/entity/0001-init_db/UserTransaction.ts delete mode 100644 database/entity/0002-add_settings/User.ts delete mode 100644 database/entity/0002-add_settings/UserSetting.ts delete mode 100644 database/entity/0003-login_server_tables/LoginElopageBuys.ts delete mode 100644 database/entity/0003-login_server_tables/LoginEmailOptIn.ts delete mode 100644 database/entity/0003-login_server_tables/LoginUser.ts delete mode 100644 database/entity/0003-login_server_tables/LoginUserBackup.ts delete mode 100644 database/entity/0003-login_server_tables/LoginUserRoles.ts delete mode 100644 database/entity/0005-admin_tables/LoginPendingTasksAdmin.ts delete mode 100644 database/entity/0006-login_users_collation/LoginUser.ts delete mode 100644 database/entity/0015-admin_pending_creations/AdminPendingCreation.ts delete mode 100644 database/entity/0016-transaction_signatures/Transaction.ts delete mode 100644 database/entity/0017-combine_user_tables/LoginUserBackup.ts delete mode 100644 database/entity/0017-combine_user_tables/User.ts delete mode 100644 database/entity/0018-combine_login_user_backups_and_user_table/User.ts delete mode 100644 database/entity/0019-replace_login_user_id_with_state_user_id/User.ts delete mode 100644 database/entity/0020-rename_and_clean_state_users/User.ts delete mode 100644 database/entity/0021-elopagebuys_fields_nullable/LoginElopageBuys.ts delete mode 100644 database/entity/0023-users_disabled_soft_delete/User.ts delete mode 100644 database/entity/0024-combine_transaction_tables/Transaction.ts delete mode 100644 database/entity/0026-combine_transaction_tables2/Transaction.ts delete mode 100644 database/entity/0027-clean_transaction_table/Transaction.ts delete mode 100644 database/entity/0028-decimal_types/Transaction.ts delete mode 100644 database/entity/0029-clean_transaction_table/Transaction.ts delete mode 100644 database/entity/0030-transaction_link/TransactionLink.ts delete mode 100644 database/entity/0031-remove_sendEmail_from_transaction_link/TransactionLink.ts delete mode 100644 database/entity/0032-add-transaction-link-to-transaction/Transaction.ts delete mode 100644 database/entity/0033-add_referrer_id/User.ts delete mode 100644 database/entity/0034-drop_server_user_table/User.ts delete mode 100644 database/entity/0035-admin_pending_creations_decimal/AdminPendingCreation.ts delete mode 100644 database/entity/0036-unique_previous_in_transactions/Transaction.ts delete mode 100644 database/entity/0037-drop_user_setting_table/User.ts delete mode 100644 database/entity/0038-add_contribution_links_table/ContributionLink.ts delete mode 100644 database/entity/0039-contributions_table/Contribution.ts delete mode 100644 database/entity/0039-contributions_table/User.ts delete mode 100644 database/entity/0040-add_contribution_link_id_to_user/User.ts delete mode 100644 database/entity/0043-add_event_protocol_table/EventProtocol.ts delete mode 100644 database/entity/0045-add_denied_type_and_status_to_contributions/Contribution.ts delete mode 100644 database/entity/0046-adapt_users_table_for_gradidoid/User.ts delete mode 100644 database/entity/0047-messages_tables/Contribution.ts delete mode 100644 database/entity/0047-messages_tables/ContributionMessage.ts delete mode 100644 database/entity/0047-messages_tables/User.ts delete mode 100644 database/entity/0048-add_is_moderator_to_contribution_messages/ContributionMessage.ts delete mode 100644 database/entity/0049-add_user_contacts_table/User.ts delete mode 100644 database/entity/0049-add_user_contacts_table/UserContact.ts delete mode 100644 database/entity/0050-add_messageId_to_event_protocol/EventProtocol.ts delete mode 100644 database/entity/0051-add_delete_by_to_contributions/Contribution.ts delete mode 100644 database/entity/0052-add_updated_at_to_contributions/Contribution.ts delete mode 100644 database/entity/0053-change_password_encryption/User.ts delete mode 100644 database/entity/0053-change_password_encryption/UserContact.ts delete mode 100644 database/entity/0057-clear_old_password_junk/User.ts delete mode 100644 database/entity/0057-clear_old_password_junk/UserContact.ts delete mode 100644 database/entity/0058-add_communities_table/Community.ts delete mode 100644 database/entity/0059-add_hide_amount_to_users/User.ts delete mode 100644 database/entity/0060-update_communities_table/Community.ts delete mode 100644 database/entity/0061-event_refactoring/Event.ts delete mode 100644 database/entity/0063-event_link_fields/Event.ts delete mode 100644 database/entity/0065-refactor_communities_table/Community.ts delete mode 100644 database/entity/0065-refactor_communities_table/FederatedCommunity.ts delete mode 100644 database/entity/0066-x-community-sendcoins-transactions_table/Transaction.ts delete mode 100644 database/entity/0067-private_key_in_community_table/Community.ts delete mode 100644 database/entity/0068-community_tables_public_key_length/Community.ts delete mode 100644 database/entity/0068-community_tables_public_key_length/FederatedCommunity.ts delete mode 100644 database/entity/0069-add_user_roles_table/User.ts delete mode 100644 database/entity/0069-add_user_roles_table/UserRole.ts delete mode 100644 database/entity/0070-add_dlt_transactions_table/DltTransaction.ts delete mode 100644 database/entity/0070-add_dlt_transactions_table/Transaction.ts delete mode 100644 database/entity/0071-add-pending_transactions-table/PendingTransaction.ts delete mode 100644 database/entity/0072-add_communityuuid_to_transactions_table/Transaction.ts delete mode 100644 database/entity/0073-introduce_foreign_user_in_users_table/User.ts delete mode 100644 database/entity/0075-contribution_message_add_index/ContributionMessage.ts delete mode 100644 database/entity/0076-add_updated_by_contribution/Contribution.ts delete mode 100644 database/entity/0077-add_resubmission_date_contribution_message/ContributionMessage.ts delete mode 100644 database/entity/0078-move_resubmission_date/Contribution.ts delete mode 100644 database/entity/0078-move_resubmission_date/ContributionMessage.ts delete mode 100644 database/entity/0081-user_join_community/Community.ts delete mode 100644 database/entity/0081-user_join_community/User.ts delete mode 100644 database/entity/0082-introduce_gms_registration/Community.ts delete mode 100644 database/entity/0082-introduce_gms_registration/User.ts delete mode 100644 database/entity/0082-introduce_gms_registration/UserContact.ts delete mode 100644 database/entity/0083-join_community_federated_communities/Community.ts delete mode 100644 database/entity/0083-join_community_federated_communities/FederatedCommunity.ts delete mode 100644 database/entity/0084-introduce_humhub_registration/User.ts delete mode 100644 database/entity/0086-add_community_location/Community.ts delete mode 100644 database/entity/0088-create_project_brandings/ProjectBranding.ts delete mode 100644 database/entity/0089-add_openai_threads/OpenaiThreads.ts diff --git a/database/entity/0001-init_db/Balance.ts b/database/entity/0001-init_db/Balance.ts deleted file mode 100644 index 8da3879af..000000000 --- a/database/entity/0001-init_db/Balance.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { BaseEntity, Column, Entity, JoinColumn, OneToOne, PrimaryGeneratedColumn } from 'typeorm' -import { User } from '../User' - -@Entity('state_balances') -export class Balance extends BaseEntity { - @PrimaryGeneratedColumn() - id: number - - @Column({ name: 'state_user_id' }) - userId: number - - @Column({ type: 'datetime' }) - modified: Date - - @Column({ name: 'record_date', type: 'datetime' }) - recordDate: Date - - @Column({ type: 'bigint' }) - amount: number - - @OneToOne(() => User, { nullable: false }) - @JoinColumn({ name: 'state_user_id' }) - user: User -} diff --git a/database/entity/0001-init_db/Migration.ts b/database/entity/0001-init_db/Migration.ts deleted file mode 100644 index 13c848b07..000000000 --- a/database/entity/0001-init_db/Migration.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' - -@Entity('migrations') -export class Migration extends BaseEntity { - @PrimaryGeneratedColumn() // This is actually not a primary column - version: number - - @Column({ type: 'varchar', length: 256, nullable: true, default: null }) - fileName: string - - @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP' }) - date: Date -} diff --git a/database/entity/0001-init_db/ServerUser.ts b/database/entity/0001-init_db/ServerUser.ts deleted file mode 100644 index 8d9819612..000000000 --- a/database/entity/0001-init_db/ServerUser.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' - -@Entity('server_users') -export class ServerUser extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ length: 50 }) - username: string - - @Column({ length: 255 }) - password: string - - @Column({ length: 50, unique: true }) - email: string - - @Column({ length: 20, default: 'admin' }) - role: string - - @Column({ default: 0 }) - activated: number - - @Column({ name: 'last_login', default: null, nullable: true }) - lastLogin: Date - - @Column({ default: () => 'CURRENT_TIMESTAMP' }) - created: Date - - @Column({ default: () => 'CURRENT_TIMESTAMP' }) - modified: Date -} diff --git a/database/entity/0001-init_db/Transaction.ts b/database/entity/0001-init_db/Transaction.ts deleted file mode 100644 index 52a07eb27..000000000 --- a/database/entity/0001-init_db/Transaction.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { BaseEntity, Column, Entity, OneToOne, PrimaryGeneratedColumn } from 'typeorm' -import { TransactionCreation } from './TransactionCreation' -import { TransactionSendCoin } from './TransactionSendCoin' - -@Entity('transactions') -export class Transaction extends BaseEntity { - @PrimaryGeneratedColumn() - id: number - - @Column({ name: 'state_group_id', unsigned: true, default: null }) - stateGroupId: number - - @Column({ name: 'transaction_type_id', unsigned: true, nullable: false }) - transactionTypeId: number - - @Column({ name: 'tx_hash', type: 'binary', length: 48, default: null }) - txHash: Buffer - - @Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ type: 'timestamp', nullable: false, default: () => 'CURRENT_TIMESTAMP' }) - received: Date - - @Column({ - name: 'blockchain_type_id', - type: 'bigint', - unsigned: true, - nullable: false, - default: 1, - }) - blockchainTypeId: number - - @OneToOne( - () => TransactionSendCoin, - (transactionSendCoin) => transactionSendCoin.transaction, - ) - transactionSendCoin: TransactionSendCoin - - @OneToOne( - () => TransactionCreation, - (transactionCreation) => transactionCreation.transaction, - ) - transactionCreation: TransactionCreation -} diff --git a/database/entity/0001-init_db/TransactionCreation.ts b/database/entity/0001-init_db/TransactionCreation.ts deleted file mode 100644 index 6faac82aa..000000000 --- a/database/entity/0001-init_db/TransactionCreation.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { BaseEntity, Column, Entity, JoinColumn, OneToOne, PrimaryGeneratedColumn } from 'typeorm' -import { Transaction } from '../Transaction' - -@Entity('transaction_creations') -export class TransactionCreation extends BaseEntity { - @PrimaryGeneratedColumn() - id: number - - @Column({ name: 'transaction_id' }) - transactionId: number - - @Column({ name: 'state_user_id' }) - userId: number - - @Column() - amount: number - - @Column({ name: 'target_date', type: 'timestamp' }) - targetDate: Date - - @OneToOne(() => Transaction) - @JoinColumn({ name: 'transaction_id' }) - transaction: Transaction -} diff --git a/database/entity/0001-init_db/TransactionSendCoin.ts b/database/entity/0001-init_db/TransactionSendCoin.ts deleted file mode 100644 index 3b9fa87a9..000000000 --- a/database/entity/0001-init_db/TransactionSendCoin.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { BaseEntity, Column, Entity, JoinColumn, OneToOne, PrimaryGeneratedColumn } from 'typeorm' -import { Transaction } from '../Transaction' - -@Entity('transaction_send_coins') -export class TransactionSendCoin extends BaseEntity { - @PrimaryGeneratedColumn() - id: number - - @Column({ name: 'transaction_id' }) - transactionId: number - - @Column({ name: 'sender_public_key', type: 'binary', length: 32 }) - senderPublic: Buffer - - @Column({ name: 'state_user_id' }) - userId: number - - @Column({ name: 'receiver_public_key', type: 'binary', length: 32 }) - recipiantPublic: Buffer - - @Column({ name: 'receiver_user_id' }) - recipiantUserId: number - - @Column() - amount: number - - @Column({ name: 'sender_final_balance' }) - senderFinalBalance: number - - @OneToOne(() => Transaction) - @JoinColumn({ name: 'transaction_id' }) - transaction: Transaction -} diff --git a/database/entity/0001-init_db/TransactionSignature.ts b/database/entity/0001-init_db/TransactionSignature.ts deleted file mode 100644 index b95bddd50..000000000 --- a/database/entity/0001-init_db/TransactionSignature.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { BaseEntity, Column, Entity, JoinColumn, OneToOne, PrimaryGeneratedColumn } from 'typeorm' -import { Transaction } from '../Transaction' - -@Entity('transaction_signatures') -export class TransactionSignature extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'transaction_id' }) - transactionId: number - - @Column({ type: 'binary', length: 64, nullable: false }) - signature: Buffer - - @Column({ type: 'binary', length: 32, nullable: false }) - pubkey: Buffer - - @OneToOne(() => Transaction) - @JoinColumn({ name: 'transaction_id' }) - transaction: Transaction -} diff --git a/database/entity/0001-init_db/User.ts b/database/entity/0001-init_db/User.ts deleted file mode 100644 index fbc010ca9..000000000 --- a/database/entity/0001-init_db/User.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { BaseEntity, Column, Entity, OneToOne, PrimaryGeneratedColumn } from 'typeorm' -import { Balance } from './Balance' - -// Moriz: I do not like the idea of having two user tables -@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: 'index_id', type: 'smallint', default: 0, nullable: false }) - indexId: number - - @Column({ name: 'group_id', default: 0, unsigned: true }) - groupId: number - - @Column({ name: 'public_key', type: 'binary', length: 32, default: null, nullable: true }) - pubkey: Buffer - - @Column({ length: 255, nullable: true, default: null, 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 - - @OneToOne( - () => Balance, - (balance) => balance.user, - ) - balance: Balance -} diff --git a/database/entity/0001-init_db/UserTransaction.ts b/database/entity/0001-init_db/UserTransaction.ts deleted file mode 100644 index b0e90f7f4..000000000 --- a/database/entity/0001-init_db/UserTransaction.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' - -@Entity('state_user_transactions') -export class UserTransaction extends BaseEntity { - @PrimaryGeneratedColumn() - id: number - - @Column({ name: 'state_user_id' }) - userId: number - - @Column({ name: 'transaction_id' }) - transactionId: number - - @Column({ name: 'transaction_type_id' }) - transactionTypeId: number - - @Column({ name: 'balance', type: 'bigint' }) - balance: number - - @Column({ name: 'balance_date', type: 'timestamp' }) - balanceDate: Date -} diff --git a/database/entity/0002-add_settings/User.ts b/database/entity/0002-add_settings/User.ts deleted file mode 100644 index e74abe4d9..000000000 --- a/database/entity/0002-add_settings/User.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { BaseEntity, Column, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm' -import { UserSetting } from './UserSetting' - -// Moriz: I do not like the idea of having two user tables -@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: 'index_id', type: 'smallint', default: 0, nullable: false }) - indexId: number - - @Column({ name: 'group_id', default: 0, unsigned: true }) - groupId: number - - @Column({ name: 'public_key', type: 'binary', length: 32, default: null, nullable: true }) - pubkey: Buffer - - @Column({ length: 255, nullable: true, default: null, 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 - - @OneToMany( - () => UserSetting, - (userSetting) => userSetting.user, - ) - settings: UserSetting[] -} diff --git a/database/entity/0002-add_settings/UserSetting.ts b/database/entity/0002-add_settings/UserSetting.ts deleted file mode 100644 index 7fbb36e91..000000000 --- a/database/entity/0002-add_settings/UserSetting.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { BaseEntity, Column, Entity, ManyToOne, PrimaryGeneratedColumn } from 'typeorm' -import { User } from '../0034-drop_server_user_table/User' - -@Entity() -export class UserSetting extends BaseEntity { - @PrimaryGeneratedColumn() - id: number - - @Column() - userId: number - - @ManyToOne( - () => User, - (user) => user.settings, - ) - user: User - - @Column() - key: string - - @Column() - value: string -} diff --git a/database/entity/0003-login_server_tables/LoginElopageBuys.ts b/database/entity/0003-login_server_tables/LoginElopageBuys.ts deleted file mode 100644 index cc9322d1d..000000000 --- a/database/entity/0003-login_server_tables/LoginElopageBuys.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' - -@Entity('login_elopage_buys') -export class LoginElopageBuys extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ type: 'int', width: 11, name: 'elopage_user_id', nullable: true, default: null }) - elopageUserId: number | null - - @Column({ name: 'affiliate_program_id', nullable: false }) - affiliateProgramId: number - - @Column({ name: 'publisher_id', nullable: false }) - publisherId: number - - @Column({ name: 'order_id', nullable: false }) - orderId: number - - @Column({ name: 'product_id', nullable: false }) - productId: number - - @Column({ name: 'product_price', nullable: false }) - productPrice: number - - @Column({ - name: 'payer_email', - length: 255, - nullable: false, - charset: 'utf8', - collation: 'utf8_bin', - }) - payerEmail: string - - @Column({ - name: 'publisher_email', - length: 255, - nullable: false, - charset: 'utf8', - collation: 'utf8_bin', - }) - publisherEmail: string - - @Column({ nullable: false }) - payed: boolean - - @Column({ name: 'success_date', nullable: false }) - successDate: Date - - @Column({ length: 255, nullable: false }) - event: string -} diff --git a/database/entity/0003-login_server_tables/LoginEmailOptIn.ts b/database/entity/0003-login_server_tables/LoginEmailOptIn.ts deleted file mode 100644 index 46f74e7de..000000000 --- a/database/entity/0003-login_server_tables/LoginEmailOptIn.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' - -// Moriz: I do not like the idea of having two user tables -@Entity('login_email_opt_in') -export class LoginEmailOptIn extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'user_id', type: 'bigint', unsigned: true, nullable: false }) - userId: number - - @Column({ name: 'verification_code', type: 'bigint', unsigned: true, unique: true }) - verificationCode: BigInt - - @Column({ name: 'email_opt_in_type_id', type: 'int', unsigned: true, nullable: false }) - emailOptInTypeId: number - - @Column({ name: 'created', type: 'datetime', default: () => 'CURRENT_TIMESTAMP' }) - createdAt: Date - - @Column({ name: 'resend_count', type: 'int', unsigned: true, default: 0 }) - resendCount: number - - @Column({ name: 'updated', type: 'datetime', default: () => 'CURRENT_TIMESTAMP' }) - updatedAt: Date -} diff --git a/database/entity/0003-login_server_tables/LoginUser.ts b/database/entity/0003-login_server_tables/LoginUser.ts deleted file mode 100644 index c3ebf9748..000000000 --- a/database/entity/0003-login_server_tables/LoginUser.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { BaseEntity, Column, Entity, OneToOne, PrimaryGeneratedColumn } from 'typeorm' -import { LoginUserBackup } from './LoginUserBackup' - -// Moriz: I do not like the idea of having two user tables -@Entity('login_users') -export class LoginUser extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ length: 191, unique: true }) - email: string - - @Column({ name: 'first_name', length: 150 }) - firstName: string - - @Column({ name: 'last_name', length: 255, default: '' }) - lastName: string - - @Column({ length: 255, default: '' }) - username: string - - @Column({ type: 'mediumtext', default: '', nullable: true }) - description: string - - @Column({ type: 'bigint', default: 0, unsigned: true }) - password: BigInt - - @Column({ name: 'pubkey', type: 'binary', length: 32, default: null, nullable: true }) - pubKey: Buffer - - @Column({ name: 'privkey', type: 'binary', length: 80, default: null, nullable: true }) - privKey: Buffer - - @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', nullable: false }) - language: string - - @Column({ type: 'bool', default: false }) - disabled: boolean - - @Column({ name: 'group_id', default: 0, unsigned: true }) - groupId: number - - @Column({ name: 'publisher_id', default: 0 }) - publisherId: number - - @OneToOne( - () => LoginUserBackup, - (loginUserBackup) => loginUserBackup.loginUser, - ) - loginUserBackup: LoginUserBackup -} diff --git a/database/entity/0003-login_server_tables/LoginUserBackup.ts b/database/entity/0003-login_server_tables/LoginUserBackup.ts deleted file mode 100644 index a6e7f888d..000000000 --- a/database/entity/0003-login_server_tables/LoginUserBackup.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { BaseEntity, Column, Entity, JoinColumn, OneToOne, PrimaryGeneratedColumn } from 'typeorm' -import { LoginUser } from './LoginUser' - -@Entity('login_user_backups') -export class LoginUserBackup extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ type: 'text', name: 'passphrase', nullable: false }) - passphrase: string - - @Column({ name: 'user_id', nullable: false }) - userId: number - - @Column({ name: 'mnemonic_type', default: -1 }) - mnemonicType: number - - @OneToOne( - () => LoginUser, - (loginUser) => loginUser.loginUserBackup, - { nullable: false }, - ) - @JoinColumn({ name: 'user_id' }) - loginUser: LoginUser -} diff --git a/database/entity/0003-login_server_tables/LoginUserRoles.ts b/database/entity/0003-login_server_tables/LoginUserRoles.ts deleted file mode 100644 index f04892b0b..000000000 --- a/database/entity/0003-login_server_tables/LoginUserRoles.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' - -@Entity('login_user_roles') -export class LoginUserRoles extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'user_id' }) - userId: number - - @Column({ name: 'role_id' }) - roleId: number -} diff --git a/database/entity/0005-admin_tables/LoginPendingTasksAdmin.ts b/database/entity/0005-admin_tables/LoginPendingTasksAdmin.ts deleted file mode 100644 index 26b92f43b..000000000 --- a/database/entity/0005-admin_tables/LoginPendingTasksAdmin.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' - -@Entity('login_pending_tasks_admin') -export class LoginPendingTasksAdmin extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ unsigned: true, nullable: false }) - userId: number - - @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP' }) - created: Date - - @Column({ type: 'datetime', nullable: false }) - date: Date - - @Column({ length: 256, nullable: true, default: null }) - memo: string - - @Column({ type: 'bigint', nullable: false }) - amount: BigInt - - @Column() - moderator: number -} diff --git a/database/entity/0006-login_users_collation/LoginUser.ts b/database/entity/0006-login_users_collation/LoginUser.ts deleted file mode 100644 index ded5b992f..000000000 --- a/database/entity/0006-login_users_collation/LoginUser.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { BaseEntity, Column, Entity, OneToOne, PrimaryGeneratedColumn } from 'typeorm' -import { LoginUserBackup } from '../0003-login_server_tables/LoginUserBackup' - -// Moriz: I do not like the idea of having two user tables -@Entity('login_users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class LoginUser extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ length: 191, unique: true, collation: 'utf8mb4_unicode_ci' }) - email: string - - @Column({ name: 'first_name', length: 150, collation: 'utf8mb4_unicode_ci' }) - firstName: string - - @Column({ name: 'last_name', length: 255, default: '', collation: 'utf8mb4_unicode_ci' }) - lastName: string - - @Column({ length: 255, default: '', collation: 'utf8mb4_unicode_ci' }) - username: string - - @Column({ type: 'mediumtext', default: '', collation: 'utf8mb4_unicode_ci', nullable: true }) - description: string - - @Column({ type: 'bigint', default: 0, unsigned: true }) - password: BigInt - - @Column({ name: 'pubkey', type: 'binary', length: 32, default: null, nullable: true }) - pubKey: Buffer - - @Column({ name: 'privkey', type: 'binary', length: 80, default: null, nullable: true }) - privKey: Buffer - - @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({ type: 'bool', default: false }) - disabled: boolean - - @Column({ name: 'group_id', default: 0, unsigned: true }) - groupId: number - - @Column({ name: 'publisher_id', default: 0 }) - publisherId: number - - @OneToOne( - () => LoginUserBackup, - (loginUserBackup) => loginUserBackup.loginUser, - ) - loginUserBackup: LoginUserBackup -} diff --git a/database/entity/0015-admin_pending_creations/AdminPendingCreation.ts b/database/entity/0015-admin_pending_creations/AdminPendingCreation.ts deleted file mode 100644 index 1c3027867..000000000 --- a/database/entity/0015-admin_pending_creations/AdminPendingCreation.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' - -@Entity('admin_pending_creations') -export class AdminPendingCreation extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ unsigned: true, nullable: false }) - userId: number - - @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP' }) - created: Date - - @Column({ type: 'datetime', nullable: false }) - date: Date - - @Column({ length: 256, nullable: true, default: null }) - memo: string - - @Column({ type: 'bigint', nullable: false }) - amount: BigInt - - @Column() - moderator: number -} diff --git a/database/entity/0016-transaction_signatures/Transaction.ts b/database/entity/0016-transaction_signatures/Transaction.ts deleted file mode 100644 index acce97bbf..000000000 --- a/database/entity/0016-transaction_signatures/Transaction.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { BaseEntity, Column, Entity, OneToOne, PrimaryGeneratedColumn } from 'typeorm' -import { TransactionCreation } from '../0001-init_db/TransactionCreation' -import { TransactionSendCoin } from '../0001-init_db/TransactionSendCoin' - -@Entity('transactions') -export class Transaction extends BaseEntity { - // TODO the id is defined as bigint(20) - there might be problems with that: https://github.com/typeorm/typeorm/issues/2400 - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'transaction_type_id', unsigned: true, nullable: false }) - transactionTypeId: number - - @Column({ name: 'tx_hash', type: 'binary', length: 48, default: null }) - txHash: Buffer - - @Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ type: 'timestamp', nullable: false, default: () => 'CURRENT_TIMESTAMP' }) - received: Date - - @Column({ type: 'binary', length: 64, nullable: true, default: null }) - signature: Buffer - - @Column({ type: 'binary', length: 32, nullable: true, default: null }) - pubkey: Buffer - - @OneToOne( - () => TransactionSendCoin, - (transactionSendCoin) => transactionSendCoin.transaction, - ) - transactionSendCoin: TransactionSendCoin - - @OneToOne( - () => TransactionCreation, - (transactionCreation) => transactionCreation.transaction, - ) - transactionCreation: TransactionCreation -} diff --git a/database/entity/0017-combine_user_tables/LoginUserBackup.ts b/database/entity/0017-combine_user_tables/LoginUserBackup.ts deleted file mode 100644 index 7ee0fd464..000000000 --- a/database/entity/0017-combine_user_tables/LoginUserBackup.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' - -@Entity('login_user_backups') -export class LoginUserBackup extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ type: 'text', name: 'passphrase', nullable: false }) - passphrase: string - - @Column({ name: 'user_id', nullable: false }) - userId: number - - @Column({ name: 'mnemonic_type', default: -1 }) - mnemonicType: number -} diff --git a/database/entity/0017-combine_user_tables/User.ts b/database/entity/0017-combine_user_tables/User.ts deleted file mode 100644 index 207c8ce99..000000000 --- a/database/entity/0017-combine_user_tables/User.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { BaseEntity, Column, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm' -import { UserSetting } from '../0002-add_settings/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 - - @OneToMany( - () => UserSetting, - (userSetting) => userSetting.user, - ) - settings: UserSetting[] -} 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 deleted file mode 100644 index f84f7418a..000000000 --- a/database/entity/0018-combine_login_user_backups_and_user_table/User.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { BaseEntity, Column, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm' -import { UserSetting } from '../0002-add_settings/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/0019-replace_login_user_id_with_state_user_id/User.ts b/database/entity/0019-replace_login_user_id_with_state_user_id/User.ts deleted file mode 100644 index 9a54129d3..000000000 --- a/database/entity/0019-replace_login_user_id_with_state_user_id/User.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { BaseEntity, Column, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm' -import { UserSetting } from '../0002-add_settings/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: '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/0020-rename_and_clean_state_users/User.ts b/database/entity/0020-rename_and_clean_state_users/User.ts deleted file mode 100644 index d37ded4f4..000000000 --- a/database/entity/0020-rename_and_clean_state_users/User.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { BaseEntity, Column, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm' -import { UserSetting } from '../0002-add_settings/UserSetting' - -@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class User extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: 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({ type: 'bool', default: false }) - disabled: boolean - - @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({ 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/0021-elopagebuys_fields_nullable/LoginElopageBuys.ts b/database/entity/0021-elopagebuys_fields_nullable/LoginElopageBuys.ts deleted file mode 100644 index 18dbe7961..000000000 --- a/database/entity/0021-elopagebuys_fields_nullable/LoginElopageBuys.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' - -@Entity('login_elopage_buys') -export class LoginElopageBuys extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ type: 'int', width: 11, name: 'elopage_user_id', nullable: true, default: null }) - elopageUserId: number | null - - @Column({ type: 'int', width: 11, name: 'affiliate_program_id', nullable: true, default: null }) - affiliateProgramId: number | null - - @Column({ type: 'int', width: 11, name: 'publisher_id', nullable: true, default: null }) - publisherId: number | null - - @Column({ type: 'int', width: 11, name: 'order_id', nullable: true, default: null }) - orderId: number | null - - @Column({ type: 'int', width: 11, name: 'product_id', nullable: true, default: null }) - productId: number | null - - @Column({ name: 'product_price', type: 'int', nullable: false }) - productPrice: number - - @Column({ - name: 'payer_email', - type: 'varchar', - length: 255, - nullable: false, - charset: 'utf8', - collation: 'utf8_bin', - }) - payerEmail: string - - @Column({ - name: 'publisher_email', - type: 'varchar', - length: 255, - nullable: false, - charset: 'utf8', - collation: 'utf8_bin', - }) - publisherEmail: string - - @Column({ type: 'bool', nullable: false }) - payed: boolean - - @Column({ name: 'success_date', type: 'datetime', nullable: false }) - successDate: Date - - @Column({ type: 'varchar', length: 255, nullable: false }) - event: string -} diff --git a/database/entity/0023-users_disabled_soft_delete/User.ts b/database/entity/0023-users_disabled_soft_delete/User.ts deleted file mode 100644 index d49abf723..000000000 --- a/database/entity/0023-users_disabled_soft_delete/User.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - OneToMany, - PrimaryGeneratedColumn, -} from 'typeorm' -import { UserSetting } from '../0002-add_settings/UserSetting' - -@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class User extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: 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 - - @DeleteDateColumn() - deletedAt: Date | null - - @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({ 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/0024-combine_transaction_tables/Transaction.ts b/database/entity/0024-combine_transaction_tables/Transaction.ts deleted file mode 100644 index 9f2681f5a..000000000 --- a/database/entity/0024-combine_transaction_tables/Transaction.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' - -@Entity('transactions') -export class Transaction extends BaseEntity { - // TODO the id is defined as bigint(20) - there might be problems with that: https://github.com/typeorm/typeorm/issues/2400 - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'transaction_type_id', unsigned: true, nullable: false }) - transactionTypeId: number - - @Column({ name: 'user_id', unsigned: true, nullable: false }) - userId: number - - @Column({ type: 'bigint', nullable: false }) - amount: BigInt - - @Column({ name: 'tx_hash', type: 'binary', length: 48, default: null, nullable: true }) - txHash: Buffer - - @Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ type: 'timestamp', nullable: false, default: () => 'CURRENT_TIMESTAMP' }) - received: Date - - @Column({ type: 'binary', length: 64, nullable: true, default: null }) - signature: Buffer - - @Column({ type: 'binary', length: 32, nullable: true, default: null }) - pubkey: Buffer - - @Column({ - name: 'creation_ident_hash', - type: 'binary', - length: 32, - nullable: true, - default: null, - }) - creationIdentHash: Buffer - - @Column({ name: 'creation_date', type: 'timestamp', nullable: true, default: null }) - creationDate: Date - - @Column({ - name: 'send_receiver_public_key', - type: 'binary', - length: 32, - nullable: true, - default: null, - }) - sendReceiverPublicKey: Buffer | null - - @Column({ - name: 'send_receiver_user_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - sendReceiverUserId?: number | null - - @Column({ - name: 'send_sender_final_balance', - type: 'bigint', - nullable: true, - default: null, - }) - sendSenderFinalBalance: BigInt | null -} diff --git a/database/entity/0026-combine_transaction_tables2/Transaction.ts b/database/entity/0026-combine_transaction_tables2/Transaction.ts deleted file mode 100644 index 293245cc2..000000000 --- a/database/entity/0026-combine_transaction_tables2/Transaction.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' - -@Entity('transactions') -export class Transaction extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'user_id', unsigned: true, nullable: false }) - userId: number - - @Column({ name: 'transaction_id', unsigned: true, nullable: false }) - transactionId: number - - @Column({ name: 'transaction_type_id', unsigned: true, nullable: false }) - transactionTypeId: number - - @Column({ type: 'bigint', nullable: false }) - amount: BigInt - - @Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ - name: 'send_sender_final_balance', - type: 'bigint', - nullable: true, - default: null, - }) - sendSenderFinalBalance: BigInt | null - - @Column({ name: 'balance', type: 'bigint', default: 0 }) - balance: BigInt - - @Column({ - name: 'balance_date', - type: 'timestamp', - default: () => 'CURRENT_TIMESTAMP', - nullable: false, - }) - balanceDate: Date - - @Column({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP', nullable: false }) - received: Date - - @Column({ name: 'creation_date', type: 'timestamp', nullable: true, default: null }) - creationDate: Date - - @Column({ - name: 'linked_user_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedUserId?: number | null - - @Column({ - name: 'linked_state_user_transaction_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedStateUserTransactionId?: number | null - - @Column({ type: 'binary', length: 64, nullable: true, default: null }) - signature: Buffer - - @Column({ name: 'tx_hash', type: 'binary', length: 48, default: null, nullable: true }) - txHash: Buffer - - @Column({ type: 'binary', length: 32, nullable: true, default: null }) - pubkey: Buffer - - @Column({ - name: 'creation_ident_hash', - type: 'binary', - length: 32, - nullable: true, - default: null, - }) - creationIdentHash: Buffer -} diff --git a/database/entity/0027-clean_transaction_table/Transaction.ts b/database/entity/0027-clean_transaction_table/Transaction.ts deleted file mode 100644 index eb703f688..000000000 --- a/database/entity/0027-clean_transaction_table/Transaction.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' - -@Entity('transactions') -export class Transaction extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'user_id', unsigned: true, nullable: false }) - userId: number - - @Column({ name: 'type_id', unsigned: true, nullable: false }) - typeId: number - - @Column({ type: 'bigint', nullable: false }) - amount: BigInt - - @Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ - name: 'send_sender_final_balance', - type: 'bigint', - nullable: true, - default: null, - }) - sendSenderFinalBalance: BigInt | null - - @Column({ name: 'balance', type: 'bigint', default: 0 }) - balance: BigInt - - @Column({ - name: 'balance_date', - type: 'timestamp', - default: () => 'CURRENT_TIMESTAMP', - nullable: false, - }) - balanceDate: Date - - @Column({ name: 'creation_date', type: 'timestamp', nullable: true, default: null }) - creationDate: Date - - @Column({ - name: 'linked_user_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedUserId?: number | null - - @Column({ - name: 'linked_transaction_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedTransactionId?: number | null -} diff --git a/database/entity/0028-decimal_types/Transaction.ts b/database/entity/0028-decimal_types/Transaction.ts deleted file mode 100644 index f9a88be36..000000000 --- a/database/entity/0028-decimal_types/Transaction.ts +++ /dev/null @@ -1,146 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' - -@Entity('transactions') -export class Transaction extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'user_id', unsigned: true, nullable: false }) - userId: number - - @Column({ type: 'int', unsigned: true, nullable: true, default: null }) - previous: number | null - - @Column({ name: 'type_id', unsigned: true, nullable: false }) - typeId: number - - @Column({ - name: 'dec_amount', - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - decAmount: Decimal - - @Column({ - name: 'dec_balance', - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - decBalance: Decimal - - @Column({ - name: 'balance_date', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP', - nullable: false, - }) - balanceDate: Date - - @Column({ - name: 'dec_decay', - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - decDecay: Decimal - - @Column({ - name: 'decay_start', - type: 'datetime', - nullable: true, - default: null, - }) - decayStart: Date | null - - @Column({ type: 'bigint', nullable: false }) - amount: BigInt - - @Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ - name: 'send_sender_final_balance', - type: 'bigint', - nullable: true, - default: null, - }) - sendSenderFinalBalance: BigInt | null - - @Column({ name: 'balance', type: 'bigint', default: 0 }) - balance: BigInt - - @Column({ name: 'creation_date', type: 'datetime', nullable: true, default: null }) - creationDate: Date - - @Column({ - name: 'linked_user_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedUserId?: number | null - - @Column({ - name: 'linked_transaction_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedTransactionId?: number | null - - @Column({ - name: 'temp_dec_send_sender_final_balance', - type: 'decimal', - precision: 40, - scale: 20, - nullable: true, - default: null, - transformer: DecimalTransformer, - }) - tempDecSendSenderFinalBalance: Decimal - - @Column({ - name: 'temp_dec_diff_send_sender_final_balance', - type: 'decimal', - precision: 40, - scale: 20, - nullable: true, - default: null, - transformer: DecimalTransformer, - }) - tempDecDiffSendSenderFinalBalance: Decimal - - @Column({ - name: 'temp_dec_old_balance', - type: 'decimal', - precision: 40, - scale: 20, - nullable: true, - default: null, - transformer: DecimalTransformer, - }) - tempDecOldBalance: Decimal - - @Column({ - name: 'temp_dec_diff_balance', - type: 'decimal', - precision: 40, - scale: 20, - nullable: true, - default: null, - transformer: DecimalTransformer, - }) - tempDecDiffBalance: Decimal -} diff --git a/database/entity/0029-clean_transaction_table/Transaction.ts b/database/entity/0029-clean_transaction_table/Transaction.ts deleted file mode 100644 index 485071bd5..000000000 --- a/database/entity/0029-clean_transaction_table/Transaction.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' - -@Entity('transactions') -export class Transaction extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'user_id', unsigned: true, nullable: false }) - userId: number - - @Column({ type: 'int', unsigned: true, nullable: true, default: null }) - previous: number | null - - @Column({ name: 'type_id', unsigned: true, nullable: false }) - typeId: number - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - amount: Decimal - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - balance: Decimal - - @Column({ - name: 'balance_date', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP', - nullable: false, - }) - balanceDate: Date - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - decay: Decimal - - @Column({ - name: 'decay_start', - type: 'datetime', - nullable: true, - default: null, - }) - decayStart: Date | null - - @Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ name: 'creation_date', type: 'datetime', nullable: true, default: null }) - creationDate: Date | null - - @Column({ - name: 'linked_user_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedUserId?: number | null - - @Column({ - name: 'linked_transaction_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedTransactionId?: number | null -} diff --git a/database/entity/0030-transaction_link/TransactionLink.ts b/database/entity/0030-transaction_link/TransactionLink.ts deleted file mode 100644 index add06c2e1..000000000 --- a/database/entity/0030-transaction_link/TransactionLink.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { BaseEntity, Column, DeleteDateColumn, Entity, PrimaryGeneratedColumn } from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' - -@Entity('transaction_links') -export class TransactionLink extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ unsigned: true, nullable: false }) - userId: number - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - amount: Decimal - - @Column({ - type: 'decimal', - name: 'hold_available_amount', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - holdAvailableAmount: Decimal - - @Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ length: 24, nullable: false, collation: 'utf8mb4_unicode_ci' }) - code: string - - @Column({ - type: 'datetime', - nullable: false, - }) - createdAt: Date - - @DeleteDateColumn() - deletedAt: Date | null - - @Column({ - type: 'datetime', - nullable: false, - }) - validUntil: Date - - @Column({ - type: 'boolean', - default: () => false, - nullable: false, - }) - showEmail: boolean - - @Column({ - type: 'datetime', - nullable: true, - }) - redeemedAt: Date | null - - @Column({ type: 'int', unsigned: true, nullable: true }) - redeemedBy: number | null -} diff --git a/database/entity/0031-remove_sendEmail_from_transaction_link/TransactionLink.ts b/database/entity/0031-remove_sendEmail_from_transaction_link/TransactionLink.ts deleted file mode 100644 index 104d6e1bc..000000000 --- a/database/entity/0031-remove_sendEmail_from_transaction_link/TransactionLink.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { BaseEntity, Column, DeleteDateColumn, Entity, PrimaryGeneratedColumn } from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' - -@Entity('transaction_links') -export class TransactionLink extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ type: 'bigint', unsigned: true, nullable: false }) - userId: number - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - amount: Decimal - - @Column({ - type: 'decimal', - name: 'hold_available_amount', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - holdAvailableAmount: Decimal - - @Column({ type: 'varchar', length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ type: 'varchar', length: 24, nullable: false, collation: 'utf8mb4_unicode_ci' }) - code: string - - @Column({ - type: 'datetime', - nullable: false, - }) - createdAt: Date - - @DeleteDateColumn() - deletedAt: Date | null - - @Column({ - type: 'datetime', - nullable: false, - }) - validUntil: Date - - @Column({ - type: 'datetime', - nullable: true, - }) - redeemedAt: Date | null - - @Column({ type: 'int', unsigned: true, nullable: true }) - redeemedBy: number | null -} diff --git a/database/entity/0032-add-transaction-link-to-transaction/Transaction.ts b/database/entity/0032-add-transaction-link-to-transaction/Transaction.ts deleted file mode 100644 index f45c05c67..000000000 --- a/database/entity/0032-add-transaction-link-to-transaction/Transaction.ts +++ /dev/null @@ -1,94 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' - -@Entity('transactions') -export class Transaction extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'user_id', unsigned: true, nullable: false }) - userId: number - - @Column({ type: 'int', unsigned: true, nullable: true, default: null }) - previous: number | null - - @Column({ name: 'type_id', unsigned: true, nullable: false }) - typeId: number - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - amount: Decimal - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - balance: Decimal - - @Column({ - name: 'balance_date', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP', - nullable: false, - }) - balanceDate: Date - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - decay: Decimal - - @Column({ - name: 'decay_start', - type: 'datetime', - nullable: true, - default: null, - }) - decayStart: Date | null - - @Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ name: 'creation_date', type: 'datetime', nullable: true, default: null }) - creationDate: Date | null - - @Column({ - name: 'linked_user_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedUserId?: number | null - - @Column({ - name: 'linked_transaction_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedTransactionId?: number | null - - @Column({ - name: 'transaction_link_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - transactionLinkId?: number | null -} diff --git a/database/entity/0033-add_referrer_id/User.ts b/database/entity/0033-add_referrer_id/User.ts deleted file mode 100644 index d407c4a35..000000000 --- a/database/entity/0033-add_referrer_id/User.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - OneToMany, - PrimaryGeneratedColumn, -} from 'typeorm' -import { UserSetting } from '../0002-add_settings/UserSetting' - -@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class User extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: 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 - - @DeleteDateColumn() - deletedAt: Date | null - - @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({ length: 4, default: 'de', collation: 'utf8mb4_unicode_ci', nullable: false }) - language: string - - @Column({ name: 'referrer_id', type: 'int', unsigned: true, nullable: true, default: null }) - referrerId?: number | null - - @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/0034-drop_server_user_table/User.ts b/database/entity/0034-drop_server_user_table/User.ts deleted file mode 100644 index b304a5c28..000000000 --- a/database/entity/0034-drop_server_user_table/User.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - OneToMany, - PrimaryGeneratedColumn, -} from 'typeorm' -import { UserSetting } from '../0002-add_settings/UserSetting' - -@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class User extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: 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 - - @DeleteDateColumn() - deletedAt: Date | null - - @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({ length: 4, default: 'de', collation: 'utf8mb4_unicode_ci', nullable: false }) - language: string - - @Column({ name: 'is_admin', type: 'datetime', nullable: true, default: null }) - isAdmin: Date | null - - @Column({ name: 'referrer_id', type: 'int', unsigned: true, nullable: true, default: null }) - referrerId?: number | null - - @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/0035-admin_pending_creations_decimal/AdminPendingCreation.ts b/database/entity/0035-admin_pending_creations_decimal/AdminPendingCreation.ts deleted file mode 100644 index b56b5ac47..000000000 --- a/database/entity/0035-admin_pending_creations_decimal/AdminPendingCreation.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' - -@Entity('admin_pending_creations') -export class AdminPendingCreation extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ type: 'bigint', unsigned: true, nullable: false }) - userId: number - - @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP' }) - created: Date - - @Column({ type: 'datetime', nullable: false }) - date: Date - - @Column({ type: 'varchar', length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - amount: Decimal - - @Column() - moderator: number -} diff --git a/database/entity/0036-unique_previous_in_transactions/Transaction.ts b/database/entity/0036-unique_previous_in_transactions/Transaction.ts deleted file mode 100644 index efa376cbe..000000000 --- a/database/entity/0036-unique_previous_in_transactions/Transaction.ts +++ /dev/null @@ -1,107 +0,0 @@ -/* eslint-disable no-use-before-define */ -import { Decimal } from 'decimal.js-light' -import { BaseEntity, Column, Entity, JoinColumn, OneToOne, PrimaryGeneratedColumn } from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' -import { Contribution } from '../Contribution' - -@Entity('transactions') -export class Transaction extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'user_id', unsigned: true, nullable: false }) - userId: number - - @Column({ type: 'int', unsigned: true, unique: true, nullable: true, default: null }) - previous: number | null - - @Column({ name: 'type_id', unsigned: true, nullable: false }) - typeId: number - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - amount: Decimal - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - balance: Decimal - - @Column({ - name: 'balance_date', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP', - nullable: false, - }) - balanceDate: Date - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - decay: Decimal - - @Column({ - name: 'decay_start', - type: 'datetime', - nullable: true, - default: null, - }) - decayStart: Date | null - - @Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ name: 'creation_date', type: 'datetime', nullable: true, default: null }) - creationDate: Date | null - - @Column({ - name: 'linked_user_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedUserId?: number | null - - @Column({ - name: 'linked_transaction_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedTransactionId?: number | null - - @Column({ - name: 'transaction_link_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - transactionLinkId?: number | null - - @OneToOne( - () => Contribution, - (contribution) => contribution.transaction, - ) - @JoinColumn({ name: 'id', referencedColumnName: 'transactionId' }) - contribution?: Contribution | null - - @OneToOne(() => Transaction) - @JoinColumn({ name: 'previous' }) - previousTransaction?: Transaction | null -} diff --git a/database/entity/0037-drop_user_setting_table/User.ts b/database/entity/0037-drop_user_setting_table/User.ts deleted file mode 100644 index 2dff80d4b..000000000 --- a/database/entity/0037-drop_user_setting_table/User.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { BaseEntity, Column, DeleteDateColumn, Entity, PrimaryGeneratedColumn } from 'typeorm' - -@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class User extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: 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 - - @DeleteDateColumn() - deletedAt: Date | null - - @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({ length: 4, default: 'de', collation: 'utf8mb4_unicode_ci', nullable: false }) - language: string - - @Column({ name: 'is_admin', type: 'datetime', nullable: true, default: null }) - isAdmin: Date | null - - @Column({ name: 'referrer_id', type: 'int', unsigned: true, nullable: true, default: null }) - referrerId?: number | null - - @Column({ name: 'publisher_id', default: 0 }) - publisherId: number - - @Column({ - type: 'text', - name: 'passphrase', - collation: 'utf8mb4_unicode_ci', - nullable: true, - default: null, - }) - passphrase: string -} diff --git a/database/entity/0038-add_contribution_links_table/ContributionLink.ts b/database/entity/0038-add_contribution_links_table/ContributionLink.ts deleted file mode 100644 index 479aff51a..000000000 --- a/database/entity/0038-add_contribution_links_table/ContributionLink.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { BaseEntity, Column, DeleteDateColumn, Entity, PrimaryGeneratedColumn } from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' - -@Entity('contribution_links') -export class ContributionLink extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ type: 'varchar', length: 100, nullable: false, collation: 'utf8mb4_unicode_ci' }) - name: string - - @Column({ type: 'varchar', length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ name: 'valid_from', type: 'datetime', nullable: false }) - validFrom: Date - - @Column({ name: 'valid_to', type: 'datetime', nullable: true, default: null }) - validTo: Date | null - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - amount: Decimal - - @Column({ type: 'varchar', length: 12, nullable: false, collation: 'utf8mb4_unicode_ci' }) - cycle: string - - @Column({ name: 'max_per_cycle', type: 'int', unsigned: true, nullable: false, default: 1 }) - maxPerCycle: number - - @Column({ - name: 'max_amount_per_month', - type: 'decimal', - precision: 40, - scale: 20, - nullable: true, - default: null, - transformer: DecimalTransformer, - }) - maxAmountPerMonth: Decimal | null - - @Column({ - name: 'total_max_count_of_contribution', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - totalMaxCountOfContribution: number | null - - @Column({ - name: 'max_account_balance', - type: 'decimal', - precision: 40, - scale: 20, - nullable: true, - default: null, - transformer: DecimalTransformer, - }) - maxAccountBalance: Decimal | null - - @Column({ - name: 'min_gap_hours', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - minGapHours: number | null - - @Column({ name: 'created_at', type: 'datetime', default: () => 'CURRENT_TIMESTAMP' }) - createdAt: Date - - @DeleteDateColumn({ name: 'deleted_at', type: 'datetime' }) - deletedAt: Date | null - - @Column({ type: 'varchar', length: 24, nullable: false, collation: 'utf8mb4_unicode_ci' }) - code: string - - @Column({ name: 'link_enabled', type: 'boolean', default: true }) - linkEnabled: boolean -} diff --git a/database/entity/0039-contributions_table/Contribution.ts b/database/entity/0039-contributions_table/Contribution.ts deleted file mode 100644 index 116638c54..000000000 --- a/database/entity/0039-contributions_table/Contribution.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - ManyToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' -import { User } from '../User' - -@Entity('contributions') -export class Contribution extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ unsigned: true, nullable: false, name: 'user_id' }) - userId: number - - @ManyToOne( - () => User, - (user) => user.contributions, - ) - @JoinColumn({ name: 'user_id' }) - user: User - - @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP', name: 'created_at' }) - createdAt: Date - - @Column({ type: 'datetime', nullable: false, name: 'contribution_date' }) - contributionDate: Date - - @Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - amount: Decimal - - @Column({ unsigned: true, nullable: true, name: 'moderator_id' }) - moderatorId: number - - @Column({ unsigned: true, nullable: true, name: 'contribution_link_id' }) - contributionLinkId: number - - @Column({ unsigned: true, nullable: true, name: 'confirmed_by' }) - confirmedBy: number - - @Column({ nullable: true, name: 'confirmed_at' }) - confirmedAt: Date - - @Column({ unsigned: true, nullable: true, name: 'transaction_id' }) - transactionId: number - - @DeleteDateColumn({ name: 'deleted_at' }) - deletedAt: Date | null -} diff --git a/database/entity/0039-contributions_table/User.ts b/database/entity/0039-contributions_table/User.ts deleted file mode 100644 index 31f78cffd..000000000 --- a/database/entity/0039-contributions_table/User.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - OneToMany, - PrimaryGeneratedColumn, -} from 'typeorm' -import { Contribution } from '../Contribution' - -@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class User extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: 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 - - @DeleteDateColumn() - deletedAt: Date | null - - @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({ length: 4, default: 'de', collation: 'utf8mb4_unicode_ci', nullable: false }) - language: string - - @Column({ name: 'is_admin', type: 'datetime', nullable: true, default: null }) - isAdmin: Date | null - - @Column({ name: 'referrer_id', type: 'int', unsigned: true, nullable: true, default: null }) - referrerId?: number | null - - @Column({ name: 'publisher_id', default: 0 }) - publisherId: number - - @Column({ - type: 'text', - name: 'passphrase', - collation: 'utf8mb4_unicode_ci', - nullable: true, - default: null, - }) - passphrase: string - - @OneToMany( - () => Contribution, - (contribution) => contribution.user, - ) - @JoinColumn({ name: 'user_id' }) - contributions?: Contribution[] -} diff --git a/database/entity/0040-add_contribution_link_id_to_user/User.ts b/database/entity/0040-add_contribution_link_id_to_user/User.ts deleted file mode 100644 index 79bccec0d..000000000 --- a/database/entity/0040-add_contribution_link_id_to_user/User.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - OneToMany, - PrimaryGeneratedColumn, -} from 'typeorm' -import { Contribution } from '../Contribution' - -@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class User extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: 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 - - @DeleteDateColumn() - deletedAt: Date | null - - @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({ length: 4, default: 'de', collation: 'utf8mb4_unicode_ci', nullable: false }) - language: string - - @Column({ name: 'is_admin', type: 'datetime', nullable: true, default: null }) - isAdmin: Date | null - - @Column({ name: 'referrer_id', type: 'int', unsigned: true, nullable: true, default: null }) - referrerId?: number | null - - @Column({ - name: 'contribution_link_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - contributionLinkId?: number | null - - @Column({ name: 'publisher_id', default: 0 }) - publisherId: number - - @Column({ - type: 'text', - name: 'passphrase', - collation: 'utf8mb4_unicode_ci', - nullable: true, - default: null, - }) - passphrase: string - - @OneToMany( - () => Contribution, - (contribution) => contribution.user, - ) - @JoinColumn({ name: 'user_id' }) - contributions?: Contribution[] -} diff --git a/database/entity/0043-add_event_protocol_table/EventProtocol.ts b/database/entity/0043-add_event_protocol_table/EventProtocol.ts deleted file mode 100644 index df0e84de8..000000000 --- a/database/entity/0043-add_event_protocol_table/EventProtocol.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' - -@Entity('event_protocol') -export class EventProtocol extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ length: 100, nullable: false, collation: 'utf8mb4_unicode_ci' }) - type: string - - @Column({ name: 'created_at', type: 'datetime', default: () => 'CURRENT_TIMESTAMP' }) - createdAt: Date - - @Column({ name: 'user_id', unsigned: true, nullable: false }) - userId: number - - @Column({ name: 'x_user_id', unsigned: true, nullable: true }) - xUserId: number - - @Column({ name: 'x_community_id', unsigned: true, nullable: true }) - xCommunityId: number - - @Column({ name: 'transaction_id', unsigned: true, nullable: true }) - transactionId: number - - @Column({ name: 'contribution_id', unsigned: true, nullable: true }) - contributionId: number - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: true, - transformer: DecimalTransformer, - }) - amount: Decimal -} diff --git a/database/entity/0045-add_denied_type_and_status_to_contributions/Contribution.ts b/database/entity/0045-add_denied_type_and_status_to_contributions/Contribution.ts deleted file mode 100644 index 8d5d4cbf8..000000000 --- a/database/entity/0045-add_denied_type_and_status_to_contributions/Contribution.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - ManyToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' -import { User } from '../User' - -@Entity('contributions') -export class Contribution extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ unsigned: true, nullable: false, name: 'user_id' }) - userId: number - - @ManyToOne( - () => User, - (user) => user.contributions, - ) - @JoinColumn({ name: 'user_id' }) - user: User - - @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP', name: 'created_at' }) - createdAt: Date - - @Column({ type: 'datetime', nullable: false, name: 'contribution_date' }) - contributionDate: Date - - @Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - amount: Decimal - - @Column({ unsigned: true, nullable: true, name: 'moderator_id' }) - moderatorId: number - - @Column({ unsigned: true, nullable: true, name: 'contribution_link_id' }) - contributionLinkId: number - - @Column({ unsigned: true, nullable: true, name: 'confirmed_by' }) - confirmedBy: number - - @Column({ nullable: true, name: 'confirmed_at' }) - confirmedAt: Date - - @Column({ unsigned: true, nullable: true, name: 'denied_by' }) - deniedBy: number - - @Column({ nullable: true, name: 'denied_at' }) - deniedAt: Date - - @Column({ - name: 'contribution_type', - length: 12, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - contributionType: string - - @Column({ - name: 'contribution_status', - length: 12, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - contributionStatus: string - - @Column({ unsigned: true, nullable: true, name: 'transaction_id' }) - transactionId: number - - @DeleteDateColumn({ name: 'deleted_at' }) - deletedAt: Date | null -} diff --git a/database/entity/0046-adapt_users_table_for_gradidoid/User.ts b/database/entity/0046-adapt_users_table_for_gradidoid/User.ts deleted file mode 100644 index bff248f6d..000000000 --- a/database/entity/0046-adapt_users_table_for_gradidoid/User.ts +++ /dev/null @@ -1,114 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - OneToMany, - PrimaryGeneratedColumn, -} from 'typeorm' -import { Contribution } from '../Contribution' - -@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class User extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ - name: 'gradido_id', - length: 36, - nullable: false, - unique: true, - collation: 'utf8mb4_unicode_ci', - }) - gradidoID: string - - @Column({ - name: 'alias', - length: 20, - nullable: true, - unique: true, - default: null, - collation: 'utf8mb4_unicode_ci', - }) - alias: string - - @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 - - @DeleteDateColumn() - deletedAt: Date | null - - @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({ length: 4, default: 'de', collation: 'utf8mb4_unicode_ci', nullable: false }) - language: string - - @Column({ name: 'is_admin', type: 'datetime', nullable: true, default: null }) - isAdmin: Date | null - - @Column({ name: 'referrer_id', type: 'int', unsigned: true, nullable: true, default: null }) - referrerId?: number | null - - @Column({ - name: 'contribution_link_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - contributionLinkId?: number | null - - @Column({ name: 'publisher_id', default: 0 }) - publisherId: number - - @Column({ - type: 'text', - name: 'passphrase', - collation: 'utf8mb4_unicode_ci', - nullable: true, - default: null, - }) - passphrase: string - - @OneToMany( - () => Contribution, - (contribution) => contribution.user, - ) - @JoinColumn({ name: 'user_id' }) - contributions?: Contribution[] -} diff --git a/database/entity/0047-messages_tables/Contribution.ts b/database/entity/0047-messages_tables/Contribution.ts deleted file mode 100644 index 48711c531..000000000 --- a/database/entity/0047-messages_tables/Contribution.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - ManyToOne, - OneToMany, - PrimaryGeneratedColumn, -} from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' -import { ContributionMessage } from '../ContributionMessage' -import { User } from '../User' - -@Entity('contributions') -export class Contribution extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ unsigned: true, nullable: false, name: 'user_id' }) - userId: number - - @ManyToOne( - () => User, - (user) => user.contributions, - ) - @JoinColumn({ name: 'user_id' }) - user: User - - @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP', name: 'created_at' }) - createdAt: Date - - @Column({ type: 'datetime', nullable: false, name: 'contribution_date' }) - contributionDate: Date - - @Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - amount: Decimal - - @Column({ unsigned: true, nullable: true, name: 'moderator_id' }) - moderatorId: number - - @Column({ unsigned: true, nullable: true, name: 'contribution_link_id' }) - contributionLinkId: number - - @Column({ unsigned: true, nullable: true, name: 'confirmed_by' }) - confirmedBy: number - - @Column({ nullable: true, name: 'confirmed_at' }) - confirmedAt: Date - - @Column({ unsigned: true, nullable: true, name: 'denied_by' }) - deniedBy: number - - @Column({ nullable: true, name: 'denied_at' }) - deniedAt: Date - - @Column({ - name: 'contribution_type', - length: 12, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - contributionType: string - - @Column({ - name: 'contribution_status', - length: 12, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - contributionStatus: string - - @Column({ unsigned: true, nullable: true, name: 'transaction_id' }) - transactionId: number - - @DeleteDateColumn({ name: 'deleted_at' }) - deletedAt: Date | null - - @OneToMany( - () => ContributionMessage, - (message) => message.contribution, - ) - @JoinColumn({ name: 'contribution_id' }) - messages?: ContributionMessage[] -} diff --git a/database/entity/0047-messages_tables/ContributionMessage.ts b/database/entity/0047-messages_tables/ContributionMessage.ts deleted file mode 100644 index 0dbaee232..000000000 --- a/database/entity/0047-messages_tables/ContributionMessage.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - ManyToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { Contribution } from '../Contribution' -import { User } from '../User' - -@Entity('contribution_messages', { - engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci', -}) -export class ContributionMessage extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'contribution_id', unsigned: true, nullable: false }) - contributionId: number - - @ManyToOne( - () => Contribution, - (contribution) => contribution.messages, - ) - @JoinColumn({ name: 'contribution_id' }) - contribution: Contribution - - @Column({ name: 'user_id', unsigned: true, nullable: false }) - userId: number - - @ManyToOne( - () => User, - (user) => user.messages, - ) - @JoinColumn({ name: 'user_id' }) - user: User - - @Column({ length: 2000, nullable: false, collation: 'utf8mb4_unicode_ci' }) - message: string - - @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP', name: 'created_at' }) - createdAt: Date - - @Column({ type: 'datetime', default: null, nullable: true, name: 'updated_at' }) - updatedAt: Date - - @DeleteDateColumn({ name: 'deleted_at' }) - deletedAt: Date | null - - @Column({ name: 'deleted_by', default: null, unsigned: true, nullable: true }) - deletedBy: number - - @Column({ length: 12, nullable: false, collation: 'utf8mb4_unicode_ci' }) - type: string -} diff --git a/database/entity/0047-messages_tables/User.ts b/database/entity/0047-messages_tables/User.ts deleted file mode 100644 index 1ebfb0586..000000000 --- a/database/entity/0047-messages_tables/User.ts +++ /dev/null @@ -1,122 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - OneToMany, - PrimaryGeneratedColumn, -} from 'typeorm' -import { Contribution } from '../Contribution' -import { ContributionMessage } from '../ContributionMessage' - -@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class User extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ - name: 'gradido_id', - length: 36, - nullable: false, - unique: true, - collation: 'utf8mb4_unicode_ci', - }) - gradidoID: string - - @Column({ - name: 'alias', - length: 20, - nullable: true, - unique: true, - default: null, - collation: 'utf8mb4_unicode_ci', - }) - alias: string - - @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 - - @DeleteDateColumn() - deletedAt: Date | null - - @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({ length: 4, default: 'de', collation: 'utf8mb4_unicode_ci', nullable: false }) - language: string - - @Column({ name: 'is_admin', type: 'datetime', nullable: true, default: null }) - isAdmin: Date | null - - @Column({ name: 'referrer_id', type: 'int', unsigned: true, nullable: true, default: null }) - referrerId?: number | null - - @Column({ - name: 'contribution_link_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - contributionLinkId?: number | null - - @Column({ name: 'publisher_id', default: 0 }) - publisherId: number - - @Column({ - type: 'text', - name: 'passphrase', - collation: 'utf8mb4_unicode_ci', - nullable: true, - default: null, - }) - passphrase: string - - @OneToMany( - () => Contribution, - (contribution) => contribution.user, - ) - @JoinColumn({ name: 'user_id' }) - contributions?: Contribution[] - - @OneToMany( - () => ContributionMessage, - (message) => message.user, - ) - @JoinColumn({ name: 'user_id' }) - messages?: ContributionMessage[] -} diff --git a/database/entity/0048-add_is_moderator_to_contribution_messages/ContributionMessage.ts b/database/entity/0048-add_is_moderator_to_contribution_messages/ContributionMessage.ts deleted file mode 100644 index a6e37729e..000000000 --- a/database/entity/0048-add_is_moderator_to_contribution_messages/ContributionMessage.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - ManyToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { Contribution } from '../Contribution' -import { User } from '../User' - -@Entity('contribution_messages', { - engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci', -}) -export class ContributionMessage extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'contribution_id', unsigned: true, nullable: false }) - contributionId: number - - @ManyToOne( - () => Contribution, - (contribution) => contribution.messages, - ) - @JoinColumn({ name: 'contribution_id' }) - contribution: Contribution - - @Column({ name: 'user_id', unsigned: true, nullable: false }) - userId: number - - @ManyToOne( - () => User, - (user) => user.messages, - ) - @JoinColumn({ name: 'user_id' }) - user: User - - @Column({ length: 2000, nullable: false, collation: 'utf8mb4_unicode_ci' }) - message: string - - @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP', name: 'created_at' }) - createdAt: Date - - @Column({ type: 'datetime', default: null, nullable: true, name: 'updated_at' }) - updatedAt: Date - - @DeleteDateColumn({ name: 'deleted_at' }) - deletedAt: Date | null - - @Column({ name: 'deleted_by', default: null, unsigned: true, nullable: true }) - deletedBy: number - - @Column({ length: 12, nullable: false, collation: 'utf8mb4_unicode_ci' }) - type: string - - @Column({ name: 'is_moderator', type: 'bool', nullable: false, default: false }) - isModerator: boolean -} diff --git a/database/entity/0049-add_user_contacts_table/User.ts b/database/entity/0049-add_user_contacts_table/User.ts deleted file mode 100644 index 46b65f005..000000000 --- a/database/entity/0049-add_user_contacts_table/User.ts +++ /dev/null @@ -1,138 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - OneToMany, - OneToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { Contribution } from '../Contribution' -import { ContributionMessage } from '../ContributionMessage' -import { UserContact } from '../UserContact' - -@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class User extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ - name: 'gradido_id', - length: 36, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - gradidoID: string - - @Column({ - name: 'alias', - length: 20, - nullable: true, - default: null, - collation: 'utf8mb4_unicode_ci', - }) - alias: string - - @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 - */ - @OneToOne( - () => UserContact, - (emailContact: UserContact) => emailContact.user, - ) - @JoinColumn({ name: 'email_id' }) - emailContact: UserContact - - @Column({ name: 'email_id', type: 'int', unsigned: true, nullable: true, default: null }) - emailId: number | null - - @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 - - @DeleteDateColumn() - deletedAt: Date | null - - @Column({ type: 'bigint', default: 0, unsigned: true }) - password: BigInt - - @Column({ name: 'created', default: () => 'CURRENT_TIMESTAMP', nullable: false }) - createdAt: Date - /* - @Column({ name: 'email_checked', type: 'bool', nullable: false, default: false }) - emailChecked: boolean - */ - - @Column({ length: 4, default: 'de', collation: 'utf8mb4_unicode_ci', nullable: false }) - language: string - - @Column({ name: 'is_admin', type: 'datetime', nullable: true, default: null }) - isAdmin: Date | null - - @Column({ name: 'referrer_id', type: 'int', unsigned: true, nullable: true, default: null }) - referrerId?: number | null - - @Column({ - name: 'contribution_link_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - contributionLinkId?: number | null - - @Column({ name: 'publisher_id', default: 0 }) - publisherId: number - - @Column({ - type: 'text', - name: 'passphrase', - collation: 'utf8mb4_unicode_ci', - nullable: true, - default: null, - }) - passphrase: string - - @OneToMany( - () => Contribution, - (contribution) => contribution.user, - ) - @JoinColumn({ name: 'user_id' }) - contributions?: Contribution[] - - @OneToMany( - () => ContributionMessage, - (message) => message.user, - ) - @JoinColumn({ name: 'user_id' }) - messages?: ContributionMessage[] - - @OneToMany( - () => UserContact, - (userContact: UserContact) => userContact.user, - ) - @JoinColumn({ name: 'user_id' }) - userContacts?: UserContact[] -} diff --git a/database/entity/0049-add_user_contacts_table/UserContact.ts b/database/entity/0049-add_user_contacts_table/UserContact.ts deleted file mode 100644 index 54382ec56..000000000 --- a/database/entity/0049-add_user_contacts_table/UserContact.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - OneToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { User } from './User' - -@Entity('user_contacts', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class UserContact extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ - name: 'type', - length: 100, - nullable: true, - default: null, - collation: 'utf8mb4_unicode_ci', - }) - type: string - - @OneToOne( - () => User, - (user) => user.emailContact, - ) - user: User - - @Column({ name: 'user_id', type: 'int', unsigned: true, nullable: false }) - userId: number - - @Column({ length: 255, unique: true, nullable: false, collation: 'utf8mb4_unicode_ci' }) - email: string - - @Column({ name: 'email_verification_code', type: 'bigint', unsigned: true, unique: true }) - emailVerificationCode: BigInt - - @Column({ name: 'email_opt_in_type_id' }) - emailOptInTypeId: number - - @Column({ name: 'email_resend_count' }) - emailResendCount: number - - // @Column({ name: 'email_hash', type: 'binary', length: 32, default: null, nullable: true }) - // emailHash: Buffer - - @Column({ name: 'email_checked', type: 'bool', nullable: false, default: false }) - emailChecked: boolean - - @Column({ length: 255, unique: false, nullable: true, collation: 'utf8mb4_unicode_ci' }) - phone: string - - @Column({ name: 'created_at', default: () => 'CURRENT_TIMESTAMP', nullable: false }) - createdAt: Date - - @Column({ name: 'updated_at', nullable: true, default: null, type: 'datetime' }) - updatedAt: Date | null - - @DeleteDateColumn({ name: 'deleted_at', nullable: true }) - deletedAt: Date | null -} diff --git a/database/entity/0050-add_messageId_to_event_protocol/EventProtocol.ts b/database/entity/0050-add_messageId_to_event_protocol/EventProtocol.ts deleted file mode 100644 index 1607e9431..000000000 --- a/database/entity/0050-add_messageId_to_event_protocol/EventProtocol.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' - -@Entity('event_protocol') -export class EventProtocol extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ length: 100, nullable: false, collation: 'utf8mb4_unicode_ci' }) - type: string - - @Column({ name: 'created_at', type: 'datetime', default: () => 'CURRENT_TIMESTAMP' }) - createdAt: Date - - @Column({ name: 'user_id', unsigned: true, nullable: false }) - userId: number - - @Column({ name: 'x_user_id', type: 'int', unsigned: true, nullable: true }) - xUserId: number | null - - @Column({ name: 'x_community_id', type: 'int', unsigned: true, nullable: true }) - xCommunityId: number | null - - @Column({ name: 'transaction_id', type: 'int', unsigned: true, nullable: true }) - transactionId: number | null - - @Column({ name: 'contribution_id', type: 'int', unsigned: true, nullable: true }) - contributionId: number | null - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: true, - transformer: DecimalTransformer, - }) - amount: Decimal | null - - @Column({ name: 'message_id', type: 'int', unsigned: true, nullable: true }) - messageId: number | null -} diff --git a/database/entity/0051-add_delete_by_to_contributions/Contribution.ts b/database/entity/0051-add_delete_by_to_contributions/Contribution.ts deleted file mode 100644 index 0ebf1cf1f..000000000 --- a/database/entity/0051-add_delete_by_to_contributions/Contribution.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - ManyToOne, - OneToMany, - PrimaryGeneratedColumn, -} from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' -import { ContributionMessage } from '../ContributionMessage' -import { User } from '../User' - -@Entity('contributions') -export class Contribution extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ unsigned: true, nullable: false, name: 'user_id' }) - userId: number - - @ManyToOne( - () => User, - (user) => user.contributions, - ) - @JoinColumn({ name: 'user_id' }) - user: User - - @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP', name: 'created_at' }) - createdAt: Date - - @Column({ type: 'datetime', nullable: false, name: 'contribution_date' }) - contributionDate: Date - - @Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - amount: Decimal - - @Column({ unsigned: true, nullable: true, name: 'moderator_id' }) - moderatorId: number - - @Column({ unsigned: true, nullable: true, name: 'contribution_link_id' }) - contributionLinkId: number - - @Column({ unsigned: true, nullable: true, name: 'confirmed_by' }) - confirmedBy: number - - @Column({ nullable: true, name: 'confirmed_at' }) - confirmedAt: Date - - @Column({ unsigned: true, nullable: true, name: 'denied_by' }) - deniedBy: number - - @Column({ nullable: true, name: 'denied_at' }) - deniedAt: Date - - @Column({ - name: 'contribution_type', - length: 12, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - contributionType: string - - @Column({ - name: 'contribution_status', - length: 12, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - contributionStatus: string - - @Column({ unsigned: true, nullable: true, name: 'transaction_id' }) - transactionId: number - - @DeleteDateColumn({ name: 'deleted_at' }) - deletedAt: Date | null - - @DeleteDateColumn({ unsigned: true, nullable: true, name: 'deleted_by' }) - deletedBy: number - - @OneToMany( - () => ContributionMessage, - (message) => message.contribution, - ) - @JoinColumn({ name: 'contribution_id' }) - messages?: ContributionMessage[] -} diff --git a/database/entity/0052-add_updated_at_to_contributions/Contribution.ts b/database/entity/0052-add_updated_at_to_contributions/Contribution.ts deleted file mode 100644 index fa1f6a72c..000000000 --- a/database/entity/0052-add_updated_at_to_contributions/Contribution.ts +++ /dev/null @@ -1,110 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - ManyToOne, - OneToMany, - OneToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' -import { ContributionMessage } from '../ContributionMessage' -import { Transaction } from '../Transaction' -import { User } from '../User' - -@Entity('contributions') -export class Contribution extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ unsigned: true, nullable: false, name: 'user_id' }) - userId: number - - @ManyToOne( - () => User, - (user) => user.contributions, - ) - @JoinColumn({ name: 'user_id' }) - user: User - - @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP', name: 'created_at' }) - createdAt: Date - - @Column({ type: 'datetime', nullable: false, name: 'contribution_date' }) - contributionDate: Date - - @Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - amount: Decimal - - @Column({ unsigned: true, nullable: true, name: 'moderator_id' }) - moderatorId: number - - @Column({ unsigned: true, nullable: true, name: 'contribution_link_id' }) - contributionLinkId: number - - @Column({ unsigned: true, nullable: true, name: 'confirmed_by' }) - confirmedBy: number - - @Column({ nullable: true, name: 'confirmed_at' }) - confirmedAt: Date - - @Column({ unsigned: true, nullable: true, name: 'denied_by' }) - deniedBy: number - - @Column({ nullable: true, name: 'denied_at' }) - deniedAt: Date - - @Column({ - name: 'contribution_type', - length: 12, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - contributionType: string - - @Column({ - name: 'contribution_status', - length: 12, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - contributionStatus: string - - @Column({ unsigned: true, nullable: true, name: 'transaction_id' }) - transactionId: number - - @Column({ nullable: true, name: 'updated_at' }) - updatedAt: Date - - @DeleteDateColumn({ name: 'deleted_at' }) - deletedAt: Date | null - - @DeleteDateColumn({ unsigned: true, nullable: true, name: 'deleted_by' }) - deletedBy: number - - @OneToMany( - () => ContributionMessage, - (message) => message.contribution, - ) - @JoinColumn({ name: 'contribution_id' }) - messages?: ContributionMessage[] - - @OneToOne( - () => Transaction, - (transaction) => transaction.contribution, - ) - @JoinColumn({ name: 'transaction_id' }) - transaction?: Transaction | null -} diff --git a/database/entity/0053-change_password_encryption/User.ts b/database/entity/0053-change_password_encryption/User.ts deleted file mode 100644 index 18b90a26f..000000000 --- a/database/entity/0053-change_password_encryption/User.ts +++ /dev/null @@ -1,139 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - OneToMany, - OneToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { Contribution } from '../Contribution' -import { ContributionMessage } from '../ContributionMessage' -import { UserContact } from '../UserContact' - -@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class User extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ - name: 'gradido_id', - length: 36, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - gradidoID: string - - @Column({ - name: 'alias', - length: 20, - nullable: true, - default: null, - collation: 'utf8mb4_unicode_ci', - }) - alias: string - - @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({ - type: 'text', - name: 'passphrase', - collation: 'utf8mb4_unicode_ci', - nullable: true, - default: null, - }) - passphrase: string - - @OneToOne( - () => UserContact, - (emailContact: UserContact) => emailContact.user, - ) - @JoinColumn({ name: 'email_id' }) - emailContact: UserContact - - @Column({ name: 'email_id', type: 'int', unsigned: true, nullable: true, default: null }) - emailId: number | null - - @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({ name: 'created_at', default: () => 'CURRENT_TIMESTAMP', nullable: false }) - createdAt: Date - - @DeleteDateColumn({ name: 'deleted_at', nullable: true }) - deletedAt: Date | null - - @Column({ type: 'bigint', default: 0, unsigned: true }) - password: BigInt - - @Column({ - name: 'password_encryption_type', - type: 'int', - unsigned: true, - nullable: false, - default: 0, - }) - passwordEncryptionType: number - - @Column({ length: 4, default: 'de', collation: 'utf8mb4_unicode_ci', nullable: false }) - language: string - - @Column({ name: 'is_admin', type: 'datetime', nullable: true, default: null }) - isAdmin: Date | null - - @Column({ name: 'referrer_id', type: 'int', unsigned: true, nullable: true, default: null }) - referrerId?: number | null - - @Column({ - name: 'contribution_link_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - contributionLinkId?: number | null - - @Column({ name: 'publisher_id', default: 0 }) - publisherId: number - - @OneToMany( - () => Contribution, - (contribution) => contribution.user, - ) - @JoinColumn({ name: 'user_id' }) - contributions?: Contribution[] - - @OneToMany( - () => ContributionMessage, - (message) => message.user, - ) - @JoinColumn({ name: 'user_id' }) - messages?: ContributionMessage[] - - @OneToMany( - () => UserContact, - (userContact: UserContact) => userContact.user, - ) - @JoinColumn({ name: 'user_id' }) - userContacts?: UserContact[] -} diff --git a/database/entity/0053-change_password_encryption/UserContact.ts b/database/entity/0053-change_password_encryption/UserContact.ts deleted file mode 100644 index 54382ec56..000000000 --- a/database/entity/0053-change_password_encryption/UserContact.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - OneToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { User } from './User' - -@Entity('user_contacts', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class UserContact extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ - name: 'type', - length: 100, - nullable: true, - default: null, - collation: 'utf8mb4_unicode_ci', - }) - type: string - - @OneToOne( - () => User, - (user) => user.emailContact, - ) - user: User - - @Column({ name: 'user_id', type: 'int', unsigned: true, nullable: false }) - userId: number - - @Column({ length: 255, unique: true, nullable: false, collation: 'utf8mb4_unicode_ci' }) - email: string - - @Column({ name: 'email_verification_code', type: 'bigint', unsigned: true, unique: true }) - emailVerificationCode: BigInt - - @Column({ name: 'email_opt_in_type_id' }) - emailOptInTypeId: number - - @Column({ name: 'email_resend_count' }) - emailResendCount: number - - // @Column({ name: 'email_hash', type: 'binary', length: 32, default: null, nullable: true }) - // emailHash: Buffer - - @Column({ name: 'email_checked', type: 'bool', nullable: false, default: false }) - emailChecked: boolean - - @Column({ length: 255, unique: false, nullable: true, collation: 'utf8mb4_unicode_ci' }) - phone: string - - @Column({ name: 'created_at', default: () => 'CURRENT_TIMESTAMP', nullable: false }) - createdAt: Date - - @Column({ name: 'updated_at', nullable: true, default: null, type: 'datetime' }) - updatedAt: Date | null - - @DeleteDateColumn({ name: 'deleted_at', nullable: true }) - deletedAt: Date | null -} diff --git a/database/entity/0057-clear_old_password_junk/User.ts b/database/entity/0057-clear_old_password_junk/User.ts deleted file mode 100644 index f78beafd4..000000000 --- a/database/entity/0057-clear_old_password_junk/User.ts +++ /dev/null @@ -1,124 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - OneToMany, - OneToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { Contribution } from '../Contribution' -import { ContributionMessage } from '../ContributionMessage' -import { UserContact } from '../UserContact' - -@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class User extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ - name: 'gradido_id', - length: 36, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - gradidoID: string - - @Column({ - name: 'alias', - length: 20, - nullable: true, - default: null, - collation: 'utf8mb4_unicode_ci', - }) - alias: string - - @OneToOne( - () => UserContact, - (emailContact: UserContact) => emailContact.user, - ) - @JoinColumn({ name: 'email_id' }) - emailContact: UserContact - - @Column({ name: 'email_id', type: 'int', unsigned: true, nullable: true, default: null }) - emailId: number | null - - @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({ name: 'created_at', default: () => 'CURRENT_TIMESTAMP', nullable: false }) - createdAt: Date - - @DeleteDateColumn({ name: 'deleted_at', nullable: true }) - deletedAt: Date | null - - @Column({ type: 'bigint', default: 0, unsigned: true }) - password: BigInt - - @Column({ - name: 'password_encryption_type', - type: 'int', - unsigned: true, - nullable: false, - default: 0, - }) - passwordEncryptionType: number - - @Column({ length: 4, default: 'de', collation: 'utf8mb4_unicode_ci', nullable: false }) - language: string - - @Column({ name: 'is_admin', type: 'datetime', nullable: true, default: null }) - isAdmin: Date | null - - @Column({ name: 'referrer_id', type: 'int', unsigned: true, nullable: true, default: null }) - referrerId?: number | null - - @Column({ - name: 'contribution_link_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - contributionLinkId?: number | null - - @Column({ name: 'publisher_id', default: 0 }) - publisherId: number - - @OneToMany( - () => Contribution, - (contribution) => contribution.user, - ) - @JoinColumn({ name: 'user_id' }) - contributions?: Contribution[] - - @OneToMany( - () => ContributionMessage, - (message) => message.user, - ) - @JoinColumn({ name: 'user_id' }) - messages?: ContributionMessage[] - - @OneToMany( - () => UserContact, - (userContact: UserContact) => userContact.user, - ) - @JoinColumn({ name: 'user_id' }) - userContacts?: UserContact[] -} diff --git a/database/entity/0057-clear_old_password_junk/UserContact.ts b/database/entity/0057-clear_old_password_junk/UserContact.ts deleted file mode 100644 index 2e85e13e5..000000000 --- a/database/entity/0057-clear_old_password_junk/UserContact.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - OneToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { User } from '../User' - -@Entity('user_contacts', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class UserContact extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ - name: 'type', - length: 100, - nullable: true, - default: null, - collation: 'utf8mb4_unicode_ci', - }) - type: string - - @OneToOne( - () => User, - (user) => user.emailContact, - ) - user: User - - @Column({ name: 'user_id', type: 'int', unsigned: true, nullable: false }) - userId: number - - @Column({ length: 255, unique: true, nullable: false, collation: 'utf8mb4_unicode_ci' }) - email: string - - @Column({ name: 'email_verification_code', type: 'bigint', unsigned: true, unique: true }) - emailVerificationCode: string - - @Column({ name: 'email_opt_in_type_id' }) - emailOptInTypeId: number - - @Column({ name: 'email_resend_count' }) - emailResendCount: number - - @Column({ name: 'email_checked', type: 'bool', nullable: false, default: false }) - emailChecked: boolean - - @Column({ length: 255, unique: false, nullable: true, collation: 'utf8mb4_unicode_ci' }) - phone: string - - @Column({ name: 'created_at', default: () => 'CURRENT_TIMESTAMP', nullable: false }) - createdAt: Date - - @Column({ name: 'updated_at', nullable: true, default: null, type: 'datetime' }) - updatedAt: Date | null - - @DeleteDateColumn({ name: 'deleted_at', nullable: true }) - deletedAt: Date | null -} diff --git a/database/entity/0058-add_communities_table/Community.ts b/database/entity/0058-add_communities_table/Community.ts deleted file mode 100644 index 4deeb6d6d..000000000 --- a/database/entity/0058-add_communities_table/Community.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { - BaseEntity, - Column, - CreateDateColumn, - Entity, - PrimaryGeneratedColumn, - UpdateDateColumn, -} from 'typeorm' - -@Entity('communities') -export class Community extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'public_key', type: 'binary', length: 64, default: null, nullable: true }) - publicKey: Buffer - - @Column({ name: 'api_version', length: 10, nullable: false }) - apiVersion: string - - @Column({ name: 'end_point', length: 255, nullable: false }) - endPoint: string - - @Column({ name: 'last_announced_at', type: 'datetime', nullable: false }) - lastAnnouncedAt: Date - - @CreateDateColumn({ - name: 'created_at', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - createdAt: Date - - @UpdateDateColumn({ - name: 'updated_at', - type: 'datetime', - onUpdate: 'CURRENT_TIMESTAMP(3)', - nullable: true, - }) - updatedAt: Date | null -} diff --git a/database/entity/0059-add_hide_amount_to_users/User.ts b/database/entity/0059-add_hide_amount_to_users/User.ts deleted file mode 100644 index f63c6cf2f..000000000 --- a/database/entity/0059-add_hide_amount_to_users/User.ts +++ /dev/null @@ -1,130 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - OneToMany, - OneToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { Contribution } from '../Contribution' -import { ContributionMessage } from '../ContributionMessage' -import { UserContact } from '../UserContact' - -@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class User extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ - name: 'gradido_id', - length: 36, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - gradidoID: string - - @Column({ - name: 'alias', - length: 20, - nullable: true, - default: null, - collation: 'utf8mb4_unicode_ci', - }) - alias: string - - @OneToOne( - () => UserContact, - (emailContact: UserContact) => emailContact.user, - ) - @JoinColumn({ name: 'email_id' }) - emailContact: UserContact - - @Column({ name: 'email_id', type: 'int', unsigned: true, nullable: true, default: null }) - emailId: number | null - - @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({ name: 'created_at', default: () => 'CURRENT_TIMESTAMP', nullable: false }) - createdAt: Date - - @DeleteDateColumn({ name: 'deleted_at', nullable: true }) - deletedAt: Date | null - - @Column({ type: 'bigint', default: 0, unsigned: true }) - password: BigInt - - @Column({ - name: 'password_encryption_type', - type: 'int', - unsigned: true, - nullable: false, - default: 0, - }) - passwordEncryptionType: number - - @Column({ length: 4, default: 'de', collation: 'utf8mb4_unicode_ci', nullable: false }) - language: string - - @Column({ type: 'bool', default: false }) - hideAmountGDD: boolean - - @Column({ type: 'bool', default: false }) - hideAmountGDT: boolean - - @Column({ name: 'is_admin', type: 'datetime', nullable: true, default: null }) - isAdmin: Date | null - - @Column({ name: 'referrer_id', type: 'int', unsigned: true, nullable: true, default: null }) - referrerId?: number | null - - @Column({ - name: 'contribution_link_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - contributionLinkId?: number | null - - @Column({ name: 'publisher_id', default: 0 }) - publisherId: number - - @OneToMany( - () => Contribution, - (contribution) => contribution.user, - ) - @JoinColumn({ name: 'user_id' }) - contributions?: Contribution[] - - @OneToMany( - () => ContributionMessage, - (message) => message.user, - ) - @JoinColumn({ name: 'user_id' }) - messages?: ContributionMessage[] - - @OneToMany( - () => UserContact, - (userContact: UserContact) => userContact.user, - ) - @JoinColumn({ name: 'user_id' }) - userContacts?: UserContact[] -} diff --git a/database/entity/0060-update_communities_table/Community.ts b/database/entity/0060-update_communities_table/Community.ts deleted file mode 100644 index 68b1d6ef0..000000000 --- a/database/entity/0060-update_communities_table/Community.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { - BaseEntity, - Column, - CreateDateColumn, - Entity, - PrimaryGeneratedColumn, - UpdateDateColumn, -} from 'typeorm' - -@Entity('communities') -export class Community extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'foreign', type: 'bool', nullable: false, default: true }) - foreign: boolean - - @Column({ name: 'public_key', type: 'binary', length: 64, default: null, nullable: true }) - publicKey: Buffer - - @Column({ name: 'api_version', length: 10, nullable: false }) - apiVersion: string - - @Column({ name: 'end_point', length: 255, nullable: false }) - endPoint: string - - @Column({ name: 'last_announced_at', type: 'datetime', nullable: true }) - lastAnnouncedAt: Date | null - - @Column({ name: 'verified_at', type: 'datetime', nullable: true }) - verifiedAt: Date | null - - @Column({ name: 'last_error_at', type: 'datetime', nullable: true }) - lastErrorAt: Date | null - - @CreateDateColumn({ - name: 'created_at', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - createdAt: Date - - @UpdateDateColumn({ - name: 'updated_at', - type: 'datetime', - onUpdate: 'CURRENT_TIMESTAMP(3)', - nullable: true, - }) - updatedAt: Date | null -} diff --git a/database/entity/0061-event_refactoring/Event.ts b/database/entity/0061-event_refactoring/Event.ts deleted file mode 100644 index 755a4aca6..000000000 --- a/database/entity/0061-event_refactoring/Event.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { - BaseEntity, - Column, - CreateDateColumn, - Entity, - JoinColumn, - ManyToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' -import { Contribution } from '../Contribution' -import { ContributionMessage } from '../ContributionMessage' -import { Transaction } from '../Transaction' -import { User } from '../User' - -@Entity('events') -export class Event extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ length: 100, nullable: false, collation: 'utf8mb4_unicode_ci' }) - type: string - - @CreateDateColumn({ - name: 'created_at', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - createdAt: Date - - @Column({ name: 'affected_user_id', unsigned: true, nullable: false }) - affectedUserId: number - - @ManyToOne(() => User) - @JoinColumn({ name: 'affected_user_id', referencedColumnName: 'id' }) - affectedUser: User - - @Column({ name: 'acting_user_id', unsigned: true, nullable: false }) - actingUserId: number - - @ManyToOne(() => User) - @JoinColumn({ name: 'acting_user_id', referencedColumnName: 'id' }) - actingUser: User - - @Column({ name: 'involved_user_id', type: 'int', unsigned: true, nullable: true }) - involvedUserId: number | null - - @ManyToOne(() => User) - @JoinColumn({ name: 'involved_user_id', referencedColumnName: 'id' }) - involvedUser: User | null - - @Column({ name: 'involved_transaction_id', type: 'int', unsigned: true, nullable: true }) - involvedTransactionId: number | null - - @ManyToOne(() => Transaction) - @JoinColumn({ name: 'involved_transaction_id', referencedColumnName: 'id' }) - involvedTransaction: Transaction | null - - @Column({ name: 'involved_contribution_id', type: 'int', unsigned: true, nullable: true }) - involvedContributionId: number | null - - @ManyToOne(() => Contribution) - @JoinColumn({ name: 'involved_contribution_id', referencedColumnName: 'id' }) - involvedContribution: Contribution | null - - @Column({ name: 'involved_contribution_message_id', type: 'int', unsigned: true, nullable: true }) - involvedContributionMessageId: number | null - - @ManyToOne(() => ContributionMessage) - @JoinColumn({ name: 'involved_contribution_message_id', referencedColumnName: 'id' }) - involvedContributionMessage: ContributionMessage | null - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: true, - transformer: DecimalTransformer, - }) - amount: Decimal | null -} diff --git a/database/entity/0063-event_link_fields/Event.ts b/database/entity/0063-event_link_fields/Event.ts deleted file mode 100644 index ce125b8df..000000000 --- a/database/entity/0063-event_link_fields/Event.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { - BaseEntity, - Column, - CreateDateColumn, - Entity, - JoinColumn, - ManyToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' -import { Contribution } from '../Contribution' -import { ContributionLink } from '../ContributionLink' -import { ContributionMessage } from '../ContributionMessage' -import { Transaction } from '../Transaction' -import { TransactionLink } from '../TransactionLink' -import { User } from '../User' - -@Entity('events') -export class Event extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ type: 'varchar', length: 100, nullable: false, collation: 'utf8mb4_unicode_ci' }) - type: string - - @CreateDateColumn({ - name: 'created_at', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - createdAt: Date - - @Column({ name: 'affected_user_id', type: 'bigint', unsigned: true, nullable: false }) - affectedUserId: number - - @ManyToOne(() => User) - @JoinColumn({ name: 'affected_user_id', referencedColumnName: 'id' }) - affectedUser: User - - @Column({ name: 'acting_user_id', type: 'bigint', unsigned: true, nullable: false }) - actingUserId: number - - @ManyToOne(() => User) - @JoinColumn({ name: 'acting_user_id', referencedColumnName: 'id' }) - actingUser: User - - @Column({ name: 'involved_user_id', type: 'bigint', unsigned: true, nullable: true }) - involvedUserId: number | null - - @ManyToOne(() => User) - @JoinColumn({ name: 'involved_user_id', referencedColumnName: 'id' }) - involvedUser: User | null - - @Column({ name: 'involved_transaction_id', type: 'bigint', unsigned: true, nullable: true }) - involvedTransactionId: number | null - - @ManyToOne(() => Transaction) - @JoinColumn({ name: 'involved_transaction_id', referencedColumnName: 'id' }) - involvedTransaction: Transaction | null - - @Column({ name: 'involved_contribution_id', type: 'bigint', unsigned: true, nullable: true }) - involvedContributionId: number | null - - @ManyToOne(() => Contribution) - @JoinColumn({ name: 'involved_contribution_id', referencedColumnName: 'id' }) - involvedContribution: Contribution | null - - @Column({ - name: 'involved_contribution_message_id', - type: 'bigint', - unsigned: true, - nullable: true, - }) - involvedContributionMessageId: number | null - - @ManyToOne(() => ContributionMessage) - @JoinColumn({ name: 'involved_contribution_message_id', referencedColumnName: 'id' }) - involvedContributionMessage: ContributionMessage | null - - @Column({ name: 'involved_transaction_link_id', type: 'bigint', unsigned: true, nullable: true }) - involvedTransactionLinkId: number | null - - @ManyToOne(() => TransactionLink) - @JoinColumn({ name: 'involved_transaction_link_id', referencedColumnName: 'id' }) - involvedTransactionLink: TransactionLink | null - - @Column({ name: 'involved_contribution_link_id', type: 'bigint', unsigned: true, nullable: true }) - involvedContributionLinkId: number | null - - @ManyToOne(() => ContributionLink) - @JoinColumn({ name: 'involved_contribution_link_id', referencedColumnName: 'id' }) - involvedContributionLink: ContributionLink | null - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: true, - transformer: DecimalTransformer, - }) - amount: Decimal | null -} diff --git a/database/entity/0065-refactor_communities_table/Community.ts b/database/entity/0065-refactor_communities_table/Community.ts deleted file mode 100644 index 52c8914f0..000000000 --- a/database/entity/0065-refactor_communities_table/Community.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { - BaseEntity, - Column, - CreateDateColumn, - Entity, - PrimaryGeneratedColumn, - UpdateDateColumn, -} from 'typeorm' - -@Entity('communities') -export class Community extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'foreign', type: 'bool', nullable: false, default: true }) - foreign: boolean - - @Column({ name: 'url', length: 255, nullable: false }) - url: string - - @Column({ name: 'public_key', type: 'binary', length: 64, nullable: false }) - publicKey: Buffer - - @Column({ - name: 'community_uuid', - type: 'char', - length: 36, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - communityUuid: string | null - - @Column({ name: 'authenticated_at', type: 'datetime', nullable: true }) - authenticatedAt: Date | null - - @Column({ name: 'name', type: 'varchar', length: 40, nullable: true }) - name: string | null - - @Column({ name: 'description', type: 'varchar', length: 255, nullable: true }) - description: string | null - - @CreateDateColumn({ name: 'creation_date', type: 'datetime', nullable: true }) - creationDate: Date | null - - @CreateDateColumn({ - name: 'created_at', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - createdAt: Date - - @UpdateDateColumn({ - name: 'updated_at', - type: 'datetime', - onUpdate: 'CURRENT_TIMESTAMP(3)', - nullable: true, - }) - updatedAt: Date | null -} diff --git a/database/entity/0065-refactor_communities_table/FederatedCommunity.ts b/database/entity/0065-refactor_communities_table/FederatedCommunity.ts deleted file mode 100644 index 85f9fd038..000000000 --- a/database/entity/0065-refactor_communities_table/FederatedCommunity.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { - BaseEntity, - Column, - CreateDateColumn, - Entity, - PrimaryGeneratedColumn, - UpdateDateColumn, -} from 'typeorm' - -@Entity('federated_communities') -export class FederatedCommunity extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'foreign', type: 'bool', nullable: false, default: true }) - foreign: boolean - - @Column({ name: 'public_key', type: 'binary', length: 64, default: null, nullable: true }) - publicKey: Buffer - - @Column({ name: 'api_version', length: 10, nullable: false }) - apiVersion: string - - @Column({ name: 'end_point', length: 255, nullable: false }) - endPoint: string - - @Column({ name: 'last_announced_at', type: 'datetime', nullable: true }) - lastAnnouncedAt: Date | null - - @Column({ name: 'verified_at', type: 'datetime', nullable: true }) - verifiedAt: Date | null - - @Column({ name: 'last_error_at', type: 'datetime', nullable: true }) - lastErrorAt: Date | null - - @CreateDateColumn({ - name: 'created_at', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - createdAt: Date - - @UpdateDateColumn({ - name: 'updated_at', - type: 'datetime', - onUpdate: 'CURRENT_TIMESTAMP(3)', - nullable: true, - }) - updatedAt: Date | null -} diff --git a/database/entity/0066-x-community-sendcoins-transactions_table/Transaction.ts b/database/entity/0066-x-community-sendcoins-transactions_table/Transaction.ts deleted file mode 100644 index 9c798f7c9..000000000 --- a/database/entity/0066-x-community-sendcoins-transactions_table/Transaction.ts +++ /dev/null @@ -1,143 +0,0 @@ -/* eslint-disable no-use-before-define */ -import { Decimal } from 'decimal.js-light' -import { BaseEntity, Column, Entity, JoinColumn, OneToOne, PrimaryGeneratedColumn } from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' -import { Contribution } from '../Contribution' - -@Entity('transactions') -export class Transaction extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ type: 'int', unsigned: true, unique: true, nullable: true, default: null }) - previous: number | null - - @Column({ name: 'type_id', unsigned: true, nullable: false }) - typeId: number - - @Column({ - name: 'transaction_link_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - transactionLinkId?: number | null - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - amount: Decimal - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - balance: Decimal - - @Column({ - name: 'balance_date', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP', - nullable: false, - }) - balanceDate: Date - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - decay: Decimal - - @Column({ - name: 'decay_start', - type: 'datetime', - nullable: true, - default: null, - }) - decayStart: Date | null - - @Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ name: 'creation_date', type: 'datetime', nullable: true, default: null }) - creationDate: Date | null - - @Column({ name: 'user_id', unsigned: true, nullable: false }) - userId: number - - @Column({ - name: 'user_gradido_id', - type: 'varchar', - length: 36, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - userGradidoID: string - - @Column({ - name: 'user_name', - type: 'varchar', - length: 512, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - userName: string | null - - @Column({ - name: 'linked_user_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedUserId?: number | null - - @Column({ - name: 'linked_user_gradido_id', - type: 'varchar', - length: 36, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - linkedUserGradidoID: string | null - - @Column({ - name: 'linked_user_name', - type: 'varchar', - length: 512, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - linkedUserName: string | null - - @Column({ - name: 'linked_transaction_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedTransactionId?: number | null - - @OneToOne( - () => Contribution, - (contribution) => contribution.transaction, - ) - @JoinColumn({ name: 'id', referencedColumnName: 'transactionId' }) - contribution?: Contribution | null - - @OneToOne(() => Transaction) - @JoinColumn({ name: 'previous' }) - previousTransaction?: Transaction | null -} diff --git a/database/entity/0067-private_key_in_community_table/Community.ts b/database/entity/0067-private_key_in_community_table/Community.ts deleted file mode 100644 index fedf25deb..000000000 --- a/database/entity/0067-private_key_in_community_table/Community.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { - BaseEntity, - Column, - CreateDateColumn, - Entity, - PrimaryGeneratedColumn, - UpdateDateColumn, -} from 'typeorm' - -@Entity('communities') -export class Community extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'foreign', type: 'bool', nullable: false, default: true }) - foreign: boolean - - @Column({ name: 'url', length: 255, nullable: false }) - url: string - - @Column({ name: 'public_key', type: 'binary', length: 64, nullable: false }) - publicKey: Buffer - - @Column({ name: 'private_key', type: 'binary', length: 64, nullable: true }) - privateKey: Buffer | null - - @Column({ - name: 'community_uuid', - type: 'char', - length: 36, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - communityUuid: string | null - - @Column({ name: 'authenticated_at', type: 'datetime', nullable: true }) - authenticatedAt: Date | null - - @Column({ name: 'name', type: 'varchar', length: 40, nullable: true }) - name: string | null - - @Column({ name: 'description', type: 'varchar', length: 255, nullable: true }) - description: string | null - - @CreateDateColumn({ name: 'creation_date', type: 'datetime', nullable: true }) - creationDate: Date | null - - @CreateDateColumn({ - name: 'created_at', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - createdAt: Date - - @UpdateDateColumn({ - name: 'updated_at', - type: 'datetime', - onUpdate: 'CURRENT_TIMESTAMP(3)', - nullable: true, - }) - updatedAt: Date | null -} diff --git a/database/entity/0068-community_tables_public_key_length/Community.ts b/database/entity/0068-community_tables_public_key_length/Community.ts deleted file mode 100644 index ececa886f..000000000 --- a/database/entity/0068-community_tables_public_key_length/Community.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { - BaseEntity, - Column, - CreateDateColumn, - Entity, - PrimaryGeneratedColumn, - UpdateDateColumn, -} from 'typeorm' - -@Entity('communities') -export class Community extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'foreign', type: 'bool', nullable: false, default: true }) - foreign: boolean - - @Column({ name: 'url', length: 255, nullable: false }) - url: string - - @Column({ name: 'public_key', type: 'binary', length: 32, nullable: false }) - publicKey: Buffer - - @Column({ name: 'private_key', type: 'binary', length: 64, nullable: true }) - privateKey: Buffer | null - - @Column({ - name: 'community_uuid', - type: 'char', - length: 36, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - communityUuid: string | null - - @Column({ name: 'authenticated_at', type: 'datetime', nullable: true }) - authenticatedAt: Date | null - - @Column({ name: 'name', type: 'varchar', length: 40, nullable: true }) - name: string | null - - @Column({ name: 'description', type: 'varchar', length: 255, nullable: true }) - description: string | null - - @CreateDateColumn({ name: 'creation_date', type: 'datetime', nullable: true }) - creationDate: Date | null - - @CreateDateColumn({ - name: 'created_at', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - createdAt: Date - - @UpdateDateColumn({ - name: 'updated_at', - type: 'datetime', - onUpdate: 'CURRENT_TIMESTAMP(3)', - nullable: true, - }) - updatedAt: Date | null -} diff --git a/database/entity/0068-community_tables_public_key_length/FederatedCommunity.ts b/database/entity/0068-community_tables_public_key_length/FederatedCommunity.ts deleted file mode 100644 index 97d1b56c0..000000000 --- a/database/entity/0068-community_tables_public_key_length/FederatedCommunity.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { - BaseEntity, - Column, - CreateDateColumn, - Entity, - PrimaryGeneratedColumn, - UpdateDateColumn, -} from 'typeorm' - -@Entity('federated_communities') -export class FederatedCommunity extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'foreign', type: 'bool', nullable: false, default: true }) - foreign: boolean - - @Column({ name: 'public_key', type: 'binary', length: 32, default: null, nullable: true }) - publicKey: Buffer - - @Column({ name: 'api_version', length: 10, nullable: false }) - apiVersion: string - - @Column({ name: 'end_point', length: 255, nullable: false }) - endPoint: string - - @Column({ name: 'last_announced_at', type: 'datetime', nullable: true }) - lastAnnouncedAt: Date | null - - @Column({ name: 'verified_at', type: 'datetime', nullable: true }) - verifiedAt: Date | null - - @Column({ name: 'last_error_at', type: 'datetime', nullable: true }) - lastErrorAt: Date | null - - @CreateDateColumn({ - name: 'created_at', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - createdAt: Date - - @UpdateDateColumn({ - name: 'updated_at', - type: 'datetime', - onUpdate: 'CURRENT_TIMESTAMP(3)', - nullable: true, - }) - updatedAt: Date | null -} diff --git a/database/entity/0069-add_user_roles_table/User.ts b/database/entity/0069-add_user_roles_table/User.ts deleted file mode 100644 index 55a0a64a2..000000000 --- a/database/entity/0069-add_user_roles_table/User.ts +++ /dev/null @@ -1,135 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - OneToMany, - OneToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { Contribution } from '../Contribution' -import { ContributionMessage } from '../ContributionMessage' -import { UserContact } from '../UserContact' -import { UserRole } from './UserRole' - -@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class User extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ - name: 'gradido_id', - length: 36, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - gradidoID: string - - @Column({ - name: 'alias', - length: 20, - nullable: true, - default: null, - collation: 'utf8mb4_unicode_ci', - }) - alias: string - - @OneToOne( - () => UserContact, - (emailContact: UserContact) => emailContact.user, - ) - @JoinColumn({ name: 'email_id' }) - emailContact: UserContact - - @Column({ name: 'email_id', type: 'int', unsigned: true, nullable: true, default: null }) - emailId: number | null - - @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({ name: 'created_at', default: () => 'CURRENT_TIMESTAMP(3)', nullable: false }) - createdAt: Date - - @DeleteDateColumn({ name: 'deleted_at', nullable: true }) - deletedAt: Date | null - - @Column({ type: 'bigint', default: 0, unsigned: true }) - password: BigInt - - @Column({ - name: 'password_encryption_type', - type: 'int', - unsigned: true, - nullable: false, - default: 0, - }) - passwordEncryptionType: number - - @Column({ length: 4, default: 'de', collation: 'utf8mb4_unicode_ci', nullable: false }) - language: string - - @Column({ type: 'bool', default: false }) - hideAmountGDD: boolean - - @Column({ type: 'bool', default: false }) - hideAmountGDT: boolean - - @OneToMany( - () => UserRole, - (userRole) => userRole.user, - ) - @JoinColumn({ name: 'user_id' }) - userRoles: UserRole[] - - @Column({ name: 'referrer_id', type: 'int', unsigned: true, nullable: true, default: null }) - referrerId?: number | null - - @Column({ - name: 'contribution_link_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - contributionLinkId?: number | null - - @Column({ name: 'publisher_id', default: 0 }) - publisherId: number - - @OneToMany( - () => Contribution, - (contribution) => contribution.user, - ) - @JoinColumn({ name: 'user_id' }) - contributions?: Contribution[] - - @OneToMany( - () => ContributionMessage, - (message) => message.user, - ) - @JoinColumn({ name: 'user_id' }) - messages?: ContributionMessage[] - - @OneToMany( - () => UserContact, - (userContact: UserContact) => userContact.user, - ) - @JoinColumn({ name: 'user_id' }) - userContacts?: UserContact[] -} diff --git a/database/entity/0069-add_user_roles_table/UserRole.ts b/database/entity/0069-add_user_roles_table/UserRole.ts deleted file mode 100644 index 536248da0..000000000 --- a/database/entity/0069-add_user_roles_table/UserRole.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { BaseEntity, Column, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn } from 'typeorm' -import { User } from '../User' - -@Entity('user_roles', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class UserRole extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'user_id', type: 'int', unsigned: true, nullable: false }) - userId: number - - @Column({ type: 'varchar', length: 40, nullable: false, collation: 'utf8mb4_unicode_ci' }) - role: string - - @Column({ - name: 'created_at', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - createdAt: Date - - @Column({ name: 'updated_at', type: 'datetime', nullable: true, default: null }) - updatedAt: Date | null - - @ManyToOne( - () => User, - (user) => user.userRoles, - ) - @JoinColumn({ name: 'user_id' }) - user: User -} diff --git a/database/entity/0070-add_dlt_transactions_table/DltTransaction.ts b/database/entity/0070-add_dlt_transactions_table/DltTransaction.ts deleted file mode 100644 index afd9ba9a1..000000000 --- a/database/entity/0070-add_dlt_transactions_table/DltTransaction.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { BaseEntity, Column, Entity, JoinColumn, OneToOne, PrimaryGeneratedColumn } from 'typeorm' -import { Transaction } from '../Transaction' - -@Entity('dlt_transactions', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class DltTransaction extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'transactions_id', type: 'int', unsigned: true, nullable: false }) - transactionId: number - - @Column({ - name: 'message_id', - type: 'varchar', - length: 64, - nullable: true, - default: null, - collation: 'utf8mb4_unicode_ci', - }) - messageId: string - - @Column({ name: 'verified', type: 'bool', nullable: false, default: false }) - verified: boolean - - @Column({ - name: 'created_at', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - createdAt: Date - - @Column({ name: 'verified_at', type: 'datetime', nullable: true, default: null }) - verifiedAt: Date | null - - @OneToOne( - () => Transaction, - (transaction) => transaction.dltTransaction, - ) - @JoinColumn({ name: 'transactions_id' }) - transaction?: Transaction | null -} diff --git a/database/entity/0070-add_dlt_transactions_table/Transaction.ts b/database/entity/0070-add_dlt_transactions_table/Transaction.ts deleted file mode 100644 index 23fcca475..000000000 --- a/database/entity/0070-add_dlt_transactions_table/Transaction.ts +++ /dev/null @@ -1,151 +0,0 @@ -/* eslint-disable no-use-before-define */ -import { Decimal } from 'decimal.js-light' -import { BaseEntity, Column, Entity, JoinColumn, OneToOne, PrimaryGeneratedColumn } from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' -import { Contribution } from '../Contribution' -import { DltTransaction } from './DltTransaction' - -@Entity('transactions') -export class Transaction extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ type: 'int', unsigned: true, unique: true, nullable: true, default: null }) - previous: number | null - - @Column({ name: 'type_id', unsigned: true, nullable: false }) - typeId: number - - @Column({ - name: 'transaction_link_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - transactionLinkId?: number | null - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - amount: Decimal - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - balance: Decimal - - @Column({ - name: 'balance_date', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP', - nullable: false, - }) - balanceDate: Date - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - decay: Decimal - - @Column({ - name: 'decay_start', - type: 'datetime', - nullable: true, - default: null, - }) - decayStart: Date | null - - @Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ name: 'creation_date', type: 'datetime', nullable: true, default: null }) - creationDate: Date | null - - @Column({ name: 'user_id', unsigned: true, nullable: false }) - userId: number - - @Column({ - name: 'user_gradido_id', - type: 'varchar', - length: 36, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - userGradidoID: string - - @Column({ - name: 'user_name', - type: 'varchar', - length: 512, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - userName: string | null - - @Column({ - name: 'linked_user_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedUserId?: number | null - - @Column({ - name: 'linked_user_gradido_id', - type: 'varchar', - length: 36, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - linkedUserGradidoID: string | null - - @Column({ - name: 'linked_user_name', - type: 'varchar', - length: 512, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - linkedUserName: string | null - - @Column({ - name: 'linked_transaction_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedTransactionId?: number | null - - @OneToOne( - () => Contribution, - (contribution) => contribution.transaction, - ) - @JoinColumn({ name: 'id', referencedColumnName: 'transactionId' }) - contribution?: Contribution | null - - @OneToOne( - () => DltTransaction, - (dlt) => dlt.transactionId, - ) - @JoinColumn({ name: 'id', referencedColumnName: 'transactionId' }) - dltTransaction?: DltTransaction | null - - @OneToOne(() => Transaction) - @JoinColumn({ name: 'previous' }) - previousTransaction?: Transaction | null -} diff --git a/database/entity/0071-add-pending_transactions-table/PendingTransaction.ts b/database/entity/0071-add-pending_transactions-table/PendingTransaction.ts deleted file mode 100644 index 7c06b173b..000000000 --- a/database/entity/0071-add-pending_transactions-table/PendingTransaction.ts +++ /dev/null @@ -1,152 +0,0 @@ -/* eslint-disable no-use-before-define */ -import { Decimal } from 'decimal.js-light' -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' - -@Entity('pending_transactions') -export class PendingTransaction extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'state', type: 'int', unsigned: true, nullable: false }) - state: number - - @Column({ type: 'int', unsigned: true, unique: true, nullable: true, default: null }) - previous: number | null - - @Column({ name: 'type_id', type: 'int', unsigned: true, nullable: false }) - typeId: number - - @Column({ - name: 'transaction_link_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - transactionLinkId?: number | null - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - amount: Decimal - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - balance: Decimal - - @Column({ - name: 'balance_date', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - balanceDate: Date - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - decay: Decimal - - @Column({ - name: 'decay_start', - type: 'datetime', - nullable: true, - default: null, - }) - decayStart: Date | null - - @Column({ type: 'varchar', length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ name: 'creation_date', type: 'datetime', nullable: true, default: null }) - creationDate: Date | null - - @Column({ name: 'user_id', type: 'bigint', unsigned: true, nullable: false }) - userId: number - - @Column({ - name: 'user_gradido_id', - type: 'varchar', - length: 36, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - userGradidoID: string - - @Column({ - name: 'user_name', - type: 'varchar', - length: 512, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - userName: string | null - - @Column({ - name: 'user_community_uuid', - type: 'varchar', - length: 36, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - userCommunityUuid: string - - @Column({ - name: 'linked_user_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedUserId?: number | null - - @Column({ - name: 'linked_user_gradido_id', - type: 'varchar', - length: 36, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - linkedUserGradidoID: string | null - - @Column({ - name: 'linked_user_name', - type: 'varchar', - length: 512, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - linkedUserName: string | null - - @Column({ - name: 'linked_user_community_uuid', - type: 'varchar', - length: 36, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - linkedUserCommunityUuid: string - - @Column({ - name: 'linked_transaction_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedTransactionId?: number | null -} diff --git a/database/entity/0072-add_communityuuid_to_transactions_table/Transaction.ts b/database/entity/0072-add_communityuuid_to_transactions_table/Transaction.ts deleted file mode 100644 index 18450ba21..000000000 --- a/database/entity/0072-add_communityuuid_to_transactions_table/Transaction.ts +++ /dev/null @@ -1,169 +0,0 @@ -/* eslint-disable no-use-before-define */ -import { Decimal } from 'decimal.js-light' -import { BaseEntity, Column, Entity, JoinColumn, OneToOne, PrimaryGeneratedColumn } from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' -import { Contribution } from '../Contribution' -import { DltTransaction } from '../DltTransaction' - -@Entity('transactions') -export class Transaction extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ type: 'int', unsigned: true, unique: true, nullable: true, default: null }) - previous: number | null - - @Column({ name: 'type_id', type: 'int', unsigned: true, nullable: false }) - typeId: number - - @Column({ - name: 'transaction_link_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - transactionLinkId?: number | null - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - amount: Decimal - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - balance: Decimal - - @Column({ - name: 'balance_date', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP', - nullable: false, - }) - balanceDate: Date - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - decay: Decimal - - @Column({ - name: 'decay_start', - type: 'datetime', - nullable: true, - default: null, - }) - decayStart: Date | null - - @Column({ type: 'varchar', length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ name: 'creation_date', type: 'datetime', nullable: true, default: null }) - creationDate: Date | null - - @Column({ name: 'user_id', type: 'bigint', unsigned: true, nullable: false }) - userId: number - - @Column({ - name: 'user_community_uuid', - type: 'varchar', - length: 36, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - userCommunityUuid: string | null - - @Column({ - name: 'user_gradido_id', - type: 'varchar', - length: 36, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - userGradidoID: string - - @Column({ - name: 'user_name', - type: 'varchar', - length: 512, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - userName: string | null - - @Column({ - name: 'linked_user_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedUserId?: number | null - - @Column({ - name: 'linked_user_community_uuid', - type: 'varchar', - length: 36, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - linkedUserCommunityUuid: string | null - - @Column({ - name: 'linked_user_gradido_id', - type: 'varchar', - length: 36, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - linkedUserGradidoID: string | null - - @Column({ - name: 'linked_user_name', - type: 'varchar', - length: 512, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - linkedUserName: string | null - - @Column({ - name: 'linked_transaction_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - linkedTransactionId?: number | null - - @OneToOne( - () => Contribution, - (contribution) => contribution.transaction, - ) - @JoinColumn({ name: 'id', referencedColumnName: 'transactionId' }) - contribution?: Contribution | null - - @OneToOne( - () => DltTransaction, - (dlt) => dlt.transactionId, - ) - @JoinColumn({ name: 'id', referencedColumnName: 'transactionId' }) - dltTransaction?: DltTransaction | null - - @OneToOne(() => Transaction) - @JoinColumn({ name: 'previous' }) - previousTransaction?: Transaction | null -} diff --git a/database/entity/0073-introduce_foreign_user_in_users_table/User.ts b/database/entity/0073-introduce_foreign_user_in_users_table/User.ts deleted file mode 100644 index 0cc820c3f..000000000 --- a/database/entity/0073-introduce_foreign_user_in_users_table/User.ts +++ /dev/null @@ -1,147 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - OneToMany, - OneToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { Contribution } from '../Contribution' -import { ContributionMessage } from '../ContributionMessage' -import { UserContact } from '../UserContact' -import { UserRole } from '../UserRole' - -@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class User extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ type: 'bool', default: false }) - foreign: boolean - - @Column({ - name: 'gradido_id', - length: 36, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - gradidoID: string - - @Column({ - name: 'community_uuid', - type: 'char', - length: 36, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - communityUuid: string - - @Column({ - name: 'alias', - length: 20, - nullable: true, - default: null, - collation: 'utf8mb4_unicode_ci', - }) - alias: string - - @OneToOne( - () => UserContact, - (emailContact: UserContact) => emailContact.user, - ) - @JoinColumn({ name: 'email_id' }) - emailContact: UserContact - - @Column({ name: 'email_id', type: 'int', unsigned: true, nullable: true, default: null }) - emailId: number | null - - @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({ name: 'created_at', default: () => 'CURRENT_TIMESTAMP(3)', nullable: false }) - createdAt: Date - - @DeleteDateColumn({ name: 'deleted_at', nullable: true }) - deletedAt: Date | null - - @Column({ type: 'bigint', default: 0, unsigned: true }) - password: BigInt - - @Column({ - name: 'password_encryption_type', - type: 'int', - unsigned: true, - nullable: false, - default: 0, - }) - passwordEncryptionType: number - - @Column({ length: 4, default: 'de', collation: 'utf8mb4_unicode_ci', nullable: false }) - language: string - - @Column({ type: 'bool', default: false }) - hideAmountGDD: boolean - - @Column({ type: 'bool', default: false }) - hideAmountGDT: boolean - - @OneToMany( - () => UserRole, - (userRole) => userRole.user, - ) - @JoinColumn({ name: 'user_id' }) - userRoles: UserRole[] - - @Column({ name: 'referrer_id', type: 'int', unsigned: true, nullable: true, default: null }) - referrerId?: number | null - - @Column({ - name: 'contribution_link_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - contributionLinkId?: number | null - - @Column({ name: 'publisher_id', default: 0 }) - publisherId: number - - @OneToMany( - () => Contribution, - (contribution) => contribution.user, - ) - @JoinColumn({ name: 'user_id' }) - contributions?: Contribution[] - - @OneToMany( - () => ContributionMessage, - (message) => message.user, - ) - @JoinColumn({ name: 'user_id' }) - messages?: ContributionMessage[] - - @OneToMany( - () => UserContact, - (userContact: UserContact) => userContact.user, - ) - @JoinColumn({ name: 'user_id' }) - userContacts?: UserContact[] -} diff --git a/database/entity/0075-contribution_message_add_index/ContributionMessage.ts b/database/entity/0075-contribution_message_add_index/ContributionMessage.ts deleted file mode 100644 index 96c90ea24..000000000 --- a/database/entity/0075-contribution_message_add_index/ContributionMessage.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - Index, - JoinColumn, - ManyToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { Contribution } from '../Contribution' -import { User } from '../User' - -@Entity('contribution_messages', { - engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci', -}) -export class ContributionMessage extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Index() - @Column({ name: 'contribution_id', unsigned: true, nullable: false }) - contributionId: number - - @ManyToOne( - () => Contribution, - (contribution) => contribution.messages, - ) - @JoinColumn({ name: 'contribution_id' }) - contribution: Contribution - - @Column({ name: 'user_id', unsigned: true, nullable: false }) - userId: number - - @ManyToOne( - () => User, - (user) => user.messages, - ) - @JoinColumn({ name: 'user_id' }) - user: User - - @Column({ length: 2000, nullable: false, collation: 'utf8mb4_unicode_ci' }) - message: string - - @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP', name: 'created_at' }) - createdAt: Date - - @Column({ type: 'datetime', default: null, nullable: true, name: 'updated_at' }) - updatedAt: Date - - @DeleteDateColumn({ name: 'deleted_at' }) - deletedAt: Date | null - - @Column({ name: 'deleted_by', default: null, unsigned: true, nullable: true }) - deletedBy: number - - @Column({ length: 12, nullable: false, collation: 'utf8mb4_unicode_ci' }) - type: string - - @Column({ name: 'is_moderator', type: 'bool', nullable: false, default: false }) - isModerator: boolean -} diff --git a/database/entity/0076-add_updated_by_contribution/Contribution.ts b/database/entity/0076-add_updated_by_contribution/Contribution.ts deleted file mode 100644 index df96da108..000000000 --- a/database/entity/0076-add_updated_by_contribution/Contribution.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - ManyToOne, - OneToMany, - OneToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' -import { ContributionMessage } from '../ContributionMessage' -import { Transaction } from '../Transaction' -import { User } from '../User' - -@Entity('contributions') -export class Contribution extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ unsigned: true, nullable: false, name: 'user_id' }) - userId: number - - @ManyToOne( - () => User, - (user) => user.contributions, - ) - @JoinColumn({ name: 'user_id' }) - user: User - - @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP', name: 'created_at' }) - createdAt: Date - - @Column({ type: 'datetime', nullable: false, name: 'contribution_date' }) - contributionDate: Date - - @Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - amount: Decimal - - @Column({ unsigned: true, nullable: true, name: 'moderator_id' }) - moderatorId: number - - @Column({ unsigned: true, nullable: true, name: 'contribution_link_id' }) - contributionLinkId: number - - @Column({ unsigned: true, nullable: true, name: 'confirmed_by' }) - confirmedBy: number - - @Column({ nullable: true, name: 'confirmed_at' }) - confirmedAt: Date - - @Column({ unsigned: true, nullable: true, name: 'denied_by' }) - deniedBy: number - - @Column({ nullable: true, name: 'denied_at' }) - deniedAt: Date - - @Column({ - name: 'contribution_type', - length: 12, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - contributionType: string - - @Column({ - name: 'contribution_status', - length: 12, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - contributionStatus: string - - @Column({ unsigned: true, nullable: true, name: 'transaction_id' }) - transactionId: number - - @Column({ nullable: true, name: 'updated_at' }) - updatedAt: Date - - @Column({ nullable: true, unsigned: true, name: 'updated_by', type: 'int' }) - updatedBy: number | null - - @DeleteDateColumn({ name: 'deleted_at' }) - deletedAt: Date | null - - @DeleteDateColumn({ unsigned: true, nullable: true, name: 'deleted_by' }) - deletedBy: number - - @OneToMany( - () => ContributionMessage, - (message) => message.contribution, - ) - @JoinColumn({ name: 'contribution_id' }) - messages?: ContributionMessage[] - - @OneToOne( - () => Transaction, - (transaction) => transaction.contribution, - ) - @JoinColumn({ name: 'transaction_id' }) - transaction?: Transaction | null -} diff --git a/database/entity/0077-add_resubmission_date_contribution_message/ContributionMessage.ts b/database/entity/0077-add_resubmission_date_contribution_message/ContributionMessage.ts deleted file mode 100644 index e88f1d966..000000000 --- a/database/entity/0077-add_resubmission_date_contribution_message/ContributionMessage.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { - BaseEntity, - Column, - CreateDateColumn, - DeleteDateColumn, - Entity, - Index, - JoinColumn, - ManyToOne, - PrimaryGeneratedColumn, - UpdateDateColumn, -} from 'typeorm' -import { Contribution } from '../Contribution' -import { User } from '../User' - -@Entity('contribution_messages', { - engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci', -}) -export class ContributionMessage extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Index() - @Column({ name: 'contribution_id', unsigned: true, nullable: false }) - contributionId: number - - @ManyToOne( - () => Contribution, - (contribution) => contribution.messages, - ) - @JoinColumn({ name: 'contribution_id' }) - contribution: Contribution - - @Column({ name: 'user_id', unsigned: true, nullable: false }) - userId: number - - @ManyToOne( - () => User, - (user) => user.messages, - ) - @JoinColumn({ name: 'user_id' }) - user: User - - @Column({ length: 2000, nullable: false, collation: 'utf8mb4_unicode_ci' }) - message: string - - @CreateDateColumn() - @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP', name: 'created_at' }) - createdAt: Date - - @UpdateDateColumn() - @Column({ type: 'datetime', default: null, nullable: true, name: 'updated_at' }) - updatedAt: Date - - @DeleteDateColumn({ name: 'deleted_at' }) - deletedAt: Date | null - - @Column({ name: 'deleted_by', default: null, unsigned: true, nullable: true }) - deletedBy: number - - @Column({ type: 'datetime', name: 'resubmission_at', default: null, nullable: true }) - resubmissionAt: Date | null - - @Column({ length: 12, nullable: false, collation: 'utf8mb4_unicode_ci' }) - type: string - - @Column({ name: 'is_moderator', type: 'bool', nullable: false, default: false }) - isModerator: boolean -} diff --git a/database/entity/0078-move_resubmission_date/Contribution.ts b/database/entity/0078-move_resubmission_date/Contribution.ts deleted file mode 100644 index 3e134a653..000000000 --- a/database/entity/0078-move_resubmission_date/Contribution.ts +++ /dev/null @@ -1,118 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - ManyToOne, - OneToMany, - OneToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer' -import { ContributionMessage } from '../ContributionMessage' -import { Transaction } from '../Transaction' -import { User } from '../User' - -@Entity('contributions') -export class Contribution extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ type: 'bigint', unsigned: true, nullable: false, name: 'user_id' }) - userId: number - - @ManyToOne( - () => User, - (user) => user.contributions, - ) - @JoinColumn({ name: 'user_id' }) - user: User - - @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP', name: 'created_at' }) - createdAt: Date - - @Column({ type: 'datetime', name: 'resubmission_at', default: null, nullable: true }) - resubmissionAt: Date | null - - @Column({ type: 'datetime', nullable: false, name: 'contribution_date' }) - contributionDate: Date - - @Column({ type: 'varchar', length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) - memo: string - - @Column({ - type: 'decimal', - precision: 40, - scale: 20, - nullable: false, - transformer: DecimalTransformer, - }) - amount: Decimal - - @Column({ type: 'bigint', unsigned: true, nullable: true, name: 'moderator_id' }) - moderatorId: number - - @Column({ type: 'bigint', unsigned: true, nullable: true, name: 'contribution_link_id' }) - contributionLinkId: number - - @Column({ type: 'bigint', unsigned: true, nullable: true, name: 'confirmed_by' }) - confirmedBy: number - - @Column({ type: 'datetime', nullable: true, name: 'confirmed_at' }) - confirmedAt: Date - - @Column({ type: 'bigint', unsigned: true, nullable: true, name: 'denied_by' }) - deniedBy: number - - @Column({ type: 'datetime', nullable: true, name: 'denied_at' }) - deniedAt: Date - - @Column({ - name: 'contribution_type', - type: 'varchar', - length: 12, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - contributionType: string - - @Column({ - name: 'contribution_status', - type: 'varchar', - length: 12, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - contributionStatus: string - - @Column({ type: 'bigint', unsigned: true, nullable: true, name: 'transaction_id' }) - transactionId: number - - @Column({ type: 'datetime', nullable: true, name: 'updated_at' }) - updatedAt: Date - - @Column({ type: 'bigint', nullable: true, unsigned: true, name: 'updated_by' }) - updatedBy: number | null - - @DeleteDateColumn({ type: 'datetime', name: 'deleted_at' }) - deletedAt: Date | null - - @DeleteDateColumn({ type: 'bigint', unsigned: true, nullable: true, name: 'deleted_by' }) - deletedBy: number - - @OneToMany( - () => ContributionMessage, - (message) => message.contribution, - ) - @JoinColumn({ name: 'contribution_id' }) - messages?: ContributionMessage[] - - @OneToOne( - () => Transaction, - (transaction) => transaction.contribution, - ) - @JoinColumn({ name: 'transaction_id' }) - transaction?: Transaction | null -} diff --git a/database/entity/0078-move_resubmission_date/ContributionMessage.ts b/database/entity/0078-move_resubmission_date/ContributionMessage.ts deleted file mode 100644 index adf60d437..000000000 --- a/database/entity/0078-move_resubmission_date/ContributionMessage.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { - BaseEntity, - Column, - CreateDateColumn, - DeleteDateColumn, - Entity, - Index, - JoinColumn, - ManyToOne, - PrimaryGeneratedColumn, - UpdateDateColumn, -} from 'typeorm' -import { Contribution } from '../Contribution' -import { User } from '../User' - -@Entity('contribution_messages', { - engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci', -}) -export class ContributionMessage extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Index() - @Column({ name: 'contribution_id', type: 'bigint', unsigned: true, nullable: false }) - contributionId: number - - @ManyToOne( - () => Contribution, - (contribution) => contribution.messages, - ) - @JoinColumn({ name: 'contribution_id' }) - contribution: Contribution - - @Column({ name: 'user_id', type: 'bigint', unsigned: true, nullable: false }) - userId: number - - @ManyToOne( - () => User, - (user) => user.messages, - ) - @JoinColumn({ name: 'user_id' }) - user: User - - @Column({ type: 'varchar', length: 2000, nullable: false, collation: 'utf8mb4_unicode_ci' }) - message: string - - @CreateDateColumn() - @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP', name: 'created_at' }) - createdAt: Date - - @UpdateDateColumn() - @Column({ type: 'datetime', default: null, nullable: true, name: 'updated_at' }) - updatedAt: Date - - @DeleteDateColumn({ name: 'deleted_at' }) - deletedAt: Date | null - - @Column({ name: 'deleted_by', type: 'bigint', default: null, unsigned: true, nullable: true }) - deletedBy: number - - @Column({ type: 'varchar', length: 12, nullable: false, collation: 'utf8mb4_unicode_ci' }) - type: string - - @Column({ name: 'is_moderator', type: 'bool', nullable: false, default: false }) - isModerator: boolean -} diff --git a/database/entity/0081-user_join_community/Community.ts b/database/entity/0081-user_join_community/Community.ts deleted file mode 100644 index 2627c9ce9..000000000 --- a/database/entity/0081-user_join_community/Community.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { - BaseEntity, - Column, - CreateDateColumn, - Entity, - JoinColumn, - OneToMany, - PrimaryGeneratedColumn, - UpdateDateColumn, -} from 'typeorm' -import { User } from '../User' - -@Entity('communities') -export class Community extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'foreign', type: 'bool', nullable: false, default: true }) - foreign: boolean - - @Column({ name: 'url', length: 255, nullable: false }) - url: string - - @Column({ name: 'public_key', type: 'binary', length: 32, nullable: false }) - publicKey: Buffer - - @Column({ name: 'private_key', type: 'binary', length: 64, nullable: true }) - privateKey: Buffer | null - - @Column({ - name: 'community_uuid', - type: 'char', - length: 36, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - communityUuid: string | null - - @Column({ name: 'authenticated_at', type: 'datetime', nullable: true }) - authenticatedAt: Date | null - - @Column({ name: 'name', type: 'varchar', length: 40, nullable: true }) - name: string | null - - @Column({ name: 'description', type: 'varchar', length: 255, nullable: true }) - description: string | null - - @CreateDateColumn({ name: 'creation_date', type: 'datetime', nullable: true }) - creationDate: Date | null - - @CreateDateColumn({ - name: 'created_at', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - createdAt: Date - - @UpdateDateColumn({ - name: 'updated_at', - type: 'datetime', - onUpdate: 'CURRENT_TIMESTAMP(3)', - nullable: true, - }) - updatedAt: Date | null - - @OneToMany( - () => User, - (user) => user.community, - ) - @JoinColumn({ name: 'community_uuid', referencedColumnName: 'communityUuid' }) - users: User[] -} diff --git a/database/entity/0081-user_join_community/User.ts b/database/entity/0081-user_join_community/User.ts deleted file mode 100644 index c941124da..000000000 --- a/database/entity/0081-user_join_community/User.ts +++ /dev/null @@ -1,156 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - JoinColumn, - ManyToOne, - OneToMany, - OneToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { Community } from '../Community' -import { Contribution } from '../Contribution' -import { ContributionMessage } from '../ContributionMessage' -import { UserContact } from '../UserContact' -import { UserRole } from '../UserRole' - -@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class User extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ type: 'bool', default: false }) - foreign: boolean - - @Column({ - name: 'gradido_id', - length: 36, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - gradidoID: string - - @Column({ - name: 'community_uuid', - type: 'char', - length: 36, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - communityUuid: string - - @ManyToOne( - () => Community, - (community) => community.users, - ) - @JoinColumn({ name: 'community_uuid', referencedColumnName: 'communityUuid' }) - community: Community | null - - @Column({ - name: 'alias', - length: 20, - nullable: true, - default: null, - collation: 'utf8mb4_unicode_ci', - }) - alias: string - - @OneToOne( - () => UserContact, - (emailContact: UserContact) => emailContact.user, - ) - @JoinColumn({ name: 'email_id' }) - emailContact: UserContact - - @Column({ name: 'email_id', type: 'int', unsigned: true, nullable: true, default: null }) - emailId: number | null - - @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({ name: 'created_at', default: () => 'CURRENT_TIMESTAMP(3)', nullable: false }) - createdAt: Date - - @DeleteDateColumn({ name: 'deleted_at', nullable: true }) - deletedAt: Date | null - - @Column({ type: 'bigint', default: 0, unsigned: true }) - password: BigInt - - @Column({ - name: 'password_encryption_type', - type: 'int', - unsigned: true, - nullable: false, - default: 0, - }) - passwordEncryptionType: number - - @Column({ length: 4, default: 'de', collation: 'utf8mb4_unicode_ci', nullable: false }) - language: string - - @Column({ type: 'bool', default: false }) - hideAmountGDD: boolean - - @Column({ type: 'bool', default: false }) - hideAmountGDT: boolean - - @OneToMany( - () => UserRole, - (userRole) => userRole.user, - ) - @JoinColumn({ name: 'user_id' }) - userRoles: UserRole[] - - @Column({ name: 'referrer_id', type: 'int', unsigned: true, nullable: true, default: null }) - referrerId?: number | null - - @Column({ - name: 'contribution_link_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - contributionLinkId?: number | null - - @Column({ name: 'publisher_id', default: 0 }) - publisherId: number - - @OneToMany( - () => Contribution, - (contribution) => contribution.user, - ) - @JoinColumn({ name: 'user_id' }) - contributions?: Contribution[] - - @OneToMany( - () => ContributionMessage, - (message) => message.user, - ) - @JoinColumn({ name: 'user_id' }) - messages?: ContributionMessage[] - - @OneToMany( - () => UserContact, - (userContact: UserContact) => userContact.user, - ) - @JoinColumn({ name: 'user_id' }) - userContacts?: UserContact[] -} diff --git a/database/entity/0082-introduce_gms_registration/Community.ts b/database/entity/0082-introduce_gms_registration/Community.ts deleted file mode 100644 index 282aca3a1..000000000 --- a/database/entity/0082-introduce_gms_registration/Community.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { - BaseEntity, - Column, - CreateDateColumn, - Entity, - JoinColumn, - OneToMany, - PrimaryGeneratedColumn, - UpdateDateColumn, -} from 'typeorm' -import { User } from '../User' - -@Entity('communities') -export class Community extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'foreign', type: 'bool', nullable: false, default: true }) - foreign: boolean - - @Column({ name: 'url', length: 255, nullable: false }) - url: string - - @Column({ name: 'public_key', type: 'binary', length: 32, nullable: false }) - publicKey: Buffer - - @Column({ name: 'private_key', type: 'binary', length: 64, nullable: true }) - privateKey: Buffer | null - - @Column({ - name: 'community_uuid', - type: 'char', - length: 36, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - communityUuid: string | null - - @Column({ name: 'authenticated_at', type: 'datetime', nullable: true }) - authenticatedAt: Date | null - - @Column({ name: 'name', type: 'varchar', length: 40, nullable: true }) - name: string | null - - @Column({ name: 'description', type: 'varchar', length: 255, nullable: true }) - description: string | null - - @CreateDateColumn({ name: 'creation_date', type: 'datetime', nullable: true }) - creationDate: Date | null - - @Column({ name: 'gms_api_key', type: 'varchar', length: 512, nullable: true, default: null }) - gmsApiKey: string | null - - @CreateDateColumn({ - name: 'created_at', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - createdAt: Date - - @UpdateDateColumn({ - name: 'updated_at', - type: 'datetime', - onUpdate: 'CURRENT_TIMESTAMP(3)', - nullable: true, - }) - updatedAt: Date | null - - @OneToMany( - () => User, - (user) => user.community, - ) - @JoinColumn({ name: 'community_uuid', referencedColumnName: 'communityUuid' }) - users: User[] -} diff --git a/database/entity/0082-introduce_gms_registration/User.ts b/database/entity/0082-introduce_gms_registration/User.ts deleted file mode 100644 index 16381ae16..000000000 --- a/database/entity/0082-introduce_gms_registration/User.ts +++ /dev/null @@ -1,188 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - Geometry, - JoinColumn, - ManyToOne, - OneToMany, - OneToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { GeometryTransformer } from '../../src/typeorm/GeometryTransformer' -import { Community } from '../Community' -import { Contribution } from '../Contribution' -import { ContributionMessage } from '../ContributionMessage' -import { UserContact } from '../UserContact' -import { UserRole } from '../UserRole' - -@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class User extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ type: 'bool', default: false }) - foreign: boolean - - @Column({ - name: 'gradido_id', - length: 36, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - gradidoID: string - - @Column({ - name: 'community_uuid', - type: 'char', - length: 36, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - communityUuid: string - - @ManyToOne( - () => Community, - (community) => community.users, - ) - @JoinColumn({ name: 'community_uuid', referencedColumnName: 'communityUuid' }) - community: Community | null - - @Column({ - name: 'alias', - length: 20, - nullable: true, - default: null, - collation: 'utf8mb4_unicode_ci', - }) - alias: string - - @OneToOne( - () => UserContact, - (emailContact: UserContact) => emailContact.user, - ) - @JoinColumn({ name: 'email_id' }) - emailContact: UserContact - - @Column({ name: 'email_id', type: 'int', unsigned: true, nullable: true, default: null }) - emailId: number | null - - @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({ name: 'gms_publish_name', type: 'int', unsigned: true, nullable: false, default: 0 }) - gmsPublishName: number - - @Column({ name: 'created_at', default: () => 'CURRENT_TIMESTAMP(3)', nullable: false }) - createdAt: Date - - @DeleteDateColumn({ name: 'deleted_at', nullable: true }) - deletedAt: Date | null - - @Column({ type: 'bigint', default: 0, unsigned: true }) - password: BigInt - - @Column({ - name: 'password_encryption_type', - type: 'int', - unsigned: true, - nullable: false, - default: 0, - }) - passwordEncryptionType: number - - @Column({ length: 4, default: 'de', collation: 'utf8mb4_unicode_ci', nullable: false }) - language: string - - @Column({ type: 'bool', default: false }) - hideAmountGDD: boolean - - @Column({ type: 'bool', default: false }) - hideAmountGDT: boolean - - @OneToMany( - () => UserRole, - (userRole) => userRole.user, - ) - @JoinColumn({ name: 'user_id' }) - userRoles: UserRole[] - - @Column({ name: 'referrer_id', type: 'int', unsigned: true, nullable: true, default: null }) - referrerId?: number | null - - @Column({ - name: 'contribution_link_id', - type: 'int', - unsigned: true, - nullable: true, - default: null, - }) - contributionLinkId?: number | null - - @Column({ name: 'publisher_id', default: 0 }) - publisherId: number - - @Column({ name: 'gms_allowed', type: 'bool', default: true }) - gmsAllowed: boolean - - @Column({ - name: 'location', - type: 'geometry', - default: null, - nullable: true, - transformer: GeometryTransformer, - }) - location: Geometry | null - - @Column({ - name: 'gms_publish_location', - type: 'int', - unsigned: true, - nullable: false, - default: 2, - }) - gmsPublishLocation: number - - @Column({ name: 'gms_registered', type: 'bool', default: false }) - gmsRegistered: boolean - - @Column({ name: 'gms_registered_at', type: 'datetime', default: null, nullable: true }) - gmsRegisteredAt: Date | null - - @OneToMany( - () => Contribution, - (contribution) => contribution.user, - ) - @JoinColumn({ name: 'user_id' }) - contributions?: Contribution[] - - @OneToMany( - () => ContributionMessage, - (message) => message.user, - ) - @JoinColumn({ name: 'user_id' }) - messages?: ContributionMessage[] - - @OneToMany( - () => UserContact, - (userContact: UserContact) => userContact.user, - ) - @JoinColumn({ name: 'user_id' }) - userContacts?: UserContact[] -} diff --git a/database/entity/0082-introduce_gms_registration/UserContact.ts b/database/entity/0082-introduce_gms_registration/UserContact.ts deleted file mode 100644 index eabcf89eb..000000000 --- a/database/entity/0082-introduce_gms_registration/UserContact.ts +++ /dev/null @@ -1,111 +0,0 @@ -import { - BaseEntity, - Column, - CreateDateColumn, - DeleteDateColumn, - Entity, - OneToOne, - PrimaryGeneratedColumn, - UpdateDateColumn, -} from 'typeorm' -import { User } from '../User' - -@Entity('user_contacts', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class UserContact extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ - name: 'type', - type: 'varchar', - length: 100, - nullable: true, - default: null, - collation: 'utf8mb4_unicode_ci', - }) - type: string - - @OneToOne( - () => User, - (user) => user.emailContact, - ) - user: User - - @Column({ name: 'user_id', type: 'int', unsigned: true, nullable: false }) - userId: number - - @Column({ - type: 'varchar', - length: 255, - unique: true, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - email: string - - @Column({ name: 'gms_publish_email', type: 'bool', nullable: false, default: false }) - gmsPublishEmail: boolean - - @Column({ name: 'email_verification_code', type: 'bigint', unsigned: true, unique: true }) - emailVerificationCode: string - - @Column({ - name: 'email_opt_in_type_id', - type: 'int', - unsigned: true, - nullable: false, - default: 0, - }) - emailOptInTypeId: number - - @Column({ - name: 'email_resend_count', - type: 'int', - unsigned: true, - nullable: false, - default: 0, - }) - emailResendCount: number - - @Column({ name: 'email_checked', type: 'bool', nullable: false, default: false }) - emailChecked: boolean - - @Column({ - name: 'country_code', - type: 'varchar', - length: 255, - unique: false, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - countryCode: string - - @Column({ - type: 'varchar', - length: 255, - unique: false, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - phone: string - - @Column({ name: 'gms_publish_phone', type: 'int', unsigned: true, nullable: false, default: 0 }) - gmsPublishPhone: number - - @CreateDateColumn({ - name: 'created_at', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - createdAt: Date - - @UpdateDateColumn({ - name: 'updated_at', - nullable: true, - onUpdate: 'CURRENT_TIMESTAMP(3)', - }) - updatedAt: Date | null - - @DeleteDateColumn({ name: 'deleted_at', nullable: true }) - deletedAt: Date | null -} diff --git a/database/entity/0083-join_community_federated_communities/Community.ts b/database/entity/0083-join_community_federated_communities/Community.ts deleted file mode 100644 index d7d6e927f..000000000 --- a/database/entity/0083-join_community_federated_communities/Community.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { - BaseEntity, - Column, - CreateDateColumn, - Entity, - JoinColumn, - OneToMany, - PrimaryGeneratedColumn, - UpdateDateColumn, -} from 'typeorm' -import { FederatedCommunity } from '../FederatedCommunity' -import { User } from '../User' - -@Entity('communities') -export class Community extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'foreign', type: 'bool', nullable: false, default: true }) - foreign: boolean - - @Column({ name: 'url', length: 255, nullable: false }) - url: string - - @Column({ name: 'public_key', type: 'binary', length: 32, nullable: false }) - publicKey: Buffer - - @Column({ name: 'private_key', type: 'binary', length: 64, nullable: true }) - privateKey: Buffer | null - - @Column({ - name: 'community_uuid', - type: 'char', - length: 36, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - communityUuid: string | null - - @Column({ name: 'authenticated_at', type: 'datetime', nullable: true }) - authenticatedAt: Date | null - - @Column({ name: 'name', type: 'varchar', length: 40, nullable: true }) - name: string | null - - @Column({ name: 'description', type: 'varchar', length: 255, nullable: true }) - description: string | null - - @CreateDateColumn({ name: 'creation_date', type: 'datetime', nullable: true }) - creationDate: Date | null - - @Column({ name: 'gms_api_key', type: 'varchar', length: 512, nullable: true, default: null }) - gmsApiKey: string | null - - @CreateDateColumn({ - name: 'created_at', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - createdAt: Date - - @UpdateDateColumn({ - name: 'updated_at', - type: 'datetime', - onUpdate: 'CURRENT_TIMESTAMP(3)', - nullable: true, - }) - updatedAt: Date | null - - @OneToMany( - () => User, - (user) => user.community, - ) - @JoinColumn({ name: 'community_uuid', referencedColumnName: 'communityUuid' }) - users: User[] - - @OneToMany( - () => FederatedCommunity, - (federatedCommunity) => federatedCommunity.community, - ) - @JoinColumn({ name: 'public_key', referencedColumnName: 'publicKey' }) - federatedCommunities?: FederatedCommunity[] -} diff --git a/database/entity/0083-join_community_federated_communities/FederatedCommunity.ts b/database/entity/0083-join_community_federated_communities/FederatedCommunity.ts deleted file mode 100644 index b0edfca91..000000000 --- a/database/entity/0083-join_community_federated_communities/FederatedCommunity.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { - BaseEntity, - Column, - CreateDateColumn, - Entity, - JoinColumn, - ManyToOne, - PrimaryGeneratedColumn, - UpdateDateColumn, -} from 'typeorm' -import { Community } from '../Community' - -@Entity('federated_communities') -export class FederatedCommunity extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'foreign', type: 'bool', nullable: false, default: true }) - foreign: boolean - - @Column({ name: 'public_key', type: 'binary', length: 32, default: null, nullable: true }) - publicKey: Buffer - - @Column({ name: 'api_version', type: 'varchar', length: 10, nullable: false }) - apiVersion: string - - @Column({ name: 'end_point', type: 'varchar', length: 255, nullable: false }) - endPoint: string - - @Column({ name: 'last_announced_at', type: 'datetime', nullable: true }) - lastAnnouncedAt: Date | null - - @Column({ name: 'verified_at', type: 'datetime', nullable: true }) - verifiedAt: Date | null - - @Column({ name: 'last_error_at', type: 'datetime', nullable: true }) - lastErrorAt: Date | null - - @CreateDateColumn({ - name: 'created_at', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - createdAt: Date - - @UpdateDateColumn({ - name: 'updated_at', - type: 'datetime', - onUpdate: 'CURRENT_TIMESTAMP(3)', - nullable: true, - }) - updatedAt: Date | null - - @ManyToOne( - () => Community, - (community) => community.federatedCommunities, - ) - @JoinColumn({ name: 'public_key', referencedColumnName: 'publicKey' }) - community?: Community -} diff --git a/database/entity/0084-introduce_humhub_registration/User.ts b/database/entity/0084-introduce_humhub_registration/User.ts deleted file mode 100644 index c12a7dcfd..000000000 --- a/database/entity/0084-introduce_humhub_registration/User.ts +++ /dev/null @@ -1,209 +0,0 @@ -import { - BaseEntity, - Column, - DeleteDateColumn, - Entity, - Geometry, - JoinColumn, - ManyToOne, - OneToMany, - OneToOne, - PrimaryGeneratedColumn, -} from 'typeorm' -import { GeometryTransformer } from '../../src/typeorm/GeometryTransformer' -import { Community } from '../Community' -import { Contribution } from '../Contribution' -import { ContributionMessage } from '../ContributionMessage' -import { UserContact } from '../UserContact' -import { UserRole } from '../UserRole' - -@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) -export class User extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ type: 'bool', default: false }) - foreign: boolean - - @Column({ - name: 'gradido_id', - type: 'char', - length: 36, - nullable: false, - collation: 'utf8mb4_unicode_ci', - }) - gradidoID: string - - @Column({ - name: 'community_uuid', - type: 'char', - length: 36, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - communityUuid: string - - @ManyToOne( - () => Community, - (community) => community.users, - ) - @JoinColumn({ name: 'community_uuid', referencedColumnName: 'communityUuid' }) - community: Community | null - - @Column({ - name: 'alias', - type: 'varchar', - length: 20, - nullable: true, - default: null, - collation: 'utf8mb4_unicode_ci', - }) - alias: string - - @OneToOne( - () => UserContact, - (emailContact: UserContact) => emailContact.user, - ) - @JoinColumn({ name: 'email_id' }) - emailContact: UserContact - - @Column({ name: 'email_id', type: 'int', unsigned: true, nullable: true, default: null }) - emailId: number | null - - @Column({ - name: 'first_name', - type: 'varchar', - length: 255, - nullable: true, - default: null, - collation: 'utf8mb4_unicode_ci', - }) - firstName: string - - @Column({ - name: 'last_name', - type: 'varchar', - length: 255, - nullable: true, - default: null, - collation: 'utf8mb4_unicode_ci', - }) - lastName: string - - @Column({ name: 'gms_publish_name', type: 'int', unsigned: true, nullable: false, default: 0 }) - gmsPublishName: number - - @Column({ name: 'humhub_publish_name', type: 'int', unsigned: true, nullable: false, default: 0 }) - humhubPublishName: number - - @Column({ - name: 'created_at', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - createdAt: Date - - @DeleteDateColumn({ name: 'deleted_at', type: 'datetime', nullable: true }) - deletedAt: Date | null - - @Column({ type: 'bigint', default: 0, unsigned: true }) - password: BigInt - - @Column({ - name: 'password_encryption_type', - type: 'int', - unsigned: true, - nullable: false, - default: 0, - }) - passwordEncryptionType: number - - @Column({ - type: 'varchar', - length: 4, - default: 'de', - collation: 'utf8mb4_unicode_ci', - nullable: false, - }) - language: string - - @Column({ type: 'bool', default: false }) - hideAmountGDD: boolean - - @Column({ type: 'bool', default: false }) - hideAmountGDT: boolean - - @OneToMany( - () => UserRole, - (userRole) => userRole.user, - ) - @JoinColumn({ name: 'user_id' }) - userRoles: UserRole[] - - @Column({ name: 'referrer_id', type: 'bigint', unsigned: true, nullable: true, default: null }) - referrerId?: number | null - - @Column({ - name: 'contribution_link_id', - type: 'bigint', - unsigned: true, - nullable: true, - default: null, - }) - contributionLinkId?: number | null - - @Column({ name: 'publisher_id', type: 'bigint', unsigned: true, default: 0 }) - publisherId: number - - @Column({ name: 'gms_allowed', type: 'bool', default: true }) - gmsAllowed: boolean - - @Column({ - name: 'location', - type: 'geometry', - default: null, - nullable: true, - transformer: GeometryTransformer, - }) - location: Geometry | null - - @Column({ - name: 'gms_publish_location', - type: 'int', - unsigned: true, - nullable: false, - default: 2, - }) - gmsPublishLocation: number - - @Column({ name: 'gms_registered', type: 'bool', default: false }) - gmsRegistered: boolean - - @Column({ name: 'gms_registered_at', type: 'datetime', default: null, nullable: true }) - gmsRegisteredAt: Date | null - - @Column({ name: 'humhub_allowed', type: 'bool', default: false }) - humhubAllowed: boolean - - @OneToMany( - () => Contribution, - (contribution) => contribution.user, - ) - @JoinColumn({ name: 'user_id' }) - contributions?: Contribution[] - - @OneToMany( - () => ContributionMessage, - (message) => message.user, - ) - @JoinColumn({ name: 'user_id' }) - messages?: ContributionMessage[] - - @OneToMany( - () => UserContact, - (userContact: UserContact) => userContact.user, - ) - @JoinColumn({ name: 'user_id' }) - userContacts?: UserContact[] -} diff --git a/database/entity/0086-add_community_location/Community.ts b/database/entity/0086-add_community_location/Community.ts deleted file mode 100644 index 8c3a5c229..000000000 --- a/database/entity/0086-add_community_location/Community.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { - BaseEntity, - Column, - CreateDateColumn, - Entity, - Geometry, - JoinColumn, - OneToMany, - PrimaryGeneratedColumn, - UpdateDateColumn, -} from 'typeorm' -import { GeometryTransformer } from '../../src/typeorm/GeometryTransformer' -import { FederatedCommunity } from '../FederatedCommunity' -import { User } from '../User' - -@Entity('communities') -export class Community extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'foreign', type: 'bool', nullable: false, default: true }) - foreign: boolean - - @Column({ name: 'url', type: 'varchar', length: 255, nullable: false }) - url: string - - @Column({ name: 'public_key', type: 'binary', length: 32, nullable: false }) - publicKey: Buffer - - @Column({ name: 'private_key', type: 'binary', length: 64, nullable: true }) - privateKey: Buffer | null - - @Column({ - name: 'community_uuid', - type: 'char', - length: 36, - nullable: true, - collation: 'utf8mb4_unicode_ci', - }) - communityUuid: string | null - - @Column({ name: 'authenticated_at', type: 'datetime', nullable: true }) - authenticatedAt: Date | null - - @Column({ name: 'name', type: 'varchar', length: 40, nullable: true }) - name: string | null - - @Column({ name: 'description', type: 'varchar', length: 255, nullable: true }) - description: string | null - - @CreateDateColumn({ name: 'creation_date', type: 'datetime', nullable: true }) - creationDate: Date | null - - @Column({ name: 'gms_api_key', type: 'varchar', length: 512, nullable: true, default: null }) - gmsApiKey: string | null - - @Column({ - name: 'location', - type: 'geometry', - default: null, - nullable: true, - transformer: GeometryTransformer, - }) - location: Geometry | null - - @CreateDateColumn({ - name: 'created_at', - type: 'datetime', - default: () => 'CURRENT_TIMESTAMP(3)', - nullable: false, - }) - createdAt: Date - - @UpdateDateColumn({ - name: 'updated_at', - type: 'datetime', - onUpdate: 'CURRENT_TIMESTAMP(3)', - nullable: true, - }) - updatedAt: Date | null - - @OneToMany( - () => User, - (user) => user.community, - ) - @JoinColumn({ name: 'community_uuid', referencedColumnName: 'communityUuid' }) - users: User[] - - @OneToMany( - () => FederatedCommunity, - (federatedCommunity) => federatedCommunity.community, - ) - @JoinColumn({ name: 'public_key', referencedColumnName: 'publicKey' }) - federatedCommunities?: FederatedCommunity[] -} diff --git a/database/entity/0088-create_project_brandings/ProjectBranding.ts b/database/entity/0088-create_project_brandings/ProjectBranding.ts deleted file mode 100644 index f836f5824..000000000 --- a/database/entity/0088-create_project_brandings/ProjectBranding.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' - -@Entity('project_brandings') -export class ProjectBranding extends BaseEntity { - @PrimaryGeneratedColumn('increment', { unsigned: true }) - id: number - - @Column({ name: 'name', type: 'varchar', length: 255 }) - name: string - - @Column({ name: 'alias', type: 'varchar', length: 32 }) - alias: string - - @Column({ name: 'description', type: 'text', nullable: true, default: null }) - description: string | null - - @Column({ name: 'space_id', type: 'int', unsigned: true, nullable: true, default: null }) - spaceId: number | null - - @Column({ name: 'space_url', type: 'varchar', length: 255, nullable: true, default: null }) - spaceUrl: string | null - - @Column({ name: 'new_user_to_space', type: 'tinyint', width: 1, default: 0 }) - newUserToSpace: boolean - - @Column({ name: 'logo_url', type: 'varchar', length: 255, nullable: true, default: null }) - logoUrl: string | null -} diff --git a/database/entity/0089-add_openai_threads/OpenaiThreads.ts b/database/entity/0089-add_openai_threads/OpenaiThreads.ts deleted file mode 100644 index 38e4b6c33..000000000 --- a/database/entity/0089-add_openai_threads/OpenaiThreads.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { BaseEntity, Column, CreateDateColumn, Entity, PrimaryColumn } from 'typeorm' - -@Entity('openai_threads') -export class OpenaiThreads extends BaseEntity { - @PrimaryColumn({ type: 'char', length: 30 }) - id: string - - @CreateDateColumn({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' }) - createdAt: Date - - @Column({ name: 'user_id', type: 'int', unsigned: true }) - userId: number -} diff --git a/database/entity/AdminPendingCreation.ts b/database/entity/AdminPendingCreation.ts index b2b37d7c4..0a03ce4a0 100644 --- a/database/entity/AdminPendingCreation.ts +++ b/database/entity/AdminPendingCreation.ts @@ -1 +1,33 @@ -export { AdminPendingCreation } from './0035-admin_pending_creations_decimal/AdminPendingCreation' +import { Decimal } from 'decimal.js-light' +import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' +import { DecimalTransformer } from '../src/typeorm/DecimalTransformer' + +@Entity('admin_pending_creations') +export class AdminPendingCreation extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ type: 'bigint', unsigned: true, nullable: false }) + userId: number + + @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP' }) + created: Date + + @Column({ type: 'datetime', nullable: false }) + date: Date + + @Column({ type: 'varchar', length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) + memo: string + + @Column({ + type: 'decimal', + precision: 40, + scale: 20, + nullable: false, + transformer: DecimalTransformer, + }) + amount: Decimal + + @Column() + moderator: number +} diff --git a/database/entity/Community.ts b/database/entity/Community.ts index 9495cc2b6..91efc0781 100644 --- a/database/entity/Community.ts +++ b/database/entity/Community.ts @@ -1 +1,95 @@ -export { Community } from './0086-add_community_location/Community' +import { + BaseEntity, + Column, + CreateDateColumn, + Entity, + Geometry, + JoinColumn, + OneToMany, + PrimaryGeneratedColumn, + UpdateDateColumn, +} from 'typeorm' +import { GeometryTransformer } from '../src/typeorm/GeometryTransformer' +import { FederatedCommunity } from './FederatedCommunity' +import { User } from './User' + +@Entity('communities') +export class Community extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ name: 'foreign', type: 'bool', nullable: false, default: true }) + foreign: boolean + + @Column({ name: 'url', type: 'varchar', length: 255, nullable: false }) + url: string + + @Column({ name: 'public_key', type: 'binary', length: 32, nullable: false }) + publicKey: Buffer + + @Column({ name: 'private_key', type: 'binary', length: 64, nullable: true }) + privateKey: Buffer | null + + @Column({ + name: 'community_uuid', + type: 'char', + length: 36, + nullable: true, + collation: 'utf8mb4_unicode_ci', + }) + communityUuid: string | null + + @Column({ name: 'authenticated_at', type: 'datetime', nullable: true }) + authenticatedAt: Date | null + + @Column({ name: 'name', type: 'varchar', length: 40, nullable: true }) + name: string | null + + @Column({ name: 'description', type: 'varchar', length: 255, nullable: true }) + description: string | null + + @CreateDateColumn({ name: 'creation_date', type: 'datetime', nullable: true }) + creationDate: Date | null + + @Column({ name: 'gms_api_key', type: 'varchar', length: 512, nullable: true, default: null }) + gmsApiKey: string | null + + @Column({ + name: 'location', + type: 'geometry', + default: null, + nullable: true, + transformer: GeometryTransformer, + }) + location: Geometry | null + + @CreateDateColumn({ + name: 'created_at', + type: 'datetime', + default: () => 'CURRENT_TIMESTAMP(3)', + nullable: false, + }) + createdAt: Date + + @UpdateDateColumn({ + name: 'updated_at', + type: 'datetime', + onUpdate: 'CURRENT_TIMESTAMP(3)', + nullable: true, + }) + updatedAt: Date | null + + @OneToMany( + () => User, + (user) => user.community, + ) + @JoinColumn({ name: 'community_uuid', referencedColumnName: 'communityUuid' }) + users: User[] + + @OneToMany( + () => FederatedCommunity, + (federatedCommunity) => federatedCommunity.community, + ) + @JoinColumn({ name: 'public_key', referencedColumnName: 'publicKey' }) + federatedCommunities?: FederatedCommunity[] +} diff --git a/database/entity/Contribution.ts b/database/entity/Contribution.ts index 82715c0c6..c7173a79c 100644 --- a/database/entity/Contribution.ts +++ b/database/entity/Contribution.ts @@ -1 +1,118 @@ -export { Contribution } from './0078-move_resubmission_date/Contribution' +import { Decimal } from 'decimal.js-light' +import { + BaseEntity, + Column, + DeleteDateColumn, + Entity, + JoinColumn, + ManyToOne, + OneToMany, + OneToOne, + PrimaryGeneratedColumn, +} from 'typeorm' +import { DecimalTransformer } from '../src/typeorm/DecimalTransformer' +import { ContributionMessage } from './ContributionMessage' +import { Transaction } from './Transaction' +import { User } from './User' + +@Entity('contributions') +export class Contribution extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ type: 'bigint', unsigned: true, nullable: false, name: 'user_id' }) + userId: number + + @ManyToOne( + () => User, + (user) => user.contributions, + ) + @JoinColumn({ name: 'user_id' }) + user: User + + @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP', name: 'created_at' }) + createdAt: Date + + @Column({ type: 'datetime', name: 'resubmission_at', default: null, nullable: true }) + resubmissionAt: Date | null + + @Column({ type: 'datetime', nullable: false, name: 'contribution_date' }) + contributionDate: Date + + @Column({ type: 'varchar', length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) + memo: string + + @Column({ + type: 'decimal', + precision: 40, + scale: 20, + nullable: false, + transformer: DecimalTransformer, + }) + amount: Decimal + + @Column({ type: 'bigint', unsigned: true, nullable: true, name: 'moderator_id' }) + moderatorId: number + + @Column({ type: 'bigint', unsigned: true, nullable: true, name: 'contribution_link_id' }) + contributionLinkId: number + + @Column({ type: 'bigint', unsigned: true, nullable: true, name: 'confirmed_by' }) + confirmedBy: number + + @Column({ type: 'datetime', nullable: true, name: 'confirmed_at' }) + confirmedAt: Date + + @Column({ type: 'bigint', unsigned: true, nullable: true, name: 'denied_by' }) + deniedBy: number + + @Column({ type: 'datetime', nullable: true, name: 'denied_at' }) + deniedAt: Date + + @Column({ + name: 'contribution_type', + type: 'varchar', + length: 12, + nullable: false, + collation: 'utf8mb4_unicode_ci', + }) + contributionType: string + + @Column({ + name: 'contribution_status', + type: 'varchar', + length: 12, + nullable: false, + collation: 'utf8mb4_unicode_ci', + }) + contributionStatus: string + + @Column({ type: 'bigint', unsigned: true, nullable: true, name: 'transaction_id' }) + transactionId: number + + @Column({ type: 'datetime', nullable: true, name: 'updated_at' }) + updatedAt: Date + + @Column({ type: 'bigint', nullable: true, unsigned: true, name: 'updated_by' }) + updatedBy: number | null + + @DeleteDateColumn({ type: 'datetime', name: 'deleted_at' }) + deletedAt: Date | null + + @DeleteDateColumn({ type: 'bigint', unsigned: true, nullable: true, name: 'deleted_by' }) + deletedBy: number + + @OneToMany( + () => ContributionMessage, + (message) => message.contribution, + ) + @JoinColumn({ name: 'contribution_id' }) + messages?: ContributionMessage[] + + @OneToOne( + () => Transaction, + (transaction) => transaction.contribution, + ) + @JoinColumn({ name: 'transaction_id' }) + transaction?: Transaction | null +} diff --git a/database/entity/ContributionLink.ts b/database/entity/ContributionLink.ts index c7e4e2b7e..8f79f6b85 100644 --- a/database/entity/ContributionLink.ts +++ b/database/entity/ContributionLink.ts @@ -1 +1,88 @@ -export { ContributionLink } from './0038-add_contribution_links_table/ContributionLink' +import { Decimal } from 'decimal.js-light' +import { BaseEntity, Column, DeleteDateColumn, Entity, PrimaryGeneratedColumn } from 'typeorm' +import { DecimalTransformer } from '../src/typeorm/DecimalTransformer' + +@Entity('contribution_links') +export class ContributionLink extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ type: 'varchar', length: 100, nullable: false, collation: 'utf8mb4_unicode_ci' }) + name: string + + @Column({ type: 'varchar', length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) + memo: string + + @Column({ name: 'valid_from', type: 'datetime', nullable: false }) + validFrom: Date + + @Column({ name: 'valid_to', type: 'datetime', nullable: true, default: null }) + validTo: Date | null + + @Column({ + type: 'decimal', + precision: 40, + scale: 20, + nullable: false, + transformer: DecimalTransformer, + }) + amount: Decimal + + @Column({ type: 'varchar', length: 12, nullable: false, collation: 'utf8mb4_unicode_ci' }) + cycle: string + + @Column({ name: 'max_per_cycle', type: 'int', unsigned: true, nullable: false, default: 1 }) + maxPerCycle: number + + @Column({ + name: 'max_amount_per_month', + type: 'decimal', + precision: 40, + scale: 20, + nullable: true, + default: null, + transformer: DecimalTransformer, + }) + maxAmountPerMonth: Decimal | null + + @Column({ + name: 'total_max_count_of_contribution', + type: 'int', + unsigned: true, + nullable: true, + default: null, + }) + totalMaxCountOfContribution: number | null + + @Column({ + name: 'max_account_balance', + type: 'decimal', + precision: 40, + scale: 20, + nullable: true, + default: null, + transformer: DecimalTransformer, + }) + maxAccountBalance: Decimal | null + + @Column({ + name: 'min_gap_hours', + type: 'int', + unsigned: true, + nullable: true, + default: null, + }) + minGapHours: number | null + + @Column({ name: 'created_at', type: 'datetime', default: () => 'CURRENT_TIMESTAMP' }) + createdAt: Date + + @DeleteDateColumn({ name: 'deleted_at', type: 'datetime' }) + deletedAt: Date | null + + @Column({ type: 'varchar', length: 24, nullable: false, collation: 'utf8mb4_unicode_ci' }) + code: string + + @Column({ name: 'link_enabled', type: 'boolean', default: true }) + linkEnabled: boolean +} diff --git a/database/entity/ContributionMessage.ts b/database/entity/ContributionMessage.ts index b4b1180da..1b76243e8 100644 --- a/database/entity/ContributionMessage.ts +++ b/database/entity/ContributionMessage.ts @@ -1 +1,66 @@ -export { ContributionMessage } from './0078-move_resubmission_date/ContributionMessage' +import { + BaseEntity, + Column, + CreateDateColumn, + DeleteDateColumn, + Entity, + Index, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, + UpdateDateColumn, +} from 'typeorm' +import { Contribution } from './Contribution' +import { User } from './User' + +@Entity('contribution_messages', { + engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci', +}) +export class ContributionMessage extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Index() + @Column({ name: 'contribution_id', type: 'bigint', unsigned: true, nullable: false }) + contributionId: number + + @ManyToOne( + () => Contribution, + (contribution) => contribution.messages, + ) + @JoinColumn({ name: 'contribution_id' }) + contribution: Contribution + + @Column({ name: 'user_id', type: 'bigint', unsigned: true, nullable: false }) + userId: number + + @ManyToOne( + () => User, + (user) => user.messages, + ) + @JoinColumn({ name: 'user_id' }) + user: User + + @Column({ type: 'varchar', length: 2000, nullable: false, collation: 'utf8mb4_unicode_ci' }) + message: string + + @CreateDateColumn() + @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP', name: 'created_at' }) + createdAt: Date + + @UpdateDateColumn() + @Column({ type: 'datetime', default: null, nullable: true, name: 'updated_at' }) + updatedAt: Date + + @DeleteDateColumn({ name: 'deleted_at' }) + deletedAt: Date | null + + @Column({ name: 'deleted_by', type: 'bigint', default: null, unsigned: true, nullable: true }) + deletedBy: number + + @Column({ type: 'varchar', length: 12, nullable: false, collation: 'utf8mb4_unicode_ci' }) + type: string + + @Column({ name: 'is_moderator', type: 'bool', nullable: false, default: false }) + isModerator: boolean +} diff --git a/database/entity/DltTransaction.ts b/database/entity/DltTransaction.ts index d9c03306c..7e70402ba 100644 --- a/database/entity/DltTransaction.ts +++ b/database/entity/DltTransaction.ts @@ -1 +1,42 @@ -export { DltTransaction } from './0070-add_dlt_transactions_table/DltTransaction' +import { BaseEntity, Column, Entity, JoinColumn, OneToOne, PrimaryGeneratedColumn } from 'typeorm' +import { Transaction } from './Transaction' + +@Entity('dlt_transactions', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) +export class DltTransaction extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ name: 'transactions_id', type: 'int', unsigned: true, nullable: false }) + transactionId: number + + @Column({ + name: 'message_id', + type: 'varchar', + length: 64, + nullable: true, + default: null, + collation: 'utf8mb4_unicode_ci', + }) + messageId: string + + @Column({ name: 'verified', type: 'bool', nullable: false, default: false }) + verified: boolean + + @Column({ + name: 'created_at', + type: 'datetime', + default: () => 'CURRENT_TIMESTAMP(3)', + nullable: false, + }) + createdAt: Date + + @Column({ name: 'verified_at', type: 'datetime', nullable: true, default: null }) + verifiedAt: Date | null + + @OneToOne( + () => Transaction, + (transaction) => transaction.dltTransaction, + ) + @JoinColumn({ name: 'transactions_id' }) + transaction?: Transaction | null +} diff --git a/database/entity/Event.ts b/database/entity/Event.ts index 04cbaf458..eb56e7e5a 100644 --- a/database/entity/Event.ts +++ b/database/entity/Event.ts @@ -1 +1,104 @@ -export { Event } from './0063-event_link_fields/Event' +import { Decimal } from 'decimal.js-light' +import { + BaseEntity, + Column, + CreateDateColumn, + Entity, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, +} from 'typeorm' +import { DecimalTransformer } from '../src/typeorm/DecimalTransformer' +import { Contribution } from './Contribution' +import { ContributionLink } from './ContributionLink' +import { ContributionMessage } from './ContributionMessage' +import { Transaction } from './Transaction' +import { TransactionLink } from './TransactionLink' +import { User } from './User' + +@Entity('events') +export class Event extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ type: 'varchar', length: 100, nullable: false, collation: 'utf8mb4_unicode_ci' }) + type: string + + @CreateDateColumn({ + name: 'created_at', + type: 'datetime', + default: () => 'CURRENT_TIMESTAMP(3)', + nullable: false, + }) + createdAt: Date + + @Column({ name: 'affected_user_id', type: 'bigint', unsigned: true, nullable: false }) + affectedUserId: number + + @ManyToOne(() => User) + @JoinColumn({ name: 'affected_user_id', referencedColumnName: 'id' }) + affectedUser: User + + @Column({ name: 'acting_user_id', type: 'bigint', unsigned: true, nullable: false }) + actingUserId: number + + @ManyToOne(() => User) + @JoinColumn({ name: 'acting_user_id', referencedColumnName: 'id' }) + actingUser: User + + @Column({ name: 'involved_user_id', type: 'bigint', unsigned: true, nullable: true }) + involvedUserId: number | null + + @ManyToOne(() => User) + @JoinColumn({ name: 'involved_user_id', referencedColumnName: 'id' }) + involvedUser: User | null + + @Column({ name: 'involved_transaction_id', type: 'bigint', unsigned: true, nullable: true }) + involvedTransactionId: number | null + + @ManyToOne(() => Transaction) + @JoinColumn({ name: 'involved_transaction_id', referencedColumnName: 'id' }) + involvedTransaction: Transaction | null + + @Column({ name: 'involved_contribution_id', type: 'bigint', unsigned: true, nullable: true }) + involvedContributionId: number | null + + @ManyToOne(() => Contribution) + @JoinColumn({ name: 'involved_contribution_id', referencedColumnName: 'id' }) + involvedContribution: Contribution | null + + @Column({ + name: 'involved_contribution_message_id', + type: 'bigint', + unsigned: true, + nullable: true, + }) + involvedContributionMessageId: number | null + + @ManyToOne(() => ContributionMessage) + @JoinColumn({ name: 'involved_contribution_message_id', referencedColumnName: 'id' }) + involvedContributionMessage: ContributionMessage | null + + @Column({ name: 'involved_transaction_link_id', type: 'bigint', unsigned: true, nullable: true }) + involvedTransactionLinkId: number | null + + @ManyToOne(() => TransactionLink) + @JoinColumn({ name: 'involved_transaction_link_id', referencedColumnName: 'id' }) + involvedTransactionLink: TransactionLink | null + + @Column({ name: 'involved_contribution_link_id', type: 'bigint', unsigned: true, nullable: true }) + involvedContributionLinkId: number | null + + @ManyToOne(() => ContributionLink) + @JoinColumn({ name: 'involved_contribution_link_id', referencedColumnName: 'id' }) + involvedContributionLink: ContributionLink | null + + @Column({ + type: 'decimal', + precision: 40, + scale: 20, + nullable: true, + transformer: DecimalTransformer, + }) + amount: Decimal | null +} diff --git a/database/entity/FederatedCommunity.ts b/database/entity/FederatedCommunity.ts index 044966080..09c493073 100644 --- a/database/entity/FederatedCommunity.ts +++ b/database/entity/FederatedCommunity.ts @@ -1 +1,61 @@ -export { FederatedCommunity } from './0083-join_community_federated_communities/FederatedCommunity' +import { + BaseEntity, + Column, + CreateDateColumn, + Entity, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, + UpdateDateColumn, +} from 'typeorm' +import { Community } from './Community' + +@Entity('federated_communities') +export class FederatedCommunity extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ name: 'foreign', type: 'bool', nullable: false, default: true }) + foreign: boolean + + @Column({ name: 'public_key', type: 'binary', length: 32, default: null, nullable: true }) + publicKey: Buffer + + @Column({ name: 'api_version', type: 'varchar', length: 10, nullable: false }) + apiVersion: string + + @Column({ name: 'end_point', type: 'varchar', length: 255, nullable: false }) + endPoint: string + + @Column({ name: 'last_announced_at', type: 'datetime', nullable: true }) + lastAnnouncedAt: Date | null + + @Column({ name: 'verified_at', type: 'datetime', nullable: true }) + verifiedAt: Date | null + + @Column({ name: 'last_error_at', type: 'datetime', nullable: true }) + lastErrorAt: Date | null + + @CreateDateColumn({ + name: 'created_at', + type: 'datetime', + default: () => 'CURRENT_TIMESTAMP(3)', + nullable: false, + }) + createdAt: Date + + @UpdateDateColumn({ + name: 'updated_at', + type: 'datetime', + onUpdate: 'CURRENT_TIMESTAMP(3)', + nullable: true, + }) + updatedAt: Date | null + + @ManyToOne( + () => Community, + (community) => community.federatedCommunities, + ) + @JoinColumn({ name: 'public_key', referencedColumnName: 'publicKey' }) + community?: Community +} diff --git a/database/entity/LoginElopageBuys.ts b/database/entity/LoginElopageBuys.ts index cb0d212fa..18dbe7961 100644 --- a/database/entity/LoginElopageBuys.ts +++ b/database/entity/LoginElopageBuys.ts @@ -1 +1,54 @@ -export { LoginElopageBuys } from './0021-elopagebuys_fields_nullable/LoginElopageBuys' +import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' + +@Entity('login_elopage_buys') +export class LoginElopageBuys extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ type: 'int', width: 11, name: 'elopage_user_id', nullable: true, default: null }) + elopageUserId: number | null + + @Column({ type: 'int', width: 11, name: 'affiliate_program_id', nullable: true, default: null }) + affiliateProgramId: number | null + + @Column({ type: 'int', width: 11, name: 'publisher_id', nullable: true, default: null }) + publisherId: number | null + + @Column({ type: 'int', width: 11, name: 'order_id', nullable: true, default: null }) + orderId: number | null + + @Column({ type: 'int', width: 11, name: 'product_id', nullable: true, default: null }) + productId: number | null + + @Column({ name: 'product_price', type: 'int', nullable: false }) + productPrice: number + + @Column({ + name: 'payer_email', + type: 'varchar', + length: 255, + nullable: false, + charset: 'utf8', + collation: 'utf8_bin', + }) + payerEmail: string + + @Column({ + name: 'publisher_email', + type: 'varchar', + length: 255, + nullable: false, + charset: 'utf8', + collation: 'utf8_bin', + }) + publisherEmail: string + + @Column({ type: 'bool', nullable: false }) + payed: boolean + + @Column({ name: 'success_date', type: 'datetime', nullable: false }) + successDate: Date + + @Column({ type: 'varchar', length: 255, nullable: false }) + event: string +} diff --git a/database/entity/LoginEmailOptIn.ts b/database/entity/LoginEmailOptIn.ts index fa8717ed3..46f74e7de 100644 --- a/database/entity/LoginEmailOptIn.ts +++ b/database/entity/LoginEmailOptIn.ts @@ -1 +1,26 @@ -export { LoginEmailOptIn } from './0003-login_server_tables/LoginEmailOptIn' +import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' + +// Moriz: I do not like the idea of having two user tables +@Entity('login_email_opt_in') +export class LoginEmailOptIn extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ name: 'user_id', type: 'bigint', unsigned: true, nullable: false }) + userId: number + + @Column({ name: 'verification_code', type: 'bigint', unsigned: true, unique: true }) + verificationCode: BigInt + + @Column({ name: 'email_opt_in_type_id', type: 'int', unsigned: true, nullable: false }) + emailOptInTypeId: number + + @Column({ name: 'created', type: 'datetime', default: () => 'CURRENT_TIMESTAMP' }) + createdAt: Date + + @Column({ name: 'resend_count', type: 'int', unsigned: true, default: 0 }) + resendCount: number + + @Column({ name: 'updated', type: 'datetime', default: () => 'CURRENT_TIMESTAMP' }) + updatedAt: Date +} diff --git a/database/entity/Migration.ts b/database/entity/Migration.ts index 9f1e743d0..13c848b07 100644 --- a/database/entity/Migration.ts +++ b/database/entity/Migration.ts @@ -1 +1,13 @@ -export { Migration } from './0001-init_db/Migration' +import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' + +@Entity('migrations') +export class Migration extends BaseEntity { + @PrimaryGeneratedColumn() // This is actually not a primary column + version: number + + @Column({ type: 'varchar', length: 256, nullable: true, default: null }) + fileName: string + + @Column({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP' }) + date: Date +} diff --git a/database/entity/OpenaiThreads.ts b/database/entity/OpenaiThreads.ts index d0590811f..38e4b6c33 100644 --- a/database/entity/OpenaiThreads.ts +++ b/database/entity/OpenaiThreads.ts @@ -1 +1,13 @@ -export { OpenaiThreads } from './0089-add_openai_threads/OpenaiThreads' +import { BaseEntity, Column, CreateDateColumn, Entity, PrimaryColumn } from 'typeorm' + +@Entity('openai_threads') +export class OpenaiThreads extends BaseEntity { + @PrimaryColumn({ type: 'char', length: 30 }) + id: string + + @CreateDateColumn({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' }) + createdAt: Date + + @Column({ name: 'user_id', type: 'int', unsigned: true }) + userId: number +} diff --git a/database/entity/PendingTransaction.ts b/database/entity/PendingTransaction.ts index dbd6f0c74..a3574077a 100644 --- a/database/entity/PendingTransaction.ts +++ b/database/entity/PendingTransaction.ts @@ -1 +1,152 @@ -export { PendingTransaction } from './0071-add-pending_transactions-table/PendingTransaction' +/* eslint-disable no-use-before-define */ +import { Decimal } from 'decimal.js-light' +import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' +import { DecimalTransformer } from '../src/typeorm/DecimalTransformer' + +@Entity('pending_transactions') +export class PendingTransaction extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ name: 'state', type: 'int', unsigned: true, nullable: false }) + state: number + + @Column({ type: 'int', unsigned: true, unique: true, nullable: true, default: null }) + previous: number | null + + @Column({ name: 'type_id', type: 'int', unsigned: true, nullable: false }) + typeId: number + + @Column({ + name: 'transaction_link_id', + type: 'int', + unsigned: true, + nullable: true, + default: null, + }) + transactionLinkId?: number | null + + @Column({ + type: 'decimal', + precision: 40, + scale: 20, + nullable: false, + transformer: DecimalTransformer, + }) + amount: Decimal + + @Column({ + type: 'decimal', + precision: 40, + scale: 20, + nullable: false, + transformer: DecimalTransformer, + }) + balance: Decimal + + @Column({ + name: 'balance_date', + type: 'datetime', + default: () => 'CURRENT_TIMESTAMP(3)', + nullable: false, + }) + balanceDate: Date + + @Column({ + type: 'decimal', + precision: 40, + scale: 20, + nullable: false, + transformer: DecimalTransformer, + }) + decay: Decimal + + @Column({ + name: 'decay_start', + type: 'datetime', + nullable: true, + default: null, + }) + decayStart: Date | null + + @Column({ type: 'varchar', length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) + memo: string + + @Column({ name: 'creation_date', type: 'datetime', nullable: true, default: null }) + creationDate: Date | null + + @Column({ name: 'user_id', type: 'bigint', unsigned: true, nullable: false }) + userId: number + + @Column({ + name: 'user_gradido_id', + type: 'varchar', + length: 36, + nullable: false, + collation: 'utf8mb4_unicode_ci', + }) + userGradidoID: string + + @Column({ + name: 'user_name', + type: 'varchar', + length: 512, + nullable: true, + collation: 'utf8mb4_unicode_ci', + }) + userName: string | null + + @Column({ + name: 'user_community_uuid', + type: 'varchar', + length: 36, + nullable: false, + collation: 'utf8mb4_unicode_ci', + }) + userCommunityUuid: string + + @Column({ + name: 'linked_user_id', + type: 'int', + unsigned: true, + nullable: true, + default: null, + }) + linkedUserId?: number | null + + @Column({ + name: 'linked_user_gradido_id', + type: 'varchar', + length: 36, + nullable: true, + collation: 'utf8mb4_unicode_ci', + }) + linkedUserGradidoID: string | null + + @Column({ + name: 'linked_user_name', + type: 'varchar', + length: 512, + nullable: true, + collation: 'utf8mb4_unicode_ci', + }) + linkedUserName: string | null + + @Column({ + name: 'linked_user_community_uuid', + type: 'varchar', + length: 36, + nullable: false, + collation: 'utf8mb4_unicode_ci', + }) + linkedUserCommunityUuid: string + + @Column({ + name: 'linked_transaction_id', + type: 'int', + unsigned: true, + nullable: true, + default: null, + }) + linkedTransactionId?: number | null +} diff --git a/database/entity/ProjectBranding.ts b/database/entity/ProjectBranding.ts index 0622d00ef..f836f5824 100644 --- a/database/entity/ProjectBranding.ts +++ b/database/entity/ProjectBranding.ts @@ -1 +1,28 @@ -export { ProjectBranding } from './0088-create_project_brandings/ProjectBranding' +import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm' + +@Entity('project_brandings') +export class ProjectBranding extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ name: 'name', type: 'varchar', length: 255 }) + name: string + + @Column({ name: 'alias', type: 'varchar', length: 32 }) + alias: string + + @Column({ name: 'description', type: 'text', nullable: true, default: null }) + description: string | null + + @Column({ name: 'space_id', type: 'int', unsigned: true, nullable: true, default: null }) + spaceId: number | null + + @Column({ name: 'space_url', type: 'varchar', length: 255, nullable: true, default: null }) + spaceUrl: string | null + + @Column({ name: 'new_user_to_space', type: 'tinyint', width: 1, default: 0 }) + newUserToSpace: boolean + + @Column({ name: 'logo_url', type: 'varchar', length: 255, nullable: true, default: null }) + logoUrl: string | null +} diff --git a/database/entity/Transaction.ts b/database/entity/Transaction.ts index d1d7075a9..64ae2c073 100644 --- a/database/entity/Transaction.ts +++ b/database/entity/Transaction.ts @@ -1 +1,169 @@ -export { Transaction } from './0072-add_communityuuid_to_transactions_table/Transaction' +/* eslint-disable no-use-before-define */ +import { Decimal } from 'decimal.js-light' +import { BaseEntity, Column, Entity, JoinColumn, OneToOne, PrimaryGeneratedColumn } from 'typeorm' +import { DecimalTransformer } from '../src/typeorm/DecimalTransformer' +import { Contribution } from './Contribution' +import { DltTransaction } from './DltTransaction' + +@Entity('transactions') +export class Transaction extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ type: 'int', unsigned: true, unique: true, nullable: true, default: null }) + previous: number | null + + @Column({ name: 'type_id', type: 'int', unsigned: true, nullable: false }) + typeId: number + + @Column({ + name: 'transaction_link_id', + type: 'int', + unsigned: true, + nullable: true, + default: null, + }) + transactionLinkId?: number | null + + @Column({ + type: 'decimal', + precision: 40, + scale: 20, + nullable: false, + transformer: DecimalTransformer, + }) + amount: Decimal + + @Column({ + type: 'decimal', + precision: 40, + scale: 20, + nullable: false, + transformer: DecimalTransformer, + }) + balance: Decimal + + @Column({ + name: 'balance_date', + type: 'datetime', + default: () => 'CURRENT_TIMESTAMP', + nullable: false, + }) + balanceDate: Date + + @Column({ + type: 'decimal', + precision: 40, + scale: 20, + nullable: false, + transformer: DecimalTransformer, + }) + decay: Decimal + + @Column({ + name: 'decay_start', + type: 'datetime', + nullable: true, + default: null, + }) + decayStart: Date | null + + @Column({ type: 'varchar', length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) + memo: string + + @Column({ name: 'creation_date', type: 'datetime', nullable: true, default: null }) + creationDate: Date | null + + @Column({ name: 'user_id', type: 'bigint', unsigned: true, nullable: false }) + userId: number + + @Column({ + name: 'user_community_uuid', + type: 'varchar', + length: 36, + nullable: true, + collation: 'utf8mb4_unicode_ci', + }) + userCommunityUuid: string | null + + @Column({ + name: 'user_gradido_id', + type: 'varchar', + length: 36, + nullable: false, + collation: 'utf8mb4_unicode_ci', + }) + userGradidoID: string + + @Column({ + name: 'user_name', + type: 'varchar', + length: 512, + nullable: true, + collation: 'utf8mb4_unicode_ci', + }) + userName: string | null + + @Column({ + name: 'linked_user_id', + type: 'int', + unsigned: true, + nullable: true, + default: null, + }) + linkedUserId?: number | null + + @Column({ + name: 'linked_user_community_uuid', + type: 'varchar', + length: 36, + nullable: true, + collation: 'utf8mb4_unicode_ci', + }) + linkedUserCommunityUuid: string | null + + @Column({ + name: 'linked_user_gradido_id', + type: 'varchar', + length: 36, + nullable: true, + collation: 'utf8mb4_unicode_ci', + }) + linkedUserGradidoID: string | null + + @Column({ + name: 'linked_user_name', + type: 'varchar', + length: 512, + nullable: true, + collation: 'utf8mb4_unicode_ci', + }) + linkedUserName: string | null + + @Column({ + name: 'linked_transaction_id', + type: 'int', + unsigned: true, + nullable: true, + default: null, + }) + linkedTransactionId?: number | null + + @OneToOne( + () => Contribution, + (contribution) => contribution.transaction, + ) + @JoinColumn({ name: 'id', referencedColumnName: 'transactionId' }) + contribution?: Contribution | null + + @OneToOne( + () => DltTransaction, + (dlt) => dlt.transactionId, + ) + @JoinColumn({ name: 'id', referencedColumnName: 'transactionId' }) + dltTransaction?: DltTransaction | null + + @OneToOne(() => Transaction) + @JoinColumn({ name: 'previous' }) + previousTransaction?: Transaction | null +} diff --git a/database/entity/TransactionLink.ts b/database/entity/TransactionLink.ts index a483f0171..68e8c4b68 100644 --- a/database/entity/TransactionLink.ts +++ b/database/entity/TransactionLink.ts @@ -1 +1,61 @@ -export { TransactionLink } from './0031-remove_sendEmail_from_transaction_link/TransactionLink' +import { Decimal } from 'decimal.js-light' +import { BaseEntity, Column, DeleteDateColumn, Entity, PrimaryGeneratedColumn } from 'typeorm' +import { DecimalTransformer } from '../src/typeorm/DecimalTransformer' + +@Entity('transaction_links') +export class TransactionLink extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ type: 'bigint', unsigned: true, nullable: false }) + userId: number + + @Column({ + type: 'decimal', + precision: 40, + scale: 20, + nullable: false, + transformer: DecimalTransformer, + }) + amount: Decimal + + @Column({ + type: 'decimal', + name: 'hold_available_amount', + precision: 40, + scale: 20, + nullable: false, + transformer: DecimalTransformer, + }) + holdAvailableAmount: Decimal + + @Column({ type: 'varchar', length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' }) + memo: string + + @Column({ type: 'varchar', length: 24, nullable: false, collation: 'utf8mb4_unicode_ci' }) + code: string + + @Column({ + type: 'datetime', + nullable: false, + }) + createdAt: Date + + @DeleteDateColumn() + deletedAt: Date | null + + @Column({ + type: 'datetime', + nullable: false, + }) + validUntil: Date + + @Column({ + type: 'datetime', + nullable: true, + }) + redeemedAt: Date | null + + @Column({ type: 'int', unsigned: true, nullable: true }) + redeemedBy: number | null +} diff --git a/database/entity/User.ts b/database/entity/User.ts index 993d983ef..c03b43ffb 100644 --- a/database/entity/User.ts +++ b/database/entity/User.ts @@ -1 +1,209 @@ -export { User } from './0084-introduce_humhub_registration/User' +import { + BaseEntity, + Column, + DeleteDateColumn, + Entity, + Geometry, + JoinColumn, + ManyToOne, + OneToMany, + OneToOne, + PrimaryGeneratedColumn, +} from 'typeorm' +import { GeometryTransformer } from '../src/typeorm/GeometryTransformer' +import { Community } from './Community' +import { Contribution } from './Contribution' +import { ContributionMessage } from './ContributionMessage' +import { UserContact } from './UserContact' +import { UserRole } from './UserRole' + +@Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) +export class User extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ type: 'bool', default: false }) + foreign: boolean + + @Column({ + name: 'gradido_id', + type: 'char', + length: 36, + nullable: false, + collation: 'utf8mb4_unicode_ci', + }) + gradidoID: string + + @Column({ + name: 'community_uuid', + type: 'char', + length: 36, + nullable: true, + collation: 'utf8mb4_unicode_ci', + }) + communityUuid: string + + @ManyToOne( + () => Community, + (community) => community.users, + ) + @JoinColumn({ name: 'community_uuid', referencedColumnName: 'communityUuid' }) + community: Community | null + + @Column({ + name: 'alias', + type: 'varchar', + length: 20, + nullable: true, + default: null, + collation: 'utf8mb4_unicode_ci', + }) + alias: string + + @OneToOne( + () => UserContact, + (emailContact: UserContact) => emailContact.user, + ) + @JoinColumn({ name: 'email_id' }) + emailContact: UserContact + + @Column({ name: 'email_id', type: 'int', unsigned: true, nullable: true, default: null }) + emailId: number | null + + @Column({ + name: 'first_name', + type: 'varchar', + length: 255, + nullable: true, + default: null, + collation: 'utf8mb4_unicode_ci', + }) + firstName: string + + @Column({ + name: 'last_name', + type: 'varchar', + length: 255, + nullable: true, + default: null, + collation: 'utf8mb4_unicode_ci', + }) + lastName: string + + @Column({ name: 'gms_publish_name', type: 'int', unsigned: true, nullable: false, default: 0 }) + gmsPublishName: number + + @Column({ name: 'humhub_publish_name', type: 'int', unsigned: true, nullable: false, default: 0 }) + humhubPublishName: number + + @Column({ + name: 'created_at', + type: 'datetime', + default: () => 'CURRENT_TIMESTAMP(3)', + nullable: false, + }) + createdAt: Date + + @DeleteDateColumn({ name: 'deleted_at', type: 'datetime', nullable: true }) + deletedAt: Date | null + + @Column({ type: 'bigint', default: 0, unsigned: true }) + password: BigInt + + @Column({ + name: 'password_encryption_type', + type: 'int', + unsigned: true, + nullable: false, + default: 0, + }) + passwordEncryptionType: number + + @Column({ + type: 'varchar', + length: 4, + default: 'de', + collation: 'utf8mb4_unicode_ci', + nullable: false, + }) + language: string + + @Column({ type: 'bool', default: false }) + hideAmountGDD: boolean + + @Column({ type: 'bool', default: false }) + hideAmountGDT: boolean + + @OneToMany( + () => UserRole, + (userRole) => userRole.user, + ) + @JoinColumn({ name: 'user_id' }) + userRoles: UserRole[] + + @Column({ name: 'referrer_id', type: 'bigint', unsigned: true, nullable: true, default: null }) + referrerId?: number | null + + @Column({ + name: 'contribution_link_id', + type: 'bigint', + unsigned: true, + nullable: true, + default: null, + }) + contributionLinkId?: number | null + + @Column({ name: 'publisher_id', type: 'bigint', unsigned: true, default: 0 }) + publisherId: number + + @Column({ name: 'gms_allowed', type: 'bool', default: true }) + gmsAllowed: boolean + + @Column({ + name: 'location', + type: 'geometry', + default: null, + nullable: true, + transformer: GeometryTransformer, + }) + location: Geometry | null + + @Column({ + name: 'gms_publish_location', + type: 'int', + unsigned: true, + nullable: false, + default: 2, + }) + gmsPublishLocation: number + + @Column({ name: 'gms_registered', type: 'bool', default: false }) + gmsRegistered: boolean + + @Column({ name: 'gms_registered_at', type: 'datetime', default: null, nullable: true }) + gmsRegisteredAt: Date | null + + @Column({ name: 'humhub_allowed', type: 'bool', default: false }) + humhubAllowed: boolean + + @OneToMany( + () => Contribution, + (contribution) => contribution.user, + ) + @JoinColumn({ name: 'user_id' }) + contributions?: Contribution[] + + @OneToMany( + () => ContributionMessage, + (message) => message.user, + ) + @JoinColumn({ name: 'user_id' }) + messages?: ContributionMessage[] + + @OneToMany( + () => UserContact, + (userContact: UserContact) => userContact.user, + ) + @JoinColumn({ name: 'user_id' }) + userContacts?: UserContact[] +} diff --git a/database/entity/UserContact.ts b/database/entity/UserContact.ts index e91e9a9d3..a4453581f 100644 --- a/database/entity/UserContact.ts +++ b/database/entity/UserContact.ts @@ -1 +1,111 @@ -export { UserContact } from './0082-introduce_gms_registration/UserContact' +import { + BaseEntity, + Column, + CreateDateColumn, + DeleteDateColumn, + Entity, + OneToOne, + PrimaryGeneratedColumn, + UpdateDateColumn, +} from 'typeorm' +import { User } from './User' + +@Entity('user_contacts', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) +export class UserContact extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ + name: 'type', + type: 'varchar', + length: 100, + nullable: true, + default: null, + collation: 'utf8mb4_unicode_ci', + }) + type: string + + @OneToOne( + () => User, + (user) => user.emailContact, + ) + user: User + + @Column({ name: 'user_id', type: 'int', unsigned: true, nullable: false }) + userId: number + + @Column({ + type: 'varchar', + length: 255, + unique: true, + nullable: false, + collation: 'utf8mb4_unicode_ci', + }) + email: string + + @Column({ name: 'gms_publish_email', type: 'bool', nullable: false, default: false }) + gmsPublishEmail: boolean + + @Column({ name: 'email_verification_code', type: 'bigint', unsigned: true, unique: true }) + emailVerificationCode: string + + @Column({ + name: 'email_opt_in_type_id', + type: 'int', + unsigned: true, + nullable: false, + default: 0, + }) + emailOptInTypeId: number + + @Column({ + name: 'email_resend_count', + type: 'int', + unsigned: true, + nullable: false, + default: 0, + }) + emailResendCount: number + + @Column({ name: 'email_checked', type: 'bool', nullable: false, default: false }) + emailChecked: boolean + + @Column({ + name: 'country_code', + type: 'varchar', + length: 255, + unique: false, + nullable: true, + collation: 'utf8mb4_unicode_ci', + }) + countryCode: string + + @Column({ + type: 'varchar', + length: 255, + unique: false, + nullable: true, + collation: 'utf8mb4_unicode_ci', + }) + phone: string + + @Column({ name: 'gms_publish_phone', type: 'int', unsigned: true, nullable: false, default: 0 }) + gmsPublishPhone: number + + @CreateDateColumn({ + name: 'created_at', + default: () => 'CURRENT_TIMESTAMP(3)', + nullable: false, + }) + createdAt: Date + + @UpdateDateColumn({ + name: 'updated_at', + nullable: true, + onUpdate: 'CURRENT_TIMESTAMP(3)', + }) + updatedAt: Date | null + + @DeleteDateColumn({ name: 'deleted_at', nullable: true }) + deletedAt: Date | null +} diff --git a/database/entity/UserRole.ts b/database/entity/UserRole.ts index 1ef9a08b2..8a6c4aee1 100644 --- a/database/entity/UserRole.ts +++ b/database/entity/UserRole.ts @@ -1 +1,32 @@ -export { UserRole } from './0069-add_user_roles_table/UserRole' +import { BaseEntity, Column, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn } from 'typeorm' +import { User } from './User' + +@Entity('user_roles', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) +export class UserRole extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ name: 'user_id', type: 'int', unsigned: true, nullable: false }) + userId: number + + @Column({ type: 'varchar', length: 40, nullable: false, collation: 'utf8mb4_unicode_ci' }) + role: string + + @Column({ + name: 'created_at', + type: 'datetime', + default: () => 'CURRENT_TIMESTAMP(3)', + nullable: false, + }) + createdAt: Date + + @Column({ name: 'updated_at', type: 'datetime', nullable: true, default: null }) + updatedAt: Date | null + + @ManyToOne( + () => User, + (user) => user.userRoles, + ) + @JoinColumn({ name: 'user_id' }) + user: User +} diff --git a/database/src/config/detectLastDBVersion.ts b/database/src/config/detectLastDBVersion.ts index 2dd2d9ace..b91ac2949 100644 --- a/database/src/config/detectLastDBVersion.ts +++ b/database/src/config/detectLastDBVersion.ts @@ -1,12 +1,11 @@ -import fs from 'fs' -import path from 'path' +import fs from 'node:fs' +import path from 'node:path' // Define the regular expression pattern once const DB_VERSION_PATTERN = /^(\d{4}-[a-z0-9-_]+)/ // Define the paths to check const migrationsDir = path.join(__dirname, '..', '..', 'migrations') -const entitiesDir = path.join(__dirname, '..', '..', 'entity') // Helper function to get the highest version number from the directory function getLatestDbVersion(dir: string): string { @@ -34,10 +33,6 @@ function getLatestDbVersion(dir: string): string { // Get the latest version from migrations and entities const latestMigrationVersion = getLatestDbVersion(migrationsDir) -const latestEntityVersion = getLatestDbVersion(entitiesDir) // Determine which directory has the latest version and return it -export const latestDbVersion = - latestMigrationVersion && (!latestEntityVersion || latestMigrationVersion > latestEntityVersion) - ? latestMigrationVersion - : latestEntityVersion +export const latestDbVersion = latestMigrationVersion